@voxgig/sdkgen 4.21.0 → 4.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (724) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/dist/action/action.js +0 -65
  3. package/dist/action/action.js.map +1 -1
  4. package/dist/action/check.js +0 -88
  5. package/dist/action/check.js.map +1 -1
  6. package/dist/action/dispatch.js +0 -27
  7. package/dist/action/dispatch.js.map +1 -1
  8. package/dist/action/doctor.d.ts +1 -0
  9. package/dist/action/doctor.js +55 -321
  10. package/dist/action/doctor.js.map +1 -1
  11. package/dist/action/edition.js +1 -87
  12. package/dist/action/edition.js.map +1 -1
  13. package/dist/action/feature.js +0 -48
  14. package/dist/action/feature.js.map +1 -1
  15. package/dist/action/kind.js +0 -132
  16. package/dist/action/kind.js.map +1 -1
  17. package/dist/action/package.js +0 -221
  18. package/dist/action/package.js.map +1 -1
  19. package/dist/action/resolve.js +0 -145
  20. package/dist/action/resolve.js.map +1 -1
  21. package/dist/action/target.js +0 -177
  22. package/dist/action/target.js.map +1 -1
  23. package/dist/cmp/AgentGuide.js +0 -7
  24. package/dist/cmp/AgentGuide.js.map +1 -1
  25. package/dist/cmp/AgentGuideContent.js +0 -24
  26. package/dist/cmp/AgentGuideContent.js.map +1 -1
  27. package/dist/cmp/AgentGuideTop.js +0 -7
  28. package/dist/cmp/AgentGuideTop.js.map +1 -1
  29. package/dist/cmp/Changelog.js +0 -14
  30. package/dist/cmp/Changelog.js.map +1 -1
  31. package/dist/cmp/Deploy.js +1 -31
  32. package/dist/cmp/Deploy.js.map +1 -1
  33. package/dist/cmp/Entity.js +0 -4
  34. package/dist/cmp/Entity.js.map +1 -1
  35. package/dist/cmp/ExternalTarget.js +0 -36
  36. package/dist/cmp/ExternalTarget.js.map +1 -1
  37. package/dist/cmp/Feature.js +0 -14
  38. package/dist/cmp/Feature.js.map +1 -1
  39. package/dist/cmp/FeatureDocs.js +0 -25
  40. package/dist/cmp/FeatureDocs.js.map +1 -1
  41. package/dist/cmp/PublishWorkflow.js +0 -60
  42. package/dist/cmp/PublishWorkflow.js.map +1 -1
  43. package/dist/cmp/ReadmeErrors.js +0 -2
  44. package/dist/cmp/ReadmeErrors.js.map +1 -1
  45. package/dist/cmp/ReadmeExplanation.js +0 -5
  46. package/dist/cmp/ReadmeExplanation.js.map +1 -1
  47. package/dist/cmp/ReadmeFeatures.js +0 -10
  48. package/dist/cmp/ReadmeFeatures.js.map +1 -1
  49. package/dist/cmp/ReadmeRefFeatures.js +0 -19
  50. package/dist/cmp/ReadmeRefFeatures.js.map +1 -1
  51. package/dist/cmp/ReadmeStation.js +0 -19
  52. package/dist/cmp/ReadmeStation.js.map +1 -1
  53. package/dist/cmp/ReadmeTop.js +1 -81
  54. package/dist/cmp/ReadmeTop.js.map +1 -1
  55. package/dist/cmp/ReadmeUnions.js +1 -16
  56. package/dist/cmp/ReadmeUnions.js.map +1 -1
  57. package/dist/cmp/Registered.js +0 -30
  58. package/dist/cmp/Registered.js.map +1 -1
  59. package/dist/cmp/Security.js +0 -2
  60. package/dist/cmp/Security.js.map +1 -1
  61. package/dist/cmp/Test.js +3 -2
  62. package/dist/cmp/Test.js.map +1 -1
  63. package/dist/cmp/TestControl.js +0 -25
  64. package/dist/cmp/TestControl.js.map +1 -1
  65. package/dist/helpers/applicability.js +0 -60
  66. package/dist/helpers/applicability.js.map +1 -1
  67. package/dist/helpers/buildIdNames.d.ts +3 -1
  68. package/dist/helpers/buildIdNames.js +15 -19
  69. package/dist/helpers/buildIdNames.js.map +1 -1
  70. package/dist/helpers/canonSpec.js +2 -116
  71. package/dist/helpers/canonSpec.js.map +1 -1
  72. package/dist/helpers/canonType.js +0 -87
  73. package/dist/helpers/canonType.js.map +1 -1
  74. package/dist/helpers/collectDeps.js +0 -27
  75. package/dist/helpers/collectDeps.js.map +1 -1
  76. package/dist/helpers/definition.js +0 -29
  77. package/dist/helpers/definition.js.map +1 -1
  78. package/dist/helpers/dryrun.js +0 -8
  79. package/dist/helpers/dryrun.js.map +1 -1
  80. package/dist/helpers/featureSource.js +0 -145
  81. package/dist/helpers/featureSource.js.map +1 -1
  82. package/dist/helpers/getMatchEntries.js +2 -6
  83. package/dist/helpers/getMatchEntries.js.map +1 -1
  84. package/dist/helpers/junk.js +9 -85
  85. package/dist/helpers/junk.js.map +1 -1
  86. package/dist/helpers/manifest.js +0 -138
  87. package/dist/helpers/manifest.js.map +1 -1
  88. package/dist/helpers/modelNames.js +5 -79
  89. package/dist/helpers/modelNames.js.map +1 -1
  90. package/dist/helpers/modelcheck.js +0 -106
  91. package/dist/helpers/modelcheck.js.map +1 -1
  92. package/dist/helpers/naming.d.ts +0 -1
  93. package/dist/helpers/naming.js +0 -303
  94. package/dist/helpers/naming.js.map +1 -1
  95. package/dist/helpers/opExample.js +0 -51
  96. package/dist/helpers/opExample.js.map +1 -1
  97. package/dist/helpers/opShape.js +33 -231
  98. package/dist/helpers/opShape.js.map +1 -1
  99. package/dist/helpers/optspec.js +0 -77
  100. package/dist/helpers/optspec.js.map +1 -1
  101. package/dist/helpers/packageMeta.js +1 -200
  102. package/dist/helpers/packageMeta.js.map +1 -1
  103. package/dist/helpers/pointPath.js +5 -65
  104. package/dist/helpers/pointPath.js.map +1 -1
  105. package/dist/helpers/resolved.d.ts +6 -0
  106. package/dist/helpers/resolved.js +22 -0
  107. package/dist/helpers/resolved.js.map +1 -0
  108. package/dist/helpers/semver.js +0 -61
  109. package/dist/helpers/semver.js.map +1 -1
  110. package/dist/helpers/serverVars.js +0 -44
  111. package/dist/helpers/serverVars.js.map +1 -1
  112. package/dist/helpers/shipped.js +0 -14
  113. package/dist/helpers/shipped.js.map +1 -1
  114. package/dist/helpers/station.js +0 -32
  115. package/dist/helpers/station.js.map +1 -1
  116. package/dist/helpers/stdrep.js +0 -26
  117. package/dist/helpers/stdrep.js.map +1 -1
  118. package/dist/helpers/testPolicy.js +0 -4
  119. package/dist/helpers/testPolicy.js.map +1 -1
  120. package/dist/sdkgen.d.ts +3 -2
  121. package/dist/sdkgen.js +15 -242
  122. package/dist/sdkgen.js.map +1 -1
  123. package/dist/testkit.js +6 -266
  124. package/dist/testkit.js.map +1 -1
  125. package/dist/tsconfig.tsbuildinfo +1 -1
  126. package/dist/utility.js +15 -250
  127. package/dist/utility.js.map +1 -1
  128. package/model/sdkgen.aon +12 -489
  129. package/package.json +4 -4
  130. package/project/.sdk/model/feature/audit.aon +0 -7
  131. package/project/.sdk/model/feature/cache.aon +0 -7
  132. package/project/.sdk/model/feature/clienttrack.aon +0 -7
  133. package/project/.sdk/model/feature/cost.aon +0 -13
  134. package/project/.sdk/model/feature/debug.aon +0 -7
  135. package/project/.sdk/model/feature/idempotency.aon +0 -7
  136. package/project/.sdk/model/feature/log.aon +0 -7
  137. package/project/.sdk/model/feature/metrics.aon +0 -7
  138. package/project/.sdk/model/feature/netsim.aon +0 -10
  139. package/project/.sdk/model/feature/paging.aon +0 -7
  140. package/project/.sdk/model/feature/proxy.aon +0 -7
  141. package/project/.sdk/model/feature/ratelimit.aon +0 -7
  142. package/project/.sdk/model/feature/retry.aon +0 -7
  143. package/project/.sdk/model/feature/secrets.aon +0 -482
  144. package/project/.sdk/model/feature/streaming.aon +0 -7
  145. package/project/.sdk/model/feature/telemetry.aon +0 -7
  146. package/project/.sdk/model/feature/test.aon +1 -8
  147. package/project/.sdk/model/feature/timeout.aon +0 -7
  148. package/project/.sdk/model/feature/validate.aon +0 -32
  149. package/project/.sdk/model/target/c.aon +0 -41
  150. package/project/.sdk/model/target/clojure.aon +0 -36
  151. package/project/.sdk/model/target/cpp.aon +0 -42
  152. package/project/.sdk/model/target/csharp.aon +0 -26
  153. package/project/.sdk/model/target/elixir.aon +0 -22
  154. package/project/.sdk/model/target/go-cli.aon +0 -30
  155. package/project/.sdk/model/target/go-mcp.aon +0 -21
  156. package/project/.sdk/model/target/go.aon +0 -9
  157. package/project/.sdk/model/target/java.aon +0 -29
  158. package/project/.sdk/model/target/js.aon +2 -21
  159. package/project/.sdk/model/target/kotlin.aon +0 -31
  160. package/project/.sdk/model/target/lua.aon +0 -32
  161. package/project/.sdk/model/target/ocaml.aon +0 -64
  162. package/project/.sdk/model/target/perl.aon +0 -20
  163. package/project/.sdk/model/target/php.aon +0 -17
  164. package/project/.sdk/model/target/py-data.aon +0 -33
  165. package/project/.sdk/model/target/py.aon +0 -17
  166. package/project/.sdk/model/target/rb.aon +0 -17
  167. package/project/.sdk/model/target/rust.aon +0 -25
  168. package/project/.sdk/model/target/scala.aon +0 -74
  169. package/project/.sdk/model/target/swift.aon +0 -41
  170. package/project/.sdk/model/target/ts.aon +3 -25
  171. package/project/.sdk/model/target/zig.aon +0 -50
  172. package/project/.sdk/src/cmp/c/Config_c.ts +0 -100
  173. package/project/.sdk/src/cmp/c/EntityTypes_c.ts +4 -40
  174. package/project/.sdk/src/cmp/c/Main_c.ts +0 -44
  175. package/project/.sdk/src/cmp/c/Package_c.ts +0 -14
  176. package/project/.sdk/src/cmp/c/PrepareAuth_c.ts +0 -85
  177. package/project/.sdk/src/cmp/c/ReadmeEntity_c.ts +3 -3
  178. package/project/.sdk/src/cmp/c/ReadmeExamplesTest_c.ts +0 -20
  179. package/project/.sdk/src/cmp/c/ReadmeModel_c.ts +3 -3
  180. package/project/.sdk/src/cmp/c/ReadmeRef_c.ts +7 -10
  181. package/project/.sdk/src/cmp/c/ReadmeTopQuick_c.ts +0 -2
  182. package/project/.sdk/src/cmp/c/Schema_c.ts +1 -20
  183. package/project/.sdk/src/cmp/c/TestDirect_c.ts +12 -12
  184. package/project/.sdk/src/cmp/c/utility_c.ts +0 -47
  185. package/project/.sdk/src/cmp/clojure/Config_clojure.ts +0 -63
  186. package/project/.sdk/src/cmp/clojure/Entity_clojure.ts +0 -1
  187. package/project/.sdk/src/cmp/clojure/Main_clojure.ts +0 -41
  188. package/project/.sdk/src/cmp/clojure/Package_clojure.ts +0 -20
  189. package/project/.sdk/src/cmp/clojure/PrepareAuth_clojure.ts +0 -130
  190. package/project/.sdk/src/cmp/clojure/ReadmeEntity_clojure.ts +3 -3
  191. package/project/.sdk/src/cmp/clojure/ReadmeExamplesTest_clojure.ts +0 -16
  192. package/project/.sdk/src/cmp/clojure/ReadmeModel_clojure.ts +3 -3
  193. package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +7 -10
  194. package/project/.sdk/src/cmp/clojure/Schema_clojure.ts +1 -21
  195. package/project/.sdk/src/cmp/clojure/TestDirect_clojure.ts +0 -6
  196. package/project/.sdk/src/cmp/clojure/TestEntity_clojure.ts +0 -10
  197. package/project/.sdk/src/cmp/clojure/Test_clojure.ts +0 -8
  198. package/project/.sdk/src/cmp/clojure/featureextra_clojure.ts +0 -34
  199. package/project/.sdk/src/cmp/clojure/utility_clojure.ts +0 -47
  200. package/project/.sdk/src/cmp/cpp/Config_cpp.ts +0 -109
  201. package/project/.sdk/src/cmp/cpp/EntityTypes_cpp.ts +3 -39
  202. package/project/.sdk/src/cmp/cpp/Main_cpp.ts +0 -47
  203. package/project/.sdk/src/cmp/cpp/Package_cpp.ts +0 -14
  204. package/project/.sdk/src/cmp/cpp/PrepareAuth_cpp.ts +0 -125
  205. package/project/.sdk/src/cmp/cpp/ReadmeEntity_cpp.ts +3 -3
  206. package/project/.sdk/src/cmp/cpp/ReadmeExamplesTest_cpp.ts +0 -19
  207. package/project/.sdk/src/cmp/cpp/ReadmeModel_cpp.ts +3 -3
  208. package/project/.sdk/src/cmp/cpp/ReadmeQuick_cpp.ts +0 -7
  209. package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +7 -10
  210. package/project/.sdk/src/cmp/cpp/Schema_cpp.ts +1 -22
  211. package/project/.sdk/src/cmp/cpp/TestDirect_cpp.ts +14 -14
  212. package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +51 -53
  213. package/project/.sdk/src/cmp/cpp/Test_cpp.ts +0 -3
  214. package/project/.sdk/src/cmp/cpp/utility_cpp.ts +0 -28
  215. package/project/.sdk/src/cmp/csharp/Config_csharp.ts +0 -79
  216. package/project/.sdk/src/cmp/csharp/EntityOperation_csharp.ts +0 -3
  217. package/project/.sdk/src/cmp/csharp/EntityTypes_csharp.ts +4 -54
  218. package/project/.sdk/src/cmp/csharp/Entity_csharp.ts +0 -1
  219. package/project/.sdk/src/cmp/csharp/Main_csharp.ts +0 -24
  220. package/project/.sdk/src/cmp/csharp/Package_csharp.ts +0 -20
  221. package/project/.sdk/src/cmp/csharp/PrepareAuth_csharp.ts +0 -81
  222. package/project/.sdk/src/cmp/csharp/ReadmeEntity_csharp.ts +3 -4
  223. package/project/.sdk/src/cmp/csharp/ReadmeExamplesTest_csharp.ts +0 -23
  224. package/project/.sdk/src/cmp/csharp/ReadmeModel_csharp.ts +3 -3
  225. package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +7 -10
  226. package/project/.sdk/src/cmp/csharp/ReadmeTopQuick_csharp.ts +0 -2
  227. package/project/.sdk/src/cmp/csharp/Schema_csharp.ts +1 -19
  228. package/project/.sdk/src/cmp/csharp/TestDirect_csharp.ts +30 -30
  229. package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +66 -69
  230. package/project/.sdk/src/cmp/csharp/utility_csharp.ts +0 -72
  231. package/project/.sdk/src/cmp/elixir/Config_elixir.ts +0 -78
  232. package/project/.sdk/src/cmp/elixir/EntityTypes_elixir.ts +4 -42
  233. package/project/.sdk/src/cmp/elixir/Main_elixir.ts +0 -40
  234. package/project/.sdk/src/cmp/elixir/Package_elixir.ts +0 -13
  235. package/project/.sdk/src/cmp/elixir/PrepareAuth_elixir.ts +0 -123
  236. package/project/.sdk/src/cmp/elixir/ReadmeEntity_elixir.ts +3 -3
  237. package/project/.sdk/src/cmp/elixir/ReadmeExamplesTest_elixir.ts +0 -19
  238. package/project/.sdk/src/cmp/elixir/ReadmeModel_elixir.ts +3 -3
  239. package/project/.sdk/src/cmp/elixir/ReadmeRef_elixir.ts +6 -9
  240. package/project/.sdk/src/cmp/elixir/Schema_elixir.ts +1 -25
  241. package/project/.sdk/src/cmp/elixir/utility_elixir.ts +0 -34
  242. package/project/.sdk/src/cmp/go/Config_go.ts +0 -41
  243. package/project/.sdk/src/cmp/go/EntityTypes_go.ts +4 -75
  244. package/project/.sdk/src/cmp/go/Entity_go.ts +0 -5
  245. package/project/.sdk/src/cmp/go/Main_go.ts +0 -28
  246. package/project/.sdk/src/cmp/go/Package_go.ts +0 -7
  247. package/project/.sdk/src/cmp/go/PrepareAuth_go.ts +0 -64
  248. package/project/.sdk/src/cmp/go/ReadmeEntity_go.ts +3 -8
  249. package/project/.sdk/src/cmp/go/ReadmeExamplesTest_go.ts +0 -30
  250. package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +0 -3
  251. package/project/.sdk/src/cmp/go/ReadmeIntro_go.ts +0 -7
  252. package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +3 -14
  253. package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +0 -21
  254. package/project/.sdk/src/cmp/go/ReadmeRef_go.ts +7 -19
  255. package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +0 -9
  256. package/project/.sdk/src/cmp/go/Schema_go.ts +1 -22
  257. package/project/.sdk/src/cmp/go/TestDirect_go.ts +38 -61
  258. package/project/.sdk/src/cmp/go/TestEntity_go.ts +75 -82
  259. package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +0 -21
  260. package/project/.sdk/src/cmp/go/fragment/Main.fragment.go +0 -12
  261. package/project/.sdk/src/cmp/go/utility_go.ts +5 -75
  262. package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +0 -49
  263. package/project/.sdk/src/cmp/go-cli/fragment/words.fragment.go +0 -12
  264. package/project/.sdk/src/cmp/go-mcp/Main_go-mcp.ts +0 -36
  265. package/project/.sdk/src/cmp/go-mcp/fragment/main.fragment.go +0 -20
  266. package/project/.sdk/src/cmp/go-mcp/fragment/tools.fragment.go +0 -3
  267. package/project/.sdk/src/cmp/java/Config_java.ts +0 -63
  268. package/project/.sdk/src/cmp/java/EntityTypes_java.ts +4 -54
  269. package/project/.sdk/src/cmp/java/Entity_java.ts +0 -6
  270. package/project/.sdk/src/cmp/java/Main_java.ts +0 -24
  271. package/project/.sdk/src/cmp/java/PrepareAuth_java.ts +0 -55
  272. package/project/.sdk/src/cmp/java/ReadmeEntity_java.ts +3 -4
  273. package/project/.sdk/src/cmp/java/ReadmeExamplesTest_java.ts +0 -20
  274. package/project/.sdk/src/cmp/java/ReadmeModel_java.ts +3 -3
  275. package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +0 -4
  276. package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +7 -10
  277. package/project/.sdk/src/cmp/java/ReadmeTopQuick_java.ts +0 -7
  278. package/project/.sdk/src/cmp/java/Schema_java.ts +1 -20
  279. package/project/.sdk/src/cmp/java/TestDirect_java.ts +30 -37
  280. package/project/.sdk/src/cmp/java/TestEntity_java.ts +69 -72
  281. package/project/.sdk/src/cmp/java/Test_java.ts +0 -6
  282. package/project/.sdk/src/cmp/java/utility_java.ts +0 -33
  283. package/project/.sdk/src/cmp/js/Config_js.ts +0 -46
  284. package/project/.sdk/src/cmp/js/EntityTypes_js.ts +5 -38
  285. package/project/.sdk/src/cmp/js/Main_js.ts +0 -33
  286. package/project/.sdk/src/cmp/js/Package_js.ts +2 -7
  287. package/project/.sdk/src/cmp/js/PrepareAuth_js.ts +0 -57
  288. package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +3 -12
  289. package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +0 -2
  290. package/project/.sdk/src/cmp/js/ReadmeModel_js.ts +3 -3
  291. package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +0 -15
  292. package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +7 -12
  293. package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +0 -7
  294. package/project/.sdk/src/cmp/js/Schema_js.ts +1 -22
  295. package/project/.sdk/src/cmp/js/TestDirect_js.ts +29 -43
  296. package/project/.sdk/src/cmp/js/TestEntity_js.ts +69 -82
  297. package/project/.sdk/src/cmp/js/TestLive_js.ts +12 -5
  298. package/project/.sdk/src/cmp/js/utility_js.ts +5 -63
  299. package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +0 -46
  300. package/project/.sdk/src/cmp/kotlin/EntityOperation_kotlin.ts +0 -2
  301. package/project/.sdk/src/cmp/kotlin/EntityTypes_kotlin.ts +4 -57
  302. package/project/.sdk/src/cmp/kotlin/Entity_kotlin.ts +0 -4
  303. package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +0 -46
  304. package/project/.sdk/src/cmp/kotlin/PrepareAuth_kotlin.ts +0 -113
  305. package/project/.sdk/src/cmp/kotlin/ReadmeEntity_kotlin.ts +3 -4
  306. package/project/.sdk/src/cmp/kotlin/ReadmeExamplesTest_kotlin.ts +0 -20
  307. package/project/.sdk/src/cmp/kotlin/ReadmeModel_kotlin.ts +3 -3
  308. package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +7 -10
  309. package/project/.sdk/src/cmp/kotlin/ReadmeTopQuick_kotlin.ts +0 -5
  310. package/project/.sdk/src/cmp/kotlin/Schema_kotlin.ts +1 -20
  311. package/project/.sdk/src/cmp/kotlin/TestDirect_kotlin.ts +30 -30
  312. package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +67 -70
  313. package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +0 -6
  314. package/project/.sdk/src/cmp/kotlin/utility_kotlin.ts +0 -33
  315. package/project/.sdk/src/cmp/lua/Config_lua.ts +0 -56
  316. package/project/.sdk/src/cmp/lua/EntityTypes_lua.ts +5 -35
  317. package/project/.sdk/src/cmp/lua/Entity_lua.ts +0 -7
  318. package/project/.sdk/src/cmp/lua/Main_lua.ts +0 -58
  319. package/project/.sdk/src/cmp/lua/Package_lua.ts +0 -20
  320. package/project/.sdk/src/cmp/lua/PrepareAuth_lua.ts +0 -61
  321. package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +3 -11
  322. package/project/.sdk/src/cmp/lua/ReadmeExamplesTest_lua.ts +0 -24
  323. package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +3 -13
  324. package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +4 -25
  325. package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +7 -17
  326. package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +0 -3
  327. package/project/.sdk/src/cmp/lua/Schema_lua.ts +1 -17
  328. package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +25 -27
  329. package/project/.sdk/src/cmp/lua/TestEntity_lua.ts +66 -65
  330. package/project/.sdk/src/cmp/lua/utility_lua.ts +0 -30
  331. package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +0 -98
  332. package/project/.sdk/src/cmp/ocaml/EntityOperation_ocaml.ts +0 -6
  333. package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +0 -78
  334. package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +0 -13
  335. package/project/.sdk/src/cmp/ocaml/PrepareAuth_ocaml.ts +0 -145
  336. package/project/.sdk/src/cmp/ocaml/ReadmeEntity_ocaml.ts +3 -3
  337. package/project/.sdk/src/cmp/ocaml/ReadmeExamplesTest_ocaml.ts +0 -17
  338. package/project/.sdk/src/cmp/ocaml/ReadmeModel_ocaml.ts +3 -3
  339. package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +7 -10
  340. package/project/.sdk/src/cmp/ocaml/Schema_ocaml.ts +1 -24
  341. package/project/.sdk/src/cmp/ocaml/SdkError_ocaml.ts +0 -4
  342. package/project/.sdk/src/cmp/ocaml/TestEntity_ocaml.ts +0 -5
  343. package/project/.sdk/src/cmp/ocaml/utility_ocaml.ts +0 -27
  344. package/project/.sdk/src/cmp/perl/Config_perl.ts +0 -52
  345. package/project/.sdk/src/cmp/perl/Entity_perl.ts +0 -3
  346. package/project/.sdk/src/cmp/perl/Main_perl.ts +0 -33
  347. package/project/.sdk/src/cmp/perl/Package_perl.ts +0 -8
  348. package/project/.sdk/src/cmp/perl/PrepareAuth_perl.ts +0 -84
  349. package/project/.sdk/src/cmp/perl/ReadmeEntity_perl.ts +3 -6
  350. package/project/.sdk/src/cmp/perl/ReadmeExamplesTest_perl.ts +0 -27
  351. package/project/.sdk/src/cmp/perl/ReadmeModel_perl.ts +3 -3
  352. package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +7 -10
  353. package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +0 -2
  354. package/project/.sdk/src/cmp/perl/Schema_perl.ts +1 -19
  355. package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +25 -27
  356. package/project/.sdk/src/cmp/perl/TestEntity_perl.ts +60 -59
  357. package/project/.sdk/src/cmp/perl/utility_perl.ts +0 -26
  358. package/project/.sdk/src/cmp/php/Config_php.ts +0 -76
  359. package/project/.sdk/src/cmp/php/EntityTypes_php.ts +5 -56
  360. package/project/.sdk/src/cmp/php/MainEntity_php.ts +0 -6
  361. package/project/.sdk/src/cmp/php/Main_php.ts +0 -15
  362. package/project/.sdk/src/cmp/php/PrepareAuth_php.ts +0 -73
  363. package/project/.sdk/src/cmp/php/ReadmeEntity_php.ts +3 -7
  364. package/project/.sdk/src/cmp/php/ReadmeExamplesTest_php.ts +0 -33
  365. package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +0 -1
  366. package/project/.sdk/src/cmp/php/ReadmeModel_php.ts +3 -3
  367. package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +4 -23
  368. package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +7 -12
  369. package/project/.sdk/src/cmp/php/Schema_php.ts +1 -16
  370. package/project/.sdk/src/cmp/php/TestDirect_php.ts +25 -25
  371. package/project/.sdk/src/cmp/php/TestEntity_php.ts +66 -74
  372. package/project/.sdk/src/cmp/php/utility_php.ts +0 -22
  373. package/project/.sdk/src/cmp/py/Config_py.ts +0 -53
  374. package/project/.sdk/src/cmp/py/EntityTypes_py.ts +4 -59
  375. package/project/.sdk/src/cmp/py/Entity_py.ts +0 -16
  376. package/project/.sdk/src/cmp/py/Main_py.ts +1 -61
  377. package/project/.sdk/src/cmp/py/Package_py.ts +0 -3
  378. package/project/.sdk/src/cmp/py/PrepareAuth_py.ts +0 -69
  379. package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +3 -16
  380. package/project/.sdk/src/cmp/py/ReadmeExamplesTest_py.ts +0 -31
  381. package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +0 -3
  382. package/project/.sdk/src/cmp/py/ReadmeModel_py.ts +3 -3
  383. package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +0 -28
  384. package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +7 -21
  385. package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +0 -14
  386. package/project/.sdk/src/cmp/py/Schema_py.ts +1 -20
  387. package/project/.sdk/src/cmp/py/TestDirect_py.ts +25 -27
  388. package/project/.sdk/src/cmp/py/TestEntity_py.ts +66 -65
  389. package/project/.sdk/src/cmp/py/utility_py.ts +0 -22
  390. package/project/.sdk/src/cmp/py-data/Main_py-data.ts +13 -47
  391. package/project/.sdk/src/cmp/rb/Config_rb.ts +0 -56
  392. package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +4 -62
  393. package/project/.sdk/src/cmp/rb/Entity_rb.ts +0 -3
  394. package/project/.sdk/src/cmp/rb/Main_rb.ts +0 -10
  395. package/project/.sdk/src/cmp/rb/Package_rb.ts +0 -5
  396. package/project/.sdk/src/cmp/rb/PrepareAuth_rb.ts +0 -81
  397. package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +3 -10
  398. package/project/.sdk/src/cmp/rb/ReadmeExamplesTest_rb.ts +0 -32
  399. package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +0 -9
  400. package/project/.sdk/src/cmp/rb/ReadmeModel_rb.ts +3 -3
  401. package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +4 -27
  402. package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +7 -15
  403. package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +0 -5
  404. package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +0 -3
  405. package/project/.sdk/src/cmp/rb/Schema_rb.ts +1 -16
  406. package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +25 -27
  407. package/project/.sdk/src/cmp/rb/TestEntity_rb.ts +66 -65
  408. package/project/.sdk/src/cmp/rb/utility_rb.ts +0 -22
  409. package/project/.sdk/src/cmp/rust/Config_rust.ts +0 -35
  410. package/project/.sdk/src/cmp/rust/EntityTypes_rust.ts +4 -38
  411. package/project/.sdk/src/cmp/rust/Entity_rust.ts +0 -9
  412. package/project/.sdk/src/cmp/rust/Main_rust.ts +0 -58
  413. package/project/.sdk/src/cmp/rust/Package_rust.ts +0 -30
  414. package/project/.sdk/src/cmp/rust/PrepareAuth_rust.ts +0 -84
  415. package/project/.sdk/src/cmp/rust/ReadmeEntity_rust.ts +3 -3
  416. package/project/.sdk/src/cmp/rust/ReadmeExamplesTest_rust.ts +0 -16
  417. package/project/.sdk/src/cmp/rust/ReadmeModel_rust.ts +3 -3
  418. package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +7 -10
  419. package/project/.sdk/src/cmp/rust/Schema_rust.ts +1 -19
  420. package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +18 -25
  421. package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +63 -71
  422. package/project/.sdk/src/cmp/rust/fragment/Entity.fragment.rs +0 -14
  423. package/project/.sdk/src/cmp/rust/fragment/EntityRemoveOp.fragment.rs +0 -4
  424. package/project/.sdk/src/cmp/rust/fragment/Main.fragment.rs +0 -20
  425. package/project/.sdk/src/cmp/rust/fragment/SdkError.fragment.rs +0 -6
  426. package/project/.sdk/src/cmp/rust/utility_rust.ts +0 -47
  427. package/project/.sdk/src/cmp/scala/Config_scala.ts +0 -31
  428. package/project/.sdk/src/cmp/scala/EntityTypes_scala.ts +4 -55
  429. package/project/.sdk/src/cmp/scala/Main_scala.ts +0 -78
  430. package/project/.sdk/src/cmp/scala/PrepareAuth_scala.ts +0 -102
  431. package/project/.sdk/src/cmp/scala/ReadmeEntity_scala.ts +3 -4
  432. package/project/.sdk/src/cmp/scala/ReadmeExamplesTest_scala.ts +0 -23
  433. package/project/.sdk/src/cmp/scala/ReadmeModel_scala.ts +3 -3
  434. package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +7 -10
  435. package/project/.sdk/src/cmp/scala/ReadmeTopQuick_scala.ts +0 -5
  436. package/project/.sdk/src/cmp/scala/Schema_scala.ts +1 -20
  437. package/project/.sdk/src/cmp/scala/TestDirect_scala.ts +14 -14
  438. package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +60 -67
  439. package/project/.sdk/src/cmp/scala/Test_scala.ts +0 -3
  440. package/project/.sdk/src/cmp/scala/utility_scala.ts +0 -31
  441. package/project/.sdk/src/cmp/swift/Config_swift.ts +0 -62
  442. package/project/.sdk/src/cmp/swift/EntityOperation_swift.ts +0 -3
  443. package/project/.sdk/src/cmp/swift/EntityTypes_swift.ts +5 -44
  444. package/project/.sdk/src/cmp/swift/Main_swift.ts +0 -42
  445. package/project/.sdk/src/cmp/swift/Package_swift.ts +0 -69
  446. package/project/.sdk/src/cmp/swift/PrepareAuth_swift.ts +0 -134
  447. package/project/.sdk/src/cmp/swift/ReadmeEntity_swift.ts +3 -5
  448. package/project/.sdk/src/cmp/swift/ReadmeExamplesTest_swift.ts +0 -22
  449. package/project/.sdk/src/cmp/swift/ReadmeModel_swift.ts +3 -3
  450. package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +7 -10
  451. package/project/.sdk/src/cmp/swift/Schema_swift.ts +1 -19
  452. package/project/.sdk/src/cmp/swift/TestEntity_swift.ts +0 -4
  453. package/project/.sdk/src/cmp/swift/utility_swift.ts +0 -51
  454. package/project/.sdk/src/cmp/ts/Config_ts.ts +0 -46
  455. package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +5 -39
  456. package/project/.sdk/src/cmp/ts/Entity_ts.ts +0 -6
  457. package/project/.sdk/src/cmp/ts/Main_ts.ts +0 -28
  458. package/project/.sdk/src/cmp/ts/Package_ts.ts +2 -26
  459. package/project/.sdk/src/cmp/ts/PrepareAuth_ts.ts +0 -55
  460. package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +3 -12
  461. package/project/.sdk/src/cmp/ts/ReadmeExampleTest_ts.ts +0 -6
  462. package/project/.sdk/src/cmp/ts/ReadmeExamplesTest_ts.ts +0 -25
  463. package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +4 -9
  464. package/project/.sdk/src/cmp/ts/ReadmeIntro_ts.ts +0 -7
  465. package/project/.sdk/src/cmp/ts/ReadmeModel_ts.ts +3 -6
  466. package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +1 -44
  467. package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +7 -25
  468. package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +0 -11
  469. package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +6 -9
  470. package/project/.sdk/src/cmp/ts/Schema_ts.ts +1 -22
  471. package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +42 -93
  472. package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +76 -107
  473. package/project/.sdk/src/cmp/ts/TestLive_ts.ts +12 -6
  474. package/project/.sdk/src/cmp/ts/Test_ts.ts +0 -4
  475. package/project/.sdk/src/cmp/ts/fragment/Config.data.fragment.ts +0 -27
  476. package/project/.sdk/src/cmp/ts/fragment/Config.fragment.ts +0 -7
  477. package/project/.sdk/src/cmp/ts/fragment/Direct.test.fragment.ts +0 -7
  478. package/project/.sdk/src/cmp/ts/fragment/Entity.fragment.ts +0 -1
  479. package/project/.sdk/src/cmp/ts/fragment/Entity.test.fragment.ts +0 -4
  480. package/project/.sdk/src/cmp/ts/fragment/EntityBase.fragment.ts +0 -20
  481. package/project/.sdk/src/cmp/ts/fragment/EntityCreateOp.fragment.ts +0 -6
  482. package/project/.sdk/src/cmp/ts/fragment/EntityLoadOp.fragment.ts +0 -6
  483. package/project/.sdk/src/cmp/ts/fragment/EntityRemoveOp.fragment.ts +0 -15
  484. package/project/.sdk/src/cmp/ts/fragment/EntityUpdateOp.fragment.ts +0 -6
  485. package/project/.sdk/src/cmp/ts/fragment/Main.fragment.ts +0 -15
  486. package/project/.sdk/src/cmp/ts/fragment/MainStation.fragment.ts +0 -12
  487. package/project/.sdk/src/cmp/ts/fragment/SdkError.fragment.ts +0 -9
  488. package/project/.sdk/src/cmp/ts/utility_ts.ts +5 -64
  489. package/project/.sdk/src/cmp/zig/Config_zig.ts +0 -70
  490. package/project/.sdk/src/cmp/zig/Entity_zig.ts +0 -3
  491. package/project/.sdk/src/cmp/zig/Main_zig.ts +0 -83
  492. package/project/.sdk/src/cmp/zig/Package_zig.ts +0 -22
  493. package/project/.sdk/src/cmp/zig/PrepareAuth_zig.ts +0 -136
  494. package/project/.sdk/src/cmp/zig/ReadmeEntity_zig.ts +3 -3
  495. package/project/.sdk/src/cmp/zig/ReadmeExamplesTest_zig.ts +0 -18
  496. package/project/.sdk/src/cmp/zig/ReadmeModel_zig.ts +3 -3
  497. package/project/.sdk/src/cmp/zig/ReadmeQuick_zig.ts +0 -3
  498. package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +7 -10
  499. package/project/.sdk/src/cmp/zig/Schema_zig.ts +1 -24
  500. package/project/.sdk/src/cmp/zig/TestDirect_zig.ts +0 -11
  501. package/project/.sdk/src/cmp/zig/TestEntity_zig.ts +0 -8
  502. package/project/.sdk/src/cmp/zig/Test_zig.ts +0 -11
  503. package/project/.sdk/src/cmp/zig/utility_zig.ts +0 -47
  504. package/project/.sdk/tm/c/feature/test.c +20 -4
  505. package/project/.sdk/tm/clojure/src/sdk/features.clj +6 -4
  506. package/project/.sdk/tm/cpp/feature/test.hpp +17 -6
  507. package/project/.sdk/tm/csharp/feature/FeatureOptions.cs +18 -5
  508. package/project/.sdk/tm/csharp/feature/TestFeature.cs +10 -4
  509. package/project/.sdk/tm/elixir/lib/projectname/feature/test.ex +11 -5
  510. package/project/.sdk/tm/go/core/context.go +0 -9
  511. package/project/.sdk/tm/go/core/types.go +0 -3
  512. package/project/.sdk/tm/go/feature/audit_feature.go +0 -9
  513. package/project/.sdk/tm/go/feature/cache_feature.go +0 -8
  514. package/project/.sdk/tm/go/feature/clienttrack_feature.go +0 -7
  515. package/project/.sdk/tm/go/feature/cost_feature.go +0 -51
  516. package/project/.sdk/tm/go/feature/debug_feature.go +0 -6
  517. package/project/.sdk/tm/go/feature/feature_options.go +108 -21
  518. package/project/.sdk/tm/go/feature/idempotency_feature.go +0 -6
  519. package/project/.sdk/tm/go/feature/metrics_feature.go +0 -6
  520. package/project/.sdk/tm/go/feature/netsim_feature.go +0 -8
  521. package/project/.sdk/tm/go/feature/paging_feature.go +0 -9
  522. package/project/.sdk/tm/go/feature/proxy_feature.go +0 -7
  523. package/project/.sdk/tm/go/feature/ratelimit_feature.go +0 -6
  524. package/project/.sdk/tm/go/feature/rbac_feature.go +0 -10
  525. package/project/.sdk/tm/go/feature/retry_feature.go +0 -6
  526. package/project/.sdk/tm/go/feature/secrets_feature.go +0 -173
  527. package/project/.sdk/tm/go/feature/streaming_feature.go +0 -7
  528. package/project/.sdk/tm/go/feature/telemetry_feature.go +0 -8
  529. package/project/.sdk/tm/go/feature/test_feature.go +0 -23
  530. package/project/.sdk/tm/go/feature/validate_feature.go +0 -66
  531. package/project/.sdk/tm/go/test/custom_utility_test.go +0 -29
  532. package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +0 -100
  533. package/project/.sdk/tm/go/test/feature_corpus_test.go +1 -60
  534. package/project/.sdk/tm/go/test/feature_harness_test.go +0 -10
  535. package/project/.sdk/tm/go/test/feature_test.go +107 -9
  536. package/project/.sdk/tm/go/test/omniresolver_test.go +0 -74
  537. package/project/.sdk/tm/go/test/omnismoke_test.go +0 -4
  538. package/project/.sdk/tm/go/test/pipeline_test.go +0 -10
  539. package/project/.sdk/tm/go/test/primary_utility_test.go +0 -32
  540. package/project/.sdk/tm/go/test/struct_utility_test.go +0 -38
  541. package/project/.sdk/tm/go/test/testsupport_test.go +0 -25
  542. package/project/.sdk/tm/go/utility/feature_add.go +0 -6
  543. package/project/.sdk/tm/go/utility/fetcher.go +0 -6
  544. package/project/.sdk/tm/go/utility/graphql.go +1 -31
  545. package/project/.sdk/tm/go/utility/make_options.go +38 -49
  546. package/project/.sdk/tm/go/utility/make_point.go +0 -11
  547. package/project/.sdk/tm/go/utility/make_spec.go +0 -15
  548. package/project/.sdk/tm/go/utility/register.go +0 -28
  549. package/project/.sdk/tm/go/utility/transform_request.go +0 -20
  550. package/project/.sdk/tm/go/utility/transform_response.go +0 -8
  551. package/project/.sdk/tm/java/feature/TestFeature.java +11 -6
  552. package/project/.sdk/tm/js/src/feature/test/TestFeature.js +12 -4
  553. package/project/.sdk/tm/js/test/live-entity.js +29 -29
  554. package/project/.sdk/tm/js/test/live-scenarios.js +4 -4
  555. package/project/.sdk/tm/kotlin/feature/TestFeature.kt +8 -4
  556. package/project/.sdk/tm/ocaml/sdk_features.ml +6 -4
  557. package/project/.sdk/tm/perl/feature/test_feature.pm +6 -4
  558. package/project/.sdk/tm/rb/feature/test_feature.rb +6 -4
  559. package/project/.sdk/tm/rust/core/context.rs +0 -5
  560. package/project/.sdk/tm/rust/core/control.rs +0 -1
  561. package/project/.sdk/tm/rust/core/helpers.rs +0 -15
  562. package/project/.sdk/tm/rust/core/operation.rs +0 -1
  563. package/project/.sdk/tm/rust/core/point.rs +0 -3
  564. package/project/.sdk/tm/rust/core/response.rs +0 -2
  565. package/project/.sdk/tm/rust/core/result.rs +0 -1
  566. package/project/.sdk/tm/rust/core/spec.rs +0 -1
  567. package/project/.sdk/tm/rust/core/types.rs +0 -20
  568. package/project/.sdk/tm/rust/core/utility_type.rs +0 -5
  569. package/project/.sdk/tm/rust/feature/audit.rs +0 -9
  570. package/project/.sdk/tm/rust/feature/base.rs +0 -3
  571. package/project/.sdk/tm/rust/feature/cache.rs +0 -9
  572. package/project/.sdk/tm/rust/feature/clienttrack.rs +0 -7
  573. package/project/.sdk/tm/rust/feature/cost.rs +0 -48
  574. package/project/.sdk/tm/rust/feature/debug.rs +0 -7
  575. package/project/.sdk/tm/rust/feature/idempotency.rs +0 -7
  576. package/project/.sdk/tm/rust/feature/log.rs +0 -3
  577. package/project/.sdk/tm/rust/feature/metrics.rs +0 -7
  578. package/project/.sdk/tm/rust/feature/netsim.rs +0 -9
  579. package/project/.sdk/tm/rust/feature/paging.rs +0 -10
  580. package/project/.sdk/tm/rust/feature/proxy.rs +0 -8
  581. package/project/.sdk/tm/rust/feature/ratelimit.rs +0 -6
  582. package/project/.sdk/tm/rust/feature/rbac.rs +0 -10
  583. package/project/.sdk/tm/rust/feature/retry.rs +0 -6
  584. package/project/.sdk/tm/rust/feature/secrets.rs +1 -187
  585. package/project/.sdk/tm/rust/feature/streaming.rs +0 -7
  586. package/project/.sdk/tm/rust/feature/support.rs +0 -6
  587. package/project/.sdk/tm/rust/feature/telemetry.rs +0 -9
  588. package/project/.sdk/tm/rust/feature/test.rs +8 -23
  589. package/project/.sdk/tm/rust/feature/timeout.rs +0 -7
  590. package/project/.sdk/tm/rust/feature/validate.rs +0 -81
  591. package/project/.sdk/tm/rust/tests/common/mod.rs +0 -35
  592. package/project/.sdk/tm/rust/tests/custom_utility_test.rs +0 -2
  593. package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +0 -95
  594. package/project/.sdk/tm/rust/tests/feature_test.rs +0 -16
  595. package/project/.sdk/tm/rust/tests/netsim_test.rs +0 -6
  596. package/project/.sdk/tm/rust/tests/omni_resolver/mod.rs +0 -135
  597. package/project/.sdk/tm/rust/tests/omni_smoke_test.rs +0 -15
  598. package/project/.sdk/tm/rust/tests/pipeline_test.rs +0 -6
  599. package/project/.sdk/tm/rust/tests/primary_utility_test.rs +0 -22
  600. package/project/.sdk/tm/rust/tests/struct_utility_test.rs +0 -25
  601. package/project/.sdk/tm/rust/utility/fetcher.rs +0 -5
  602. package/project/.sdk/tm/rust/utility/graphql.rs +1 -30
  603. package/project/.sdk/tm/rust/utility/make_error.rs +0 -2
  604. package/project/.sdk/tm/rust/utility/make_options.rs +0 -46
  605. package/project/.sdk/tm/rust/utility/make_point.rs +0 -12
  606. package/project/.sdk/tm/rust/utility/make_spec.rs +0 -4
  607. package/project/.sdk/tm/rust/utility/voxgigstruct/consts.rs +14 -20
  608. package/project/.sdk/tm/rust/utility/voxgigstruct/major.rs +0 -13
  609. package/project/.sdk/tm/rust/utility/voxgigstruct/mini.rs +0 -14
  610. package/project/.sdk/tm/rust/utility/voxgigstruct/mod.rs +0 -2
  611. package/project/.sdk/tm/rust/utility/voxgigstruct/ordered_map.rs +0 -18
  612. package/project/.sdk/tm/rust/utility/voxgigstruct/re.rs +0 -11
  613. package/project/.sdk/tm/rust/utility/voxgigstruct/value.rs +0 -3
  614. package/project/.sdk/tm/scala/feature/TestFeature.scala +10 -6
  615. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/TestFeature.swift +10 -6
  616. package/project/.sdk/tm/ts/src/Context.ts +0 -5
  617. package/project/.sdk/tm/ts/src/feature/audit/AuditFeature.ts +0 -7
  618. package/project/.sdk/tm/ts/src/feature/cache/CacheFeature.ts +0 -8
  619. package/project/.sdk/tm/ts/src/feature/clienttrack/ClienttrackFeature.ts +0 -7
  620. package/project/.sdk/tm/ts/src/feature/cost/CostFeature.ts +0 -52
  621. package/project/.sdk/tm/ts/src/feature/debug/DebugFeature.ts +0 -6
  622. package/project/.sdk/tm/ts/src/feature/metrics/MetricsFeature.ts +0 -6
  623. package/project/.sdk/tm/ts/src/feature/netsim/NetsimFeature.ts +0 -8
  624. package/project/.sdk/tm/ts/src/feature/paging/PagingFeature.ts +0 -13
  625. package/project/.sdk/tm/ts/src/feature/proxy/ProxyFeature.ts +0 -8
  626. package/project/.sdk/tm/ts/src/feature/ratelimit/RatelimitFeature.ts +0 -6
  627. package/project/.sdk/tm/ts/src/feature/rbac/RbacFeature.ts +0 -9
  628. package/project/.sdk/tm/ts/src/feature/retry/RetryFeature.ts +0 -6
  629. package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +0 -136
  630. package/project/.sdk/tm/ts/src/feature/streaming/StreamingFeature.ts +0 -7
  631. package/project/.sdk/tm/ts/src/feature/telemetry/TelemetryFeature.ts +0 -7
  632. package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +13 -88
  633. package/project/.sdk/tm/ts/src/feature/validate/ValidateFeature.ts +0 -87
  634. package/project/.sdk/tm/ts/src/utility/CleanUtility.ts +0 -12
  635. package/project/.sdk/tm/ts/src/utility/FeatureAddUtility.ts +0 -1
  636. package/project/.sdk/tm/ts/src/utility/GraphqlUtility.ts +2 -30
  637. package/project/.sdk/tm/ts/src/utility/MakeErrorUtility.ts +0 -4
  638. package/project/.sdk/tm/ts/src/utility/MakeOptionsUtility.ts +0 -46
  639. package/project/.sdk/tm/ts/src/utility/MakePointUtility.ts +0 -34
  640. package/project/.sdk/tm/ts/src/utility/MakeRequestUtility.ts +0 -1
  641. package/project/.sdk/tm/ts/src/utility/MakeSpecUtility.ts +0 -5
  642. package/project/.sdk/tm/ts/src/utility/MakeUrlUtility.ts +0 -1
  643. package/project/.sdk/tm/ts/src/utility/ParamUtility.ts +0 -8
  644. package/project/.sdk/tm/ts/src/utility/PrepareBodyUtility.ts +0 -3
  645. package/project/.sdk/tm/ts/src/utility/PrepareParamsUtility.ts +0 -6
  646. package/project/.sdk/tm/ts/src/utility/ResultBasicUtility.ts +0 -1
  647. package/project/.sdk/tm/ts/src/utility/TransformRequestUtility.ts +0 -20
  648. package/project/.sdk/tm/ts/src/utility/TransformResponseUtility.ts +0 -4
  649. package/project/.sdk/tm/ts/test/exists.test.ts +0 -10
  650. package/project/.sdk/tm/ts/test/feature/Corpus.test.ts +0 -56
  651. package/project/.sdk/tm/ts/test/feature/harness.ts +0 -9
  652. package/project/.sdk/tm/ts/test/feature/secrets/Secrets.test.ts +0 -106
  653. package/project/.sdk/tm/ts/test/live-contract.ts +0 -2
  654. package/project/.sdk/tm/ts/test/live-entity.ts +26 -26
  655. package/project/.sdk/tm/ts/test/live-scenarios.ts +3 -3
  656. package/project/.sdk/tm/ts/test/omni.ts +0 -32
  657. package/project/.sdk/tm/ts/test/pipeline.test.ts +45 -28
  658. package/project/.sdk/tm/ts/test/utility/Corpus.test.ts +0 -13
  659. package/project/.sdk/tm/ts/test/utility/PrimaryUtility.test.ts +56 -29
  660. package/project/.sdk/tm/ts/test/utility/StructUtility.test.ts +0 -7
  661. package/project/.sdk/tm/ts/test/utility.ts +0 -55
  662. package/project/.sdk/tm/zig/feature/test.zig +11 -4
  663. package/project/sdkgen-package.json +1 -1
  664. package/src/action/action.ts +0 -65
  665. package/src/action/check.ts +0 -88
  666. package/src/action/dispatch.ts +0 -27
  667. package/src/action/doctor.ts +69 -329
  668. package/src/action/edition.ts +1 -87
  669. package/src/action/feature.ts +1 -49
  670. package/src/action/kind.ts +0 -149
  671. package/src/action/package.ts +0 -228
  672. package/src/action/resolve.ts +0 -148
  673. package/src/action/target.ts +0 -177
  674. package/src/cmp/AgentGuide.ts +0 -7
  675. package/src/cmp/AgentGuideContent.ts +0 -24
  676. package/src/cmp/AgentGuideTop.ts +0 -7
  677. package/src/cmp/Changelog.ts +0 -14
  678. package/src/cmp/Deploy.ts +1 -31
  679. package/src/cmp/Entity.ts +0 -4
  680. package/src/cmp/ExternalTarget.ts +0 -36
  681. package/src/cmp/Feature.ts +0 -14
  682. package/src/cmp/FeatureDocs.ts +0 -37
  683. package/src/cmp/PublishWorkflow.ts +0 -60
  684. package/src/cmp/ReadmeErrors.ts +0 -17
  685. package/src/cmp/ReadmeExplanation.ts +2 -11
  686. package/src/cmp/ReadmeFeatures.ts +0 -10
  687. package/src/cmp/ReadmeRefFeatures.ts +0 -19
  688. package/src/cmp/ReadmeStation.ts +0 -19
  689. package/src/cmp/ReadmeTop.ts +1 -81
  690. package/src/cmp/ReadmeUnions.ts +1 -16
  691. package/src/cmp/Registered.ts +0 -30
  692. package/src/cmp/Security.ts +0 -2
  693. package/src/cmp/Test.ts +4 -2
  694. package/src/cmp/TestControl.ts +0 -25
  695. package/src/helpers/applicability.ts +0 -60
  696. package/src/helpers/buildIdNames.ts +17 -19
  697. package/src/helpers/canonSpec.ts +2 -116
  698. package/src/helpers/canonType.ts +0 -87
  699. package/src/helpers/collectDeps.ts +0 -27
  700. package/src/helpers/definition.ts +0 -29
  701. package/src/helpers/dryrun.ts +0 -8
  702. package/src/helpers/featureSource.ts +0 -152
  703. package/src/helpers/getMatchEntries.ts +2 -6
  704. package/src/helpers/junk.ts +13 -89
  705. package/src/helpers/manifest.ts +0 -169
  706. package/src/helpers/modelNames.ts +6 -82
  707. package/src/helpers/modelcheck.ts +0 -106
  708. package/src/helpers/naming.ts +0 -303
  709. package/src/helpers/opExample.ts +0 -56
  710. package/src/helpers/opShape.ts +33 -233
  711. package/src/helpers/optspec.ts +0 -77
  712. package/src/helpers/packageMeta.ts +1 -200
  713. package/src/helpers/pointPath.ts +5 -65
  714. package/src/helpers/resolved.ts +39 -0
  715. package/src/helpers/semver.ts +0 -61
  716. package/src/helpers/serverVars.ts +0 -44
  717. package/src/helpers/shipped.ts +0 -14
  718. package/src/helpers/station.ts +0 -32
  719. package/src/helpers/stdrep.ts +0 -52
  720. package/src/helpers/testPolicy.ts +0 -4
  721. package/src/sdkgen.ts +18 -264
  722. package/src/testkit.ts +6 -312
  723. package/src/types.ts +1 -30
  724. package/src/utility.ts +16 -250
