@voxgig/sdkgen 4.21.0 → 4.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (672) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/dist/action/action.js +0 -65
  3. package/dist/action/action.js.map +1 -1
  4. package/dist/action/check.js +0 -88
  5. package/dist/action/check.js.map +1 -1
  6. package/dist/action/dispatch.js +0 -27
  7. package/dist/action/dispatch.js.map +1 -1
  8. package/dist/action/doctor.d.ts +1 -0
  9. package/dist/action/doctor.js +55 -321
  10. package/dist/action/doctor.js.map +1 -1
  11. package/dist/action/edition.js +1 -87
  12. package/dist/action/edition.js.map +1 -1
  13. package/dist/action/feature.js +0 -48
  14. package/dist/action/feature.js.map +1 -1
  15. package/dist/action/kind.js +0 -132
  16. package/dist/action/kind.js.map +1 -1
  17. package/dist/action/package.js +0 -221
  18. package/dist/action/package.js.map +1 -1
  19. package/dist/action/resolve.js +0 -145
  20. package/dist/action/resolve.js.map +1 -1
  21. package/dist/action/target.js +0 -177
  22. package/dist/action/target.js.map +1 -1
  23. package/dist/cmp/AgentGuide.js +0 -7
  24. package/dist/cmp/AgentGuide.js.map +1 -1
  25. package/dist/cmp/AgentGuideContent.js +0 -24
  26. package/dist/cmp/AgentGuideContent.js.map +1 -1
  27. package/dist/cmp/AgentGuideTop.js +0 -7
  28. package/dist/cmp/AgentGuideTop.js.map +1 -1
  29. package/dist/cmp/Changelog.js +0 -14
  30. package/dist/cmp/Changelog.js.map +1 -1
  31. package/dist/cmp/Deploy.js +1 -31
  32. package/dist/cmp/Deploy.js.map +1 -1
  33. package/dist/cmp/Entity.js +0 -4
  34. package/dist/cmp/Entity.js.map +1 -1
  35. package/dist/cmp/ExternalTarget.js +0 -36
  36. package/dist/cmp/ExternalTarget.js.map +1 -1
  37. package/dist/cmp/Feature.js +0 -14
  38. package/dist/cmp/Feature.js.map +1 -1
  39. package/dist/cmp/FeatureDocs.js +0 -25
  40. package/dist/cmp/FeatureDocs.js.map +1 -1
  41. package/dist/cmp/PublishWorkflow.js +0 -60
  42. package/dist/cmp/PublishWorkflow.js.map +1 -1
  43. package/dist/cmp/ReadmeErrors.js +0 -2
  44. package/dist/cmp/ReadmeErrors.js.map +1 -1
  45. package/dist/cmp/ReadmeExplanation.js +0 -5
  46. package/dist/cmp/ReadmeExplanation.js.map +1 -1
  47. package/dist/cmp/ReadmeFeatures.js +0 -10
  48. package/dist/cmp/ReadmeFeatures.js.map +1 -1
  49. package/dist/cmp/ReadmeRefFeatures.js +0 -19
  50. package/dist/cmp/ReadmeRefFeatures.js.map +1 -1
  51. package/dist/cmp/ReadmeStation.js +0 -19
  52. package/dist/cmp/ReadmeStation.js.map +1 -1
  53. package/dist/cmp/ReadmeTop.js +0 -80
  54. package/dist/cmp/ReadmeTop.js.map +1 -1
  55. package/dist/cmp/ReadmeUnions.js +0 -15
  56. package/dist/cmp/ReadmeUnions.js.map +1 -1
  57. package/dist/cmp/Registered.js +0 -30
  58. package/dist/cmp/Registered.js.map +1 -1
  59. package/dist/cmp/Security.js +0 -2
  60. package/dist/cmp/Security.js.map +1 -1
  61. package/dist/cmp/Test.js +2 -1
  62. package/dist/cmp/Test.js.map +1 -1
  63. package/dist/cmp/TestControl.js +0 -25
  64. package/dist/cmp/TestControl.js.map +1 -1
  65. package/dist/helpers/applicability.js +0 -60
  66. package/dist/helpers/applicability.js.map +1 -1
  67. package/dist/helpers/buildIdNames.js +0 -12
  68. package/dist/helpers/buildIdNames.js.map +1 -1
  69. package/dist/helpers/canonSpec.js +0 -114
  70. package/dist/helpers/canonSpec.js.map +1 -1
  71. package/dist/helpers/canonType.js +0 -87
  72. package/dist/helpers/canonType.js.map +1 -1
  73. package/dist/helpers/collectDeps.js +0 -27
  74. package/dist/helpers/collectDeps.js.map +1 -1
  75. package/dist/helpers/definition.js +0 -29
  76. package/dist/helpers/definition.js.map +1 -1
  77. package/dist/helpers/dryrun.js +0 -8
  78. package/dist/helpers/dryrun.js.map +1 -1
  79. package/dist/helpers/featureSource.js +0 -145
  80. package/dist/helpers/featureSource.js.map +1 -1
  81. package/dist/helpers/getMatchEntries.js +0 -4
  82. package/dist/helpers/getMatchEntries.js.map +1 -1
  83. package/dist/helpers/junk.js +9 -85
  84. package/dist/helpers/junk.js.map +1 -1
  85. package/dist/helpers/manifest.js +0 -138
  86. package/dist/helpers/manifest.js.map +1 -1
  87. package/dist/helpers/modelNames.js +0 -78
  88. package/dist/helpers/modelNames.js.map +1 -1
  89. package/dist/helpers/modelcheck.js +0 -106
  90. package/dist/helpers/modelcheck.js.map +1 -1
  91. package/dist/helpers/naming.d.ts +0 -1
  92. package/dist/helpers/naming.js +0 -303
  93. package/dist/helpers/naming.js.map +1 -1
  94. package/dist/helpers/opExample.js +0 -51
  95. package/dist/helpers/opExample.js.map +1 -1
  96. package/dist/helpers/opShape.js +0 -198
  97. package/dist/helpers/opShape.js.map +1 -1
  98. package/dist/helpers/optspec.js +0 -77
  99. package/dist/helpers/optspec.js.map +1 -1
  100. package/dist/helpers/packageMeta.js +1 -200
  101. package/dist/helpers/packageMeta.js.map +1 -1
  102. package/dist/helpers/pointPath.js +0 -55
  103. package/dist/helpers/pointPath.js.map +1 -1
  104. package/dist/helpers/resolved.d.ts +6 -0
  105. package/dist/helpers/resolved.js +49 -0
  106. package/dist/helpers/resolved.js.map +1 -0
  107. package/dist/helpers/semver.js +0 -61
  108. package/dist/helpers/semver.js.map +1 -1
  109. package/dist/helpers/serverVars.js +0 -44
  110. package/dist/helpers/serverVars.js.map +1 -1
  111. package/dist/helpers/shipped.js +0 -14
  112. package/dist/helpers/shipped.js.map +1 -1
  113. package/dist/helpers/station.js +0 -32
  114. package/dist/helpers/station.js.map +1 -1
  115. package/dist/helpers/stdrep.js +0 -26
  116. package/dist/helpers/stdrep.js.map +1 -1
  117. package/dist/helpers/testPolicy.js +0 -4
  118. package/dist/helpers/testPolicy.js.map +1 -1
  119. package/dist/sdkgen.d.ts +2 -1
  120. package/dist/sdkgen.js +13 -242
  121. package/dist/sdkgen.js.map +1 -1
  122. package/dist/testkit.js +6 -266
  123. package/dist/testkit.js.map +1 -1
  124. package/dist/tsconfig.tsbuildinfo +1 -1
  125. package/dist/utility.js +0 -243
  126. package/dist/utility.js.map +1 -1
  127. package/model/sdkgen.aon +12 -489
  128. package/package.json +4 -4
  129. package/project/.sdk/model/feature/audit.aon +0 -7
  130. package/project/.sdk/model/feature/cache.aon +0 -7
  131. package/project/.sdk/model/feature/clienttrack.aon +0 -7
  132. package/project/.sdk/model/feature/cost.aon +0 -13
  133. package/project/.sdk/model/feature/debug.aon +0 -7
  134. package/project/.sdk/model/feature/idempotency.aon +0 -7
  135. package/project/.sdk/model/feature/log.aon +0 -7
  136. package/project/.sdk/model/feature/metrics.aon +0 -7
  137. package/project/.sdk/model/feature/netsim.aon +0 -10
  138. package/project/.sdk/model/feature/paging.aon +0 -7
  139. package/project/.sdk/model/feature/proxy.aon +0 -7
  140. package/project/.sdk/model/feature/ratelimit.aon +0 -7
  141. package/project/.sdk/model/feature/retry.aon +0 -7
  142. package/project/.sdk/model/feature/secrets.aon +0 -482
  143. package/project/.sdk/model/feature/streaming.aon +0 -7
  144. package/project/.sdk/model/feature/telemetry.aon +0 -7
  145. package/project/.sdk/model/feature/test.aon +1 -8
  146. package/project/.sdk/model/feature/timeout.aon +0 -7
  147. package/project/.sdk/model/feature/validate.aon +0 -32
  148. package/project/.sdk/model/target/c.aon +0 -41
  149. package/project/.sdk/model/target/clojure.aon +0 -36
  150. package/project/.sdk/model/target/cpp.aon +0 -42
  151. package/project/.sdk/model/target/csharp.aon +0 -26
  152. package/project/.sdk/model/target/elixir.aon +0 -22
  153. package/project/.sdk/model/target/go-cli.aon +0 -30
  154. package/project/.sdk/model/target/go-mcp.aon +0 -21
  155. package/project/.sdk/model/target/go.aon +0 -9
  156. package/project/.sdk/model/target/java.aon +0 -29
  157. package/project/.sdk/model/target/js.aon +2 -21
  158. package/project/.sdk/model/target/kotlin.aon +0 -31
  159. package/project/.sdk/model/target/lua.aon +0 -32
  160. package/project/.sdk/model/target/ocaml.aon +0 -64
  161. package/project/.sdk/model/target/perl.aon +0 -20
  162. package/project/.sdk/model/target/php.aon +0 -17
  163. package/project/.sdk/model/target/py-data.aon +0 -33
  164. package/project/.sdk/model/target/py.aon +0 -17
  165. package/project/.sdk/model/target/rb.aon +0 -17
  166. package/project/.sdk/model/target/rust.aon +0 -25
  167. package/project/.sdk/model/target/scala.aon +0 -74
  168. package/project/.sdk/model/target/swift.aon +0 -41
  169. package/project/.sdk/model/target/ts.aon +3 -25
  170. package/project/.sdk/model/target/zig.aon +0 -50
  171. package/project/.sdk/src/cmp/c/Config_c.ts +0 -100
  172. package/project/.sdk/src/cmp/c/EntityTypes_c.ts +0 -36
  173. package/project/.sdk/src/cmp/c/Main_c.ts +0 -44
  174. package/project/.sdk/src/cmp/c/Package_c.ts +0 -14
  175. package/project/.sdk/src/cmp/c/PrepareAuth_c.ts +0 -85
  176. package/project/.sdk/src/cmp/c/ReadmeExamplesTest_c.ts +0 -20
  177. package/project/.sdk/src/cmp/c/ReadmeRef_c.ts +2 -5
  178. package/project/.sdk/src/cmp/c/ReadmeTopQuick_c.ts +0 -2
  179. package/project/.sdk/src/cmp/c/Schema_c.ts +0 -19
  180. package/project/.sdk/src/cmp/c/utility_c.ts +0 -47
  181. package/project/.sdk/src/cmp/clojure/Config_clojure.ts +0 -63
  182. package/project/.sdk/src/cmp/clojure/Entity_clojure.ts +0 -1
  183. package/project/.sdk/src/cmp/clojure/Main_clojure.ts +0 -41
  184. package/project/.sdk/src/cmp/clojure/Package_clojure.ts +0 -20
  185. package/project/.sdk/src/cmp/clojure/PrepareAuth_clojure.ts +0 -130
  186. package/project/.sdk/src/cmp/clojure/ReadmeExamplesTest_clojure.ts +0 -16
  187. package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +2 -5
  188. package/project/.sdk/src/cmp/clojure/Schema_clojure.ts +0 -20
  189. package/project/.sdk/src/cmp/clojure/TestDirect_clojure.ts +0 -6
  190. package/project/.sdk/src/cmp/clojure/TestEntity_clojure.ts +0 -10
  191. package/project/.sdk/src/cmp/clojure/Test_clojure.ts +0 -8
  192. package/project/.sdk/src/cmp/clojure/featureextra_clojure.ts +0 -34
  193. package/project/.sdk/src/cmp/clojure/utility_clojure.ts +0 -47
  194. package/project/.sdk/src/cmp/cpp/Config_cpp.ts +0 -109
  195. package/project/.sdk/src/cmp/cpp/EntityTypes_cpp.ts +0 -36
  196. package/project/.sdk/src/cmp/cpp/Main_cpp.ts +0 -47
  197. package/project/.sdk/src/cmp/cpp/Package_cpp.ts +0 -14
  198. package/project/.sdk/src/cmp/cpp/PrepareAuth_cpp.ts +0 -125
  199. package/project/.sdk/src/cmp/cpp/ReadmeExamplesTest_cpp.ts +0 -19
  200. package/project/.sdk/src/cmp/cpp/ReadmeQuick_cpp.ts +0 -7
  201. package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +2 -5
  202. package/project/.sdk/src/cmp/cpp/Schema_cpp.ts +0 -21
  203. package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +0 -3
  204. package/project/.sdk/src/cmp/cpp/Test_cpp.ts +0 -3
  205. package/project/.sdk/src/cmp/cpp/utility_cpp.ts +0 -28
  206. package/project/.sdk/src/cmp/csharp/Config_csharp.ts +0 -79
  207. package/project/.sdk/src/cmp/csharp/EntityOperation_csharp.ts +0 -3
  208. package/project/.sdk/src/cmp/csharp/EntityTypes_csharp.ts +0 -50
  209. package/project/.sdk/src/cmp/csharp/Entity_csharp.ts +0 -1
  210. package/project/.sdk/src/cmp/csharp/Main_csharp.ts +0 -24
  211. package/project/.sdk/src/cmp/csharp/Package_csharp.ts +0 -20
  212. package/project/.sdk/src/cmp/csharp/PrepareAuth_csharp.ts +0 -81
  213. package/project/.sdk/src/cmp/csharp/ReadmeEntity_csharp.ts +0 -1
  214. package/project/.sdk/src/cmp/csharp/ReadmeExamplesTest_csharp.ts +0 -23
  215. package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +2 -5
  216. package/project/.sdk/src/cmp/csharp/ReadmeTopQuick_csharp.ts +0 -2
  217. package/project/.sdk/src/cmp/csharp/Schema_csharp.ts +0 -18
  218. package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +0 -4
  219. package/project/.sdk/src/cmp/csharp/utility_csharp.ts +0 -72
  220. package/project/.sdk/src/cmp/elixir/Config_elixir.ts +0 -78
  221. package/project/.sdk/src/cmp/elixir/EntityTypes_elixir.ts +0 -38
  222. package/project/.sdk/src/cmp/elixir/Main_elixir.ts +0 -40
  223. package/project/.sdk/src/cmp/elixir/Package_elixir.ts +0 -13
  224. package/project/.sdk/src/cmp/elixir/PrepareAuth_elixir.ts +0 -123
  225. package/project/.sdk/src/cmp/elixir/ReadmeExamplesTest_elixir.ts +0 -19
  226. package/project/.sdk/src/cmp/elixir/ReadmeRef_elixir.ts +2 -5
  227. package/project/.sdk/src/cmp/elixir/Schema_elixir.ts +0 -24
  228. package/project/.sdk/src/cmp/elixir/utility_elixir.ts +0 -34
  229. package/project/.sdk/src/cmp/go/Config_go.ts +0 -41
  230. package/project/.sdk/src/cmp/go/EntityTypes_go.ts +0 -71
  231. package/project/.sdk/src/cmp/go/Entity_go.ts +0 -5
  232. package/project/.sdk/src/cmp/go/Main_go.ts +0 -28
  233. package/project/.sdk/src/cmp/go/Package_go.ts +0 -7
  234. package/project/.sdk/src/cmp/go/PrepareAuth_go.ts +0 -64
  235. package/project/.sdk/src/cmp/go/ReadmeEntity_go.ts +0 -5
  236. package/project/.sdk/src/cmp/go/ReadmeExamplesTest_go.ts +0 -30
  237. package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +0 -3
  238. package/project/.sdk/src/cmp/go/ReadmeIntro_go.ts +0 -7
  239. package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +0 -11
  240. package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +0 -21
  241. package/project/.sdk/src/cmp/go/ReadmeRef_go.ts +2 -14
  242. package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +0 -9
  243. package/project/.sdk/src/cmp/go/Schema_go.ts +0 -21
  244. package/project/.sdk/src/cmp/go/TestDirect_go.ts +0 -23
  245. package/project/.sdk/src/cmp/go/TestEntity_go.ts +0 -8
  246. package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +0 -21
  247. package/project/.sdk/src/cmp/go/fragment/Main.fragment.go +0 -12
  248. package/project/.sdk/src/cmp/go/utility_go.ts +0 -70
  249. package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +0 -49
  250. package/project/.sdk/src/cmp/go-cli/fragment/words.fragment.go +0 -12
  251. package/project/.sdk/src/cmp/go-mcp/Main_go-mcp.ts +0 -36
  252. package/project/.sdk/src/cmp/go-mcp/fragment/main.fragment.go +0 -20
  253. package/project/.sdk/src/cmp/go-mcp/fragment/tools.fragment.go +0 -3
  254. package/project/.sdk/src/cmp/java/Config_java.ts +0 -63
  255. package/project/.sdk/src/cmp/java/EntityTypes_java.ts +0 -50
  256. package/project/.sdk/src/cmp/java/Entity_java.ts +0 -6
  257. package/project/.sdk/src/cmp/java/Main_java.ts +0 -24
  258. package/project/.sdk/src/cmp/java/PrepareAuth_java.ts +0 -55
  259. package/project/.sdk/src/cmp/java/ReadmeEntity_java.ts +0 -1
  260. package/project/.sdk/src/cmp/java/ReadmeExamplesTest_java.ts +0 -20
  261. package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +0 -4
  262. package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +2 -5
  263. package/project/.sdk/src/cmp/java/ReadmeTopQuick_java.ts +0 -7
  264. package/project/.sdk/src/cmp/java/Schema_java.ts +0 -19
  265. package/project/.sdk/src/cmp/java/TestDirect_java.ts +0 -7
  266. package/project/.sdk/src/cmp/java/TestEntity_java.ts +0 -4
  267. package/project/.sdk/src/cmp/java/Test_java.ts +0 -6
  268. package/project/.sdk/src/cmp/java/utility_java.ts +0 -33
  269. package/project/.sdk/src/cmp/js/Config_js.ts +0 -46
  270. package/project/.sdk/src/cmp/js/EntityTypes_js.ts +0 -33
  271. package/project/.sdk/src/cmp/js/Main_js.ts +0 -33
  272. package/project/.sdk/src/cmp/js/Package_js.ts +2 -7
  273. package/project/.sdk/src/cmp/js/PrepareAuth_js.ts +0 -57
  274. package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +0 -9
  275. package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +0 -2
  276. package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +0 -15
  277. package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +2 -7
  278. package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +0 -7
  279. package/project/.sdk/src/cmp/js/Schema_js.ts +0 -21
  280. package/project/.sdk/src/cmp/js/TestDirect_js.ts +2 -16
  281. package/project/.sdk/src/cmp/js/TestEntity_js.ts +3 -13
  282. package/project/.sdk/src/cmp/js/TestLive_js.ts +10 -3
  283. package/project/.sdk/src/cmp/js/utility_js.ts +0 -58
  284. package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +0 -46
  285. package/project/.sdk/src/cmp/kotlin/EntityOperation_kotlin.ts +0 -2
  286. package/project/.sdk/src/cmp/kotlin/EntityTypes_kotlin.ts +0 -53
  287. package/project/.sdk/src/cmp/kotlin/Entity_kotlin.ts +0 -4
  288. package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +0 -46
  289. package/project/.sdk/src/cmp/kotlin/PrepareAuth_kotlin.ts +0 -113
  290. package/project/.sdk/src/cmp/kotlin/ReadmeEntity_kotlin.ts +0 -1
  291. package/project/.sdk/src/cmp/kotlin/ReadmeExamplesTest_kotlin.ts +0 -20
  292. package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +2 -5
  293. package/project/.sdk/src/cmp/kotlin/ReadmeTopQuick_kotlin.ts +0 -5
  294. package/project/.sdk/src/cmp/kotlin/Schema_kotlin.ts +0 -19
  295. package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +0 -4
  296. package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +0 -6
  297. package/project/.sdk/src/cmp/kotlin/utility_kotlin.ts +0 -33
  298. package/project/.sdk/src/cmp/lua/Config_lua.ts +0 -56
  299. package/project/.sdk/src/cmp/lua/EntityTypes_lua.ts +0 -30
  300. package/project/.sdk/src/cmp/lua/Entity_lua.ts +0 -7
  301. package/project/.sdk/src/cmp/lua/Main_lua.ts +0 -58
  302. package/project/.sdk/src/cmp/lua/Package_lua.ts +0 -20
  303. package/project/.sdk/src/cmp/lua/PrepareAuth_lua.ts +0 -61
  304. package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +0 -8
  305. package/project/.sdk/src/cmp/lua/ReadmeExamplesTest_lua.ts +0 -24
  306. package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +0 -10
  307. package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +0 -21
  308. package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +2 -12
  309. package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +0 -3
  310. package/project/.sdk/src/cmp/lua/Schema_lua.ts +0 -16
  311. package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +0 -2
  312. package/project/.sdk/src/cmp/lua/utility_lua.ts +0 -30
  313. package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +0 -98
  314. package/project/.sdk/src/cmp/ocaml/EntityOperation_ocaml.ts +0 -6
  315. package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +0 -78
  316. package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +0 -13
  317. package/project/.sdk/src/cmp/ocaml/PrepareAuth_ocaml.ts +0 -145
  318. package/project/.sdk/src/cmp/ocaml/ReadmeExamplesTest_ocaml.ts +0 -17
  319. package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +2 -5
  320. package/project/.sdk/src/cmp/ocaml/Schema_ocaml.ts +0 -23
  321. package/project/.sdk/src/cmp/ocaml/SdkError_ocaml.ts +0 -4
  322. package/project/.sdk/src/cmp/ocaml/TestEntity_ocaml.ts +0 -5
  323. package/project/.sdk/src/cmp/ocaml/utility_ocaml.ts +0 -27
  324. package/project/.sdk/src/cmp/perl/Config_perl.ts +0 -52
  325. package/project/.sdk/src/cmp/perl/Entity_perl.ts +0 -3
  326. package/project/.sdk/src/cmp/perl/Main_perl.ts +0 -33
  327. package/project/.sdk/src/cmp/perl/Package_perl.ts +0 -8
  328. package/project/.sdk/src/cmp/perl/PrepareAuth_perl.ts +0 -84
  329. package/project/.sdk/src/cmp/perl/ReadmeEntity_perl.ts +0 -3
  330. package/project/.sdk/src/cmp/perl/ReadmeExamplesTest_perl.ts +0 -27
  331. package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +2 -5
  332. package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +0 -2
  333. package/project/.sdk/src/cmp/perl/Schema_perl.ts +0 -18
  334. package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +0 -2
  335. package/project/.sdk/src/cmp/perl/utility_perl.ts +0 -26
  336. package/project/.sdk/src/cmp/php/Config_php.ts +0 -76
  337. package/project/.sdk/src/cmp/php/EntityTypes_php.ts +0 -51
  338. package/project/.sdk/src/cmp/php/MainEntity_php.ts +0 -6
  339. package/project/.sdk/src/cmp/php/Main_php.ts +0 -15
  340. package/project/.sdk/src/cmp/php/PrepareAuth_php.ts +0 -73
  341. package/project/.sdk/src/cmp/php/ReadmeEntity_php.ts +0 -4
  342. package/project/.sdk/src/cmp/php/ReadmeExamplesTest_php.ts +0 -33
  343. package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +0 -1
  344. package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +0 -19
  345. package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +2 -7
  346. package/project/.sdk/src/cmp/php/Schema_php.ts +0 -15
  347. package/project/.sdk/src/cmp/php/TestEntity_php.ts +0 -9
  348. package/project/.sdk/src/cmp/php/utility_php.ts +0 -22
  349. package/project/.sdk/src/cmp/py/Config_py.ts +0 -53
  350. package/project/.sdk/src/cmp/py/EntityTypes_py.ts +0 -55
  351. package/project/.sdk/src/cmp/py/Entity_py.ts +0 -16
  352. package/project/.sdk/src/cmp/py/Main_py.ts +1 -61
  353. package/project/.sdk/src/cmp/py/Package_py.ts +0 -3
  354. package/project/.sdk/src/cmp/py/PrepareAuth_py.ts +0 -69
  355. package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +0 -13
  356. package/project/.sdk/src/cmp/py/ReadmeExamplesTest_py.ts +0 -31
  357. package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +0 -3
  358. package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +0 -28
  359. package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +2 -16
  360. package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +0 -14
  361. package/project/.sdk/src/cmp/py/Schema_py.ts +0 -19
  362. package/project/.sdk/src/cmp/py/TestDirect_py.ts +0 -2
  363. package/project/.sdk/src/cmp/py/utility_py.ts +0 -22
  364. package/project/.sdk/src/cmp/py-data/Main_py-data.ts +9 -43
  365. package/project/.sdk/src/cmp/rb/Config_rb.ts +0 -56
  366. package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +0 -58
  367. package/project/.sdk/src/cmp/rb/Entity_rb.ts +0 -3
  368. package/project/.sdk/src/cmp/rb/Main_rb.ts +0 -10
  369. package/project/.sdk/src/cmp/rb/Package_rb.ts +0 -5
  370. package/project/.sdk/src/cmp/rb/PrepareAuth_rb.ts +0 -81
  371. package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +0 -7
  372. package/project/.sdk/src/cmp/rb/ReadmeExamplesTest_rb.ts +0 -32
  373. package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +0 -9
  374. package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +0 -23
  375. package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +2 -10
  376. package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +0 -5
  377. package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +0 -3
  378. package/project/.sdk/src/cmp/rb/Schema_rb.ts +0 -15
  379. package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +0 -2
  380. package/project/.sdk/src/cmp/rb/utility_rb.ts +0 -22
  381. package/project/.sdk/src/cmp/rust/Config_rust.ts +0 -35
  382. package/project/.sdk/src/cmp/rust/EntityTypes_rust.ts +0 -34
  383. package/project/.sdk/src/cmp/rust/Entity_rust.ts +0 -9
  384. package/project/.sdk/src/cmp/rust/Main_rust.ts +0 -58
  385. package/project/.sdk/src/cmp/rust/Package_rust.ts +0 -30
  386. package/project/.sdk/src/cmp/rust/PrepareAuth_rust.ts +0 -84
  387. package/project/.sdk/src/cmp/rust/ReadmeExamplesTest_rust.ts +0 -16
  388. package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +2 -5
  389. package/project/.sdk/src/cmp/rust/Schema_rust.ts +0 -18
  390. package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +0 -7
  391. package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +0 -9
  392. package/project/.sdk/src/cmp/rust/fragment/Entity.fragment.rs +0 -14
  393. package/project/.sdk/src/cmp/rust/fragment/EntityRemoveOp.fragment.rs +0 -4
  394. package/project/.sdk/src/cmp/rust/fragment/Main.fragment.rs +0 -20
  395. package/project/.sdk/src/cmp/rust/fragment/SdkError.fragment.rs +0 -6
  396. package/project/.sdk/src/cmp/rust/utility_rust.ts +0 -47
  397. package/project/.sdk/src/cmp/scala/Config_scala.ts +0 -31
  398. package/project/.sdk/src/cmp/scala/EntityTypes_scala.ts +0 -51
  399. package/project/.sdk/src/cmp/scala/Main_scala.ts +0 -78
  400. package/project/.sdk/src/cmp/scala/PrepareAuth_scala.ts +0 -102
  401. package/project/.sdk/src/cmp/scala/ReadmeEntity_scala.ts +0 -1
  402. package/project/.sdk/src/cmp/scala/ReadmeExamplesTest_scala.ts +0 -23
  403. package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +2 -5
  404. package/project/.sdk/src/cmp/scala/ReadmeTopQuick_scala.ts +0 -5
  405. package/project/.sdk/src/cmp/scala/Schema_scala.ts +0 -19
  406. package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +0 -8
  407. package/project/.sdk/src/cmp/scala/Test_scala.ts +0 -3
  408. package/project/.sdk/src/cmp/scala/utility_scala.ts +0 -31
  409. package/project/.sdk/src/cmp/swift/Config_swift.ts +0 -62
  410. package/project/.sdk/src/cmp/swift/EntityOperation_swift.ts +0 -3
  411. package/project/.sdk/src/cmp/swift/EntityTypes_swift.ts +0 -39
  412. package/project/.sdk/src/cmp/swift/Main_swift.ts +0 -42
  413. package/project/.sdk/src/cmp/swift/Package_swift.ts +0 -69
  414. package/project/.sdk/src/cmp/swift/PrepareAuth_swift.ts +0 -134
  415. package/project/.sdk/src/cmp/swift/ReadmeEntity_swift.ts +0 -2
  416. package/project/.sdk/src/cmp/swift/ReadmeExamplesTest_swift.ts +0 -22
  417. package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +2 -5
  418. package/project/.sdk/src/cmp/swift/Schema_swift.ts +0 -18
  419. package/project/.sdk/src/cmp/swift/TestEntity_swift.ts +0 -4
  420. package/project/.sdk/src/cmp/swift/utility_swift.ts +0 -51
  421. package/project/.sdk/src/cmp/ts/Config_ts.ts +0 -46
  422. package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +0 -34
  423. package/project/.sdk/src/cmp/ts/Entity_ts.ts +0 -6
  424. package/project/.sdk/src/cmp/ts/Main_ts.ts +0 -28
  425. package/project/.sdk/src/cmp/ts/Package_ts.ts +2 -26
  426. package/project/.sdk/src/cmp/ts/PrepareAuth_ts.ts +0 -55
  427. package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +0 -9
  428. package/project/.sdk/src/cmp/ts/ReadmeExampleTest_ts.ts +0 -6
  429. package/project/.sdk/src/cmp/ts/ReadmeExamplesTest_ts.ts +0 -25
  430. package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +4 -9
  431. package/project/.sdk/src/cmp/ts/ReadmeIntro_ts.ts +0 -7
  432. package/project/.sdk/src/cmp/ts/ReadmeModel_ts.ts +0 -3
  433. package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +0 -43
  434. package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +2 -20
  435. package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +0 -11
  436. package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +6 -9
  437. package/project/.sdk/src/cmp/ts/Schema_ts.ts +0 -21
  438. package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +2 -53
  439. package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +3 -31
  440. package/project/.sdk/src/cmp/ts/TestLive_ts.ts +10 -4
  441. package/project/.sdk/src/cmp/ts/Test_ts.ts +0 -4
  442. package/project/.sdk/src/cmp/ts/fragment/Config.data.fragment.ts +0 -27
  443. package/project/.sdk/src/cmp/ts/fragment/Config.fragment.ts +0 -7
  444. package/project/.sdk/src/cmp/ts/fragment/Direct.test.fragment.ts +0 -7
  445. package/project/.sdk/src/cmp/ts/fragment/Entity.fragment.ts +0 -1
  446. package/project/.sdk/src/cmp/ts/fragment/Entity.test.fragment.ts +0 -4
  447. package/project/.sdk/src/cmp/ts/fragment/EntityBase.fragment.ts +0 -20
  448. package/project/.sdk/src/cmp/ts/fragment/EntityCreateOp.fragment.ts +0 -6
  449. package/project/.sdk/src/cmp/ts/fragment/EntityLoadOp.fragment.ts +0 -6
  450. package/project/.sdk/src/cmp/ts/fragment/EntityRemoveOp.fragment.ts +0 -15
  451. package/project/.sdk/src/cmp/ts/fragment/EntityUpdateOp.fragment.ts +0 -6
  452. package/project/.sdk/src/cmp/ts/fragment/Main.fragment.ts +0 -15
  453. package/project/.sdk/src/cmp/ts/fragment/MainStation.fragment.ts +0 -12
  454. package/project/.sdk/src/cmp/ts/fragment/SdkError.fragment.ts +0 -9
  455. package/project/.sdk/src/cmp/ts/utility_ts.ts +0 -59
  456. package/project/.sdk/src/cmp/zig/Config_zig.ts +0 -70
  457. package/project/.sdk/src/cmp/zig/Entity_zig.ts +0 -3
  458. package/project/.sdk/src/cmp/zig/Main_zig.ts +0 -83
  459. package/project/.sdk/src/cmp/zig/Package_zig.ts +0 -22
  460. package/project/.sdk/src/cmp/zig/PrepareAuth_zig.ts +0 -136
  461. package/project/.sdk/src/cmp/zig/ReadmeExamplesTest_zig.ts +0 -18
  462. package/project/.sdk/src/cmp/zig/ReadmeQuick_zig.ts +0 -3
  463. package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +2 -5
  464. package/project/.sdk/src/cmp/zig/Schema_zig.ts +0 -23
  465. package/project/.sdk/src/cmp/zig/TestDirect_zig.ts +0 -11
  466. package/project/.sdk/src/cmp/zig/TestEntity_zig.ts +0 -8
  467. package/project/.sdk/src/cmp/zig/Test_zig.ts +0 -11
  468. package/project/.sdk/src/cmp/zig/utility_zig.ts +0 -47
  469. package/project/.sdk/tm/csharp/feature/FeatureOptions.cs +18 -5
  470. package/project/.sdk/tm/go/core/context.go +0 -9
  471. package/project/.sdk/tm/go/core/types.go +0 -3
  472. package/project/.sdk/tm/go/feature/audit_feature.go +0 -9
  473. package/project/.sdk/tm/go/feature/cache_feature.go +0 -8
  474. package/project/.sdk/tm/go/feature/clienttrack_feature.go +0 -7
  475. package/project/.sdk/tm/go/feature/cost_feature.go +0 -51
  476. package/project/.sdk/tm/go/feature/debug_feature.go +0 -6
  477. package/project/.sdk/tm/go/feature/feature_options.go +108 -21
  478. package/project/.sdk/tm/go/feature/idempotency_feature.go +0 -6
  479. package/project/.sdk/tm/go/feature/metrics_feature.go +0 -6
  480. package/project/.sdk/tm/go/feature/netsim_feature.go +0 -8
  481. package/project/.sdk/tm/go/feature/paging_feature.go +0 -9
  482. package/project/.sdk/tm/go/feature/proxy_feature.go +0 -7
  483. package/project/.sdk/tm/go/feature/ratelimit_feature.go +0 -6
  484. package/project/.sdk/tm/go/feature/rbac_feature.go +0 -10
  485. package/project/.sdk/tm/go/feature/retry_feature.go +0 -6
  486. package/project/.sdk/tm/go/feature/secrets_feature.go +0 -173
  487. package/project/.sdk/tm/go/feature/streaming_feature.go +0 -7
  488. package/project/.sdk/tm/go/feature/telemetry_feature.go +0 -8
  489. package/project/.sdk/tm/go/feature/test_feature.go +0 -23
  490. package/project/.sdk/tm/go/feature/validate_feature.go +0 -66
  491. package/project/.sdk/tm/go/test/custom_utility_test.go +0 -29
  492. package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +0 -100
  493. package/project/.sdk/tm/go/test/feature_corpus_test.go +1 -60
  494. package/project/.sdk/tm/go/test/feature_harness_test.go +0 -10
  495. package/project/.sdk/tm/go/test/feature_test.go +107 -9
  496. package/project/.sdk/tm/go/test/omniresolver_test.go +0 -74
  497. package/project/.sdk/tm/go/test/omnismoke_test.go +0 -4
  498. package/project/.sdk/tm/go/test/pipeline_test.go +0 -10
  499. package/project/.sdk/tm/go/test/primary_utility_test.go +0 -32
  500. package/project/.sdk/tm/go/test/struct_utility_test.go +0 -38
  501. package/project/.sdk/tm/go/test/testsupport_test.go +0 -25
  502. package/project/.sdk/tm/go/utility/feature_add.go +0 -6
  503. package/project/.sdk/tm/go/utility/fetcher.go +0 -6
  504. package/project/.sdk/tm/go/utility/graphql.go +1 -31
  505. package/project/.sdk/tm/go/utility/make_options.go +38 -49
  506. package/project/.sdk/tm/go/utility/make_point.go +0 -11
  507. package/project/.sdk/tm/go/utility/make_spec.go +0 -15
  508. package/project/.sdk/tm/go/utility/register.go +0 -28
  509. package/project/.sdk/tm/go/utility/transform_request.go +0 -20
  510. package/project/.sdk/tm/go/utility/transform_response.go +0 -8
  511. package/project/.sdk/tm/js/src/feature/test/TestFeature.js +12 -4
  512. package/project/.sdk/tm/rust/core/context.rs +0 -5
  513. package/project/.sdk/tm/rust/core/control.rs +0 -1
  514. package/project/.sdk/tm/rust/core/helpers.rs +0 -15
  515. package/project/.sdk/tm/rust/core/operation.rs +0 -1
  516. package/project/.sdk/tm/rust/core/point.rs +0 -3
  517. package/project/.sdk/tm/rust/core/response.rs +0 -2
  518. package/project/.sdk/tm/rust/core/result.rs +0 -1
  519. package/project/.sdk/tm/rust/core/spec.rs +0 -1
  520. package/project/.sdk/tm/rust/core/types.rs +0 -20
  521. package/project/.sdk/tm/rust/core/utility_type.rs +0 -5
  522. package/project/.sdk/tm/rust/feature/audit.rs +0 -9
  523. package/project/.sdk/tm/rust/feature/base.rs +0 -3
  524. package/project/.sdk/tm/rust/feature/cache.rs +0 -9
  525. package/project/.sdk/tm/rust/feature/clienttrack.rs +0 -7
  526. package/project/.sdk/tm/rust/feature/cost.rs +0 -48
  527. package/project/.sdk/tm/rust/feature/debug.rs +0 -7
  528. package/project/.sdk/tm/rust/feature/idempotency.rs +0 -7
  529. package/project/.sdk/tm/rust/feature/log.rs +0 -3
  530. package/project/.sdk/tm/rust/feature/metrics.rs +0 -7
  531. package/project/.sdk/tm/rust/feature/netsim.rs +0 -9
  532. package/project/.sdk/tm/rust/feature/paging.rs +0 -10
  533. package/project/.sdk/tm/rust/feature/proxy.rs +0 -8
  534. package/project/.sdk/tm/rust/feature/ratelimit.rs +0 -6
  535. package/project/.sdk/tm/rust/feature/rbac.rs +0 -10
  536. package/project/.sdk/tm/rust/feature/retry.rs +0 -6
  537. package/project/.sdk/tm/rust/feature/secrets.rs +1 -187
  538. package/project/.sdk/tm/rust/feature/streaming.rs +0 -7
  539. package/project/.sdk/tm/rust/feature/support.rs +0 -6
  540. package/project/.sdk/tm/rust/feature/telemetry.rs +0 -9
  541. package/project/.sdk/tm/rust/feature/test.rs +0 -19
  542. package/project/.sdk/tm/rust/feature/timeout.rs +0 -7
  543. package/project/.sdk/tm/rust/feature/validate.rs +0 -81
  544. package/project/.sdk/tm/rust/tests/common/mod.rs +0 -35
  545. package/project/.sdk/tm/rust/tests/custom_utility_test.rs +0 -2
  546. package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +0 -95
  547. package/project/.sdk/tm/rust/tests/feature_test.rs +0 -16
  548. package/project/.sdk/tm/rust/tests/netsim_test.rs +0 -6
  549. package/project/.sdk/tm/rust/tests/omni_resolver/mod.rs +0 -135
  550. package/project/.sdk/tm/rust/tests/omni_smoke_test.rs +0 -15
  551. package/project/.sdk/tm/rust/tests/pipeline_test.rs +0 -6
  552. package/project/.sdk/tm/rust/tests/primary_utility_test.rs +0 -22
  553. package/project/.sdk/tm/rust/tests/struct_utility_test.rs +0 -25
  554. package/project/.sdk/tm/rust/utility/fetcher.rs +0 -5
  555. package/project/.sdk/tm/rust/utility/graphql.rs +1 -30
  556. package/project/.sdk/tm/rust/utility/make_error.rs +0 -2
  557. package/project/.sdk/tm/rust/utility/make_options.rs +0 -46
  558. package/project/.sdk/tm/rust/utility/make_point.rs +0 -12
  559. package/project/.sdk/tm/rust/utility/make_spec.rs +0 -4
  560. package/project/.sdk/tm/rust/utility/voxgigstruct/consts.rs +14 -20
  561. package/project/.sdk/tm/rust/utility/voxgigstruct/major.rs +0 -13
  562. package/project/.sdk/tm/rust/utility/voxgigstruct/mini.rs +0 -14
  563. package/project/.sdk/tm/rust/utility/voxgigstruct/mod.rs +0 -2
  564. package/project/.sdk/tm/rust/utility/voxgigstruct/ordered_map.rs +0 -18
  565. package/project/.sdk/tm/rust/utility/voxgigstruct/re.rs +0 -11
  566. package/project/.sdk/tm/rust/utility/voxgigstruct/value.rs +0 -3
  567. package/project/.sdk/tm/ts/src/Context.ts +0 -5
  568. package/project/.sdk/tm/ts/src/feature/audit/AuditFeature.ts +0 -7
  569. package/project/.sdk/tm/ts/src/feature/cache/CacheFeature.ts +0 -8
  570. package/project/.sdk/tm/ts/src/feature/clienttrack/ClienttrackFeature.ts +0 -7
  571. package/project/.sdk/tm/ts/src/feature/cost/CostFeature.ts +0 -52
  572. package/project/.sdk/tm/ts/src/feature/debug/DebugFeature.ts +0 -6
  573. package/project/.sdk/tm/ts/src/feature/metrics/MetricsFeature.ts +0 -6
  574. package/project/.sdk/tm/ts/src/feature/netsim/NetsimFeature.ts +0 -8
  575. package/project/.sdk/tm/ts/src/feature/paging/PagingFeature.ts +0 -13
  576. package/project/.sdk/tm/ts/src/feature/proxy/ProxyFeature.ts +0 -8
  577. package/project/.sdk/tm/ts/src/feature/ratelimit/RatelimitFeature.ts +0 -6
  578. package/project/.sdk/tm/ts/src/feature/rbac/RbacFeature.ts +0 -9
  579. package/project/.sdk/tm/ts/src/feature/retry/RetryFeature.ts +0 -6
  580. package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +0 -136
  581. package/project/.sdk/tm/ts/src/feature/streaming/StreamingFeature.ts +0 -7
  582. package/project/.sdk/tm/ts/src/feature/telemetry/TelemetryFeature.ts +0 -7
  583. package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +13 -88
  584. package/project/.sdk/tm/ts/src/feature/validate/ValidateFeature.ts +0 -87
  585. package/project/.sdk/tm/ts/src/utility/CleanUtility.ts +0 -12
  586. package/project/.sdk/tm/ts/src/utility/FeatureAddUtility.ts +0 -1
  587. package/project/.sdk/tm/ts/src/utility/GraphqlUtility.ts +2 -30
  588. package/project/.sdk/tm/ts/src/utility/MakeErrorUtility.ts +0 -4
  589. package/project/.sdk/tm/ts/src/utility/MakeOptionsUtility.ts +0 -46
  590. package/project/.sdk/tm/ts/src/utility/MakePointUtility.ts +0 -34
  591. package/project/.sdk/tm/ts/src/utility/MakeRequestUtility.ts +0 -1
  592. package/project/.sdk/tm/ts/src/utility/MakeSpecUtility.ts +0 -5
  593. package/project/.sdk/tm/ts/src/utility/MakeUrlUtility.ts +0 -1
  594. package/project/.sdk/tm/ts/src/utility/ParamUtility.ts +0 -8
  595. package/project/.sdk/tm/ts/src/utility/PrepareBodyUtility.ts +0 -3
  596. package/project/.sdk/tm/ts/src/utility/PrepareParamsUtility.ts +0 -6
  597. package/project/.sdk/tm/ts/src/utility/ResultBasicUtility.ts +0 -1
  598. package/project/.sdk/tm/ts/src/utility/TransformRequestUtility.ts +0 -20
  599. package/project/.sdk/tm/ts/src/utility/TransformResponseUtility.ts +0 -4
  600. package/project/.sdk/tm/ts/test/exists.test.ts +0 -10
  601. package/project/.sdk/tm/ts/test/feature/Corpus.test.ts +0 -56
  602. package/project/.sdk/tm/ts/test/feature/harness.ts +0 -9
  603. package/project/.sdk/tm/ts/test/feature/secrets/Secrets.test.ts +0 -106
  604. package/project/.sdk/tm/ts/test/live-contract.ts +0 -2
  605. package/project/.sdk/tm/ts/test/omni.ts +0 -32
  606. package/project/.sdk/tm/ts/test/pipeline.test.ts +45 -28
  607. package/project/.sdk/tm/ts/test/utility/Corpus.test.ts +0 -13
  608. package/project/.sdk/tm/ts/test/utility/PrimaryUtility.test.ts +56 -29
  609. package/project/.sdk/tm/ts/test/utility/StructUtility.test.ts +0 -7
  610. package/project/.sdk/tm/ts/test/utility.ts +0 -55
  611. package/project/sdkgen-package.json +1 -1
  612. package/src/action/action.ts +0 -65
  613. package/src/action/check.ts +0 -88
  614. package/src/action/dispatch.ts +0 -27
  615. package/src/action/doctor.ts +69 -329
  616. package/src/action/edition.ts +1 -87
  617. package/src/action/feature.ts +1 -49
  618. package/src/action/kind.ts +0 -149
  619. package/src/action/package.ts +0 -228
  620. package/src/action/resolve.ts +0 -148
  621. package/src/action/target.ts +0 -177
  622. package/src/cmp/AgentGuide.ts +0 -7
  623. package/src/cmp/AgentGuideContent.ts +0 -24
  624. package/src/cmp/AgentGuideTop.ts +0 -7
  625. package/src/cmp/Changelog.ts +0 -14
  626. package/src/cmp/Deploy.ts +1 -31
  627. package/src/cmp/Entity.ts +0 -4
  628. package/src/cmp/ExternalTarget.ts +0 -36
  629. package/src/cmp/Feature.ts +0 -14
  630. package/src/cmp/FeatureDocs.ts +0 -37
  631. package/src/cmp/PublishWorkflow.ts +0 -60
  632. package/src/cmp/ReadmeErrors.ts +0 -17
  633. package/src/cmp/ReadmeExplanation.ts +2 -11
  634. package/src/cmp/ReadmeFeatures.ts +0 -10
  635. package/src/cmp/ReadmeRefFeatures.ts +0 -19
  636. package/src/cmp/ReadmeStation.ts +0 -19
  637. package/src/cmp/ReadmeTop.ts +0 -80
  638. package/src/cmp/ReadmeUnions.ts +0 -15
  639. package/src/cmp/Registered.ts +0 -30
  640. package/src/cmp/Security.ts +0 -2
  641. package/src/cmp/Test.ts +3 -1
  642. package/src/cmp/TestControl.ts +0 -25
  643. package/src/helpers/applicability.ts +0 -60
  644. package/src/helpers/buildIdNames.ts +0 -12
  645. package/src/helpers/canonSpec.ts +0 -114
  646. package/src/helpers/canonType.ts +0 -87
  647. package/src/helpers/collectDeps.ts +0 -27
  648. package/src/helpers/definition.ts +0 -29
  649. package/src/helpers/dryrun.ts +0 -8
  650. package/src/helpers/featureSource.ts +0 -152
  651. package/src/helpers/getMatchEntries.ts +0 -4
  652. package/src/helpers/junk.ts +13 -89
  653. package/src/helpers/manifest.ts +0 -169
  654. package/src/helpers/modelNames.ts +0 -81
  655. package/src/helpers/modelcheck.ts +0 -106
  656. package/src/helpers/naming.ts +0 -303
  657. package/src/helpers/opExample.ts +0 -56
  658. package/src/helpers/opShape.ts +0 -200
  659. package/src/helpers/optspec.ts +0 -77
  660. package/src/helpers/packageMeta.ts +1 -200
  661. package/src/helpers/pointPath.ts +0 -55
  662. package/src/helpers/resolved.ts +50 -0
  663. package/src/helpers/semver.ts +0 -61
  664. package/src/helpers/serverVars.ts +0 -44
  665. package/src/helpers/shipped.ts +0 -14
  666. package/src/helpers/station.ts +0 -32
  667. package/src/helpers/stdrep.ts +0 -52
  668. package/src/helpers/testPolicy.ts +0 -4
  669. package/src/sdkgen.ts +15 -263
  670. package/src/testkit.ts +6 -312
  671. package/src/types.ts +1 -30
  672. package/src/utility.ts +0 -243
