@voxgig/sdkgen 4.21.0 → 4.22.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 (672) 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 +0 -80
  54. package/dist/cmp/ReadmeTop.js.map +1 -1
  55. package/dist/cmp/ReadmeUnions.js +0 -15
  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 +2 -1
  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.js +0 -12
  68. package/dist/helpers/buildIdNames.js.map +1 -1
  69. package/dist/helpers/canonSpec.js +0 -114
  70. package/dist/helpers/canonSpec.js.map +1 -1
  71. package/dist/helpers/canonType.js +0 -87
  72. package/dist/helpers/canonType.js.map +1 -1
  73. package/dist/helpers/collectDeps.js +0 -27
  74. package/dist/helpers/collectDeps.js.map +1 -1
  75. package/dist/helpers/definition.js +0 -29
  76. package/dist/helpers/definition.js.map +1 -1
  77. package/dist/helpers/dryrun.js +0 -8
  78. package/dist/helpers/dryrun.js.map +1 -1
  79. package/dist/helpers/featureSource.js +0 -145
  80. package/dist/helpers/featureSource.js.map +1 -1
  81. package/dist/helpers/getMatchEntries.js +0 -4
  82. package/dist/helpers/getMatchEntries.js.map +1 -1
  83. package/dist/helpers/junk.js +9 -85
  84. package/dist/helpers/junk.js.map +1 -1
  85. package/dist/helpers/manifest.js +0 -138
  86. package/dist/helpers/manifest.js.map +1 -1
  87. package/dist/helpers/modelNames.js +0 -78
  88. package/dist/helpers/modelNames.js.map +1 -1
  89. package/dist/helpers/modelcheck.js +0 -106
  90. package/dist/helpers/modelcheck.js.map +1 -1
  91. package/dist/helpers/naming.d.ts +0 -1
  92. package/dist/helpers/naming.js +0 -303
  93. package/dist/helpers/naming.js.map +1 -1
  94. package/dist/helpers/opExample.js +0 -51
  95. package/dist/helpers/opExample.js.map +1 -1
  96. package/dist/helpers/opShape.js +0 -198
  97. package/dist/helpers/opShape.js.map +1 -1
  98. package/dist/helpers/optspec.js +0 -77
  99. package/dist/helpers/optspec.js.map +1 -1
  100. package/dist/helpers/packageMeta.js +1 -200
  101. package/dist/helpers/packageMeta.js.map +1 -1
  102. package/dist/helpers/pointPath.js +0 -55
  103. package/dist/helpers/pointPath.js.map +1 -1
  104. package/dist/helpers/resolved.d.ts +6 -0
  105. package/dist/helpers/resolved.js +49 -0
  106. package/dist/helpers/resolved.js.map +1 -0
  107. package/dist/helpers/semver.js +0 -61
  108. package/dist/helpers/semver.js.map +1 -1
  109. package/dist/helpers/serverVars.js +0 -44
  110. package/dist/helpers/serverVars.js.map +1 -1
  111. package/dist/helpers/shipped.js +0 -14
  112. package/dist/helpers/shipped.js.map +1 -1
  113. package/dist/helpers/station.js +0 -32
  114. package/dist/helpers/station.js.map +1 -1
  115. package/dist/helpers/stdrep.js +0 -26
  116. package/dist/helpers/stdrep.js.map +1 -1
  117. package/dist/helpers/testPolicy.js +0 -4
  118. package/dist/helpers/testPolicy.js.map +1 -1
  119. package/dist/sdkgen.d.ts +2 -1
  120. package/dist/sdkgen.js +13 -242
  121. package/dist/sdkgen.js.map +1 -1
  122. package/dist/testkit.js +6 -266
  123. package/dist/testkit.js.map +1 -1
  124. package/dist/tsconfig.tsbuildinfo +1 -1
  125. package/dist/utility.js +0 -243
  126. package/dist/utility.js.map +1 -1
  127. package/model/sdkgen.aon +12 -489
  128. package/package.json +4 -4
  129. package/project/.sdk/model/feature/audit.aon +0 -7
  130. package/project/.sdk/model/feature/cache.aon +0 -7
  131. package/project/.sdk/model/feature/clienttrack.aon +0 -7
  132. package/project/.sdk/model/feature/cost.aon +0 -13
  133. package/project/.sdk/model/feature/debug.aon +0 -7
  134. package/project/.sdk/model/feature/idempotency.aon +0 -7
  135. package/project/.sdk/model/feature/log.aon +0 -7
  136. package/project/.sdk/model/feature/metrics.aon +0 -7
  137. package/project/.sdk/model/feature/netsim.aon +0 -10
  138. package/project/.sdk/model/feature/paging.aon +0 -7
  139. package/project/.sdk/model/feature/proxy.aon +0 -7
  140. package/project/.sdk/model/feature/ratelimit.aon +0 -7
  141. package/project/.sdk/model/feature/retry.aon +0 -7
  142. package/project/.sdk/model/feature/secrets.aon +0 -482
  143. package/project/.sdk/model/feature/streaming.aon +0 -7
  144. package/project/.sdk/model/feature/telemetry.aon +0 -7
  145. package/project/.sdk/model/feature/test.aon +1 -8
  146. package/project/.sdk/model/feature/timeout.aon +0 -7
  147. package/project/.sdk/model/feature/validate.aon +0 -32
  148. package/project/.sdk/model/target/c.aon +0 -41
  149. package/project/.sdk/model/target/clojure.aon +0 -36
  150. package/project/.sdk/model/target/cpp.aon +0 -42
  151. package/project/.sdk/model/target/csharp.aon +0 -26
  152. package/project/.sdk/model/target/elixir.aon +0 -22
  153. package/project/.sdk/model/target/go-cli.aon +0 -30
  154. package/project/.sdk/model/target/go-mcp.aon +0 -21
  155. package/project/.sdk/model/target/go.aon +0 -9
  156. package/project/.sdk/model/target/java.aon +0 -29
  157. package/project/.sdk/model/target/js.aon +2 -21
  158. package/project/.sdk/model/target/kotlin.aon +0 -31
  159. package/project/.sdk/model/target/lua.aon +0 -32
  160. package/project/.sdk/model/target/ocaml.aon +0 -64
  161. package/project/.sdk/model/target/perl.aon +0 -20
  162. package/project/.sdk/model/target/php.aon +0 -17
  163. package/project/.sdk/model/target/py-data.aon +0 -33
  164. package/project/.sdk/model/target/py.aon +0 -17
  165. package/project/.sdk/model/target/rb.aon +0 -17
  166. package/project/.sdk/model/target/rust.aon +0 -25
  167. package/project/.sdk/model/target/scala.aon +0 -74
  168. package/project/.sdk/model/target/swift.aon +0 -41
  169. package/project/.sdk/model/target/ts.aon +3 -25
  170. package/project/.sdk/model/target/zig.aon +0 -50
  171. package/project/.sdk/src/cmp/c/Config_c.ts +0 -100
  172. package/project/.sdk/src/cmp/c/EntityTypes_c.ts +0 -36
  173. package/project/.sdk/src/cmp/c/Main_c.ts +0 -44
  174. package/project/.sdk/src/cmp/c/Package_c.ts +0 -14
  175. package/project/.sdk/src/cmp/c/PrepareAuth_c.ts +0 -85
  176. package/project/.sdk/src/cmp/c/ReadmeExamplesTest_c.ts +0 -20
  177. package/project/.sdk/src/cmp/c/ReadmeRef_c.ts +2 -5
  178. package/project/.sdk/src/cmp/c/ReadmeTopQuick_c.ts +0 -2
  179. package/project/.sdk/src/cmp/c/Schema_c.ts +0 -19
  180. package/project/.sdk/src/cmp/c/utility_c.ts +0 -47
  181. package/project/.sdk/src/cmp/clojure/Config_clojure.ts +0 -63
  182. package/project/.sdk/src/cmp/clojure/Entity_clojure.ts +0 -1
  183. package/project/.sdk/src/cmp/clojure/Main_clojure.ts +0 -41
  184. package/project/.sdk/src/cmp/clojure/Package_clojure.ts +0 -20
  185. package/project/.sdk/src/cmp/clojure/PrepareAuth_clojure.ts +0 -130
  186. package/project/.sdk/src/cmp/clojure/ReadmeExamplesTest_clojure.ts +0 -16
  187. package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +2 -5
  188. package/project/.sdk/src/cmp/clojure/Schema_clojure.ts +0 -20
  189. package/project/.sdk/src/cmp/clojure/TestDirect_clojure.ts +0 -6
  190. package/project/.sdk/src/cmp/clojure/TestEntity_clojure.ts +0 -10
  191. package/project/.sdk/src/cmp/clojure/Test_clojure.ts +0 -8
  192. package/project/.sdk/src/cmp/clojure/featureextra_clojure.ts +0 -34
  193. package/project/.sdk/src/cmp/clojure/utility_clojure.ts +0 -47
  194. package/project/.sdk/src/cmp/cpp/Config_cpp.ts +0 -109
  195. package/project/.sdk/src/cmp/cpp/EntityTypes_cpp.ts +0 -36
  196. package/project/.sdk/src/cmp/cpp/Main_cpp.ts +0 -47
  197. package/project/.sdk/src/cmp/cpp/Package_cpp.ts +0 -14
  198. package/project/.sdk/src/cmp/cpp/PrepareAuth_cpp.ts +0 -125
  199. package/project/.sdk/src/cmp/cpp/ReadmeExamplesTest_cpp.ts +0 -19
  200. package/project/.sdk/src/cmp/cpp/ReadmeQuick_cpp.ts +0 -7
  201. package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +2 -5
  202. package/project/.sdk/src/cmp/cpp/Schema_cpp.ts +0 -21
  203. package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +0 -3
  204. package/project/.sdk/src/cmp/cpp/Test_cpp.ts +0 -3
  205. package/project/.sdk/src/cmp/cpp/utility_cpp.ts +0 -28
  206. package/project/.sdk/src/cmp/csharp/Config_csharp.ts +0 -79
  207. package/project/.sdk/src/cmp/csharp/EntityOperation_csharp.ts +0 -3
  208. package/project/.sdk/src/cmp/csharp/EntityTypes_csharp.ts +0 -50
  209. package/project/.sdk/src/cmp/csharp/Entity_csharp.ts +0 -1
  210. package/project/.sdk/src/cmp/csharp/Main_csharp.ts +0 -24
  211. package/project/.sdk/src/cmp/csharp/Package_csharp.ts +0 -20
  212. package/project/.sdk/src/cmp/csharp/PrepareAuth_csharp.ts +0 -81
  213. package/project/.sdk/src/cmp/csharp/ReadmeEntity_csharp.ts +0 -1
  214. package/project/.sdk/src/cmp/csharp/ReadmeExamplesTest_csharp.ts +0 -23
  215. package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +2 -5
  216. package/project/.sdk/src/cmp/csharp/ReadmeTopQuick_csharp.ts +0 -2
  217. package/project/.sdk/src/cmp/csharp/Schema_csharp.ts +0 -18
  218. package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +0 -4
  219. package/project/.sdk/src/cmp/csharp/utility_csharp.ts +0 -72
  220. package/project/.sdk/src/cmp/elixir/Config_elixir.ts +0 -78
  221. package/project/.sdk/src/cmp/elixir/EntityTypes_elixir.ts +0 -38
  222. package/project/.sdk/src/cmp/elixir/Main_elixir.ts +0 -40
  223. package/project/.sdk/src/cmp/elixir/Package_elixir.ts +0 -13
  224. package/project/.sdk/src/cmp/elixir/PrepareAuth_elixir.ts +0 -123
  225. package/project/.sdk/src/cmp/elixir/ReadmeExamplesTest_elixir.ts +0 -19
  226. package/project/.sdk/src/cmp/elixir/ReadmeRef_elixir.ts +2 -5
  227. package/project/.sdk/src/cmp/elixir/Schema_elixir.ts +0 -24
  228. package/project/.sdk/src/cmp/elixir/utility_elixir.ts +0 -34
  229. package/project/.sdk/src/cmp/go/Config_go.ts +0 -41
  230. package/project/.sdk/src/cmp/go/EntityTypes_go.ts +0 -71
  231. package/project/.sdk/src/cmp/go/Entity_go.ts +0 -5
  232. package/project/.sdk/src/cmp/go/Main_go.ts +0 -28
  233. package/project/.sdk/src/cmp/go/Package_go.ts +0 -7
  234. package/project/.sdk/src/cmp/go/PrepareAuth_go.ts +0 -64
  235. package/project/.sdk/src/cmp/go/ReadmeEntity_go.ts +0 -5
  236. package/project/.sdk/src/cmp/go/ReadmeExamplesTest_go.ts +0 -30
  237. package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +0 -3
  238. package/project/.sdk/src/cmp/go/ReadmeIntro_go.ts +0 -7
  239. package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +0 -11
  240. package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +0 -21
  241. package/project/.sdk/src/cmp/go/ReadmeRef_go.ts +2 -14
  242. package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +0 -9
  243. package/project/.sdk/src/cmp/go/Schema_go.ts +0 -21
  244. package/project/.sdk/src/cmp/go/TestDirect_go.ts +0 -23
  245. package/project/.sdk/src/cmp/go/TestEntity_go.ts +0 -8
  246. package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +0 -21
  247. package/project/.sdk/src/cmp/go/fragment/Main.fragment.go +0 -12
  248. package/project/.sdk/src/cmp/go/utility_go.ts +0 -70
  249. package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +0 -49
  250. package/project/.sdk/src/cmp/go-cli/fragment/words.fragment.go +0 -12
  251. package/project/.sdk/src/cmp/go-mcp/Main_go-mcp.ts +0 -36
  252. package/project/.sdk/src/cmp/go-mcp/fragment/main.fragment.go +0 -20
  253. package/project/.sdk/src/cmp/go-mcp/fragment/tools.fragment.go +0 -3
  254. package/project/.sdk/src/cmp/java/Config_java.ts +0 -63
  255. package/project/.sdk/src/cmp/java/EntityTypes_java.ts +0 -50
  256. package/project/.sdk/src/cmp/java/Entity_java.ts +0 -6
  257. package/project/.sdk/src/cmp/java/Main_java.ts +0 -24
  258. package/project/.sdk/src/cmp/java/PrepareAuth_java.ts +0 -55
  259. package/project/.sdk/src/cmp/java/ReadmeEntity_java.ts +0 -1
  260. package/project/.sdk/src/cmp/java/ReadmeExamplesTest_java.ts +0 -20
  261. package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +0 -4
  262. package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +2 -5
  263. package/project/.sdk/src/cmp/java/ReadmeTopQuick_java.ts +0 -7
  264. package/project/.sdk/src/cmp/java/Schema_java.ts +0 -19
  265. package/project/.sdk/src/cmp/java/TestDirect_java.ts +0 -7
  266. package/project/.sdk/src/cmp/java/TestEntity_java.ts +0 -4
  267. package/project/.sdk/src/cmp/java/Test_java.ts +0 -6
  268. package/project/.sdk/src/cmp/java/utility_java.ts +0 -33
  269. package/project/.sdk/src/cmp/js/Config_js.ts +0 -46
  270. package/project/.sdk/src/cmp/js/EntityTypes_js.ts +0 -33
  271. package/project/.sdk/src/cmp/js/Main_js.ts +0 -33
  272. package/project/.sdk/src/cmp/js/Package_js.ts +2 -7
  273. package/project/.sdk/src/cmp/js/PrepareAuth_js.ts +0 -57
  274. package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +0 -9
  275. package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +0 -2
  276. package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +0 -15
  277. package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +2 -7
  278. package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +0 -7
  279. package/project/.sdk/src/cmp/js/Schema_js.ts +0 -21
  280. package/project/.sdk/src/cmp/js/TestDirect_js.ts +2 -16
  281. package/project/.sdk/src/cmp/js/TestEntity_js.ts +3 -13
  282. package/project/.sdk/src/cmp/js/TestLive_js.ts +10 -3
  283. package/project/.sdk/src/cmp/js/utility_js.ts +0 -58
  284. package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +0 -46
  285. package/project/.sdk/src/cmp/kotlin/EntityOperation_kotlin.ts +0 -2
  286. package/project/.sdk/src/cmp/kotlin/EntityTypes_kotlin.ts +0 -53
  287. package/project/.sdk/src/cmp/kotlin/Entity_kotlin.ts +0 -4
  288. package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +0 -46
  289. package/project/.sdk/src/cmp/kotlin/PrepareAuth_kotlin.ts +0 -113
  290. package/project/.sdk/src/cmp/kotlin/ReadmeEntity_kotlin.ts +0 -1
  291. package/project/.sdk/src/cmp/kotlin/ReadmeExamplesTest_kotlin.ts +0 -20
  292. package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +2 -5
  293. package/project/.sdk/src/cmp/kotlin/ReadmeTopQuick_kotlin.ts +0 -5
  294. package/project/.sdk/src/cmp/kotlin/Schema_kotlin.ts +0 -19
  295. package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +0 -4
  296. package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +0 -6
  297. package/project/.sdk/src/cmp/kotlin/utility_kotlin.ts +0 -33
  298. package/project/.sdk/src/cmp/lua/Config_lua.ts +0 -56
  299. package/project/.sdk/src/cmp/lua/EntityTypes_lua.ts +0 -30
  300. package/project/.sdk/src/cmp/lua/Entity_lua.ts +0 -7
  301. package/project/.sdk/src/cmp/lua/Main_lua.ts +0 -58
  302. package/project/.sdk/src/cmp/lua/Package_lua.ts +0 -20
  303. package/project/.sdk/src/cmp/lua/PrepareAuth_lua.ts +0 -61
  304. package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +0 -8
  305. package/project/.sdk/src/cmp/lua/ReadmeExamplesTest_lua.ts +0 -24
  306. package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +0 -10
  307. package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +0 -21
  308. package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +2 -12
  309. package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +0 -3
  310. package/project/.sdk/src/cmp/lua/Schema_lua.ts +0 -16
  311. package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +0 -2
  312. package/project/.sdk/src/cmp/lua/utility_lua.ts +0 -30
  313. package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +0 -98
  314. package/project/.sdk/src/cmp/ocaml/EntityOperation_ocaml.ts +0 -6
  315. package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +0 -78
  316. package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +0 -13
  317. package/project/.sdk/src/cmp/ocaml/PrepareAuth_ocaml.ts +0 -145
  318. package/project/.sdk/src/cmp/ocaml/ReadmeExamplesTest_ocaml.ts +0 -17
  319. package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +2 -5
  320. package/project/.sdk/src/cmp/ocaml/Schema_ocaml.ts +0 -23
  321. package/project/.sdk/src/cmp/ocaml/SdkError_ocaml.ts +0 -4
  322. package/project/.sdk/src/cmp/ocaml/TestEntity_ocaml.ts +0 -5
  323. package/project/.sdk/src/cmp/ocaml/utility_ocaml.ts +0 -27
  324. package/project/.sdk/src/cmp/perl/Config_perl.ts +0 -52
  325. package/project/.sdk/src/cmp/perl/Entity_perl.ts +0 -3
  326. package/project/.sdk/src/cmp/perl/Main_perl.ts +0 -33
  327. package/project/.sdk/src/cmp/perl/Package_perl.ts +0 -8
  328. package/project/.sdk/src/cmp/perl/PrepareAuth_perl.ts +0 -84
  329. package/project/.sdk/src/cmp/perl/ReadmeEntity_perl.ts +0 -3
  330. package/project/.sdk/src/cmp/perl/ReadmeExamplesTest_perl.ts +0 -27
  331. package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +2 -5
  332. package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +0 -2
  333. package/project/.sdk/src/cmp/perl/Schema_perl.ts +0 -18
  334. package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +0 -2
  335. package/project/.sdk/src/cmp/perl/utility_perl.ts +0 -26
  336. package/project/.sdk/src/cmp/php/Config_php.ts +0 -76
  337. package/project/.sdk/src/cmp/php/EntityTypes_php.ts +0 -51
  338. package/project/.sdk/src/cmp/php/MainEntity_php.ts +0 -6
  339. package/project/.sdk/src/cmp/php/Main_php.ts +0 -15
  340. package/project/.sdk/src/cmp/php/PrepareAuth_php.ts +0 -73
  341. package/project/.sdk/src/cmp/php/ReadmeEntity_php.ts +0 -4
  342. package/project/.sdk/src/cmp/php/ReadmeExamplesTest_php.ts +0 -33
  343. package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +0 -1
  344. package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +0 -19
  345. package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +2 -7
  346. package/project/.sdk/src/cmp/php/Schema_php.ts +0 -15
  347. package/project/.sdk/src/cmp/php/TestEntity_php.ts +0 -9
  348. package/project/.sdk/src/cmp/php/utility_php.ts +0 -22
  349. package/project/.sdk/src/cmp/py/Config_py.ts +0 -53
  350. package/project/.sdk/src/cmp/py/EntityTypes_py.ts +0 -55
  351. package/project/.sdk/src/cmp/py/Entity_py.ts +0 -16
  352. package/project/.sdk/src/cmp/py/Main_py.ts +1 -61
  353. package/project/.sdk/src/cmp/py/Package_py.ts +0 -3
  354. package/project/.sdk/src/cmp/py/PrepareAuth_py.ts +0 -69
  355. package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +0 -13
  356. package/project/.sdk/src/cmp/py/ReadmeExamplesTest_py.ts +0 -31
  357. package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +0 -3
  358. package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +0 -28
  359. package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +2 -16
  360. package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +0 -14
  361. package/project/.sdk/src/cmp/py/Schema_py.ts +0 -19
  362. package/project/.sdk/src/cmp/py/TestDirect_py.ts +0 -2
  363. package/project/.sdk/src/cmp/py/utility_py.ts +0 -22
  364. package/project/.sdk/src/cmp/py-data/Main_py-data.ts +9 -43
  365. package/project/.sdk/src/cmp/rb/Config_rb.ts +0 -56
  366. package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +0 -58
  367. package/project/.sdk/src/cmp/rb/Entity_rb.ts +0 -3
  368. package/project/.sdk/src/cmp/rb/Main_rb.ts +0 -10
  369. package/project/.sdk/src/cmp/rb/Package_rb.ts +0 -5
  370. package/project/.sdk/src/cmp/rb/PrepareAuth_rb.ts +0 -81
  371. package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +0 -7
  372. package/project/.sdk/src/cmp/rb/ReadmeExamplesTest_rb.ts +0 -32
  373. package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +0 -9
  374. package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +0 -23
  375. package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +2 -10
  376. package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +0 -5
  377. package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +0 -3
  378. package/project/.sdk/src/cmp/rb/Schema_rb.ts +0 -15
  379. package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +0 -2
  380. package/project/.sdk/src/cmp/rb/utility_rb.ts +0 -22
  381. package/project/.sdk/src/cmp/rust/Config_rust.ts +0 -35
  382. package/project/.sdk/src/cmp/rust/EntityTypes_rust.ts +0 -34
  383. package/project/.sdk/src/cmp/rust/Entity_rust.ts +0 -9
  384. package/project/.sdk/src/cmp/rust/Main_rust.ts +0 -58
  385. package/project/.sdk/src/cmp/rust/Package_rust.ts +0 -30
  386. package/project/.sdk/src/cmp/rust/PrepareAuth_rust.ts +0 -84
  387. package/project/.sdk/src/cmp/rust/ReadmeExamplesTest_rust.ts +0 -16
  388. package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +2 -5
  389. package/project/.sdk/src/cmp/rust/Schema_rust.ts +0 -18
  390. package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +0 -7
  391. package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +0 -9
  392. package/project/.sdk/src/cmp/rust/fragment/Entity.fragment.rs +0 -14
  393. package/project/.sdk/src/cmp/rust/fragment/EntityRemoveOp.fragment.rs +0 -4
  394. package/project/.sdk/src/cmp/rust/fragment/Main.fragment.rs +0 -20
  395. package/project/.sdk/src/cmp/rust/fragment/SdkError.fragment.rs +0 -6
  396. package/project/.sdk/src/cmp/rust/utility_rust.ts +0 -47
  397. package/project/.sdk/src/cmp/scala/Config_scala.ts +0 -31
  398. package/project/.sdk/src/cmp/scala/EntityTypes_scala.ts +0 -51
  399. package/project/.sdk/src/cmp/scala/Main_scala.ts +0 -78
  400. package/project/.sdk/src/cmp/scala/PrepareAuth_scala.ts +0 -102
  401. package/project/.sdk/src/cmp/scala/ReadmeEntity_scala.ts +0 -1
  402. package/project/.sdk/src/cmp/scala/ReadmeExamplesTest_scala.ts +0 -23
  403. package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +2 -5
  404. package/project/.sdk/src/cmp/scala/ReadmeTopQuick_scala.ts +0 -5
  405. package/project/.sdk/src/cmp/scala/Schema_scala.ts +0 -19
  406. package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +0 -8
  407. package/project/.sdk/src/cmp/scala/Test_scala.ts +0 -3
  408. package/project/.sdk/src/cmp/scala/utility_scala.ts +0 -31
  409. package/project/.sdk/src/cmp/swift/Config_swift.ts +0 -62
  410. package/project/.sdk/src/cmp/swift/EntityOperation_swift.ts +0 -3
  411. package/project/.sdk/src/cmp/swift/EntityTypes_swift.ts +0 -39
  412. package/project/.sdk/src/cmp/swift/Main_swift.ts +0 -42
  413. package/project/.sdk/src/cmp/swift/Package_swift.ts +0 -69
  414. package/project/.sdk/src/cmp/swift/PrepareAuth_swift.ts +0 -134
  415. package/project/.sdk/src/cmp/swift/ReadmeEntity_swift.ts +0 -2
  416. package/project/.sdk/src/cmp/swift/ReadmeExamplesTest_swift.ts +0 -22
  417. package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +2 -5
  418. package/project/.sdk/src/cmp/swift/Schema_swift.ts +0 -18
  419. package/project/.sdk/src/cmp/swift/TestEntity_swift.ts +0 -4
  420. package/project/.sdk/src/cmp/swift/utility_swift.ts +0 -51
  421. package/project/.sdk/src/cmp/ts/Config_ts.ts +0 -46
  422. package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +0 -34
  423. package/project/.sdk/src/cmp/ts/Entity_ts.ts +0 -6
  424. package/project/.sdk/src/cmp/ts/Main_ts.ts +0 -28
  425. package/project/.sdk/src/cmp/ts/Package_ts.ts +2 -26
  426. package/project/.sdk/src/cmp/ts/PrepareAuth_ts.ts +0 -55
  427. package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +0 -9
  428. package/project/.sdk/src/cmp/ts/ReadmeExampleTest_ts.ts +0 -6
  429. package/project/.sdk/src/cmp/ts/ReadmeExamplesTest_ts.ts +0 -25
  430. package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +4 -9
  431. package/project/.sdk/src/cmp/ts/ReadmeIntro_ts.ts +0 -7
  432. package/project/.sdk/src/cmp/ts/ReadmeModel_ts.ts +0 -3
  433. package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +0 -43
  434. package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +2 -20
  435. package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +0 -11
  436. package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +6 -9
  437. package/project/.sdk/src/cmp/ts/Schema_ts.ts +0 -21
  438. package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +2 -53
  439. package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +3 -31
  440. package/project/.sdk/src/cmp/ts/TestLive_ts.ts +10 -4
  441. package/project/.sdk/src/cmp/ts/Test_ts.ts +0 -4
  442. package/project/.sdk/src/cmp/ts/fragment/Config.data.fragment.ts +0 -27
  443. package/project/.sdk/src/cmp/ts/fragment/Config.fragment.ts +0 -7
  444. package/project/.sdk/src/cmp/ts/fragment/Direct.test.fragment.ts +0 -7
  445. package/project/.sdk/src/cmp/ts/fragment/Entity.fragment.ts +0 -1
  446. package/project/.sdk/src/cmp/ts/fragment/Entity.test.fragment.ts +0 -4
  447. package/project/.sdk/src/cmp/ts/fragment/EntityBase.fragment.ts +0 -20
  448. package/project/.sdk/src/cmp/ts/fragment/EntityCreateOp.fragment.ts +0 -6
  449. package/project/.sdk/src/cmp/ts/fragment/EntityLoadOp.fragment.ts +0 -6
  450. package/project/.sdk/src/cmp/ts/fragment/EntityRemoveOp.fragment.ts +0 -15
  451. package/project/.sdk/src/cmp/ts/fragment/EntityUpdateOp.fragment.ts +0 -6
  452. package/project/.sdk/src/cmp/ts/fragment/Main.fragment.ts +0 -15
  453. package/project/.sdk/src/cmp/ts/fragment/MainStation.fragment.ts +0 -12
  454. package/project/.sdk/src/cmp/ts/fragment/SdkError.fragment.ts +0 -9
  455. package/project/.sdk/src/cmp/ts/utility_ts.ts +0 -59
  456. package/project/.sdk/src/cmp/zig/Config_zig.ts +0 -70
  457. package/project/.sdk/src/cmp/zig/Entity_zig.ts +0 -3
  458. package/project/.sdk/src/cmp/zig/Main_zig.ts +0 -83
  459. package/project/.sdk/src/cmp/zig/Package_zig.ts +0 -22
  460. package/project/.sdk/src/cmp/zig/PrepareAuth_zig.ts +0 -136
  461. package/project/.sdk/src/cmp/zig/ReadmeExamplesTest_zig.ts +0 -18
  462. package/project/.sdk/src/cmp/zig/ReadmeQuick_zig.ts +0 -3
  463. package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +2 -5
  464. package/project/.sdk/src/cmp/zig/Schema_zig.ts +0 -23
  465. package/project/.sdk/src/cmp/zig/TestDirect_zig.ts +0 -11
  466. package/project/.sdk/src/cmp/zig/TestEntity_zig.ts +0 -8
  467. package/project/.sdk/src/cmp/zig/Test_zig.ts +0 -11
  468. package/project/.sdk/src/cmp/zig/utility_zig.ts +0 -47
  469. package/project/.sdk/tm/csharp/feature/FeatureOptions.cs +18 -5
  470. package/project/.sdk/tm/go/core/context.go +0 -9
  471. package/project/.sdk/tm/go/core/types.go +0 -3
  472. package/project/.sdk/tm/go/feature/audit_feature.go +0 -9
  473. package/project/.sdk/tm/go/feature/cache_feature.go +0 -8
  474. package/project/.sdk/tm/go/feature/clienttrack_feature.go +0 -7
  475. package/project/.sdk/tm/go/feature/cost_feature.go +0 -51
  476. package/project/.sdk/tm/go/feature/debug_feature.go +0 -6
  477. package/project/.sdk/tm/go/feature/feature_options.go +108 -21
  478. package/project/.sdk/tm/go/feature/idempotency_feature.go +0 -6
  479. package/project/.sdk/tm/go/feature/metrics_feature.go +0 -6
  480. package/project/.sdk/tm/go/feature/netsim_feature.go +0 -8
  481. package/project/.sdk/tm/go/feature/paging_feature.go +0 -9
  482. package/project/.sdk/tm/go/feature/proxy_feature.go +0 -7
  483. package/project/.sdk/tm/go/feature/ratelimit_feature.go +0 -6
  484. package/project/.sdk/tm/go/feature/rbac_feature.go +0 -10
  485. package/project/.sdk/tm/go/feature/retry_feature.go +0 -6
  486. package/project/.sdk/tm/go/feature/secrets_feature.go +0 -173
  487. package/project/.sdk/tm/go/feature/streaming_feature.go +0 -7
  488. package/project/.sdk/tm/go/feature/telemetry_feature.go +0 -8
  489. package/project/.sdk/tm/go/feature/test_feature.go +0 -23
  490. package/project/.sdk/tm/go/feature/validate_feature.go +0 -66
  491. package/project/.sdk/tm/go/test/custom_utility_test.go +0 -29
  492. package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +0 -100
  493. package/project/.sdk/tm/go/test/feature_corpus_test.go +1 -60
  494. package/project/.sdk/tm/go/test/feature_harness_test.go +0 -10
  495. package/project/.sdk/tm/go/test/feature_test.go +107 -9
  496. package/project/.sdk/tm/go/test/omniresolver_test.go +0 -74
  497. package/project/.sdk/tm/go/test/omnismoke_test.go +0 -4
  498. package/project/.sdk/tm/go/test/pipeline_test.go +0 -10
  499. package/project/.sdk/tm/go/test/primary_utility_test.go +0 -32
  500. package/project/.sdk/tm/go/test/struct_utility_test.go +0 -38
  501. package/project/.sdk/tm/go/test/testsupport_test.go +0 -25
  502. package/project/.sdk/tm/go/utility/feature_add.go +0 -6
  503. package/project/.sdk/tm/go/utility/fetcher.go +0 -6
  504. package/project/.sdk/tm/go/utility/graphql.go +1 -31
  505. package/project/.sdk/tm/go/utility/make_options.go +38 -49
  506. package/project/.sdk/tm/go/utility/make_point.go +0 -11
  507. package/project/.sdk/tm/go/utility/make_spec.go +0 -15
  508. package/project/.sdk/tm/go/utility/register.go +0 -28
  509. package/project/.sdk/tm/go/utility/transform_request.go +0 -20
  510. package/project/.sdk/tm/go/utility/transform_response.go +0 -8
  511. package/project/.sdk/tm/js/src/feature/test/TestFeature.js +12 -4
  512. package/project/.sdk/tm/rust/core/context.rs +0 -5
  513. package/project/.sdk/tm/rust/core/control.rs +0 -1
  514. package/project/.sdk/tm/rust/core/helpers.rs +0 -15
  515. package/project/.sdk/tm/rust/core/operation.rs +0 -1
  516. package/project/.sdk/tm/rust/core/point.rs +0 -3
  517. package/project/.sdk/tm/rust/core/response.rs +0 -2
  518. package/project/.sdk/tm/rust/core/result.rs +0 -1
  519. package/project/.sdk/tm/rust/core/spec.rs +0 -1
  520. package/project/.sdk/tm/rust/core/types.rs +0 -20
  521. package/project/.sdk/tm/rust/core/utility_type.rs +0 -5
  522. package/project/.sdk/tm/rust/feature/audit.rs +0 -9
  523. package/project/.sdk/tm/rust/feature/base.rs +0 -3
  524. package/project/.sdk/tm/rust/feature/cache.rs +0 -9
  525. package/project/.sdk/tm/rust/feature/clienttrack.rs +0 -7
  526. package/project/.sdk/tm/rust/feature/cost.rs +0 -48
  527. package/project/.sdk/tm/rust/feature/debug.rs +0 -7
  528. package/project/.sdk/tm/rust/feature/idempotency.rs +0 -7
  529. package/project/.sdk/tm/rust/feature/log.rs +0 -3
  530. package/project/.sdk/tm/rust/feature/metrics.rs +0 -7
  531. package/project/.sdk/tm/rust/feature/netsim.rs +0 -9
  532. package/project/.sdk/tm/rust/feature/paging.rs +0 -10
  533. package/project/.sdk/tm/rust/feature/proxy.rs +0 -8
  534. package/project/.sdk/tm/rust/feature/ratelimit.rs +0 -6
  535. package/project/.sdk/tm/rust/feature/rbac.rs +0 -10
  536. package/project/.sdk/tm/rust/feature/retry.rs +0 -6
  537. package/project/.sdk/tm/rust/feature/secrets.rs +1 -187
  538. package/project/.sdk/tm/rust/feature/streaming.rs +0 -7
  539. package/project/.sdk/tm/rust/feature/support.rs +0 -6
  540. package/project/.sdk/tm/rust/feature/telemetry.rs +0 -9
  541. package/project/.sdk/tm/rust/feature/test.rs +0 -19
  542. package/project/.sdk/tm/rust/feature/timeout.rs +0 -7
  543. package/project/.sdk/tm/rust/feature/validate.rs +0 -81
  544. package/project/.sdk/tm/rust/tests/common/mod.rs +0 -35
  545. package/project/.sdk/tm/rust/tests/custom_utility_test.rs +0 -2
  546. package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +0 -95
  547. package/project/.sdk/tm/rust/tests/feature_test.rs +0 -16
  548. package/project/.sdk/tm/rust/tests/netsim_test.rs +0 -6
  549. package/project/.sdk/tm/rust/tests/omni_resolver/mod.rs +0 -135
  550. package/project/.sdk/tm/rust/tests/omni_smoke_test.rs +0 -15
  551. package/project/.sdk/tm/rust/tests/pipeline_test.rs +0 -6
  552. package/project/.sdk/tm/rust/tests/primary_utility_test.rs +0 -22
  553. package/project/.sdk/tm/rust/tests/struct_utility_test.rs +0 -25
  554. package/project/.sdk/tm/rust/utility/fetcher.rs +0 -5
  555. package/project/.sdk/tm/rust/utility/graphql.rs +1 -30
  556. package/project/.sdk/tm/rust/utility/make_error.rs +0 -2
  557. package/project/.sdk/tm/rust/utility/make_options.rs +0 -46
  558. package/project/.sdk/tm/rust/utility/make_point.rs +0 -12
  559. package/project/.sdk/tm/rust/utility/make_spec.rs +0 -4
  560. package/project/.sdk/tm/rust/utility/voxgigstruct/consts.rs +14 -20
  561. package/project/.sdk/tm/rust/utility/voxgigstruct/major.rs +0 -13
  562. package/project/.sdk/tm/rust/utility/voxgigstruct/mini.rs +0 -14
  563. package/project/.sdk/tm/rust/utility/voxgigstruct/mod.rs +0 -2
  564. package/project/.sdk/tm/rust/utility/voxgigstruct/ordered_map.rs +0 -18
  565. package/project/.sdk/tm/rust/utility/voxgigstruct/re.rs +0 -11
  566. package/project/.sdk/tm/rust/utility/voxgigstruct/value.rs +0 -3
  567. package/project/.sdk/tm/ts/src/Context.ts +0 -5
  568. package/project/.sdk/tm/ts/src/feature/audit/AuditFeature.ts +0 -7
  569. package/project/.sdk/tm/ts/src/feature/cache/CacheFeature.ts +0 -8
  570. package/project/.sdk/tm/ts/src/feature/clienttrack/ClienttrackFeature.ts +0 -7
  571. package/project/.sdk/tm/ts/src/feature/cost/CostFeature.ts +0 -52
  572. package/project/.sdk/tm/ts/src/feature/debug/DebugFeature.ts +0 -6
  573. package/project/.sdk/tm/ts/src/feature/metrics/MetricsFeature.ts +0 -6
  574. package/project/.sdk/tm/ts/src/feature/netsim/NetsimFeature.ts +0 -8
  575. package/project/.sdk/tm/ts/src/feature/paging/PagingFeature.ts +0 -13
  576. package/project/.sdk/tm/ts/src/feature/proxy/ProxyFeature.ts +0 -8
  577. package/project/.sdk/tm/ts/src/feature/ratelimit/RatelimitFeature.ts +0 -6
  578. package/project/.sdk/tm/ts/src/feature/rbac/RbacFeature.ts +0 -9
  579. package/project/.sdk/tm/ts/src/feature/retry/RetryFeature.ts +0 -6
  580. package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +0 -136
  581. package/project/.sdk/tm/ts/src/feature/streaming/StreamingFeature.ts +0 -7
  582. package/project/.sdk/tm/ts/src/feature/telemetry/TelemetryFeature.ts +0 -7
  583. package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +13 -88
  584. package/project/.sdk/tm/ts/src/feature/validate/ValidateFeature.ts +0 -87
  585. package/project/.sdk/tm/ts/src/utility/CleanUtility.ts +0 -12
  586. package/project/.sdk/tm/ts/src/utility/FeatureAddUtility.ts +0 -1
  587. package/project/.sdk/tm/ts/src/utility/GraphqlUtility.ts +2 -30
  588. package/project/.sdk/tm/ts/src/utility/MakeErrorUtility.ts +0 -4
  589. package/project/.sdk/tm/ts/src/utility/MakeOptionsUtility.ts +0 -46
  590. package/project/.sdk/tm/ts/src/utility/MakePointUtility.ts +0 -34
  591. package/project/.sdk/tm/ts/src/utility/MakeRequestUtility.ts +0 -1
  592. package/project/.sdk/tm/ts/src/utility/MakeSpecUtility.ts +0 -5
  593. package/project/.sdk/tm/ts/src/utility/MakeUrlUtility.ts +0 -1
  594. package/project/.sdk/tm/ts/src/utility/ParamUtility.ts +0 -8
  595. package/project/.sdk/tm/ts/src/utility/PrepareBodyUtility.ts +0 -3
  596. package/project/.sdk/tm/ts/src/utility/PrepareParamsUtility.ts +0 -6
  597. package/project/.sdk/tm/ts/src/utility/ResultBasicUtility.ts +0 -1
  598. package/project/.sdk/tm/ts/src/utility/TransformRequestUtility.ts +0 -20
  599. package/project/.sdk/tm/ts/src/utility/TransformResponseUtility.ts +0 -4
  600. package/project/.sdk/tm/ts/test/exists.test.ts +0 -10
  601. package/project/.sdk/tm/ts/test/feature/Corpus.test.ts +0 -56
  602. package/project/.sdk/tm/ts/test/feature/harness.ts +0 -9
  603. package/project/.sdk/tm/ts/test/feature/secrets/Secrets.test.ts +0 -106
  604. package/project/.sdk/tm/ts/test/live-contract.ts +0 -2
  605. package/project/.sdk/tm/ts/test/omni.ts +0 -32
  606. package/project/.sdk/tm/ts/test/pipeline.test.ts +45 -28
  607. package/project/.sdk/tm/ts/test/utility/Corpus.test.ts +0 -13
  608. package/project/.sdk/tm/ts/test/utility/PrimaryUtility.test.ts +56 -29
  609. package/project/.sdk/tm/ts/test/utility/StructUtility.test.ts +0 -7
  610. package/project/.sdk/tm/ts/test/utility.ts +0 -55
  611. package/project/sdkgen-package.json +1 -1
  612. package/src/action/action.ts +0 -65
  613. package/src/action/check.ts +0 -88
  614. package/src/action/dispatch.ts +0 -27
  615. package/src/action/doctor.ts +69 -329
  616. package/src/action/edition.ts +1 -87
  617. package/src/action/feature.ts +1 -49
  618. package/src/action/kind.ts +0 -149
  619. package/src/action/package.ts +0 -228
  620. package/src/action/resolve.ts +0 -148
  621. package/src/action/target.ts +0 -177
  622. package/src/cmp/AgentGuide.ts +0 -7
  623. package/src/cmp/AgentGuideContent.ts +0 -24
  624. package/src/cmp/AgentGuideTop.ts +0 -7
  625. package/src/cmp/Changelog.ts +0 -14
  626. package/src/cmp/Deploy.ts +1 -31
  627. package/src/cmp/Entity.ts +0 -4
  628. package/src/cmp/ExternalTarget.ts +0 -36
  629. package/src/cmp/Feature.ts +0 -14
  630. package/src/cmp/FeatureDocs.ts +0 -37
  631. package/src/cmp/PublishWorkflow.ts +0 -60
  632. package/src/cmp/ReadmeErrors.ts +0 -17
  633. package/src/cmp/ReadmeExplanation.ts +2 -11
  634. package/src/cmp/ReadmeFeatures.ts +0 -10
  635. package/src/cmp/ReadmeRefFeatures.ts +0 -19
  636. package/src/cmp/ReadmeStation.ts +0 -19
  637. package/src/cmp/ReadmeTop.ts +0 -80
  638. package/src/cmp/ReadmeUnions.ts +0 -15
  639. package/src/cmp/Registered.ts +0 -30
  640. package/src/cmp/Security.ts +0 -2
  641. package/src/cmp/Test.ts +3 -1
  642. package/src/cmp/TestControl.ts +0 -25
  643. package/src/helpers/applicability.ts +0 -60
  644. package/src/helpers/buildIdNames.ts +0 -12
  645. package/src/helpers/canonSpec.ts +0 -114
  646. package/src/helpers/canonType.ts +0 -87
  647. package/src/helpers/collectDeps.ts +0 -27
  648. package/src/helpers/definition.ts +0 -29
  649. package/src/helpers/dryrun.ts +0 -8
  650. package/src/helpers/featureSource.ts +0 -152
  651. package/src/helpers/getMatchEntries.ts +0 -4
  652. package/src/helpers/junk.ts +13 -89
  653. package/src/helpers/manifest.ts +0 -169
  654. package/src/helpers/modelNames.ts +0 -81
  655. package/src/helpers/modelcheck.ts +0 -106
  656. package/src/helpers/naming.ts +0 -303
  657. package/src/helpers/opExample.ts +0 -56
  658. package/src/helpers/opShape.ts +0 -200
  659. package/src/helpers/optspec.ts +0 -77
  660. package/src/helpers/packageMeta.ts +1 -200
  661. package/src/helpers/pointPath.ts +0 -55
  662. package/src/helpers/resolved.ts +50 -0
  663. package/src/helpers/semver.ts +0 -61
  664. package/src/helpers/serverVars.ts +0 -44
  665. package/src/helpers/shipped.ts +0 -14
  666. package/src/helpers/station.ts +0 -32
  667. package/src/helpers/stdrep.ts +0 -52
  668. package/src/helpers/testPolicy.ts +0 -4
  669. package/src/sdkgen.ts +15 -263
  670. package/src/testkit.ts +6 -312
  671. package/src/types.ts +1 -30
  672. package/src/utility.ts +0 -243
