@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
@@ -1,30 +1,3 @@
1
- // Per-op request-payload shape + partiality policy for the typed-model
2
- // generators (EntityTypes_<lang>.ts).
3
- //
4
- // SINGLE SOURCE OF TRUTH for two things every language generator needs:
5
- // 1. The type-name scheme: <Name>{Load,List,Remove}Match /
6
- // <Name>{Create,Update}Data (OP_SUFFIX + opTypeName).
7
- // 2. Which fields make up an op's request payload, and whether each is
8
- // required or optional (opRequestShape) — i.e. the partiality policy.
9
- //
10
- // PARTIALITY POLICY
11
- // Op-declared params win: if the op declares params
12
- // (op.<name>.points[].args.params[]), the payload is built from them and a
13
- // param is optional iff `reqd === false` (this is how path/query params such
14
- // as {id} become required). `fromParams` is true in that case.
15
- //
16
- // Otherwise the payload mirrors the entity's fields, filtered to those active
17
- // for the op (field.op[opname].active !== false; absent -> participates), and
18
- // optionality is decided per-op:
19
- // create -> required iff `field.req` (server-shaped required fields);
20
- // update -> all optional (patch);
21
- // load / remove -> a field named `id` is required, the rest optional
22
- // (best-effort key convention; degrades to all-optional if no `id`);
23
- // list -> all optional (filter).
24
- //
25
- // The generators consume `items` (each already carrying its final `optional`
26
- // flag) and render them in the target language's struct/interface/TypedDict
27
- // syntax; the policy itself is language-neutral and tested in isolation.
28
1
 
29
2
  import { each, names } from 'jostraca'
30
3
  import { KIT, getModelPath } from '@voxgig/apidef'
@@ -32,23 +5,6 @@ import { KIT, getModelPath } from '@voxgig/apidef'
32
5
  import { pointSegments, pointTerminalParam, pointPathKey } from './pointPath'
33
6
 
34
7
 
35
- // THE entity collection for a model — resolved once, with a stable identity.
36
- //
37
- // Two problems this solves, both caused by every component calling
38
- // `getModelPath(model, 'main.<KIT>.entity')` for itself:
39
- //
40
- // * CORRECTNESS. getModelPath drops `active: false` entries by default, but
41
- // the consumer scaffold (create-sdkgen Root.ts) generates entity code for
42
- // EVERY entity and every EntityTypes_<lang> emits data types with
43
- // `only_active: false`. Class-name assignment done against the filtered
44
- // view cannot see the inactive entities whose data types it must avoid.
45
- // This resolver always returns the unfiltered collection.
46
- //
47
- // * PERFORMANCE. getModelPath REBUILDS the container object on every call
48
- // when filtering, so the WeakMap memos below never hit across callers —
49
- // the O(n·ops) class-name assignment re-ran per entity per target. At 500
50
- // entities x 22 targets that was ~15s of pure recomputation; caching the
51
- // resolved collection on the model makes it ~3ms.
52
8
  const _entityCollCache = new WeakMap<object, any>()
53
9
 
