@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,1095 @@
1
+ // VENDORED: @voxgig/sekreto sdk-20260917-1242-0 (kotlin/plugins/Minivault.kt)
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
+ // The mini vault, as a voxgig/plugin definition.
5
+ //
6
+ // A port of typescript/plugins/minivault.ts, which is canonical.
7
+ //
8
+ // PLUGIN CODE, not core: it needs crypto, which is the line the four
9
+ // built-ins stay behind. See docs/design/plugin-providers.md.
10
+ //
11
+ // THE KEY DECIDES WHAT THE VAULT HOLDS. A master key reads and writes
12
+ // every name and mints restricted keys. A restricted key reads the names
13
+ // it was granted and CANNOT DERIVE ANY OTHER - the restriction is the
14
+ // cryptography rather than a check this code performs. What that does and
15
+ // does not protect is set out in DOCS.md under "What the mini vault
16
+ // protects".
17
+ //
18
+ // `javax.crypto` carries all four primitives, so nothing here is
19
+ // hand-rolled (AGENTS.md rule 3).
20
+
21
+ package KOTLINPACKAGE.feature.secrets.sekreto.plugins
22
+
23
+ import KOTLINPACKAGE.feature.secrets.sekreto.Definition
24
+ import KOTLINPACKAGE.feature.secrets.sekreto.ERROR_CODE
25
+ import KOTLINPACKAGE.feature.secrets.sekreto.Json
26
+ import KOTLINPACKAGE.feature.secrets.sekreto.PROVIDER_EXPORT
27
+ import KOTLINPACKAGE.feature.secrets.sekreto.Provider
28
+ import KOTLINPACKAGE.feature.secrets.sekreto.Sekreto
29
+ import KOTLINPACKAGE.feature.secrets.sekreto.SekretoError
30
+ import KOTLINPACKAGE.feature.secrets.sekreto.checkname
31
+ import KOTLINPACKAGE.feature.secrets.sekreto.specof
32
+ import KOTLINPACKAGE.feature.secrets.plugin.Inst
33
+ import KOTLINPACKAGE.feature.secrets.plugin.PluginError
34
+ import java.io.File
35
+ import java.io.IOException
36
+ import java.nio.ByteBuffer
37
+ import java.nio.charset.StandardCharsets
38
+ import java.nio.file.FileAlreadyExistsException
39
+ import java.nio.file.Files
40
+ import java.nio.file.NoSuchFileException
41
+ import java.nio.file.Path
42
+ import java.nio.file.StandardCopyOption
43
+ import java.nio.file.StandardOpenOption
44
+ import java.nio.file.attribute.PosixFilePermissions
45
+ import java.security.GeneralSecurityException
46
+ import java.security.SecureRandom
47
+ import java.util.Base64
48
+ import java.util.TreeMap
49
+ import javax.crypto.Cipher
50
+ import javax.crypto.Mac
51
+ import javax.crypto.SecretKeyFactory
52
+ import javax.crypto.spec.GCMParameterSpec
53
+ import javax.crypto.spec.PBEKeySpec
54
+ import javax.crypto.spec.SecretKeySpec
55
+
56
+ // --- the format ------------------------------------------------------
57
+ //
58
+ // magic 4 'SKMV'
59
+ // version 1 FORMAT
60
+ // kdf 1 1 = PBKDF2-HMAC-SHA256
61
+ // cipher 1 1 = AES-256-GCM
62
+ // reserved 1 0
63
+ // keycount 4 uint32
64
+ // per key:
65
+ // id 1 + bytes the key id, PLAINTEXT
66
+ // salt 1 + bytes
67
+ // iters 4 PBKDF2 rounds for this key
68
+ // ring 1 + iv, 4 + bytes sealed under the passphrase
69
+ // meta 1 + iv, 4 + bytes sealed under the vault's meta key
70
+ // entrycount 4 uint32
71
+ // per entry:
72
+ // id 1 + bytes the blinded lookup id
73
+ // name 1 + iv, 4 + bytes sealed under the vault's name key
74
+ // value 1 + iv, 4 + bytes sealed under that secret's own key
75
+ //
76
+ // Integers are big-endian, and every length precedes its bytes. A file one
77
+ // port writes is read by every other; `test/fixture` pins that with a
78
+ // committed vault rather than with agreement.
79
+
80
+ private const val MAGIC = "SKMV"
81
+ private const val FORMAT = 1
82
+ private const val KDF_PBKDF2 = 1
83
+ private const val CIPHER_AESGCM = 1
84
+
85
+ /** AES-256-GCM: 32-byte keys, 12-byte nonces, 16-byte tags. */
86
+ private const val KEYLEN = 32
87
+ private const val IVLEN = 12
88
+ private const val TAGLEN = 16
89
+ private const val SALTLEN = 16
90
+
91
+ /** PBKDF2-HMAC-SHA256 rounds when a caller names none. */
92
+ const val MINIVAULT_ITERATIONS = 210000
93
+
94
+ /** The key id a vault gets when a caller names none. */
95
+ const val MASTERKEY = "master"
96
+
97
+ // Additional authenticated data. Every blob is bound to its PLACE in the
98
+ // file, so no ciphertext can be moved.
99
+ private const val AAD_RING = "skmv1:ring:"
100
+ private const val AAD_META = "skmv1:meta:"
101
+ private const val AAD_NAME = "skmv1:name"
102
+ private const val AAD_SECRET = "skmv1:secret:"
103
+
104
+ // Everything a master can reach is derived from the root key, so a
105
+ // rotation is one new random value rather than a re-wrap of each part.
106
+ private const val LABEL_NAMES = "skmv1:names"
107
+ private const val LABEL_META = "skmv1:meta"
108
+ private const val LABEL_ID = "skmv1:id"
109
+
110
+ /**
111
+ * The largest key id the format can record.
112
+ *
113
+ * `small` writes a length in ONE byte. A longer id wrapped that byte and
114
+ * the writer then appended the whole thing, so every field after it
115
+ * shifted. Checked where an id is ACCEPTED, so the refusal names the id
116
+ * rather than the file.
117
+ */
118
+ private const val IDMAX = 255
119
+
120
+ /** The export key the vault API is published under, beside `provider`. */
121
+ const val VAULT_EXPORT = "vault"
122
+
123
+ private val RANDOM = SecureRandom()
124
+
125
+ private fun mvfail(text: String): Nothing = throw SekretoError("sekreto: minivault: $text")
126
+
127
+ /**
128
+ * The key a caller asked for, or [MASTERKEY]: an EMPTY key is no key. The
129
+ * canonical's `opts.key || MASTERKEY` answers for both null and empty,
130
+ * where `?:` answers for null alone - and a CLI reaches this with
131
+ * SEKRETO_VAULT_KEY set and empty, which is what an unset shell variable
132
+ * expands to.
133
+ */
134
+ /**
135
+ * The lock every handle on one file shares.
136
+ *
137
+ * Each [MiniVault] is its own object, so two handles on one path did not
138
+ * coordinate: both could finish `load()` before either saved, and the
139
+ * second rename then discarded the first one's change while reporting
140
+ * success. Keyed by the ABSOLUTE path, so two handles spelled differently
141
+ * still meet.
142
+ *
143
+ * A guarantee WITHIN one process, which is what DOCS.md promises and what
144
+ * the go port arranges the same way. Two processes still race, and the
145
+ * format's answer to that is the exclusive create and the atomic rename:
146
+ * a reader sees one whole vault or the other, never half of one.
147
+ */
148
+ private val LOCKS = java.util.concurrent.ConcurrentHashMap<String, Any>()
149
+
150
+ private fun lockfor(file: String): Any {
151
+ val key = try {
152
+ File(file).absoluteFile.normalize().path
153
+ } catch (err: RuntimeException) {
154
+ file
155
+ }
156
+
157
+ return LOCKS.computeIfAbsent(key) { Any() }
158
+ }
159
+
160
+ private fun wantkey(value: String?): String =
161
+ if (value.isNullOrEmpty()) MASTERKEY else value
162
+
163
+ private fun checkid(id: String?, what: String): String {
164
+ if (null == id || id.isEmpty()) {
165
+ mvfail(what)
166
+ }
167
+ if (utf8(id).size > IDMAX) {
168
+ mvfail("key id is longer than $IDMAX bytes: ${id.take(32)}...")
169
+ }
170
+ return id
171
+ }
172
+
173
+ private fun utf8(text: String): ByteArray = text.toByteArray(StandardCharsets.UTF_8)
174
+
175
+ // --- keys ------------------------------------------------------------
176
+
177
+ private fun mvhmac(key: ByteArray, text: String): ByteArray = try {
178
+ Mac.getInstance("HmacSHA256").apply { init(SecretKeySpec(key, "HmacSHA256")) }
179
+ .doFinal(utf8(text))
180
+ } catch (err: GeneralSecurityException) {
181
+ mvfail("hmac: ${err.message}")
182
+ }
183
+
184
+ /** The key-encryption key a passphrase unwraps a ring with. */
185
+ private fun kek(passphrase: String, salt: ByteArray, iters: Int): ByteArray = try {
186
+ SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256")
187
+ .generateSecret(PBEKeySpec(passphrase.toCharArray(), salt, iters, KEYLEN * 8))
188
+ .encoded
189
+ } catch (err: GeneralSecurityException) {
190
+ mvfail("pbkdf2: ${err.message}")
191
+ }
192
+
193
+ /**
194
+ * The key one named secret's value is encrypted with.
195
+ *
196
+ * DERIVED, never stored, for a master: it holds the root key and so
197
+ * reaches every name, including ones written after it was made. A
198
+ * restricted key holds the derived keys it was granted and nothing that
199
+ * produces another.
200
+ */
201
+ private fun secretkey(root: ByteArray, name: String): ByteArray = mvhmac(root, AAD_SECRET + name)
202
+
203
+ /**
204
+ * Where a secret lives in the file, derived from its own key so that
205
+ * finding it needs no plaintext name.
206
+ */
207
+ private fun entryid(key: ByteArray): ByteArray = mvhmac(key, LABEL_ID)
208
+
209
+ private fun random(len: Int): ByteArray = ByteArray(len).also { RANDOM.nextBytes(it) }
210
+
211
+ // --- sealing ---------------------------------------------------------
212
+
213
+ /** A nonce and the ciphertext with its tag appended. */
214
+ private data class Sealed(val iv: ByteArray, val blob: ByteArray) {
215
+ override fun equals(other: Any?): Boolean =
216
+ other is Sealed && iv.contentEquals(other.iv) && blob.contentEquals(other.blob)
217
+
218
+ override fun hashCode(): Int = iv.contentHashCode() * 31 + blob.contentHashCode()
219
+ }
220
+
221
+ private fun seal(key: ByteArray, plain: ByteArray, aad: String): Sealed = try {
222
+ val iv = random(IVLEN)
223
+ val cipher = Cipher.getInstance("AES/GCM/NoPadding")
224
+ cipher.init(Cipher.ENCRYPT_MODE, SecretKeySpec(key, "AES"), GCMParameterSpec(TAGLEN * 8, iv))
225
+ cipher.updateAAD(utf8(aad))
226
+ Sealed(iv, cipher.doFinal(plain))
227
+ } catch (err: GeneralSecurityException) {
228
+ mvfail("cannot seal: ${err.message}")
229
+ }
230
+
231
+ /**
232
+ * The plaintext, or a refusal. A GCM tag that fails to verify is the only
233
+ * evidence there is, and it cannot tell a wrong passphrase from a damaged
234
+ * file, so `what` names the attempt and the message admits both.
235
+ */
236
+ private fun unseal(key: ByteArray, sealed: Sealed, aad: String, what: String): ByteArray {
237
+ if (sealed.blob.size < TAGLEN || IVLEN != sealed.iv.size) {
238
+ mvfail("$what: truncated")
239
+ }
240
+
241
+ // The WHOLE round-trip is guarded, not only the tag check: a nonce of
242
+ // the wrong length makes `init` itself raise, and a damaged file
243
+ // reaching a caller as a raw GeneralSecurityException is a refusal
244
+ // nobody can act on.
245
+ return try {
246
+ val cipher = Cipher.getInstance("AES/GCM/NoPadding")
247
+ cipher.init(
248
+ Cipher.DECRYPT_MODE,
249
+ SecretKeySpec(key, "AES"),
250
+ GCMParameterSpec(TAGLEN * 8, sealed.iv),
251
+ )
252
+ cipher.updateAAD(utf8(aad))
253
+ cipher.doFinal(sealed.blob)
254
+ } catch (err: GeneralSecurityException) {
255
+ mvfail(what)
256
+ } catch (err: RuntimeException) {
257
+ mvfail(what)
258
+ }
259
+ }
260
+
261
+ // THE JSON IS A SEALED CLASS HERE and a plain map everywhere else. This
262
+ // port's `Json` carries `Json.Obj` / `Json.Str` rather than `Any?`, so a
263
+ // ring crosses the boundary twice: `plainof` on the way in, `tagged` on
264
+ // the way out. The bytes are the same either way - the wrapper is this
265
+ // port's representation, not the format's.
266
+ private fun jsonof(plain: ByteArray, what: String): Map<String, Any?> {
267
+ val parsed = Json.parse(String(plain, StandardCharsets.UTF_8))
268
+ ?: mvfail("unreadable $what")
269
+ val obj = parsed as? Json.Obj ?: mvfail("unreadable $what")
270
+ return obj.value.mapValues { plainof(it.value) }
271
+ }
272
+
273
+ private fun plainof(value: Json): Any? = when (value) {
274
+ is Json.Null -> null
275
+ is Json.Bool -> value.value
276
+ is Json.Num -> value.value
277
+ is Json.Str -> value.value
278
+ is Json.Arr -> value.value.map { plainof(it) }
279
+ is Json.Obj -> value.value.mapValues { plainof(it.value) }
280
+ }
281
+
282
+ private fun tagged(value: Any?): Json = when (value) {
283
+ null -> Json.Null
284
+ is Boolean -> Json.Bool(value)
285
+ is Double -> Json.Num(value)
286
+ is Int -> Json.Num(value.toDouble())
287
+ is String -> Json.Str(value)
288
+ is List<*> -> Json.Arr(value.map { tagged(it) })
289
+ is Map<*, *> -> Json.Obj(value.entries.associate { "${it.key}" to tagged(it.value) })
290
+ else -> mvfail("cannot encode $value")
291
+ }
292
+
293
+ private fun stringify(value: Map<String, Any?>): String = Json.stringify(tagged(value))
294
+
295
+ private fun b64(bytes: ByteArray): String = Base64.getEncoder().encodeToString(bytes)
296
+
297
+ private fun unb64(text: Any?, what: String): ByteArray {
298
+ if (text !is String) {
299
+ mvfail("missing $what")
300
+ }
301
+ return try {
302
+ Base64.getDecoder().decode(text)
303
+ } catch (err: IllegalArgumentException) {
304
+ mvfail("missing $what")
305
+ }
306
+ }
307
+
308
+ // --- the file --------------------------------------------------------
309
+
310
+ private class KeyRecord(
311
+ val id: String,
312
+ val salt: ByteArray,
313
+ val iters: Int,
314
+ val ring: Sealed,
315
+ val meta: Sealed,
316
+ )
317
+
318
+ private class EntryRecord(val id: ByteArray, val name: Sealed, var value: Sealed)
319
+
320
+ private class VaultFile(
321
+ val keys: MutableList<KeyRecord> = mutableListOf(),
322
+ val entries: MutableList<EntryRecord> = mutableListOf(),
323
+ )
324
+
325
+ /**
326
+ * A cursor, so that every length check is in one place: a truncated vault
327
+ * is refused rather than read as a short one.
328
+ */
329
+ private class Reader(private val bytes: ByteArray) {
330
+ private var at = 0
331
+
332
+ fun take(len: Int): ByteArray {
333
+ if (len < 0 || bytes.size < at + len) {
334
+ mvfail("the vault file is truncated")
335
+ }
336
+ val out = bytes.copyOfRange(at, at + len)
337
+ at += len
338
+ return out
339
+ }
340
+
341
+ fun u8(): Int = take(1)[0].toInt() and 0xff
342
+
343
+ fun u32(): Int {
344
+ // A length over Int.MAX_VALUE cannot address an array, and reading
345
+ // it as a negative int is what turned a damaged file into a crash
346
+ // instead of a refusal.
347
+ val value = ByteBuffer.wrap(take(4)).int.toLong() and 0xffffffffL
348
+ if (value > Int.MAX_VALUE) {
349
+ mvfail("the vault file is truncated")
350
+ }
351
+ return value.toInt()
352
+ }
353
+
354
+ fun small(): ByteArray = take(u8())
355
+
356
+ fun large(): ByteArray = take(u32())
357
+
358
+ fun magic(): String = String(take(4), StandardCharsets.ISO_8859_1)
359
+
360
+ fun sealedvalue(): Sealed = Sealed(small(), large())
361
+
362
+ fun done(): Boolean = at == bytes.size
363
+ }
364
+
365
+ private fun readfile(bytes: ByteArray): VaultFile {
366
+ val read = Reader(bytes)
367
+
368
+ if (MAGIC != read.magic()) {
369
+ mvfail("not a vault file")
370
+ }
371
+
372
+ val version = read.u8()
373
+ if (FORMAT != version) {
374
+ mvfail("unsupported format version: $version")
375
+ }
376
+
377
+ val kdf = read.u8()
378
+ val cipher = read.u8()
379
+ if (KDF_PBKDF2 != kdf || CIPHER_AESGCM != cipher) {
380
+ mvfail("unsupported kdf or cipher: $kdf/$cipher")
381
+ }
382
+ read.u8()
383
+
384
+ val vault = VaultFile()
385
+
386
+ repeat(read.u32()) {
387
+ vault.keys.add(
388
+ KeyRecord(
389
+ String(read.small(), StandardCharsets.UTF_8),
390
+ read.small(),
391
+ read.u32(),
392
+ read.sealedvalue(),
393
+ read.sealedvalue(),
394
+ ),
395
+ )
396
+ }
397
+
398
+ repeat(read.u32()) {
399
+ vault.entries.add(EntryRecord(read.small(), read.sealedvalue(), read.sealedvalue()))
400
+ }
401
+
402
+ if (!read.done()) {
403
+ mvfail("the vault file has trailing bytes")
404
+ }
405
+
406
+ return vault
407
+ }
408
+
409
+ /** Unsigned, byte by byte, the way every other port sorts. */
410
+ private fun compare(left: ByteArray, right: ByteArray): Int {
411
+ for (index in 0 until minOf(left.size, right.size)) {
412
+ val one = left[index].toInt() and 0xff
413
+ val two = right[index].toInt() and 0xff
414
+ if (one != two) {
415
+ return if (one < two) -1 else 1
416
+ }
417
+ }
418
+ return left.size.compareTo(right.size)
419
+ }
420
+
421
+ private fun writefile(vault: VaultFile): ByteArray {
422
+ val out = java.io.ByteArrayOutputStream()
423
+
424
+ fun raw(bytes: ByteArray) = out.write(bytes)
425
+ fun u8(value: Int) = out.write(value and 0xff)
426
+ fun u32(value: Int) = raw(ByteBuffer.allocate(4).putInt(value).array())
427
+ fun small(bytes: ByteArray) { u8(bytes.size); raw(bytes) }
428
+ fun large(bytes: ByteArray) { u32(bytes.size); raw(bytes) }
429
+ fun sealedvalue(value: Sealed) { small(value.iv); large(value.blob) }
430
+
431
+ raw(MAGIC.toByteArray(StandardCharsets.ISO_8859_1))
432
+ u8(FORMAT)
433
+ u8(KDF_PBKDF2)
434
+ u8(CIPHER_AESGCM)
435
+ u8(0)
436
+
437
+ u32(vault.keys.size)
438
+ for (key in vault.keys) {
439
+ small(utf8(key.id))
440
+ small(key.salt)
441
+ u32(key.iters)
442
+ sealedvalue(key.ring)
443
+ sealedvalue(key.meta)
444
+ }
445
+
446
+ // SORTED BY ID, which is a blinded value: the file therefore records
447
+ // nothing about the order secrets were written in.
448
+ val entries = vault.entries.sortedWith { left, right -> compare(left.id, right.id) }
449
+
450
+ u32(entries.size)
451
+ for (entry in entries) {
452
+ small(entry.id)
453
+ sealedvalue(entry.name)
454
+ sealedvalue(entry.value)
455
+ }
456
+
457
+ return out.toByteArray()
458
+ }
459
+
460
+ // --- what a key is ---------------------------------------------------
461
+
462
+ /**
463
+ * What a key may do. `grants` is empty for a master key.
464
+ *
465
+ * A data class with `val` fields and an immutable list, so what a caller
466
+ * is handed cannot become what the vault believes: `info.write = true`
467
+ * does not compile.
468
+ */
469
+ data class VaultKeyInfo(
470
+ val key: String,
471
+ val master: Boolean,
472
+ val write: Boolean,
473
+ val grants: List<String>,
474
+ )
475
+
476
+ /** What a caller asks for when minting a restricted key. */
477
+ data class GrantSpec(
478
+ val key: String,
479
+ val passphrase: String,
480
+ val names: List<String> = emptyList(),
481
+ val write: Boolean = false,
482
+ val iterations: Int? = null,
483
+ )
484
+
485
+ /** How a vault handle is configured. */
486
+ data class VaultOptions(
487
+ val file: String,
488
+ val passphrase: String,
489
+ val key: String = MASTERKEY,
490
+ val iterations: Int = MINIVAULT_ITERATIONS,
491
+ val create: Boolean = false,
492
+ )
493
+
494
+ private class Opened(
495
+ val info: VaultKeyInfo,
496
+ val root: ByteArray?,
497
+ val grants: Map<String, ByteArray>,
498
+ val ring: Sealed,
499
+ )
500
+
501
+ // --- creating --------------------------------------------------------
502
+
503
+ private fun newvault(keyid: String, passphrase: String, iterations: Int): VaultFile {
504
+ val root = random(KEYLEN)
505
+ val salt = random(SALTLEN)
506
+
507
+ val ring = linkedMapOf<String, Any?>(
508
+ "v" to FORMAT.toDouble(), "write" to true, "root" to b64(root),
509
+ )
510
+ val meta = linkedMapOf<String, Any?>(
511
+ "v" to FORMAT.toDouble(), "master" to true, "write" to true,
512
+ "grants" to emptyList<Any?>(),
513
+ )
514
+
515
+ return VaultFile(
516
+ mutableListOf(
517
+ KeyRecord(
518
+ keyid, salt, iterations,
519
+ seal(kek(passphrase, salt, iterations), utf8(stringify(ring)),
520
+ AAD_RING + keyid),
521
+ seal(mvhmac(root, LABEL_META), utf8(stringify(meta)), AAD_META + keyid),
522
+ ),
523
+ ),
524
+ )
525
+ }
526
+
527
+ private fun owneronly(path: Path) {
528
+ try {
529
+ Files.setPosixFilePermissions(path, PosixFilePermissions.fromString("rw-------"))
530
+ } catch (err: IOException) {
531
+ // A filesystem with no POSIX permissions is not a reason to refuse
532
+ // a write that otherwise succeeded.
533
+ } catch (err: UnsupportedOperationException) {
534
+ // The same.
535
+ }
536
+ }
537
+
538
+ /**
539
+ * Write a vault file that is not there yet, and REFUSE one that is.
540
+ *
541
+ * Straight to the target with CREATE_NEW rather than through a temporary
542
+ * and a rename. A rename REPLACES its destination, so two processes
543
+ * creating the same vault both succeeded and the second discarded the
544
+ * first one's secrets.
545
+ */
546
+ private fun putnew(file: String, vault: VaultFile) {
547
+ val path = Path.of(file)
548
+ try {
549
+ Files.write(path, writefile(vault), StandardOpenOption.CREATE_NEW,
550
+ StandardOpenOption.WRITE)
551
+ owneronly(path)
552
+ } catch (err: FileAlreadyExistsException) {
553
+ mvfail("vault file already exists: $file")
554
+ } catch (err: IOException) {
555
+ mvfail("cannot write $file: ${err.message}")
556
+ }
557
+ }
558
+
559
+ /**
560
+ * A handle on one vault file, opened as ONE key.
561
+ *
562
+ * Every method answers as that key: `list` shows the names it may read,
563
+ * `get` answers for those and misses on the rest, and the master-only
564
+ * methods refuse for any other key. Nothing is read or derived until the
565
+ * first call that needs the file.
566
+ */
567
+ class MiniVault internal constructor(options: VaultOptions) {
568
+
569
+ private val file: String
570
+ private val keyid: String
571
+ private val passphrase: String
572
+ private val iterations: Int
573
+ private val create: Boolean
574
+
575
+ private var opened: Opened? = null
576
+
577
+ init {
578
+ if (options.file.isEmpty()) {
579
+ mvfail("a vault needs a file")
580
+ }
581
+ if (options.passphrase.isEmpty()) {
582
+ mvfail("a vault needs a passphrase")
583
+ }
584
+
585
+ file = options.file
586
+ passphrase = options.passphrase
587
+ keyid = checkid(wantkey(options.key), "a vault needs a key id")
588
+ iterations = options.iterations
589
+ create = options.create
590
+ }
591
+
592
+ /** The file this handle reads. */
593
+ fun file(): String = file
594
+
595
+ /** The key id this handle opens with. */
596
+ fun key(): String = keyid
597
+
598
+ /** Derive the key and read the file NOW rather than at first use. */
599
+ fun open(): VaultKeyInfo = load().second.info
600
+
601
+ /** Forget the derived keys. The next call opens again. */
602
+ fun close() {
603
+ opened = null
604
+ }
605
+
606
+ /** The names this key can read, sorted. */
607
+ fun list(): List<String> {
608
+ val (vault, open) = load()
609
+ val root = open.root
610
+
611
+ if (null != root) {
612
+ val namekey = mvhmac(root, LABEL_NAMES)
613
+ return vault.entries
614
+ .map { String(unseal(namekey, it.name, AAD_NAME, "a secret name is damaged"),
615
+ StandardCharsets.UTF_8) }
616
+ .sorted()
617
+ }
618
+
619
+ // A restricted key has no name key, so it reports the grants it can
620
+ // actually find: the vault never tells it what else is in there.
621
+ return open.info.grants.filter { null != findentry(vault, open.grants[it]) }.sorted()
622
+ }
623
+
624
+ fun has(name: String): Boolean = null != get(name)
625
+
626
+ /**
627
+ * The value, or null when the vault does not hold that name or this key
628
+ * was not granted it.
629
+ */
630
+ fun get(name: String): String? {
631
+ checkname(name)
632
+ val (vault, open) = load()
633
+
634
+ // OUTSIDE THE GRANT IS A MISS, deliberately. The vault answers as
635
+ // the key that opened it, so a name this key cannot read is a name
636
+ // this store does not hold for this caller.
637
+ val key = keyfor(open, name) ?: return null
638
+ val entry = findentry(vault, key) ?: return null
639
+
640
+ return String(
641
+ unseal(key, entry.value, AAD_SECRET + name, "the value of $name is damaged"),
642
+ StandardCharsets.UTF_8,
643
+ )
644
+ }
645
+
646
+ /**
647
+ * Write a value. A master writes any name; a restricted key holding
648
+ * `write` overwrites the names it was granted, and creates none.
649
+ */
650
+ fun set(name: String, value: String) {
651
+ // Every write on this file, from any handle in this process,
652
+ // serializes here; see lockfor.
653
+ synchronized(lockfor(file)) {
654
+ checkname(name)
655
+ val (vault, open) = load()
656
+
657
+ if (!open.info.write) {
658
+ mvfail("key ${open.info.key} is read-only")
659
+ }
660
+
661
+ val key = keyfor(open, name) ?: mvfail("key ${open.info.key} was not granted $name")
662
+ val sealedvalue = seal(key, utf8(value), AAD_SECRET + name)
663
+ val found = findentry(vault, key)
664
+
665
+ if (null != found) {
666
+ found.value = sealedvalue
667
+ } else {
668
+ // A NEW NAME NEEDS THE NAME KEY, which only a master holds. So a
669
+ // restricted key with `write` updates what it was granted and
670
+ // cannot grow the vault.
671
+ val root = rootof(open, "creating the secret $name")
672
+ vault.entries.add(
673
+ EntryRecord(
674
+ entryid(key),
675
+ seal(mvhmac(root, LABEL_NAMES), utf8(name), AAD_NAME),
676
+ sealedvalue,
677
+ ),
678
+ )
679
+ }
680
+
681
+ save(vault)
682
+ }
683
+ }
684
+
685
+ /** Drop a name. Master only. */
686
+ fun remove(name: String) {
687
+ // Every write on this file, from any handle in this process,
688
+ // serializes here; see lockfor.
689
+ synchronized(lockfor(file)) {
690
+ checkname(name)
691
+ val (vault, open) = load()
692
+ val root = rootof(open, "removing a secret")
693
+
694
+ val wanted = entryid(secretkey(root, name))
695
+ val found = vault.entries.firstOrNull { it.id.contentEquals(wanted) }
696
+ ?: mvfail("no such secret: $name")
697
+
698
+ vault.entries.remove(found)
699
+ save(vault)
700
+ }
701
+ }
702
+
703
+ /** Every key in the file, with what it may do. Master only. */
704
+ fun keys(): List<VaultKeyInfo> {
705
+ val (vault, open) = load()
706
+ rootof(open, "listing the keys")
707
+
708
+ return vault.keys.map { record ->
709
+ val meta = metaof(open, record)
710
+ ?: return@map VaultKeyInfo(record.id, false, false, emptyList())
711
+
712
+ val grants = (meta["grants"] as? List<*>)?.map { "$it" }?.sorted() ?: emptyList()
713
+
714
+ VaultKeyInfo(record.id, true == meta["master"], true == meta["write"], grants)
715
+ }
716
+ }
717
+
718
+ /** Mint a restricted key. Master only. */
719
+ fun grant(spec: GrantSpec) {
720
+ // Every write on this file, from any handle in this process,
721
+ // serializes here; see lockfor.
722
+ synchronized(lockfor(file)) {
723
+ val (vault, open) = load()
724
+ val root = rootof(open, "granting a key")
725
+
726
+ val id = checkid(spec.key, "a grant needs a key id")
727
+ if (spec.passphrase.isEmpty()) {
728
+ mvfail("a grant needs a passphrase")
729
+ }
730
+ if (vault.keys.any { it.id == id }) {
731
+ mvfail("key already exists: $id")
732
+ }
733
+
734
+ val names = spec.names.sorted()
735
+
736
+ // A TreeMap, for a ring whose JSON is the same text on every run.
737
+ // It is NOT an interop requirement - the ring is sealed under a
738
+ // fresh nonce, so its ciphertext differs per write whatever the key
739
+ // order is. It is so that two runs of this port over the same grant
740
+ // produce the same plaintext.
741
+ val grants = TreeMap<String, Any?>()
742
+ for (name in names) {
743
+ checkname(name)
744
+ grants[name] = b64(secretkey(root, name))
745
+ }
746
+
747
+ vault.keys.add(
748
+ sealkey(
749
+ root, id, spec.passphrase, spec.iterations ?: iterations,
750
+ linkedMapOf("v" to FORMAT.toDouble(), "write" to spec.write,
751
+ "grants" to LinkedHashMap(grants)),
752
+ linkedMapOf("v" to FORMAT.toDouble(), "master" to false,
753
+ "write" to spec.write, "grants" to names),
754
+ ),
755
+ )
756
+
757
+ save(vault)
758
+ }
759
+ }
760
+
761
+ /**
762
+ * Drop a key. Master only.
763
+ *
764
+ * Anyone who already copied the file keeps whatever that key could
765
+ * read, so revoking bars future reads of the LIVE file and `rotate` is
766
+ * what takes a secret back.
767
+ */
768
+ fun revoke(key: String) {
769
+ // Every write on this file, from any handle in this process,
770
+ // serializes here; see lockfor.
771
+ synchronized(lockfor(file)) {
772
+ val (vault, open) = load()
773
+ rootof(open, "revoking a key")
774
+
775
+ if (key == open.info.key) {
776
+ mvfail("a key cannot revoke itself: $key")
777
+ }
778
+
779
+ val found = vault.keys.firstOrNull { it.id == key } ?: mvfail("no such key: $key")
780
+ vault.keys.remove(found)
781
+ save(vault)
782
+ }
783
+ }
784
+
785
+ /**
786
+ * A new root key, every value re-encrypted under it, and EVERY OTHER
787
+ * KEY DROPPED. Master only.
788
+ *
789
+ * The other keys go because they must: their rings are sealed under
790
+ * passphrases this process does not have. Re-grant afterwards.
791
+ */
792
+ fun rotate() {
793
+ // Every write on this file, from any handle in this process,
794
+ // serializes here; see lockfor.
795
+ synchronized(lockfor(file)) {
796
+ val (vault, open) = load()
797
+ rootof(open, "rotating the vault")
798
+
799
+ // Read everything out under the old root before anything changes:
800
+ // once the root is replaced the old derived keys are unreachable.
801
+ val plain = list().map { it to (get(it) ?: "") }
802
+
803
+ val root = random(KEYLEN)
804
+ val namekey = mvhmac(root, LABEL_NAMES)
805
+
806
+ val fresh = VaultFile()
807
+ for ((name, value) in plain) {
808
+ val key = secretkey(root, name)
809
+ fresh.entries.add(
810
+ EntryRecord(
811
+ entryid(key),
812
+ seal(namekey, utf8(name), AAD_NAME),
813
+ seal(key, utf8(value), AAD_SECRET + name),
814
+ ),
815
+ )
816
+ }
817
+
818
+ val iters = vault.keys.firstOrNull { it.id == keyid }?.iters ?: iterations
819
+
820
+ val record = sealkey(
821
+ root, keyid, passphrase, iters,
822
+ linkedMapOf("v" to FORMAT.toDouble(), "write" to true, "root" to b64(root)),
823
+ linkedMapOf("v" to FORMAT.toDouble(), "master" to true, "write" to true,
824
+ "grants" to emptyList<Any?>()),
825
+ )
826
+ fresh.keys.add(record)
827
+
828
+ // SAVE FIRST, adopt second. A handle holding the new root over a
829
+ // file that still holds the old one reads nothing and says the
830
+ // vault is damaged.
831
+ write(fresh)
832
+
833
+ opened = Opened(
834
+ VaultKeyInfo(keyid, true, true, emptyList()), root, emptyMap(), record.ring,
835
+ )
836
+ }
837
+ }
838
+
839
+ // --- the inside ----------------------------------------------------
840
+
841
+ private fun bytes(): ByteArray = try {
842
+ Files.readAllBytes(Path.of(file))
843
+ } catch (err: NoSuchFileException) {
844
+ // A vault is configured deliberately, with a key. Its absence is a
845
+ // broken deployment and never "no secrets here": answering a miss
846
+ // would send the chain on to a weaker store.
847
+ if (!create) {
848
+ mvfail("no vault file: $file")
849
+ }
850
+ putnew(file, newvault(keyid, passphrase, iterations))
851
+ try {
852
+ Files.readAllBytes(Path.of(file))
853
+ } catch (again: IOException) {
854
+ mvfail("cannot read $file: ${again.message}")
855
+ }
856
+ } catch (err: IOException) {
857
+ mvfail("cannot read $file: ${err.message}")
858
+ }
859
+
860
+ private fun load(): Pair<VaultFile, Opened> {
861
+ val vault = readfile(bytes())
862
+
863
+ val record = vault.keys.firstOrNull { it.id == keyid }
864
+ if (null == record) {
865
+ // REVOKED, or never there. Either way this handle is finished,
866
+ // and dropping what it derived is what stops the next call
867
+ // answering from memory.
868
+ opened = null
869
+ mvfail("no such key: $keyid")
870
+ }
871
+
872
+ // The file still holds this key, and holds the SAME ring: a key
873
+ // revoked and re-granted under another passphrase is a different key
874
+ // wearing the id, and re-deriving is what refuses it.
875
+ val held = opened
876
+ if (null != held && held.ring == record.ring) {
877
+ return vault to held
878
+ }
879
+ opened = null
880
+
881
+ val plain = unseal(
882
+ kek(passphrase, record.salt, record.iters), record.ring, AAD_RING + keyid,
883
+ "wrong passphrase for key $keyid, or a damaged vault",
884
+ )
885
+
886
+ val ring = jsonof(plain, "key ring for $keyid")
887
+
888
+ val grants = LinkedHashMap<String, ByteArray>()
889
+ (ring["grants"] as? Map<*, *>)?.forEach { (name, key) ->
890
+ grants["$name"] = unb64(key, "a granted key")
891
+ }
892
+
893
+ val root = ring["root"]
894
+
895
+ val next = Opened(
896
+ VaultKeyInfo(
897
+ keyid, null != root, null != root || true == ring["write"],
898
+ grants.keys.sorted(),
899
+ ),
900
+ if (null == root) null else unb64(root, "the root key"),
901
+ grants,
902
+ record.ring,
903
+ )
904
+ opened = next
905
+
906
+ return vault to next
907
+ }
908
+
909
+ private fun rootof(open: Opened, what: String): ByteArray =
910
+ open.root ?: mvfail("$what needs a master key, and ${open.info.key} is restricted")
911
+
912
+ /** The key for one name, or null when this key cannot reach it. */
913
+ private fun keyfor(open: Opened, name: String): ByteArray? {
914
+ val root = open.root
915
+ return if (null != root) secretkey(root, name) else open.grants[name]
916
+ }
917
+
918
+ private fun findentry(vault: VaultFile, key: ByteArray?): EntryRecord? {
919
+ if (null == key) {
920
+ return null
921
+ }
922
+ val id = entryid(key)
923
+ return vault.entries.firstOrNull { it.id.contentEquals(id) }
924
+ }
925
+
926
+ private fun metaof(open: Opened, record: KeyRecord): Map<String, Any?>? {
927
+ val root = rootof(open, "reading key metadata")
928
+ val what = "metadata for key ${record.id}"
929
+
930
+ return try {
931
+ jsonof(unseal(mvhmac(root, LABEL_META), record.meta, AAD_META + record.id, what), what)
932
+ } catch (err: SekretoError) {
933
+ // A record written under a root key this one has replaced. The
934
+ // key is still in the file and still opens with its own
935
+ // passphrase, so it is reported rather than hidden - with what
936
+ // it can do unknown.
937
+ null
938
+ }
939
+ }
940
+
941
+ private fun sealkey(
942
+ root: ByteArray,
943
+ id: String,
944
+ phrase: String,
945
+ iters: Int,
946
+ ring: Map<String, Any?>,
947
+ meta: Map<String, Any?>,
948
+ ): KeyRecord {
949
+ val salt = random(SALTLEN)
950
+ return KeyRecord(
951
+ id, salt, iters,
952
+ seal(kek(phrase, salt, iters), utf8(stringify(ring)), AAD_RING + id),
953
+ seal(mvhmac(root, LABEL_META), utf8(stringify(meta)), AAD_META + id),
954
+ )
955
+ }
956
+
957
+ private fun save(vault: VaultFile) = write(vault)
958
+
959
+ /**
960
+ * Read, change, and REPLACE - never edit in place.
961
+ *
962
+ * THE TEMPORARY IS RANDOM AND EXCLUSIVE. `<vault>.<pid>.tmp` is a name
963
+ * anyone can predict, so anyone who can write the vault's directory
964
+ * could put a symlink there and have the next save truncate whatever it
965
+ * pointed at.
966
+ */
967
+ private fun write(vault: VaultFile) {
968
+ val temp = Path.of(file + "." + random(8).joinToString("") {
969
+ "%02x".format(it.toInt() and 0xff)
970
+ } + ".tmp")
971
+
972
+ try {
973
+ Files.write(temp, writefile(vault), StandardOpenOption.CREATE_NEW,
974
+ StandardOpenOption.WRITE)
975
+ owneronly(temp)
976
+ Files.move(temp, Path.of(file), StandardCopyOption.REPLACE_EXISTING)
977
+ } catch (err: IOException) {
978
+ try {
979
+ Files.deleteIfExists(temp)
980
+ } catch (ignored: IOException) {
981
+ // The vault is unchanged either way, and the write error is
982
+ // what the caller needs to be told about.
983
+ }
984
+ mvfail("cannot write $file: ${err.message}")
985
+ }
986
+ }
987
+ }
988
+
989
+ /**
990
+ * Open a vault file as one key.
991
+ *
992
+ * The handle is lazy. Nothing is read, and no passphrase is stretched,
993
+ * until a method needs the file.
994
+ */
995
+ fun openvault(options: VaultOptions): MiniVault = MiniVault(options)
996
+
997
+ /**
998
+ * Make a vault file and return a handle on its master key.
999
+ *
1000
+ * Refuses a file that is already there: a vault is created once, and
1001
+ * overwriting one discards every secret in it.
1002
+ */
1003
+ fun createvault(options: VaultOptions): MiniVault {
1004
+ if (options.file.isEmpty()) {
1005
+ mvfail("a vault needs a file")
1006
+ }
1007
+ if (options.passphrase.isEmpty()) {
1008
+ mvfail("a vault needs a passphrase")
1009
+ }
1010
+ val keyid = checkid(wantkey(options.key), "a vault needs a key id")
1011
+
1012
+ // No existence check first: the check and the write would be two steps,
1013
+ // and `putnew` refuses an existing file in ONE.
1014
+ putnew(options.file, newvault(keyid, options.passphrase, options.iterations))
1015
+
1016
+ return MiniVault(options)
1017
+ }
1018
+
1019
+ // --- the provider ----------------------------------------------------
1020
+
1021
+ /**
1022
+ * Read a vault as one store in a chain.
1023
+ *
1024
+ * The provider is the READ half and nothing more: a chain resolves
1025
+ * secrets, and writing one is a deliberate act with an API of its own.
1026
+ */
1027
+ fun providerof(vault: MiniVault): Provider = object : Provider {
1028
+ override fun lookup(name: String): String? = vault.get(name)
1029
+
1030
+ override fun describe(): String = "minivault:${vault.file()}"
1031
+ }
1032
+
1033
+ /** A vault provider from options, for a chain built by hand. */
1034
+ fun minivaultprovider(options: VaultOptions): Provider = providerof(openvault(options))
1035
+
1036
+ /**
1037
+ * The `minivault` provider kind, as a voxgig/plugin definition.
1038
+ *
1039
+ * Written out rather than built by `providerplugin`, because this
1040
+ * definition publishes TWO exports: `provider`, the read half every kind
1041
+ * publishes, and `vault`, the programmatic API.
1042
+ */
1043
+ val minivault: Definition = mapOf(
1044
+ "name" to "minivault",
1045
+ "define" to { inst: Inst ->
1046
+ val spec = specof(inst.options)
1047
+
1048
+ val vault = try {
1049
+ // `openvault` refuses bad configuration HERE, so a mistyped
1050
+ // chain fails at construction. Reaching the FILE is not
1051
+ // configuration: the handle is lazy.
1052
+ openvault(
1053
+ VaultOptions(
1054
+ file = spec.file ?: "",
1055
+ passphrase = spec.passphrase ?: "",
1056
+ key = wantkey(spec.vaultkey),
1057
+ iterations = spec.iterations ?: MINIVAULT_ITERATIONS,
1058
+ create = true == spec.create,
1059
+ ),
1060
+ )
1061
+ } catch (err: SekretoError) {
1062
+ val text = err.message ?: ""
1063
+ throw PluginError(ERROR_CODE, text, mapOf("ref" to inst.ref, "cause" to text))
1064
+ }
1065
+
1066
+ inst.export(PROVIDER_EXPORT, providerof(vault))
1067
+ inst.export(VAULT_EXPORT, vault)
1068
+ },
1069
+ )
1070
+
1071
+ /**
1072
+ * The vault behind a store in a chain, as its programmatic API.
1073
+ *
1074
+ * With no store named, the unqualified alias answers: one vault in the
1075
+ * chain resolves whatever it is called, and two raise rather than picking
1076
+ * one.
1077
+ */
1078
+ fun vaultof(secrets: Sekreto, store: String? = null): MiniVault {
1079
+ if (null == store) {
1080
+ return secrets.host.exports("minivault/$VAULT_EXPORT") as? MiniVault
1081
+ ?: mvfail("no minivault store in this chain")
1082
+ }
1083
+
1084
+ // A NAMED STORE MUST EXIST, and the alias must not stand in for it.
1085
+ // `host.exports` falls back to the alias when the exact ref misses, so
1086
+ // asking for `minivault` in a chain whose only vault is named `app`
1087
+ // used to hand back the `app` vault - and then write to it.
1088
+ val ref = if ("minivault" == store) "minivault" else "minivault\$$store"
1089
+
1090
+ if (null == secrets.host.instance(ref)) {
1091
+ mvfail("no minivault store named $store in this chain")
1092
+ }
1093
+
1094
+ return secrets.host.exports("$ref/$VAULT_EXPORT") as MiniVault
1095
+ }