@@ -1,26 +1,3 @@
1
- // Behavioural tests for the secrets feature (vendored @voxgig/sekreto) -
2
- // the go port of tm/ts/test/feature/secrets/Secrets.test.ts.
3
- //
4
- // The contract under test: the `apikey` OPTION keeps its exact old meaning
5
- // and always wins, because SecretsFeature places it FIRST in the provider
6
- // chain (a `memory` store named `options`) - explicit-beats-lookup falls
7
- // out of sekreto's first-hit rule rather than from special-case logic.
8
- // With the feature inactive nothing changes at all. With it active and the
9
- // option unset, the chain (env, a custom provider, a vault) supplies the
10
- // credential instead.
11
- //
12
- // This file lives in the test `feature/` container on purpose: `target
13
- // add` trims it, along with the feature source and the vendored library,
14
- // for a project whose model does not select `secrets`.
15
- //
16
- // The feature is CONSTRUCTED DIRECTLY and handed in through the
17
- // `extend` option, so these tests hold in any generated tree - whether or
18
- // not the project's model activated the feature (activation only changes
19
- // whether config.go registers a constructor for it). The credential is
20
- // asserted ON THE WIRE: a live-mode client with a recording system.fetch,
21
- // driven through a real entity operation, which is what exercises the
22
- // PreSpec resolution seam. (See the migration guide: an options-level
23
- // assertion passes for a port that never consults the value.)
24
1
 
