@voxgig/sdkgen 4.21.0 → 4.23.0

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 (724) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/dist/action/action.js +0 -65
  3. package/dist/action/action.js.map +1 -1
  4. package/dist/action/check.js +0 -88
  5. package/dist/action/check.js.map +1 -1
  6. package/dist/action/dispatch.js +0 -27
  7. package/dist/action/dispatch.js.map +1 -1
  8. package/dist/action/doctor.d.ts +1 -0
  9. package/dist/action/doctor.js +55 -321
  10. package/dist/action/doctor.js.map +1 -1
  11. package/dist/action/edition.js +1 -87
  12. package/dist/action/edition.js.map +1 -1
  13. package/dist/action/feature.js +0 -48
  14. package/dist/action/feature.js.map +1 -1
  15. package/dist/action/kind.js +0 -132
  16. package/dist/action/kind.js.map +1 -1
  17. package/dist/action/package.js +0 -221
  18. package/dist/action/package.js.map +1 -1
  19. package/dist/action/resolve.js +0 -145
  20. package/dist/action/resolve.js.map +1 -1
  21. package/dist/action/target.js +0 -177
  22. package/dist/action/target.js.map +1 -1
  23. package/dist/cmp/AgentGuide.js +0 -7
  24. package/dist/cmp/AgentGuide.js.map +1 -1
  25. package/dist/cmp/AgentGuideContent.js +0 -24
  26. package/dist/cmp/AgentGuideContent.js.map +1 -1
  27. package/dist/cmp/AgentGuideTop.js +0 -7
  28. package/dist/cmp/AgentGuideTop.js.map +1 -1
  29. package/dist/cmp/Changelog.js +0 -14
  30. package/dist/cmp/Changelog.js.map +1 -1
  31. package/dist/cmp/Deploy.js +1 -31
  32. package/dist/cmp/Deploy.js.map +1 -1
  33. package/dist/cmp/Entity.js +0 -4
  34. package/dist/cmp/Entity.js.map +1 -1
  35. package/dist/cmp/ExternalTarget.js +0 -36
  36. package/dist/cmp/ExternalTarget.js.map +1 -1
  37. package/dist/cmp/Feature.js +0 -14
  38. package/dist/cmp/Feature.js.map +1 -1
  39. package/dist/cmp/FeatureDocs.js +0 -25
  40. package/dist/cmp/FeatureDocs.js.map +1 -1
  41. package/dist/cmp/PublishWorkflow.js +0 -60
  42. package/dist/cmp/PublishWorkflow.js.map +1 -1
  43. package/dist/cmp/ReadmeErrors.js +0 -2
  44. package/dist/cmp/ReadmeErrors.js.map +1 -1
  45. package/dist/cmp/ReadmeExplanation.js +0 -5
  46. package/dist/cmp/ReadmeExplanation.js.map +1 -1
  47. package/dist/cmp/ReadmeFeatures.js +0 -10
  48. package/dist/cmp/ReadmeFeatures.js.map +1 -1
  49. package/dist/cmp/ReadmeRefFeatures.js +0 -19
  50. package/dist/cmp/ReadmeRefFeatures.js.map +1 -1
  51. package/dist/cmp/ReadmeStation.js +0 -19
  52. package/dist/cmp/ReadmeStation.js.map +1 -1
  53. package/dist/cmp/ReadmeTop.js +1 -81
  54. package/dist/cmp/ReadmeTop.js.map +1 -1
  55. package/dist/cmp/ReadmeUnions.js +1 -16
  56. package/dist/cmp/ReadmeUnions.js.map +1 -1
  57. package/dist/cmp/Registered.js +0 -30
  58. package/dist/cmp/Registered.js.map +1 -1
  59. package/dist/cmp/Security.js +0 -2
  60. package/dist/cmp/Security.js.map +1 -1
  61. package/dist/cmp/Test.js +3 -2
  62. package/dist/cmp/Test.js.map +1 -1
  63. package/dist/cmp/TestControl.js +0 -25
  64. package/dist/cmp/TestControl.js.map +1 -1
  65. package/dist/helpers/applicability.js +0 -60
  66. package/dist/helpers/applicability.js.map +1 -1
  67. package/dist/helpers/buildIdNames.d.ts +3 -1
  68. package/dist/helpers/buildIdNames.js +15 -19
  69. package/dist/helpers/buildIdNames.js.map +1 -1
  70. package/dist/helpers/canonSpec.js +2 -116
  71. package/dist/helpers/canonSpec.js.map +1 -1
  72. package/dist/helpers/canonType.js +0 -87
  73. package/dist/helpers/canonType.js.map +1 -1
  74. package/dist/helpers/collectDeps.js +0 -27
  75. package/dist/helpers/collectDeps.js.map +1 -1
  76. package/dist/helpers/definition.js +0 -29
  77. package/dist/helpers/definition.js.map +1 -1
  78. package/dist/helpers/dryrun.js +0 -8
  79. package/dist/helpers/dryrun.js.map +1 -1
  80. package/dist/helpers/featureSource.js +0 -145
  81. package/dist/helpers/featureSource.js.map +1 -1
  82. package/dist/helpers/getMatchEntries.js +2 -6
  83. package/dist/helpers/getMatchEntries.js.map +1 -1
  84. package/dist/helpers/junk.js +9 -85
  85. package/dist/helpers/junk.js.map +1 -1
  86. package/dist/helpers/manifest.js +0 -138
  87. package/dist/helpers/manifest.js.map +1 -1
  88. package/dist/helpers/modelNames.js +5 -79
  89. package/dist/helpers/modelNames.js.map +1 -1
  90. package/dist/helpers/modelcheck.js +0 -106
  91. package/dist/helpers/modelcheck.js.map +1 -1
  92. package/dist/helpers/naming.d.ts +0 -1
  93. package/dist/helpers/naming.js +0 -303
  94. package/dist/helpers/naming.js.map +1 -1
  95. package/dist/helpers/opExample.js +0 -51
  96. package/dist/helpers/opExample.js.map +1 -1
  97. package/dist/helpers/opShape.js +33 -231
  98. package/dist/helpers/opShape.js.map +1 -1
  99. package/dist/helpers/optspec.js +0 -77
  100. package/dist/helpers/optspec.js.map +1 -1
  101. package/dist/helpers/packageMeta.js +1 -200
  102. package/dist/helpers/packageMeta.js.map +1 -1
  103. package/dist/helpers/pointPath.js +5 -65
  104. package/dist/helpers/pointPath.js.map +1 -1
  105. package/dist/helpers/resolved.d.ts +6 -0
  106. package/dist/helpers/resolved.js +22 -0
  107. package/dist/helpers/resolved.js.map +1 -0
  108. package/dist/helpers/semver.js +0 -61
  109. package/dist/helpers/semver.js.map +1 -1
  110. package/dist/helpers/serverVars.js +0 -44
  111. package/dist/helpers/serverVars.js.map +1 -1
  112. package/dist/helpers/shipped.js +0 -14
  113. package/dist/helpers/shipped.js.map +1 -1
  114. package/dist/helpers/station.js +0 -32
  115. package/dist/helpers/station.js.map +1 -1
  116. package/dist/helpers/stdrep.js +0 -26
  117. package/dist/helpers/stdrep.js.map +1 -1
  118. package/dist/helpers/testPolicy.js +0 -4
  119. package/dist/helpers/testPolicy.js.map +1 -1
  120. package/dist/sdkgen.d.ts +3 -2
  121. package/dist/sdkgen.js +15 -242
  122. package/dist/sdkgen.js.map +1 -1
  123. package/dist/testkit.js +6 -266
  124. package/dist/testkit.js.map +1 -1
  125. package/dist/tsconfig.tsbuildinfo +1 -1
  126. package/dist/utility.js +15 -250
  127. package/dist/utility.js.map +1 -1
  128. package/model/sdkgen.aon +12 -489
  129. package/package.json +4 -4
  130. package/project/.sdk/model/feature/audit.aon +0 -7
  131. package/project/.sdk/model/feature/cache.aon +0 -7
  132. package/project/.sdk/model/feature/clienttrack.aon +0 -7
  133. package/project/.sdk/model/feature/cost.aon +0 -13
  134. package/project/.sdk/model/feature/debug.aon +0 -7
  135. package/project/.sdk/model/feature/idempotency.aon +0 -7
  136. package/project/.sdk/model/feature/log.aon +0 -7
  137. package/project/.sdk/model/feature/metrics.aon +0 -7
  138. package/project/.sdk/model/feature/netsim.aon +0 -10
  139. package/project/.sdk/model/feature/paging.aon +0 -7
  140. package/project/.sdk/model/feature/proxy.aon +0 -7
  141. package/project/.sdk/model/feature/ratelimit.aon +0 -7
  142. package/project/.sdk/model/feature/retry.aon +0 -7
  143. package/project/.sdk/model/feature/secrets.aon +0 -482
  144. package/project/.sdk/model/feature/streaming.aon +0 -7
  145. package/project/.sdk/model/feature/telemetry.aon +0 -7
  146. package/project/.sdk/model/feature/test.aon +1 -8
  147. package/project/.sdk/model/feature/timeout.aon +0 -7
  148. package/project/.sdk/model/feature/validate.aon +0 -32
  149. package/project/.sdk/model/target/c.aon +0 -41
  150. package/project/.sdk/model/target/clojure.aon +0 -36
  151. package/project/.sdk/model/target/cpp.aon +0 -42
  152. package/project/.sdk/model/target/csharp.aon +0 -26
  153. package/project/.sdk/model/target/elixir.aon +0 -22
  154. package/project/.sdk/model/target/go-cli.aon +0 -30
  155. package/project/.sdk/model/target/go-mcp.aon +0 -21
  156. package/project/.sdk/model/target/go.aon +0 -9
  157. package/project/.sdk/model/target/java.aon +0 -29
  158. package/project/.sdk/model/target/js.aon +2 -21
  159. package/project/.sdk/model/target/kotlin.aon +0 -31
  160. package/project/.sdk/model/target/lua.aon +0 -32
  161. package/project/.sdk/model/target/ocaml.aon +0 -64
  162. package/project/.sdk/model/target/perl.aon +0 -20
  163. package/project/.sdk/model/target/php.aon +0 -17
  164. package/project/.sdk/model/target/py-data.aon +0 -33
  165. package/project/.sdk/model/target/py.aon +0 -17
  166. package/project/.sdk/model/target/rb.aon +0 -17
  167. package/project/.sdk/model/target/rust.aon +0 -25
  168. package/project/.sdk/model/target/scala.aon +0 -74
  169. package/project/.sdk/model/target/swift.aon +0 -41
  170. package/project/.sdk/model/target/ts.aon +3 -25
  171. package/project/.sdk/model/target/zig.aon +0 -50
  172. package/project/.sdk/src/cmp/c/Config_c.ts +0 -100
  173. package/project/.sdk/src/cmp/c/EntityTypes_c.ts +4 -40
  174. package/project/.sdk/src/cmp/c/Main_c.ts +0 -44
  175. package/project/.sdk/src/cmp/c/Package_c.ts +0 -14
  176. package/project/.sdk/src/cmp/c/PrepareAuth_c.ts +0 -85
  177. package/project/.sdk/src/cmp/c/ReadmeEntity_c.ts +3 -3
  178. package/project/.sdk/src/cmp/c/ReadmeExamplesTest_c.ts +0 -20
  179. package/project/.sdk/src/cmp/c/ReadmeModel_c.ts +3 -3
  180. package/project/.sdk/src/cmp/c/ReadmeRef_c.ts +7 -10
  181. package/project/.sdk/src/cmp/c/ReadmeTopQuick_c.ts +0 -2
  182. package/project/.sdk/src/cmp/c/Schema_c.ts +1 -20
  183. package/project/.sdk/src/cmp/c/TestDirect_c.ts +12 -12
  184. package/project/.sdk/src/cmp/c/utility_c.ts +0 -47
  185. package/project/.sdk/src/cmp/clojure/Config_clojure.ts +0 -63
  186. package/project/.sdk/src/cmp/clojure/Entity_clojure.ts +0 -1
  187. package/project/.sdk/src/cmp/clojure/Main_clojure.ts +0 -41
  188. package/project/.sdk/src/cmp/clojure/Package_clojure.ts +0 -20
  189. package/project/.sdk/src/cmp/clojure/PrepareAuth_clojure.ts +0 -130
  190. package/project/.sdk/src/cmp/clojure/ReadmeEntity_clojure.ts +3 -3
  191. package/project/.sdk/src/cmp/clojure/ReadmeExamplesTest_clojure.ts +0 -16
  192. package/project/.sdk/src/cmp/clojure/ReadmeModel_clojure.ts +3 -3
  193. package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +7 -10
  194. package/project/.sdk/src/cmp/clojure/Schema_clojure.ts +1 -21
  195. package/project/.sdk/src/cmp/clojure/TestDirect_clojure.ts +0 -6
  196. package/project/.sdk/src/cmp/clojure/TestEntity_clojure.ts +0 -10
  197. package/project/.sdk/src/cmp/clojure/Test_clojure.ts +0 -8
  198. package/project/.sdk/src/cmp/clojure/featureextra_clojure.ts +0 -34
  199. package/project/.sdk/src/cmp/clojure/utility_clojure.ts +0 -47
  200. package/project/.sdk/src/cmp/cpp/Config_cpp.ts +0 -109
  201. package/project/.sdk/src/cmp/cpp/EntityTypes_cpp.ts +3 -39
  202. package/project/.sdk/src/cmp/cpp/Main_cpp.ts +0 -47
  203. package/project/.sdk/src/cmp/cpp/Package_cpp.ts +0 -14
  204. package/project/.sdk/src/cmp/cpp/PrepareAuth_cpp.ts +0 -125
  205. package/project/.sdk/src/cmp/cpp/ReadmeEntity_cpp.ts +3 -3
  206. package/project/.sdk/src/cmp/cpp/ReadmeExamplesTest_cpp.ts +0 -19
  207. package/project/.sdk/src/cmp/cpp/ReadmeModel_cpp.ts +3 -3
  208. package/project/.sdk/src/cmp/cpp/ReadmeQuick_cpp.ts +0 -7
  209. package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +7 -10
  210. package/project/.sdk/src/cmp/cpp/Schema_cpp.ts +1 -22
  211. package/project/.sdk/src/cmp/cpp/TestDirect_cpp.ts +14 -14
  212. package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +51 -53
  213. package/project/.sdk/src/cmp/cpp/Test_cpp.ts +0 -3
  214. package/project/.sdk/src/cmp/cpp/utility_cpp.ts +0 -28
  215. package/project/.sdk/src/cmp/csharp/Config_csharp.ts +0 -79
  216. package/project/.sdk/src/cmp/csharp/EntityOperation_csharp.ts +0 -3
  217. package/project/.sdk/src/cmp/csharp/EntityTypes_csharp.ts +4 -54
  218. package/project/.sdk/src/cmp/csharp/Entity_csharp.ts +0 -1
  219. package/project/.sdk/src/cmp/csharp/Main_csharp.ts +0 -24
  220. package/project/.sdk/src/cmp/csharp/Package_csharp.ts +0 -20
  221. package/project/.sdk/src/cmp/csharp/PrepareAuth_csharp.ts +0 -81
  222. package/project/.sdk/src/cmp/csharp/ReadmeEntity_csharp.ts +3 -4
  223. package/project/.sdk/src/cmp/csharp/ReadmeExamplesTest_csharp.ts +0 -23
  224. package/project/.sdk/src/cmp/csharp/ReadmeModel_csharp.ts +3 -3
  225. package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +7 -10
  226. package/project/.sdk/src/cmp/csharp/ReadmeTopQuick_csharp.ts +0 -2
  227. package/project/.sdk/src/cmp/csharp/Schema_csharp.ts +1 -19
  228. package/project/.sdk/src/cmp/csharp/TestDirect_csharp.ts +30 -30
  229. package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +66 -69
  230. package/project/.sdk/src/cmp/csharp/utility_csharp.ts +0 -72
  231. package/project/.sdk/src/cmp/elixir/Config_elixir.ts +0 -78
  232. package/project/.sdk/src/cmp/elixir/EntityTypes_elixir.ts +4 -42
  233. package/project/.sdk/src/cmp/elixir/Main_elixir.ts +0 -40
  234. package/project/.sdk/src/cmp/elixir/Package_elixir.ts +0 -13
  235. package/project/.sdk/src/cmp/elixir/PrepareAuth_elixir.ts +0 -123
  236. package/project/.sdk/src/cmp/elixir/ReadmeEntity_elixir.ts +3 -3
  237. package/project/.sdk/src/cmp/elixir/ReadmeExamplesTest_elixir.ts +0 -19
  238. package/project/.sdk/src/cmp/elixir/ReadmeModel_elixir.ts +3 -3
  239. package/project/.sdk/src/cmp/elixir/ReadmeRef_elixir.ts +6 -9
  240. package/project/.sdk/src/cmp/elixir/Schema_elixir.ts +1 -25
  241. package/project/.sdk/src/cmp/elixir/utility_elixir.ts +0 -34
  242. package/project/.sdk/src/cmp/go/Config_go.ts +0 -41
  243. package/project/.sdk/src/cmp/go/EntityTypes_go.ts +4 -75
  244. package/project/.sdk/src/cmp/go/Entity_go.ts +0 -5
  245. package/project/.sdk/src/cmp/go/Main_go.ts +0 -28
  246. package/project/.sdk/src/cmp/go/Package_go.ts +0 -7
  247. package/project/.sdk/src/cmp/go/PrepareAuth_go.ts +0 -64
  248. package/project/.sdk/src/cmp/go/ReadmeEntity_go.ts +3 -8
  249. package/project/.sdk/src/cmp/go/ReadmeExamplesTest_go.ts +0 -30
  250. package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +0 -3
  251. package/project/.sdk/src/cmp/go/ReadmeIntro_go.ts +0 -7
  252. package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +3 -14
  253. package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +0 -21
  254. package/project/.sdk/src/cmp/go/ReadmeRef_go.ts +7 -19
  255. package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +0 -9
  256. package/project/.sdk/src/cmp/go/Schema_go.ts +1 -22
  257. package/project/.sdk/src/cmp/go/TestDirect_go.ts +38 -61
  258. package/project/.sdk/src/cmp/go/TestEntity_go.ts +75 -82
  259. package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +0 -21
  260. package/project/.sdk/src/cmp/go/fragment/Main.fragment.go +0 -12
  261. package/project/.sdk/src/cmp/go/utility_go.ts +5 -75
  262. package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +0 -49
  263. package/project/.sdk/src/cmp/go-cli/fragment/words.fragment.go +0 -12
  264. package/project/.sdk/src/cmp/go-mcp/Main_go-mcp.ts +0 -36
  265. package/project/.sdk/src/cmp/go-mcp/fragment/main.fragment.go +0 -20
  266. package/project/.sdk/src/cmp/go-mcp/fragment/tools.fragment.go +0 -3
  267. package/project/.sdk/src/cmp/java/Config_java.ts +0 -63
  268. package/project/.sdk/src/cmp/java/EntityTypes_java.ts +4 -54
  269. package/project/.sdk/src/cmp/java/Entity_java.ts +0 -6
  270. package/project/.sdk/src/cmp/java/Main_java.ts +0 -24
  271. package/project/.sdk/src/cmp/java/PrepareAuth_java.ts +0 -55
  272. package/project/.sdk/src/cmp/java/ReadmeEntity_java.ts +3 -4
  273. package/project/.sdk/src/cmp/java/ReadmeExamplesTest_java.ts +0 -20
  274. package/project/.sdk/src/cmp/java/ReadmeModel_java.ts +3 -3
  275. package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +0 -4
  276. package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +7 -10
  277. package/project/.sdk/src/cmp/java/ReadmeTopQuick_java.ts +0 -7
  278. package/project/.sdk/src/cmp/java/Schema_java.ts +1 -20
  279. package/project/.sdk/src/cmp/java/TestDirect_java.ts +30 -37
  280. package/project/.sdk/src/cmp/java/TestEntity_java.ts +69 -72
  281. package/project/.sdk/src/cmp/java/Test_java.ts +0 -6
  282. package/project/.sdk/src/cmp/java/utility_java.ts +0 -33
  283. package/project/.sdk/src/cmp/js/Config_js.ts +0 -46
  284. package/project/.sdk/src/cmp/js/EntityTypes_js.ts +5 -38
  285. package/project/.sdk/src/cmp/js/Main_js.ts +0 -33
  286. package/project/.sdk/src/cmp/js/Package_js.ts +2 -7
  287. package/project/.sdk/src/cmp/js/PrepareAuth_js.ts +0 -57
  288. package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +3 -12
  289. package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +0 -2
  290. package/project/.sdk/src/cmp/js/ReadmeModel_js.ts +3 -3
  291. package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +0 -15
  292. package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +7 -12
  293. package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +0 -7
  294. package/project/.sdk/src/cmp/js/Schema_js.ts +1 -22
  295. package/project/.sdk/src/cmp/js/TestDirect_js.ts +29 -43
  296. package/project/.sdk/src/cmp/js/TestEntity_js.ts +69 -82
  297. package/project/.sdk/src/cmp/js/TestLive_js.ts +12 -5
  298. package/project/.sdk/src/cmp/js/utility_js.ts +5 -63
  299. package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +0 -46
  300. package/project/.sdk/src/cmp/kotlin/EntityOperation_kotlin.ts +0 -2
  301. package/project/.sdk/src/cmp/kotlin/EntityTypes_kotlin.ts +4 -57
  302. package/project/.sdk/src/cmp/kotlin/Entity_kotlin.ts +0 -4
  303. package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +0 -46
  304. package/project/.sdk/src/cmp/kotlin/PrepareAuth_kotlin.ts +0 -113
  305. package/project/.sdk/src/cmp/kotlin/ReadmeEntity_kotlin.ts +3 -4
  306. package/project/.sdk/src/cmp/kotlin/ReadmeExamplesTest_kotlin.ts +0 -20
  307. package/project/.sdk/src/cmp/kotlin/ReadmeModel_kotlin.ts +3 -3
  308. package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +7 -10
  309. package/project/.sdk/src/cmp/kotlin/ReadmeTopQuick_kotlin.ts +0 -5
  310. package/project/.sdk/src/cmp/kotlin/Schema_kotlin.ts +1 -20
  311. package/project/.sdk/src/cmp/kotlin/TestDirect_kotlin.ts +30 -30
  312. package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +67 -70
  313. package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +0 -6
  314. package/project/.sdk/src/cmp/kotlin/utility_kotlin.ts +0 -33
  315. package/project/.sdk/src/cmp/lua/Config_lua.ts +0 -56
  316. package/project/.sdk/src/cmp/lua/EntityTypes_lua.ts +5 -35
  317. package/project/.sdk/src/cmp/lua/Entity_lua.ts +0 -7
  318. package/project/.sdk/src/cmp/lua/Main_lua.ts +0 -58
  319. package/project/.sdk/src/cmp/lua/Package_lua.ts +0 -20
  320. package/project/.sdk/src/cmp/lua/PrepareAuth_lua.ts +0 -61
  321. package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +3 -11
  322. package/project/.sdk/src/cmp/lua/ReadmeExamplesTest_lua.ts +0 -24
  323. package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +3 -13
  324. package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +4 -25
  325. package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +7 -17
  326. package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +0 -3
  327. package/project/.sdk/src/cmp/lua/Schema_lua.ts +1 -17
  328. package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +25 -27
  329. package/project/.sdk/src/cmp/lua/TestEntity_lua.ts +66 -65
  330. package/project/.sdk/src/cmp/lua/utility_lua.ts +0 -30
  331. package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +0 -98
  332. package/project/.sdk/src/cmp/ocaml/EntityOperation_ocaml.ts +0 -6
  333. package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +0 -78
  334. package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +0 -13
  335. package/project/.sdk/src/cmp/ocaml/PrepareAuth_ocaml.ts +0 -145
  336. package/project/.sdk/src/cmp/ocaml/ReadmeEntity_ocaml.ts +3 -3
  337. package/project/.sdk/src/cmp/ocaml/ReadmeExamplesTest_ocaml.ts +0 -17
  338. package/project/.sdk/src/cmp/ocaml/ReadmeModel_ocaml.ts +3 -3
  339. package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +7 -10
  340. package/project/.sdk/src/cmp/ocaml/Schema_ocaml.ts +1 -24
  341. package/project/.sdk/src/cmp/ocaml/SdkError_ocaml.ts +0 -4
  342. package/project/.sdk/src/cmp/ocaml/TestEntity_ocaml.ts +0 -5
  343. package/project/.sdk/src/cmp/ocaml/utility_ocaml.ts +0 -27
  344. package/project/.sdk/src/cmp/perl/Config_perl.ts +0 -52
  345. package/project/.sdk/src/cmp/perl/Entity_perl.ts +0 -3
  346. package/project/.sdk/src/cmp/perl/Main_perl.ts +0 -33
  347. package/project/.sdk/src/cmp/perl/Package_perl.ts +0 -8
  348. package/project/.sdk/src/cmp/perl/PrepareAuth_perl.ts +0 -84
  349. package/project/.sdk/src/cmp/perl/ReadmeEntity_perl.ts +3 -6
  350. package/project/.sdk/src/cmp/perl/ReadmeExamplesTest_perl.ts +0 -27
  351. package/project/.sdk/src/cmp/perl/ReadmeModel_perl.ts +3 -3
  352. package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +7 -10
  353. package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +0 -2
  354. package/project/.sdk/src/cmp/perl/Schema_perl.ts +1 -19
  355. package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +25 -27
  356. package/project/.sdk/src/cmp/perl/TestEntity_perl.ts +60 -59
  357. package/project/.sdk/src/cmp/perl/utility_perl.ts +0 -26
  358. package/project/.sdk/src/cmp/php/Config_php.ts +0 -76
  359. package/project/.sdk/src/cmp/php/EntityTypes_php.ts +5 -56
  360. package/project/.sdk/src/cmp/php/MainEntity_php.ts +0 -6
  361. package/project/.sdk/src/cmp/php/Main_php.ts +0 -15
  362. package/project/.sdk/src/cmp/php/PrepareAuth_php.ts +0 -73
  363. package/project/.sdk/src/cmp/php/ReadmeEntity_php.ts +3 -7
  364. package/project/.sdk/src/cmp/php/ReadmeExamplesTest_php.ts +0 -33
  365. package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +0 -1
  366. package/project/.sdk/src/cmp/php/ReadmeModel_php.ts +3 -3
  367. package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +4 -23
  368. package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +7 -12
  369. package/project/.sdk/src/cmp/php/Schema_php.ts +1 -16
  370. package/project/.sdk/src/cmp/php/TestDirect_php.ts +25 -25
  371. package/project/.sdk/src/cmp/php/TestEntity_php.ts +66 -74
  372. package/project/.sdk/src/cmp/php/utility_php.ts +0 -22
  373. package/project/.sdk/src/cmp/py/Config_py.ts +0 -53
  374. package/project/.sdk/src/cmp/py/EntityTypes_py.ts +4 -59
  375. package/project/.sdk/src/cmp/py/Entity_py.ts +0 -16
  376. package/project/.sdk/src/cmp/py/Main_py.ts +1 -61
  377. package/project/.sdk/src/cmp/py/Package_py.ts +0 -3
  378. package/project/.sdk/src/cmp/py/PrepareAuth_py.ts +0 -69
  379. package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +3 -16
  380. package/project/.sdk/src/cmp/py/ReadmeExamplesTest_py.ts +0 -31
  381. package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +0 -3
  382. package/project/.sdk/src/cmp/py/ReadmeModel_py.ts +3 -3
  383. package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +0 -28
  384. package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +7 -21
  385. package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +0 -14
  386. package/project/.sdk/src/cmp/py/Schema_py.ts +1 -20
  387. package/project/.sdk/src/cmp/py/TestDirect_py.ts +25 -27
  388. package/project/.sdk/src/cmp/py/TestEntity_py.ts +66 -65
  389. package/project/.sdk/src/cmp/py/utility_py.ts +0 -22
  390. package/project/.sdk/src/cmp/py-data/Main_py-data.ts +13 -47
  391. package/project/.sdk/src/cmp/rb/Config_rb.ts +0 -56
  392. package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +4 -62
  393. package/project/.sdk/src/cmp/rb/Entity_rb.ts +0 -3
  394. package/project/.sdk/src/cmp/rb/Main_rb.ts +0 -10
  395. package/project/.sdk/src/cmp/rb/Package_rb.ts +0 -5
  396. package/project/.sdk/src/cmp/rb/PrepareAuth_rb.ts +0 -81
  397. package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +3 -10
  398. package/project/.sdk/src/cmp/rb/ReadmeExamplesTest_rb.ts +0 -32
  399. package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +0 -9
  400. package/project/.sdk/src/cmp/rb/ReadmeModel_rb.ts +3 -3
  401. package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +4 -27
  402. package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +7 -15
  403. package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +0 -5
  404. package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +0 -3
  405. package/project/.sdk/src/cmp/rb/Schema_rb.ts +1 -16
  406. package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +25 -27
  407. package/project/.sdk/src/cmp/rb/TestEntity_rb.ts +66 -65
  408. package/project/.sdk/src/cmp/rb/utility_rb.ts +0 -22
  409. package/project/.sdk/src/cmp/rust/Config_rust.ts +0 -35
  410. package/project/.sdk/src/cmp/rust/EntityTypes_rust.ts +4 -38
  411. package/project/.sdk/src/cmp/rust/Entity_rust.ts +0 -9
  412. package/project/.sdk/src/cmp/rust/Main_rust.ts +0 -58
  413. package/project/.sdk/src/cmp/rust/Package_rust.ts +0 -30
  414. package/project/.sdk/src/cmp/rust/PrepareAuth_rust.ts +0 -84
  415. package/project/.sdk/src/cmp/rust/ReadmeEntity_rust.ts +3 -3
  416. package/project/.sdk/src/cmp/rust/ReadmeExamplesTest_rust.ts +0 -16
  417. package/project/.sdk/src/cmp/rust/ReadmeModel_rust.ts +3 -3
  418. package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +7 -10
  419. package/project/.sdk/src/cmp/rust/Schema_rust.ts +1 -19
  420. package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +18 -25
  421. package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +63 -71
  422. package/project/.sdk/src/cmp/rust/fragment/Entity.fragment.rs +0 -14
  423. package/project/.sdk/src/cmp/rust/fragment/EntityRemoveOp.fragment.rs +0 -4
  424. package/project/.sdk/src/cmp/rust/fragment/Main.fragment.rs +0 -20
  425. package/project/.sdk/src/cmp/rust/fragment/SdkError.fragment.rs +0 -6
  426. package/project/.sdk/src/cmp/rust/utility_rust.ts +0 -47
  427. package/project/.sdk/src/cmp/scala/Config_scala.ts +0 -31
  428. package/project/.sdk/src/cmp/scala/EntityTypes_scala.ts +4 -55
  429. package/project/.sdk/src/cmp/scala/Main_scala.ts +0 -78
  430. package/project/.sdk/src/cmp/scala/PrepareAuth_scala.ts +0 -102
  431. package/project/.sdk/src/cmp/scala/ReadmeEntity_scala.ts +3 -4
  432. package/project/.sdk/src/cmp/scala/ReadmeExamplesTest_scala.ts +0 -23
  433. package/project/.sdk/src/cmp/scala/ReadmeModel_scala.ts +3 -3
  434. package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +7 -10
  435. package/project/.sdk/src/cmp/scala/ReadmeTopQuick_scala.ts +0 -5
  436. package/project/.sdk/src/cmp/scala/Schema_scala.ts +1 -20
  437. package/project/.sdk/src/cmp/scala/TestDirect_scala.ts +14 -14
  438. package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +60 -67
  439. package/project/.sdk/src/cmp/scala/Test_scala.ts +0 -3
  440. package/project/.sdk/src/cmp/scala/utility_scala.ts +0 -31
  441. package/project/.sdk/src/cmp/swift/Config_swift.ts +0 -62
  442. package/project/.sdk/src/cmp/swift/EntityOperation_swift.ts +0 -3
  443. package/project/.sdk/src/cmp/swift/EntityTypes_swift.ts +5 -44
  444. package/project/.sdk/src/cmp/swift/Main_swift.ts +0 -42
  445. package/project/.sdk/src/cmp/swift/Package_swift.ts +0 -69
  446. package/project/.sdk/src/cmp/swift/PrepareAuth_swift.ts +0 -134
  447. package/project/.sdk/src/cmp/swift/ReadmeEntity_swift.ts +3 -5
  448. package/project/.sdk/src/cmp/swift/ReadmeExamplesTest_swift.ts +0 -22
  449. package/project/.sdk/src/cmp/swift/ReadmeModel_swift.ts +3 -3
  450. package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +7 -10
  451. package/project/.sdk/src/cmp/swift/Schema_swift.ts +1 -19
  452. package/project/.sdk/src/cmp/swift/TestEntity_swift.ts +0 -4
  453. package/project/.sdk/src/cmp/swift/utility_swift.ts +0 -51
  454. package/project/.sdk/src/cmp/ts/Config_ts.ts +0 -46
  455. package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +5 -39
  456. package/project/.sdk/src/cmp/ts/Entity_ts.ts +0 -6
  457. package/project/.sdk/src/cmp/ts/Main_ts.ts +0 -28
  458. package/project/.sdk/src/cmp/ts/Package_ts.ts +2 -26
  459. package/project/.sdk/src/cmp/ts/PrepareAuth_ts.ts +0 -55
  460. package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +3 -12
  461. package/project/.sdk/src/cmp/ts/ReadmeExampleTest_ts.ts +0 -6
  462. package/project/.sdk/src/cmp/ts/ReadmeExamplesTest_ts.ts +0 -25
  463. package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +4 -9
  464. package/project/.sdk/src/cmp/ts/ReadmeIntro_ts.ts +0 -7
  465. package/project/.sdk/src/cmp/ts/ReadmeModel_ts.ts +3 -6
  466. package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +1 -44
  467. package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +7 -25
  468. package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +0 -11
  469. package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +6 -9
  470. package/project/.sdk/src/cmp/ts/Schema_ts.ts +1 -22
  471. package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +42 -93
  472. package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +76 -107
  473. package/project/.sdk/src/cmp/ts/TestLive_ts.ts +12 -6
  474. package/project/.sdk/src/cmp/ts/Test_ts.ts +0 -4
  475. package/project/.sdk/src/cmp/ts/fragment/Config.data.fragment.ts +0 -27
  476. package/project/.sdk/src/cmp/ts/fragment/Config.fragment.ts +0 -7
  477. package/project/.sdk/src/cmp/ts/fragment/Direct.test.fragment.ts +0 -7
  478. package/project/.sdk/src/cmp/ts/fragment/Entity.fragment.ts +0 -1
  479. package/project/.sdk/src/cmp/ts/fragment/Entity.test.fragment.ts +0 -4
  480. package/project/.sdk/src/cmp/ts/fragment/EntityBase.fragment.ts +0 -20
  481. package/project/.sdk/src/cmp/ts/fragment/EntityCreateOp.fragment.ts +0 -6
  482. package/project/.sdk/src/cmp/ts/fragment/EntityLoadOp.fragment.ts +0 -6
  483. package/project/.sdk/src/cmp/ts/fragment/EntityRemoveOp.fragment.ts +0 -15
  484. package/project/.sdk/src/cmp/ts/fragment/EntityUpdateOp.fragment.ts +0 -6
  485. package/project/.sdk/src/cmp/ts/fragment/Main.fragment.ts +0 -15
  486. package/project/.sdk/src/cmp/ts/fragment/MainStation.fragment.ts +0 -12
  487. package/project/.sdk/src/cmp/ts/fragment/SdkError.fragment.ts +0 -9
  488. package/project/.sdk/src/cmp/ts/utility_ts.ts +5 -64
  489. package/project/.sdk/src/cmp/zig/Config_zig.ts +0 -70
  490. package/project/.sdk/src/cmp/zig/Entity_zig.ts +0 -3
  491. package/project/.sdk/src/cmp/zig/Main_zig.ts +0 -83
  492. package/project/.sdk/src/cmp/zig/Package_zig.ts +0 -22
  493. package/project/.sdk/src/cmp/zig/PrepareAuth_zig.ts +0 -136
  494. package/project/.sdk/src/cmp/zig/ReadmeEntity_zig.ts +3 -3
  495. package/project/.sdk/src/cmp/zig/ReadmeExamplesTest_zig.ts +0 -18
  496. package/project/.sdk/src/cmp/zig/ReadmeModel_zig.ts +3 -3
  497. package/project/.sdk/src/cmp/zig/ReadmeQuick_zig.ts +0 -3
  498. package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +7 -10
  499. package/project/.sdk/src/cmp/zig/Schema_zig.ts +1 -24
  500. package/project/.sdk/src/cmp/zig/TestDirect_zig.ts +0 -11
  501. package/project/.sdk/src/cmp/zig/TestEntity_zig.ts +0 -8
  502. package/project/.sdk/src/cmp/zig/Test_zig.ts +0 -11
  503. package/project/.sdk/src/cmp/zig/utility_zig.ts +0 -47
  504. package/project/.sdk/tm/c/feature/test.c +20 -4
  505. package/project/.sdk/tm/clojure/src/sdk/features.clj +6 -4
  506. package/project/.sdk/tm/cpp/feature/test.hpp +17 -6
  507. package/project/.sdk/tm/csharp/feature/FeatureOptions.cs +18 -5
  508. package/project/.sdk/tm/csharp/feature/TestFeature.cs +10 -4
  509. package/project/.sdk/tm/elixir/lib/projectname/feature/test.ex +11 -5
  510. package/project/.sdk/tm/go/core/context.go +0 -9
  511. package/project/.sdk/tm/go/core/types.go +0 -3
  512. package/project/.sdk/tm/go/feature/audit_feature.go +0 -9
  513. package/project/.sdk/tm/go/feature/cache_feature.go +0 -8
  514. package/project/.sdk/tm/go/feature/clienttrack_feature.go +0 -7
  515. package/project/.sdk/tm/go/feature/cost_feature.go +0 -51
  516. package/project/.sdk/tm/go/feature/debug_feature.go +0 -6
  517. package/project/.sdk/tm/go/feature/feature_options.go +108 -21
  518. package/project/.sdk/tm/go/feature/idempotency_feature.go +0 -6
  519. package/project/.sdk/tm/go/feature/metrics_feature.go +0 -6
  520. package/project/.sdk/tm/go/feature/netsim_feature.go +0 -8
  521. package/project/.sdk/tm/go/feature/paging_feature.go +0 -9
  522. package/project/.sdk/tm/go/feature/proxy_feature.go +0 -7
  523. package/project/.sdk/tm/go/feature/ratelimit_feature.go +0 -6
  524. package/project/.sdk/tm/go/feature/rbac_feature.go +0 -10
  525. package/project/.sdk/tm/go/feature/retry_feature.go +0 -6
  526. package/project/.sdk/tm/go/feature/secrets_feature.go +0 -173
  527. package/project/.sdk/tm/go/feature/streaming_feature.go +0 -7
  528. package/project/.sdk/tm/go/feature/telemetry_feature.go +0 -8
  529. package/project/.sdk/tm/go/feature/test_feature.go +0 -23
  530. package/project/.sdk/tm/go/feature/validate_feature.go +0 -66
  531. package/project/.sdk/tm/go/test/custom_utility_test.go +0 -29
  532. package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +0 -100
  533. package/project/.sdk/tm/go/test/feature_corpus_test.go +1 -60
  534. package/project/.sdk/tm/go/test/feature_harness_test.go +0 -10
  535. package/project/.sdk/tm/go/test/feature_test.go +107 -9
  536. package/project/.sdk/tm/go/test/omniresolver_test.go +0 -74
  537. package/project/.sdk/tm/go/test/omnismoke_test.go +0 -4
  538. package/project/.sdk/tm/go/test/pipeline_test.go +0 -10
  539. package/project/.sdk/tm/go/test/primary_utility_test.go +0 -32
  540. package/project/.sdk/tm/go/test/struct_utility_test.go +0 -38
  541. package/project/.sdk/tm/go/test/testsupport_test.go +0 -25
  542. package/project/.sdk/tm/go/utility/feature_add.go +0 -6
  543. package/project/.sdk/tm/go/utility/fetcher.go +0 -6
  544. package/project/.sdk/tm/go/utility/graphql.go +1 -31
  545. package/project/.sdk/tm/go/utility/make_options.go +38 -49
  546. package/project/.sdk/tm/go/utility/make_point.go +0 -11
  547. package/project/.sdk/tm/go/utility/make_spec.go +0 -15
  548. package/project/.sdk/tm/go/utility/register.go +0 -28
  549. package/project/.sdk/tm/go/utility/transform_request.go +0 -20
  550. package/project/.sdk/tm/go/utility/transform_response.go +0 -8
  551. package/project/.sdk/tm/java/feature/TestFeature.java +11 -6
  552. package/project/.sdk/tm/js/src/feature/test/TestFeature.js +12 -4
  553. package/project/.sdk/tm/js/test/live-entity.js +29 -29
  554. package/project/.sdk/tm/js/test/live-scenarios.js +4 -4
  555. package/project/.sdk/tm/kotlin/feature/TestFeature.kt +8 -4
  556. package/project/.sdk/tm/ocaml/sdk_features.ml +6 -4
  557. package/project/.sdk/tm/perl/feature/test_feature.pm +6 -4
  558. package/project/.sdk/tm/rb/feature/test_feature.rb +6 -4
  559. package/project/.sdk/tm/rust/core/context.rs +0 -5
  560. package/project/.sdk/tm/rust/core/control.rs +0 -1
  561. package/project/.sdk/tm/rust/core/helpers.rs +0 -15
  562. package/project/.sdk/tm/rust/core/operation.rs +0 -1
  563. package/project/.sdk/tm/rust/core/point.rs +0 -3
  564. package/project/.sdk/tm/rust/core/response.rs +0 -2
  565. package/project/.sdk/tm/rust/core/result.rs +0 -1
  566. package/project/.sdk/tm/rust/core/spec.rs +0 -1
  567. package/project/.sdk/tm/rust/core/types.rs +0 -20
  568. package/project/.sdk/tm/rust/core/utility_type.rs +0 -5
  569. package/project/.sdk/tm/rust/feature/audit.rs +0 -9
  570. package/project/.sdk/tm/rust/feature/base.rs +0 -3
  571. package/project/.sdk/tm/rust/feature/cache.rs +0 -9
  572. package/project/.sdk/tm/rust/feature/clienttrack.rs +0 -7
  573. package/project/.sdk/tm/rust/feature/cost.rs +0 -48
  574. package/project/.sdk/tm/rust/feature/debug.rs +0 -7
  575. package/project/.sdk/tm/rust/feature/idempotency.rs +0 -7
  576. package/project/.sdk/tm/rust/feature/log.rs +0 -3
  577. package/project/.sdk/tm/rust/feature/metrics.rs +0 -7
  578. package/project/.sdk/tm/rust/feature/netsim.rs +0 -9
  579. package/project/.sdk/tm/rust/feature/paging.rs +0 -10
  580. package/project/.sdk/tm/rust/feature/proxy.rs +0 -8
  581. package/project/.sdk/tm/rust/feature/ratelimit.rs +0 -6
  582. package/project/.sdk/tm/rust/feature/rbac.rs +0 -10
  583. package/project/.sdk/tm/rust/feature/retry.rs +0 -6
  584. package/project/.sdk/tm/rust/feature/secrets.rs +1 -187
  585. package/project/.sdk/tm/rust/feature/streaming.rs +0 -7
  586. package/project/.sdk/tm/rust/feature/support.rs +0 -6
  587. package/project/.sdk/tm/rust/feature/telemetry.rs +0 -9
  588. package/project/.sdk/tm/rust/feature/test.rs +8 -23
  589. package/project/.sdk/tm/rust/feature/timeout.rs +0 -7
  590. package/project/.sdk/tm/rust/feature/validate.rs +0 -81
  591. package/project/.sdk/tm/rust/tests/common/mod.rs +0 -35
  592. package/project/.sdk/tm/rust/tests/custom_utility_test.rs +0 -2
  593. package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +0 -95
  594. package/project/.sdk/tm/rust/tests/feature_test.rs +0 -16
  595. package/project/.sdk/tm/rust/tests/netsim_test.rs +0 -6
  596. package/project/.sdk/tm/rust/tests/omni_resolver/mod.rs +0 -135
  597. package/project/.sdk/tm/rust/tests/omni_smoke_test.rs +0 -15
  598. package/project/.sdk/tm/rust/tests/pipeline_test.rs +0 -6
  599. package/project/.sdk/tm/rust/tests/primary_utility_test.rs +0 -22
  600. package/project/.sdk/tm/rust/tests/struct_utility_test.rs +0 -25
  601. package/project/.sdk/tm/rust/utility/fetcher.rs +0 -5
  602. package/project/.sdk/tm/rust/utility/graphql.rs +1 -30
  603. package/project/.sdk/tm/rust/utility/make_error.rs +0 -2
  604. package/project/.sdk/tm/rust/utility/make_options.rs +0 -46
  605. package/project/.sdk/tm/rust/utility/make_point.rs +0 -12
  606. package/project/.sdk/tm/rust/utility/make_spec.rs +0 -4
  607. package/project/.sdk/tm/rust/utility/voxgigstruct/consts.rs +14 -20
  608. package/project/.sdk/tm/rust/utility/voxgigstruct/major.rs +0 -13
  609. package/project/.sdk/tm/rust/utility/voxgigstruct/mini.rs +0 -14
  610. package/project/.sdk/tm/rust/utility/voxgigstruct/mod.rs +0 -2
  611. package/project/.sdk/tm/rust/utility/voxgigstruct/ordered_map.rs +0 -18
  612. package/project/.sdk/tm/rust/utility/voxgigstruct/re.rs +0 -11
  613. package/project/.sdk/tm/rust/utility/voxgigstruct/value.rs +0 -3
  614. package/project/.sdk/tm/scala/feature/TestFeature.scala +10 -6
  615. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/TestFeature.swift +10 -6
  616. package/project/.sdk/tm/ts/src/Context.ts +0 -5
  617. package/project/.sdk/tm/ts/src/feature/audit/AuditFeature.ts +0 -7
  618. package/project/.sdk/tm/ts/src/feature/cache/CacheFeature.ts +0 -8
  619. package/project/.sdk/tm/ts/src/feature/clienttrack/ClienttrackFeature.ts +0 -7
  620. package/project/.sdk/tm/ts/src/feature/cost/CostFeature.ts +0 -52
  621. package/project/.sdk/tm/ts/src/feature/debug/DebugFeature.ts +0 -6
  622. package/project/.sdk/tm/ts/src/feature/metrics/MetricsFeature.ts +0 -6
  623. package/project/.sdk/tm/ts/src/feature/netsim/NetsimFeature.ts +0 -8
  624. package/project/.sdk/tm/ts/src/feature/paging/PagingFeature.ts +0 -13
  625. package/project/.sdk/tm/ts/src/feature/proxy/ProxyFeature.ts +0 -8
  626. package/project/.sdk/tm/ts/src/feature/ratelimit/RatelimitFeature.ts +0 -6
  627. package/project/.sdk/tm/ts/src/feature/rbac/RbacFeature.ts +0 -9
  628. package/project/.sdk/tm/ts/src/feature/retry/RetryFeature.ts +0 -6
  629. package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +0 -136
  630. package/project/.sdk/tm/ts/src/feature/streaming/StreamingFeature.ts +0 -7
  631. package/project/.sdk/tm/ts/src/feature/telemetry/TelemetryFeature.ts +0 -7
  632. package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +13 -88
  633. package/project/.sdk/tm/ts/src/feature/validate/ValidateFeature.ts +0 -87
  634. package/project/.sdk/tm/ts/src/utility/CleanUtility.ts +0 -12
  635. package/project/.sdk/tm/ts/src/utility/FeatureAddUtility.ts +0 -1
  636. package/project/.sdk/tm/ts/src/utility/GraphqlUtility.ts +2 -30
  637. package/project/.sdk/tm/ts/src/utility/MakeErrorUtility.ts +0 -4
  638. package/project/.sdk/tm/ts/src/utility/MakeOptionsUtility.ts +0 -46
  639. package/project/.sdk/tm/ts/src/utility/MakePointUtility.ts +0 -34
  640. package/project/.sdk/tm/ts/src/utility/MakeRequestUtility.ts +0 -1
  641. package/project/.sdk/tm/ts/src/utility/MakeSpecUtility.ts +0 -5
  642. package/project/.sdk/tm/ts/src/utility/MakeUrlUtility.ts +0 -1
  643. package/project/.sdk/tm/ts/src/utility/ParamUtility.ts +0 -8
  644. package/project/.sdk/tm/ts/src/utility/PrepareBodyUtility.ts +0 -3
  645. package/project/.sdk/tm/ts/src/utility/PrepareParamsUtility.ts +0 -6
  646. package/project/.sdk/tm/ts/src/utility/ResultBasicUtility.ts +0 -1
  647. package/project/.sdk/tm/ts/src/utility/TransformRequestUtility.ts +0 -20
  648. package/project/.sdk/tm/ts/src/utility/TransformResponseUtility.ts +0 -4
  649. package/project/.sdk/tm/ts/test/exists.test.ts +0 -10
  650. package/project/.sdk/tm/ts/test/feature/Corpus.test.ts +0 -56
  651. package/project/.sdk/tm/ts/test/feature/harness.ts +0 -9
  652. package/project/.sdk/tm/ts/test/feature/secrets/Secrets.test.ts +0 -106
  653. package/project/.sdk/tm/ts/test/live-contract.ts +0 -2
  654. package/project/.sdk/tm/ts/test/live-entity.ts +26 -26
  655. package/project/.sdk/tm/ts/test/live-scenarios.ts +3 -3
  656. package/project/.sdk/tm/ts/test/omni.ts +0 -32
  657. package/project/.sdk/tm/ts/test/pipeline.test.ts +45 -28
  658. package/project/.sdk/tm/ts/test/utility/Corpus.test.ts +0 -13
  659. package/project/.sdk/tm/ts/test/utility/PrimaryUtility.test.ts +56 -29
  660. package/project/.sdk/tm/ts/test/utility/StructUtility.test.ts +0 -7
  661. package/project/.sdk/tm/ts/test/utility.ts +0 -55
  662. package/project/.sdk/tm/zig/feature/test.zig +11 -4
  663. package/project/sdkgen-package.json +1 -1
  664. package/src/action/action.ts +0 -65
  665. package/src/action/check.ts +0 -88
  666. package/src/action/dispatch.ts +0 -27
  667. package/src/action/doctor.ts +69 -329
  668. package/src/action/edition.ts +1 -87
  669. package/src/action/feature.ts +1 -49
  670. package/src/action/kind.ts +0 -149
  671. package/src/action/package.ts +0 -228
  672. package/src/action/resolve.ts +0 -148
  673. package/src/action/target.ts +0 -177
  674. package/src/cmp/AgentGuide.ts +0 -7
  675. package/src/cmp/AgentGuideContent.ts +0 -24
  676. package/src/cmp/AgentGuideTop.ts +0 -7
  677. package/src/cmp/Changelog.ts +0 -14
  678. package/src/cmp/Deploy.ts +1 -31
  679. package/src/cmp/Entity.ts +0 -4
  680. package/src/cmp/ExternalTarget.ts +0 -36
  681. package/src/cmp/Feature.ts +0 -14
  682. package/src/cmp/FeatureDocs.ts +0 -37
  683. package/src/cmp/PublishWorkflow.ts +0 -60
  684. package/src/cmp/ReadmeErrors.ts +0 -17
  685. package/src/cmp/ReadmeExplanation.ts +2 -11
  686. package/src/cmp/ReadmeFeatures.ts +0 -10
  687. package/src/cmp/ReadmeRefFeatures.ts +0 -19
  688. package/src/cmp/ReadmeStation.ts +0 -19
  689. package/src/cmp/ReadmeTop.ts +1 -81
  690. package/src/cmp/ReadmeUnions.ts +1 -16
  691. package/src/cmp/Registered.ts +0 -30
  692. package/src/cmp/Security.ts +0 -2
  693. package/src/cmp/Test.ts +4 -2
  694. package/src/cmp/TestControl.ts +0 -25
  695. package/src/helpers/applicability.ts +0 -60
  696. package/src/helpers/buildIdNames.ts +17 -19
  697. package/src/helpers/canonSpec.ts +2 -116
  698. package/src/helpers/canonType.ts +0 -87
  699. package/src/helpers/collectDeps.ts +0 -27
  700. package/src/helpers/definition.ts +0 -29
  701. package/src/helpers/dryrun.ts +0 -8
  702. package/src/helpers/featureSource.ts +0 -152
  703. package/src/helpers/getMatchEntries.ts +2 -6
  704. package/src/helpers/junk.ts +13 -89
  705. package/src/helpers/manifest.ts +0 -169
  706. package/src/helpers/modelNames.ts +6 -82
  707. package/src/helpers/modelcheck.ts +0 -106
  708. package/src/helpers/naming.ts +0 -303
  709. package/src/helpers/opExample.ts +0 -56
  710. package/src/helpers/opShape.ts +33 -233
  711. package/src/helpers/optspec.ts +0 -77
  712. package/src/helpers/packageMeta.ts +1 -200
  713. package/src/helpers/pointPath.ts +5 -65
  714. package/src/helpers/resolved.ts +39 -0
  715. package/src/helpers/semver.ts +0 -61
  716. package/src/helpers/serverVars.ts +0 -44
  717. package/src/helpers/shipped.ts +0 -14
  718. package/src/helpers/station.ts +0 -32
  719. package/src/helpers/stdrep.ts +0 -52
  720. package/src/helpers/testPolicy.ts +0 -4
  721. package/src/sdkgen.ts +18 -264
  722. package/src/testkit.ts +6 -312
  723. package/src/types.ts +1 -30
  724. package/src/utility.ts +16 -250