@@ -1,33 +1,3 @@
1
- // `registerComponent` — add a per-target component of your own.
2
- //
3
- // WHY THIS EXISTS
4
- //
5
- // Every built-in resolves its per-language half by convention:
6
- // `Main` loads `cmp/<target>/Main_<target>`, `Test` loads
7
- // `cmp/<target>/Test_<target>`, and `ReadmeTop` loads
8
- // `cmp/<target>/ReadmeTopQuick_<target>` with `{ ignore: true }` so a target
9
- // that has not implemented it is simply skipped.
10
- //
11
- // A PROJECT had no way into that mechanism. voxgig-solardemo-sdk wanted a
12
- // per-target `AGENTS.md` and had to hand-wire the dispatch in its own
13
- // `Root.ts`:
14
- //
15
- // if ('ts' === target.name) { AgentsTs({ target }) }
16
- // else if ('go' === target.name) { AgentsGo({ target }) }
17
- //
18
- // which duplicates the internal dispatch, does not scale past a couple of
19
- // targets, and — because the branches live inline in Root.ts — is exactly
20
- // what stops a project's root wiring from being resynced with the scaffold.
21
- //
22
- // With this, the same thing is one line and target-agnostic:
23
- //
24
- // const Agents = registerComponent('Agents')
25
- // ...
26
- // Agents({ target })
27
- //
28
- // resolving `cmp/<target>/Agents_<target>` and doing nothing for a target
29
- // that has no such file. `doctor` reports those files as ADDITIVE — the
30
- // project's own work — rather than as drift.
31
1
 