25
2
  package secretstest
26
3
 
@@ -174,13 +151,6 @@ func secretsClient(w *wire, sdkopts map[string]any) *sdk.ProjectNameSDK {
174
151
  })
175
152
  }
176
153
 
177
- // withSecrets constructs the client and ADOPTS the feature via `extend`
178
- // ONLY when the generated config did not already install it - when this
179
- // SDK was generated with `secrets` model-active, the ordinary factory
180
- // path builds the instance, and adding a second via extend would DOUBLE
181
- // the feature: two transport wraps, two resolutions, and a token
182
- // purchase the assertions cannot account for. (The py harness guards the
183
- // same way via _has_feature.)
184
154
  func withSecrets(build func(extend bool) *sdk.ProjectNameSDK) *sdk.ProjectNameSDK {
185
155
  client := build(false)
186
156
  if nil == secretsFeatureOf(client) {
@@ -213,13 +183,6 @@ func secretsFeatureOf(client *sdk.ProjectNameSDK) *feat.SecretsFeature {
213
183
  return nil
214
184
  }
215
185
 
216
- // driveEntityOpUntil performs real entity operations - which is what runs
217
- // the PreSpec hook - until `stop` reports the observable state a test is
218
- // waiting for. Each op's own outcome is irrelevant (no seeded data, a
219
- // scripted response); an op the API does not define fails BEFORE the
220
- // PreSpec hook, which is why several may need driving. Entity names come
221
- // from the SDK's own config, because this file is a TEMPLATE and no
222
- // project's entity names are known here.
223
186
  func driveEntityOpUntil(t *testing.T, client *sdk.ProjectNameSDK, what string, stop func() bool) {
224
187
  t.Helper()
225
188
 
@@ -266,17 +229,6 @@ func exported(name string) string {
266
229
  return string(runes)
267
230
  }
268
231
 
269
- // routableOp names an entity operation that actually REACHES THE TRANSPORT.
270
- //
271
- // A generated entity exposes List, Load and Create whether or not the model
272
- // declares them, so "drive the first entity the map yields" drives a dead
273
- // end whenever the model does not declare that one. Go randomises map
274
- // iteration, so which entity that is changes per run, and a test asserting
275
- // on what reached the wire then passes or fails by lottery.
276
- //
277
- // Discover a real route ONCE, against a throwaway client whose provider
278
- // always succeeds so nothing gates it, and drive that everywhere a test
279
- // needs a request to come out.
280
232
  func routableOp(t *testing.T) (string, string) {
281
233
  t.Helper()
282
234
 
@@ -433,12 +385,6 @@ func TestSecretsChain(t *testing.T) {
433
385
 
434
386
  driveEntityOp(t, client, w)
435
387
 
436
- // Resolution happens AT THE TRANSPORT - the one seam every wire
437
- // path crosses - so the credential is on the wire, not merely
438
- // resolved. go holds it in FEATURE STATE and injects there; the
439
- // options map is never mutated (it stays raced-read-safe for
440
- // every concurrent operation), so the state assertion reads the
441
- // feature.
442
388
  credentialIs(t, w.api()[0].auth, "ENVKEY02")
443
389
  if v := secretsFeatureOf(client).Credential(); "ENVKEY02" != v {
444
390
  t.Fatalf("the entity op did not resolve the secret through PreSpec: %q", v)
@@ -576,15 +522,6 @@ func TestSecretsChain(t *testing.T) {
576
522
  })
577
523
  }
578
524
 
579
- // A MISS IS NOT A CACHEABLE ANSWER - sekreto's own rule, which this
580
- // feature used to override from the layer above.
581
- //
582
- // DEFAULT caching here, which is the whole point: `cache: true` is about
583
- // holding a HIT, and holding the settled resolution after a miss meant the
584
- // chain was never asked again for the life of the client. A secret
585
- // provisioned after startup (a mounted file, a vault policy granted a
586
- // minute late) was invisible forever, and the only workaround was giving up
587
- // hit caching entirely.
588
525
  func TestSecretsCachedMissIsReasked(t *testing.T) {
589
526
  var mu sync.Mutex
590
527
  calls := 0
@@ -705,16 +642,9 @@ func TestSecretsExchange(t *testing.T) {
705
642
  t.Fatalf("expected the request to be retried exactly once, got %d calls", len(api))
706
643
  }
707
644
  credentialIs(t, api[0].auth, "ACCESS01")
708
- // The retry must carry the NEW token, not the spent one.
709
645
  credentialIs(t, api[1].auth, "ACCESS02")
710
646
  })
711
647
 
712
- // `auth: nil` SUPPRESSES THE PURCHASE, not just the retry.
713
- //
714
- // resolve() runs before withrefresh's suppression check, so the refresh
715
- // token used to go to the token endpoint in a request body even here.
716
- // Stopping the retry does not unsend it - this asserts on the token
717
- // endpoint, which is the half the API-call assertions cannot see.
718
648
  t.Run("auth nil buys no token at all", func(t *testing.T) {
719
649
  os.Setenv(envprefix+"REFRESH_TOKEN", "REFRESH01")
720
650
  defer os.Unsetenv(envprefix + "REFRESH_TOKEN")
@@ -776,11 +706,6 @@ func TestSecretsExchange(t *testing.T) {
776
706
  })
777
707
  }
778
708
 
779
- // ---------------------------------------------------------------------
780
- // Review-hardening pins (vendor-tag rollout, PR review): the exchange
781
- // works with ORDINARY options (no custom transport), the token body is
782
- // real JSON, an uncached miss retracts the credential, and a failed
783
- // resolution recovers safely under concurrency.
784
709
 
785
710
  // The exchange with NO system.fetch: the raw fallback transport carries
786
711
  // the purchase, and the body is MARSHALLED - a refresh token full of
@@ -936,23 +861,6 @@ func TestSecretsDirectPath(t *testing.T) {
936
861
  }
937
862
  }
938
863
 
939
- // FAIL CLOSED ON A CONSTRUCTION FAILURE. The chain a project configures
940
- // can be wrong before a single lookup happens, and Init cannot fail the
941
- // client construction the way ts's throwing init does - so it HOLDS the
942
- // error (initerr) and the transport gate refuses to send.
943
- //
944
- // The entry pinned here is a bare kind name where a spec belongs. Init's
945
- // type switch over the providers list had cases for a *ProviderSpec, a
946
- // Provider and a map, and no default - so the entry was silently DROPPED,
947
- // the chain got SHORTER rather than broken, and every request went out
948
- // unauthenticated while the gate had nothing to refuse. That is fail-open
949
- // by omission, and it survived every other case in this file because each
950
- // of them configures the chain correctly.
951
- //
952
- // Both wire paths - the entity pipeline and Direct - each with a CONTROL
953
- // leg through the SAME live transport, so a zero means REFUSED and not
954
- // UNWIRED. The refusal is matched on sekreto's OWN message, so an
955
- // unrelated failure cannot stand in for it.
956
864
  func TestSecretsMalformedProviderEntry(t *testing.T) {
957
865
  // A kind NAME where a provider or spec belongs.
958
866
  malformed := []any{"hashicorp"}
@@ -1093,19 +1001,11 @@ func TestSecretsGateRecovery(t *testing.T) {
1093
1001
  }},
1094
1002
  })