@@ -1,37 +1,3 @@
1
- // Locate the per-feature source inside a target's template tree.
2
- //
3
- // WHY THIS EXISTS
4
- //
5
- // `target add` is supposed to copy source for the features the model
6
- // declares, and nothing else. It used to do that with a single hardcoded
7
- // path assumption:
8
- //
9
- // Copy({ from: 'tm/<lang>', exclude: [/src\/feature/] })
10
- // Folder({ name: 'src/feature' }, () => /* copy each model feature */)
11
- //
12
- // That assumption holds for exactly two targets. `ts` and `js` keep feature
13
- // source at `src/feature/<name>/`; everyone else does something else —
14
- // `tm/go/feature/retry_feature.go`, `tm/rust/feature/retry.rs`,
15
- // `tm/py/pkg/feature/retry_feature.py`, `tm/dart/lib/feature/retry/...`,
16
- // `tm/swift/Sources/ProjectNameSDK/feature/RetryFeature.swift`, and so on.
17
- // None of those match `src/feature`, so the exclude never saw them and every
18
- // shipped feature was copied into every project regardless of the model: 272
19
- // stray source files across 17 targets for a project declaring no features
20
- // at all. (For those targets `src/feature/<name>/` holds only a `.gitkeep`
21
- // placeholder — the old gate was gating empty directories.)
22
- //
23
- // So instead of encoding one layout, DISCOVER it: walk the template tree,
24
- // treat any directory named `feature` as a feature container, and map each
25
- // entry inside it back to a feature name. That covers every layout above,
26
- // and a target added later gets gated without anyone editing this file.
27
- //
28
- // The mapping is deliberately conservative. An entry only counts as feature
29
- // source when its derived name is one the generator can actually supply
30
- // (`availableFeatures`, read from `model/feature/*.aon`). Everything else
31
- // inside a feature directory — `feature_options.go`, `FeatureOptions.cs`,
32
- // `mod.rs`, `support.rs`, `options.hpp`, `__init__.py`, `README.md`, and the
33
- // `harness.ts` under `test/feature/` — derives a name no feature has, so it
34
- // is left alone.
35
1
 
