@voxgig/sdkgen 4.20.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 (1561) 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 -55
  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 +22 -24
  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 +2 -305
  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 +19 -450
  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 +96 -450
  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 -31
  148. package/project/.sdk/model/target/c.aon +1 -42
  149. package/project/.sdk/model/target/clojure.aon +1 -37
  150. package/project/.sdk/model/target/cpp.aon +1 -43
  151. package/project/.sdk/model/target/csharp.aon +1 -27
  152. package/project/.sdk/model/target/elixir.aon +1 -23
  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 +1 -10
  156. package/project/.sdk/model/target/java.aon +1 -30
  157. package/project/.sdk/model/target/js.aon +2 -21
  158. package/project/.sdk/model/target/kotlin.aon +1 -32
  159. package/project/.sdk/model/target/lua.aon +1 -33
  160. package/project/.sdk/model/target/ocaml.aon +1 -65
  161. package/project/.sdk/model/target/perl.aon +1 -21
  162. package/project/.sdk/model/target/php.aon +1 -18
  163. package/project/.sdk/model/target/py-data.aon +0 -33
  164. package/project/.sdk/model/target/py.aon +1 -18
  165. package/project/.sdk/model/target/rb.aon +1 -18
  166. package/project/.sdk/model/target/rust.aon +1 -26
  167. package/project/.sdk/model/target/scala.aon +1 -75
  168. package/project/.sdk/model/target/swift.aon +1 -42
  169. package/project/.sdk/model/target/ts.aon +3 -25
  170. package/project/.sdk/model/target/zig.aon +1 -51
  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 +3 -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 +87 -0
  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 +2 -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/ReadmeExplanation_clojure.ts +1 -0
  188. package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +2 -5
  189. package/project/.sdk/src/cmp/clojure/Schema_clojure.ts +53 -0
  190. package/project/.sdk/src/cmp/clojure/TestDirect_clojure.ts +0 -6
  191. package/project/.sdk/src/cmp/clojure/TestEntity_clojure.ts +0 -10
  192. package/project/.sdk/src/cmp/clojure/Test_clojure.ts +0 -8
  193. package/project/.sdk/src/cmp/clojure/featureextra_clojure.ts +0 -34
  194. package/project/.sdk/src/cmp/clojure/utility_clojure.ts +0 -47
  195. package/project/.sdk/src/cmp/cpp/Config_cpp.ts +0 -109
  196. package/project/.sdk/src/cmp/cpp/EntityTypes_cpp.ts +0 -36
  197. package/project/.sdk/src/cmp/cpp/Main_cpp.ts +3 -47
  198. package/project/.sdk/src/cmp/cpp/Package_cpp.ts +0 -14
  199. package/project/.sdk/src/cmp/cpp/PrepareAuth_cpp.ts +0 -125
  200. package/project/.sdk/src/cmp/cpp/ReadmeExamplesTest_cpp.ts +0 -19
  201. package/project/.sdk/src/cmp/cpp/ReadmeQuick_cpp.ts +0 -7
  202. package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +2 -5
  203. package/project/.sdk/src/cmp/cpp/Schema_cpp.ts +84 -0
  204. package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +0 -3
  205. package/project/.sdk/src/cmp/cpp/Test_cpp.ts +0 -3
  206. package/project/.sdk/src/cmp/cpp/utility_cpp.ts +0 -28
  207. package/project/.sdk/src/cmp/csharp/Config_csharp.ts +0 -79
  208. package/project/.sdk/src/cmp/csharp/EntityOperation_csharp.ts +0 -3
  209. package/project/.sdk/src/cmp/csharp/EntityTypes_csharp.ts +0 -50
  210. package/project/.sdk/src/cmp/csharp/Entity_csharp.ts +0 -1
  211. package/project/.sdk/src/cmp/csharp/Main_csharp.ts +3 -24
  212. package/project/.sdk/src/cmp/csharp/Package_csharp.ts +0 -20
  213. package/project/.sdk/src/cmp/csharp/PrepareAuth_csharp.ts +0 -81
  214. package/project/.sdk/src/cmp/csharp/ReadmeEntity_csharp.ts +0 -1
  215. package/project/.sdk/src/cmp/csharp/ReadmeExamplesTest_csharp.ts +0 -23
  216. package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +2 -5
  217. package/project/.sdk/src/cmp/csharp/ReadmeTopQuick_csharp.ts +0 -2
  218. package/project/.sdk/src/cmp/csharp/Schema_csharp.ts +67 -0
  219. package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +0 -4
  220. package/project/.sdk/src/cmp/csharp/utility_csharp.ts +0 -72
  221. package/project/.sdk/src/cmp/elixir/Config_elixir.ts +0 -78
  222. package/project/.sdk/src/cmp/elixir/EntityTypes_elixir.ts +0 -38
  223. package/project/.sdk/src/cmp/elixir/Main_elixir.ts +2 -40
  224. package/project/.sdk/src/cmp/elixir/Package_elixir.ts +0 -13
  225. package/project/.sdk/src/cmp/elixir/PrepareAuth_elixir.ts +0 -123
  226. package/project/.sdk/src/cmp/elixir/ReadmeExamplesTest_elixir.ts +0 -19
  227. package/project/.sdk/src/cmp/elixir/ReadmeExplanation_elixir.ts +1 -0
  228. package/project/.sdk/src/cmp/elixir/ReadmeRef_elixir.ts +2 -5
  229. package/project/.sdk/src/cmp/elixir/Schema_elixir.ts +64 -0
  230. package/project/.sdk/src/cmp/elixir/utility_elixir.ts +0 -34
  231. package/project/.sdk/src/cmp/go/Config_go.ts +0 -41
  232. package/project/.sdk/src/cmp/go/EntityTypes_go.ts +0 -71
  233. package/project/.sdk/src/cmp/go/Entity_go.ts +0 -5
  234. package/project/.sdk/src/cmp/go/Main_go.ts +2 -28
  235. package/project/.sdk/src/cmp/go/Package_go.ts +0 -7
  236. package/project/.sdk/src/cmp/go/PrepareAuth_go.ts +0 -64
  237. package/project/.sdk/src/cmp/go/ReadmeEntity_go.ts +0 -5
  238. package/project/.sdk/src/cmp/go/ReadmeExamplesTest_go.ts +0 -30
  239. package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +0 -3
  240. package/project/.sdk/src/cmp/go/ReadmeIntro_go.ts +0 -7
  241. package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +0 -11
  242. package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +0 -21
  243. package/project/.sdk/src/cmp/go/ReadmeRef_go.ts +2 -14
  244. package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +0 -9
  245. package/project/.sdk/src/cmp/go/Schema_go.ts +72 -0
  246. package/project/.sdk/src/cmp/go/TestDirect_go.ts +0 -23
  247. package/project/.sdk/src/cmp/go/TestEntity_go.ts +0 -8
  248. package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +0 -21
  249. package/project/.sdk/src/cmp/go/fragment/Main.fragment.go +0 -12
  250. package/project/.sdk/src/cmp/go/utility_go.ts +0 -70
  251. package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +0 -49
  252. package/project/.sdk/src/cmp/go-cli/fragment/words.fragment.go +0 -12
  253. package/project/.sdk/src/cmp/go-mcp/Main_go-mcp.ts +0 -36
  254. package/project/.sdk/src/cmp/go-mcp/fragment/main.fragment.go +0 -20
  255. package/project/.sdk/src/cmp/go-mcp/fragment/tools.fragment.go +0 -3
  256. package/project/.sdk/src/cmp/java/Config_java.ts +0 -63
  257. package/project/.sdk/src/cmp/java/EntityTypes_java.ts +0 -50
  258. package/project/.sdk/src/cmp/java/Entity_java.ts +0 -6
  259. package/project/.sdk/src/cmp/java/Main_java.ts +2 -24
  260. package/project/.sdk/src/cmp/java/PrepareAuth_java.ts +0 -55
  261. package/project/.sdk/src/cmp/java/ReadmeEntity_java.ts +0 -1
  262. package/project/.sdk/src/cmp/java/ReadmeExamplesTest_java.ts +0 -20
  263. package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +0 -4
  264. package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +2 -5
  265. package/project/.sdk/src/cmp/java/ReadmeTopQuick_java.ts +0 -7
  266. package/project/.sdk/src/cmp/java/Schema_java.ts +106 -0
  267. package/project/.sdk/src/cmp/java/TestDirect_java.ts +0 -7
  268. package/project/.sdk/src/cmp/java/TestEntity_java.ts +0 -4
  269. package/project/.sdk/src/cmp/java/Test_java.ts +0 -6
  270. package/project/.sdk/src/cmp/java/utility_java.ts +0 -33
  271. package/project/.sdk/src/cmp/js/Config_js.ts +0 -46
  272. package/project/.sdk/src/cmp/js/EntityTypes_js.ts +0 -33
  273. package/project/.sdk/src/cmp/js/Main_js.ts +0 -33
  274. package/project/.sdk/src/cmp/js/Package_js.ts +2 -7
  275. package/project/.sdk/src/cmp/js/PrepareAuth_js.ts +0 -57
  276. package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +0 -9
  277. package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +0 -2
  278. package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +0 -15
  279. package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +2 -7
  280. package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +0 -7
  281. package/project/.sdk/src/cmp/js/Schema_js.ts +0 -21
  282. package/project/.sdk/src/cmp/js/TestDirect_js.ts +2 -16
  283. package/project/.sdk/src/cmp/js/TestEntity_js.ts +3 -13
  284. package/project/.sdk/src/cmp/js/TestLive_js.ts +10 -3
  285. package/project/.sdk/src/cmp/js/utility_js.ts +0 -58
  286. package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +0 -46
  287. package/project/.sdk/src/cmp/kotlin/EntityOperation_kotlin.ts +0 -2
  288. package/project/.sdk/src/cmp/kotlin/EntityTypes_kotlin.ts +0 -53
  289. package/project/.sdk/src/cmp/kotlin/Entity_kotlin.ts +0 -4
  290. package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +2 -46
  291. package/project/.sdk/src/cmp/kotlin/PrepareAuth_kotlin.ts +0 -113
  292. package/project/.sdk/src/cmp/kotlin/ReadmeEntity_kotlin.ts +0 -1
  293. package/project/.sdk/src/cmp/kotlin/ReadmeExamplesTest_kotlin.ts +0 -20
  294. package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +2 -5
  295. package/project/.sdk/src/cmp/kotlin/ReadmeTopQuick_kotlin.ts +0 -5
  296. package/project/.sdk/src/cmp/kotlin/Schema_kotlin.ts +92 -0
  297. package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +0 -4
  298. package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +0 -6
  299. package/project/.sdk/src/cmp/kotlin/utility_kotlin.ts +0 -33
  300. package/project/.sdk/src/cmp/lua/Config_lua.ts +0 -56
  301. package/project/.sdk/src/cmp/lua/EntityTypes_lua.ts +0 -30
  302. package/project/.sdk/src/cmp/lua/Entity_lua.ts +0 -7
  303. package/project/.sdk/src/cmp/lua/Main_lua.ts +38 -59
  304. package/project/.sdk/src/cmp/lua/Package_lua.ts +1 -20
  305. package/project/.sdk/src/cmp/lua/PrepareAuth_lua.ts +0 -61
  306. package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +0 -8
  307. package/project/.sdk/src/cmp/lua/ReadmeExamplesTest_lua.ts +0 -24
  308. package/project/.sdk/src/cmp/lua/ReadmeExplanation_lua.ts +1 -0
  309. package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +0 -10
  310. package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +0 -21
  311. package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +2 -12
  312. package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +0 -3
  313. package/project/.sdk/src/cmp/lua/Schema_lua.ts +56 -0
  314. package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +0 -2
  315. package/project/.sdk/src/cmp/lua/utility_lua.ts +0 -30
  316. package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +18 -93
  317. package/project/.sdk/src/cmp/ocaml/EntityOperation_ocaml.ts +0 -6
  318. package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +27 -84
  319. package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +0 -13
  320. package/project/.sdk/src/cmp/ocaml/PrepareAuth_ocaml.ts +0 -145
  321. package/project/.sdk/src/cmp/ocaml/ReadmeExamplesTest_ocaml.ts +0 -17
  322. package/project/.sdk/src/cmp/ocaml/ReadmeExplanation_ocaml.ts +1 -0
  323. package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +2 -5
  324. package/project/.sdk/src/cmp/ocaml/Schema_ocaml.ts +76 -0
  325. package/project/.sdk/src/cmp/ocaml/SdkError_ocaml.ts +0 -4
  326. package/project/.sdk/src/cmp/ocaml/TestEntity_ocaml.ts +0 -5
  327. package/project/.sdk/src/cmp/ocaml/utility_ocaml.ts +0 -27
  328. package/project/.sdk/src/cmp/perl/Config_perl.ts +0 -52
  329. package/project/.sdk/src/cmp/perl/Entity_perl.ts +0 -3
  330. package/project/.sdk/src/cmp/perl/Main_perl.ts +2 -33
  331. package/project/.sdk/src/cmp/perl/Package_perl.ts +0 -8
  332. package/project/.sdk/src/cmp/perl/PrepareAuth_perl.ts +0 -84
  333. package/project/.sdk/src/cmp/perl/ReadmeEntity_perl.ts +0 -3
  334. package/project/.sdk/src/cmp/perl/ReadmeExamplesTest_perl.ts +0 -27
  335. package/project/.sdk/src/cmp/perl/ReadmeExplanation_perl.ts +1 -0
  336. package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +2 -5
  337. package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +0 -2
  338. package/project/.sdk/src/cmp/perl/Schema_perl.ts +89 -0
  339. package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +0 -2
  340. package/project/.sdk/src/cmp/perl/utility_perl.ts +0 -26
  341. package/project/.sdk/src/cmp/php/Config_php.ts +0 -76
  342. package/project/.sdk/src/cmp/php/EntityTypes_php.ts +0 -51
  343. package/project/.sdk/src/cmp/php/MainEntity_php.ts +0 -6
  344. package/project/.sdk/src/cmp/php/Main_php.ts +2 -15
  345. package/project/.sdk/src/cmp/php/Package_php.ts +1 -1
  346. package/project/.sdk/src/cmp/php/PrepareAuth_php.ts +0 -73
  347. package/project/.sdk/src/cmp/php/ReadmeEntity_php.ts +0 -4
  348. package/project/.sdk/src/cmp/php/ReadmeExamplesTest_php.ts +0 -33
  349. package/project/.sdk/src/cmp/php/ReadmeExplanation_php.ts +1 -0
  350. package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +0 -1
  351. package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +0 -19
  352. package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +2 -7
  353. package/project/.sdk/src/cmp/php/Schema_php.ts +114 -0
  354. package/project/.sdk/src/cmp/php/TestEntity_php.ts +0 -9
  355. package/project/.sdk/src/cmp/php/utility_php.ts +0 -22
  356. package/project/.sdk/src/cmp/py/Config_py.ts +0 -53
  357. package/project/.sdk/src/cmp/py/EntityTypes_py.ts +0 -55
  358. package/project/.sdk/src/cmp/py/Entity_py.ts +0 -16
  359. package/project/.sdk/src/cmp/py/Main_py.ts +3 -61
  360. package/project/.sdk/src/cmp/py/Package_py.ts +0 -3
  361. package/project/.sdk/src/cmp/py/PrepareAuth_py.ts +0 -69
  362. package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +0 -13
  363. package/project/.sdk/src/cmp/py/ReadmeExamplesTest_py.ts +0 -31
  364. package/project/.sdk/src/cmp/py/ReadmeExplanation_py.ts +1 -0
  365. package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +0 -3
  366. package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +0 -28
  367. package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +2 -16
  368. package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +0 -14
  369. package/project/.sdk/src/cmp/py/Schema_py.ts +53 -0
  370. package/project/.sdk/src/cmp/py/TestDirect_py.ts +0 -2
  371. package/project/.sdk/src/cmp/py/utility_py.ts +0 -22
  372. package/project/.sdk/src/cmp/py-data/Main_py-data.ts +9 -43
  373. package/project/.sdk/src/cmp/rb/Config_rb.ts +0 -56
  374. package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +0 -58
  375. package/project/.sdk/src/cmp/rb/Entity_rb.ts +0 -3
  376. package/project/.sdk/src/cmp/rb/Main_rb.ts +2 -10
  377. package/project/.sdk/src/cmp/rb/Package_rb.ts +0 -5
  378. package/project/.sdk/src/cmp/rb/PrepareAuth_rb.ts +0 -81
  379. package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +0 -7
  380. package/project/.sdk/src/cmp/rb/ReadmeExamplesTest_rb.ts +0 -32
  381. package/project/.sdk/src/cmp/rb/ReadmeExplanation_rb.ts +1 -0
  382. package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +0 -9
  383. package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +0 -23
  384. package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +2 -10
  385. package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +0 -5
  386. package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +0 -3
  387. package/project/.sdk/src/cmp/rb/Schema_rb.ts +55 -0
  388. package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +0 -2
  389. package/project/.sdk/src/cmp/rb/utility_rb.ts +0 -22
  390. package/project/.sdk/src/cmp/rust/Config_rust.ts +0 -35
  391. package/project/.sdk/src/cmp/rust/EntityTypes_rust.ts +0 -34
  392. package/project/.sdk/src/cmp/rust/Entity_rust.ts +0 -9
  393. package/project/.sdk/src/cmp/rust/Main_rust.ts +3 -58
  394. package/project/.sdk/src/cmp/rust/Package_rust.ts +0 -30
  395. package/project/.sdk/src/cmp/rust/PrepareAuth_rust.ts +0 -84
  396. package/project/.sdk/src/cmp/rust/ReadmeExamplesTest_rust.ts +0 -16
  397. package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +2 -5
  398. package/project/.sdk/src/cmp/rust/Schema_rust.ts +89 -0
  399. package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +0 -7
  400. package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +0 -9
  401. package/project/.sdk/src/cmp/rust/fragment/Entity.fragment.rs +0 -14
  402. package/project/.sdk/src/cmp/rust/fragment/EntityRemoveOp.fragment.rs +0 -4
  403. package/project/.sdk/src/cmp/rust/fragment/Main.fragment.rs +0 -20
  404. package/project/.sdk/src/cmp/rust/fragment/SdkError.fragment.rs +0 -6
  405. package/project/.sdk/src/cmp/rust/utility_rust.ts +0 -47
  406. package/project/.sdk/src/cmp/scala/Config_scala.ts +0 -31
  407. package/project/.sdk/src/cmp/scala/EntityTypes_scala.ts +0 -51
  408. package/project/.sdk/src/cmp/scala/Main_scala.ts +3 -78
  409. package/project/.sdk/src/cmp/scala/PrepareAuth_scala.ts +0 -102
  410. package/project/.sdk/src/cmp/scala/ReadmeEntity_scala.ts +0 -1
  411. package/project/.sdk/src/cmp/scala/ReadmeExamplesTest_scala.ts +0 -23
  412. package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +2 -5
  413. package/project/.sdk/src/cmp/scala/ReadmeTopQuick_scala.ts +0 -5
  414. package/project/.sdk/src/cmp/scala/Schema_scala.ts +89 -0
  415. package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +0 -8
  416. package/project/.sdk/src/cmp/scala/Test_scala.ts +0 -3
  417. package/project/.sdk/src/cmp/scala/utility_scala.ts +0 -31
  418. package/project/.sdk/src/cmp/swift/Config_swift.ts +0 -62
  419. package/project/.sdk/src/cmp/swift/EntityOperation_swift.ts +0 -3
  420. package/project/.sdk/src/cmp/swift/EntityTypes_swift.ts +0 -39
  421. package/project/.sdk/src/cmp/swift/Main_swift.ts +3 -42
  422. package/project/.sdk/src/cmp/swift/Package_swift.ts +0 -69
  423. package/project/.sdk/src/cmp/swift/PrepareAuth_swift.ts +0 -134
  424. package/project/.sdk/src/cmp/swift/ReadmeEntity_swift.ts +0 -2
  425. package/project/.sdk/src/cmp/swift/ReadmeExamplesTest_swift.ts +0 -22
  426. package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +2 -5
  427. package/project/.sdk/src/cmp/swift/Schema_swift.ts +74 -0
  428. package/project/.sdk/src/cmp/swift/TestEntity_swift.ts +0 -4
  429. package/project/.sdk/src/cmp/swift/utility_swift.ts +0 -51
  430. package/project/.sdk/src/cmp/ts/Config_ts.ts +0 -46
  431. package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +0 -34
  432. package/project/.sdk/src/cmp/ts/Entity_ts.ts +0 -6
  433. package/project/.sdk/src/cmp/ts/Main_ts.ts +0 -28
  434. package/project/.sdk/src/cmp/ts/Package_ts.ts +2 -26
  435. package/project/.sdk/src/cmp/ts/PrepareAuth_ts.ts +0 -55
  436. package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +0 -9
  437. package/project/.sdk/src/cmp/ts/ReadmeExampleTest_ts.ts +0 -6
  438. package/project/.sdk/src/cmp/ts/ReadmeExamplesTest_ts.ts +0 -25
  439. package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +4 -9
  440. package/project/.sdk/src/cmp/ts/ReadmeIntro_ts.ts +0 -7
  441. package/project/.sdk/src/cmp/ts/ReadmeModel_ts.ts +0 -3
  442. package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +0 -43
  443. package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +2 -20
  444. package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +0 -11
  445. package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +6 -9
  446. package/project/.sdk/src/cmp/ts/Schema_ts.ts +0 -21
  447. package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +2 -53
  448. package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +3 -31
  449. package/project/.sdk/src/cmp/ts/TestLive_ts.ts +10 -4
  450. package/project/.sdk/src/cmp/ts/Test_ts.ts +0 -4
  451. package/project/.sdk/src/cmp/ts/fragment/Config.data.fragment.ts +0 -27
  452. package/project/.sdk/src/cmp/ts/fragment/Config.fragment.ts +0 -7
  453. package/project/.sdk/src/cmp/ts/fragment/Direct.test.fragment.ts +0 -7
  454. package/project/.sdk/src/cmp/ts/fragment/Entity.fragment.ts +0 -1
  455. package/project/.sdk/src/cmp/ts/fragment/Entity.test.fragment.ts +0 -4
  456. package/project/.sdk/src/cmp/ts/fragment/EntityBase.fragment.ts +0 -20
  457. package/project/.sdk/src/cmp/ts/fragment/EntityCreateOp.fragment.ts +0 -6
  458. package/project/.sdk/src/cmp/ts/fragment/EntityLoadOp.fragment.ts +0 -6
  459. package/project/.sdk/src/cmp/ts/fragment/EntityRemoveOp.fragment.ts +0 -15
  460. package/project/.sdk/src/cmp/ts/fragment/EntityUpdateOp.fragment.ts +0 -6
  461. package/project/.sdk/src/cmp/ts/fragment/Main.fragment.ts +0 -15
  462. package/project/.sdk/src/cmp/ts/fragment/MainStation.fragment.ts +0 -12
  463. package/project/.sdk/src/cmp/ts/fragment/SdkError.fragment.ts +0 -9
  464. package/project/.sdk/src/cmp/ts/utility_ts.ts +0 -59
  465. package/project/.sdk/src/cmp/zig/Config_zig.ts +0 -70
  466. package/project/.sdk/src/cmp/zig/Entity_zig.ts +0 -3
  467. package/project/.sdk/src/cmp/zig/Main_zig.ts +3 -83
  468. package/project/.sdk/src/cmp/zig/Package_zig.ts +0 -22
  469. package/project/.sdk/src/cmp/zig/PrepareAuth_zig.ts +0 -136
  470. package/project/.sdk/src/cmp/zig/ReadmeExamplesTest_zig.ts +0 -18
  471. package/project/.sdk/src/cmp/zig/ReadmeQuick_zig.ts +0 -3
  472. package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +2 -5
  473. package/project/.sdk/src/cmp/zig/Schema_zig.ts +91 -0
  474. package/project/.sdk/src/cmp/zig/TestDirect_zig.ts +0 -11
  475. package/project/.sdk/src/cmp/zig/TestEntity_zig.ts +0 -8
  476. package/project/.sdk/src/cmp/zig/Test_zig.ts +0 -11
  477. package/project/.sdk/src/cmp/zig/utility_zig.ts +0 -47
  478. package/project/.sdk/tm/c/core/context.c +3 -0
  479. package/project/.sdk/tm/c/core/sdk.h +14 -0
  480. package/project/.sdk/tm/c/feature/secrets/plugin/capability.c +2 -2
  481. package/project/.sdk/tm/c/feature/secrets/plugin/capability.h +2 -2
  482. package/project/.sdk/tm/c/feature/secrets/plugin/catalog.c +2 -2
  483. package/project/.sdk/tm/c/feature/secrets/plugin/catalog.h +2 -2
  484. package/project/.sdk/tm/c/feature/secrets/plugin/config.c +2 -2
  485. package/project/.sdk/tm/c/feature/secrets/plugin/config.h +2 -2
  486. package/project/.sdk/tm/c/feature/secrets/plugin/depend.c +2 -2
  487. package/project/.sdk/tm/c/feature/secrets/plugin/depend.h +2 -2
  488. package/project/.sdk/tm/c/feature/secrets/plugin/env.c +2 -2
  489. package/project/.sdk/tm/c/feature/secrets/plugin/env.h +2 -2
  490. package/project/.sdk/tm/c/feature/secrets/plugin/export.c +3 -3
  491. package/project/.sdk/tm/c/feature/secrets/plugin/export.h +2 -2
  492. package/project/.sdk/tm/c/feature/secrets/plugin/graph.c +2 -2
  493. package/project/.sdk/tm/c/feature/secrets/plugin/graph.h +2 -2
  494. package/project/.sdk/tm/c/feature/secrets/plugin/host.c +25 -2
  495. package/project/.sdk/tm/c/feature/secrets/plugin/host.h +3 -2
  496. package/project/.sdk/tm/c/feature/secrets/plugin/order.c +2 -2
  497. package/project/.sdk/tm/c/feature/secrets/plugin/order.h +2 -2
  498. package/project/.sdk/tm/c/feature/secrets/plugin/point.c +2 -2
  499. package/project/.sdk/tm/c/feature/secrets/plugin/point.h +2 -2
  500. package/project/.sdk/tm/c/feature/secrets/plugin/ref.c +2 -2
  501. package/project/.sdk/tm/c/feature/secrets/plugin/ref.h +2 -2
  502. package/project/.sdk/tm/c/feature/secrets/plugin/resolve.c +2 -2
  503. package/project/.sdk/tm/c/feature/secrets/plugin/resolve.h +2 -2
  504. package/project/.sdk/tm/c/feature/secrets/plugin/types.c +2 -2
  505. package/project/.sdk/tm/c/feature/secrets/plugin/types.h +2 -2
  506. package/project/.sdk/tm/c/feature/secrets/plugin/value.c +2 -2
  507. package/project/.sdk/tm/c/feature/secrets/plugin/value.h +2 -2
  508. package/project/.sdk/tm/c/feature/secrets/plugin/version.c +2 -2
  509. package/project/.sdk/tm/c/feature/secrets/plugin/version.h +2 -2
  510. package/project/.sdk/tm/c/feature/secrets/plugins/aws.c +2 -2
  511. package/project/.sdk/tm/c/feature/secrets/plugins/azuresecrets.c +2 -2
  512. package/project/.sdk/tm/c/feature/secrets/plugins/boru.c +2 -2
  513. package/project/.sdk/tm/c/feature/secrets/plugins/clock.c +2 -2
  514. package/project/.sdk/tm/c/feature/secrets/plugins/doppler.c +2 -2
  515. package/project/.sdk/tm/c/feature/secrets/plugins/encode.c +2 -2
  516. package/project/.sdk/tm/c/feature/secrets/plugins/gcpsecrets.c +2 -2
  517. package/project/.sdk/tm/c/feature/secrets/plugins/hashicorp.c +2 -2
  518. package/project/.sdk/tm/c/feature/secrets/plugins/httpjson.c +2 -2
  519. package/project/.sdk/tm/c/feature/secrets/plugins/infisical.c +2 -2
  520. package/project/.sdk/tm/c/feature/secrets/plugins/minivault.c +2072 -0
  521. package/project/.sdk/tm/c/feature/secrets/plugins/onepassword.c +2 -2
  522. package/project/.sdk/tm/c/feature/secrets/plugins/proc.c +2 -2
  523. package/project/.sdk/tm/c/feature/secrets/plugins/secretspec.c +2 -2
  524. package/project/.sdk/tm/c/feature/secrets/plugins/sekretoplugins.h +151 -10
  525. package/project/.sdk/tm/c/feature/secrets/plugins/sha256.c +16 -10
  526. package/project/.sdk/tm/c/feature/secrets/plugins/sigv4.c +2 -2
  527. package/project/.sdk/tm/c/feature/secrets/plugins/support.h +12 -8
  528. package/project/.sdk/tm/c/feature/secrets/plugins/tls.c +2 -2
  529. package/project/.sdk/tm/c/feature/secrets/sekreto/internal.h +17 -2
  530. package/project/.sdk/tm/c/feature/secrets/sekreto/json.c +5 -5
  531. package/project/.sdk/tm/c/feature/secrets/sekreto/providers.c +37 -9
  532. package/project/.sdk/tm/c/feature/secrets/sekreto/sekreto.c +2 -2
  533. package/project/.sdk/tm/c/feature/secrets/sekreto/sekreto.h +17 -2
  534. package/project/.sdk/tm/c/feature/secrets/sekreto/util.c +16 -2
  535. package/project/.sdk/tm/c/feature/validate.c +364 -0
  536. package/project/.sdk/tm/c/feature/validate.h +29 -0
  537. package/project/.sdk/tm/c/src/feature/validate/.gitkeep +0 -0
  538. package/project/.sdk/tm/c/tests/vendor/omni/json.c +2 -2
  539. package/project/.sdk/tm/c/tests/vendor/omni/omni.h +2 -2
  540. package/project/.sdk/tm/c/tests/vendor/omni/runner.c +2 -2
  541. package/project/.sdk/tm/c/tests/vendor/omni/util.c +2 -2
  542. package/project/.sdk/tm/c/utility/make_options.c +12 -24
  543. package/project/.sdk/tm/c/utility/make_spec.c +8 -0
  544. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/capability.clj +2 -2
  545. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/catalog.clj +2 -2
  546. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/config.clj +2 -2
  547. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/depend.clj +2 -2
  548. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/env.clj +2 -2
  549. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/export.clj +3 -3
  550. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/graph.clj +2 -2
  551. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/host.clj +17 -2
  552. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/json.clj +2 -2
  553. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/order.clj +2 -2
  554. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/point.clj +2 -2
  555. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/ref.clj +2 -2
  556. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/resolve.clj +2 -2
  557. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/types.clj +2 -2
  558. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/version.clj +2 -2
  559. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin.clj +2 -2
  560. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/addr.clj +2 -2
  561. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/chain.clj +2 -2
  562. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/core.clj +2 -2
  563. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/json.clj +2 -2
  564. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/aws.clj +2 -2
  565. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/azuresecrets.clj +2 -2
  566. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/boru.clj +2 -2
  567. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/doppler.clj +2 -2
  568. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/gcpsecrets.clj +2 -2
  569. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/hashicorp.clj +2 -2
  570. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/httpjson.clj +2 -2
  571. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/infisical.clj +2 -2
  572. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/minivault.clj +837 -0
  573. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/onepassword.clj +2 -2
  574. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/proc.clj +2 -2
  575. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/secretspec.clj +2 -2
  576. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/sigv4.clj +2 -2
  577. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/provider.clj +2 -2
  578. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/providers.clj +6 -4
  579. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto.clj +2 -2
  580. package/project/.sdk/tm/clojure/src/feature/validate/.gitkeep +0 -0
  581. package/project/.sdk/tm/clojure/src/sdk/core.clj +31 -41
  582. package/project/.sdk/tm/clojure/src/sdk/features.clj +202 -0
  583. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/json.clj +2 -2
  584. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/runner.clj +2 -2
  585. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/util.clj +2 -2
  586. package/project/.sdk/tm/cpp/core/types.hpp +4 -0
  587. package/project/.sdk/tm/cpp/feature/secrets/plugin/capability.cpp +2 -2
  588. package/project/.sdk/tm/cpp/feature/secrets/plugin/capability.hpp +2 -2
  589. package/project/.sdk/tm/cpp/feature/secrets/plugin/catalog.cpp +2 -2
  590. package/project/.sdk/tm/cpp/feature/secrets/plugin/catalog.hpp +2 -2
  591. package/project/.sdk/tm/cpp/feature/secrets/plugin/config.cpp +2 -2
  592. package/project/.sdk/tm/cpp/feature/secrets/plugin/config.hpp +2 -2
  593. package/project/.sdk/tm/cpp/feature/secrets/plugin/depend.cpp +2 -2
  594. package/project/.sdk/tm/cpp/feature/secrets/plugin/depend.hpp +2 -2
  595. package/project/.sdk/tm/cpp/feature/secrets/plugin/env.cpp +2 -2
  596. package/project/.sdk/tm/cpp/feature/secrets/plugin/env.hpp +2 -2
  597. package/project/.sdk/tm/cpp/feature/secrets/plugin/export.cpp +3 -3
  598. package/project/.sdk/tm/cpp/feature/secrets/plugin/export.hpp +2 -2
  599. package/project/.sdk/tm/cpp/feature/secrets/plugin/graph.cpp +2 -2
  600. package/project/.sdk/tm/cpp/feature/secrets/plugin/graph.hpp +2 -2
  601. package/project/.sdk/tm/cpp/feature/secrets/plugin/host.cpp +21 -2
  602. package/project/.sdk/tm/cpp/feature/secrets/plugin/host.hpp +3 -2
  603. package/project/.sdk/tm/cpp/feature/secrets/plugin/order.cpp +2 -2
  604. package/project/.sdk/tm/cpp/feature/secrets/plugin/order.hpp +2 -2
  605. package/project/.sdk/tm/cpp/feature/secrets/plugin/point.cpp +2 -2
  606. package/project/.sdk/tm/cpp/feature/secrets/plugin/point.hpp +2 -2
  607. package/project/.sdk/tm/cpp/feature/secrets/plugin/ref.cpp +2 -2
  608. package/project/.sdk/tm/cpp/feature/secrets/plugin/ref.hpp +2 -2
  609. package/project/.sdk/tm/cpp/feature/secrets/plugin/resolve.cpp +2 -2
  610. package/project/.sdk/tm/cpp/feature/secrets/plugin/resolve.hpp +2 -2
  611. package/project/.sdk/tm/cpp/feature/secrets/plugin/types.cpp +2 -2
  612. package/project/.sdk/tm/cpp/feature/secrets/plugin/types.hpp +2 -2
  613. package/project/.sdk/tm/cpp/feature/secrets/plugin/value.cpp +2 -2
  614. package/project/.sdk/tm/cpp/feature/secrets/plugin/value.hpp +2 -2
  615. package/project/.sdk/tm/cpp/feature/secrets/plugin/version.cpp +2 -2
  616. package/project/.sdk/tm/cpp/feature/secrets/plugin/version.hpp +2 -2
  617. package/project/.sdk/tm/cpp/feature/secrets/plugins/Aws.cpp +2 -2
  618. package/project/.sdk/tm/cpp/feature/secrets/plugins/Aws.hpp +2 -2
  619. package/project/.sdk/tm/cpp/feature/secrets/plugins/Azuresecrets.cpp +2 -2
  620. package/project/.sdk/tm/cpp/feature/secrets/plugins/Azuresecrets.hpp +2 -2
  621. package/project/.sdk/tm/cpp/feature/secrets/plugins/Boru.cpp +2 -2
  622. package/project/.sdk/tm/cpp/feature/secrets/plugins/Boru.hpp +2 -2
  623. package/project/.sdk/tm/cpp/feature/secrets/plugins/Crypto.cpp +2 -2
  624. package/project/.sdk/tm/cpp/feature/secrets/plugins/Crypto.hpp +9 -7
  625. package/project/.sdk/tm/cpp/feature/secrets/plugins/Doppler.cpp +2 -2
  626. package/project/.sdk/tm/cpp/feature/secrets/plugins/Doppler.hpp +2 -2
  627. package/project/.sdk/tm/cpp/feature/secrets/plugins/Gcpsecrets.cpp +2 -2
  628. package/project/.sdk/tm/cpp/feature/secrets/plugins/Gcpsecrets.hpp +2 -2
  629. package/project/.sdk/tm/cpp/feature/secrets/plugins/Hashicorp.cpp +2 -2
  630. package/project/.sdk/tm/cpp/feature/secrets/plugins/Hashicorp.hpp +2 -2
  631. package/project/.sdk/tm/cpp/feature/secrets/plugins/Httpjson.cpp +2 -2
  632. package/project/.sdk/tm/cpp/feature/secrets/plugins/Httpjson.hpp +2 -2
  633. package/project/.sdk/tm/cpp/feature/secrets/plugins/Infisical.cpp +2 -2
  634. package/project/.sdk/tm/cpp/feature/secrets/plugins/Infisical.hpp +2 -2
  635. package/project/.sdk/tm/cpp/feature/secrets/plugins/Minivault.cpp +1345 -0
  636. package/project/.sdk/tm/cpp/feature/secrets/plugins/Minivault.hpp +219 -0
  637. package/project/.sdk/tm/cpp/feature/secrets/plugins/Onepassword.cpp +2 -2
  638. package/project/.sdk/tm/cpp/feature/secrets/plugins/Onepassword.hpp +2 -2
  639. package/project/.sdk/tm/cpp/feature/secrets/plugins/Proc.cpp +2 -2
  640. package/project/.sdk/tm/cpp/feature/secrets/plugins/Proc.hpp +2 -2
  641. package/project/.sdk/tm/cpp/feature/secrets/plugins/Secretspec.cpp +2 -2
  642. package/project/.sdk/tm/cpp/feature/secrets/plugins/Secretspec.hpp +2 -2
  643. package/project/.sdk/tm/cpp/feature/secrets/plugins/Sigv4.cpp +2 -2
  644. package/project/.sdk/tm/cpp/feature/secrets/plugins/Sigv4.hpp +2 -2
  645. package/project/.sdk/tm/cpp/feature/secrets/plugins/Tls.cpp +2 -2
  646. package/project/.sdk/tm/cpp/feature/secrets/plugins/Tls.hpp +2 -2
  647. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Json.cpp +2 -2
  648. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Json.hpp +2 -2
  649. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Provider.cpp +22 -2
  650. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Provider.hpp +12 -2
  651. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Providers.cpp +3 -3
  652. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Providers.hpp +2 -2
  653. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Sekreto.cpp +2 -2
  654. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Sekreto.hpp +2 -2
  655. package/project/.sdk/tm/cpp/feature/validate.hpp +301 -0
  656. package/project/.sdk/tm/cpp/src/feature/validate/.gitkeep +0 -0
  657. package/project/.sdk/tm/cpp/test/vendor/omni/json.hpp +2 -2
  658. package/project/.sdk/tm/cpp/test/vendor/omni/omni.hpp +2 -2
  659. package/project/.sdk/tm/cpp/test/vendor/omni/util.hpp +2 -2
  660. package/project/.sdk/tm/cpp/utility/pipeline.hpp +24 -41
  661. package/project/.sdk/tm/csharp/feature/FeatureOptions.cs +18 -5
  662. package/project/.sdk/tm/csharp/feature/ValidateFeature.cs +343 -0
  663. package/project/.sdk/tm/csharp/feature/secrets/plugin/Capability.cs +2 -2
  664. package/project/.sdk/tm/csharp/feature/secrets/plugin/Catalog.cs +2 -2
  665. package/project/.sdk/tm/csharp/feature/secrets/plugin/Config.cs +2 -2
  666. package/project/.sdk/tm/csharp/feature/secrets/plugin/Definition.cs +2 -2
  667. package/project/.sdk/tm/csharp/feature/secrets/plugin/Depend.cs +2 -2
  668. package/project/.sdk/tm/csharp/feature/secrets/plugin/Entry.cs +2 -2
  669. package/project/.sdk/tm/csharp/feature/secrets/plugin/Env.cs +2 -2
  670. package/project/.sdk/tm/csharp/feature/secrets/plugin/Export.cs +3 -3
  671. package/project/.sdk/tm/csharp/feature/secrets/plugin/Graph.cs +2 -2
  672. package/project/.sdk/tm/csharp/feature/secrets/plugin/Host.cs +9 -2
  673. package/project/.sdk/tm/csharp/feature/secrets/plugin/Inst.cs +21 -2
  674. package/project/.sdk/tm/csharp/feature/secrets/plugin/Json.cs +2 -2
  675. package/project/.sdk/tm/csharp/feature/secrets/plugin/Order.cs +2 -2
  676. package/project/.sdk/tm/csharp/feature/secrets/plugin/Plugin.cs +2 -2
  677. package/project/.sdk/tm/csharp/feature/secrets/plugin/Point.cs +2 -2
  678. package/project/.sdk/tm/csharp/feature/secrets/plugin/Refs.cs +2 -2
  679. package/project/.sdk/tm/csharp/feature/secrets/plugin/Resolve.cs +2 -2
  680. package/project/.sdk/tm/csharp/feature/secrets/plugin/Types.cs +2 -2
  681. package/project/.sdk/tm/csharp/feature/secrets/plugin/Version.cs +2 -2
  682. package/project/.sdk/tm/csharp/feature/secrets/plugins/Aws.cs +2 -2
  683. package/project/.sdk/tm/csharp/feature/secrets/plugins/AzureSecrets.cs +2 -2
  684. package/project/.sdk/tm/csharp/feature/secrets/plugins/Boru.cs +2 -2
  685. package/project/.sdk/tm/csharp/feature/secrets/plugins/Child.cs +2 -2
  686. package/project/.sdk/tm/csharp/feature/secrets/plugins/Doppler.cs +2 -2
  687. package/project/.sdk/tm/csharp/feature/secrets/plugins/GcpSecrets.cs +2 -2
  688. package/project/.sdk/tm/csharp/feature/secrets/plugins/Hashicorp.cs +2 -2
  689. package/project/.sdk/tm/csharp/feature/secrets/plugins/HttpJson.cs +2 -2
  690. package/project/.sdk/tm/csharp/feature/secrets/plugins/Infisical.cs +2 -2
  691. package/project/.sdk/tm/csharp/feature/secrets/plugins/MiniVault.cs +1572 -0
  692. package/project/.sdk/tm/csharp/feature/secrets/plugins/OnePassword.cs +2 -2
  693. package/project/.sdk/tm/csharp/feature/secrets/plugins/SecretSpec.cs +2 -2
  694. package/project/.sdk/tm/csharp/feature/secrets/plugins/Sigv4.cs +2 -2
  695. package/project/.sdk/tm/csharp/feature/secrets/sekreto/Json.cs +2 -2
  696. package/project/.sdk/tm/csharp/feature/secrets/sekreto/Providers.cs +3 -2
  697. package/project/.sdk/tm/csharp/feature/secrets/sekreto/Sekreto.cs +2 -2
  698. package/project/.sdk/tm/csharp/src/feature/validate/.gitkeep +0 -0
  699. package/project/.sdk/tm/csharp/test/vendor/omni/Runner.cs +2 -2
  700. package/project/.sdk/tm/csharp/test/vendor/omni/Util.cs +2 -2
  701. package/project/.sdk/tm/csharp/utility/MakeOptions.cs +12 -85
  702. package/project/.sdk/tm/csharp/utility/struct/Struct.cs +24 -3
  703. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/capability.ex +2 -2
  704. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/catalog.ex +2 -2
  705. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/config.ex +2 -2
  706. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/depend.ex +2 -2
  707. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/env.ex +2 -2
  708. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/error.ex +2 -2
  709. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/export.ex +7 -4
  710. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/graph.ex +2 -2
  711. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/host.ex +13 -2
  712. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/inst.ex +15 -2
  713. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/json.ex +2 -2
  714. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/order.ex +2 -2
  715. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/point.ex +2 -2
  716. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/ref.ex +2 -2
  717. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/resolve.ex +2 -2
  718. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/types.ex +2 -2
  719. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/version.ex +2 -2
  720. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/voxgig_plugin.ex +2 -2
  721. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/json.ex +2 -2
  722. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/aws.ex +2 -2
  723. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/azuresecrets.ex +2 -2
  724. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/boru.ex +2 -2
  725. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/doppler.ex +2 -2
  726. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/gcpsecrets.ex +2 -2
  727. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/hashicorp.ex +2 -2
  728. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/http.ex +3 -3
  729. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/httpjson.ex +3 -3
  730. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/infisical.ex +2 -2
  731. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/minivault.ex +1033 -0
  732. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/onepassword.ex +2 -2
  733. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/proc.ex +2 -2
  734. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/secretspec.ex +2 -2
  735. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/sigv4.ex +2 -2
  736. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/provider.ex +2 -2
  737. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/providers.ex +17 -5
  738. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/sekreto.ex +2 -2
  739. package/project/.sdk/tm/elixir/lib/projectname/feature/validate.ex +320 -0
  740. package/project/.sdk/tm/elixir/lib/projectname/utility.ex +10 -46
  741. package/project/.sdk/tm/elixir/src/feature/validate/.gitkeep +0 -0
  742. package/project/.sdk/tm/elixir/test/vendor/omni/json.ex +2 -2
  743. package/project/.sdk/tm/elixir/test/vendor/omni/runner.ex +2 -2
  744. package/project/.sdk/tm/elixir/test/vendor/omni/util.ex +2 -2
  745. package/project/.sdk/tm/go/core/context.go +0 -9
  746. package/project/.sdk/tm/go/core/types.go +0 -3
  747. package/project/.sdk/tm/go/feature/audit_feature.go +0 -9
  748. package/project/.sdk/tm/go/feature/cache_feature.go +0 -8
  749. package/project/.sdk/tm/go/feature/clienttrack_feature.go +0 -7
  750. package/project/.sdk/tm/go/feature/cost_feature.go +0 -51
  751. package/project/.sdk/tm/go/feature/debug_feature.go +0 -6
  752. package/project/.sdk/tm/go/feature/feature_options.go +108 -21
  753. package/project/.sdk/tm/go/feature/idempotency_feature.go +0 -6
  754. package/project/.sdk/tm/go/feature/metrics_feature.go +0 -6
  755. package/project/.sdk/tm/go/feature/netsim_feature.go +0 -8
  756. package/project/.sdk/tm/go/feature/paging_feature.go +0 -9
  757. package/project/.sdk/tm/go/feature/proxy_feature.go +0 -7
  758. package/project/.sdk/tm/go/feature/ratelimit_feature.go +0 -6
  759. package/project/.sdk/tm/go/feature/rbac_feature.go +0 -10
  760. package/project/.sdk/tm/go/feature/retry_feature.go +0 -6
  761. package/project/.sdk/tm/go/feature/secrets/plugin/capability.go +1 -1
  762. package/project/.sdk/tm/go/feature/secrets/plugin/catalog.go +1 -1
  763. package/project/.sdk/tm/go/feature/secrets/plugin/config.go +1 -1
  764. package/project/.sdk/tm/go/feature/secrets/plugin/depend.go +1 -1
  765. package/project/.sdk/tm/go/feature/secrets/plugin/env.go +1 -1
  766. package/project/.sdk/tm/go/feature/secrets/plugin/export.go +2 -2
  767. package/project/.sdk/tm/go/feature/secrets/plugin/graph.go +1 -1
  768. package/project/.sdk/tm/go/feature/secrets/plugin/host.go +25 -1
  769. package/project/.sdk/tm/go/feature/secrets/plugin/order.go +1 -1
  770. package/project/.sdk/tm/go/feature/secrets/plugin/point.go +1 -1
  771. package/project/.sdk/tm/go/feature/secrets/plugin/ref.go +1 -1
  772. package/project/.sdk/tm/go/feature/secrets/plugin/resolve.go +1 -1
  773. package/project/.sdk/tm/go/feature/secrets/plugin/types.go +1 -1
  774. package/project/.sdk/tm/go/feature/secrets/plugin/util.go +1 -1
  775. package/project/.sdk/tm/go/feature/secrets/plugin/version.go +1 -1
  776. package/project/.sdk/tm/go/feature/secrets/plugins/aws/aws.go +2 -2
  777. package/project/.sdk/tm/go/feature/secrets/plugins/aws/sigv4.go +2 -2
  778. package/project/.sdk/tm/go/feature/secrets/plugins/azuresecrets/azuresecrets.go +2 -2
  779. package/project/.sdk/tm/go/feature/secrets/plugins/boru/boru.go +2 -2
  780. package/project/.sdk/tm/go/feature/secrets/plugins/doppler/doppler.go +2 -2
  781. package/project/.sdk/tm/go/feature/secrets/plugins/gcpsecrets/gcpsecrets.go +2 -2
  782. package/project/.sdk/tm/go/feature/secrets/plugins/hashicorp/hashicorp.go +2 -2
  783. package/project/.sdk/tm/go/feature/secrets/plugins/httpjson/httpjson.go +2 -2
  784. package/project/.sdk/tm/go/feature/secrets/plugins/infisical/infisical.go +2 -2
  785. package/project/.sdk/tm/go/feature/secrets/plugins/minivault/format.go +493 -0
  786. package/project/.sdk/tm/go/feature/secrets/plugins/minivault/minivault.go +1131 -0
  787. package/project/.sdk/tm/go/feature/secrets/plugins/onepassword/onepassword.go +2 -2
  788. package/project/.sdk/tm/go/feature/secrets/plugins/secretspec/secretspec.go +2 -2
  789. package/project/.sdk/tm/go/feature/secrets/sekreto/addr.go +2 -2
  790. package/project/.sdk/tm/go/feature/secrets/sekreto/providers.go +14 -2
  791. package/project/.sdk/tm/go/feature/secrets/sekreto/sekreto.go +2 -2
  792. package/project/.sdk/tm/go/feature/secrets_feature.go +0 -173
  793. package/project/.sdk/tm/go/feature/streaming_feature.go +0 -7
  794. package/project/.sdk/tm/go/feature/telemetry_feature.go +0 -8
  795. package/project/.sdk/tm/go/feature/test_feature.go +0 -23
  796. package/project/.sdk/tm/go/feature/validate_feature.go +280 -0
  797. package/project/.sdk/tm/go/src/feature/validate/.gitkeep +0 -0
  798. package/project/.sdk/tm/go/test/custom_utility_test.go +0 -29
  799. package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +0 -100
  800. package/project/.sdk/tm/go/test/feature_corpus_test.go +1 -60
  801. package/project/.sdk/tm/go/test/feature_harness_test.go +0 -10
  802. package/project/.sdk/tm/go/test/feature_test.go +107 -9
  803. package/project/.sdk/tm/go/test/omni/omni.go +2 -2
  804. package/project/.sdk/tm/go/test/omni/util.go +2 -2
  805. package/project/.sdk/tm/go/test/omniresolver_test.go +0 -74
  806. package/project/.sdk/tm/go/test/omnismoke_test.go +0 -4
  807. package/project/.sdk/tm/go/test/pipeline_test.go +0 -10
  808. package/project/.sdk/tm/go/test/primary_utility_test.go +0 -32
  809. package/project/.sdk/tm/go/test/struct_utility_test.go +0 -38
  810. package/project/.sdk/tm/go/test/testsupport_test.go +0 -25
  811. package/project/.sdk/tm/go/utility/feature_add.go +0 -6
  812. package/project/.sdk/tm/go/utility/fetcher.go +0 -6
  813. package/project/.sdk/tm/go/utility/graphql.go +1 -31
  814. package/project/.sdk/tm/go/utility/make_options.go +39 -91
  815. package/project/.sdk/tm/go/utility/make_point.go +0 -11
  816. package/project/.sdk/tm/go/utility/make_spec.go +0 -15
  817. package/project/.sdk/tm/go/utility/register.go +0 -28
  818. package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +24 -8
  819. package/project/.sdk/tm/go/utility/transform_request.go +0 -20
  820. package/project/.sdk/tm/go/utility/transform_response.go +0 -8
  821. package/project/.sdk/tm/java/feature/ValidateFeature.java +330 -0
  822. package/project/.sdk/tm/java/feature/secrets/plugin/Capability.java +2 -2
  823. package/project/.sdk/tm/java/feature/secrets/plugin/Catalog.java +2 -2
  824. package/project/.sdk/tm/java/feature/secrets/plugin/Config.java +2 -2
  825. package/project/.sdk/tm/java/feature/secrets/plugin/Definition.java +2 -2
  826. package/project/.sdk/tm/java/feature/secrets/plugin/Depend.java +2 -2
  827. package/project/.sdk/tm/java/feature/secrets/plugin/Entry.java +2 -2
  828. package/project/.sdk/tm/java/feature/secrets/plugin/Env.java +2 -2
  829. package/project/.sdk/tm/java/feature/secrets/plugin/Export.java +3 -3
  830. package/project/.sdk/tm/java/feature/secrets/plugin/Graph.java +2 -2
  831. package/project/.sdk/tm/java/feature/secrets/plugin/Host.java +3 -3
  832. package/project/.sdk/tm/java/feature/secrets/plugin/Inst.java +21 -2
  833. package/project/.sdk/tm/java/feature/secrets/plugin/Json.java +2 -2
  834. package/project/.sdk/tm/java/feature/secrets/plugin/Order.java +2 -2
  835. package/project/.sdk/tm/java/feature/secrets/plugin/Plugin.java +2 -2
  836. package/project/.sdk/tm/java/feature/secrets/plugin/PluginException.java +2 -2
  837. package/project/.sdk/tm/java/feature/secrets/plugin/Point.java +2 -2
  838. package/project/.sdk/tm/java/feature/secrets/plugin/Refs.java +2 -2
  839. package/project/.sdk/tm/java/feature/secrets/plugin/Resolve.java +2 -2
  840. package/project/.sdk/tm/java/feature/secrets/plugin/Types.java +2 -2
  841. package/project/.sdk/tm/java/feature/secrets/plugin/Version.java +2 -2
  842. package/project/.sdk/tm/java/feature/secrets/sekreto/Addr.java +2 -2
  843. package/project/.sdk/tm/java/feature/secrets/sekreto/Builtins.java +4 -3
  844. package/project/.sdk/tm/java/feature/secrets/sekreto/Json.java +2 -2
  845. package/project/.sdk/tm/java/feature/secrets/sekreto/Provider.java +2 -2
  846. package/project/.sdk/tm/java/feature/secrets/sekreto/Sekreto.java +2 -2
  847. package/project/.sdk/tm/java/feature/secrets/sekreto/Support.java +2 -2
  848. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Aws.java +2 -2
  849. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Azuresecrets.java +2 -2
  850. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Boru.java +2 -2
  851. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Doppler.java +2 -2
  852. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Gcpsecrets.java +2 -2
  853. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Hashicorp.java +2 -2
  854. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Httpjson.java +2 -2
  855. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Infisical.java +2 -2
  856. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Minivault.java +1448 -0
  857. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Onepassword.java +2 -2
  858. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Proc.java +2 -2
  859. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Secretspec.java +2 -2
  860. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Sigv4.java +2 -2
  861. package/project/.sdk/tm/java/src/feature/validate/.gitkeep +0 -0
  862. package/project/.sdk/tm/java/test/vendor/omni/Json.java +2 -2
  863. package/project/.sdk/tm/java/test/vendor/omni/Runner.java +2 -2
  864. package/project/.sdk/tm/java/test/vendor/omni/Util.java +2 -2
  865. package/project/.sdk/tm/java/utility/MakeOptions.java +13 -45
  866. package/project/.sdk/tm/java/utility/struct/Struct.java +1 -1
  867. package/project/.sdk/tm/js/src/feature/secrets/plugin/capability.js +2 -2
  868. package/project/.sdk/tm/js/src/feature/secrets/plugin/catalog.js +2 -2
  869. package/project/.sdk/tm/js/src/feature/secrets/plugin/config.js +2 -2
  870. package/project/.sdk/tm/js/src/feature/secrets/plugin/depend.js +2 -2
  871. package/project/.sdk/tm/js/src/feature/secrets/plugin/env.js +2 -2
  872. package/project/.sdk/tm/js/src/feature/secrets/plugin/export.js +3 -3
  873. package/project/.sdk/tm/js/src/feature/secrets/plugin/graph.js +2 -2
  874. package/project/.sdk/tm/js/src/feature/secrets/plugin/host.js +17 -2
  875. package/project/.sdk/tm/js/src/feature/secrets/plugin/index.js +2 -2
  876. package/project/.sdk/tm/js/src/feature/secrets/plugin/order.js +2 -2
  877. package/project/.sdk/tm/js/src/feature/secrets/plugin/point.js +2 -2
  878. package/project/.sdk/tm/js/src/feature/secrets/plugin/ref.js +2 -2
  879. package/project/.sdk/tm/js/src/feature/secrets/plugin/resolve.js +2 -2
  880. package/project/.sdk/tm/js/src/feature/secrets/plugin/types.js +2 -2
  881. package/project/.sdk/tm/js/src/feature/secrets/plugin/version.js +2 -2
  882. package/project/.sdk/tm/js/src/feature/secrets/sekreto/Sekreto.js +2 -2
  883. package/project/.sdk/tm/js/src/feature/secrets/sekreto/index.js +2 -2
  884. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/aws.js +2 -2
  885. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/azuresecrets.js +2 -2
  886. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/boru.js +2 -2
  887. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/doppler.js +2 -2
  888. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/gcpsecrets.js +2 -2
  889. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/hashicorp.js +2 -2
  890. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/httpjson.js +2 -2
  891. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/infisical.js +2 -2
  892. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/minivault.js +866 -0
  893. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/onepassword.js +2 -2
  894. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/secretspec.js +2 -2
  895. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/sigv4.js +2 -2
  896. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/addr.js +2 -2
  897. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/builtin.js +3 -2
  898. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/dotenv.js +2 -2
  899. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/env.js +2 -2
  900. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/file.js +2 -2
  901. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/memory.js +2 -2
  902. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/support.js +2 -2
  903. package/project/.sdk/tm/js/src/feature/test/TestFeature.js +12 -4
  904. package/project/.sdk/tm/js/src/utility/StructUtility.js +1 -1
  905. package/project/.sdk/tm/js/test/vendor/omni/index.js +1 -1
  906. package/project/.sdk/tm/js/test/vendor/omni/runner.js +1 -1
  907. package/project/.sdk/tm/js/test/vendor/omni/util.js +1 -1
  908. package/project/.sdk/tm/kotlin/feature/ValidateFeature.kt +297 -0
  909. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Capability.kt +2 -2
  910. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Catalog.kt +2 -2
  911. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Config.kt +2 -2
  912. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Depend.kt +2 -2
  913. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Env.kt +2 -2
  914. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Export.kt +3 -3
  915. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Graph.kt +2 -2
  916. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Host.kt +21 -2
  917. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Json.kt +2 -2
  918. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Order.kt +2 -2
  919. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Plugin.kt +2 -2
  920. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Point.kt +2 -2
  921. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Refs.kt +2 -2
  922. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Resolve.kt +2 -2
  923. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Types.kt +2 -2
  924. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Version.kt +2 -2
  925. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Json.kt +2 -2
  926. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Provider.kt +2 -2
  927. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Providers.kt +3 -2
  928. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Sekreto.kt +2 -2
  929. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Spec.kt +14 -2
  930. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Support.kt +10 -2
  931. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Aws.kt +2 -2
  932. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Azuresecrets.kt +2 -2
  933. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Boru.kt +2 -2
  934. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Doppler.kt +2 -2
  935. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Gcpsecrets.kt +2 -2
  936. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Hashicorp.kt +2 -2
  937. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Httpjson.kt +2 -2
  938. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Infisical.kt +2 -2
  939. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Minivault.kt +1095 -0
  940. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Onepassword.kt +2 -2
  941. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Secretspec.kt +2 -2
  942. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Sigv4.kt +2 -2
  943. package/project/.sdk/tm/kotlin/src/feature/validate/.gitkeep +0 -0
  944. package/project/.sdk/tm/kotlin/test/vendor/omni/Json.kt +2 -2
  945. package/project/.sdk/tm/kotlin/test/vendor/omni/Runner.kt +2 -2
  946. package/project/.sdk/tm/kotlin/test/vendor/omni/Util.kt +2 -2
  947. package/project/.sdk/tm/kotlin/utility/MakeOptions.kt +13 -35
  948. package/project/.sdk/tm/kotlin/utility/MakeSpecUrl.kt +6 -0
  949. package/project/.sdk/tm/kotlin/utility/struct/Struct.kt +1 -1
  950. package/project/.sdk/tm/lua/feature/secrets/native/sekretonet.c +2 -2
  951. package/project/.sdk/tm/lua/feature/secrets/native/sekretovault.c +240 -0
  952. package/project/.sdk/tm/lua/feature/secrets/plugin/capability.lua +2 -2
  953. package/project/.sdk/tm/lua/feature/secrets/plugin/catalog.lua +2 -2
  954. package/project/.sdk/tm/lua/feature/secrets/plugin/config.lua +2 -2
  955. package/project/.sdk/tm/lua/feature/secrets/plugin/depend.lua +2 -2
  956. package/project/.sdk/tm/lua/feature/secrets/plugin/env.lua +2 -2
  957. package/project/.sdk/tm/lua/feature/secrets/plugin/export.lua +12 -3
  958. package/project/.sdk/tm/lua/feature/secrets/plugin/graph.lua +2 -2
  959. package/project/.sdk/tm/lua/feature/secrets/plugin/host.lua +18 -2
  960. package/project/.sdk/tm/lua/feature/secrets/plugin/json.lua +2 -2
  961. package/project/.sdk/tm/lua/feature/secrets/plugin/order.lua +2 -2
  962. package/project/.sdk/tm/lua/feature/secrets/plugin/point.lua +2 -2
  963. package/project/.sdk/tm/lua/feature/secrets/plugin/ref.lua +2 -2
  964. package/project/.sdk/tm/lua/feature/secrets/plugin/resolve.lua +2 -2
  965. package/project/.sdk/tm/lua/feature/secrets/plugin/types.lua +2 -2
  966. package/project/.sdk/tm/lua/feature/secrets/plugin/version.lua +2 -2
  967. package/project/.sdk/tm/lua/feature/secrets/plugin.lua +2 -2
  968. package/project/.sdk/tm/lua/feature/secrets/sekreto/addr.lua +2 -2
  969. package/project/.sdk/tm/lua/feature/secrets/sekreto/err.lua +2 -2
  970. package/project/.sdk/tm/lua/feature/secrets/sekreto/name.lua +2 -2
  971. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/aws.lua +2 -2
  972. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/azuresecrets.lua +2 -2
  973. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/boru.lua +2 -2
  974. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/crypto.lua +2 -2
  975. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/doppler.lua +2 -2
  976. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/gcpsecrets.lua +2 -2
  977. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/hashicorp.lua +2 -2
  978. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/httpjson.lua +2 -2
  979. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/infisical.lua +2 -2
  980. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/json.lua +2 -2
  981. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/minivault.lua +1227 -0
  982. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/net.lua +2 -2
  983. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/onepassword.lua +2 -2
  984. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/secretspec.lua +2 -2
  985. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/sigv4.lua +2 -2
  986. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/support.lua +2 -2
  987. package/project/.sdk/tm/lua/feature/secrets/sekreto/providers.lua +3 -2
  988. package/project/.sdk/tm/lua/feature/secrets/sekreto.lua +2 -2
  989. package/project/.sdk/tm/lua/feature/validate_feature.lua +333 -0
  990. package/project/.sdk/tm/lua/src/feature/validate/.gitkeep +0 -0
  991. package/project/.sdk/tm/lua/test/vendor/omni/json.lua +2 -2
  992. package/project/.sdk/tm/lua/test/vendor/omni/regex.lua +2 -2
  993. package/project/.sdk/tm/lua/test/vendor/omni/runner.lua +2 -2
  994. package/project/.sdk/tm/lua/test/vendor/omni/util.lua +2 -2
  995. package/project/.sdk/tm/lua/utility/make_options.lua +74 -55
  996. package/project/.sdk/tm/lua/utility/make_spec.lua +8 -1
  997. package/project/.sdk/tm/lua/utility/struct/regex.lua +1 -1
  998. package/project/.sdk/tm/lua/utility/struct/struct.lua +1 -1
  999. package/project/.sdk/tm/ocaml/Makefile +12 -7
  1000. package/project/.sdk/tm/ocaml/feature/secrets/plugin/capability.ml +2 -2
  1001. package/project/.sdk/tm/ocaml/feature/secrets/plugin/catalog.ml +2 -2
  1002. package/project/.sdk/tm/ocaml/feature/secrets/plugin/config.ml +2 -2
  1003. package/project/.sdk/tm/ocaml/feature/secrets/plugin/defs.ml +2 -2
  1004. package/project/.sdk/tm/ocaml/feature/secrets/plugin/depend.ml +2 -2
  1005. package/project/.sdk/tm/ocaml/feature/secrets/plugin/env.ml +2 -2
  1006. package/project/.sdk/tm/ocaml/feature/secrets/plugin/export.ml +5 -3
  1007. package/project/.sdk/tm/ocaml/feature/secrets/plugin/graph.ml +2 -2
  1008. package/project/.sdk/tm/ocaml/feature/secrets/plugin/host.ml +18 -2
  1009. package/project/.sdk/tm/ocaml/feature/secrets/plugin/order.ml +2 -2
  1010. package/project/.sdk/tm/ocaml/feature/secrets/plugin/point.ml +2 -2
  1011. package/project/.sdk/tm/ocaml/feature/secrets/plugin/ref.ml +2 -2
  1012. package/project/.sdk/tm/ocaml/feature/secrets/plugin/resolve.ml +2 -2
  1013. package/project/.sdk/tm/ocaml/feature/secrets/plugin/types.ml +2 -2
  1014. package/project/.sdk/tm/ocaml/feature/secrets/plugin/value.ml +2 -2
  1015. package/project/.sdk/tm/ocaml/feature/secrets/plugin/version.ml +2 -2
  1016. package/project/.sdk/tm/ocaml/feature/secrets/plugins/aws.ml +2 -2
  1017. package/project/.sdk/tm/ocaml/feature/secrets/plugins/azuresecrets.ml +2 -2
  1018. package/project/.sdk/tm/ocaml/feature/secrets/plugins/boru.ml +2 -2
  1019. package/project/.sdk/tm/ocaml/feature/secrets/plugins/crypto.ml +2 -2
  1020. package/project/.sdk/tm/ocaml/feature/secrets/plugins/doppler.ml +2 -2
  1021. package/project/.sdk/tm/ocaml/feature/secrets/plugins/gcpsecrets.ml +2 -2
  1022. package/project/.sdk/tm/ocaml/feature/secrets/plugins/hashicorp.ml +2 -2
  1023. package/project/.sdk/tm/ocaml/feature/secrets/plugins/http.ml +2 -2
  1024. package/project/.sdk/tm/ocaml/feature/secrets/plugins/httpjson.ml +2 -2
  1025. package/project/.sdk/tm/ocaml/feature/secrets/plugins/infisical.ml +2 -2
  1026. package/project/.sdk/tm/ocaml/feature/secrets/plugins/minivault.ml +1086 -0
  1027. package/project/.sdk/tm/ocaml/feature/secrets/plugins/minivault_stubs.c +222 -0
  1028. package/project/.sdk/tm/ocaml/feature/secrets/plugins/onepassword.ml +2 -2
  1029. package/project/.sdk/tm/ocaml/feature/secrets/plugins/runcmd.ml +2 -2
  1030. package/project/.sdk/tm/ocaml/feature/secrets/plugins/secretspec.ml +2 -2
  1031. package/project/.sdk/tm/ocaml/feature/secrets/plugins/sigv4.ml +2 -2
  1032. package/project/.sdk/tm/ocaml/feature/secrets/plugins/tls.ml +2 -2
  1033. package/project/.sdk/tm/ocaml/feature/secrets/plugins/tls_stubs.c +2 -2
  1034. package/project/.sdk/tm/ocaml/feature/secrets/sekreto/json.ml +2 -2
  1035. package/project/.sdk/tm/ocaml/feature/secrets/sekreto/provider.ml +33 -3
  1036. package/project/.sdk/tm/ocaml/feature/secrets/sekreto/secret.ml +2 -2
  1037. package/project/.sdk/tm/ocaml/feature/secrets/sekreto/sekreto.ml +4 -3
  1038. package/project/.sdk/tm/ocaml/sdk_features.ml +174 -0
  1039. package/project/.sdk/tm/ocaml/sdk_runtime.ml +12 -37
  1040. package/project/.sdk/tm/ocaml/src/feature/validate/.gitkeep +0 -0
  1041. package/project/.sdk/tm/ocaml/test/vendor/omni/omni.ml +2 -2
  1042. package/project/.sdk/tm/perl/core/helpers.pm +64 -16
  1043. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Capability.pm +2 -2
  1044. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Catalog.pm +2 -2
  1045. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Config.pm +2 -2
  1046. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Depend.pm +2 -2
  1047. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Env.pm +2 -2
  1048. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Export.pm +3 -3
  1049. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Graph.pm +2 -2
  1050. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Host.pm +19 -2
  1051. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Order.pm +2 -2
  1052. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Point.pm +2 -2
  1053. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Ref.pm +2 -2
  1054. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Resolve.pm +2 -2
  1055. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Types.pm +2 -2
  1056. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Version.pm +2 -2
  1057. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin.pm +2 -2
  1058. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Aws.pm +2 -2
  1059. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Azuresecrets.pm +2 -2
  1060. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Boru.pm +2 -2
  1061. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Doppler.pm +2 -2
  1062. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Gcpsecrets.pm +2 -2
  1063. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Hashicorp.pm +2 -2
  1064. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Httpjson.pm +2 -2
  1065. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Infisical.pm +2 -2
  1066. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Minivault.pm +1380 -0
  1067. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Onepassword.pm +2 -2
  1068. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Proc.pm +2 -2
  1069. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Secretspec.pm +2 -2
  1070. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Sigv4.pm +2 -2
  1071. package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Addr.pm +2 -2
  1072. package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Providers.pm +4 -3
  1073. package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto.pm +2 -2
  1074. package/project/.sdk/tm/perl/feature/validate_feature.pm +319 -0
  1075. package/project/.sdk/tm/perl/lib/Voxgig/Struct.pm +1 -1
  1076. package/project/.sdk/tm/perl/src/feature/validate/.gitkeep +0 -0
  1077. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Runner.pm +1 -1
  1078. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Util.pm +1 -1
  1079. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni.pm +1 -1
  1080. package/project/.sdk/tm/perl/utility/make_options.pm +25 -43
  1081. package/project/.sdk/tm/php/feature/ValidateFeature.php +361 -0
  1082. package/project/.sdk/tm/php/feature/secrets/plugin/Capability.php +2 -2
  1083. package/project/.sdk/tm/php/feature/secrets/plugin/Catalog.php +2 -2
  1084. package/project/.sdk/tm/php/feature/secrets/plugin/Config.php +2 -2
  1085. package/project/.sdk/tm/php/feature/secrets/plugin/Depend.php +2 -2
  1086. package/project/.sdk/tm/php/feature/secrets/plugin/Env.php +2 -2
  1087. package/project/.sdk/tm/php/feature/secrets/plugin/Export.php +3 -3
  1088. package/project/.sdk/tm/php/feature/secrets/plugin/Graph.php +2 -2
  1089. package/project/.sdk/tm/php/feature/secrets/plugin/Host.php +26 -2
  1090. package/project/.sdk/tm/php/feature/secrets/plugin/Order.php +2 -2
  1091. package/project/.sdk/tm/php/feature/secrets/plugin/Point.php +2 -2
  1092. package/project/.sdk/tm/php/feature/secrets/plugin/Ref.php +2 -2
  1093. package/project/.sdk/tm/php/feature/secrets/plugin/Resolve.php +2 -2
  1094. package/project/.sdk/tm/php/feature/secrets/plugin/Types.php +2 -2
  1095. package/project/.sdk/tm/php/feature/secrets/plugin/Version.php +2 -2
  1096. package/project/.sdk/tm/php/feature/secrets/plugin/plugin.php +2 -2
  1097. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/aws.php +2 -2
  1098. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/azuresecrets.php +2 -2
  1099. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/boru.php +2 -2
  1100. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/doppler.php +2 -2
  1101. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/gcpsecrets.php +2 -2
  1102. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/hashicorp.php +2 -2
  1103. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/httpjson.php +2 -2
  1104. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/infisical.php +2 -2
  1105. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/minivault.php +1250 -0
  1106. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/onepassword.php +2 -2
  1107. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/runcmd.php +2 -2
  1108. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/secretspec.php +2 -2
  1109. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/sigv4.php +2 -2
  1110. package/project/.sdk/tm/php/feature/secrets/sekreto/src/Addr.php +2 -2
  1111. package/project/.sdk/tm/php/feature/secrets/sekreto/src/Providers.php +5 -3
  1112. package/project/.sdk/tm/php/feature/secrets/sekreto/src/Sekreto.php +2 -2
  1113. package/project/.sdk/tm/php/src/feature/validate/.gitkeep +0 -0
  1114. package/project/.sdk/tm/php/test/vendor/omni/Runner.php +2 -2
  1115. package/project/.sdk/tm/php/test/vendor/omni/Util.php +2 -2
  1116. package/project/.sdk/tm/php/utility/MakeOptions.php +15 -31
  1117. package/project/.sdk/tm/php/utility/struct/Struct.php +56 -7
  1118. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/__init__.py +1 -1
  1119. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/capability.py +1 -1
  1120. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/catalog.py +1 -1
  1121. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/config.py +1 -1
  1122. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/depend.py +1 -1
  1123. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/env.py +1 -1
  1124. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/export.py +2 -2
  1125. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/graph.py +1 -1
  1126. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/host.py +17 -1
  1127. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/order.py +1 -1
  1128. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/point.py +1 -1
  1129. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/ref.py +1 -1
  1130. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/resolve.py +1 -1
  1131. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/types.py +1 -1
  1132. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/version.py +1 -1
  1133. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/__init__.py +1 -1
  1134. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/addr.py +1 -1
  1135. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/aws.py +1 -1
  1136. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/azuresecrets.py +1 -1
  1137. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/boru.py +1 -1
  1138. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/doppler.py +1 -1
  1139. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.py +1 -1
  1140. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/hashicorp.py +1 -1
  1141. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/httpjson.py +1 -1
  1142. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/infisical.py +1 -1
  1143. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/minivault.py +1202 -0
  1144. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/onepassword.py +1 -1
  1145. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/secretspec.py +1 -1
  1146. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/sigv4.py +1 -1
  1147. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/providers.py +2 -1
  1148. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/sekreto.py +1 -1
  1149. package/project/.sdk/tm/py/pkg/feature/validate_feature.py +273 -0
  1150. package/project/.sdk/tm/py/pkg/utility/make_options.py +14 -53
  1151. package/project/.sdk/tm/py/pkg/utility/voxgig_struct/voxgig_struct.py +1 -1
  1152. package/project/.sdk/tm/py/src/feature/validate/.gitkeep +0 -0
  1153. package/project/.sdk/tm/py/test/voxgig_omni/__init__.py +1 -1
  1154. package/project/.sdk/tm/py/test/voxgig_omni/runner.py +1 -1
  1155. package/project/.sdk/tm/py/test/voxgig_omni/util.py +1 -1
  1156. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/capability.rb +2 -2
  1157. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/catalog.rb +2 -2
  1158. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/config.rb +2 -2
  1159. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/depend.rb +2 -2
  1160. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/env.rb +2 -2
  1161. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/export.rb +3 -3
  1162. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/graph.rb +2 -2
  1163. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/host.rb +16 -2
  1164. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/order.rb +2 -2
  1165. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/point.rb +2 -2
  1166. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/ref.rb +2 -2
  1167. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/resolve.rb +2 -2
  1168. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/types.rb +2 -2
  1169. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/version.rb +2 -2
  1170. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin.rb +2 -2
  1171. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/addr.rb +2 -2
  1172. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/aws.rb +2 -2
  1173. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/azuresecrets.rb +2 -2
  1174. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/boru.rb +2 -2
  1175. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/doppler.rb +2 -2
  1176. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.rb +2 -2
  1177. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/hashicorp.rb +2 -2
  1178. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/httpjson.rb +2 -2
  1179. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/infisical.rb +2 -2
  1180. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/minivault.rb +979 -0
  1181. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/onepassword.rb +2 -2
  1182. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/secretspec.rb +2 -2
  1183. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/sigv4.rb +2 -2
  1184. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/providers.rb +6 -5
  1185. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/sekreto.rb +2 -2
  1186. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto.rb +2 -2
  1187. package/project/.sdk/tm/rb/feature/validate_feature.rb +265 -0
  1188. package/project/.sdk/tm/rb/src/feature/validate/.gitkeep +0 -0
  1189. package/project/.sdk/tm/rb/test/vendor/omni/runner.rb +2 -2
  1190. package/project/.sdk/tm/rb/test/vendor/omni/util.rb +2 -2
  1191. package/project/.sdk/tm/rb/test/vendor/omni/voxgig_omni.rb +2 -2
  1192. package/project/.sdk/tm/rb/utility/make_options.rb +15 -32
  1193. package/project/.sdk/tm/rb/utility/struct/voxgig_struct.rb +24 -1
  1194. package/project/.sdk/tm/rust/core/context.rs +0 -5
  1195. package/project/.sdk/tm/rust/core/control.rs +0 -1
  1196. package/project/.sdk/tm/rust/core/helpers.rs +0 -15
  1197. package/project/.sdk/tm/rust/core/mod.rs +3 -2
  1198. package/project/.sdk/tm/rust/core/operation.rs +0 -1
  1199. package/project/.sdk/tm/rust/core/point.rs +0 -3
  1200. package/project/.sdk/tm/rust/core/response.rs +0 -2
  1201. package/project/.sdk/tm/rust/core/result.rs +0 -1
  1202. package/project/.sdk/tm/rust/core/spec.rs +0 -1
  1203. package/project/.sdk/tm/rust/core/types.rs +0 -20
  1204. package/project/.sdk/tm/rust/core/utility_type.rs +0 -5
  1205. package/project/.sdk/tm/rust/feature/audit.rs +0 -9
  1206. package/project/.sdk/tm/rust/feature/base.rs +0 -3
  1207. package/project/.sdk/tm/rust/feature/cache.rs +0 -9
  1208. package/project/.sdk/tm/rust/feature/clienttrack.rs +0 -7
  1209. package/project/.sdk/tm/rust/feature/cost.rs +0 -48
  1210. package/project/.sdk/tm/rust/feature/debug.rs +0 -7
  1211. package/project/.sdk/tm/rust/feature/idempotency.rs +0 -7
  1212. package/project/.sdk/tm/rust/feature/log.rs +0 -3
  1213. package/project/.sdk/tm/rust/feature/metrics.rs +0 -7
  1214. package/project/.sdk/tm/rust/feature/netsim.rs +0 -9
  1215. package/project/.sdk/tm/rust/feature/paging.rs +0 -10
  1216. package/project/.sdk/tm/rust/feature/proxy.rs +0 -8
  1217. package/project/.sdk/tm/rust/feature/ratelimit.rs +0 -6
  1218. package/project/.sdk/tm/rust/feature/rbac.rs +0 -10
  1219. package/project/.sdk/tm/rust/feature/retry.rs +0 -6
  1220. package/project/.sdk/tm/rust/feature/secrets/plugin/capability.rs +2 -2
  1221. package/project/.sdk/tm/rust/feature/secrets/plugin/catalog.rs +2 -2
  1222. package/project/.sdk/tm/rust/feature/secrets/plugin/config.rs +2 -2
  1223. package/project/.sdk/tm/rust/feature/secrets/plugin/depend.rs +2 -2
  1224. package/project/.sdk/tm/rust/feature/secrets/plugin/env.rs +2 -2
  1225. package/project/.sdk/tm/rust/feature/secrets/plugin/export.rs +3 -3
  1226. package/project/.sdk/tm/rust/feature/secrets/plugin/graph.rs +2 -2
  1227. package/project/.sdk/tm/rust/feature/secrets/plugin/host.rs +24 -2
  1228. package/project/.sdk/tm/rust/feature/secrets/plugin/mod.rs +2 -2
  1229. package/project/.sdk/tm/rust/feature/secrets/plugin/order.rs +2 -2
  1230. package/project/.sdk/tm/rust/feature/secrets/plugin/point.rs +2 -2
  1231. package/project/.sdk/tm/rust/feature/secrets/plugin/refs.rs +2 -2
  1232. package/project/.sdk/tm/rust/feature/secrets/plugin/resolve.rs +2 -2
  1233. package/project/.sdk/tm/rust/feature/secrets/plugin/types.rs +2 -2
  1234. package/project/.sdk/tm/rust/feature/secrets/plugin/value.rs +2 -2
  1235. package/project/.sdk/tm/rust/feature/secrets/plugin/version.rs +2 -2
  1236. package/project/.sdk/tm/rust/feature/secrets/plugins/aws/crypto.rs +2 -2
  1237. package/project/.sdk/tm/rust/feature/secrets/plugins/aws/sigv4.rs +2 -2
  1238. package/project/.sdk/tm/rust/feature/secrets/plugins/aws.rs +2 -2
  1239. package/project/.sdk/tm/rust/feature/secrets/plugins/azuresecrets.rs +2 -2
  1240. package/project/.sdk/tm/rust/feature/secrets/plugins/boru.rs +2 -2
  1241. package/project/.sdk/tm/rust/feature/secrets/plugins/doppler.rs +2 -2
  1242. package/project/.sdk/tm/rust/feature/secrets/plugins/gcpsecrets.rs +2 -2
  1243. package/project/.sdk/tm/rust/feature/secrets/plugins/hashicorp.rs +2 -2
  1244. package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/http.rs +2 -2
  1245. package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/json.rs +2 -2
  1246. package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson.rs +2 -2
  1247. package/project/.sdk/tm/rust/feature/secrets/plugins/infisical.rs +2 -2
  1248. package/project/.sdk/tm/rust/feature/secrets/plugins/minivault/format.rs +425 -0
  1249. package/project/.sdk/tm/rust/feature/secrets/plugins/minivault.rs +1076 -0
  1250. package/project/.sdk/tm/rust/feature/secrets/plugins/onepassword.rs +2 -2
  1251. package/project/.sdk/tm/rust/feature/secrets/plugins/secretspec.rs +2 -2
  1252. package/project/.sdk/tm/rust/feature/secrets/sekreto/addr.rs +2 -2
  1253. package/project/.sdk/tm/rust/feature/secrets/sekreto/mod.rs +2 -2
  1254. package/project/.sdk/tm/rust/feature/secrets/sekreto/providers.rs +30 -4
  1255. package/project/.sdk/tm/rust/feature/secrets/sekreto/sekreto.rs +2 -2
  1256. package/project/.sdk/tm/rust/feature/secrets.rs +1 -187
  1257. package/project/.sdk/tm/rust/feature/streaming.rs +0 -7
  1258. package/project/.sdk/tm/rust/feature/support.rs +0 -6
  1259. package/project/.sdk/tm/rust/feature/telemetry.rs +0 -9
  1260. package/project/.sdk/tm/rust/feature/test.rs +0 -19
  1261. package/project/.sdk/tm/rust/feature/timeout.rs +0 -7
  1262. package/project/.sdk/tm/rust/feature/validate.rs +306 -0
  1263. package/project/.sdk/tm/rust/src/feature/validate/.gitkeep +0 -0
  1264. package/project/.sdk/tm/rust/tests/common/mod.rs +0 -35
  1265. package/project/.sdk/tm/rust/tests/custom_utility_test.rs +0 -2
  1266. package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +0 -95
  1267. package/project/.sdk/tm/rust/tests/feature_test.rs +0 -16
  1268. package/project/.sdk/tm/rust/tests/netsim_test.rs +0 -6
  1269. package/project/.sdk/tm/rust/tests/omni_resolver/mod.rs +0 -135
  1270. package/project/.sdk/tm/rust/tests/omni_smoke_test.rs +0 -15
  1271. package/project/.sdk/tm/rust/tests/pipeline_test.rs +0 -6
  1272. package/project/.sdk/tm/rust/tests/primary_utility_test.rs +0 -22
  1273. package/project/.sdk/tm/rust/tests/struct_utility_test.rs +0 -25
  1274. package/project/.sdk/tm/rust/tests/vendor/omni/json.rs +2 -2
  1275. package/project/.sdk/tm/rust/tests/vendor/omni/mod.rs +2 -2
  1276. package/project/.sdk/tm/rust/tests/vendor/omni/regex.rs +2 -2
  1277. package/project/.sdk/tm/rust/tests/vendor/omni/runner.rs +2 -2
  1278. package/project/.sdk/tm/rust/tests/vendor/omni/util.rs +2 -2
  1279. package/project/.sdk/tm/rust/utility/fetcher.rs +0 -5
  1280. package/project/.sdk/tm/rust/utility/graphql.rs +1 -30
  1281. package/project/.sdk/tm/rust/utility/make_error.rs +0 -2
  1282. package/project/.sdk/tm/rust/utility/make_options.rs +1 -98
  1283. package/project/.sdk/tm/rust/utility/make_point.rs +0 -12
  1284. package/project/.sdk/tm/rust/utility/make_spec.rs +10 -7
  1285. package/project/.sdk/tm/rust/utility/voxgigstruct/consts.rs +14 -20
  1286. package/project/.sdk/tm/rust/utility/voxgigstruct/major.rs +0 -13
  1287. package/project/.sdk/tm/rust/utility/voxgigstruct/mini.rs +0 -14
  1288. package/project/.sdk/tm/rust/utility/voxgigstruct/mod.rs +0 -2
  1289. package/project/.sdk/tm/rust/utility/voxgigstruct/ordered_map.rs +0 -18
  1290. package/project/.sdk/tm/rust/utility/voxgigstruct/re.rs +0 -11
  1291. package/project/.sdk/tm/rust/utility/voxgigstruct/value.rs +0 -3
  1292. package/project/.sdk/tm/scala/feature/ValidateFeature.scala +286 -0
  1293. package/project/.sdk/tm/scala/feature/secrets/plugin/Capability.scala +2 -2
  1294. package/project/.sdk/tm/scala/feature/secrets/plugin/Config.scala +2 -2
  1295. package/project/.sdk/tm/scala/feature/secrets/plugin/Depend.scala +2 -2
  1296. package/project/.sdk/tm/scala/feature/secrets/plugin/Env.scala +2 -2
  1297. package/project/.sdk/tm/scala/feature/secrets/plugin/Export.scala +3 -3
  1298. package/project/.sdk/tm/scala/feature/secrets/plugin/Graph.scala +2 -2
  1299. package/project/.sdk/tm/scala/feature/secrets/plugin/Host.scala +19 -2
  1300. package/project/.sdk/tm/scala/feature/secrets/plugin/Json.scala +2 -2
  1301. package/project/.sdk/tm/scala/feature/secrets/plugin/Order.scala +2 -2
  1302. package/project/.sdk/tm/scala/feature/secrets/plugin/Plugin.scala +2 -2
  1303. package/project/.sdk/tm/scala/feature/secrets/plugin/Point.scala +2 -2
  1304. package/project/.sdk/tm/scala/feature/secrets/plugin/Refs.scala +2 -2
  1305. package/project/.sdk/tm/scala/feature/secrets/plugin/Resolve.scala +2 -2
  1306. package/project/.sdk/tm/scala/feature/secrets/plugin/Types.scala +2 -2
  1307. package/project/.sdk/tm/scala/feature/secrets/plugin/Value.scala +2 -2
  1308. package/project/.sdk/tm/scala/feature/secrets/plugin/Version.scala +2 -2
  1309. package/project/.sdk/tm/scala/feature/secrets/sekreto/Json.scala +2 -2
  1310. package/project/.sdk/tm/scala/feature/secrets/sekreto/Provider.scala +2 -2
  1311. package/project/.sdk/tm/scala/feature/secrets/sekreto/Providers.scala +3 -2
  1312. package/project/.sdk/tm/scala/feature/secrets/sekreto/Sekreto.scala +2 -2
  1313. package/project/.sdk/tm/scala/feature/secrets/sekreto/Spec.scala +13 -2
  1314. package/project/.sdk/tm/scala/feature/secrets/sekreto/Support.scala +11 -2
  1315. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Aws.scala +2 -2
  1316. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Azuresecrets.scala +2 -2
  1317. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Boru.scala +2 -2
  1318. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Doppler.scala +2 -2
  1319. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Gcpsecrets.scala +2 -2
  1320. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Hashicorp.scala +2 -2
  1321. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Httpjson.scala +2 -2
  1322. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Infisical.scala +2 -2
  1323. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Minivault.scala +979 -0
  1324. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Onepassword.scala +2 -2
  1325. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Secretspec.scala +2 -2
  1326. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Sigv4.scala +2 -2
  1327. package/project/.sdk/tm/scala/sdktest/vendor/omni/Json.scala +2 -2
  1328. package/project/.sdk/tm/scala/sdktest/vendor/omni/Runner.scala +2 -2
  1329. package/project/.sdk/tm/scala/sdktest/vendor/omni/Util.scala +2 -2
  1330. package/project/.sdk/tm/scala/src/feature/validate/.gitkeep +0 -0
  1331. package/project/.sdk/tm/scala/utility/Make.scala +12 -41
  1332. package/project/.sdk/tm/scala/utility/MakeSpec.scala +8 -1
  1333. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/ValidateFeature.swift +273 -0
  1334. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Capability.swift +2 -2
  1335. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Catalog.swift +2 -2
  1336. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Config.swift +2 -2
  1337. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Depend.swift +2 -2
  1338. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Env.swift +2 -2
  1339. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Export.swift +3 -3
  1340. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Graph.swift +2 -2
  1341. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Host.swift +17 -2
  1342. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Json.swift +2 -2
  1343. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Order.swift +2 -2
  1344. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Point.swift +2 -2
  1345. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Refs.swift +2 -2
  1346. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Resolve.swift +2 -2
  1347. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Types.swift +2 -2
  1348. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Value.swift +2 -2
  1349. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Version.swift +2 -2
  1350. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Aws.swift +2 -2
  1351. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Azuresecrets.swift +2 -2
  1352. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Boru.swift +2 -2
  1353. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Crypto.swift +2 -2
  1354. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Doppler.swift +2 -2
  1355. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Gcpsecrets.swift +2 -2
  1356. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Hashicorp.swift +2 -2
  1357. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Httpjson.swift +2 -2
  1358. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Infisical.swift +2 -2
  1359. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Onepassword.swift +2 -2
  1360. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Proc.swift +2 -2
  1361. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Secretspec.swift +2 -2
  1362. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Sigv4.swift +2 -2
  1363. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Addr.swift +2 -2
  1364. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Json.swift +2 -2
  1365. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Provider.swift +2 -2
  1366. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Providers.swift +2 -2
  1367. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Sekreto.swift +2 -2
  1368. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Make.swift +9 -3
  1369. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/MakeOptions.swift +12 -87
  1370. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/PrimaryUtilityTest.swift +3 -3
  1371. package/project/.sdk/tm/swift/Tests/vendor/omni/Json.swift +2 -2
  1372. package/project/.sdk/tm/swift/Tests/vendor/omni/Runner.swift +2 -2
  1373. package/project/.sdk/tm/swift/Tests/vendor/omni/Util.swift +2 -2
  1374. package/project/.sdk/tm/swift/src/feature/validate/.gitkeep +0 -0
  1375. package/project/.sdk/tm/ts/src/Context.ts +0 -5
  1376. package/project/.sdk/tm/ts/src/feature/audit/AuditFeature.ts +0 -7
  1377. package/project/.sdk/tm/ts/src/feature/cache/CacheFeature.ts +0 -8
  1378. package/project/.sdk/tm/ts/src/feature/clienttrack/ClienttrackFeature.ts +0 -7
  1379. package/project/.sdk/tm/ts/src/feature/cost/CostFeature.ts +0 -52
  1380. package/project/.sdk/tm/ts/src/feature/debug/DebugFeature.ts +0 -6
  1381. package/project/.sdk/tm/ts/src/feature/metrics/MetricsFeature.ts +0 -6
  1382. package/project/.sdk/tm/ts/src/feature/netsim/NetsimFeature.ts +0 -8
  1383. package/project/.sdk/tm/ts/src/feature/paging/PagingFeature.ts +0 -13
  1384. package/project/.sdk/tm/ts/src/feature/proxy/ProxyFeature.ts +0 -8
  1385. package/project/.sdk/tm/ts/src/feature/ratelimit/RatelimitFeature.ts +0 -6
  1386. package/project/.sdk/tm/ts/src/feature/rbac/RbacFeature.ts +0 -9
  1387. package/project/.sdk/tm/ts/src/feature/retry/RetryFeature.ts +0 -6
  1388. package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +0 -136
  1389. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Capability.ts +1 -1
  1390. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Catalog.ts +1 -1
  1391. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Config.ts +1 -1
  1392. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Depend.ts +1 -1
  1393. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Env.ts +1 -1
  1394. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Export.ts +13 -2
  1395. package/project/.sdk/tm/ts/src/feature/secrets/plugin/FeatureHost.ts +1 -1
  1396. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Graph.ts +1 -1
  1397. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Host.ts +27 -1
  1398. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Order.ts +1 -1
  1399. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Point.ts +1 -1
  1400. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Ref.ts +1 -1
  1401. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Resolve.ts +1 -1
  1402. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Types.ts +1 -1
  1403. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Version.ts +1 -1
  1404. package/project/.sdk/tm/ts/src/feature/secrets/plugin/index.ts +1 -1
  1405. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/Sekreto.ts +1 -1
  1406. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/index.ts +1 -1
  1407. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/aws.ts +1 -1
  1408. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/azuresecrets.ts +1 -1
  1409. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/boru.ts +1 -1
  1410. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/doppler.ts +1 -1
  1411. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/gcpsecrets.ts +1 -1
  1412. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/hashicorp.ts +1 -1
  1413. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/httpjson.ts +1 -1
  1414. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/infisical.ts +1 -1
  1415. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/minivault.ts +1034 -0
  1416. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/onepassword.ts +1 -1
  1417. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/secretspec.ts +1 -1
  1418. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/sigv4.ts +1 -1
  1419. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/addr.ts +1 -1
  1420. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/builtin.ts +2 -1
  1421. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/dotenv.ts +1 -1
  1422. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/env.ts +1 -1
  1423. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/file.ts +1 -1
  1424. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/memory.ts +1 -1
  1425. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/support.ts +11 -1
  1426. package/project/.sdk/tm/ts/src/feature/streaming/StreamingFeature.ts +0 -7
  1427. package/project/.sdk/tm/ts/src/feature/telemetry/TelemetryFeature.ts +0 -7
  1428. package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +13 -88
  1429. package/project/.sdk/tm/ts/src/feature/validate/ValidateFeature.ts +0 -87
  1430. package/project/.sdk/tm/ts/src/utility/CleanUtility.ts +0 -12
  1431. package/project/.sdk/tm/ts/src/utility/FeatureAddUtility.ts +0 -1
  1432. package/project/.sdk/tm/ts/src/utility/GraphqlUtility.ts +2 -30
  1433. package/project/.sdk/tm/ts/src/utility/MakeErrorUtility.ts +0 -4
  1434. package/project/.sdk/tm/ts/src/utility/MakeOptionsUtility.ts +0 -46
  1435. package/project/.sdk/tm/ts/src/utility/MakePointUtility.ts +0 -34
  1436. package/project/.sdk/tm/ts/src/utility/MakeRequestUtility.ts +0 -1
  1437. package/project/.sdk/tm/ts/src/utility/MakeSpecUtility.ts +0 -5
  1438. package/project/.sdk/tm/ts/src/utility/MakeUrlUtility.ts +0 -1
  1439. package/project/.sdk/tm/ts/src/utility/ParamUtility.ts +0 -8
  1440. package/project/.sdk/tm/ts/src/utility/PrepareBodyUtility.ts +0 -3
  1441. package/project/.sdk/tm/ts/src/utility/PrepareParamsUtility.ts +0 -6
  1442. package/project/.sdk/tm/ts/src/utility/ResultBasicUtility.ts +0 -1
  1443. package/project/.sdk/tm/ts/src/utility/StructUtility.ts +1 -1
  1444. package/project/.sdk/tm/ts/src/utility/TransformRequestUtility.ts +0 -20
  1445. package/project/.sdk/tm/ts/src/utility/TransformResponseUtility.ts +0 -4
  1446. package/project/.sdk/tm/ts/test/exists.test.ts +0 -10
  1447. package/project/.sdk/tm/ts/test/feature/Corpus.test.ts +0 -56
  1448. package/project/.sdk/tm/ts/test/feature/harness.ts +0 -9
  1449. package/project/.sdk/tm/ts/test/feature/secrets/Secrets.test.ts +0 -106
  1450. package/project/.sdk/tm/ts/test/live-contract.ts +0 -2
  1451. package/project/.sdk/tm/ts/test/omni.ts +0 -32
  1452. package/project/.sdk/tm/ts/test/pipeline.test.ts +45 -28
  1453. package/project/.sdk/tm/ts/test/utility/Corpus.test.ts +0 -13
  1454. package/project/.sdk/tm/ts/test/utility/PrimaryUtility.test.ts +56 -29
  1455. package/project/.sdk/tm/ts/test/utility/StructUtility.test.ts +0 -7
  1456. package/project/.sdk/tm/ts/test/utility.ts +0 -55
  1457. package/project/.sdk/tm/ts/test/vendor/omni/Runner.ts +1 -1
  1458. package/project/.sdk/tm/ts/test/vendor/omni/Util.ts +1 -1
  1459. package/project/.sdk/tm/ts/test/vendor/omni/index.ts +1 -1
  1460. package/project/.sdk/tm/zig/core/utility.zig +20 -44
  1461. package/project/.sdk/tm/zig/feature/secrets/plugin/capability.zig +2 -2
  1462. package/project/.sdk/tm/zig/feature/secrets/plugin/catalog.zig +2 -2
  1463. package/project/.sdk/tm/zig/feature/secrets/plugin/config.zig +2 -2
  1464. package/project/.sdk/tm/zig/feature/secrets/plugin/depend.zig +2 -2
  1465. package/project/.sdk/tm/zig/feature/secrets/plugin/env.zig +2 -2
  1466. package/project/.sdk/tm/zig/feature/secrets/plugin/export.zig +3 -3
  1467. package/project/.sdk/tm/zig/feature/secrets/plugin/graph.zig +2 -2
  1468. package/project/.sdk/tm/zig/feature/secrets/plugin/host.zig +18 -2
  1469. package/project/.sdk/tm/zig/feature/secrets/plugin/inst.zig +2 -2
  1470. package/project/.sdk/tm/zig/feature/secrets/plugin/order.zig +2 -2
  1471. package/project/.sdk/tm/zig/feature/secrets/plugin/plugin.zig +2 -2
  1472. package/project/.sdk/tm/zig/feature/secrets/plugin/point.zig +2 -2
  1473. package/project/.sdk/tm/zig/feature/secrets/plugin/ref.zig +2 -2
  1474. package/project/.sdk/tm/zig/feature/secrets/plugin/resolve.zig +2 -2
  1475. package/project/.sdk/tm/zig/feature/secrets/plugin/types.zig +2 -2
  1476. package/project/.sdk/tm/zig/feature/secrets/plugin/value.zig +2 -2
  1477. package/project/.sdk/tm/zig/feature/secrets/plugin/version.zig +2 -2
  1478. package/project/.sdk/tm/zig/feature/secrets/plugins/aws.zig +2 -2
  1479. package/project/.sdk/tm/zig/feature/secrets/plugins/azuresecrets.zig +2 -2
  1480. package/project/.sdk/tm/zig/feature/secrets/plugins/boru.zig +2 -2
  1481. package/project/.sdk/tm/zig/feature/secrets/plugins/doppler.zig +2 -2
  1482. package/project/.sdk/tm/zig/feature/secrets/plugins/gcpsecrets.zig +2 -2
  1483. package/project/.sdk/tm/zig/feature/secrets/plugins/hashicorp.zig +2 -2
  1484. package/project/.sdk/tm/zig/feature/secrets/plugins/httpjson.zig +2 -2
  1485. package/project/.sdk/tm/zig/feature/secrets/plugins/infisical.zig +2 -2
  1486. package/project/.sdk/tm/zig/feature/secrets/plugins/minivault.zig +1930 -0
  1487. package/project/.sdk/tm/zig/feature/secrets/plugins/onepassword.zig +2 -2
  1488. package/project/.sdk/tm/zig/feature/secrets/plugins/secretspec.zig +2 -2
  1489. package/project/.sdk/tm/zig/feature/secrets/plugins/sigv4.zig +2 -2
  1490. package/project/.sdk/tm/zig/feature/secrets/sekreto/addr.zig +2 -2
  1491. package/project/.sdk/tm/zig/feature/secrets/sekreto/builtins.zig +3 -2
  1492. package/project/.sdk/tm/zig/feature/secrets/sekreto/provider.zig +19 -2
  1493. package/project/.sdk/tm/zig/feature/secrets/sekreto/sekreto.zig +2 -2
  1494. package/project/.sdk/tm/zig/feature/validate.zig +293 -0
  1495. package/project/.sdk/tm/zig/src/feature/validate/.gitkeep +0 -0
  1496. package/project/.sdk/tm/zig/test/vendor/omni/omni.zig +2 -2
  1497. package/project/.sdk/tm/zig/test/vendor/omni/regex.zig +2 -2
  1498. package/project/.sdk/tm/zig/utility/voxgigstruct/regex.zig +2 -2
  1499. package/project/.sdk/tm/zig/utility/voxgigstruct/struct.zig +2 -2
  1500. package/project/sdkgen-package.json +1 -1
  1501. package/src/action/action.ts +0 -65
  1502. package/src/action/check.ts +0 -88
  1503. package/src/action/dispatch.ts +0 -27
  1504. package/src/action/doctor.ts +69 -329
  1505. package/src/action/edition.ts +1 -87
  1506. package/src/action/feature.ts +1 -49
  1507. package/src/action/kind.ts +0 -149
  1508. package/src/action/package.ts +0 -228
  1509. package/src/action/resolve.ts +0 -148
  1510. package/src/action/target.ts +0 -177
  1511. package/src/cmp/AgentGuide.ts +0 -7
  1512. package/src/cmp/AgentGuideContent.ts +0 -24
  1513. package/src/cmp/AgentGuideTop.ts +0 -7
  1514. package/src/cmp/Changelog.ts +0 -14
  1515. package/src/cmp/Deploy.ts +1 -31
  1516. package/src/cmp/Entity.ts +0 -4
  1517. package/src/cmp/ExternalTarget.ts +0 -36
  1518. package/src/cmp/Feature.ts +0 -14
  1519. package/src/cmp/FeatureDocs.ts +0 -37
  1520. package/src/cmp/PublishWorkflow.ts +0 -60
  1521. package/src/cmp/ReadmeErrors.ts +0 -17
  1522. package/src/cmp/ReadmeExplanation.ts +2 -11
  1523. package/src/cmp/ReadmeFeatures.ts +0 -10
  1524. package/src/cmp/ReadmeRefFeatures.ts +0 -19
  1525. package/src/cmp/ReadmeStation.ts +0 -19
  1526. package/src/cmp/ReadmeTop.ts +0 -80
  1527. package/src/cmp/ReadmeUnions.ts +0 -15
  1528. package/src/cmp/Registered.ts +0 -30
  1529. package/src/cmp/Security.ts +0 -2
  1530. package/src/cmp/Test.ts +3 -1
  1531. package/src/cmp/TestControl.ts +0 -25
  1532. package/src/helpers/applicability.ts +0 -55
  1533. package/src/helpers/buildIdNames.ts +0 -12
  1534. package/src/helpers/canonSpec.ts +0 -114
  1535. package/src/helpers/canonType.ts +0 -87
  1536. package/src/helpers/collectDeps.ts +21 -23
  1537. package/src/helpers/definition.ts +0 -29
  1538. package/src/helpers/dryrun.ts +0 -8
  1539. package/src/helpers/featureSource.ts +0 -152
  1540. package/src/helpers/getMatchEntries.ts +0 -4
  1541. package/src/helpers/junk.ts +13 -89
  1542. package/src/helpers/manifest.ts +0 -169
  1543. package/src/helpers/modelNames.ts +0 -81
  1544. package/src/helpers/modelcheck.ts +0 -106
  1545. package/src/helpers/naming.ts +2 -305
  1546. package/src/helpers/opExample.ts +0 -56
  1547. package/src/helpers/opShape.ts +0 -200
  1548. package/src/helpers/optspec.ts +0 -77
  1549. package/src/helpers/packageMeta.ts +1 -200
  1550. package/src/helpers/pointPath.ts +0 -55
  1551. package/src/helpers/resolved.ts +50 -0
  1552. package/src/helpers/semver.ts +0 -61
  1553. package/src/helpers/serverVars.ts +0 -44
  1554. package/src/helpers/shipped.ts +0 -14
  1555. package/src/helpers/station.ts +0 -32
  1556. package/src/helpers/stdrep.ts +0 -52
  1557. package/src/helpers/testPolicy.ts +0 -4
  1558. package/src/sdkgen.ts +15 -263
  1559. package/src/testkit.ts +6 -312
  1560. package/src/types.ts +1 -30
  1561. package/src/utility.ts +0 -243