1095
1003
 
1096
- // 1. The failure closes the gate: nothing reaches the wire.
1097
- //
1098
- // The operation is known to be routable, so an empty wire PROVES the gate
1099
- // refused it. Driving an arbitrary entity would pass here for the wrong
1100
- // reason: an operation the model never declared reaches no transport
1101
- // whether the gate is open or shut.
1102
1004
  driveNamedOp(t, client, entity, opname)
1103
1005
  if 0 != len(w.api()) {
1104
1006
  t.Fatalf("a failed resolution must keep the wire silent, saw %d calls", len(w.api()))
1105
1007
  }
1106
1008
 
1107
- // 2. Recovery under concurrency: two operations race the slow retry;
1108
- // both must come out carrying the fresh credential.
1109
1009
  mu.Lock()
1110
1010
  mode = "slow"
1111
1011
  mu.Unlock()
@@ -1,19 +1,5 @@
1
1
  package sdktest
2
2
 
3
- // Feature behaviour, driven by the SHARED corpus.
4
- //
5
- // The same route primary_utility_test.go takes for the utilities:
6
- // language-neutral cases in .sdk/test/test.json, executed against THIS
7
- // generated SDK. The feature is the ordinary compiled type, built by the
8
- // generated config, installed by the generated constructor, and driven by a
9
- // real entity operation. Not a miniature of the pipeline - that is what
10
- // feature_harness_test.go does, and a miniature can only be as right as the
11
- // miniature.
12
- //
13
- // Everything in a case is data. The two pieces go writes for itself are
14
- // turning scripted responses into a FetcherFunc, and reading the record back
15
- // off the feature (go keeps the aggregates on the feature value, where ts
16
- // keeps them on the client).
17
3
 