36
2
  import Path from 'node:path'
37
3
 
@@ -42,30 +8,20 @@ import { definitionNames } from './definition'
42
8
  import { isJunk } from './junk'
43
9
 
44
10
 
45
- // One feature's source within a target template tree.
46
11
  type FeatureSource = {
47
- // Feature name, lowercased ('retry').
48
12
  name: string
49
13
 
50
- // Path relative to the target template root ('feature/retry_feature.go',
51
- // 'lib/feature/retry'), always with forward slashes.
52
14
  path: string
53
15
 
54
- // True when `path` is a directory holding the whole feature.
55
16
  folder: boolean
56
17
  }
57
18
 
58
19
 
59
- // One entry inside a feature container, before the catalogue has had its say.
60
20
  type FeatureEntry = FeatureSource & {
61
- // Does it follow a per-feature NAMING convention? See `featureShaped`.
62
21
  shaped: boolean
63
22
  }
64
23
 
65
24
 
66
- // Directory name that marks a feature container. Kept exact (not a substring
67
- // match) so `utility/feature_add.go` and `test/feature_test.go` — which are
68
- // shared machinery, not per-feature source — are never treated as features.
69
25
  const FEATURE_DIR = 'feature'
70
26
 
71
27
 
@@ -75,17 +31,6 @@ const FEATURE_DIR = 'feature'
75
31
  const BASE_FEATURE = 'base'