32
2
  import { cmp } from 'jostraca'
33
3
 
@@ -3,8 +3,6 @@ import { cmp, Content, File } from 'jostraca'
3
3
  import { SECURITY_EMAIL, apiName, repoInfo } from '../helpers/packageMeta'
4
4
 
5
5
 
6
- // Root SECURITY.md: a responsible-disclosure policy pointing at the Voxgig
7
- // security contact, with the generated / unofficial disclosure inline.
8
6
  const Security = cmp(function Security(props: any) {
9
7
  const { ctx$ } = props
10
8
  const { model } = ctx$
package/src/cmp/Test.ts CHANGED
@@ -8,6 +8,8 @@ import { requirePath } from '../utility'
8
8
  import { ensureStdrep } from '../helpers/stdrep'
9
9
 
10
10
 
11
+ import { liveHint } from '../helpers/resolved'
12
+
11
13
  import {
12
14
  KIT,
13
15
  getModelPath
@@ -21,11 +23,11 @@ const Test = cmp(function Test(props: any) {
21
23
 
22
24
  const points = Object.values(model.main.kit.entity || {}).flatMap((entity: any) =>
23
25
  Object.values(entity.op || {}).flatMap((op: any) => op.points || [])) as any[]
24
- if (points.some(point => point.contract && JSON.parse(point.contract.json).live)) {
26
+ if (points.some(point => liveHint(point))) {
25
27
  const supported = ['ts', 'js'].includes(target.name)
26
28
  File({ name: 'live-coverage.json' }, () => Content(JSON.stringify({
27
29
  version: 1, target: target.name, scenarios: supported ? 'supported' : 'unsupported',
28
- points: points.map(point => point.contract?.id || point.method + ' ' + point.orig),
30
+ points: points.map(point => point.co?.id || point.m + ' ' + point.o),
29
31
  ...(!supported ? { reason: 'This target does not yet execute declarative live recipes. Its existing tests do not establish full operation coverage.' } : {}),
30
32
  }, null, 2)))
31
33
  if (!supported) log.warn({ point: 'live-scenarios-unsupported', note: 'Declarative live recipes are not executed by target ' + target.name })
@@ -17,31 +17,6 @@ const TEST_CONTROL_FILE = 'sdk-test-control.json'
17
17
  const TEST_CONTROL_EXCLUDE = new RegExp('(^|/)' + TEST_CONTROL_FILE + '$')
18
18
 
19
19
 
20
- // `sdk-test-control.json` is the ONE generated file a project is meant to edit
21
- // by hand: it names the tests to skip, the live pacing, and the extra client
22
- // options a live run needs (`test.client.options`).
23
- //
24
- // It shipped as part of each target's blanket `Copy({ from: 'tm/<lang>' })`,
25
- // and a Copy has no per-file "leave it alone if it already exists" — so every
26
- // `npm run generate` overwrote whatever the project had put there. The
27
- // documented workaround, editing the template master under `.sdk/tm/`, is
28
- // worse: `doctor` reports it as drift and the next `target add <lang>` reverts
29
- // it.
30
- //
31
- // So it is emitted HERE instead, write-once: `File({ exclude: true })` returns
32
- // early when the file already exists (FileOp), which is exactly the semantics
33
- // the file is documented to have. A project without one yet gets the
34
- // template's default; a project that has edited one keeps its edits across
35
- // both `generate` and `target add`.
36
- //
37
- // The content still comes from the target's own template, so there remains
38
- // exactly one copy of the default on disk.
39
- //
40
- // The template is addressed the SAME way the Copy this replaces addressed it:
41
- // `tm/<lang>/...` relative to the working directory, which is the project's
42
- // `.sdk`. Resolved to absolute here because Fragment resolves a RELATIVE
43
- // `from` against the OUTPUT folder instead — a different base, and the one
44
- // place these two could silently disagree.
45
20
  const TestControl = cmp(function TestControl(props: {
46
21
  target: { name: string }
47
22
  dir: string
@@ -1,37 +1,7 @@
1
- // Which features a target can actually take.
2
- //
3
- // THE ONE PLACE THIS RULE LIVES. `Feature` (what source is copied), the
4
- // per-language `Config_<lang>` and `Main_<lang>` components (what the
5
- // generated registry, imports and metadata contain) and `configDefinition`
6
- // (the embedded config) must all reach the same answer for one
7
- // (feature, target) pair. They previously each read the raw feature map,
8
- // which is how a feature with no source for a target still reached that
9
- // target's imports.
10
- //
11
- // The shape is `docs/design/feature-tags.md`: a feature declares what it
12
- // NEEDS, a target declares what it PROVIDES, and the feature applies when
13
- // `needs` is a subset of `provides`. Both default to empty, so a feature
14
- // that needs nothing applies everywhere — every feature that existed
15
- // before this gate keeps its behaviour with no model edit, which is what
16
- // makes the change additive.
17
- //
18
- // A named target list was the cheaper design and fails on time: it has to
19
- // be edited for targets the feature's author has never heard of, so a
20
- // published package starves every target added after its release. A tag is
21
- // a claim about the feature that stays true as the target set grows.
22
1
 
23
2
  import { KIT, getModelPath } from '@voxgig/apidef'
24
3
 
25
4
 
26
- // Tags are a MAP keyed by tag name, `{ sekreto: true }` — see the schema
27
- // note on `needs`. A map because aontu unifies maps by key, so a package
28
- // can add one tag without restating the others; and because a defaulted
29
- // list disjunction in this position hangs the unifier on a real project's
30
- // model. A tag counts only when its value is true, so a tag can be turned
31
- // off by overriding it rather than by deleting the key.
32
- //
33
- // A list is still accepted, for a hand-written model that used the shape
34
- // docs/design/feature-tags.md first proposed.
35
5
  function tags(val: any): string[] {
36
6
  if (Array.isArray(val)) {
37
7
  return val.filter((t: any) => 'string' === typeof t)
@@ -49,8 +19,6 @@ function tags(val: any): string[] {
49
19
  function featureApplies(feature: any, target: any): boolean {
50
20
  const needs = tags(feature && feature.needs)
51
21
 
52
- // The common case, and the reason this is additive: no needs, applies
53
- // anywhere. Checked first so a target with no `provides` is unaffected.
54
22
  if (0 === needs.length) {
55
23
  return true
56
24
  }
@@ -61,12 +29,6 @@ function featureApplies(feature: any, target: any): boolean {
61
29
  }
62
30
 
63
31
 
64
- // The features that apply to `target`, in the same map shape
65
- // `getModelPath(model, 'main.<kit>.feature')` returns — already
66
- // active-filtered by getModelPath, then gated by the tags.
67
- //
68
- // `target` may be the target object or its name; components hold the
69
- // object, `configDefinition` is only given the name.
70
32
  function targetFeatures(model: any, target: any): Record<string, any> {
71
33
  const feature = getModelPath(model, `main.${KIT}.feature`, { required: false }) || {}
72
34
 
@@ -80,10 +42,6 @@ function targetFeatures(model: any, target: any): Record<string, any> {
80
42
  return feature
81
43
  }
82
44
 
83
- // Keyed off the map, not off `f.name`: the key is what every consumer
84
- // indexes by, and rebuilding from a field would drop an entry whose
85
- // model never set one. Order is not preserved on purpose — consumers
86
- // re-sort with `each`, which is what keeps output byte-stable.
87
45
  const applies: Record<string, any> = {}
88
46
  for (const [name, f] of Object.entries(feature as Record<string, any>)) {
89
47
  if (featureApplies(f, t)) {
@@ -95,28 +53,10 @@ function targetFeatures(model: any, target: any): Record<string, any> {
95
53
  }
96
54
 
97
55
 
98
- // THE CLOSED VOCABULARY. The schema comment says applicability tags are a
99
- // closed set; without this, `provides: &: boolean` accepts any key, so a
100
- // typo (`sekrreto`) compiles cleanly and silently makes the feature apply
101
- // NOWHERE — the worst failure shape, because the feature simply vanishes
102
- // with no diagnostic.
103
- //
104
- // Extended by adding a tag here AND documenting it in model/sdkgen.aon.
105
56
  const TAGS = [
106
57
  // A vendored sekreto port lives in this target's feature container.
107
58
  'sekreto',
108
59
 
109
- // The target can VALIDATE against the generated `Schema` module: the
110
- // model's option spec and, when a feature asks for them, per-entity
111
- // struct.validate specs.
112
- //
113
- // NOT "emits Schema". Every target emits one — make_options reads the
114
- // option spec out of it — so that claim is universal and gates nothing.
115
- // This tag is the `validate` FEATURE's `needs`, and a feature
116
- // also needs its per-target source: tagging a target that has no
117
- // `tm/<lang>/src/feature/validate/` makes the feature apply with nothing
118
- // to copy. featuremodel.test.ts holds the two together in both
119
- // directions.
120
60
  'schema',
121
61
  ]
122
62
 
@@ -1,15 +1,3 @@
1
- // Build the list of placeholder ID names that the test setup populates into
2
- // `setup.idmap`. The set is the union of:
3
- // - the entity's own ids (`<entity>01..03`)
4
- // - every ancestor entity's ids (`<anc>01..03`)
5
- // - every literal string value referenced by `step.match` across the flow
6
- // (e.g. path-parameter aliases like `year01` for `/{year}/domain` — apidef
7
- // doesn't always populate `relations.ancestors` when the parent in the
8
- // path is a bare parameter rather than an entity, so we have to mine the
9
- // flow steps directly to avoid KeyError-ing the idmap from generated test
10
- // code)
11
- //
12
- // Identical helper was previously inlined in TestEntity_{go,py,lua,rb,php}.ts.
13
1
 
14
2
  const COUNT = 3 // 3 ids per name: <name>01, <name>02, <name>03
15
3
 
@@ -38,24 +26,24 @@ function buildIdNames(entity: EntityLike, flow: FlowLike): string[] {
38
26
 
39
27
  const ancestors: string[] = (entity.relations?.ancestors || []).flat()
40
28
  for (const anc of ancestors) {
41
- for (let i = 1; i <= COUNT; i++) push(`${anc}0${i}`)
29
+ for (let i = 1; i <= COUNT; i++) push(`${entityRelationName(anc)}0${i}`)
42
30
  }
43
31
 
44
32
  const steps = Array.isArray(flow?.step)
45
33
  ? flow.step
46
34
  : Object.values(flow?.step || {})
47
- for (const step of steps) {
48
- if (step?.match) {
49
- for (const v of Object.values(step.match)) {
35
+ for (const step of steps.filter((s: any) => false !== s.a)) {
36
+ if (step?.m) {
37
+ for (const v of Object.values(step.m)) {
50
38
  if (typeof v === 'string' && v && !v.endsWith('$')) push(v)
51
39
  }
52
40
  }
53
- // step.data values can also be aliased via setup (e.g. update step.data
41
+ // step.d values can also be aliased via setup (e.g. update step.d
54
42
  // = {data_type_id: 'data_type01'} → setup adds idmap[data_type_id] =
55
43
  // idmap[data_type01]). The right-hand side `data_type01` must be in the
56
44
  // idmap or the alias resolves to undefined.
57
- if (step?.data) {
58
- for (const v of Object.values(step.data)) {
45
+ if (step?.d) {
46
+ for (const v of Object.values(step.d)) {
59
47
  if (typeof v === 'string' && v && !v.endsWith('$')) push(v)
60
48
  }
61
49
  }
@@ -65,6 +53,16 @@ function buildIdNames(entity: EntityLike, flow: FlowLike): string[] {
65
53
  }
66
54
 
67
55
 
56
+ function entityRelationName(ref: string): string {
57
+ return ref.startsWith('$.main.kit.entity.') ? ref.slice('$.main.kit.entity.'.length) : ref
58
+ }
59
+
60
+ function flowSteps(flow: FlowLike): any[] {
61
+ return Object.values(flow?.step || {}).filter((step: any) => false !== step.a)
62
+ }
63
+
68
64
  export {
69
65
  buildIdNames,
66
+ entityRelationName,
67
+ flowSteps,
70
68
  }
@@ -1,42 +1,3 @@
1
- // Canonical type-sentinel -> struct.validate SPEC mapper.
2
- //
3
- // The sibling of canonType: that table turns a field's canon sentinel into a
4
- // language TYPE NAME (what the generated source declares); this one turns the
5
- // same sentinel into a struct.validate SPEC VALUE (what the generated runtime
6
- // checks a payload against). One vocabulary, two renderings, and — as with
7
- // canonType — a SINGLE mapping that components must not copy locally.
8
- //
9
- // WHY THIS IS ALMOST NOTHING. apidef stores `$STRING`, `$INTEGER`, `$NUMBER`,
10
- // `$BOOLEAN`, `$NULL`, `$ARRAY`, `$OBJECT`, `$ANY` on `fields[].type`, and
11
- // struct.validate's own vocabulary is `$STRING $NUMBER $INTEGER $DECIMAL
12
- // $BOOLEAN $NULL $NIL $MAP $LIST $FUNCTION $INSTANCE $ANY $CHILD $ONE $EXACT`.
13
- // Six of the eight scalar names are the IDENTICAL string. Only three things
14
- // have to be adapted, and each is a real difference rather than a translation:
15
- //
16
- // 1. CONTAINERS ARE NAMED DIFFERENTLY. apidef speaks OpenAPI ($ARRAY,
17
- // $OBJECT), struct speaks its own value model ($LIST, $MAP).
18
- //
19
- // 2. UNIONS ARE SHAPED DIFFERENTLY. apidef nests the members —
20
- // ['`$ONE`', [a, b]] — and struct wants them flat: ['`$ONE`', a, b].
21
- // The nested form does not fail loudly, which is the trap: struct reads
22
- // the inner LIST as a single alternative, so `['`$ONE`', ['`$STRING`',
23
- // '`$INTEGER`']]` rejects the string 'x' with "expected [string,integer]".
24
- //
25
- // 3. STRUCT'S `$STRING` REJECTS THE EMPTY STRING. That is right for an
26
- // option (an empty apikey is a missing apikey) and wrong for API data,
27
- // where '' is an ordinary value a server returns. A field spec therefore
28
- // widens to ['`$ONE`', '`$STRING`', ['`$EXACT`', '']].
29
- //
30
- // OPTIONALITY. struct requires every key its spec names, so an optional field
31
- // is the union of its type with `$NIL` (which matches an ABSENT value; `$NULL`
32
- // matches a stored JSON null). `req: false` on a field, and `optional: true`
33
- // on an opRequestShape item, both land here.
34
- //
35
- // WHAT THIS CANNOT EXPRESS, because the model does not carry it (the same
36
- // KNOWN GAPS canonType records): array ELEMENT types, nested object schemas,
37
- // enums, string formats, and any numeric or length bound. A spec built here
38
- // checks the shape the model knows about and nothing more — which is why
39
- // record specs are `$OPEN` (below) rather than closed.
40
1
 
41
2
  import { each } from 'jostraca'
42
3
 
@@ -63,16 +24,12 @@ const S_NULL = sentinel('NULL')
63
24
  const S_OPEN = sentinel('OPEN')
64
25
 
65
26
 
66
- // Canon sentinel key -> the struct.validate sentinel that checks it.
67
- // STRING is deliberately absent: it needs the empty-string widening above and
68
- // is handled in canonToSpec, so a caller cannot get the bare form by accident.
69
27
  const CANON_STRUCT: Record<string, string> = {
70
28
  INTEGER: sentinel('INTEGER'),
71
29
  NUMBER: sentinel('NUMBER'),
72
30
  BOOLEAN: sentinel('BOOLEAN'),
73
31
  NULL: sentinel('NULL'),
74
32
 
75
- // The container renaming (difference 1 above).
76
33
  ARRAY: sentinel('LIST'),
77
34
  OBJECT: sentinel('MAP'),
78
35
 
@@ -80,7 +37,6 @@ const CANON_STRUCT: Record<string, string> = {
80
37
  }
81
38
 
82
39
 
83
- // A string that may be empty (difference 3 above).
84
40
  const SPEC_STRING: any[] = [S_ONE, S_STRING, [S_EXACT, '']]
85
41
 
86
42
 
@@ -94,16 +50,7 @@ function alternatives(spec: any): any[] {
94
50
  }
95
51
 
96
52
 
97
- // A spec that also admits an ABSENT value.
98
- //
99
- // struct requires every key its spec names, so this is how "optional" is
100
- // spelled. Flattened through `alternatives`, so widening something that is
101
- // already a union (an empty-string-tolerant `$STRING`, an apidef `$ONE`)
102
- // adds one member rather than nesting a union inside a union — which struct
103
- // reads as a single alternative and rejects.
104
53
  function optionalSpec(spec: any): any {
105
- // `$ANY` already admits an absent value, so widening it would only make
106
- // the spec longer and its error messages worse.
107
54
  if (S_ANY === spec) {
108
55
  return spec
109
56
  }
@@ -112,14 +59,6 @@ function optionalSpec(spec: any): any {
112
59
  }
113
60
 
114
61
 
115
- // Map one field/param type sentinel to a struct.validate spec value.
116
- //
117
- // Unknown or missing sentinel -> `$ANY`, never a throw: this mirrors
118
- // canonToType's contract, and for the same reason. A sentinel this table has
119
- // not met is a model the generator should still emit for, and an over-strict
120
- // spec would reject live traffic at runtime rather than fail a build.
121
- //
122
- // `optional` widens the result with `$NIL` so an absent key passes.
123
62
  function canonToSpec(type: unknown, optional?: boolean): any {
124
63
  let spec: any
125
64
 
@@ -136,27 +75,6 @@ function canonToSpec(type: unknown, optional?: boolean): any {
136
75
  }
137
76
  }
138
77
 
139
- // A NULLABLE FIELD NEEDS `$NIL`, NOT JUST `$NULL`.
140
- //
141
- // apidef writes a nullable field as ['`$ONE`', [<type>, '`$NULL`']],
142
- // and `$NULL` on its own does match a stored null. Inside a union it
143
- // does not: struct resolves each alternative through a lookup that
144
- // reads a stored null as "no value", so the value that reaches the
145
- // `$NULL` validator is undefined and every nullable field rejected the
146
- // one value it exists to allow. `$NIL` matches that no-value, so the
147
- // pair covers both readings.
148
- //
149
- // THE COST, stated because it is real and not an oversight: `$NIL` is
150
- // also how an OPTIONAL field is spelled, and struct cannot tell a
151
- // stored null from an absent key inside a union — the lookup collapses
152
- // them before any alternative sees the value. So a REQUIRED nullable
153
- // field (`string | null`, `req: true`) also passes when the key is
154
- // missing. The alternative is worse: drop `$NIL` and a nullable field
155
- // rejects null, which is the one value it is declared to hold, for
156
- // EVERY such field rather than weakening presence on a subset. Closing
157
- // the gap needs a presence check outside struct, i.e. a second
158
- // validation mechanism beside the one this whole module exists to
159
- // reuse. Revisit if struct gains a spelling that separates them.
160
78
  if (0 <= members.indexOf(S_NULL) && members.indexOf(S_NIL) < 0) {
161
79
  members.push(S_NIL)
162
80
  }
@@ -178,35 +96,21 @@ function canonToSpec(type: unknown, optional?: boolean): any {
178
96
  }
179
97
 
180
98
 
181
- // The spec for one entity RECORD: every active field, keyed by name.
182
- //
183
- // OPEN, ALWAYS. apidef records the properties a spec declared, which is not a
184
- // promise that a response carries nothing else — a server that adds a field is
185
- // not breaking its clients, and a closed spec would turn that into a client
186
- // error for every caller at once. The declared fields are type-checked; the
187
- // rest pass. A caller who wants the closed reading drops `$OPEN` at runtime
188
- // (the validate feature's `strict` option does exactly that).
189
99
  function entityDataSpec(ent: any): Record<string, any> {
190
100
  const spec: Record<string, any> = { [S_OPEN]: true }
191
101
 
192
102
  const fields = (ent && ent.fields) ? each(ent.fields) : []
193
103
  for (const f of fields) {
194
- if (null == f || null == f.name || false === f.active) {
104
+ if (null == f || null == f.n || false === f.a) {
195
105
  continue
196
106
  }
197
- spec[f.name] = canonToSpec(f.type, false === f.req)
107
+ spec[f.n] = canonToSpec(f.t, false === f.r)
198
108
  }
199
109
 
200
110
  return spec
201
111
  }
202
112
 
203
113
 
204
- // The spec for one operation's REQUEST payload.
205
- //
206
- // The members and their optionality are opRequestShape's answer, not a second
207
- // reading of the model: the partiality policy that decides what a generated
208
- // `<Name>CreateData` requires is the same policy that decides what a create
209
- // call must carry, and two copies of it would drift the moment one is edited.
210
114
  function entityOpSpec(ent: any, opname: string): Record<string, any> | null {
211
115
  const { items } = opRequestShape(ent, opname)
212
116
  if (0 === items.length) {
@@ -241,24 +145,6 @@ function entitySpecs(ent: any): { data: Record<string, any>, op: Record<string,
241
145
  }
242
146
 
243
147
 
244
- // A DEFAULT VALUE, read as a type.
245
- //
246
- // A feature declares its options as defaults (`ttl: 5000`, `currency: 'USD'`,
247
- // `methods: ['GET']`) — a map written to document what happens when you say
248
- // nothing, not to state a type. struct.validate reads it by example, and by
249
- // example is SHARPER than the author meant: `unit: 0` says "an integer", so
250
- // cost's own `unit: 0.002` failed its own feature's spec; `header: ''` says
251
- // "a non-empty string", which the default itself is not.
252
- //
253
- // So the default is kept for its KIND and widened to that kind's sentinel.
254
- // Nothing is lost by dropping the value: a feature's defaults are applied by
255
- // the feature's own code (`this._options.currency || 'USD'`), never by this
256
- // spec — each feature entry is optional, and struct fills in nothing through
257
- // an optional union.
258
- //
259
- // This applies to a DEFAULTS map only. `main.kit.optspec` is written as a
260
- // spec, so its concrete values are the author's own choice of constraint and
261
- // are passed through untouched.
262
148
  function byExampleSpec(val: any): any {
263
149
  if (null == val) {
264
150
  return S_ANY
@@ -1,36 +1,3 @@
1
- // Canonical type-sentinel -> language primitive type mapper.
2
- //
3
- // SOURCE OF TRUTH for the sentinel set: @voxgig/apidef (`VALID_CANON` +
4
- // `CANON_ONE`, exported from the package). VALID_CANON maps an OpenAPI type
5
- // NAME -> a `$SENTINEL` string (e.g. 'string' -> `$STRING`). The model stores
6
- // those sentinels on every `fields[].type` and op `points[].args.params[].type`.
7
- // A multi-type (OpenAPI `type: [a, b]`) is stored as the ARRAY-shaped union
8
- // sentinel `['`$ONE`', [member, ...]]` (see canonToType below).
9
- //
10
- // This table maps the SENTINEL the other way -> a concrete primitive type in
11
- // each target language, so the typed-model generators (EntityTypes_<lang>.ts)
12
- // and the README type columns (ReadmeRef_<lang>.ts / ReadmeEntity_<lang>.ts)
13
- // can turn the model's field/param sentinels into real language types. It is
14
- // the SINGLE mapping per language: components must not keep local copies.
15
- //
16
- // Kept as a small mirror here (rather than importing VALID_CANON at runtime)
17
- // because apidef is a peer dependency and the table is the INVERSE direction.
18
- //
19
- // `ts/test/canonsync.test.ts` guards it two ways: the vocabulary and every
20
- // language column are pinned LOCALLY (that check always runs), and the table
21
- // is cross-checked against apidef's exported VALID_CANON/CANON_ONE when the
22
- // installed apidef exports them. Note that the currently published apidef
23
- // (6.3.1) does NOT export them, so the cross-check skips — do not rely on it
24
- // alone; add a new sentinel to the local list in the same change.
25
- //
26
- // KNOWN GAPS (papered over sanely, documented for the port):
27
- // - Unknown / missing sentinel -> the language's "any" (never throws).
28
- // - Array element typing is not in the model: $ARRAY maps to an untyped
29
- // list/array. `list` ops return T[] via op-kind inference in the op
30
- // fragment, NOT via a field sentinel.
31
- // - Object/nested field schemas are not in the corpus: $OBJECT maps to the
32
- // language's open record/map type.
33
- // - No enum/format/nullability beyond the `req` flag.
34
1
 
35
2
  // Target languages sdkgen supports (go-cli / go-mcp reuse 'go'). The targets
36
3
  // with a fully dynamic value model (clojure, haskell, ocaml, perl, zig) have
@@ -41,15 +8,6 @@ type CanonLang =
41
8
  | 'csharp' | 'java' | 'kotlin' | 'scala' | 'swift' | 'dart'
42
9
  | 'rust' | 'c' | 'cpp' | 'elixir'
43
10
 
44
- // Bare sentinel key (backticks + leading `$` stripped, upper-cased)
45
- // -> per-language primitive type name.
46
- //
47
- // Column notes:
48
- // - kotlin: every type is nullable (`?`) — the kotlin emitter drops
49
- // per-member optionality because the column is already-nullable.
50
- // - java/scala: boxed JVM types (nullable), so optionality needs no marker.
51
- // - rust/c/cpp/swift: `Value`/`voxgig_value*`/`VMap` are the vendored
52
- // dynamic value types those runtimes ship.
53
11
  const CANON_TYPE: Record<string, Record<CanonLang, string>> = {
54
12
  STRING: {
55
13
  ts: 'string', js: 'string', py: 'str', php: 'string', rb: 'String',
@@ -114,11 +72,6 @@ const CANON_ANY: Record<CanonLang, string> = {
114
72
  rust: 'Value', c: 'voxgig_value*', cpp: 'Value', elixir: 'any()',
115
73
  }
116
74
 
117
- // Union ($ONE) member separator for languages with a native union/sum type
118
- // syntax. Languages absent here have no way to express an anonymous union in
119
- // a type position, so a $ONE sentinel degrades to that language's "any".
120
- // (php 8 unions exist but cannot combine with the `?` optional prefix the
121
- // emitters use, so php deliberately degrades to `mixed`.)
122
75
  const CANON_UNION_JOIN: Partial<Record<CanonLang, string>> = {
123
76
  ts: ' | ',
124
77
  js: '|',
@@ -128,23 +81,6 @@ const CANON_UNION_JOIN: Partial<Record<CanonLang, string>> = {
128
81
  }
129
82
 
130
83
 
131
- // Canonical sentinel -> pandas dtype, for the `py-data` target's generated
132
- // DataFrame accessors. Deliberately NOT a CanonLang column: py-data is a
133
- // consumer target layered on `py`, not a language, and these are storage
134
- // dtypes rather than type-annotation names.
135
- //
136
- // NULLABLE dtypes throughout ('Int64' not 'int64', 'boolean' not 'bool').
137
- // The model carries no nullability beyond the `req` flag, and API payloads
138
- // omit optional fields freely, so a column that looks integral in one page
139
- // can arrive with nulls in the next. NumPy's int64/bool cannot hold NA and
140
- // would silently upcast to float64/object mid-fetch, changing a column's
141
- // dtype based on which rows came back — the pandas nullable extension types
142
- // keep it stable.
143
- //
144
- // There is no $DATE / $DATETIME sentinel in apidef's vocabulary (the model
145
- // carries no string formats), so date handling is NOT inferred here. It is
146
- // an explicit runtime opt-in via the accessor's `parse_dates=` kwarg. Do not
147
- // add a DATE row unless apidef starts emitting the sentinel.
148
84
  const PANDAS_DTYPE: Record<string, string> = {
149
85
  STRING: 'string',
150
86
  INTEGER: 'Int64',
@@ -182,21 +118,6 @@ function canonKey(sentinel: unknown): string {
182
118
  }
183
119
 
184
120
 
185
- // The bare key of the sentinel a VALUE of this type must satisfy, resolving
186
- // the union sentinel `['`$ONE`', [member, ...]]` to its first non-NULL member
187
- // (recursively — a member may itself be a union).
188
- //
189
- // canonKey alone cannot do this: given an array it stringifies it, so a
190
- // nullable `['`$ONE`', ['`$NUMBER`','`$NULL`']]` field yields neither NUMBER
191
- // nor anything else recognizable and every caller falls through to its
192
- // "unknown, use a string" branch. canonToType meanwhile renders that same
193
- // sentinel as `number | null`, so the doc example said `'..._id'` while the
194
- // generated type said `number` — a TS2322 in the SDK's own README, which is
195
- // exactly the disagreement the example helpers exist to prevent.
196
- //
197
- // A union of nothing but NULL resolves to NULL; an unrecognized array shape,
198
- // or an empty member list, resolves to '' (unknown) like any missing
199
- // sentinel.
200
121
  function canonScalarKey(sentinel: unknown): string {
201
122
  if (Array.isArray(sentinel)) {
202
123
  if ('ONE' !== canonKey(sentinel[0]) || !Array.isArray(sentinel[1])) {
@@ -219,14 +140,6 @@ function canonScalarKey(sentinel: unknown): string {
219
140
  }
220
141
 
221
142
 
222
- // Map a field/param type sentinel to a target-language primitive type.
223
- // Unknown or missing sentinel -> that language's "any" (never throws).
224
- //
225
- // The union sentinel `['`$ONE`', [member, ...]]` (apidef CANON_ONE, produced
226
- // for OpenAPI multi-types) renders as a joined member union in languages with
227
- // union syntax (see CANON_UNION_JOIN); elsewhere it degrades to "any".
228
- // Members may themselves be unions (handled recursively) or the literal
229
- // 'Any' apidef emits for an unknown member name (canonKey maps it to ANY).
230
143
  function canonToType(sentinel: unknown, lang: string): string {
231
144
  const l = lang as CanonLang
232
145
  const fallback = CANON_ANY[l] ?? 'any'
@@ -1,24 +1,3 @@
1
- // Collect target-language dependencies from features and from the target's
2
- // own `deps` block, applying the active-flag semantics that every Package_*.ts
3
- // template was hand-rolling identically:
4
- //
5
- // - feature deps : included when `dep.active === true` (default off)
6
- // - plugin deps : the same, and only for an ACTIVE plugin of that feature
7
- // - target deps : included when `dep.active !== false` (default on)
8
- //
9
- // THE PLUGIN LEVEL IS GATED ONE STEP DEEPER THAN THE FEATURE. A feature's
10
- // deps flow as soon as the feature is active; a plugin is a trimmable part
11
- // within an active feature, so a dependency only its files use must not
12
- // reach the manifest until that plugin is active too. rust's mini vault is
13
- // the case: it takes `ring` for AES-256-GCM, and at feature level that
14
- // would land in every secrets-enabled rust SDK, including the ones whose
15
- // chain is `[env, dotenv]` and which never compile a vault.
16
- //
17
- // The two sources are kept distinct via the `source` field so callers can
18
- // apply their own version defaults / formatting (e.g. go uses `v0.0.0`,
19
- // python `0.0`). The original dep object is exposed as `raw` for callers that
20
- // need extra fields like `dep.replace` (go module replace directives) or
21
- // `dep.kind` (prod/dev/peer).
22
1
 
23
2
  import { targetFeatures } from './applicability'
24
3
 
@@ -45,12 +24,6 @@ function collectDeps(
45
24
  // dependency into its generated manifest.
46
25
  const feature = targetFeatures(model, targetName)
47
26
 
48
- // Deduplicate by package name. Two features can require the same package
49
- // (or a feature and the target itself can), and every Package_<lang>.ts
50
- // renders one manifest line per entry — a duplicate key is a hard parse
51
- // error in go.mod and Cargo.toml, and silently last-wins in package.json.
52
- // FIRST occurrence wins, so the deterministic (sorted-key) feature order
53
- // decides; a conflicting version is reported rather than silently dropped.
54
27
  const seen: Record<string, DepEntry> = {}
55
28
 
56
29
  const add = (dep: any, source: 'feature' | 'target', owner: string) => {
@@ -1,18 +1,3 @@
1
- // WHERE A KIND'S DEFINITION FILES LIVE.
2
- //
3
- // `model/<kind>/<name>.aon`, with `model/<kind>/<kind>-index.aon` as the
4
- // include list beside them. One line of path-building — and it was written out
5
- // longhand in three places (the resolver, the feature catalogue, doctor), each
6
- // with its own idea of which files in that directory count.
7
- //
8
- // That is the same shape of defect this workstream has now fixed four times:
9
- // the same rule expressed twice, drifting. The manifest makes it four callers,
10
- // so it becomes one function first.
11
- //
12
- // The EXCLUSIONS matter as much as the path. A `model/<kind>/` directory holds
13
- // the index file (a list of includes, not a definition) and, in the shipped
14
- // scaffold, a `README.md`. Neither is an item, and a caller that forgets one
15
- // invents a `feature-index` feature.
16
1
 
17
2
  import Path from 'node:path'
18
3
 
@@ -37,24 +22,10 @@ function indexName(kind: string): string {
37
22
  }
38
23
 
39
24
 
40
- // Every item of `kind` a `.sdk` folder DEFINES, sorted. Sorted because it
41
- // feeds an exact-set comparison against a manifest and, through
42
- // `availableFeatures`, the feature-trim catalogue — both of which are compared
43
- // as text, so a readdir order that varies by filesystem would vary the result.
44
- //
45
- // An absent directory is not an error: a package providing only features has
46
- // no `model/target/`, and that is the normal shape of a feature package.
47
25
  function definitionNames(fs: any, sdkfolder: string, kind: string): string[] {
48
26
  const dir = definitionFolder(sdkfolder, kind)
49
27
  const index = indexName(kind)
50
28
 
51
- // `existsSync` is true for a REGULAR FILE and for a directory this process
52
- // cannot read, so guarding on it and then calling `readdirSync` let a bare
53
- // `ENOTDIR`/`EACCES` escape to callers that have no catch — including
54
- // `featureCatalogue`, which runs on every ordinary `target add`, so the
55
- // whole add aborted with an errno instead of a diagnostic. Not-a-readable-
56
- // directory is the same answer as not-there: this kind defines nothing
57
- // here.
58
29
  let entries: string[]
59
30
  try {
60
31
  entries = fs.readdirSync(dir)