18
4
  import (
19
5
  "encoding/json"
@@ -32,17 +18,13 @@ import (
32
18
  // added under .sdk/test/feature/ — runs without editing this file. An
33
19
  // SDK generated without a listed feature still skips, not fails.
34
20
 
35
- // The standard operation names, in the order the runner prefers them. Every
36
- // entity declares every CRUD method, so an op that the API does not define
37
- // errors at runtime rather than failing to compile - which is why usable
38
- // operations are found by DRIVING them, below.
39
21
  var featureCorpusOps = []string{"Load", "List", "Create", "Update", "Remove"}
40
22
 
41
23
  // One operation this SDK can actually perform.
42
24
  type fcOp struct {
43
25
  key string // "<entity>.<op>", how features attribute it
44
26
  accessor string // the client method returning the entity
45
- method string // the op method on that entity
27
+ method string
46
28
  }
47
29
 
48
30
  // fcFetcher builds a scripted transport from a case's `res` list. Responses
@@ -106,20 +88,8 @@ func fcFetcher(res []any) sdk.FetcherFunc {
106
88
  }
107
89
  }
108
90
 
109
- // fcClient builds a client the way a caller would: the generated constructor,
110
- // the feature list from the case, and the scripted transport through the
111
- // documented `utility.fetcher` override.
112
- //
113
- // NewProjectNameSDK, not TestSDK: the `test` feature is transport: 'base' and
114
- // REPLACES the transport, so a client in test mode would shadow the script.
115
91
  func fcClient(kase map[string]any) *sdk.ProjectNameSDK {
116
92
  res, _ := kase["res"].([]any)
117
- // "test" here is the OPTION, not the `test` FEATURE. It says "this
118
- // client is not live", which is what makes a REQUIRED OpenAPI server
119
- // variable resolve to a deterministic test-<name> rather than panic at
120
- // construction (see makeOptions). It installs no transport, so the
121
- // scripted fetcher still stands — the FEATURE is transport: 'base' and
122
- // would shadow it, which is why this cannot just turn the feature on.
123
93
  opts := map[string]any{
124
94
  "test": map[string]any{"active": true},
125
95
  "utility": map[string]any{"fetcher": fcFetcher(res)},
@@ -338,13 +308,6 @@ func fcNum(v any) (float64, bool) {
338
308
  return 0, false
339
309
  }
340
310
 
341
- // fcSubset asserts that `actual` contains `expect`, recursively. Cases assert
342
- // only the fields they are about, so a full deep-equal would force every case
343
- // to restate the whole record.
344
- //
345
- // `actual` is a Go value, not a map: the aggregates live on the feature as
346
- // typed structs, so an expected key is matched to an exported field by
347
- // capitalising it.
348
311
  func fcSubset(t *testing.T, actual any, expect any, path string) {
349
312
  t.Helper()
350
313
 
@@ -410,21 +373,6 @@ func fcMember(actual any, key string) (any, bool) {
410
373
  return nil, false
411
374
  }
412
375
 
413
- // fcRecord finds the named feature on the client and hands back the value
414
- // carrying its aggregates. go keeps them on the feature; ts keeps them on the
415
- // client. Same data, different home.
416
- //
417
- // Returned as the feature value itself, NOT type-asserted to a concrete
418
- // feature type. Naming one here would be a compile-time reference to a
419
- // feature the project may not have: `target add` trims unselected features,
420
- // and this template is not trimmed with them, so an SDK generated without
421
- // that feature would ship a test that does not build. featuresource.test.ts
422
- // guards exactly that, and caught it - including, on its first pass, the
423
- // spelling of the type inside this very comment.
424
- //
425
- // fcSubset reads the expected keys off the struct by capitalising them, so
426
- // `total` finds Total, `ops` finds Ops, and a feature added later needs no
427
- // new go here.
428
376
  func fcRecord(client *sdk.ProjectNameSDK, name string) any {
429
377
  for _, f := range client.Features {
430
378
  if f.GetName() == name {
@@ -439,13 +387,6 @@ func TestFeatureCorpus(t *testing.T) {
439
387
 
440
388
  featureSection := getSpec(spec, "feature")
441
389
  if featureSection == nil {
442
- // A corpus with no `feature` section is a SKIP, not a failure. Each
443
- // project carries its OWN materialised copy of .sdk/test/test.json, so a
444
- // project scaffolded before the section existed legitimately has no cases
445
- // to run - and a hard assertion here turned that into a red suite in every
446
- // SDK on the fleet, for a corpus the project had simply not re-pulled yet.
447
- // The strict check belongs where the corpus is CONTROLLED: sdkgen's own
448
- // end-to-end lane supplies one and requires the cases to actually run.
449
390
  t.Skip("this project's test.json has no `feature` section - recompile the corpus (create-sdkgen .sdk/test/feature/) to run these cases")
450
391
  }
451
392
 
@@ -1,15 +1,5 @@
1
1
  package sdktest
2
2
 
3
- // Offline feature-test harness: a faithful miniature of the real operation
4
- // pipeline (same hook order and short-circuit rules as the generated
5
- // Entity*Op code) driven against a configurable mock transport, with no
6
- // live server and no API-specific fixtures.
7
- //
8
- // SEPARATE FROM feature_test.go ON PURPOSE. `target add` drops the
9
- // cross-feature suite when a project trims its feature set (it constructs
10
- // every shipped feature by name), but pipeline_test.go and friends use
11
- // these fh* helpers too — leaving them in feature_test.go took the whole
12
- // test package down with it.
13
3
 
14
4
  import (
15
5
  "fmt"
@@ -1,15 +1,7 @@
1
1
  package sdktest
2
2
 
3
- // Behavioural tests for the enterprise features shipped with this SDK
4
- // (retry, cache, rbac, telemetry, ...). Each block runs only when its
5
- // feature is present (see fhSkipWithout in feature_harness_test.go, which
6
- // also holds the fh* pipeline harness these tests drive).
7
- //
8
- // This file constructs every shipped feature type by name, so it only
9
- // compiles with the COMPLETE feature set — it is listed in the go target's
10
- // `feature.fullset` and dropped when a project trims its features.
11
-
12
3
  import (
4
+ "encoding/json"
13
5
  "os"
14
6
  "reflect"
15
7
  "regexp"
@@ -21,6 +13,112 @@ import (
21
13
  feat "GOMODULE/feature"
22
14
  )
23
15
 
16
+ // --- option coercion --------------------------------------------------------
17
+
18
+ type fhRetries int
19
+
20
+ func vsGetPath(node any, keys ...string) any {
21
+ cur := node
22
+ for _, k := range keys {
23
+ m, ok := cur.(map[string]any)
24
+ if !ok {
25
+ return nil
26
+ }
27
+ cur = m[k]
28
+ }
29
+ return cur
30
+ }
31
+
32
+ // go read a closed type switch and silently used the DEFAULT for any other
33
+ // numeric type. `retry` makes the budget observable as a call count, so a
34
+ // dropped option shows as the default of 2 rather than the 4 asked for.
35
+ func TestFeatureOptionNumericTypes(t *testing.T) {
36
+ fhSkipWithout(t, "retry")
37
+
38
+ var jsonNum map[string]any
39
+ dec := json.NewDecoder(strings.NewReader(`{"retries":4}`))
40
+ dec.UseNumber()
41
+ if err := dec.Decode(&jsonNum); err != nil {
42
+ t.Fatalf("decode: %v", err)
43
+ }
44
+
45
+ cases := []struct {
46
+ name string
47
+ val any
48
+ }{
49
+ {"int", 4},
50
+ {"int8", int8(4)},
51
+ {"int16", int16(4)},
52
+ {"int32", int32(4)},
53
+ {"int64", int64(4)},
54
+ {"uint", uint(4)},
55
+ {"uint8", uint8(4)},
56
+ {"uint16", uint16(4)},
57
+ {"uint32", uint32(4)},
58
+ {"uint64", uint64(4)},
59
+ {"float32", float32(4)},
60
+ {"float64", float64(4)},
61
+ {"json.Number", jsonNum["retries"]},
62
+ {"defined int", fhRetries(4)},
63
+ }
64
+
65
+ const want = 5
66
+
67
+ for _, c := range cases {
68
+ t.Run(c.name, func(t *testing.T) {
69
+ rec := &fhRecorder{reply: func(_ int, _ map[string]any) (any, error) {
70
+ return fhResponse(500, nil, nil), nil
71
+ }}
72
+ h := fhMake(rec.fetch, fhF(feat.NewRetryFeature(), map[string]any{
73
+ "retries": c.val, "minDelay": 0, "jitter": false,
74
+ }))
75
+ h.op(fhOpSpec{op: "load"})
76
+ if len(rec.calls) != want {
77
+ t.Fatalf("%s: retries was not honoured - %d call(s), want %d "+
78
+ "(the default budget of 2 gives 3)", c.name, len(rec.calls), want)
79
+ }
80
+ })
81
+ }
82
+
83
+ t.Run("survives-the-real-makeoptions", func(t *testing.T) {
84
+ // fhMake calls Init directly, so the cases above never meet the option
85
+ // VALIDATOR. To reflect a json.Number is a string, and an option the
86
+ // validator judges by a rule the readers do not is the same defect
87
+ // one layer up.
88
+ client := sdk.TestSDK(nil, nil)
89
+ utility := client.GetUtility()
90
+ ctx := utility.MakeContext(map[string]any{
91
+ "client": client, "utility": utility,
92
+ }, client.GetRootCtx())
93
+ ctx.Options = map[string]any{
94
+ "feature": map[string]any{
95
+ "retry": map[string]any{"active": true, "retries": jsonNum["retries"]},
96
+ },
97
+ }
98
+ ctx.Config = map[string]any{"options": map[string]any{}}
99
+
100
+ got := vsGetPath(utility.MakeOptions(ctx), "feature", "retry", "retries")
101
+ if n, ok := got.(int64); !ok || n != 4 {
102
+ t.Fatalf("MakeOptions did not canonicalise the option: %v (%T), want int64(4)", got, got)
103
+ }
104
+ })
105
+
106
+ t.Run("a-non-number-still-falls-back", func(t *testing.T) {
107
+ // A string is not a Number in java either.
108
+ rec := &fhRecorder{reply: func(_ int, _ map[string]any) (any, error) {
109
+ return fhResponse(500, nil, nil), nil
110
+ }}
111
+ h := fhMake(rec.fetch, fhF(feat.NewRetryFeature(), map[string]any{
112
+ "retries": "4", "minDelay": 0, "jitter": false,
113
+ }))
114
+ h.op(fhOpSpec{op: "load"})
115
+ if len(rec.calls) != 3 {
116
+ t.Fatalf("a string option was coerced: %d call(s), want 3 (the default budget)",
117
+ len(rec.calls))
118
+ }
119
+ })
120
+ }
121
+
24
122
  // --- netsim -----------------------------------------------------------------
25
123
 
26
124
  func TestFeatureNetsim(t *testing.T) {
@@ -1,51 +1,3 @@
1
- // The corpus test runner: vendored @voxgig/omni driven through its NATIVE
2
- // API (`omni.MakeRunner(specref, provider)`), presented to the corpus tests
3
- // in the struct-runner shape they already use (`RunPack.Spec`,
4
- // `RunPack.RunSet`, `RunPack.RunSetFlags`, `RunPack.Client`). No compat
5
- // shim is vendored: the adapter below IS the whole bridge, per language,
6
- // per the vendor-tag rollout (docs/design/vendor-tag-rollout.md,
7
- // Decision 4). It supersedes the engine halves of the retired
8
- // runner_test.go and struct_runner_test.go (support lives on in
9
- // testsupport_test.go).
10
- //
11
- // Go-specific decisions, each load-bearing:
12
- //
13
- // 1. REFLECTION PROVIDER. The omni provider hooks reach the client by
14
- // reflection over the names the clients already expose (Utility() /
15
- // GetUtility(), Struct(), Contextify(), Tester()), so ONE resolver
16
- // serves both the generated SDK and the struct-corpus client in
17
- // struct_utility_test.go. Ported from upstream's go compat shim
18
- // (omni go/compat/struct), which this resolver replaces.
19
- //
20
- // 2. CONTEXTS STAY MAPS ACROSS THE RUNNER. omni sets `entry.ctx` to the
21
- // contextified args[0] and `match: {ctx: ...}` assertions read THROUGH
22
- // it with omni's own GetPath, which walks JSON maps only. A typed
23
- // *sdk.Context there would make every ctx assertion read "absent". So
24
- // Contextify returns the MAP; a corpus subject builds the typed context
25
- // with omniCtx(args[0], ...) at the call site, runs the utility, and
26
- // writes the observable ctx state back into the same map with
27
- // omniSyncCtx - which is what makes the live SDK reachable through
28
- // ctx.Client for the generated utilities (the ts resolver gets both for
29
- // free from prototype delegation; maps-plus-sync is the go idiom for
30
- // the same contract).
31
- //
32
- // 3. ZERO-ARGUMENT ENTRIES (novalargs). The corpus carries entries with no
33
- // `in`, `args` or `ctx`, meaning "call the subject with NO argument".
34
- // omni's native rule passes [clone(entry.in)] - one null. The upstream
35
- // go compat shim corrected this by handing such entries the struct
36
- // port's own no-value sentinel (NOVAL); that correction is ported here
37
- // (novalargs/novalsubject/NOVALMARK), not dropped.
38
- //
39
- // 4. THE VENDORED GO PORT LACKS THE omni#54 RUNNER FIXES the TypeScript
40
- // port has at this tag (omni#57 tracks porting them): JsonStr has no
41
- // cycle guard, and Match clones its base. Both only bite on CYCLIC
42
- // values, and go's Clone/FixJson pass non-JSON values (a typed context,
43
- // a client) through by reference without walking them - so decision 2
44
- // above (JSON-only maps in entries, typed state kept out of them) is
45
- // also what keeps every value the runner clones or stringifies acyclic.
46
- // The errify half (non-Error throwables) cannot arise in go: subjects
47
- // return `error` values, and the Errify hook below keeps the SDK
48
- // error's code for `match: {err: {code: ...}}` assertions.
49
1
 
50
2
  package sdktest
51
3
 
@@ -86,7 +38,6 @@ type Subject = omni.Subject
86
38
  // RunSet runs one set of test entries, reporting failures to the test.
87
39
  type RunSet func(t TestingT, testspec any, testsubject any)
88
40
 
89
- // RunSetFlags runs one set of test entries with flags.
90
41
  type RunSetFlags func(t TestingT, testspec any, flags map[string]bool, testsubject any)
91
42
 
92
43
  // RunPack is what the runner returns for one named spec section - the
@@ -151,7 +102,6 @@ func MakeRunner(testfile any, client any) func(name string, store any) (*RunPack
151
102
  }
152
103
  }
153
104
 
154
- // The runner's flags are booleans; omni's carry any value.
155
105
  func omniflags(flags map[string]bool) omni.Flags {
156
106
  out := omni.Flags{}
157
107
  for name, flag := range flags {
@@ -160,12 +110,6 @@ func omniflags(flags map[string]bool) omni.Flags {
160
110
  return out
161
111
  }
162
112
 
163
- // providerclients maps each omni provider back to the live client it
164
- // wraps, and defproviders marks the ones a spec's DEF.client built - the
165
- // only ones omniCtx lets override a call site's explicit client (the base
166
- // provider rides on EVERY ctx entry, and letting it win would defeat the
167
- // sections that deliberately construct a differently-optioned client).
168
- // Guarded: corpus subtests may run concurrently.
169
113
  var (
170
114
  providerclientsmu sync.Mutex
171
115
  providerclients = map[*omni.Provider]any{}
@@ -269,7 +213,6 @@ func omniProvider(client any) *omni.Provider {
269
213
  return ctx
270
214
  },
271
215
 
272
- // Client options may reference the runner store.
273
216
  Inject: func(options any, store any) any {
274
217
  vs.Inject(options, store)
275
218
  return options
@@ -298,12 +241,6 @@ func omniProvider(client any) *omni.Provider {
298
241
  return provider
299
242
  }
300
243
 
301
- // utilityof reaches the client's utility: Utility() on the struct corpus
302
- // client, GetUtility() on the generated SDK. Only a ZERO-ARGUMENT method
303
- // counts - a generated SDK with an entity named `utility` has an entity
304
- // ACCESSOR of the same name that takes options, and calling that here
305
- // would panic (the fixture model ships reserved-name entities precisely to
306
- // catch this class of collision).
307
244
  func utilityof(client any) reflect.Value {
308
245
  method := findnullarymethod(reflect.ValueOf(client), "utility")
309
246
  if !method.IsValid() {
@@ -452,9 +389,6 @@ func novalargs(testspec any, sentinel any) (any, bool) {
452
389
  return out, true
453
390
  }
454
391
 
455
- // NOVALMARK stands in for the port's no-value between novalargs and
456
- // novalsubject. Deliberately not one of omni's own sentinels: those are
457
- // meaningful to the runner, and this one must pass through it inert.
458
392
  const NOVALMARK = "__OMNIRESOLVER_NOVAL__"
459
393
 
460
394
  // novalsubject swaps the marker back for the real sentinel at the point of
@@ -490,12 +424,6 @@ func noargs(entry any) bool {
490
424
  return true
491
425
  }
492
426
 
493
- // fixnums: an integral JSON number becomes a Go `int`, on both the spec
494
- // and the result side. The struct port's API is written in `int`
495
- // (`Typename(t int)`, `Flatten(list, depths ...int)`), and omni's go
496
- // runner keeps JSON numbers as float64 - handing a subject a type its
497
- // signature rejects. omni's DeepEqual compares numbers by value, so the
498
- // normalisation is invisible to assertions.
499
427
  func fixnums(val any) any {
500
428
  switch value := val.(type) {
501
429
  case float64:
@@ -641,7 +569,6 @@ func omniCtx(arg any, client *sdk.ProjectNameSDK, utility *sdk.Utility) *sdk.Con
641
569
  ctx.Spec = sdk.NewSpec(specMap)
642
570
  }
643
571
 
644
- // Handle result from JSON map
645
572
  if resMap, ok := ctxmap["result"].(map[string]any); ok {
646
573
  ctx.Result = sdk.NewResult(resMap)
647
574
  if errMap, ok := resMap["err"].(map[string]any); ok {
@@ -651,7 +578,6 @@ func omniCtx(arg any, client *sdk.ProjectNameSDK, utility *sdk.Utility) *sdk.Con
651
578
  }
652
579
  }
653
580
 
654
- // Handle response from JSON map
655
581
  if respMap, ok := ctxmap["response"].(map[string]any); ok {
656
582
  ctx.Response = sdk.NewResponse(respMap)
657
583
  if body := respMap["body"]; body != nil {
@@ -1,7 +1,3 @@
1
- // Smoke tests for the vendored omni runner itself: a runner that cannot
2
- // FAIL a bad entry would turn every corpus suite vacuously green, so pin
3
- // the failure paths, not just the happy one. (The go peer of
4
- // tm/ts/test/omni.test.ts.)
5
1
 
6
2
  package sdktest
7
3
 
@@ -1,12 +1,5 @@
1
1
  package sdktest
2
2
 
3
- // Direct unit tests for the operation-pipeline utilities. The generated
4
- // entity tests exercise the happy path; these drive the error and edge
5
- // branches (missing spec/response/result, 4xx handling, transport
6
- // failures, feature add semantics, auth header shaping) that a normal
7
- // success-path op never reaches. All utilities are reached through the
8
- // client utility, so this suite is API-agnostic. Reuses the fh* helpers
9
- // from feature_test.go (same package).
10
3
 
11
4
  import (
12
5
  "testing"
@@ -417,9 +410,6 @@ func TestPipelineFeatureAdd(t *testing.T) {
417
410
  })
418
411
  }
419
412
 
420
- // Feature #2: options.feature accepts an ordered ARRAY (developer add-order)
421
- // or a map (defaults test-first); MakeOptions records the resolved order in
422
- // __derived__.featureorder.
423
413
  func TestPipelineFeatureOrder(t *testing.T) {
424
414
  resolve := func(feature any) string {
425
415
  client, utility := plClient(t, nil)
@@ -11,8 +11,6 @@ import (
11
11
  vs "github.com/voxgig/struct"
12
12
  )
13
13
 
14
- // PENDING sections are the ones deliberately left empty in the shared corpus
15
- // (.sdk/test/primary/<name>.aon). Everything else MUST contribute cases.
16
14
  var pendingSections = map[string]bool{
17
15
  "fetcher": true, "makeFetchDef": true, "makeResult": true,
18
16
  "featureAdd": true, "featureHook": true, "featureInit": true,
@@ -37,12 +35,6 @@ func TestPrimaryUtility(t *testing.T) {
37
35
  t.Fatal("primary section not found in test.json")
38
36
  }
39
37
 
40
- // Run one corpus section, failing loudly when it would run ZERO cases.
41
- // A renamed section, a fixture that failed to compile, or an empty set
42
- // used to report PASS while running zero assertions - the whole point
43
- // of a shared oracle lost without a single red test. (The guard lives
44
- // here rather than in the runner, which is vendored verbatim; the
45
- // shared corpus is a v0 spec, and v0 tolerates an empty set.)
46
38
  runsection := func(t *testing.T, name string, subject any) {
47
39
  t.Helper()
48
40
  section, _ := primary[name].(map[string]any)
@@ -283,9 +275,6 @@ func TestPrimaryUtility(t *testing.T) {
283
275
  t.Run("fetcher-live", func(t *testing.T) {
284
276
  calls := []map[string]any{}
285
277
  liveClient := sdk.NewProjectNameSDK(map[string]any{
286
- // Concrete base: a live construction must satisfy any server
287
- // variables a templated base URL declares; a literal base
288
- // sidesteps the requirement.
289
278
  "base": "http://localhost:8080",
290
279
  "system": map[string]any{
291
280
  "fetch": func(url string, fetchdef map[string]any) (map[string]any, error) {
@@ -553,16 +542,6 @@ func TestPrimaryUtility(t *testing.T) {
553
542
  })
554
543
  })
555
544
 
556
- // Was one hand-written case (the single-point path) covering one of this
557
- // utility's seven branches, which is how the corpus fixture came to be
558
- // marked deferred as "needs a real client". It does not: NewContext
559
- // rebuilds Op from opname + entity + config, and Options can be supplied
560
- // literally. Driven from the corpus now, so TS and Go assert the same
561
- // branches.
562
- //
563
- // TS returns the error AS the value; Go returns it as a second result. The
564
- // corpus says `match: out: code` for both, so the error is normalised to a
565
- // map carrying its code here rather than forking the fixture per language.
566
545
  t.Run("makePoint-basic", func(t *testing.T) {
567
546
  runsection(t, "makePoint", func(args ...any) (any, error) {
568
547
  ctxmap, _ := args[0].(map[string]any)
@@ -570,12 +549,6 @@ func TestPrimaryUtility(t *testing.T) {
570
549
  ctxmap = map[string]any{}
571
550
  }
572
551
 
573
- // NewContext resolves Op from the ENTITY NAME, and reaches it
574
- // through the Entity interface - a literal {name:...} map from the
575
- // fixture is not one, so entname would be "" and every lookup would
576
- // miss, reporting point_no_points for all seven cases. TS reads the
577
- // same field with getprop and accepts the plain map. Swap in the
578
- // package's minimal Entity so both ports resolve the same op.
579
552
  if em, ok := ctxmap["entity"].(map[string]any); ok {
580
553
  name, _ := em["name"].(string)
581
554
  made := []any{}
@@ -634,7 +607,6 @@ func TestPrimaryUtility(t *testing.T) {
634
607
 
635
608
  result := utility.Param(ctx, paramdef)
636
609
 
637
- // The spec alias mutation is what mark 80 asserts on.
638
610
  omniSyncCtx(args[0], ctx)
639
611
 
640
612
  return result, nil
@@ -695,10 +667,6 @@ func TestPrimaryUtility(t *testing.T) {
695
667
  })
696
668
  })
697
669
 
698
- // Was two hand-written cases that had drifted out of the shared corpus
699
- // (the preparePath fixture shipped as an empty `set: []`). Now driven by
700
- // the corpus like every other section, so all ports assert the same
701
- // separator/blank-segment behaviour.
702
670
  t.Run("preparePath-basic", func(t *testing.T) {
703
671
  runsection(t, "preparePath", func(args ...any) (any, error) {
704
672
  ctx := omniCtx(args[0], client, utility)