@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
@@ -17,24 +17,6 @@ import {
17
17
  } from './utility_csharp'
18
18
 
19
19
 
20
- // THE GENERATED SCHEMA MODULE: the model's schemas, as data the SDK can run.
21
- //
22
- // The csharp peer of src/cmp/ts/Schema_ts.ts. Same two members, same source:
23
- // Optspec from `main.kit.optspec` plus each feature's own `config.options`,
24
- // Entityspec from the entity field sentinels — both built by the shared
25
- // helpers, so what csharp validates against and what ts validates against
26
- // cannot drift.
27
- //
28
- // A COLLECTION LITERAL, not embedded JSON, where go and the JVM targets
29
- // parse a string. SdkConfig switches to a JSON constant above a size
30
- // threshold because a large composite literal is slow for the compiler to
31
- // bind and the JIT to run; the spec has no such spread. It is bounded by the
32
- // option list and the feature set — a few hundred entries whatever the API
33
- // looks like — and in C# the literal is also the SAFER rep: a `false` here
34
- // stays `false` rather than arriving as a JsonElement to be mapped back, and
35
- // the number ladder SdkConfig's ConfigValue exists to reproduce is a question
36
- // the spec never asks (it holds only strings and booleans, pinned by "strings
37
- // and booleans only" in ts/test/optspec.test.ts).
38
20
  const Schema = cmp(async function Schema(props: any) {
39
21
  const ctx$ = props.ctx$
40
22
  const target = props.target
@@ -179,10 +179,6 @@ ${allSteps.length > 0 ? ' var client = setup.Client;\n\n' : ''}`)
179
179
 
180
180
  `)
181
181
 
182
- // Stream test (PR #4): the entity `stream` method runs the op pipeline and
183
- // returns an async iterator. With the streaming feature active it yields
184
- // from the feature's incremental iterator; otherwise it falls back to the
185
- // materialised items. Only emitted for entities whose flow lists.
186
182
  const flowHasList = allSteps.some((s: any) => s.op === 'list')
187
183
  if (flowHasList) {
188
184
  Content(` [Fact]
@@ -19,10 +19,6 @@ function projectPath(suffix?: string): string {
19
19
  }
20
20
 
21
21
 
22
- // A camelCase C# local-variable identifier for a snake_case model name
23
- // (`status_embed_config` -> `statusEmbedConfig`). C# contextual keywords
24
- // that are illegal as locals get the shared reserved-word guard (js set is
25
- // the closest match for C#'s expression keywords like `new`/`this`).
26
22
  function csVarName(name: string): string {
27
23
  const pascal = camelify(name)
28
24
  const lower = pascal.charAt(0).toLowerCase() + pascal.slice(1)
@@ -30,13 +26,11 @@ function csVarName(name: string): string {
30
26
  }
31
27
 
32
28
 
33
- // A PascalCase C# identifier for a snake_case model name.
34
29
  function csPascalName(name: string): string {
35
30
  return camelify(name)
36
31
  }
37
32
 
38
33
 
39
- // C# keywords - illegal as a plain local-variable binding.
40
34
  const CS_RESERVED = new Set<string>([
41
35
  'abstract', 'as', 'base', 'bool', 'break', 'byte', 'case', 'catch',
42
36
  'char', 'checked', 'class', 'const', 'continue', 'decimal', 'default',
@@ -86,20 +80,6 @@ function formatCsMap(obj: any, indent: number = 0): string {
86
80
  }
87
81
 
88
82
 
89
- // C# NEW-LINE CHARACTERS, which a regular quoted string literal may not
90
- // contain: U+000D, U+000A, U+0085 (NEL), U+2028 (LINE SEPARATOR) and U+2029
91
- // (PARAGRAPH SEPARATOR) - C# language spec, "Line terminators".
92
- //
93
- // The first two everyone escapes. The other three are the trap: they are
94
- // ordinary characters in JSON, in every other target language, and to the eye,
95
- // so a model string carrying one (an OpenAPI description, default or example
96
- // pasted from a word processor) emits a C# source file that fails to compile
97
- // with `error CS1010: Newline in constant`. Verified against .NET 8.
98
- //
99
- // Written as ESCAPES, not as the characters themselves: U+2028 and U+2029
100
- // are line terminators in JavaScript too, so a regex literal containing them
101
- // verbatim does not parse ("Invalid regular expression: missing /") and this
102
- // module fails to load. The same trap, one language up.
103
83
  const CS_NEWLINE = /[\u0085\u2028\u2029]/g
104
84
 
105
85
  function csEscapeNewlines(s: string): string {
@@ -128,36 +108,6 @@ function csStringLiteral(s: string): string {
128
108
  }
129
109
 
130
110
 
131
- // A number as a C# literal whose BOXED TYPE is predictable.
132
- //
133
- // C# gives an unsuffixed integer literal the first type of int/uint/long/ulong
134
- // that fits it, so `3000000000` boxes as uint while `5` boxes as int and
135
- // `5000000000` as long. Boxed numerics compare by exact type - (object)5L does
136
- // not Equals (object)5 - so the type a config number lands with is observable
137
- // to every consumer, and the L1 data branch has to be able to reproduce it.
138
- // Reproducing a uint band nothing else in the SDK ever produces is not worth
139
- // it, so the suffix is made explicit instead and the ladder is just int -> long
140
- // -> double, which SdkConfig.ConfigValue mirrors exactly.
141
- //
142
- // THE RANGE TEST IS ON THE EMITTED TEXT, not on the JS number.
143
- //
144
- // `String(val)` is exactly what JSON.stringify puts in the data branch, and it
145
- // prints a double as the SHORTEST decimal that round-trips - which for a value
146
- // near the 64-bit boundary is not the value's exact decimal expansion. The
147
- // clearest case is long.MinValue: `String(-9223372036854775808)` is
148
- // "-9223372036854776000", which is BELOW long.MinValue, so TryGetInt64 refuses
149
- // it and the data branch yields a double. Deciding from the JS value instead
150
- // emitted `long.MinValue` and the two branches disagreed at exactly that
151
- // boundary. Comparing the text as a BigInt makes both sides ask the same
152
- // question of the same digits.
153
- //
154
- // int.MinValue is written by name: `-2147483648` parses as unary minus applied
155
- // to a literal that does not itself fit in an int, and relying on the special
156
- // case for that is needless subtlety. There is deliberately no long.MinValue
157
- // twin - no JS number prints as that text, so it is unreachable.
158
- //
159
- // A non-finite value emits `null`, because that is what JSON.stringify does
160
- // with it - so the two representations still agree.
161
111
  const CS_INT_MIN = -2147483648n
162
112
  const CS_INT_MAX = 2147483647n
163
113
  const CS_LONG_MIN = -9223372036854775808n
@@ -209,28 +159,6 @@ function formatCsValue(val: any, indent: number = 0): string {
209
159
  }
210
160
 
211
161
 
212
- // Emission-time normalisation of a model subtree (L0).
213
- //
214
- // Always drops jostraca's iteration metadata (`$`-suffixed keys: index$,
215
- // key$, val$). With `dropDefaults`, also drops keys whose value IS the
216
- // default the runtime already assumes when the key is absent, which is pure
217
- // payload — see CONFIG_DEFAULT.
218
- //
219
- // Rebuilds the tree rather than mutating during a walk. The previous
220
- // implementation walked a clone calling `delete p[k]`, but walk() assigns its
221
- // callback's result back over the child (`setprop(out, ckey, walk(...))`), so
222
- // the delete was undone on the way out and the helper silently did nothing.
223
- // Returning `undefined` from the callback does not fix it either: setprop
224
- // stores undefined rather than removing the key, which then emits as a null.
225
- //
226
- // `dropDefaults` is opt-in and must be passed ONLY for the entity subtree.
227
- // `active` means something different in feature config, where absent reads as
228
- // INACTIVE (see feature_init) — dropping `active: true` there would silently
229
- // disable the feature.
230
- // jostraca's iteration metadata, injected by each()/names() while it walks the
231
- // model. Listed explicitly rather than matched by trailing-dollar suffix: a
232
- // trailing dollar is not exclusive to jostraca -- Seneca uses entity$ as real
233
- // data -- so a blanket suffix match can silently drop a legitimate API field.
234
162
  const MODEL_META = ['index$', 'key$', 'val$']
235
163
 
236
164
  // Keys whose value IS the default the runtime already assumes when the key is
@@ -37,21 +37,12 @@ const Config = cmp(async function Config(props: any) {
37
37
  const Name = model.const.Name
38
38
 
39
39
  const entity = getModelPath(model, `main.${KIT}.entity`)
40
- // Gated by the applicability tags, so this target never imports or
41
- // registers a feature it has no source for. One rule, one place:
42
- // helpers/applicability.
43
40
  const feature = targetFeatures(model, target)
44
41
 
45
42
  const headers = getModelPath(model, `main.${KIT}.config.headers`) || {}
46
43
 
47
44
  const authActive = isAuthActive(model)
48
45
  const authPrefix = resolveAuthPrefix(model)
49
- // `in` and `name` travel with the prefix now. apidef resolved both from
50
- // the spec's securityScheme all along (joplin's says `in: "query",
51
- // name: "token"`) and generation dropped them, so an apiKey-in-query API
52
- // got an Authorization header it does not read. Emitted below ONLY when
53
- // they differ from the header/Authorization defaults, so a header SDK's
54
- // config.ex is byte-identical to what it generated before.
55
46
  const authIn = resolveAuthIn(model)
56
47
  const authName = resolveAuthName(model)
57
48
 
@@ -62,34 +53,8 @@ const Config = cmp(async function Config(props: any) {
62
53
  ? ` "auth" => %{"prefix" => ${elixirString(authPrefix)}},\n`
63
54
  : ''
64
55
 
65
- // THE PLUGIN DEFINITIONS PER FEATURE (the elixir peer of Config_go's
66
- // FeaturePlugins and Config_ts's pluginDefs).
67
- //
68
- // Upstream sekreto replaced its self-registration registry with
69
- // voxgig/plugin definitions: a provider kind the caller did not pass in
70
- // via `plugins: [...]` is unknown to that Sekreto, so the model's choice
71
- // of plugin groups IS the SDK's provider vocabulary. Each active plugin's
72
- // `def` key is a fully-qualified elixir CALL (`Sekreto.Plugins.Hashicorp
73
- // .hashicorp`), emitted here as `...()` and handed to the feature.
74
- //
75
- // The smallest of the four emitters: Elixir resolves modules globally, by
76
- // their `defmodule`, so there is no import block to keep in step with the
77
- // trim - naming the call is the whole of it.
78
- //
79
- // Filter on `active` HERE rather than trusting the feature object to
80
- // arrive filtered (the trap Config_ts and Config_go both carry a warning
81
- // about): emitting a call into a module the plugin trim just deleted is
82
- // an `UndefinedFunctionError` at the first client construction.
83
56
  const featurePlugins: Record<string, string[]> = {}
84
57
 
85
- // DECLARED at all, active or not - the emit gate. An SDK that selects no
86
- // plugin-bearing feature gets no function, so config.ex is byte-identical
87
- // to what it was before this feature existed: inactive costs nothing.
88
- // (`only_active: false` for the same reason pluginExcludes needs it - the
89
- // feature object a component is handed has ALREADY been filtered, so its
90
- // `plugin` map holds only the ACTIVE groups and a project with the feature
91
- // on but every group off would read as "no plugins declared" and lose the
92
- // function the feature calls.)
93
58
  let declared = false
94
59
 
95
60
  each(feature, (f: any) => {
@@ -129,63 +94,20 @@ const Config = cmp(async function Config(props: any) {
129
94
  `
130
95
 
131
96
  Folder({ name: 'lib' }, () => {
132
- // The same config as an OBJECT, built by the shared helper so this
133
- // target's literal and the data that replaces it above the threshold are
134
- // the same config by construction. The JSON is what the threshold is
135
- // measured on - emitted source size varies by language, the model does not.
136
- // Passing target.name opts in to the main slug/version/target identity
137
- // fields (station descriptor input, mirrors Config_ts) - both reps below
138
- // render from this same def, so the data and literal branches pick the
139
- // fields up together.
140
97
  const { def: configDef } = configDefinition(model, target.name)
141
98
 
142
- // THE PLACEMENT, ONTO THE CANONICAL DEFINITION RATHER THAN INTO ONE
143
- // BRANCH. Both reps below render from `configDef` - the literal through
144
- // formatElixir, the data through JSON - so overlaying the fact here is
145
- // what keeps them the same config either side of the threshold. (Targets
146
- // whose literal is a hand-assembled fragment had to emit the block twice
147
- // and only did it once; elixir renders `options` whole, so it cannot
148
- // drift.)
149
- //
150
- // The optspec in utility.ex's make_options declares `in` and `name` for
151
- // exactly this reason: this port's validate REJECTS a key the spec does
152
- // not list, so a config carrying a placement the optspec has never heard
153
- // of does not degrade quietly - the client cannot be constructed at all
154
- // (`** (Voxgig.Struct.Error) Unexpected keys at field auth: in, name`,
155
- // measured by removing the optspec entry from a generated query SDK).
156
99
  if (authActive && null != configDef.options && null != configDef.options.auth) {
157
100
  if ('header' !== authIn) configDef.options.auth.in = authIn
158
101
  if ('Authorization' !== authName) configDef.options.auth.name = authName
159
102
  }
160
103
 
161
- // Re-stringified AFTER the overlay, so the size the threshold is measured
162
- // on is the size of the config actually emitted. For a header SDK the
163
- // overlay adds nothing and this is byte-identical to configDefinition's
164
- // own json.
165
104
  const configJson = JSON.stringify(configDef)
166
105
  const asData = isConfigData(configJson, configReprSetting(model))
167
106
 
168
- // configDefinition's `def.entity` verbatim, NOT rebuilt here. The reduce
169
- // this replaces was one of fourteen copies of that function's entityDefs
170
- // loop, and when configDefinition started reconstructing a point's
171
- // `parts` from apidef's segment vector (its ADR-003), only the copies
172
- // that read `configDef` got it — this target's literal config emitted
173
- // paths with no parts at all while its data config had them. One rule,
174
- // one place.
175
107
  const entityClean = configDef.entity
176
108
 
177
109
  File({ name: 'config.ex' }, () => {
178
110
 
179
- // ABOVE THE THRESHOLD: emit the model as DATA.
180
- //
181
- // The literal is one nested `%{}` the Elixir compiler expands and holds
182
- // in the module's constant pool; a binary is one token. `Json.parse`
183
- // builds the vendored struct's heap nodes DIRECTLY - the same nodes
184
- // `Helpers.deep/1` produces from a plain map - so make_config returns
185
- // exactly what it returned before.
186
- //
187
- // `ProjectName.Json` is already the SDK's response decoder (see
188
- // `safe_json` in utility.ex), so this adds no dependency.
189
111
  if (asData) {
190
112
  Content(`# ${Name} SDK configuration
191
113
  #
@@ -1,28 +1,5 @@
1
1
 
2
2
 
3
- // Typed-model generator (Elixir target). Port of EntityTypes_ts.ts / _rb.ts.
4
- //
5
- // Reads main.<KIT>.entity.<e>.fields[] and per-op params
6
- // (op.<name>.points[].args.params[]) and emits one module, lib/<app>_types.ex,
7
- // holding an `@type` alias per active entity plus a request/match type per
8
- // active op, each with a `@typedoc` documenting its concrete members.
9
- //
10
- // TYPE CHOICE: the SDK carries data as string-keyed struct value nodes, and
11
- // Elixir map typespecs cannot pin individual string keys (only
12
- // `optional(String.t()) => v`), so every alias resolves to an open string-keyed
13
- // map `%{optional(String.t()) => any()}`. The precise per-member shape is
14
- // documented in the accompanying @typedoc (the honest Elixir analogue of the
15
- // TS interface / rb Struct). Field/param sentinels ($STRING, $INTEGER, ...) are
16
- // turned into real Elixir typespec fragments (String.t(), integer(), ...) by
17
- // the shared sdkgen canonToType 'elixir' column (via the `elixirType`
18
- // delegate in utility_elixir).
19
- //
20
- // Op type-name scheme mirrors every other language — derived from the SHARED
21
- // OP_SUFFIX policy, snake_cased for Elixir:
22
- // <ename>, <ename>_load_match, <ename>_list_match, <ename>_create_data,
23
- // <ename>_update_data, <ename>_remove_match.
24
- // The generated entity modules reference these aliases from @spec annotations
25
- // on their op functions (see fragment/Entity*Op.fragment.ex).
26
3
 
27
4
  import {
28
5
  cmp, each, names,
@@ -39,16 +16,11 @@ import {
39
16
  import { elixirType } from './utility_elixir'
40
17
 
41
18
 
42
- // Snake_case op type name, derived from the SHARED OP_SUFFIX policy (the
43
- // PascalCase scheme <Name><Op><Match|Data> rendered Elixir-style):
44
- // <ename>_load_match, <ename>_create_data, ...
45
19
  function elixirOpTypeName(ename: string, opname: string): string {
46
20
  return ename + '_' + opname + '_' + (OP_SUFFIX[opname] || 'Match').toLowerCase()
47
21
  }
48
22
 
49
23
 
50
- // Emit one `@typedoc` + `@type` alias. The alias is always an open
51
- // string-keyed map; the members are documented in the doc block.
52
24
  function emitType(
53
25
  typeName: string,
54
26
  doc: string,
@@ -79,10 +51,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
79
51
  const Name = model.const.Name
80
52
  const app = model.const.name.toLowerCase()
81
53
 
82
- // only_active:false — getModelPath DROPS active:false entries by default,
83
- // but the consumer scaffold (create-sdkgen Root.ts) iterates the RAW entity
84
- // collection, so inactive entities still get generated entity code that
85
- // references these typed names. The typed model must cover them too.
86
54
  const entity = getModelPath(model, `main.${KIT}.entity`, { only_active: false, required: false })
87
55
  // Emit for EVERY entity that gets an entity module: the consumer scaffold
88
56
  // (create-sdkgen Root.ts) iterates entities WITHOUT an active filter, and
@@ -93,9 +61,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
93
61
  // Derive the PascalCase Name up-front — it is set LAZILY by names(), so an
94
62
  // entity not yet named would otherwise read `Name = undefined` below.
95
63
 
96
- // Surface duplicate generated type names (two entities with the same
97
- // PascalCase Name) — they would redeclare a type in statically-typed
98
- // targets. Detection only; renaming is a model-level decision.
99
64
  warnEntityTypeCollisions(entity, log, LANG)
100
65
 
101
66
  Folder({ name: 'lib' }, () => {
@@ -126,15 +91,12 @@ defmodule ${Name}.Types do
126
91
  const fields = (ent.fields ? each(ent.fields) : [])
127
92
  .filter((f: any) => f.active !== false)
128
93
 
129
- // Entity data model: one member per field (`req:false` -> optional).
130
94
  emitType(
131
95
  ename,
132
96
  `${EName} entity data model.`,
133
97
  fields.map((f: any) => ({ name: f.name, type: f.type, optional: false === f.req })),
134
98
  )
135
99
 
136
- // Per active op: a request/match type. Members and their optionality
137
- // come from the shared partiality policy (opRequestShape).
138
100
  const ops = ent.op || {}
139
101
  ;['load', 'list', 'create', 'update', 'remove'].forEach((opname: string) => {
140
102
  if (null == ops[opname]) {
@@ -24,9 +24,6 @@ import { MainEntity } from './MainEntity_elixir'
24
24
  import { EntityTypes } from './EntityTypes_elixir'
25
25
 
26
26
 
27
- // #`-comment hook marker key (gotcha #1: jostraca's built-in #Name-Tag
28
- // replacement only matches `//` comments, so an Elixir `# #<Name>-Hook`
29
- // line never matches and the pipeline hook would be silently dropped).
30
27
  const HOOK_KEY =
31
28
  '/(?<indent>[ \\t]*)#[ \\t]*#(?<name>[A-Za-z0-9]+)-Hook[ \\t]*\\n?/'
32
29
 
@@ -55,16 +52,6 @@ const Main = cmp(async function Main(props: any) {
55
52
  // Generate the documented typespec module (lib/<app>_types.ex).
56
53
  EntityTypes({ target })
57
54
 
58
- // Copy tm/elixir (with ProjectName/projectname substitution).
59
- //
60
- // THE RUNTIME DIRECTORY HAS TO CARRY THE APP NAME. Copy substitutes file
61
- // CONTENTS, never path components, so a blanket copy shipped the runtime as
62
- // lib/projectname/ in every generated SDK. Nothing broke — Elixir resolves
63
- // modules by their `defmodule`, not by path, and those were substituted
64
- // correctly — so it compiled, tested green, and published looking wrong.
65
- //
66
- // Copy's `to` prop names the destination, so lib/projectname is copied
67
- // explicitly under the app's own name and excluded from the blanket copy.
68
55
  Copy({
69
56
  from: 'tm/' + target.name,
70
57
  exclude: [/src\//, /lib\/projectname\//],
@@ -77,20 +64,6 @@ const Main = cmp(async function Main(props: any) {
77
64
  Copy({
78
65
  from: 'tm/' + target.name + '/lib/projectname',
79
66
  to: model.const.name,
80
- // pluginExcludes: the generate-time plugin trim (an INACTIVE plugin
81
- // group's vendored files, declared per-target in the feature model).
82
- // Rooted HERE, on lib/projectname, because that is this Copy's root
83
- // and jostraca matches a candidate against the path relative to it -
84
- // which is why the model's elixir plugin paths read
85
- // `feature/secrets/sekreto/plugins/<kind>.ex` and not the full
86
- // `lib/projectname/...`.
87
- //
88
- // AND THE TRIM IS INVISIBLE TO THE COMPILER HERE, unlike everywhere
89
- // else. mix compiles everything under lib/ and Elixir needs no
90
- // import, so a plugin file this exclude failed to remove compiles
91
- // silently and SHIPS - where go fails on an unused import, py on a
92
- // missing module and ts on an unresolved one. Only the parity and
93
- // vendored guards can catch a broken trim in this target.
94
67
  exclude: [...pluginExcludes(model)],
95
68
  replace: {
96
69
  ...stdrep,
@@ -118,7 +91,6 @@ const Main = cmp(async function Main(props: any) {
118
91
  )
119
92
  })
120
93
 
121
- // Operation pipeline (hook markers replaced here — gotcha #1).
122
94
  File({ name: 'pipeline.' + target.ext }, () => {
123
95
  Fragment({
124
96
  from: ff + 'Pipeline.fragment.ex',
@@ -158,18 +130,6 @@ end
158
130
  `)
159
131
  })
160
132
 
161
- // WHERE THE CREDENTIAL GOES IS GENERATED, NOT COPIED. prepare_auth was
162
- // the one pipeline utility whose answer is a fact about the API rather
163
- // than about the language, and tm/ can only hold one answer - so it is
164
- // extracted out of the copied utility.ex into its own module here. See
165
- // PrepareAuth_elixir for the extraction and for why the registration in
166
- // utility.ex still binds it.
167
- //
168
- // CALLED FROM INSIDE THIS `lib` FOLDER, and the component opens only
169
- // `<name>`, so the file lands at lib/<name>/prepare_auth.ex - beside the
170
- // utility.ex the Copy above puts at lib/<name>/utility.ex. Opening `lib`
171
- // in the component too would write lib/lib/<name>/, which mix would
172
- // compile anyway (it globs the whole tree) and no test could see.
173
133
  PrepareAuth({ target })
174
134
  })
175
135
 
@@ -15,12 +15,6 @@ import type {
15
15
  } from '@voxgig/apidef'
16
16
 
17
17
 
18
- // Generate mix.exs for the Elixir SDK. The vendored struct library has zero
19
- // third-party runtime deps, so a bare SDK ships with none - but dependencies
20
- // declared by the model DO flow: the target's own `deps` block plus any
21
- // feature-declared elixir deps (e.g. the station feature's voxgig_station),
22
- // via the shared collectDeps helper, exactly like rust/dart/go. A model with
23
- // no deps emits the byte-identical `defp deps, do: []` it always has.
24
18
  const Package = cmp(async function Package(props: any) {
25
19
  const ctx$ = props.ctx$
26
20
  const target = props.target
@@ -32,13 +26,6 @@ const Package = cmp(async function Package(props: any) {
32
26
  const app = String(model.const.name).replace(/-/g, '_')
33
27
  const { repoUrl } = repoInfo(model)
34
28
 
35
- // Render one mix deps entry per collected dependency. Hex package names
36
- // share the atom alphabet, but a hyphen in a model dep name is mapped to
37
- // '_' rather than emitted broken. Version -> Mix requirement: an explicit
38
- // operator is kept (spaced, the mix convention: '>=0.0.1' -> '>= 0.0.1');
39
- // a bare version gets hex's customary '~>'; a target dep with no version
40
- // accepts anything. kind: 'dev' scopes to [:dev, :test]; 'peer'/'prod'
41
- // (and anything else) are runtime deps - mix has no peer notion.
42
29
  const entries: string[] = []
43
30
  for (const d of collectDeps(model, target.name, target.deps, ctx$.log)) {
44
31
  const atom = String(d.name).replace(/-/g, '_')
@@ -22,78 +22,10 @@ import {
22
22
  } from './utility_elixir'
23
23
 
24
24
 
25
- // WHERE THE CREDENTIAL GOES IS A FACT ABOUT THE API, so it is generated
26
- // rather than templated. The elixir port of cmp/ts/PrepareAuth_ts.ts; see
27
- // that file for the full account, and cmp/rb/PrepareAuth_rb.ts for the
28
- // cookie-splice and basic-auth shapes this one follows.
29
- //
30
- // apidef has always resolved the scheme's `in` and `name` into
31
- // `main.kit.info.security` — joplin's says `in: "query", name: "token"` —
32
- // and generation dropped both. The result was an SDK that sent a header the
33
- // API does not read and never sent the query parameter it does, so it could
34
- // not authenticate at all. Four repos in the cedar fleet shipped that way:
35
- // joplin (`token`), pipedrive (`api_token`), trello (`key`),
36
- // lm-umbrella (`apiKey`).
37
- //
38
- // A template cannot fix this, because the three placements need three
39
- // different bodies and a template has to pick one. A component emits the
40
- // branch this API actually uses and nothing else — no dead query code in a
41
- // bearer-token SDK, and no runtime `if` on a value that is fixed at
42
- // generation time.
43
- //
44
- // ELIXIR IS THE ODD ONE OUT: it had NO prepare_auth template. The logic was
45
- // embedded in `tm/elixir/lib/projectname/utility.ex` as `prepare_auth_impl/1`,
46
- // one clause among thirty in the 1670-line runtime module. So this is an
47
- // EXTRACTION as well as a port, and the extraction is into the function's
48
- // OWN compilation unit — the PREFERRED shape — because Elixir has no reason
49
- // to need the fallback:
50
- //
51
- // * mix compiles every `.ex` under `lib/`, with no manifest, include list
52
- // or import to keep in step. A new file in lib/<app>/ is compiled by
53
- // virtue of existing.
54
- // * Elixir resolves modules by their `defmodule`, never by path, so a
55
- // module in its own file is indistinguishable at every call site from
56
- // the same code inlined elsewhere.
57
- // * THE BINDING IS A VALUE, NOT A LEXICAL REFERENCE. utility.ex builds the
58
- // utility node by setprop-ing a function into each slot
59
- // (`{"prepare_auth", &prepare_auth_impl/1}`), and every caller reaches it
60
- // through `u(ctx, "prepare_auth").(ctx)`. A remote capture
61
- // `&PrepareAuth.prepare_auth_impl/1` is the same kind of value, so the
62
- // registrar, the feature-override contract (a feature setprops over the
63
- // slot on the reference-stable node) and the `Utility.prepare_auth/1`
64
- // dispatch wrapper are all untouched. `Utility.prepare_auth(ctx)` —
65
- // which is what Main.fragment.ex, make_spec_impl, pipeline_test.exs and
66
- // primary_utility_test.exs all call — still resolves, still dispatches
67
- // through the node, and still honours an override.
68
25
  const PrepareAuth = cmp(async function PrepareAuth(props: any) {
69
26
  const { target } = props
70
27
  const { model } = props.ctx$
71
28
 
72
- // FOLDER NESTING, worked out from the template's own path rather than
73
- // guessed. utility.ex lives at `tm/elixir/lib/projectname/utility.ex`, and
74
- // Main_elixir copies that directory with
75
- //
76
- // Folder({name:'lib'}, () => Copy({from:'tm/elixir/lib/projectname',
77
- // to: model.const.name}))
78
- //
79
- // so the runtime lands at `lib/<name>/`. This component is CALLED from
80
- // inside Main's second `Folder({ name: 'lib' })` block — the one that
81
- // writes the generated (as opposed to copied) lib files — so `lib` is
82
- // ALREADY OPEN at the call site and only `<name>` is opened here. The
83
- // result is `lib/<name>/prepare_auth.ex`, beside the utility.ex that
84
- // registers it.
85
- //
86
- // Opening `lib` again here would write `lib/lib/<name>/prepare_auth.ex`.
87
- // That is the ts port's `src/src/utility/` trap, and it is WORSE in elixir
88
- // than anywhere else: mix compiles everything under lib/ regardless of
89
- // depth, so the module would still compile, still be found by name, and
90
- // the mistake would be invisible to every test — only the published tree
91
- // would look wrong. (Main_elixir carries the same warning about
92
- // lib/projectname/ for the same reason.)
93
- //
94
- // Main's two `Folder({ name: 'lib' })` blocks are SIBLINGS, not nested:
95
- // jostraca folders are scoped to their callback, so both resolve to
96
- // `lib/` and this component sees exactly one of them open.
97
29
  Folder({ name: model.const.name }, () => {
98
30
  File({ name: 'prepare_auth.' + target.ext }, () => {
99
31
  Content(render({
@@ -139,8 +71,6 @@ defmodule ${spec.Name}.PrepareAuth do
139
71
 
140
72
  `
141
73
 
142
- // NO AUTH AT ALL — the project switched it off. See authSwitchedOn for why
143
- // ONLY an explicit switch counts.
144
74
  if (!spec.active) {
145
75
  return head + ` # This SDK is configured with authentication off, so there is no
146
76
  # credential to place. The function stays in the pipeline because
@@ -162,27 +92,8 @@ end
162
92
  const query = 'query' === spec.where
163
93
  const cookie = 'cookie' === spec.where
164
94
 
165
- // HTTP Basic is header-only by definition: the scheme is
166
- // `Authorization: Basic base64(user:pass)`. It cannot be expressed as a
167
- // query parameter or a cookie, so the branch is emitted only where it can
168
- // mean something — and only when the model says the scheme IS basic, so an
169
- // ordinary bearer SDK carries no dead code and regenerates byte-identical
170
- // to what utility.ex produced.
171
95
  const basicHere = spec.basic && 'header' === spec.where
172
96
 
173
- // HEADER NAMES ARE LOWER-CASED; QUERY AND COOKIE NAMES ARE NOT.
174
- //
175
- // `resolveAuthName` answers 'Authorization' by default, but the whole
176
- // elixir runtime spells header names in lower case: the extracted code
177
- // said `S.delprop(headers, "authorization")`, feature/secrets.ex rewrites
178
- // `headers["authorization"]`, feature/debug.ex masks the same key, the
179
- // shared corpus asserts `ctx:spec:headers:authorization`, and
180
- // pipeline_test.exs reads it. A struct map key is case-sensitive, so
181
- // emitting "Authorization" verbatim would put the credential under a key
182
- // nothing reads and leave the secrets feature writing a SECOND header.
183
- // HTTP header names are case-insensitive on the wire, so lower-casing
184
- // costs nothing. A query parameter and a cookie ARE case-sensitive
185
- // (`?Token=` is not `?token=`), so those keep the spec's spelling.
186
97
  const credName = query || cookie ? spec.name : spec.name.toLowerCase()
187
98
 
188
99
  const attrs = ` @cred_name ${elixirString(credName)}
@@ -203,9 +114,6 @@ end
203
114
  ? ` query = S.getprop(spec, "query")`
204
115
  : ` headers = S.getprop(spec, "headers")`
205
116
 
206
- // Clearing: a query parameter and a header are a plain delprop, but a
207
- // cookie header is SHARED with whatever cookies the caller set, so only
208
- // our own pair comes out.
209
117
  const clear = query
210
118
  ? 'S.delprop(query, @cred_name)'
211
119
  : cookie
@@ -266,8 +174,6 @@ ${indent(place(spec, clear), 1)}
266
174
  }
267
175
 
268
176
 
269
- // The one thing that actually differs between placements: where the
270
- // credential is written, and whether the prefix travels with it.
271
177
  function place(spec: AuthSpec, clear: string): string {
272
178
  const guard = ` if (is_binary(apikey) and apikey == @not_found) or apikey == nil or apikey == "" do
273
179
  ${clear}
@@ -294,7 +200,6 @@ function place(spec: AuthSpec, clear: string): string {
294
200
  `
295
201
  }
296
202
 
297
- // HEADER: the extracted body, unchanged.
298
203
  return guard + ` ap = S.getpath(options, "auth.prefix")
299
204
  auth_prefix = if is_binary(ap), do: ap, else: ""
300
205
  apikey_val = if is_binary(apikey), do: apikey, else: ""
@@ -306,11 +211,6 @@ function place(spec: AuthSpec, clear: string): string {
306
211
  }
307
212
 
308
213
 
309
- // The private helpers the emitted body needs. `opts_map/1` is the one
310
- // utility.ex keeps for itself (it is `defp` there, so it could not be
311
- // called across the module boundary) - eight lines, reproduced rather than
312
- // made public, because widening a private helper to export one caller is a
313
- // bigger change to utility.ex than this extraction is.
314
214
  function helpers(spec: AuthSpec): string {
315
215
  const optsMap = ` # The client's options as a MAP, cloned. The clone is load-bearing: the
316
216
  # secrets feature rewrites options.apikey on the live client, and
@@ -383,29 +283,6 @@ function indent(block: string, n: number): string {
383
283
  }
384
284
 
385
285
 
386
- // NOT `isAuthActive`, AND THE DIFFERENCE IS LOAD-BEARING (the py port found
387
- // this first; same reasoning, same fix).
388
- //
389
- // `isAuthActive` is false whenever the SPEC declares no security scheme
390
- // (`main.kit.info.auth: false`). That is a statement about the DEFINITION,
391
- // not a ban on ever sending a credential: apidef writes it for every spec
392
- // with no securitySchemes block, GitHub's official OpenAPI included, and
393
- // those SDKs are still expected to honour an `apikey` the caller passes.
394
- // `optspec` always declares `apikey` and make_options fills `options.auth`
395
- // from its defaults, so the runtime `S.getprop(options, "auth") == nil`
396
- // guard never fired and every such SDK has always sent `options.apikey`.
397
- //
398
- // Gating the body on `isAuthActive` therefore does not trim dead code, it
399
- // deletes working authentication - and takes the secrets feature with it,
400
- // since that resolves a secret into options.apikey and prepare_auth then
401
- // places nothing. elixir is one of the three targets in generatedcompile's
402
- // AUTHNULL_STANDALONE list, whose lane (`elixir: the secrets feature runs
403
- // with the feature active`) runs the shipped secrets suite against a LIVE
404
- // client on a real mix and names its two auth-nil cases.
405
- //
406
- // So the no-op is emitted only when the PROJECT says so: `config.auth.active:
407
- // false`, an explicit per-SDK switch nobody sets by accident. A spec that is
408
- // merely silent keeps the credential path it has always had.
409
286
  function authSwitchedOn(model: any): boolean {
410
287
  const auth = getModelPath(model, `main.${KIT}.config.auth`,
411
288
  { only_active: false, required: false })