76
32
 
77
33
 
78
- // Derive the feature name an entry inside a feature directory belongs to.
79
- // Returns the lowercased name, which the caller then checks against the
80
- // available set.
81
- //
82
- // retry_feature.go -> retry (go, py, rb, lua, perl)
83
- // RetryFeature.cs -> retry (csharp, java, kotlin, scala, swift, php)
84
- // retry.rs -> retry (rust, c, cpp, zig, elixir)
85
- // retry/ -> retry (ts, js, dart)
86
- // feature_options.go -> feature_options (not a feature; `_feature` is a
87
- // prefix here, not a suffix)
88
- // FeatureOptions.cs -> featureoptions (ditto)
89
34
  function featureOf(entry: string, folder: boolean): string {
90
35
  if (folder) {
91
36
  return entry.toLowerCase()
@@ -102,14 +47,6 @@ function featureOf(entry: string, folder: boolean): string {
102
47
  }
103
48
 
104
49
 
105
- // Feature names this generator can supply, read from the scaffold's
106
- // `model/feature/*.aon`. This is the authoritative catalogue: a name not in
107
- // it is not a feature, so nothing outside it is ever excluded.
108
- //
109
- // LOWERCASED, unlike `definitionNames`, because these are matched against
110
- // names DERIVED FROM FILENAMES (`RetryFeature.swift` -> `retry`), and the
111
- // languages disagree about case. The manifest compares definition names as
112
- // written, so the two callers cannot share the lowercasing.
113
50
  function availableFeatures(fs: any, sdkfolder: string): string[] {
114
51
  return definitionNames(fs, sdkfolder, 'feature')
115
52
  .map((n: string) => n.toLowerCase())
@@ -117,15 +54,6 @@ function availableFeatures(fs: any, sdkfolder: string): string[] {
117
54
  }
118
55
 
119
56
 
120
- // Does the entry LOOK like per-feature source, whatever it is called?
121
- //
122
- // The naming conventions carry the intent: `<name>_feature.<ext>`,
123
- // `<Name>Feature.<ext>`, and a directory named for the feature. A bare
124
- // `<name>.<ext>` does NOT — `retry.rs` and `support.rs` are written the same
125
- // way, so shape cannot separate rust's feature source from rust's shared
126
- // machinery, and only the catalogue can. That is the deliberate blind spot of
127
- // `package check`'s unrecognised-source finding: it reports what it can prove
128
- // looks like a feature, and stays quiet where it would have to guess.
129
57
  function featureShaped(entry: string, folder: boolean): boolean {
130
58
  if (folder) {
131
59
  return true
@@ -137,15 +65,6 @@ function featureShaped(entry: string, folder: boolean): boolean {
137
65
  }
138
66
 
139
67
 
140
- // Every entry inside a feature container of a target's template tree —
141
- // whether or not its derived name is a feature this generator knows.
142
- //
143
- // `known` decides DESCENT, not membership: a directory that names a known
144
- // feature is the whole feature, so the walk stops there, and one that does
145
- // not is walked through (`src/feature/base/` holds `BaseFeature.ts`, and the
146
- // container rule below then ignores it because its parent is not `feature`).
147
- // The unknown entries are what `package check` reports and what
148
- // `findFeatureSources` drops; both need the same walk, so there is one.
149
68
  function findFeatureEntries(
150
69
  fs: any, tmfolder: string, known: Set<string>,
151
70
  ): FeatureEntry[] {
@@ -155,7 +74,6 @@ function findFeatureEntries(
155
74
  return found
156
75
  }
157
76
 
158
- // `rel` is relative to tmfolder, '' at the root.
159
77
  const walk = (rel: string) => {
160
78
  const abs = '' === rel ? tmfolder : Path.join(tmfolder, rel)
161
79
  const entries = fs.readdirSync(abs).sort()
@@ -199,8 +117,6 @@ function findFeatureEntries(
199
117
  }
200
118
 
201
119
 
202
- // Walk a target's template tree and return every per-feature source entry.
203
- // `tmfolder` is the target template root (`<sdk>/tm/<lang>`).
204
120
  function findFeatureSources(fs: any, tmfolder: string, available: string[]): FeatureSource[] {
205
121
  const known = new Set(available)
206
122
 
@@ -210,12 +126,6 @@ function findFeatureSources(fs: any, tmfolder: string, available: string[]): Fea
210
126
  }
211
127
 
212
128
 
213
- // Turn discovered sources into path patterns for a jostraca `Copy` exclude.
214
- //
215
- // jostraca tests each candidate against the path built up during its walk,
216
- // which carries the enclosing node path as a prefix — so anchor on a
217
- // segment boundary at both ends rather than on the whole string. A folder
218
- // source matches everything beneath it; a file source matches only itself.
219
129
  function featureExcludes(sources: FeatureSource[]): RegExp[] {
220
130
  return sources.map((s) => new RegExp(
221
131
  '(^|/)' + s.path.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + (s.folder ? '/' : '$')
@@ -223,12 +133,6 @@ function featureExcludes(sources: FeatureSource[]): RegExp[] {
223
133
  }
224
134
 
225
135
 
226
- // Path patterns for templates that only compile with the COMPLETE feature
227
- // set — see `feature.fullset` in each target's model. These are the
228
- // cross-feature test suites: one file per target that constructs every
229
- // shipped feature type by name (`feature.NewRetryFeature`,
230
- // `RUSTCRATE::feature::retry::RetryFeature`, ...). Trimming the feature set
231
- // without dropping them leaves a project that will not compile.
232
136
  function fullsetExcludes(paths: string[]): RegExp[] {
233
137
  return (paths || []).map((p) => new RegExp(
234
138
  '(^|/)' + String(p).replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + '$'
@@ -236,16 +140,6 @@ function fullsetExcludes(paths: string[]): RegExp[] {
236
140
  }
237
141
 
238
142
 
239
- // Generate-time guard for the `src/feature/<name>/` layout (ts, js).
240
- //
241
- // Root renders one Feature component per ACTIVE feature, but Main then
242
- // copies the whole `tm/<lang>` tree — which puts a deactivated feature's
243
- // source straight back, silently undoing the filter. `target add` keeps
244
- // deactivated features out of `tm` in the first place; this covers the case
245
- // where a feature is switched off AFTER it was added.
246
- //
247
- // Only declared-but-inactive features are excluded. `base` and anything else
248
- // the model never mentions is left alone.
249
143
  function srcFeatureExcludes(model: any): RegExp[] {
250
144
  const all = getModelPath(model, `main.${KIT}.feature`,
251
145
  { required: false, only_active: false }) || {}
@@ -260,45 +154,11 @@ function srcFeatureExcludes(model: any): RegExp[] {
260
154
  }
261
155
 
262
156
 
263
- // The same rule as srcFeatureExcludes, ONE LEVEL DEEPER: a feature's
264
- // declared-but-inactive PLUGINS.
265
- //
266
- // A plugin is a feature's optional part — the `secrets` feature over
267
- // sekreto has one per provider kind, and each carries its own platform
268
- // cost (node:crypto for AWS request signing, fetch for seven HTTP vault
269
- // clients). A project whose chain is `[dotenv, env]` should carry neither,
270
- // and before the plugin trim it carried both, because every kind was
271
- // reachable from a single import.
272
- //
273
- // Layout is `src/feature/<feature>/plugin/<plugin>/`, so a plugin's tree
274
- // is excluded exactly as a feature's is. Only declared-but-inactive
275
- // plugins are excluded: a directory the model never mentions is left
276
- // alone, matching srcFeatureExcludes' treatment of `base`.
277
- //
278
- // Note this trims a plugin belonging to an ACTIVE feature. An inactive
279
- // feature's whole tree — plugins included — is already gone via
280
- // srcFeatureExcludes, so walking its plugins here would be redundant, and
281
- // asking the model for them would fail on the `only_active` filter anyway.
282
- // One feature's inactive-plugin patterns.
283
- //
284
- // Separate from pluginExcludes(model) because the two COPIES that need it
285
- // see different things: Main copies the whole target tree and has the
286
- // model, while the Feature component copies one feature's tree and has
287
- // only that feature. Feature's copy is the one that actually matters —
288
- // it runs for every ACTIVE feature, so without this an active feature's
289
- // plugins were all copied regardless, and Main's exclude never saw them.
290
157
  function pluginExcludesFor(model: any, fname: string): RegExp[] {
291
158
  if (null == model || null == fname) {
292
159
  return []
293
160
  }
294
161
 
295
- // `only_active: false`, and this is the whole subtlety. The feature
296
- // object a component is handed has ALREADY been filtered, so its
297
- // `plugin` map contains only the ACTIVE plugins — and a function looking
298
- // there for something inactive finds nothing and excludes nothing. That
299
- // is exactly the trap srcFeatureExcludes documents, hit again one level
300
- // down: the first cut of this read the filtered feature and silently
301
- // trimmed nothing while every test passed.
302
162
  const plugins = getModelPath(model,
303
163
  `main.${KIT}.feature.${fname}.plugin`,
304
164
  { required: false, only_active: false }) || {}
@@ -314,18 +174,6 @@ function pluginExcludesFor(model: any, fname: string): RegExp[] {
314
174
 
315
175
  if (0 < declared.length) {
316
176
  for (const one of declared) {
317
- // FEATURE-RELATIVE, because jostraca tests a Copy's candidates
318
- // against the path RELATIVE TO THAT COPY'S ROOT — `sekreto/
319
- // provider/aws.ts`, not `src/feature/secrets/sekreto/provider/
320
- // aws.ts`. The Feature component's Copy is rooted at
321
- // `tm/<target>/src/feature/<feature>`, so a full declared path
322
- // never matches and the trim silently does nothing.
323
- //
324
- // Worth stating because it is invisible: an exclude that matches
325
- // nothing is indistinguishable from no exclude at all, and both
326
- // the patterns and the model were correct while nothing was
327
- // trimmed. Main's copy IS rooted at the target root, which is why
328
- // pluginExcludes below keeps the full path.
329
177
  const rel = String(one).replace(
330
178
  new RegExp('^src/feature/' + esc(fname) + '/'), '')
331
179
  const pat = esc(rel)
@@ -1,7 +1,3 @@
1
- // Return the user-facing entries of a flow step's `match` object. Keys ending
2
- // in `$` are jostraca/aontu metadata sentinels and are skipped.
3
- //
4
- // Identical helper was previously inlined in TestEntity_*.ts and TestDirect_*.ts.
5
1
 
6
2
  function getMatchEntries(step: any): [string, any][] {
7
3
  if (!step?.match) return []
@@ -1,59 +1,13 @@
1
- // WHAT NEVER COUNTS AS CONTENT.
2
- //
3
- // Every tree sdkgen reads — the scaffold's `tm/<lang>` and `src/cmp/<lang>`, an
4
- // external package's `.sdk`, a project's own copies of both — is a DIRECTORY ON
5
- // A DEVELOPER'S MACHINE, and a developer's machine drops things in directories:
6
- // `.DS_Store` from the Finder, `__pycache__` from running a python module,
7
- // `node_modules` from an `npm install` in the wrong shell, a `~` backup from an
8
- // editor. None of it is authored, none of it is tracked (it is all gitignored),
9
- // and all of it is invisible in `git status` — so the first thing that notices
10
- // is whatever compares two trees.
11
- //
12
- // It bit as: a stray `tm/py/utility/__pycache__/make_options.cpython-314.pyc`,
13
- // created in August by running that module in place, copied verbatim by
14
- // `target add py` into the add output, and reported by the golden-manifest test
15
- // as toolchain drift. The copy is the real problem — the test only saw it. Left
16
- // alone, that `.pyc` ships into every consumer's SDK repo, compiled against
17
- // whatever python the maintainer happened to have.
18
- //
19
- // The rule is one list, in one place, applied by everything that walks a tree:
20
- // the WRITER (jostraca's Copy, through `cmp.Copy.ignore`, plus the two walks
21
- // target-add does itself) and every READER that compares against what the
22
- // writer produced (doctor's drift walk, the feature-source scan, the definition
23
- // listing). A writer and a reader that disagree about what counts report the
24
- // whole tree as a fork — the same discipline `templateReplacements` and
25
- // `aliasCmpName` are held to, and for the same reason.
26
- //
27
- // MEMBERSHIP IS A PROMISE that no template will ever legitimately carry that
28
- // name, so this list holds only what a TOOL creates and a person does not: no
29
- // `build`, `dist`, `bin` or `out` (a template may well ship one), and
30
- // emphatically no `target` — sdkgen's own model directory is called that, and
31
- // it is also where cargo and maven put their output. `test/junk.test.ts` checks
32
- // the list against every name in the shipped scaffold, so an over-broad pattern
33
- // fails there rather than by silently dropping a file from someone's SDK.
34
-
35
- // All of these are matched against the BARE NAME of a directory entry, not its
36
- // path — the same way jostraca's `cmp.Copy.ignore` is applied, so that naming a
37
- // directory prunes its whole subtree without every caller having to spell out
38
- // what is inside it.
39
-
40
-
41
- // Droppings that are not output of anything: an editor, the Finder, or a
42
- // version control system left them, and they occupy no space in the meaning of
43
- // the tree. Kept separate from BUILD because "would we copy this" and "is this
44
- // directory empty" are different questions, and only this half answers both —
45
- // a destination holding `node_modules` is not empty by any reading.
1
+
2
+
3
+
46
4
  const NOISE: RegExp[] = [
47
- // Editors and merges. `~` duplicates jostraca's built-in `IGNORED_RE`,
48
- // deliberately: that one governs its Copy walk alone, and the walks sdkgen
49
- // does itself (the prune, the feature scan) have to agree with it.
50
- /~$/, // editor backup
51
- /^\.#/, // emacs lock link
52
- /^#.*#$/, // emacs autosave
53
- /\.sw[a-p]$/, // vim swap
54
- /\.(bak|orig|rej)$/, // backups, and what a conflicted merge leaves behind
55
-
56
- // Operating systems.
5
+ /~$/,
6
+ /^\.#/,
7
+ /^#.*#$/,
8
+ /\.sw[a-p]$/,
9
+ /\.(bak|orig|rej)$/,
10
+
57
11
  /^\.DS_Store$/,
58
12
  /^__MACOSX$/,
59
13
  /^Thumbs\.db$/i,
@@ -64,13 +18,10 @@ const NOISE: RegExp[] = [
64
18
  /^\.git$/,
65
19
  /^\.svn$/,
66
20
  /^\.hg$/,
67
- /^\.idea$/, // not `.vscode` — an SDK may ship editor settings
21
+ /^\.idea$/,
68
22
  ]
69
23
 
70
24
 
71
- // Toolchain output, per language. Each of these appears exactly when someone
72
- // runs that language's tools inside a template tree, which is the normal way to
73
- // check that a template actually works — and none of them is ever the payload.
74
25
  const BUILD: RegExp[] = [
75
26
  /^node_modules$/,
76
27
  /^__pycache__$/,
@@ -83,11 +34,11 @@ const BUILD: RegExp[] = [
83
34
  /^\.dart_tool$/,
84
35
  /^\.?zig-cache$/,
85
36
  /^zig-out$/,
86
- /^_build$/, // mix, dune
37
+ /^_build$/,
87
38
  /^\.elixir_ls$/,
88
- /^\.cpcache$/, // clojure
39
+ /^\.cpcache$/,
89
40
  /^\.stack-work$/,
90
- /^dist-newstyle$/, // cabal
41
+ /^dist-newstyle$/,
91
42
  /^\.cargo$/,
92
43
  ]
93
44
 
@@ -95,14 +46,11 @@ const BUILD: RegExp[] = [
95
46
  const JUNK: RegExp[] = [...NOISE, ...BUILD]
96
47
 
97
48
 
98
- // Is this directory entry something no tree operation should see?
99
49
  function isJunk(name: string): boolean {
100
50
  return matches(name, JUNK)
101
51
  }
102
52
 
103
53
 
104
- // Weaker: does this entry leave a directory as good as empty? Toolchain output
105
- // does NOT — it is junk to copy and content to find.
106
54
  function isNoise(name: string): boolean {
107
55
  return matches(name, NOISE)
108
56
  }
@@ -125,30 +73,6 @@ function matches(name: string, patterns: RegExp[]): boolean {
125
73
  }
126
74
 
127
75
 
128
- // The jostraca `cmp` option block, which is how the WRITER side of the rule is
129
- // applied: jostraca tests `cmp.Copy.ignore` against the bare name of every
130
- // entry it walks, directories included, and prunes what matches.
131
- //
132
- // Passed PER CALL by each action, not left to the Jostraca instance — the same
133
- // discipline `control.dryrun` is held to, and for a related reason: the actions
134
- // take whatever instance their caller hands them (`actx.jostraca`), and a
135
- // consumer that builds its own would otherwise silently lose the filter. A
136
- // per-call value is merged last and wins.
137
- //
138
- // `/~$/` is first, and must stay first while any supported jostraca is at or
139
- // below 0.31.0. That merge takes this list over its own default of `[/~$/]`
140
- // with `deep()`, which recursed INTO index 0 — two RegExps are both objects, so
141
- // it iterated the incoming one's enumerable properties, of which a RegExp has
142
- // none, and kept the default. Whatever sat at index 0 was silently discarded.
143
- // Leading with the value already there makes that a no-op instead of a hole,
144
- // and jostraca's built-in `IGNORED_RE` covers `~` anyway.
145
- //
146
- // FIXED UPSTREAM (jostraca `deep` now replaces a custom-constructor value
147
- // rather than walking into it), so this is compatibility, not a live
148
- // workaround: harmless on a fixed jostraca, load-bearing on an older one.
149
- //
150
- // A FRESH object each call: `deep` mutates its base, and jostraca's merge order
151
- // leaves these values reachable from options it keeps.
152
76
  function copyOpts(): { Copy: { ignore: RegExp[] } } {
153
77
  return {
154
78
  Copy: {
@@ -1,39 +1,3 @@
1
- // THE PACKAGE MANIFEST: `sdkgen-package.json`, beside the package's `.sdk`.
2
- //
3
- // See docs/design/sdkgen-packages.md §2.
4
- //
5
- // <package-root>/
6
- // ├── sdkgen-package.json <- this
7
- // └── .sdk/ <- shaped exactly like ts/project/.sdk
8
- //
9
- // WHY JSON RATHER THAN AONTU
10
- //
11
- // Consumer models compile under `@voxgig/model`'s strictly-configured parser,
12
- // which accepts `#` comments only — a `//` line is a parse error, and seven
13
- // shipped targets once broke on exactly that (ts/test/model-compile.test.ts
14
- // exists because of it). The manifest is read by the CLI and never unified
15
- // into the model, so JSON keeps it outside that trap entirely.
16
- //
17
- // WHAT IT IS FOR
18
- //
19
- // A package's CLAIM about what it provides, so that:
20
- //
21
- // - `package add <pkg>` knows what to install without guessing from
22
- // directory listings;
23
- // - a typo'd ref fails naming what the package actually provides, rather
24
- // than resolving to a folder that exists and failing later on a missing
25
- // file;
26
- // - an item records WHICH PACKAGE supplied it (`package:` provenance), so a
27
- // project can be resynced against a newer version of that package.
28
- //
29
- // A claim is worth nothing unless it is checked, so `validateManifest`
30
- // compares it against the trees actually on disk, in both directions: a
31
- // manifest that lies is an error, on-disk extras are a warning.
32
- //
33
- // THE MANIFEST IS OPTIONAL FOR A DIRECT REF. `target add ../pkg/iot-go`
34
- // against a bare `.sdk`-shaped folder keeps working exactly as it does today
35
- // — that is what every existing consumer fixture is — and simply records no
36
- // `package` provenance. Requiring one is `package add`'s business.
37
1
 
38
2
  import Path from 'node:path'
39
3
 
@@ -54,58 +18,26 @@ type Manifest = {
54
18
  name: string
55
19
  version?: string
56
20
 
57
- // DECLARATIVE ONLY, so far. Nothing reads this range yet: the engine gate
58
- // belongs with `package add` (design §9), which is the next phase, and
59
- // there is no semver implementation here to compare with — this package has
60
- // no runtime dependencies. Until then a package declaring an incompatible
61
- // range installs anyway. Stated here rather than left to be discovered,
62
- // because a field that looks enforced and is not is worse than an absent
63
- // one.
64
21
  engines?: { sdkgen?: string }
65
22
 
66
- // Keyed BY KIND, so a new kind (docs, …) needs no schema change.
67
23
  provides: Record<string, string[]>
68
24
 
69
25
  // Optional: which targets a feature ships source for, so a missing overlay
70
26
  // is reported as out-of-declared-coverage rather than broken.
71
27
  targetsSupported?: Record<string, string[]>
72
28
 
73
- // Optional: the author's declared parity tier per target, in
74
- // ts/test/parity.test.ts's vocabulary plus CONSUMER — see PARITY below.
75
29
  parity?: Record<string, string>
76
30
  }
77
31
 
78
32
 
79
- // THE CLOSED PARITY VOCABULARY.
80
- //
81
- // The first three are `ts/test/parity.test.ts`'s tiers, which grade a
82
- // language target against the shared `.aontu` corpus. `CONSUMER` is the
83
- // fourth and grades nothing: a consumer target wraps another target's SDK and
84
- // has no primary-utility surface to measure, so `parity.test.ts` keeps the
85
- // bundled ones in NON_SDK_TARGETS rather than in a tier. A package holding
86
- // one needs a way to say the same thing, and saying nothing is not it — an
87
- // absent field cannot be told apart from an author who did not know the field
88
- // existed, which is the silently-absent shape every other guard in this repo
89
- // exists to prevent.
90
- //
91
- // Closed, and checked, because a declaration nothing checks is the failure
92
- // `engines.sdkgen` documents about itself two fields up: a typo would
93
- // otherwise be indistinguishable from a considered choice.
94
33
  const PARITY = ['FULL', 'MIRRORED', 'UNCOVERED', 'CONSUMER']
95
34
 
96
35
 
97
- // What `readManifest` found. THREE outcomes, deliberately distinct: a
98
- // manifest, no manifest, or a manifest that could not be read. Collapsing the
99
- // last two into "no manifest" is what would let a typo in a package's own
100
- // JSON silently downgrade `package add` into a no-op.
101
36
  type ManifestRead = {
102
- // Where it was looked for, always — the value an error message needs.
103
37
  file: string
104
38
 
105
- // Present only when one was found AND parsed.
106
39
  manifest?: Manifest
107
40
 
108
- // Present only when one was found and could NOT be parsed.
109
41
  err?: string
110
42
  }
111
43
 
@@ -226,12 +158,6 @@ function checkShape(manifest: Manifest, file: string): Finding[] {
226
158
  continue
227
159
  }
228
160
 
229
- // A NAME, not a path. `missingPaths` joins these onto the package root,
230
- // so `../../outside` would send every existence check out of the
231
- // package entirely and let a manifest validate clean against unrelated
232
- // files. `~` is excluded for a different reason: it is the alias
233
- // separator, so a name containing one could never be resolved back to
234
- // this item.
235
161
  for (const name of names as string[]) {
236
162
  if (!ITEM_NAME_RE.test(name)) {
237
163
  found.push({
@@ -263,31 +189,9 @@ function checkShape(manifest: Manifest, file: string): Finding[] {
263
189
  }
264
190
 
265
191
 
266
- // What may name a target, feature, or any other item.
267
- //
268
- // Deliberately narrow: these become directory names, aontu model keys,
269
- // generated config keys (`options.feature.<name>`) and component filename
270
- // suffixes, so the intersection of what all of those accept is the real
271
- // constraint. The shipped names — `go-cli`, `py-data`, `seneca-provider`,
272
- // `clienttrack` — all fit.
273
192
  const ITEM_NAME_RE = /^[A-Za-z0-9][A-Za-z0-9._-]*$/
274
193
 
275
194
 
276
- // Does the package's disk match its claim?
277
- //
278
- // BOTH DIRECTIONS, because they fail differently and neither implies the
279
- // other:
280
- //
281
- // claim without disk -> ERROR. `package add` would try to install it and
282
- // break partway through, having already written the
283
- // items listed before it.
284
- // disk without claim -> WARN. Everything works; the author has shipped
285
- // something nobody can discover, which is nearly
286
- // always a forgotten manifest edit.
287
- //
288
- // `kindRequires` is supplied by the caller rather than imported, because the
289
- // kind registry lives in `action/` and this is a helper — the dependency has
290
- // to point that way, not this way.
291
195
  function validateManifest(
292
196
  fs: any,
293
197
  sdkfolder: string,
@@ -319,16 +223,6 @@ function validateManifest(
319
223
  continue
320
224
  }
321
225
 
322
- // ONE ORACLE FOR BOTH DIRECTIONS. The unclaimed-extras loop below reads
323
- // the directory listing; if this loop asked the filesystem instead
324
- // (`existsSync`/`statSync`), the two would disagree on a case-insensitive
325
- // filesystem — APFS and NTFS by default, which is most package authors'
326
- // machines. A manifest claiming `IoTGo` beside a `model/target/iotgo.aon`
327
- // then validated CLEAN for the author and failed for every Linux consumer,
328
- // which is precisely the "validated package that cannot install" this
329
- // function exists to prevent. It also makes the duplicate check above
330
- // meaningful: `['retry','Retry']` are two names to a Set and one file to
331
- // the filesystem.
332
226
  const defined = new Set(definitionNames(fs, sdkfolder, kind))
333
227
 
334
228
  for (const name of names) {
@@ -351,30 +245,6 @@ function validateManifest(
351
245
  const targets = new Set(provides.target ?? [])
352
246
  const graded = new Set(Object.keys(manifest.parity ?? {}))
353
247
 
354
- // A PROVIDED TARGET THE MANIFEST GRADES NOTHING FOR, when it grades OTHERS.
355
- //
356
- // Checking only the values leaves the weaker half undone: a typo'd tier is
357
- // caught while an absent one passes, and absent is the failure mode the
358
- // closed sets in this repo exist for — indistinguishable from an author who
359
- // did not know the field was there.
360
- //
361
- // SCOPED TO A PARTIAL DECLARATION, and the scope is a real constraint
362
- // rather than timidity. An ENTIRELY absent `parity` is the BUNDLED
363
- // manifest's deliberate state: design §18.4a refused to duplicate
364
- // parity.test.ts's tier map into ts/project/sdkgen-package.json, because
365
- // the intended direction is the reverse — the manifest becomes the source
366
- // and the suite reads it. Warning on a wholly absent field would fire on
367
- // the shipped scaffold's 25 targets and demand that duplication now, which
368
- // is the decision §18.4a made, not one to reverse from inside a validator.
369
- //
370
- // What IS unambiguous is inconsistency: a manifest that grades some of its
371
- // targets and not others has no second reading. Nobody decides to grade two
372
- // of three.
373
- //
374
- // WARNING, not error, and the level is the argument. The package works — a
375
- // missing coverage declaration installs and generates correctly — so
376
- // refusing it would be a worse outcome than saying so, the same call
377
- // `manifest-item-unclaimed` makes for a tree nothing claims.
378
248
  for (const name of (0 === graded.size ? [] : [...targets].sort())) {
379
249
  if (!graded.has(name as string)) {
380
250
  found.push({
@@ -404,10 +274,6 @@ function validateManifest(
404
274
  }
405
275
  }
406
276
 
407
- // The other direction. Only for kinds the manifest MENTIONS plus the ones
408
- // this generator knows — a directory named after a kind nobody registered
409
- // is already reported above if claimed, and is not this check's business if
410
- // not.
411
277
  for (const kind of Object.keys(kinds)) {
412
278
  const claimed = new Set(provides[kind] ?? [])
413
279
 
@@ -427,22 +293,6 @@ function validateManifest(
427
293
  }
428
294
 
429
295
 
430
- // Every path an item of this kind needs, that is not there AS THE RIGHT KIND
431
- // OF THING.
432
- //
433
- // The definition file is implied for every kind; the kind's REQUIRED trees
434
- // add whatever else it needs (a target's component and template trees, a docs
435
- // item's components). An optional tree — a docs item's templates — is not
436
- // checked here, because a package that legitimately ships none must validate.
437
- //
438
- // FILE vs DIRECTORY is checked, not merely existence. A regular file at
439
- // `src/cmp/<t>` satisfies `existsSync` and satisfies nothing else: `target
440
- // add` walks both of those paths as trees, so a package validated on
441
- // existence alone could still be incapable of installing a usable target —
442
- // which is the one thing validation is supposed to rule out.
443
- //
444
- // Returned as package-relative strings, because that is what an error message
445
- // should say: the absolute path is this machine's business, not the author's.
446
296
  function missingPaths(
447
297
  fs: any,
448
298
  sdkfolder: string,
@@ -453,8 +303,6 @@ function missingPaths(
453
303
  ): string[] {
454
304
  const missing: string[] = []
455
305
 
456
- // The definition, by EXACT NAME from the directory listing — see the note
457
- // at the call site about the two directions needing one oracle.
458
306
  if (!defined.has(name)) {
459
307
  missing.push('model/' + kind + '/' + name + '.aon')
460
308
  }
@@ -473,9 +321,6 @@ function missingPaths(
473
321
  }
474
322
 
475
323
 
476
- // What is at a path: a file, a directory, or nothing. `statSync` FOLLOWS
477
- // symlinks, deliberately — a package may legitimately symlink a shared tree,
478
- // and what matters is what `target add` will find when it walks it.
479
324
  function entryKind(fs: any, path: string): 'file' | 'dir' | 'none' {
480
325
  try {
481
326
  const stat = fs.statSync(path)
@@ -487,20 +332,6 @@ function entryKind(fs: any, path: string): 'file' | 'dir' | 'none' {
487
332
  }
488
333
 
489
334
 
490
- // WHERE A PACKAGE ROOT IS, given a ref.
491
- //
492
- // The same probe chain `resolveSource` uses for an ITEM, one level up: an
493
- // installed npm package first, then a path relative to the project, then an
494
- // absolute path. A package root is the folder HOLDING `.sdk`, which is what
495
- // makes `<root>/<item>` the item ref — so the two resolvers agree by
496
- // construction about what a package is.
497
- //
498
- // It reports rather than throws, and it does not require a manifest, because
499
- // its two callers want different things from the same probe: `package add`
500
- // refuses a folder with no manifest (that is the verb's whole subject), while
501
- // `package check` reports the absence as its first finding and carries on
502
- // checking the `.sdk` — an author who has not written the manifest yet is
503
- // exactly who needs the rest of the battery.
504
335
  type PackageProbe = {
505
336
  ref: string
506
337
  root: string