@@ -0,0 +1,979 @@
1
+ # VENDORED: @voxgig/sekreto sdk-20260917-1242-0 (ruby/lib/voxgig_sekreto/plugins/minivault.rb)
2
+ # Source: https://github.com/voxgig/sekreto @ 108c4a914bee7b6534c30d1c68c25cd1b9377696 [tag: sdk-20260917-1242-0]
3
+ # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
+ # frozen_string_literal: true
5
+
6
+ # A port of typescript/plugins/minivault.ts, which is canonical.
7
+ #
8
+ # A mini vault: every secret a project owns, encrypted, in ONE FILE.
9
+ #
10
+ # THE KEY DECIDES WHAT THE VAULT HOLDS. A master key reads and writes
11
+ # every name and mints restricted keys. A restricted key reads the names
12
+ # it was granted and CANNOT DERIVE ANY OTHER - the restriction is the
13
+ # cryptography rather than a check this code performs. What that does and
14
+ # does not protect is set out in DOCS.md under "What the mini vault
15
+ # protects".
16
+ #
17
+ # OpenSSL is ruby's standard library and carries all four primitives, so
18
+ # nothing here is hand-rolled (AGENTS.md rule 3).
19
+
20
+ require 'json'
21
+ require 'openssl'
22
+
23
+ require_relative '../../voxgig_sekreto'
24
+
25
+ module VoxgigSekreto
26
+ # The mini vault: the format, the keys, the API and the definition.
27
+ module MiniVaultFormat
28
+ # --- the format ----------------------------------------------------
29
+ #
30
+ # magic 4 'SKMV'
31
+ # version 1 FORMAT
32
+ # kdf 1 1 = PBKDF2-HMAC-SHA256
33
+ # cipher 1 1 = AES-256-GCM
34
+ # reserved 1 0
35
+ # keycount 4 uint32
36
+ # per key:
37
+ # id 1 + bytes the key id, PLAINTEXT
38
+ # salt 1 + bytes
39
+ # iters 4 PBKDF2 rounds for this key
40
+ # ring 1 + iv, 4 + bytes sealed under the passphrase
41
+ # meta 1 + iv, 4 + bytes sealed under the vault's meta key
42
+ # entrycount 4 uint32
43
+ # per entry:
44
+ # id 1 + bytes the blinded lookup id
45
+ # name 1 + iv, 4 + bytes sealed under the vault's name key
46
+ # value 1 + iv, 4 + bytes sealed under that secret's own key
47
+ #
48
+ # Integers are big-endian, and every length precedes its bytes. A file
49
+ # one port writes is read by every other; `test/fixture` pins that
50
+ # with a committed vault rather than with agreement.
51
+
52
+ MAGIC = 'SKMV'
53
+ FORMAT = 1
54
+ KDF_PBKDF2 = 1
55
+ CIPHER_AESGCM = 1
56
+
57
+ # AES-256-GCM: 32-byte keys, 12-byte nonces, 16-byte tags.
58
+ KEYLEN = 32
59
+ IVLEN = 12
60
+ TAGLEN = 16
61
+ SALTLEN = 16
62
+
63
+ # PBKDF2-HMAC-SHA256 rounds when a caller names none.
64
+ ITERATIONS = 210_000
65
+
66
+ # The key id a vault gets when a caller names none.
67
+ MASTERKEY = 'master'
68
+
69
+ # Additional authenticated data. Every blob is bound to its PLACE in
70
+ # the file, so no ciphertext can be moved.
71
+ AAD_RING = 'skmv1:ring:'
72
+ AAD_META = 'skmv1:meta:'
73
+ AAD_NAME = 'skmv1:name'
74
+ AAD_SECRET = 'skmv1:secret:'
75
+
76
+ # Everything a master can reach is derived from the root key, so a
77
+ # rotation is one new random value rather than a re-wrap of each part.
78
+ LABEL_NAMES = 'skmv1:names'
79
+ LABEL_META = 'skmv1:meta'
80
+ LABEL_ID = 'skmv1:id'
81
+
82
+ # The largest key id the format can record.
83
+ #
84
+ # `small` writes a length in ONE byte. A longer id wrapped that byte
85
+ # and the writer then appended the whole thing, so every field after
86
+ # it shifted. Checked where an id is ACCEPTED, so the refusal names
87
+ # the id rather than the file.
88
+ IDMAX = 255
89
+
90
+ # The export key the vault API is published under, beside the
91
+ # `provider` key every kind publishes.
92
+ VAULT_EXPORT = 'vault'
93
+ end
94
+
95
+ module_function
96
+
97
+ def minivaultfail(text)
98
+ raise SekretoError, 'sekreto: minivault: ' + text
99
+ end
100
+
101
+ def minivaultcheckid(id, what)
102
+ minivaultfail(what) unless id.is_a?(String) && !id.empty?
103
+
104
+ if id.bytesize > MiniVaultFormat::IDMAX
105
+ minivaultfail('key id is longer than ' + MiniVaultFormat::IDMAX.to_s +
106
+ ' bytes: ' + id[0, 32] + '...')
107
+ end
108
+ id
109
+ end
110
+
111
+ # --- keys ------------------------------------------------------------
112
+
113
+ def minivaulthmac(key, text)
114
+ OpenSSL::HMAC.digest('sha256', key, text.dup.force_encoding('BINARY'))
115
+ end
116
+
117
+ # The key-encryption key a passphrase unwraps a ring with.
118
+ def minivaultkek(passphrase, salt, iters)
119
+ OpenSSL::PKCS5.pbkdf2_hmac(passphrase, salt, iters, MiniVaultFormat::KEYLEN,
120
+ OpenSSL::Digest.new('SHA256'))
121
+ end
122
+
123
+ # The key one named secret's value is encrypted with.
124
+ #
125
+ # DERIVED, never stored, for a master: it holds the root key and so
126
+ # reaches every name, including ones written after it was made. A
127
+ # restricted key holds the derived keys it was granted and nothing that
128
+ # produces another.
129
+ def minivaultsecretkey(root, name)
130
+ minivaulthmac(root, MiniVaultFormat::AAD_SECRET + name)
131
+ end
132
+
133
+ # Where a secret lives in the file, derived from its own key so that
134
+ # finding it needs no plaintext name.
135
+ def minivaultentryid(key)
136
+ minivaulthmac(key, MiniVaultFormat::LABEL_ID)
137
+ end
138
+
139
+ def minivaultrandom(len)
140
+ OpenSSL::Random.random_bytes(len)
141
+ end
142
+
143
+ # --- sealing ---------------------------------------------------------
144
+
145
+ def minivaultseal(key, plain, aad)
146
+ iv = minivaultrandom(MiniVaultFormat::IVLEN)
147
+ cipher = OpenSSL::Cipher.new('aes-256-gcm')
148
+ cipher.encrypt
149
+ cipher.key = key
150
+ cipher.iv = iv
151
+ cipher.auth_data = aad
152
+ body = cipher.update(plain) + cipher.final
153
+ { 'iv' => iv, 'blob' => body + cipher.auth_tag(MiniVaultFormat::TAGLEN) }
154
+ end
155
+
156
+ # The plaintext, or a refusal. A GCM tag that fails to verify is the
157
+ # only evidence there is, and it cannot tell a wrong passphrase from a
158
+ # damaged file, so `what` names the attempt and the message admits both.
159
+ def minivaultunseal(key, sealed, aad, what)
160
+ blob = sealed['blob']
161
+ iv = sealed['iv']
162
+
163
+ if blob.bytesize < MiniVaultFormat::TAGLEN || iv.bytesize != MiniVaultFormat::IVLEN
164
+ minivaultfail(what + ': truncated')
165
+ end
166
+
167
+ # The WHOLE round-trip is guarded, not only the final block. A nonce
168
+ # or tag of the wrong length makes the setter itself raise.
169
+ begin
170
+ cipher = OpenSSL::Cipher.new('aes-256-gcm')
171
+ cipher.decrypt
172
+ cipher.key = key
173
+ cipher.iv = iv
174
+ cipher.auth_tag = blob[-MiniVaultFormat::TAGLEN..]
175
+ cipher.auth_data = aad
176
+ cipher.update(blob[0...-MiniVaultFormat::TAGLEN]) + cipher.final
177
+ rescue OpenSSL::OpenSSLError, ArgumentError
178
+ minivaultfail(what)
179
+ end
180
+ end
181
+
182
+ def minivaultjsonof(plain, what)
183
+ JSON.parse(plain.dup.force_encoding('UTF-8'))
184
+ rescue JSON::ParserError, EncodingError
185
+ minivaultfail('unreadable ' + what)
186
+ end
187
+
188
+ def minivaultb64(bytes)
189
+ [bytes].pack('m0')
190
+ end
191
+
192
+ def minivaultunb64(text, what)
193
+ minivaultfail('missing ' + what) unless text.is_a?(String)
194
+ text.unpack1('m')
195
+ end
196
+
197
+ # --- the file --------------------------------------------------------
198
+
199
+ # A cursor, so that every length check is in one place: a truncated
200
+ # vault is refused rather than read as a short one.
201
+ class MiniVaultReader
202
+ def initialize(bytes)
203
+ @bytes = bytes
204
+ @at = 0
205
+ end
206
+
207
+ def take(len)
208
+ VoxgigSekreto.minivaultfail('the vault file is truncated') if @bytes.bytesize < @at + len
209
+
210
+ out = @bytes.byteslice(@at, len)
211
+ @at += len
212
+ out
213
+ end
214
+
215
+ def u8
216
+ take(1).unpack1('C')
217
+ end
218
+
219
+ def u32
220
+ take(4).unpack1('N')
221
+ end
222
+
223
+ def small
224
+ take(u8)
225
+ end
226
+
227
+ def large
228
+ take(u32)
229
+ end
230
+
231
+ def magic
232
+ take(4)
233
+ end
234
+
235
+ def sealed
236
+ { 'iv' => small, 'blob' => large }
237
+ end
238
+
239
+ def done?
240
+ @at == @bytes.bytesize
241
+ end
242
+ end
243
+
244
+ def minivaultreadfile(bytes)
245
+ read = MiniVaultReader.new(bytes)
246
+
247
+ minivaultfail('not a vault file') if read.magic != MiniVaultFormat::MAGIC
248
+
249
+ version = read.u8
250
+ minivaultfail('unsupported format version: ' + version.to_s) if version != MiniVaultFormat::FORMAT
251
+
252
+ kdf = read.u8
253
+ cipher = read.u8
254
+ if kdf != MiniVaultFormat::KDF_PBKDF2 || cipher != MiniVaultFormat::CIPHER_AESGCM
255
+ minivaultfail('unsupported kdf or cipher: ' + kdf.to_s + '/' + cipher.to_s)
256
+ end
257
+ read.u8
258
+
259
+ keys = []
260
+ read.u32.times do
261
+ id = read.small.force_encoding('UTF-8')
262
+ salt = read.small
263
+ iters = read.u32
264
+ keys.push({ 'id' => id, 'salt' => salt, 'iters' => iters,
265
+ 'ring' => read.sealed, 'meta' => read.sealed })
266
+ end
267
+
268
+ entries = []
269
+ read.u32.times do
270
+ entries.push({ 'id' => read.small, 'name' => read.sealed, 'value' => read.sealed })
271
+ end
272
+
273
+ minivaultfail('the vault file has trailing bytes') unless read.done?
274
+
275
+ { 'keys' => keys, 'entries' => entries }
276
+ end
277
+
278
+ def minivaultwritefile(vault)
279
+ out = +''
280
+ out.force_encoding('BINARY')
281
+
282
+ u8 = ->(value) { out << [value].pack('C') }
283
+ u32 = ->(value) { out << [value].pack('N') }
284
+ small = lambda { |bytes|
285
+ u8.call(bytes.bytesize)
286
+ out << bytes.dup.force_encoding('BINARY')
287
+ }
288
+ large = lambda { |bytes|
289
+ u32.call(bytes.bytesize)
290
+ out << bytes.dup.force_encoding('BINARY')
291
+ }
292
+ sealed = lambda { |value|
293
+ small.call(value['iv'])
294
+ large.call(value['blob'])
295
+ }
296
+
297
+ out << MiniVaultFormat::MAGIC.dup.force_encoding('BINARY')
298
+ u8.call(MiniVaultFormat::FORMAT)
299
+ u8.call(MiniVaultFormat::KDF_PBKDF2)
300
+ u8.call(MiniVaultFormat::CIPHER_AESGCM)
301
+ u8.call(0)
302
+
303
+ u32.call(vault['keys'].length)
304
+ vault['keys'].each do |key|
305
+ small.call(key['id'].dup.force_encoding('BINARY'))
306
+ small.call(key['salt'])
307
+ u32.call(key['iters'])
308
+ sealed.call(key['ring'])
309
+ sealed.call(key['meta'])
310
+ end
311
+
312
+ # SORTED BY ID, which is a blinded value: the file therefore records
313
+ # nothing about the order secrets were written in.
314
+ entries = vault['entries'].sort_by { |entry| entry['id'].dup.force_encoding('BINARY') }
315
+
316
+ u32.call(entries.length)
317
+ entries.each do |entry|
318
+ small.call(entry['id'])
319
+ sealed.call(entry['name'])
320
+ sealed.call(entry['value'])
321
+ end
322
+
323
+ out
324
+ end
325
+
326
+ # --- creating --------------------------------------------------------
327
+
328
+ # A new vault: one master key, no secrets.
329
+ def minivaultnew(keyid, passphrase, iterations)
330
+ root = minivaultrandom(MiniVaultFormat::KEYLEN)
331
+ salt = minivaultrandom(MiniVaultFormat::SALTLEN)
332
+
333
+ ring = { 'v' => MiniVaultFormat::FORMAT, 'write' => true, 'root' => minivaultb64(root) }
334
+ meta = { 'v' => MiniVaultFormat::FORMAT, 'master' => true, 'write' => true, 'grants' => [] }
335
+
336
+ {
337
+ 'keys' => [{
338
+ 'id' => keyid,
339
+ 'salt' => salt,
340
+ 'iters' => iterations,
341
+ 'ring' => minivaultseal(minivaultkek(passphrase, salt, iterations),
342
+ JSON.generate(ring), MiniVaultFormat::AAD_RING + keyid),
343
+ 'meta' => minivaultseal(minivaulthmac(root, MiniVaultFormat::LABEL_META),
344
+ JSON.generate(meta), MiniVaultFormat::AAD_META + keyid)
345
+ }],
346
+ 'entries' => []
347
+ }
348
+ end
349
+
350
+ # Write a vault file that is not there yet, and REFUSE one that is.
351
+ #
352
+ # Straight to the target under O_CREAT|O_EXCL rather than through a
353
+ # temporary and a rename. `rename` REPLACES its destination, so two
354
+ # processes creating the same vault both succeeded and the second
355
+ # discarded the first one's secrets.
356
+ def minivaultputnew(file, vault)
357
+ File.open(file, File::WRONLY | File::CREAT | File::EXCL, 0o600) do |handle|
358
+ handle.binmode
359
+ handle.write(minivaultwritefile(vault))
360
+ end
361
+ rescue Errno::EEXIST
362
+ minivaultfail('vault file already exists: ' + file)
363
+ rescue SystemCallError => e
364
+ minivaultfail('cannot write ' + file + ': ' + e.message)
365
+ end
366
+
367
+ # Is this the same sealed blob, byte for byte?
368
+ def minivaultsameseal(left, right)
369
+ left['iv'] == right['iv'] && left['blob'] == right['blob']
370
+ end
371
+
372
+ # --- what a key is ---------------------------------------------------
373
+
374
+ # A detached copy, so that what a caller is handed cannot become what
375
+ # this vault believes.
376
+ def minivaultcopyinfo(info)
377
+ {
378
+ 'key' => info['key'],
379
+ 'master' => info['master'],
380
+ 'write' => info['write'],
381
+ 'grants' => info['grants'].dup
382
+ }
383
+ end
384
+
385
+ # A handle on one vault file, opened as ONE key.
386
+ #
387
+ # Every method answers as that key: `list` shows the names it may read,
388
+ # `get` answers for those and misses on the rest, and the master-only
389
+ # methods refuse for any other key. Nothing is read or derived until the
390
+ # first call that needs the file.
391
+ # THE LOCK EVERY HANDLE ON ONE FILE SHARES.
392
+ #
393
+ # Each MiniVault is its own object, so two handles on one path did not
394
+ # coordinate: both could finish `load` before either saved, and the
395
+ # second `File.rename` then discarded the first one's change while
396
+ # reporting success. Keyed by the ABSOLUTE path, so two handles spelled
397
+ # differently still meet.
398
+ #
399
+ # A guarantee WITHIN one process, which is what DOCS.md promises and
400
+ # what the go port arranges the same way. Two processes still race, and
401
+ # the format's answer to that is the exclusive create and the atomic
402
+ # rename: a reader sees one whole vault or the other, never half of one.
403
+ # Ruby's Mutex is NOT re-entrant, so the five mutating methods must not
404
+ # call one another while holding it - and none of them does: `rotate`
405
+ # reads through `list` and `get`, and every one of them writes through
406
+ # `save`, which takes no lock of its own.
407
+ MINIVAULT_LOCKSMUTEX = Mutex.new
408
+ MINIVAULT_LOCKTABLE = {}
409
+
410
+ def self.minivaultlockfor(file)
411
+ key = begin
412
+ File.expand_path(file)
413
+ rescue StandardError
414
+ file
415
+ end
416
+
417
+ MINIVAULT_LOCKSMUTEX.synchronize { MINIVAULT_LOCKTABLE[key] ||= Mutex.new }
418
+ end
419
+
420
+ class MiniVault
421
+ def initialize(options)
422
+ opts = options || {}
423
+ @file = opts['file']
424
+ # AN EMPTY KEY IS NO KEY, so it means `master`. Ruby's `||` answers
425
+ # for nil alone and an empty String is truthy, where the canonical's
426
+ # `opts.key || MASTERKEY` answers for both. A CLI reaches this with
427
+ # SEKRETO_VAULT_KEY set and empty, which is what an unset shell
428
+ # variable expands to.
429
+ want = opts['key']
430
+ @keyid = want.nil? || want.to_s.empty? ? MiniVaultFormat::MASTERKEY : want
431
+ @passphrase = opts['passphrase']
432
+ @iterations = opts['iterations'] || MiniVaultFormat::ITERATIONS
433
+ @create = opts['create'] == true
434
+
435
+ VoxgigSekreto.minivaultfail('a vault needs a file') unless @file.is_a?(String) && !@file.empty?
436
+ unless @passphrase.is_a?(String) && !@passphrase.empty?
437
+ VoxgigSekreto.minivaultfail('a vault needs a passphrase')
438
+ end
439
+ VoxgigSekreto.minivaultcheckid(@keyid, 'a vault needs a key id')
440
+
441
+ @opened = nil
442
+ end
443
+
444
+ # The file this handle reads.
445
+ def file
446
+ @file
447
+ end
448
+
449
+ # The key id this handle opens with.
450
+ def key
451
+ @keyid
452
+ end
453
+
454
+ # Derive the key and read the file NOW rather than at first use.
455
+ def open
456
+ VoxgigSekreto.minivaultcopyinfo(load[1]['info'])
457
+ end
458
+
459
+ # Forget the derived keys. The next call opens again.
460
+ def close
461
+ @opened = nil
462
+ nil
463
+ end
464
+
465
+ # The names this key can read, sorted.
466
+ def list
467
+ vault, opened = load
468
+
469
+ if opened['root']
470
+ namekey = VoxgigSekreto.minivaulthmac(opened['root'], MiniVaultFormat::LABEL_NAMES)
471
+ return vault['entries'].map { |entry|
472
+ VoxgigSekreto.minivaultunseal(namekey, entry['name'], MiniVaultFormat::AAD_NAME,
473
+ 'a secret name is damaged').force_encoding('UTF-8')
474
+ }.sort
475
+ end
476
+
477
+ # A restricted key has no name key, so it reports the grants it can
478
+ # actually find: the vault never tells it what else is in there.
479
+ opened['info']['grants'].select { |name|
480
+ !findentry(vault, opened['grants'][name]).nil?
481
+ }.sort
482
+ end
483
+
484
+ def has?(name)
485
+ !get(name).nil?
486
+ end
487
+
488
+ # The value, or nil when the vault does not hold that name or this key
489
+ # was not granted it.
490
+ def get(name)
491
+ VoxgigSekreto.checkname(name)
492
+ vault, opened = load
493
+
494
+ key = keyfor(opened, name)
495
+ # OUTSIDE THE GRANT IS A MISS, deliberately. The vault answers as
496
+ # the key that opened it, so a name this key cannot read is a name
497
+ # this store does not hold for this caller.
498
+ return nil if key.nil?
499
+
500
+ entry = findentry(vault, key)
501
+ return nil if entry.nil?
502
+
503
+ VoxgigSekreto.minivaultunseal(key, entry['value'], MiniVaultFormat::AAD_SECRET + name,
504
+ 'the value of ' + name + ' is damaged').force_encoding('UTF-8')
505
+ end
506
+
507
+ # Write a value. A master writes any name; a restricted key holding
508
+ # `write` overwrites the names it was granted, and creates none.
509
+ def set(name, value)
510
+ # Every write on this file, from any handle in this process,
511
+ # serializes here; see minivaultlockfor.
512
+ VoxgigSekreto.minivaultlockfor(@file).synchronize do
513
+ VoxgigSekreto.checkname(name)
514
+ VoxgigSekreto.minivaultfail('a secret value must be text: ' + name) unless value.is_a?(String)
515
+
516
+ vault, opened = load
517
+
518
+ unless opened['info']['write']
519
+ VoxgigSekreto.minivaultfail('key ' + opened['info']['key'] + ' is read-only')
520
+ end
521
+
522
+ key = keyfor(opened, name)
523
+ if key.nil?
524
+ VoxgigSekreto.minivaultfail('key ' + opened['info']['key'] + ' was not granted ' + name)
525
+ end
526
+
527
+ sealedvalue = VoxgigSekreto.minivaultseal(key, value, MiniVaultFormat::AAD_SECRET + name)
528
+ id = VoxgigSekreto.minivaultentryid(key)
529
+ at = vault['entries'].index { |entry| entry['id'] == id }
530
+
531
+ if at
532
+ vault['entries'][at] = {
533
+ 'id' => vault['entries'][at]['id'],
534
+ 'name' => vault['entries'][at]['name'],
535
+ 'value' => sealedvalue
536
+ }
537
+ else
538
+ # A NEW NAME NEEDS THE NAME KEY, which only a master holds. So a
539
+ # restricted key with `write` updates what it was granted and
540
+ # cannot grow the vault.
541
+ root = rootof(opened, 'creating the secret ' + name)
542
+ vault['entries'].push({
543
+ 'id' => id,
544
+ 'name' => VoxgigSekreto.minivaultseal(
545
+ VoxgigSekreto.minivaulthmac(root, MiniVaultFormat::LABEL_NAMES),
546
+ name, MiniVaultFormat::AAD_NAME
547
+ ),
548
+ 'value' => sealedvalue
549
+ })
550
+ end
551
+
552
+ save(vault)
553
+ nil
554
+ end
555
+ end
556
+
557
+ # Drop a name. Master only.
558
+ def remove(name)
559
+ # Every write on this file, from any handle in this process,
560
+ # serializes here; see minivaultlockfor.
561
+ VoxgigSekreto.minivaultlockfor(@file).synchronize do
562
+ VoxgigSekreto.checkname(name)
563
+ vault, opened = load
564
+ root = rootof(opened, 'removing a secret')
565
+
566
+ wanted = VoxgigSekreto.minivaultentryid(VoxgigSekreto.minivaultsecretkey(root, name))
567
+ at = vault['entries'].index { |entry| entry['id'] == wanted }
568
+ VoxgigSekreto.minivaultfail('no such secret: ' + name) if at.nil?
569
+
570
+ vault['entries'].delete_at(at)
571
+ save(vault)
572
+ nil
573
+ end
574
+ end
575
+
576
+ # Every key in the file, with what it may do. Master only.
577
+ def keys
578
+ vault, opened = load
579
+ rootof(opened, 'listing the keys')
580
+
581
+ vault['keys'].map do |record|
582
+ meta = metaof(opened, record)
583
+ if meta.nil?
584
+ { 'key' => record['id'], 'master' => false, 'write' => false, 'grants' => [] }
585
+ else
586
+ { 'key' => record['id'], 'master' => meta['master'] == true,
587
+ 'write' => meta['write'] == true, 'grants' => (meta['grants'] || []).sort }
588
+ end
589
+ end
590
+ end
591
+
592
+ # Mint a restricted key. Master only.
593
+ def grant(spec)
594
+ # Every write on this file, from any handle in this process,
595
+ # serializes here; see minivaultlockfor.
596
+ VoxgigSekreto.minivaultlockfor(@file).synchronize do
597
+ vault, opened = load
598
+ root = rootof(opened, 'granting a key')
599
+
600
+ spec ||= {}
601
+ VoxgigSekreto.minivaultcheckid(spec['key'], 'a grant needs a key id')
602
+ unless spec['passphrase'].is_a?(String) && !spec['passphrase'].empty?
603
+ VoxgigSekreto.minivaultfail('a grant needs a passphrase')
604
+ end
605
+ if vault['keys'].any? { |k| k['id'] == spec['key'] }
606
+ VoxgigSekreto.minivaultfail('key already exists: ' + spec['key'])
607
+ end
608
+
609
+ names = (spec['names'] || []).sort
610
+ grants = {}
611
+ names.each do |name|
612
+ VoxgigSekreto.checkname(name)
613
+ grants[name] = VoxgigSekreto.minivaultb64(VoxgigSekreto.minivaultsecretkey(root, name))
614
+ end
615
+
616
+ write = spec['write'] == true
617
+ vault['keys'].push(sealkey(root, spec['key'], spec['passphrase'],
618
+ spec['iterations'] || @iterations,
619
+ { 'v' => MiniVaultFormat::FORMAT, 'write' => write,
620
+ 'grants' => grants },
621
+ { 'v' => MiniVaultFormat::FORMAT, 'master' => false,
622
+ 'write' => write, 'grants' => names }))
623
+
624
+ save(vault)
625
+ nil
626
+ end
627
+ end
628
+
629
+ # Drop a key. Master only.
630
+ #
631
+ # Anyone who already copied the file keeps whatever that key could
632
+ # read, so revoking bars future reads of the LIVE file and `rotate` is
633
+ # what takes a secret back.
634
+ def revoke(key)
635
+ # Every write on this file, from any handle in this process,
636
+ # serializes here; see minivaultlockfor.
637
+ VoxgigSekreto.minivaultlockfor(@file).synchronize do
638
+ vault, opened = load
639
+ rootof(opened, 'revoking a key')
640
+
641
+ VoxgigSekreto.minivaultfail('a key cannot revoke itself: ' + key) if key == opened['info']['key']
642
+
643
+ at = vault['keys'].index { |k| k['id'] == key }
644
+ VoxgigSekreto.minivaultfail('no such key: ' + key) if at.nil?
645
+
646
+ vault['keys'].delete_at(at)
647
+ save(vault)
648
+ nil
649
+ end
650
+ end
651
+
652
+ # A new root key, every value re-encrypted under it, and EVERY OTHER
653
+ # KEY DROPPED. Master only.
654
+ #
655
+ # The other keys go because they must: their rings are sealed under
656
+ # passphrases this process does not have. Re-grant afterwards.
657
+ def rotate
658
+ # Every write on this file, from any handle in this process,
659
+ # serializes here; see minivaultlockfor.
660
+ VoxgigSekreto.minivaultlockfor(@file).synchronize do
661
+ vault, opened = load
662
+ rootof(opened, 'rotating the vault')
663
+
664
+ # Read everything out under the old root before anything changes:
665
+ # once the root is replaced the old derived keys are unreachable.
666
+ plain = list.map { |name| [name, get(name)] }
667
+
668
+ root = VoxgigSekreto.minivaultrandom(MiniVaultFormat::KEYLEN)
669
+ namekey = VoxgigSekreto.minivaulthmac(root, MiniVaultFormat::LABEL_NAMES)
670
+
671
+ entries = plain.map do |name, value|
672
+ key = VoxgigSekreto.minivaultsecretkey(root, name)
673
+ {
674
+ 'id' => VoxgigSekreto.minivaultentryid(key),
675
+ 'name' => VoxgigSekreto.minivaultseal(namekey, name, MiniVaultFormat::AAD_NAME),
676
+ 'value' => VoxgigSekreto.minivaultseal(key, value,
677
+ MiniVaultFormat::AAD_SECRET + name)
678
+ }
679
+ end
680
+
681
+ record = vault['keys'].find { |k| k['id'] == @keyid }
682
+
683
+ fresh = sealkey(root, @keyid, @passphrase, record['iters'],
684
+ { 'v' => MiniVaultFormat::FORMAT, 'write' => true,
685
+ 'root' => VoxgigSekreto.minivaultb64(root) },
686
+ { 'v' => MiniVaultFormat::FORMAT, 'master' => true, 'write' => true,
687
+ 'grants' => [] })
688
+
689
+ # SAVE FIRST, adopt second. A handle holding the new root over a
690
+ # file that still holds the old one reads nothing and says the vault
691
+ # is damaged.
692
+ save({ 'keys' => [fresh], 'entries' => entries })
693
+
694
+ @opened = {
695
+ 'info' => { 'key' => @keyid, 'master' => true, 'write' => true, 'grants' => [] },
696
+ 'root' => root,
697
+ 'grants' => {},
698
+ 'ring' => fresh['ring']
699
+ }
700
+ nil
701
+ end
702
+ end
703
+
704
+ private
705
+
706
+ def bytes
707
+ File.binread(@file)
708
+ rescue Errno::ENOENT
709
+ # A vault is configured deliberately, with a key. Its absence is a
710
+ # broken deployment and never "no secrets here": answering a miss
711
+ # would send the chain on to a weaker store.
712
+ VoxgigSekreto.minivaultfail('no vault file: ' + @file) unless @create
713
+
714
+ VoxgigSekreto.minivaultputnew(@file,
715
+ VoxgigSekreto.minivaultnew(@keyid, @passphrase, @iterations))
716
+ File.binread(@file)
717
+ rescue SystemCallError => e
718
+ VoxgigSekreto.minivaultfail('cannot read ' + @file + ': ' + e.message)
719
+ end
720
+
721
+ def load
722
+ vault = VoxgigSekreto.minivaultreadfile(bytes)
723
+
724
+ record = vault['keys'].find { |k| k['id'] == @keyid }
725
+ if record.nil?
726
+ # REVOKED, or never there. Either way this handle is finished, and
727
+ # dropping what it derived is what stops the next call answering
728
+ # from memory.
729
+ @opened = nil
730
+ VoxgigSekreto.minivaultfail('no such key: ' + @keyid)
731
+ end
732
+
733
+ # The file still holds this key, and holds the SAME ring: a key
734
+ # revoked and re-granted under another passphrase is a different key
735
+ # wearing the id, and re-deriving is what refuses it.
736
+ return [vault, @opened] if @opened && VoxgigSekreto.minivaultsameseal(@opened['ring'],
737
+ record['ring'])
738
+
739
+ @opened = nil
740
+
741
+ plain = VoxgigSekreto.minivaultunseal(
742
+ VoxgigSekreto.minivaultkek(@passphrase, record['salt'], record['iters']),
743
+ record['ring'], MiniVaultFormat::AAD_RING + @keyid,
744
+ 'wrong passphrase for key ' + @keyid + ', or a damaged vault'
745
+ )
746
+
747
+ ring = VoxgigSekreto.minivaultjsonof(plain, 'key ring for ' + @keyid)
748
+
749
+ grants = {}
750
+ (ring['grants'] || {}).each do |name, key|
751
+ grants[name] = VoxgigSekreto.minivaultunb64(key, 'a granted key')
752
+ end
753
+
754
+ @opened = {
755
+ 'info' => {
756
+ 'key' => @keyid,
757
+ 'master' => !ring['root'].nil?,
758
+ 'write' => !ring['root'].nil? || ring['write'] == true,
759
+ 'grants' => grants.keys.sort
760
+ },
761
+ 'root' => ring['root'].nil? ? nil : VoxgigSekreto.minivaultunb64(ring['root'],
762
+ 'the root key'),
763
+ 'grants' => grants,
764
+ 'ring' => record['ring']
765
+ }
766
+
767
+ [vault, @opened]
768
+ end
769
+
770
+ def rootof(opened, what)
771
+ if opened['root'].nil?
772
+ VoxgigSekreto.minivaultfail(what + ' needs a master key, and ' +
773
+ opened['info']['key'] + ' is restricted')
774
+ end
775
+ opened['root']
776
+ end
777
+
778
+ # The key for one name, or nil when this key cannot reach it.
779
+ def keyfor(opened, name)
780
+ return VoxgigSekreto.minivaultsecretkey(opened['root'], name) unless opened['root'].nil?
781
+
782
+ opened['grants'][name]
783
+ end
784
+
785
+ def findentry(vault, key)
786
+ return nil if key.nil?
787
+
788
+ id = VoxgigSekreto.minivaultentryid(key)
789
+ vault['entries'].find { |entry| entry['id'] == id }
790
+ end
791
+
792
+ def metaof(opened, record)
793
+ root = rootof(opened, 'reading key metadata')
794
+ what = 'metadata for key ' + record['id']
795
+ VoxgigSekreto.minivaultjsonof(
796
+ VoxgigSekreto.minivaultunseal(
797
+ VoxgigSekreto.minivaulthmac(root, MiniVaultFormat::LABEL_META),
798
+ record['meta'], MiniVaultFormat::AAD_META + record['id'], what
799
+ ), what
800
+ )
801
+ rescue SekretoError
802
+ # A record written under a root key this one has replaced. The key
803
+ # is still in the file and still opens with its own passphrase, so
804
+ # it is reported rather than hidden - with what it can do unknown.
805
+ nil
806
+ end
807
+
808
+ def sealkey(root, id, phrase, iters, ring, meta)
809
+ salt = VoxgigSekreto.minivaultrandom(MiniVaultFormat::SALTLEN)
810
+ {
811
+ 'id' => id,
812
+ 'salt' => salt,
813
+ 'iters' => iters,
814
+ 'ring' => VoxgigSekreto.minivaultseal(VoxgigSekreto.minivaultkek(phrase, salt, iters),
815
+ JSON.generate(ring),
816
+ MiniVaultFormat::AAD_RING + id),
817
+ 'meta' => VoxgigSekreto.minivaultseal(
818
+ VoxgigSekreto.minivaulthmac(root, MiniVaultFormat::LABEL_META),
819
+ JSON.generate(meta), MiniVaultFormat::AAD_META + id
820
+ )
821
+ }
822
+ end
823
+
824
+ # Read, change, and REPLACE - never edit in place.
825
+ #
826
+ # THE TEMPORARY IS RANDOM AND EXCLUSIVE. `<vault>.<pid>.tmp` is a name
827
+ # anyone can predict, so anyone who can write the vault's directory
828
+ # could put a symlink there and have the next save truncate whatever
829
+ # it pointed at.
830
+ def save(vault)
831
+ temp = @file + '.' + VoxgigSekreto.minivaultrandom(8).unpack1('H*') + '.tmp'
832
+
833
+ begin
834
+ File.open(temp, File::WRONLY | File::CREAT | File::EXCL, 0o600) do |handle|
835
+ handle.binmode
836
+ handle.write(VoxgigSekreto.minivaultwritefile(vault))
837
+ end
838
+ File.rename(temp, @file)
839
+ rescue SystemCallError => e
840
+ begin
841
+ File.unlink(temp)
842
+ rescue SystemCallError
843
+ # The vault is unchanged either way, and the write error is what
844
+ # the caller needs to be told about.
845
+ end
846
+ VoxgigSekreto.minivaultfail('cannot write ' + @file + ': ' + e.message)
847
+ end
848
+ nil
849
+ end
850
+ end
851
+
852
+ module_function
853
+
854
+ # Open a vault file as one key.
855
+ #
856
+ # The handle is lazy. Nothing is read, and no passphrase is stretched,
857
+ # until a method needs the file.
858
+ def openvault(options)
859
+ MiniVault.new(options)
860
+ end
861
+
862
+ # Make a vault file and return a handle on its master key.
863
+ #
864
+ # Refuses a file that is already there: a vault is created once, and
865
+ # overwriting one discards every secret in it.
866
+ def createvault(options)
867
+ opts = options || {}
868
+
869
+ minivaultfail('a vault needs a file') unless opts['file'].is_a?(String) && !opts['file'].empty?
870
+ unless opts['passphrase'].is_a?(String) && !opts['passphrase'].empty?
871
+ minivaultfail('a vault needs a passphrase')
872
+ end
873
+ want = opts['key']
874
+ keyid = want.nil? || want.to_s.empty? ? MiniVaultFormat::MASTERKEY : want
875
+ minivaultcheckid(keyid, 'a vault needs a key id')
876
+
877
+ # No existence check first: the check and the write would be two
878
+ # steps, and `minivaultputnew` refuses an existing file in ONE.
879
+ minivaultputnew(opts['file'],
880
+ minivaultnew(keyid, opts['passphrase'],
881
+ opts['iterations'] || MiniVaultFormat::ITERATIONS))
882
+
883
+ openvault(opts)
884
+ end
885
+
886
+ # --- the provider ----------------------------------------------------
887
+
888
+ # Read a vault as one store in a chain.
889
+ #
890
+ # The provider is the READ half and nothing more: a chain resolves
891
+ # secrets, and writing one is a deliberate act with an API of its own.
892
+ class MiniVaultProvider
893
+ def initialize(vault)
894
+ @vault = vault
895
+ end
896
+
897
+ def lookup(name)
898
+ @vault.get(name)
899
+ end
900
+
901
+ def describe
902
+ 'minivault:' + @vault.file
903
+ end
904
+ end
905
+
906
+ module_function
907
+
908
+ def providerof(vault)
909
+ MiniVaultProvider.new(vault)
910
+ end
911
+
912
+ # A vault provider from options, for a chain built by hand.
913
+ def minivaultprovider(options)
914
+ providerof(openvault(options))
915
+ end
916
+
917
+ # The vault options a provider spec describes.
918
+ def minivaultoptions(spec)
919
+ {
920
+ 'file' => spec['file'] || '',
921
+ 'key' => spec['vaultkey'],
922
+ 'passphrase' => spec['passphrase'] || '',
923
+ 'iterations' => spec['iterations'],
924
+ 'create' => spec['create'] == true
925
+ }
926
+ end
927
+
928
+ # The vault behind a store in a chain, as its programmatic API.
929
+ #
930
+ # With no store named, the unqualified alias answers: one vault in the
931
+ # chain resolves whatever it is called, and two raise rather than
932
+ # picking one.
933
+ def vaultof(secrets, store = nil)
934
+ if store.nil?
935
+ found = secrets.host.exports('minivault/' + MiniVaultFormat::VAULT_EXPORT)
936
+ minivaultfail('no minivault store in this chain') if found.nil?
937
+ return found
938
+ end
939
+
940
+ # A NAMED STORE MUST EXIST, and the alias must not stand in for it.
941
+ # `host.exports` falls back to the alias when the exact ref misses, so
942
+ # asking for `minivault` in a chain whose only vault is named `app`
943
+ # used to hand back the `app` vault - and then write to it.
944
+ ref = store == 'minivault' ? 'minivault' : 'minivault$' + store
945
+
946
+ minivaultfail('no minivault store named ' + store + ' in this chain') if
947
+ secrets.host.instance(ref).nil?
948
+
949
+ secrets.host.exports(ref + '/' + MiniVaultFormat::VAULT_EXPORT)
950
+ end
951
+
952
+ module Plugins
953
+ # The `minivault` provider kind, as a voxgig/plugin definition.
954
+ #
955
+ # Written out rather than built by `providerplugin`, because this
956
+ # definition publishes TWO exports: `provider`, the read half every
957
+ # kind publishes, and `vault`, the programmatic API.
958
+ MINIVAULT = {
959
+ 'name' => 'minivault',
960
+ 'define' => lambda { |inst|
961
+ options = VoxgigSekreto.minivaultoptions(inst.options || {})
962
+
963
+ vault = begin
964
+ # `openvault` refuses bad configuration HERE, so a mistyped
965
+ # chain fails at construction. Reaching the FILE is not
966
+ # configuration: the handle is lazy.
967
+ VoxgigSekreto.openvault(options)
968
+ rescue SekretoError => e
969
+ raise VoxgigPlugin::PluginError.new(
970
+ ERROR_CODE, e.message, { 'ref' => inst.ref, 'cause' => e.message }
971
+ )
972
+ end
973
+
974
+ inst.export(PROVIDER_EXPORT, VoxgigSekreto.providerof(vault))
975
+ inst.export(MiniVaultFormat::VAULT_EXPORT, vault)
976
+ }
977
+ }.freeze
978
+ end
979
+ end