54
10
  function entityCollection(model: any): any {
@@ -67,16 +23,6 @@ function entityCollection(model: any): any {
67
23
  }
68
24
 
69
25
 
70
- // Derive the PascalCase `Name` on every entity in a collection.
71
- //
72
- // `Name` is injected LAZILY by jostraca's names(), historically by whichever
73
- // component happened to run first (create-sdkgen Root.ts, or an EntityTypes
74
- // emitter). Anything reading `e.Name` before that ran saw `undefined` — and
75
- // because the helpers below MEMOISE, one early read poisoned the result for
76
- // the whole run (`undefinedEntity` class names; a permanently empty collision
77
- // list). The helpers therefore derive `Name` themselves, up front, so they
78
- // never depend on component ordering. Idempotent: names() is only called for
79
- // an entity that lacks `Name`.
80
26
  function deriveEntityNames(entityColl: any): any[] {
81
27
  const ents = each(entityColl).filter((e: any) => e && null != e.name)
82
28
  ents.forEach((e: any) => { if (null == e.Name) names(e, e.name) })
@@ -100,14 +46,11 @@ function cap(s: string): string {
100
46
  }
101
47
 
102
48
 
103
- // The generated type name for an op's request payload, e.g. AdviceLoadMatch.
104
49
  function opTypeName(Name: string, opname: string): string {
105
50
  return Name + cap(opname) + (OP_SUFFIX[opname] || 'Match')
106
51
  }
107
52
 
108
53
 
109
- // One request-payload member: a model field or op param, with the final
110
- // required/optional decision already applied per the partiality policy.
111
54
  type OpShapeItem = {
112
55
  name: string
113
56
  type: any // canonical type sentinel (e.g. `$STRING`); render via canonToType
@@ -115,42 +58,19 @@ type OpShapeItem = {
115
58
  }
116
59
 
117
60
 
118
- // Collect an op's params, deduped by name across its points.
119
- //
120
- // Points tagged with `select.$action` are sub-resource/action routes folded
121
- // into the op (e.g. POST .../components/{component_id}/page_access_groups on
122
- // the create op); they do not describe the op's canonical request payload,
123
- // so they are excluded — unless the op consists only of action points.
124
- //
125
- // Requiredness merges by INTERSECTION: with several alternative canonical
126
- // points, a param the caller must always supply is one required by every
127
- // point; a param only some routes use is optional in the merged shape.
128
- // (Union-required makes the common route untypeable — e.g. a plain
129
- // list-by-parent-id call failing because sibling routes' ids are demanded —
130
- // and steers callers into passing keys that flip runtime point dispatch to
131
- // the wrong route.)
132
- // The action names an op multiplexes, from its points' `select.$action`.
133
- //
134
- // A custom POST route like `/api/planet/{id}/terraform` is folded into the
135
- // `create` op as an alternative point, discriminated at call time by
136
- // `$action` in the data argument. The mechanism worked and was documented
137
- // NOWHERE — not in the README, not in the reference — so for an API with two
138
- // such routes, two of its six endpoints were unreachable by anyone using the
139
- // documented interface. Generated docs list them via this helper.
140
61
  function opActions(op: any): { action: string, path: string }[] {
141
62
  const points: any[] = op && op.points ? each(op.points) : []
142
63
 
143
64
  return points
144
- .filter((pt: any) => null != (pt && pt.select && pt.select['$action']))
65
+ .filter((pt: any) => null != (pt && pt.q && pt.q['$action']))
145
66
  .map((pt: any) => ({
146
- action: String(pt.select['$action']),
147
- path: String(pt.orig || ''),
67
+ action: String(pt.q['$action']),
68
+ path: String(pt.o || ''),
148
69
  }))
149
70
  .sort((a, b) => a.action < b.action ? -1 : a.action > b.action ? 1 : 0)
150
71
  }
151
72
 
152
73
 
153
- // True when any of the entity's ops multiplexes a custom action.
154
74
  function entityActions(entity: any): { op: string, action: string, path: string }[] {
155
75
  const out: { op: string, action: string, path: string }[] = []
156
76
 
@@ -162,12 +82,6 @@ function entityActions(entity: any): { op: string, action: string, path: string
162
82
  }
163
83
 
164
84
 
165
- // The entity's own API path — the route a reader should recognise it by.
166
- //
167
- // NOT `points[0]` across every op flattened. Ops iterate in sorted-key order,
168
- // so `create` came first, and an entity whose create op folds in a custom
169
- // action (`/api/planet/{id}/forbid`) advertised THAT as its path. The
170
- // canonical route is the collection or record route, and never an action.
171
85
  function entityPath(entity: any): string {
172
86
  const ops: any = (entity && entity.op) || {}
173
87
 
@@ -179,11 +93,11 @@ function entityPath(entity: any): string {
179
93
 
180
94
  const points: any[] = op.points ? each(op.points) : []
181
95
  const canonical = points.filter((pt: any) =>
182
- null == (pt && pt.select && pt.select['$action']))
96
+ null == (pt && pt.q && pt.q['$action']))
183
97
 
184
98
  const pick = (0 < canonical.length ? canonical : points)[0]
185
- if (null != pick && null != pick.orig && '' !== pick.orig) {
186
- return String(pick.orig)
99
+ if (null != pick && null != pick.o && '' !== pick.o) {
100
+ return String(pick.o)
187
101
  }
188
102
  }
189
103
 
@@ -191,39 +105,11 @@ function entityPath(entity: any): string {
191
105
  }
192
106
 
193
107
 
194
- // The entity's OWN endpoint among an op's points.
195
- //
196
- // The other notion of canonical above — "not a `$action` route" — separates a
197
- // folded-in custom action from the real op. This one separates the entity's
198
- // own route from a CROSS-REFERENCE: another resource's route that happens to
199
- // return this entity (`/notifications/{id}/board` for a board). Both are
200
- // plain GETs with no `$action`, so the path itself is all there is to go on.
201
- //
202
- // Two signals, in order:
203
- //
204
- // 1. A record route ends in the record's identifier (`/boards/{id}`,
205
- // `/accounts/{account_id}/users/{id}`); a cross-reference ends in the
206
- // relationship's name (`/posts/{id}/author`). A terminal parameter is
207
- // the stronger signal, and unlike depth alone it survives an entity
208
- // nested more deeply than the route that points at it — depth by itself
209
- // picked `/posts/{id}/author` over `/accounts/{account_id}/users/{id}`
210
- // and then generated that op's required params from the wrong route.
211
- // 2. Failing that, fewest path segments — the shallower route is the one
212
- // the entity is named for, which is what settles a `list` op where
213
- // neither route ends in an id (`/boards` over `/members/{id}/boards`).
214
- //
215
- // Ties keep the earlier point, so the sorted-key order of the model decides
216
- // and the output stays byte-stable.
217
- //
218
- // The same rule runs at RUNTIME, in each language's makePoint template, when
219
- // no point's `select.exist` matches. It cannot be shared with them — a
220
- // template ships standalone, outside this package — so it is written twice on
221
- // purpose, and both sides must move together.
222
108
  function ownPoint(points: any[]): any {
223
109
  let best = points[0]
224
110
 
225
111
  for (const pt of points) {
226
- if (null == pt || null == pt.segments || null == best || null == best.segments) {
112
+ if (null == pt || null == pt.s || null == best || null == best.s) {
227
113
  continue
228
114
  }
229
115
 
@@ -254,7 +140,7 @@ function opParams(op: any): any[] {
254
140
  let points: any[] = op && op.points ? each(op.points) : []
255
141
 
256
142
  const canonical = points.filter((pt: any) =>
257
- null == (pt && pt.select && pt.select['$action']))
143
+ null == (pt && pt.q && pt.q['$action']))
258
144
  if (0 < canonical.length) {
259
145
  points = canonical
260
146
  }
@@ -266,18 +152,17 @@ function opParams(op: any): any[] {
266
152
  points.forEach((pt: any, pointIndex: number) => {
267
153
  // Path AND query: a path-param-only read misses e.g. GET /result?trace_id=,
268
154
  // which has no path param at all but still addresses one record.
269
- const pathParams = pt && pt.args && pt.args.params ? each(pt.args.params) : []
270
- const queryParams = pt && pt.args && pt.args.query ? each(pt.args.query) : []
155
+ const pathParams = pt && pt.g && pt.g.params ? each(pt.g.params) : []
156
+ const queryParams = pt && pt.g && pt.g.query ? each(pt.g.query) : []
271
157
  const params = [...pathParams, ...queryParams]
272
158
  const requiredHere: Record<string, boolean> = {}
273
159
  params.forEach((p: any) => {
274
- if (p && null != p.name) {
275
- requiredHere[p.name] = false !== p.reqd
276
- if (!seen[p.name]) {
277
- seen[p.name] = { ...p }
278
- // A param first seen on a later point was absent earlier: optional.
279
- requiredOnAll[p.name] = 0 === pointIndex
280
- out.push(seen[p.name])
160
+ if (p && null != p.n) {
161
+ requiredHere[p.n] = false !== p.r
162
+ if (!seen[p.n]) {
163
+ seen[p.n] = { ...p }
164
+ requiredOnAll[p.n] = 0 === pointIndex
165
+ out.push(seen[p.n])
281
166
  }
282
167
  }
283
168
  })
@@ -289,25 +174,10 @@ function opParams(op: any): any[] {
289
174
  })
290
175
 
291
176
  out.forEach((p: any) => {
292
- p.reqd = true === requiredOnAll[p.name]
177
+ p.r = true === requiredOnAll[p.n]
293
178
  })
294
179
 
295
- // Unrelated cross-references share no param, so the intersection came out
296
- // empty and NOTHING is required — which generates a `load({})` that drops
297
- // the id. Fall back to the entity's own point and take its params whole.
298
- //
299
- // Two guards, and both are load-bearing:
300
- //
301
- // - only when the intersection produced nothing, so a genuine set of
302
- // alternative routes with a shared param still merges (a `page_id` on
303
- // every route stays required, per-route siblings stay optional);
304
- // - only when the points describe DIFFERENT routes. Points on one path
305
- // that differ solely by optional query params (`/users?email=` and
306
- // `/users?name=`) legitimately require nothing, and are not
307
- // cross-references — collapsing them to one point would drop the
308
- // other's fields from the generated request type, so a caller could
309
- // not express them at all.
310
- if (1 < points.length && !out.some((p: any) => p.reqd) && !samePath(points)) {
180
+ if (1 < points.length && !out.some((p: any) => p.r) && !samePath(points)) {
311
181
  return opParams({ points: [ownPoint(points)] })
312
182
  }
313
183
 
@@ -315,30 +185,23 @@ function opParams(op: any): any[] {
315
185
  }
316
186
 
317
187
 
318
- // Does a field participate in an op? Absent op-entry -> participates; only an
319
- // explicit `active: false` excludes it.
320
188
  function fieldInOp(field: any, opname: string): boolean {
321
189
  const fop = field && field.op && field.op[opname]
322
190
  return null == fop || fop.active !== false
323
191
  }
324
192
 
325
193
 
326
- // Decide optionality for a field in a no-params request payload, per op.
327
194
  function fieldOptional(field: any, opname: string): boolean {
328
195
  switch (opname) {
329
196
  case 'create':
330
- // Respect the model's required flag: required unless req === false.
331
- return false === field.req
197
+ return false === field.r
332
198
  case 'update':
333
- // Patch semantics — every field optional.
334
199
  return true
335
200
  case 'load':
336
201
  case 'remove':
337
- // Best-effort key convention: the `id` field is required, rest optional.
338
- return 'id' !== field.name
202
+ return 'id' !== field.n
339
203
  case 'list':
340
204
  default:
341
- // Filter — every field optional.
342
205
  return true
343
206
  }
344
207
  }
@@ -355,46 +218,35 @@ function opRequestShape(ent: any, opname: string):
355
218
  return { items: [], fromParams: false }
356
219
  }
357
220
 
358
- // Ops that carry a BODY are the exception to "op-declared params win":
359
- // their request payload is BOTH. `PUT /v1/todo/item/{id}` declares the path
360
- // param `id`, which the SDK resolves out of reqdata (see the param
361
- // utility's reqmatch -> match -> reqdata search), while the fields the
362
- // caller wants to change come from the entity. Params alone produced
363
- // `<Name>UpdateData = { id }` — no way to send anything to update.
364
- //
365
- // The param stays in the payload because the path needs it; keeping it out
366
- // of the request BODY is the model's job, via the op's `transform.req`
367
- // (@voxgig/apidef restricts the body to a closed request schema's declared
368
- // properties).
369
221
  const isbodyop = 'create' === opname || 'update' === opname || 'patch' === opname
370
222
 
371
223
  const params = opParams(op)
372
224
  if (0 < params.length && !isbodyop) {
373
225
  const items = params.map((p: any) => ({
374
- name: p.name,
375
- type: p.type,
376
- optional: false === p.reqd,
226
+ name: p.n,
227
+ type: p.t,
228
+ optional: false === p.r,
377
229
  }))
378
230
  return { items, fromParams: true }
379
231
  }
380
232
 
381
233
  const paramItems = isbodyop ? params.map((p: any) => ({
382
- name: p.name,
383
- type: p.type,
384
- optional: false === p.reqd,
234
+ name: p.n,
235
+ type: p.t,
236
+ optional: false === p.r,
385
237
  })) : []
386
238
  const paramNames = new Set(paramItems.map((p: any) => p.name))
387
239
 
388
240
  const fields = (ent.fields ? each(ent.fields) : [])
389
- .filter((f: any) => f.active !== false)
241
+ .filter((f: any) => f.a !== false)
390
242
  .filter((f: any) => fieldInOp(f, opname))
391
243
 
392
244
  const items = paramItems.concat(
393
245
  fields
394
- .filter((f: any) => !paramNames.has(f.name))
246
+ .filter((f: any) => !paramNames.has(f.n))
395
247
  .map((f: any) => ({
396
- name: f.name,
397
- type: f.type,
248
+ name: f.n,
249
+ type: f.t,
398
250
  optional: fieldOptional(f, opname),
399
251
  })))
400
252
 
@@ -402,13 +254,6 @@ function opRequestShape(ent: any, opname: string):
402
254
  }
403
255
 
404
256
 
405
- // The entity's id-like key field, or null when it has none. Used by the doc
406
- // generators to decide whether an example may key a load/remove on `{ id: ... }`
407
- // and access `.id` on a returned entity, OR must degrade to `load()` with no
408
- // argument (some APIs model an entity whose load match carries no id — e.g. a
409
- // response-wrapped spec, where AqiLoadMatch is { code, data, msg }). Prefers the
410
- // model's declared id field name, then a literal `id`, checking the load-match
411
- // shape first and the entity's own fields as a fallback.
412
257
  function entityIdField(ent: any): string | null {
413
258
  if (null == ent) {
414
259
  return null
@@ -460,29 +305,6 @@ function entityPrimaryOp(ent: any): string | null {
460
305
  }
461
306
 
462
307
 
463
- // Collision-free target-language CLASS name for an entity. The natural
464
- // class name is `<Name>Entity`, but that can equal another entity's
465
- // canonical DATA-type name `<Name'>` when Name' === Name + 'Entity' (e.g.
466
- // GitLab's `project` -> class `ProjectEntity` collides with `project_entity`
467
- // -> data type `ProjectEntity`), which redeclares a type in Go and merges/
468
- // shadows it in ts/py/rb. This assigns each entity a class name that is
469
- // unique across ALL emitted top-level type names (every entity's data type
470
- // and per-op Match/Data types, plus already-assigned class names): the
471
- // natural `<Name>Entity` when free, else `<Name>EntityClient`, `...Client2`,
472
- // … The DATA type keeps its canonical `<Name>` — only the suffixed class
473
- // yields. Deterministic (sorted-key iteration) and stable across runs.
474
- //
475
- // Covers EVERY entity, active or not: the consumer scaffold (create-sdkgen
476
- // Root.ts) iterates the RAW entity collection, and every EntityTypes_<lang>
477
- // emits with `only_active: false`, so an inactive entity still contributes a
478
- // generated data type AND still needs a class name. Filtering to actives here
479
- // left inactive entities on the un-deduped `<Name>Entity` fallback and left
480
- // their data types out of `taken` — so an ACTIVE entity's class could collide
481
- // with an INACTIVE entity's emitted data type (e.g. active `project` ->
482
- // class `ProjectEntity` vs inactive `project-entity` -> type `ProjectEntity`,
483
- // a redeclaration in Go).
484
- //
485
- // Memoised per entity-collection object so the O(n) assignment runs once.
486
308
  const _classNameCache = new WeakMap<object, Record<string, string>>()
487
309
 
488
310
  function entityClassNames(entityColl: any): Record<string, string> {
@@ -493,7 +315,6 @@ function entityClassNames(entityColl: any): Record<string, string> {
493
315
 
494
316
  const ents = deriveEntityNames(entityColl)
495
317
 
496
- // 1. Every top-level DATA-type name the target emits.
497
318
  const taken: Record<string, boolean> = {}
498
319
  ents.forEach((e: any) => {
499
320
  taken[e.Name] = true
@@ -537,19 +358,6 @@ function entityClassName(ent: any, entityColl: any): string {
537
358
  }
538
359
 
539
360
 
540
- // Cross-entity TYPE-name collision detection. entityClassNames keeps CLASS
541
- // names collision-free, but the DATA/op type names are the raw `<Name>` /
542
- // opTypeName(...) — two entities whose PascalCase Name coincides (e.g.
543
- // `foo-bar` vs `foo_bar`), or a data-type name equal to another entity's
544
- // op-type name, emit DUPLICATE top-level type declarations: a redeclaration
545
- // compile error in go/rust/c/cpp/csharp and the JVM containers, silent
546
- // merging in ts. The names cannot be auto-renamed here — the generated
547
- // entity classes and op fragments reference them by token — so the guard
548
- // surfaces the collision loudly instead. Returns the sorted duplicate names
549
- // (empty when clean). `Name` is derived here (deriveEntityNames), so the
550
- // guard cannot be silently disabled by running before an emitter.
551
- //
552
- // Memoised per entity-collection object, like entityClassNames.
553
361
  const _typeCollisionCache = new WeakMap<object, string[]>()
554
362
 
555
363
  function entityTypeCollisions(entityColl: any): string[] {
@@ -594,14 +402,6 @@ function warnEntityTypeCollisions(entityColl: any, log: any, lang: string): stri
594
402
  }
595
403
 
596
404
 
597
- // Pick a representative entity for a single illustrative snippet (e.g. the
598
- // README's test-mode example): the first ACTIVE entity that exposes a read
599
- // op (list/load) so the snippet is meaningful, else the first with ANY
600
- // active op, else the first active entity. Returns { entity, primaryOp }
601
- // where primaryOp is null only when NO entity has an op — so callers never
602
- // fabricate an op the entity lacks (the cause of `.load()` on an op-less
603
- // entity like Cloudsmith's `Abort`). Entities iterate in sorted-key order
604
- // for deterministic output.
605
405
  function pickExampleEntity(entity: any): { entity: any, primaryOp: string | null } {
606
406
  const actives = each(entity).filter((e: any) => e && e.active !== false)
607
407
  const readable = actives.filter((e: any) => {
@@ -653,7 +453,7 @@ function medianOf(xs: number[]): number {
653
453
  }
654
454
 
655
455
 
656
- // The id field on the entity's DATA type (its fields[]), or null. DISTINCT from
456
+ // The id field on the entity's DATA type (its fields{}), or null. DISTINCT from
657
457
  // entityIdField (the load-MATCH key): an API can model a load match that carries
658
458
  // an `id` param while the response entity itself has no `id` field, so `.id`
659
459
  // access on a RETURNED record must be guarded on this, not on the match key.
@@ -663,10 +463,10 @@ function entityDataIdField(ent: any): string | null {
663
463
  }
664
464
  const idName = (ent.id && ent.id.field) || 'id'
665
465
  const fields = ent.fields ? each(ent.fields) : []
666
- if (fields.some((f: any) => f && f.name === idName)) {
466
+ if (fields.some((f: any) => f && f.n === idName)) {
667
467
  return idName
668
468
  }
669
- if (fields.some((f: any) => f && f.name === 'id')) {
469
+ if (fields.some((f: any) => f && f.n === 'id')) {
670
470
  return 'id'
671
471
  }
672
472
  return null
@@ -1,23 +1,3 @@
1
- // THE CLIENT OPTION SPEC, assembled from the model.
2
- //
3
- // One schema, not twenty. `main.kit.optspec` (model/sdkgen.aon) declares the
4
- // standard SDK options; each active feature's own `config.options` declares
5
- // its own. Both are already struct.validate specs in the by-example sense — a
6
- // concrete value is the type AND the default — so assembling them is a merge,
7
- // not a translation. The `Spec` component writes the result into the SDK and
8
- // makeOptions validates the caller's options against it.
9
- //
10
- // WHAT THIS REPLACES. Every language's make_options template carried its own
11
- // literal copy of the standard options (cpp and scala as JSON string
12
- // constants), and the feature half did not exist at all: the shipped spec was
13
- //
14
- // feature: { `$CHILD`: { `$OPEN`: true, active: false } }
15
- //
16
- // so a feature's options were never checked and a typo in one was silently
17
- // ignored — `{ feature: { cache: { ttl: '5s' } } }` configured nothing and
18
- // said nothing. Meanwhile the README's option tables came from a THIRD place
19
- // (`target.options`, `feature.config.options`), which is how a documented
20
- // option and a validated option could be different sets.
21
1
 
22
2
  import { each } from 'jostraca'
23
3
  import { KIT, getModelPath } from '@voxgig/apidef'
@@ -32,33 +12,11 @@ const S_ONE = sentinel('ONE')
32
12
  const S_NIL = sentinel('NIL')
33
13
 
34
14
 
35
- // A feature entry the caller may omit.
36
- //
37
- // WHY NOT A BARE MAP. A spec value is also the value validate INSERTS when
38
- // the key is absent, so naming every feature with a bare map would put an
39
- // entry for every feature the model declares into `options.feature` — and
40
- // `makeOptions` derives the feature ADD ORDER from that map's keys. The
41
- // `$ONE`/`$NIL` union keeps an absent feature absent and validates a supplied
42
- // one, which is the behaviour `$CHILD` had and the behaviour callers have.
43
15
  function optional(spec: any): any[] {
44
16
  return [S_ONE, spec, S_NIL]
45
17
  }
46
18
 
47
19
 
48
- // The spec for one feature's options.
49
- //
50
- // TWO DECLARATIONS, ONE SPEC:
51
- // `config.options` — options WITH a default. Also the docs table.
52
- // `config.optspec` — options with NO sensible default: callbacks (`sink`,
53
- // `now`, `idgen`), injected objects (`logger`), values
54
- // that only make sense when supplied. Declared as bare
55
- // sentinels, so they type-check without inventing a
56
- // default the feature would then have to ignore.
57
- //
58
- // OPEN BY DEFAULT. A feature may read an option neither list names — the
59
- // shipped set still does, which is why this is open rather than closed — and
60
- // rejecting those would break working clients on upgrade. `config.strict:
61
- // true` closes one feature's spec once its options are fully declared.
62
20
  function featureOptionSpec(feat: any): Record<string, any> {
63
21
  const config = (feat && feat.config) || {}
64
22
  const spec: Record<string, any> = {}
@@ -67,19 +25,8 @@ function featureOptionSpec(feat: any): Record<string, any> {
67
25
  spec[S_OPEN] = true
68
26
  }
69
27
 
70
- // Every feature takes `active`, whatever else it declares. Stated rather
71
- // than assumed: a feature whose model omits `config.options` entirely
72
- // (nothing stops one) must still validate the one option it certainly has.
73
28
  spec.active = optionalSpec(byExampleSpec(false))
74
29
 
75
- // EVERY FEATURE OPTION IS OPTIONAL, and that is not a policy choice here —
76
- // it is what a caller does. `{ feature: { cost: { active: true, unit:
77
- // 0.002 } } }` names two of cost's nine options and means the defaults for
78
- // the other seven, which the feature's own code applies. A spec naming a
79
- // key requires it, so without this widening cost's own corpus case failed
80
- // its own feature's spec for the seven it did not mention.
81
- //
82
- // Widened to their KIND as well — see byExampleSpec.
83
30
  for (const [name, val] of Object.entries(config.options || {})) {
84
31
  spec[name] = optionalSpec(byExampleSpec(val))
85
32
  }
@@ -101,25 +48,11 @@ function featureOptionSpec(feat: any): Record<string, any> {
101
48
  // target must not validate against — or document — a feature it has no
102
49
  // implementation for. Without a name every active feature is included.
103
50
  function optionSpec(model: any, targetname?: string): Record<string, any> {
104
- // `only_active: false` IS THE WHOLE SPEC. getModelPath filters out any
105
- // child whose `active` is false, and a spec is full of them: `test: {
106
- // active: false }`, the `$CHILD` entity template, every feature default.
107
- // Filtered, the spec silently lost its `test` entry and validate then
108
- // rejected a perfectly ordinary `{ test: { active: true } }` with
109
- // "Unexpected keys at field <root>: test". This is a SCHEMA, not a set of
110
- // things to emit — `active: false` here is a default value, not a switch.
111
51
  const base = getModelPath(model, `main.${KIT}.optspec`,
112
52
  { required: false, only_active: false }) || {}
113
53
 
114
- // Cloned, because the model is shared across every target in one build and
115
- // a spec assembled for `ts` must not be the object `js` then extends.
116
54
  const spec: Record<string, any> = JSON.parse(JSON.stringify(base))
117
55
 
118
- // The generic entry, kept from the shipped spec: a feature supplied at
119
- // construction through `extend` (the station adopt path) is not in the
120
- // model, so its options must still pass. Named entries below are checked
121
- // against their own spec; anything else gets `active` checked and the rest
122
- // waved through.
123
56
  const feature: Record<string, any> = {
124
57
  [S_CHILD]: {
125
58
  [S_OPEN]: true,
@@ -141,16 +74,6 @@ function optionSpec(model: any, targetname?: string): Record<string, any> {
141
74
  }
142
75
 
143
76
 
144
- // The per-entity data/request specs a target needs, or null when it needs
145
- // none.
146
- //
147
- // GATED ON THE FEATURE, and that gate is the whole reason this returns null
148
- // rather than an empty map. The specs are derived data: every one of them can
149
- // be rebuilt from `fields[].type`, which the generated config already
150
- // carries. Emitting them unconditionally would grow every existing project's
151
- // generated source — and, above the config size threshold, flip targets from
152
- // the literal representation to the parsed-JSON one — to carry a spec nothing
153
- // reads. A project that turns `validate` on pays for it; nobody else does.
154
77
  function entitySpecMap(model: any, targetname?: string): Record<string, any> | null {
155
78
  const feats = targetFeatures(model, null == targetname ? undefined : targetname)
156
79
  const validate = (feats as any).validate