@@ -10,11 +10,6 @@ import {
10
10
  import { exampleValue } from './utility_ts'
11
11
 
12
12
 
13
- // A `list()` on a NESTED entity needs its parent path params. The
14
- // quickstart used to emit `client.Moon().list()` for an entity at
15
- // `/planet/{planet_id}/moon`, which 404s against a live server from a
16
- // half-built URL — indistinguishable from "no such record". The model
17
- // already marks those params `reqd: true`; matchArg renders exactly them.
18
13
  function listMatchArg(ent: any): string {
19
14
  const idF = entityIdField(ent)
20
15
  return matchArg('ts', ent, 'list', idF, idLiteral(ent, 'list', idF))
@@ -26,12 +21,8 @@ const ReadmeQuick = cmp(function ReadmeQuick(props: any) {
26
21
 
27
22
  const entity = getModelPath(model, `main.${KIT}.entity`)
28
23
 
29
- // Find the first published entity for examples
30
24
  const exampleEntity = Object.values(entity).find((e: any) => e.active !== false) as any
31
25
 
32
- // Find a nested entity if available: one with a parent chain
33
- // (relations.ancestors), an active load op, and a required non-id load
34
- // param to demonstrate (the parent key, e.g. page_id).
35
26
  const nestedEntity = Object.values(entity).find((e: any) =>
36
27
  e.active !== false &&
37
28
  e.relations && e.relations.ancestors && 0 < e.relations.ancestors.length &&
@@ -71,13 +62,9 @@ const client = ${ctor}
71
62
 
72
63
  if (exampleEntity) {
73
64
  const eName = nom(exampleEntity, 'Name')
74
- // Variable-safe lowercase name — a `Delete`/`Class` entity must not bind a
75
- // reserved word (`const delete = ...` is a TS1109 syntax error).
76
65
  const eVar = exampleVarName(eName.toLowerCase(), 'ts')
77
66
  const article = /^[aeiou]/i.test(eName) ? 'an' : 'a'
78
67
  const opnames = entityOps(exampleEntity)
79
- // Model-driven id key: `idF` is the entity's id-like MATCH field name, or
80
- // null when it has none (then load/remove match on no argument).
81
68
  const idF = entityIdField(exampleEntity)
82
69
  // The id field on the RETURNED record's data type, or null. DISTINCT from
83
70
  // idF (the match key): an entity can key its load-match on an id it does not
@@ -109,9 +96,6 @@ for (const ${eVar} of ${eVar}s) {
109
96
  const neArticle = /^[aeiou]/i.test(neName) ? 'an' : 'a'
110
97
  const loadOp = nestedEntity.op && nestedEntity.op.load
111
98
 
112
- // Model-driven match: every REQUIRED load-match key — the same shape
113
- // that generates <Name>LoadMatch, so the example always type-checks.
114
- // Parent keys (e.g. page_id) first, the entity's own id last.
115
99
  const neIdF = entityIdField(nestedEntity)
116
100
  const neRequired = opRequestShape(nestedEntity, 'load').items
117
101
  .filter((it: any) => !it.optional)
@@ -143,8 +127,6 @@ ${neMatchLines.join('\n')}
143
127
  `)
144
128
  }
145
129
  else if (opnames.includes('load')) {
146
- // Every REQUIRED load-match key (id first) — the same shape that
147
- // generates <Name>LoadMatch, so the example always type-checks.
148
130
  const loadRequired = opRequestShape(exampleEntity, 'load').items
149
131
  .filter((it: any) => !it.optional || it.name === idF)
150
132
  .sort((a: any, b: any) =>
@@ -177,21 +159,12 @@ try {
177
159
  // non-id fields and render a type-correct literal per field via
178
160
  // exampleValue — never a hardcoded field the entity may not have.
179
161
  if (opnames.includes('create') || opnames.includes('update') || opnames.includes('remove')) {
180
- // Writable non-id example fields for an op body. For create the REQUIRED
181
- // fields must all appear or the literal is not assignable to the typed
182
- // <Name>CreateData (a TS2345); update is a patch, so a couple of fields
183
- // suffice.
184
162
  const exampleFields = (opname: string): string[] => {
185
- // ids are rendered separately as the match key for update/remove; a
186
- // REQUIRED id stays (dropping it makes the literal unassignable).
187
163
  const items = opRequestShape(exampleEntity, opname).items
188
164
  .filter((it: any) => (it.name !== idF && it.name !== 'id') ||
189
165
  ('create' === opname && !it.optional))
190
166
  const required = items.filter((it: any) => !it.optional)
191
167
  const optional = items.filter((it: any) => it.optional)
192
- // Required members must all appear or the literal is not assignable
193
- // to the typed <Name>{Create,Update}Data; pad update (a patch) with a
194
- // sample optional field or two.
195
168
  const chosen = 'create' === opname
196
169
  ? (required.length ? required : items.slice(0, 2))
197
170
  : required.concat(optional).slice(0, Math.max(2, required.length))
@@ -199,20 +172,10 @@ try {
199
172
  ` ${jsKey(it.name)}: ${exampleValue(exampleEntity, exampleEntity.op[opname], it.name, 'example_' + it.name)},`)
200
173
  }
201
174
 
202
- // The id VALUE for an update/remove match. When the entity's DATA type
203
- // carries the id (dataIdF) AND a `created` record exists, take it off the
204
- // returned record; otherwise use a type-correct literal — reading
205
- // `created.id` off an id-less data type is a TS2339.
206
- // Type of the data field we would read off `created` (e.g. number for an
207
- // integer id). null when unknown.
208
175
  const dataFields: any[] = exampleEntity.fields ? each(exampleEntity.fields) : []
209
176
  const dataIdType = dataIdF
210
- ? (dataFields.find((f: any) => f && f.name === dataIdF) || {}).type
177
+ ? (dataFields.find((f: any) => f && f.n === dataIdF) || {}).type
211
178
  : null
212
- // `created.<dataIdF>` is only usable as an op's id-match value when its
213
- // type matches that op's id PARAM type. An id that is integer in the data
214
- // type but string in the match path (a spec quirk seen on management
215
- // APIs) would be a TS2322 otherwise — fall back to a type-correct literal.
216
179
  const usesCreatedId = (opname: string): boolean => {
217
180
  if (null == dataIdF || !opnames.includes('create')) {
218
181
  return false
@@ -222,8 +185,6 @@ try {
222
185
  const matchType = matchItem ? matchItem.type : null
223
186
  return null == matchType || null == dataIdType || matchType === dataIdType
224
187
  }
225
- // `create` resolves to the ENTITY, so the id is reached through
226
- // `.data()` — `created.id` is a TS2339 on the entity class.
227
188
  const idValueFor = (opname: string): string => usesCreatedId(opname)
228
189
  ? `created.data().${dataIdF}!`
229
190
  : exampleValue(exampleEntity, exampleEntity.op[opname], idF as string, 'example_id')
@@ -241,8 +202,6 @@ const created = await client.${eName}().create({${createBody}})
241
202
  `)
242
203
  }
243
204
  if (opnames.includes('update')) {
244
- // Match on the id (from the returned `created` record when the data
245
- // type carries one, else a literal), plus a couple of patch fields.
246
205
  const updateLines = (idF ? [` ${idF}: ${idValueFor('update')},`] : []).concat(exampleFields('update'))
247
206
  const updateBody = updateLines.length ? '\n' + updateLines.join('\n') + '\n' : ''
248
207
  Content(`// Update${usesCreatedId('update') ? ' — the id comes off the returned entity\'s data()' : ''}
@@ -251,8 +210,6 @@ const updated = await client.${eName}().update({${updateBody}})
251
210
  `)
252
211
  }
253
212
  if (opnames.includes('remove')) {
254
- // Every REQUIRED remove-match key: the id (off the created record
255
- // when possible) plus parent keys like page_id.
256
213
  const removeLines = opRequestShape(exampleEntity, 'remove').items
257
214
  .filter((it: any) => !it.optional || it.name === idF)
258
215
  .sort((a: any, b: any) =>
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, each, Content, canonToType, File, isAuthActive, isHttpBasicAuth, entityIdField, entityActions, opRequestShape, safeVarName, exampleVarName, jsKey, matchArg, idLiteral } from '@voxgig/sdkgen'
2
+ import { cmp, each, Content, canonToType, File, isAuthActive, isHttpBasicAuth, entityIdField, entityActions, opRequestShape, safeVarName, exampleVarName, jsKey, matchArg, idLiteral, targetFeatures } from '@voxgig/sdkgen'
3
3
  import { ReadmeRefFeatures } from '@voxgig/sdkgen'
4
4
 
5
5
  import {
@@ -10,11 +10,6 @@ import {
10
10
  import { exampleValue } from './utility_ts'
11
11
 
12
12
 
13
- // A `list()` on a NESTED entity needs its parent path params. The
14
- // quickstart used to emit `client.Moon().list()` for an entity at
15
- // `/planet/{planet_id}/moon`, which 404s against a live server from a
16
- // half-built URL — indistinguishable from "no such record". The model
17
- // already marks those params `reqd: true`; matchArg renders exactly them.
18
13
  function listMatchArg(ent: any): string {
19
14
  const idF = entityIdField(ent)
20
15
  return matchArg('ts', ent, 'list', idF, idLiteral(ent, 'list', idF))
@@ -55,7 +50,7 @@ const ReadmeRef = cmp(function ReadmeRef(props: any) {
55
50
  const { model } = props.ctx$
56
51
 
57
52
  const entity = getModelPath(model, `main.${KIT}.entity`)
58
- const feature = getModelPath(model, `main.${KIT}.feature`)
53
+ const feature = targetFeatures(model, target)
59
54
 
60
55
  const publishedEntities = each(entity).filter((e: any) => e.active !== false)
61
56
 
@@ -192,11 +187,10 @@ Alias for \`${model.Name}SDK.test()\`.
192
187
  // Entity reference sections
193
188
  publishedEntities.map((ent: any) => {
194
189
  const opnames = Object.keys(ent.op || {})
195
- const fields = ent.fields || []
190
+ const fields = Object.values(ent.fields || {})
196
191
  // Model-driven id key: null when this entity has no id-like field, in
197
192
  // which case load/remove match on no argument and update omits the id.
198
193
  const idF = entityIdField(ent)
199
- // Variable-safe lowercase name (a `Delete` entity must not bind `delete`).
200
194
  const eVar = exampleVarName(ent.name, target.name)
201
195
 
202
196
  Content(`
@@ -227,9 +221,9 @@ const ${eVar} = client.${ent.Name}()
227
221
  | --- | --- | --- | --- |
228
222
  `)
229
223
  each(fields, (field: any) => {
230
- const req = field.req ? 'Yes' : 'No'
231
- const desc = field.short || ''
232
- Content(`| \`${field.name}\` | \`${canonToType(field.type, target.name)}\` | ${req} | ${desc} |
224
+ const req = field.r ? 'Yes' : 'No'
225
+ const desc = field.sh || ''
226
+ Content(`| \`${field.n}\` | \`${canonToType(field.t, target.name)}\` | ${req} | ${desc} |
233
227
  `)
234
228
  })
235
229
 
@@ -256,7 +250,7 @@ const ${eVar} = client.${ent.Name}()
256
250
  if (fop.active === false) return '-'
257
251
  return 'Yes'
258
252
  })
259
- Content(`| \`${field.name}\` | ${cols.join(' | ')} |
253
+ Content(`| \`${field.n}\` | ${cols.join(' | ')} |
260
254
  `)
261
255
  })
262
256
 
@@ -266,15 +260,6 @@ const ${eVar} = client.${ent.Name}()
266
260
  }
267
261
 
268
262
 
269
- // Custom actions.
270
- //
271
- // A POST route like `/api/planet/{id}/terraform` is folded into the
272
- // `create` op as an alternative point, selected at call time by
273
- // `$action`. The mechanism was implemented and documented NOWHERE — so
274
- // for an API with two such routes, two of its six endpoints were
275
- // unreachable by anyone reading the docs. A user who wanted `terraform`
276
- // had to fall back to `direct()` and rebuild the URL by hand, which is
277
- // exactly what the entity model exists to spare them.
278
263
  const actions = entityActions(ent)
279
264
  if (0 < actions.length) {
280
265
  Content(`### Actions
@@ -455,9 +440,6 @@ const client = new ${model.Name}SDK({
455
440
  \`\`\`
456
441
 
457
442
  `)
458
- // The shared feature reference: options, defaults, usage and the
459
- // considerations. Model facts, identical in every target, so they are
460
- // written once in cmp/ReadmeRefFeatures.ts rather than here.
461
443
  ReadmeRefFeatures({ target })
462
444
  }
463
445
 
@@ -10,11 +10,6 @@ import {
10
10
  import { exampleValue } from './utility_ts'
11
11
 
12
12
 
13
- // A `list()` on a NESTED entity needs its parent path params. The
14
- // quickstart used to emit `client.Moon().list()` for an entity at
15
- // `/planet/{planet_id}/moon`, which 404s against a live server from a
16
- // half-built URL — indistinguishable from "no such record". The model
17
- // already marks those params `reqd: true`; matchArg renders exactly them.
18
13
  function listMatchArg(ent: any): string {
19
14
  const idF = entityIdField(ent)
20
15
  return matchArg('ts', ent, 'list', idF, idLiteral(ent, 'list', idF))
@@ -87,9 +82,6 @@ for (const ${eVar} of ${eVar}s) {
87
82
  const neVar = exampleVarName(neName.toLowerCase(), 'ts')
88
83
  const loadOp = nestedEntity.op && nestedEntity.op.load
89
84
 
90
- // Every REQUIRED load-match key (parent keys first, own id last) — the
91
- // same shape that generates <Name>LoadMatch, so the example
92
- // type-checks.
93
85
  const neIdF = entityIdField(nestedEntity)
94
86
  const neMatchLines = opRequestShape(nestedEntity, 'load').items
95
87
  .filter((it: any) => !it.optional || it.name === neIdF)
@@ -109,9 +101,6 @@ console.log(${neVar})
109
101
  hasCall = true
110
102
  }
111
103
 
112
- // Fallback: APIs with only `load` (no list, no nested) — most public
113
- // read-only services. Still show one concrete call. `load()` with no
114
- // match is always valid (the match arg is optional).
115
104
  if (!hasCall && opnames.includes('load')) {
116
105
  Content(`// Load ${eName.toLowerCase()} data (returns a ${eName})
117
106
  const ${eVar} = await client.${eName}().load()
@@ -18,13 +18,6 @@ const ReadmeTopTest = cmp(function ReadmeTopTest(props: any) {
18
18
  // `load` on an op-less entity like Cloudsmith's `Abort`.
19
19
  const { entity: exampleEntity, primaryOp } = pickExampleEntity(entity)
20
20
 
21
- // The mock SEEDS NOTHING on its own.
22
- //
23
- // `SDK.test()` with no argument used to be shown alongside "populated with
24
- // mock data" — and returned an empty array. The seed shape
25
- // (`{ entity: { <name>: { <id>: {...} } } }`) was documented nowhere; the
26
- // only way to find it was to read TestFeature.ts. Offline test mode is a
27
- // headline feature of these SDKs, so its one worked example has to run.
28
21
  const seedEntity = exampleEntity ? nom(exampleEntity, 'name') : ''
29
22
  const seedFields = exampleEntity ?
30
23
  opRequestShape(exampleEntity, 'create').items
@@ -74,12 +67,16 @@ const client = ${model.const.Name}SDK.test({
74
67
  it.name === idF ? 'test01' : 'example_' + it.name)}`).join(', ')} }`
75
68
  : ''
76
69
  } else if ('create' === primaryOp || 'update' === primaryOp) {
70
+ const isIdField = (it: any) => it.name === idF || it.name === 'id'
77
71
  const items = opRequestShape(exampleEntity, primaryOp).items
78
- .filter((it: any) => it.name !== idF && it.name !== 'id')
72
+ .filter((it: any) => !isIdField(it) || !it.optional)
79
73
  const required = items.filter((it: any) => !it.optional)
80
74
  const chosen = required.length ? required : items.slice(0, 3)
81
75
  arg = `{ ${chosen.map((it: any) =>
82
- `${jsKey(it.name)}: ${exampleValue(exampleEntity, primaryOpDef, it.name, 'example_' + it.name)}`).join(', ')} }`
76
+ // A required id matches the record seeded into the mock above, so the
77
+ // example reads as one coherent story rather than two.
78
+ `${jsKey(it.name)}: ${exampleValue(exampleEntity, primaryOpDef, it.name,
79
+ isIdField(it) ? seedId : 'example_' + it.name)}`).join(', ')} }`
83
80
  }
84
81
  Content(`const ${eVar} = await client.${eName}().${primaryOp}(${arg})
85
82
  // ${eVar} is ${'list' === primaryOp ? `an array of ${eName} entities` : `the ${eName} entity`}, populated with mock data
@@ -12,27 +12,6 @@ import {
12
12
  } from '@voxgig/apidef'
13
13
 
14
14
 
15
- // THE GENERATED SCHEMA MODULE: the model's schemas, as data the SDK can run.
16
- //
17
- // Two exports, both struct.validate specs:
18
- //
19
- // OPTSPEC what makeOptions validates the caller's options against —
20
- // the standard options from `main.kit.optspec` plus one entry
21
- // per feature this target carries, built by helpers/optspec.
22
- //
23
- // ENTITYSPEC per entity, `{ data, op: { <opname> } }` — the record shape
24
- // and each operation's request shape, mapped from the field
25
- // type sentinels the model already carries (helpers/canonSpec).
26
- // Emitted as an EMPTY MAP unless the `validate` feature is
27
- // active, because nothing else reads it and every byte here is
28
- // a byte in the consumer's package.
29
- //
30
- // A JSON OBJECT LITERAL, not a parsed string: JSON is a subset of the
31
- // language's own literal syntax, so the values land as data with no parse
32
- // step, and the backticks the sentinels carry (`\`$STRING\``) survive because
33
- // JSON.stringify quotes and escapes them. The config emitter has to choose
34
- // between a literal and a parsed blob because the config can be megabytes;
35
- // the spec is bounded by the model's field count, so it does not.
36
15
  const Schema = cmp(async function Schema(props: any) {
37
16
  const ctx$ = props.ctx$
38
17
  const target = props.target
@@ -46,7 +25,7 @@ const Schema = cmp(async function Schema(props: any) {
46
25
  Content(`// ${model.const.Name} ${target.Name} SDK: generated schemas. Do not edit.
47
26
  //
48
27
  // Generated from the model: \`main.kit.optspec\` and each feature's
49
- // \`config.options\` for OPTSPEC; entity \`fields[].type\` for ENTITYSPEC.
28
+ // \`config.options\` for OPTSPEC; entity \`fields{}.type\` for ENTITYSPEC.
50
29
 
51
30
  const OPTSPEC = ${JSON.stringify(optspec, null, 2)}
52
31
 
@@ -24,6 +24,7 @@ import {
24
24
  jsOptProp, envName, envToken, liveStrict,
25
25
  jsKey,
26
26
  pointParts,
27
+ hasLiveScenarios,
27
28
  } from '@voxgig/sdkgen'
28
29
 
29
30
 
@@ -42,7 +43,6 @@ const TestDirect = cmp(function TestDirect(props: any) {
42
43
 
43
44
  const ff = projectPath('src/cmp/ts/fragment/')
44
45
 
45
- // Does a live run ASSERT, or merely observe? See helpers/testPolicy.
46
46
  const strict = liveStrict(model, target.name)
47
47
 
48
48
  const PROJECTNAME = envName(model)
@@ -59,16 +59,6 @@ const TestDirect = cmp(function TestDirect(props: any) {
59
59
  secret: env.${PROJECTNAME}_SECRET,` : ''}`
60
60
  : ''
61
61
 
62
- // A templated server URL (OpenAPI server variables) makes a LIVE client
63
- // impossible to construct without values: makeOptions raises rather than
64
- // request a URL with a literal `{account_id}` in it. Taken from the
65
- // environment, the same way the apikey is.
66
- //
67
- // Keys are quoted and the env read is bracketed via jsKey/jsProp: a server
68
- // variable name is spec-derived and need not be a JS identifier — the URL
69
- // grammar admits a leading digit ({2fa}), and a declared-but-unreferenced
70
- // variable ({edge-zone}) is not constrained at all. Bare `name:` and
71
- // `env.PROJ_SERVER_EDGE-ZONE` are both syntax errors.
72
62
  const svars = serverVariables(model)
73
63
  const serverEnvEntry = svars
74
64
  .map((v: any) => `\n '${serverVarEnv(PROJECTNAME, v.name)}': ${JSON.stringify(v.dflt)},`).join('')
@@ -104,7 +94,7 @@ const TestDirect = cmp(function TestDirect(props: any) {
104
94
 
105
95
  Slot({ name: 'directSetup' }, () => {
106
96
  Content(`
107
- function liveScenariosActive() { return ${Object.values(model.main.kit.entity || {}).some((e: any) => Object.values(e.op || {}).some((o: any) => (o.points || []).some((p: any) => p.contract && JSON.parse(p.contract.json).live)))} && process.env.${PROJECTNAME}_TEST_LIVE === 'TRUE' }
97
+ function liveScenariosActive() { return ${hasLiveScenarios(model)} && process.env.${PROJECTNAME}_TEST_LIVE === 'TRUE' }
108
98
  function directSetup(mockres?: any) {
109
99
  const calls: any[] = []
110
100
 
@@ -184,23 +174,14 @@ function unwrapListData(data: any): any[] | null {
184
174
  })
185
175
 
186
176
 
187
- // GraphQL-backed op: a REST-shaped direct() call (GET, params in the URL)
188
- // cannot reach it — every op, including list, synthesizes POST with the
189
- // query/variables as a JSON body, not URL params (see
190
- // MakeFetchDefUtility: spec.body only ever comes from an explicit `body`
191
- // field, never derived from `params`). apidef already built a real, valid
192
- // query or mutation document per point (point.graphql.doc, with variables
193
- // declared to match), so reuse that verbatim through the SDK's own
194
- // graphql() escape hatch instead of re-deriving a REST-shaped call that
195
- // cannot represent one.
196
177
  function generateDirectGraphql(
197
178
  opname: 'load' | 'list',
198
179
  entity: ModelEntity,
199
180
  point: any,
200
181
  strict: boolean,
201
182
  ) {
202
- const doc: string = point.graphql.doc
203
- const vars: any[] = point.graphql.vars || []
183
+ const doc: string = point.gq.doc
184
+ const vars: any[] = point.gq.vars || []
204
185
 
205
186
  const varLine = (target: string, key: string, v: any) =>
206
187
  ` ${target}[${JSON.stringify(v.name)}] = ${key}`
@@ -223,10 +204,6 @@ function generateDirectGraphql(
223
204
  ? ` if (skipIfMissingIds(t, setup, ${JSON.stringify(liveIdKeys)})) return\n`
224
205
  : ''
225
206
 
226
- // Asserted against the OUTGOING request body (what we sent), not the
227
- // mocked response — response-shape correctness is the entity-level
228
- // load/list tests' job; direct/graphql only has to prove the raw path
229
- // reaches the endpoint with the right method and payload.
230
207
  const varAsserts = vars.map((_v: any, i: number) =>
231
208
  ' assert(calls[0].init.body.includes(\'direct0' + (i + 1) + '\'))\n').join('')
232
209
 
@@ -298,8 +275,8 @@ function generateDirectLoad(model: Model, entity: ModelEntity, strict: boolean)
298
275
  return
299
276
  }
300
277
 
301
- const allLoadParams = loadPoint.args?.params || []
302
- const loadPath = normalizePathParams(pointParts(loadPoint), allLoadParams, loadPoint.rename?.param)
278
+ const allLoadParams = loadPoint.g?.params || []
279
+ const loadPath = normalizePathParams(pointParts(loadPoint), allLoadParams, loadPoint.r?.param)
303
280
 
304
281
  // Some upstream OpenAPI specs declare a parameter as `in: path` even when
305
282
  // that path has no `{name}` placeholder for it. Only path params that
@@ -312,8 +289,7 @@ function generateDirectLoad(model: Model, entity: ModelEntity, strict: boolean)
312
289
  pathPlaceholders.add(part.slice(1, -1))
313
290
  }
314
291
  }
315
- // Apply rename map (e.g. `androidId` -> `id` in parts).
316
- const renameMap = (loadPoint.rename?.param || {}) as Record<string, string>
292
+ const renameMap = (loadPoint.r?.param || {}) as Record<string, string>
317
293
  const renamedPlaceholders = new Set<string>()
318
294
  for (const ph of pathPlaceholders) {
319
295
  renamedPlaceholders.add(ph)
@@ -322,50 +298,44 @@ function generateDirectLoad(model: Model, entity: ModelEntity, strict: boolean)
322
298
  }
323
299
  }
324
300
  const loadParams = allLoadParams.filter((p: any) =>
325
- renamedPlaceholders.has(p.name) || renamedPlaceholders.has(p.orig))
301
+ renamedPlaceholders.has(p.n) || renamedPlaceholders.has(p.or))
326
302
 
327
303
  // Required query params that the spec advertises an example value for.
328
304
  // Live mode needs these on the request or the API returns 4xx; mock mode
329
305
  // ignores them. Optional query params (e.g. `app`, `version`) are skipped
330
306
  // even when they have examples — only the strictly required ones are
331
307
  // necessary to satisfy the contract.
332
- const loadQuery = loadPoint.args?.query || []
308
+ const loadQuery = loadPoint.g?.query || []
333
309
  const liveQueryEntries = loadQuery
334
- .filter((q: any) => q.reqd && undefined !== q.example && null !== q.example)
310
+ .filter((q: any) => q.r && undefined !== q.ex && null !== q.ex)
335
311
  const hasLiveQuery = liveQueryEntries.length > 0
336
312
  const liveQueryLines = liveQueryEntries
337
- .map((q: any) => ` ${jsProp('query', q.name)} = ${JSON.stringify(q.example)}`)
313
+ .map((q: any) => ` ${jsProp('query', q.n)} = ${JSON.stringify(q.ex)}`)
338
314
  .join('\n')
339
315
 
340
- // Get list info for live mode bootstrapping
341
316
  const listOp = entity.op?.list
342
317
  const listPoint = listOp?.points?.[0]
343
- const listParams = listPoint?.args?.params || []
344
- const listPath = listPoint ? normalizePathParams(pointParts(listPoint), listParams, listPoint.rename?.param) : ''
318
+ const listParams = listPoint?.g?.params || []
319
+ const listPath = listPoint ? normalizePathParams(pointParts(listPoint), listParams, listPoint.r?.param) : ''
345
320
  const hasList = null != listPoint
346
321
 
347
- // Ancestor params (not 'id') for live mode
348
- const ancestorParams = loadParams.filter((p: any) => p.name !== 'id')
322
+ const ancestorParams = loadParams.filter((p: any) => p.n !== 'id')
349
323
 
350
324
  const paramAsserts = loadParams.map((p: any, i: number) =>
351
325
  ' assert(calls[0].url.includes(\'direct0' + (i + 1) + '\'))\n').join('')
352
326
 
353
- // Build live list params
354
327
  const liveListParams = listParams.map((p: any) => {
355
- const key = p.name === 'id'
328
+ const key = p.n === 'id'
356
329
  ? entity.name + '01'
357
- : p.name.replace(/_id$/, '') + '01'
358
- return { name: p.name, key }
330
+ : p.n.replace(/_id$/, '') + '01'
331
+ return { name: p.n, key }
359
332
  })
360
333
 
361
- // Build live ancestor params for load
362
334
  const liveAncestorParams = ancestorParams.map((p: any) => {
363
- const key = p.name.replace(/_id$/, '') + '01'
364
- return { name: p.name, key }
335
+ const key = p.n.replace(/_id$/, '') + '01'
336
+ return { name: p.n, key }
365
337
  })
366
338
 
367
- // Prefix the live block with required-query setup so it applies to both
368
- // the list-bootstrapped and the no-list cases.
369
339
  const liveQueryPrefix = liveQueryLines ? liveQueryLines + '\n' : ''
370
340
 
371
341
  // Path params with spec-provided examples — when present, prefer them
@@ -374,25 +344,22 @@ function generateDirectLoad(model: Model, entity: ModelEntity, strict: boolean)
374
344
  // so they avoid the brittleness of mapping list-response field names
375
345
  // back to load path-param names.
376
346
  const liveExampleParams = loadParams.filter(
377
- (p: any) => undefined !== p.example && null !== p.example
347
+ (p: any) => undefined !== p.ex && null !== p.ex
378
348
  )
379
349
  const allLoadParamsHaveExamples =
380
350
  loadParams.length > 0 && liveExampleParams.length === loadParams.length
381
351
 
382
- // Set of idmap keys this test will read from in live mode. Used to emit
383
- // a skip-on-missing-ids check so live runs without ENTID overrides skip
384
- // gracefully instead of 4xx-ing on undefined params.
385
352
  let liveIdKeys: string[] = []
386
353
 
387
354
  let liveParamsBlock = ''
388
355
  if (allLoadParamsHaveExamples) {
389
356
  const exampleLines = loadParams.map(
390
- (p: any) => ` ${jsProp('params', p.name)} = ${JSON.stringify(p.example)}`
357
+ (p: any) => ` ${jsProp('params', p.n)} = ${JSON.stringify(p.ex)}`
391
358
  ).join('\n')
392
359
  liveParamsBlock = ` if (setup.live) {
393
360
  ${liveQueryPrefix}${exampleLines}
394
361
  } else {
395
- ${loadParams.map((p: any, i: number) => ` ${jsProp('params', p.name)} = 'direct0${i + 1}'`).join('\n')}
362
+ ${loadParams.map((p: any, i: number) => ` ${jsProp('params', p.n)} = 'direct0${i + 1}'`).join('\n')}
396
363
  }`
397
364
  }
398
365
  else if (hasList) {
@@ -405,13 +372,9 @@ ${loadParams.map((p: any, i: number) => ` ${jsProp('params', p.name)} = 'di
405
372
  ` ${lp.name}: setup.idmap['${lp.key}'],`).join('\n')
406
373
  const ancestorParamLines = liveAncestorParams.map((lp: any) =>
407
374
  ` ${jsProp('params', lp.name)} = setup.idmap['${lp.key}']`).join('\n')
408
- // Try every load-path param name as the candidate field on listData[0].
409
- // Some APIs name the path param differently from the response field
410
- // (e.g. path uses {id} while response has mal_id), so we attempt the
411
- // exact name and skip the test cleanly when no candidate value exists.
412
- const idParamName = loadParams.find((p: any) => p.name === 'id')
375
+ const idParamName = loadParams.find((p: any) => p.n === 'id')
413
376
  ? 'id'
414
- : (loadParams[0]?.name ?? 'id')
377
+ : (loadParams[0]?.n ?? 'id')
415
378
 
416
379
  liveParamsBlock = ` if (setup.live) {
417
380
  ${liveQueryPrefix} const listResult: any = await client.direct({
@@ -434,7 +397,7 @@ ${listParamLines}
434
397
  ${jsProp('params', idParamName)} = candidateId
435
398
  ${ancestorParamLines}
436
399
  } else {
437
- ${loadParams.map((p: any, i: number) => ` ${jsProp('params', p.name)} = 'direct0${i + 1}'`).join('\n')}
400
+ ${loadParams.map((p: any, i: number) => ` ${jsProp('params', p.n)} = 'direct0${i + 1}'`).join('\n')}
438
401
  }`
439
402
  } else if (hasLiveQuery || loadParams.length > 0) {
440
403
  // Synthetic-only fallback: if there are load params with no examples
@@ -442,12 +405,12 @@ ${loadParams.map((p: any, i: number) => ` ${jsProp('params', p.name)} = 'di
442
405
  // undefined values. Mark the path-param keys so the test skips when
443
406
  // ENTID overrides aren't supplied.
444
407
  if (loadParams.length > 0) {
445
- liveIdKeys = loadParams.map((p: any) => p.name + '01')
408
+ liveIdKeys = loadParams.map((p: any) => p.n + '01')
446
409
  }
447
410
  liveParamsBlock = ` if (setup.live) {
448
411
  ${liveQueryPrefix.replace(/\n$/, '')}
449
412
  } else {
450
- ${loadParams.map((p: any, i: number) => ` ${jsProp('params', p.name)} = 'direct0${i + 1}'`).join('\n')}
413
+ ${loadParams.map((p: any, i: number) => ` ${jsProp('params', p.n)} = 'direct0${i + 1}'`).join('\n')}
451
414
  }`
452
415
  } else {
453
416
  liveParamsBlock = ''
@@ -533,23 +496,20 @@ function generateDirectList(model: Model, entity: ModelEntity, strict: boolean)
533
496
  return
534
497
  }
535
498
 
536
- const listParams = listPoint.args?.params || []
537
- const listPath = normalizePathParams(pointParts(listPoint), listParams, listPoint.rename?.param)
499
+ const listParams = listPoint.g?.params || []
500
+ const listPath = normalizePathParams(pointParts(listPoint), listParams, listPoint.r?.param)
538
501
 
539
- // Required query params with spec-provided examples — needed to satisfy
540
- // the API contract in live mode (see generateDirectLoad for rationale).
541
- const listQuery = listPoint.args?.query || []
502
+ const listQuery = listPoint.g?.query || []
542
503
  const liveQueryLines = listQuery
543
- .filter((q: any) => q.reqd && undefined !== q.example && null !== q.example)
544
- .map((q: any) => ` ${jsProp('query', q.name)} = ${JSON.stringify(q.example)}`)
504
+ .filter((q: any) => q.r && undefined !== q.ex && null !== q.ex)
505
+ .map((q: any) => ` ${jsProp('query', q.n)} = ${JSON.stringify(q.ex)}`)
545
506
  .join('\n')
546
507
 
547
- // Build live params
548
508
  const liveParams = listParams.map((p: any) => {
549
- const key = p.name === 'id'
509
+ const key = p.n === 'id'
550
510
  ? entity.name + '01'
551
- : p.name.replace(/_id$/, '') + '01'
552
- return { name: p.name, key }
511
+ : p.n.replace(/_id$/, '') + '01'
512
+ return { name: p.n, key }
553
513
  })
554
514
 
555
515
  const paramAsserts = listParams.map((p: any, i: number) =>
@@ -563,7 +523,7 @@ function generateDirectList(model: Model, entity: ModelEntity, strict: boolean)
563
523
  ` ${jsProp('params', lp.name)} = setup.idmap['${lp.key}']`).join('\n'),
564
524
  ].filter(Boolean).join('\n')
565
525
  const mockLines = listParams.map((p: any, i: number) =>
566
- ` ${jsProp('params', p.name)} = 'direct0${i + 1}'`).join('\n')
526
+ ` ${jsProp('params', p.n)} = 'direct0${i + 1}'`).join('\n')
567
527
 
568
528
  paramsBlock = ` const params: any = {}
569
529
  const query: any = {}
@@ -579,8 +539,6 @@ ${mockLines}
579
539
  `
580
540
  }
581
541
 
582
- // List path params come from idmap in live mode. Mark those keys so the
583
- // test skips cleanly when the ENTID env var isn't set.
584
542
  const liveIdKeys: string[] = listParams.length > 0
585
543
  ? liveParams.map((lp: any) => lp.key)
586
544
  : []
@@ -588,7 +546,6 @@ ${mockLines}
588
546
  ? ` if (skipIfMissingIds(t, setup, ${JSON.stringify(liveIdKeys)})) return\n`
589
547
  : ''
590
548
 
591
- // See generateDirectLoad: leniency is main.kit.test.live.strict.
592
549
  const offlineChecks = ` assert(result.ok === true)
593
550
  assert(result.status === 200)
594
551
  assert(null != result.data)
@@ -650,20 +607,12 @@ ${listChecks}
650
607
  }
651
608
 
652
609
 
653
- // Replace raw OpenAPI parameter names in path parts with model parameter names.
654
- // Path parts may have e.g. {subBreed} while model params use sub_breed.
655
- // When a rename mapping exists (e.g. closureId -> id), path parts contain the
656
- // renamed form {id} but params still use the original name closure_id.
657
- // The rename mapping is used to reverse-lookup the original param name.
658
610
  function normalizePathParams(
659
611
  parts: string[],
660
612
  params: any[],
661
613
  rename?: Record<string, string>
662
614
  ): string {
663
615
  return parts.map((part: string) => {
664
- // Replace each {paramName} occurrence within the part.
665
- // Handles both simple parts like "{id}" and compound parts like
666
- // "{outputFields}.{format}" that contain multiple parameters.
667
616
  return part.replace(/\{([^}]+)\}/g, (match: string, rawName: string) => {
668
617
  const snaked = snakify(rawName)
669
618
  const depluralized = depluralize(snaked)
@@ -671,10 +620,10 @@ function normalizePathParams(
671
620
  // original name was renamed to another param's current name (e.g. badge
672
621
  // load: param 'group_id' has orig 'id', and another param has name 'id').
673
622
  const param = params.find((p: any) =>
674
- p.name === snaked || p.name === depluralized) ||
623
+ p.n === snaked || p.n === depluralized) ||
675
624
  params.find((p: any) =>
676
- p.orig === snaked || p.orig === depluralized)
677
- if (param) return '{' + param.name + '}'
625
+ p.or === snaked || p.or === depluralized)
626
+ if (param) return '{' + param.n + '}'
678
627
 
679
628
  // Reverse-lookup through rename mapping: if rawName is a renamed value
680
629
  // (e.g. "id"), find the original camelCase key (e.g. "closureId"),
@@ -685,10 +634,10 @@ function normalizePathParams(
685
634
  const origSnaked = snakify(origCamel)
686
635
  const origDepluralized = depluralize(origSnaked)
687
636
  const renamedParam = params.find(
688
- (p: any) => p.orig === origSnaked || p.name === origSnaked ||
689
- p.orig === origDepluralized || p.name === origDepluralized
637
+ (p: any) => p.or === origSnaked || p.n === origSnaked ||
638
+ p.or === origDepluralized || p.n === origDepluralized
690
639
  )
691
- if (renamedParam) return '{' + renamedParam.name + '}'
640
+ if (renamedParam) return '{' + renamedParam.n + '}'
692
641
  }
693
642
  }
694
643
  }