@voxgig/sdkgen 4.19.1 → 4.21.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 (1034) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/dist/helpers/applicability.js +11 -6
  3. package/dist/helpers/applicability.js.map +1 -1
  4. package/dist/helpers/collectDeps.js +31 -6
  5. package/dist/helpers/collectDeps.js.map +1 -1
  6. package/dist/helpers/naming.js +2 -2
  7. package/dist/helpers/naming.js.map +1 -1
  8. package/dist/sdkgen.d.ts +2 -2
  9. package/dist/sdkgen.js +6 -3
  10. package/dist/sdkgen.js.map +1 -1
  11. package/dist/tsconfig.tsbuildinfo +1 -1
  12. package/dist/utility.d.ts +4 -1
  13. package/dist/utility.js +60 -0
  14. package/dist/utility.js.map +1 -1
  15. package/model/sdkgen.aon +59 -3
  16. package/package.json +1 -1
  17. package/project/.sdk/model/feature/secrets.aon +128 -0
  18. package/project/.sdk/model/feature/validate.aon +3 -2
  19. package/project/.sdk/model/target/c.aon +1 -1
  20. package/project/.sdk/model/target/clojure.aon +1 -1
  21. package/project/.sdk/model/target/cpp.aon +1 -1
  22. package/project/.sdk/model/target/csharp.aon +1 -1
  23. package/project/.sdk/model/target/elixir.aon +1 -1
  24. package/project/.sdk/model/target/go.aon +1 -1
  25. package/project/.sdk/model/target/java.aon +1 -1
  26. package/project/.sdk/model/target/kotlin.aon +1 -1
  27. package/project/.sdk/model/target/lua.aon +1 -1
  28. package/project/.sdk/model/target/ocaml.aon +1 -1
  29. package/project/.sdk/model/target/perl.aon +1 -1
  30. package/project/.sdk/model/target/php.aon +1 -1
  31. package/project/.sdk/model/target/py.aon +1 -1
  32. package/project/.sdk/model/target/rb.aon +1 -1
  33. package/project/.sdk/model/target/rust.aon +1 -1
  34. package/project/.sdk/model/target/scala.aon +1 -1
  35. package/project/.sdk/model/target/swift.aon +1 -1
  36. package/project/.sdk/model/target/zig.aon +1 -1
  37. package/project/.sdk/src/cmp/c/Config_c.ts +15 -0
  38. package/project/.sdk/src/cmp/c/Main_c.ts +18 -0
  39. package/project/.sdk/src/cmp/c/PrepareAuth_c.ts +371 -0
  40. package/project/.sdk/src/cmp/c/Schema_c.ts +106 -0
  41. package/project/.sdk/src/cmp/clojure/Config_clojure.ts +47 -1
  42. package/project/.sdk/src/cmp/clojure/Main_clojure.ts +13 -1
  43. package/project/.sdk/src/cmp/clojure/PrepareAuth_clojure.ts +374 -0
  44. package/project/.sdk/src/cmp/clojure/ReadmeExplanation_clojure.ts +1 -0
  45. package/project/.sdk/src/cmp/clojure/Schema_clojure.ts +73 -0
  46. package/project/.sdk/src/cmp/cpp/Config_cpp.ts +40 -0
  47. package/project/.sdk/src/cmp/cpp/Main_cpp.ts +20 -0
  48. package/project/.sdk/src/cmp/cpp/PrepareAuth_cpp.ts +441 -0
  49. package/project/.sdk/src/cmp/cpp/Schema_cpp.ts +105 -0
  50. package/project/.sdk/src/cmp/csharp/Config_csharp.ts +42 -1
  51. package/project/.sdk/src/cmp/csharp/Main_csharp.ts +21 -0
  52. package/project/.sdk/src/cmp/csharp/PrepareAuth_csharp.ts +392 -0
  53. package/project/.sdk/src/cmp/csharp/Schema_csharp.ts +85 -0
  54. package/project/.sdk/src/cmp/elixir/Config_elixir.ts +36 -1
  55. package/project/.sdk/src/cmp/elixir/Main_elixir.ts +17 -0
  56. package/project/.sdk/src/cmp/elixir/PrepareAuth_elixir.ts +418 -0
  57. package/project/.sdk/src/cmp/elixir/ReadmeExplanation_elixir.ts +1 -0
  58. package/project/.sdk/src/cmp/elixir/Schema_elixir.ts +88 -0
  59. package/project/.sdk/src/cmp/go/Config_go.ts +12 -1
  60. package/project/.sdk/src/cmp/go/Main_go.ts +16 -0
  61. package/project/.sdk/src/cmp/go/PrepareAuth_go.ts +322 -0
  62. package/project/.sdk/src/cmp/go/Schema_go.ts +93 -0
  63. package/project/.sdk/src/cmp/java/Config_java.ts +20 -1
  64. package/project/.sdk/src/cmp/java/Main_java.ts +16 -0
  65. package/project/.sdk/src/cmp/java/PrepareAuth_java.ts +298 -0
  66. package/project/.sdk/src/cmp/java/Schema_java.ts +125 -0
  67. package/project/.sdk/src/cmp/js/Config_js.ts +12 -1
  68. package/project/.sdk/src/cmp/js/Main_js.ts +6 -0
  69. package/project/.sdk/src/cmp/js/PrepareAuth_js.ts +244 -0
  70. package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +23 -1
  71. package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +22 -0
  72. package/project/.sdk/src/cmp/kotlin/PrepareAuth_kotlin.ts +440 -0
  73. package/project/.sdk/src/cmp/kotlin/Schema_kotlin.ts +111 -0
  74. package/project/.sdk/src/cmp/lua/Config_lua.ts +15 -1
  75. package/project/.sdk/src/cmp/lua/Main_lua.ts +57 -9
  76. package/project/.sdk/src/cmp/lua/Package_lua.ts +1 -0
  77. package/project/.sdk/src/cmp/lua/PrepareAuth_lua.ts +364 -0
  78. package/project/.sdk/src/cmp/lua/ReadmeExplanation_lua.ts +1 -0
  79. package/project/.sdk/src/cmp/lua/Schema_lua.ts +72 -0
  80. package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +55 -2
  81. package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +53 -13
  82. package/project/.sdk/src/cmp/ocaml/PrepareAuth_ocaml.ts +454 -0
  83. package/project/.sdk/src/cmp/ocaml/ReadmeExplanation_ocaml.ts +1 -0
  84. package/project/.sdk/src/cmp/ocaml/Schema_ocaml.ts +99 -0
  85. package/project/.sdk/src/cmp/perl/Config_perl.ts +30 -0
  86. package/project/.sdk/src/cmp/perl/Main_perl.ts +16 -0
  87. package/project/.sdk/src/cmp/perl/PrepareAuth_perl.ts +387 -0
  88. package/project/.sdk/src/cmp/perl/ReadmeExplanation_perl.ts +1 -0
  89. package/project/.sdk/src/cmp/perl/Schema_perl.ts +107 -0
  90. package/project/.sdk/src/cmp/php/Config_php.ts +12 -1
  91. package/project/.sdk/src/cmp/php/Main_php.ts +9 -0
  92. package/project/.sdk/src/cmp/php/Package_php.ts +1 -1
  93. package/project/.sdk/src/cmp/php/PrepareAuth_php.ts +325 -0
  94. package/project/.sdk/src/cmp/php/ReadmeExplanation_php.ts +1 -0
  95. package/project/.sdk/src/cmp/php/Schema_php.ts +129 -0
  96. package/project/.sdk/src/cmp/py/Config_py.ts +12 -1
  97. package/project/.sdk/src/cmp/py/Main_py.ts +14 -0
  98. package/project/.sdk/src/cmp/py/PrepareAuth_py.ts +389 -0
  99. package/project/.sdk/src/cmp/py/ReadmeExplanation_py.ts +1 -0
  100. package/project/.sdk/src/cmp/py/Schema_py.ts +72 -0
  101. package/project/.sdk/src/cmp/rb/Config_rb.ts +18 -1
  102. package/project/.sdk/src/cmp/rb/Main_rb.ts +12 -0
  103. package/project/.sdk/src/cmp/rb/PrepareAuth_rb.ts +305 -0
  104. package/project/.sdk/src/cmp/rb/ReadmeExplanation_rb.ts +1 -0
  105. package/project/.sdk/src/cmp/rb/Schema_rb.ts +70 -0
  106. package/project/.sdk/src/cmp/rust/Config_rust.ts +41 -1
  107. package/project/.sdk/src/cmp/rust/Main_rust.ts +19 -0
  108. package/project/.sdk/src/cmp/rust/PrepareAuth_rust.ts +410 -0
  109. package/project/.sdk/src/cmp/rust/Schema_rust.ts +107 -0
  110. package/project/.sdk/src/cmp/scala/Config_scala.ts +21 -1
  111. package/project/.sdk/src/cmp/scala/Main_scala.ts +17 -0
  112. package/project/.sdk/src/cmp/scala/PrepareAuth_scala.ts +415 -0
  113. package/project/.sdk/src/cmp/scala/Schema_scala.ts +108 -0
  114. package/project/.sdk/src/cmp/swift/Config_swift.ts +37 -1
  115. package/project/.sdk/src/cmp/swift/Main_swift.ts +13 -0
  116. package/project/.sdk/src/cmp/swift/PrepareAuth_swift.ts +439 -0
  117. package/project/.sdk/src/cmp/swift/Schema_swift.ts +92 -0
  118. package/project/.sdk/src/cmp/ts/Config_ts.ts +12 -1
  119. package/project/.sdk/src/cmp/ts/Main_ts.ts +5 -0
  120. package/project/.sdk/src/cmp/ts/PrepareAuth_ts.ts +237 -0
  121. package/project/.sdk/src/cmp/zig/Config_zig.ts +33 -1
  122. package/project/.sdk/src/cmp/zig/Main_zig.ts +19 -0
  123. package/project/.sdk/src/cmp/zig/PrepareAuth_zig.ts +545 -0
  124. package/project/.sdk/src/cmp/zig/Schema_zig.ts +114 -0
  125. package/project/.sdk/tm/c/core/context.c +3 -0
  126. package/project/.sdk/tm/c/core/sdk.h +14 -0
  127. package/project/.sdk/tm/c/feature/secrets/plugin/capability.c +2 -2
  128. package/project/.sdk/tm/c/feature/secrets/plugin/capability.h +2 -2
  129. package/project/.sdk/tm/c/feature/secrets/plugin/catalog.c +2 -2
  130. package/project/.sdk/tm/c/feature/secrets/plugin/catalog.h +2 -2
  131. package/project/.sdk/tm/c/feature/secrets/plugin/config.c +2 -2
  132. package/project/.sdk/tm/c/feature/secrets/plugin/config.h +2 -2
  133. package/project/.sdk/tm/c/feature/secrets/plugin/depend.c +2 -2
  134. package/project/.sdk/tm/c/feature/secrets/plugin/depend.h +2 -2
  135. package/project/.sdk/tm/c/feature/secrets/plugin/env.c +2 -2
  136. package/project/.sdk/tm/c/feature/secrets/plugin/env.h +2 -2
  137. package/project/.sdk/tm/c/feature/secrets/plugin/export.c +3 -3
  138. package/project/.sdk/tm/c/feature/secrets/plugin/export.h +2 -2
  139. package/project/.sdk/tm/c/feature/secrets/plugin/graph.c +2 -2
  140. package/project/.sdk/tm/c/feature/secrets/plugin/graph.h +2 -2
  141. package/project/.sdk/tm/c/feature/secrets/plugin/host.c +25 -2
  142. package/project/.sdk/tm/c/feature/secrets/plugin/host.h +3 -2
  143. package/project/.sdk/tm/c/feature/secrets/plugin/order.c +2 -2
  144. package/project/.sdk/tm/c/feature/secrets/plugin/order.h +2 -2
  145. package/project/.sdk/tm/c/feature/secrets/plugin/point.c +2 -2
  146. package/project/.sdk/tm/c/feature/secrets/plugin/point.h +2 -2
  147. package/project/.sdk/tm/c/feature/secrets/plugin/ref.c +2 -2
  148. package/project/.sdk/tm/c/feature/secrets/plugin/ref.h +2 -2
  149. package/project/.sdk/tm/c/feature/secrets/plugin/resolve.c +2 -2
  150. package/project/.sdk/tm/c/feature/secrets/plugin/resolve.h +2 -2
  151. package/project/.sdk/tm/c/feature/secrets/plugin/types.c +2 -2
  152. package/project/.sdk/tm/c/feature/secrets/plugin/types.h +2 -2
  153. package/project/.sdk/tm/c/feature/secrets/plugin/value.c +2 -2
  154. package/project/.sdk/tm/c/feature/secrets/plugin/value.h +2 -2
  155. package/project/.sdk/tm/c/feature/secrets/plugin/version.c +2 -2
  156. package/project/.sdk/tm/c/feature/secrets/plugin/version.h +2 -2
  157. package/project/.sdk/tm/c/feature/secrets/plugins/aws.c +2 -2
  158. package/project/.sdk/tm/c/feature/secrets/plugins/azuresecrets.c +2 -2
  159. package/project/.sdk/tm/c/feature/secrets/plugins/boru.c +2 -2
  160. package/project/.sdk/tm/c/feature/secrets/plugins/clock.c +2 -2
  161. package/project/.sdk/tm/c/feature/secrets/plugins/doppler.c +2 -2
  162. package/project/.sdk/tm/c/feature/secrets/plugins/encode.c +2 -2
  163. package/project/.sdk/tm/c/feature/secrets/plugins/gcpsecrets.c +2 -2
  164. package/project/.sdk/tm/c/feature/secrets/plugins/hashicorp.c +2 -2
  165. package/project/.sdk/tm/c/feature/secrets/plugins/httpjson.c +2 -2
  166. package/project/.sdk/tm/c/feature/secrets/plugins/infisical.c +2 -2
  167. package/project/.sdk/tm/c/feature/secrets/plugins/minivault.c +2072 -0
  168. package/project/.sdk/tm/c/feature/secrets/plugins/onepassword.c +2 -2
  169. package/project/.sdk/tm/c/feature/secrets/plugins/proc.c +2 -2
  170. package/project/.sdk/tm/c/feature/secrets/plugins/secretspec.c +2 -2
  171. package/project/.sdk/tm/c/feature/secrets/plugins/sekretoplugins.h +151 -10
  172. package/project/.sdk/tm/c/feature/secrets/plugins/sha256.c +16 -10
  173. package/project/.sdk/tm/c/feature/secrets/plugins/sigv4.c +2 -2
  174. package/project/.sdk/tm/c/feature/secrets/plugins/support.h +12 -8
  175. package/project/.sdk/tm/c/feature/secrets/plugins/tls.c +2 -2
  176. package/project/.sdk/tm/c/feature/secrets/sekreto/internal.h +17 -2
  177. package/project/.sdk/tm/c/feature/secrets/sekreto/json.c +5 -5
  178. package/project/.sdk/tm/c/feature/secrets/sekreto/providers.c +37 -9
  179. package/project/.sdk/tm/c/feature/secrets/sekreto/sekreto.c +2 -2
  180. package/project/.sdk/tm/c/feature/secrets/sekreto/sekreto.h +17 -2
  181. package/project/.sdk/tm/c/feature/secrets/sekreto/util.c +16 -2
  182. package/project/.sdk/tm/c/feature/validate.c +364 -0
  183. package/project/.sdk/tm/c/feature/validate.h +29 -0
  184. package/project/.sdk/tm/c/src/feature/validate/.gitkeep +0 -0
  185. package/project/.sdk/tm/c/tests/vendor/omni/json.c +2 -2
  186. package/project/.sdk/tm/c/tests/vendor/omni/omni.h +2 -2
  187. package/project/.sdk/tm/c/tests/vendor/omni/runner.c +2 -2
  188. package/project/.sdk/tm/c/tests/vendor/omni/util.c +2 -2
  189. package/project/.sdk/tm/c/utility/make_options.c +12 -24
  190. package/project/.sdk/tm/c/utility/make_spec.c +8 -0
  191. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/capability.clj +2 -2
  192. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/catalog.clj +2 -2
  193. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/config.clj +2 -2
  194. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/depend.clj +2 -2
  195. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/env.clj +2 -2
  196. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/export.clj +3 -3
  197. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/graph.clj +2 -2
  198. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/host.clj +17 -2
  199. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/json.clj +2 -2
  200. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/order.clj +2 -2
  201. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/point.clj +2 -2
  202. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/ref.clj +2 -2
  203. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/resolve.clj +2 -2
  204. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/types.clj +2 -2
  205. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/version.clj +2 -2
  206. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin.clj +2 -2
  207. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/addr.clj +2 -2
  208. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/chain.clj +2 -2
  209. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/core.clj +2 -2
  210. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/json.clj +2 -2
  211. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/aws.clj +2 -2
  212. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/azuresecrets.clj +2 -2
  213. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/boru.clj +2 -2
  214. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/doppler.clj +2 -2
  215. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/gcpsecrets.clj +2 -2
  216. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/hashicorp.clj +2 -2
  217. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/httpjson.clj +2 -2
  218. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/infisical.clj +2 -2
  219. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/minivault.clj +837 -0
  220. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/onepassword.clj +2 -2
  221. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/proc.clj +2 -2
  222. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/secretspec.clj +2 -2
  223. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/sigv4.clj +2 -2
  224. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/provider.clj +2 -2
  225. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/providers.clj +6 -4
  226. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto.clj +2 -2
  227. package/project/.sdk/tm/clojure/src/feature/validate/.gitkeep +0 -0
  228. package/project/.sdk/tm/clojure/src/sdk/core.clj +52 -51
  229. package/project/.sdk/tm/clojure/src/sdk/features.clj +202 -0
  230. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/json.clj +2 -2
  231. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/runner.clj +2 -2
  232. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/util.clj +2 -2
  233. package/project/.sdk/tm/cpp/core/types.hpp +4 -0
  234. package/project/.sdk/tm/cpp/feature/secrets/plugin/capability.cpp +2 -2
  235. package/project/.sdk/tm/cpp/feature/secrets/plugin/capability.hpp +2 -2
  236. package/project/.sdk/tm/cpp/feature/secrets/plugin/catalog.cpp +2 -2
  237. package/project/.sdk/tm/cpp/feature/secrets/plugin/catalog.hpp +2 -2
  238. package/project/.sdk/tm/cpp/feature/secrets/plugin/config.cpp +2 -2
  239. package/project/.sdk/tm/cpp/feature/secrets/plugin/config.hpp +2 -2
  240. package/project/.sdk/tm/cpp/feature/secrets/plugin/depend.cpp +2 -2
  241. package/project/.sdk/tm/cpp/feature/secrets/plugin/depend.hpp +2 -2
  242. package/project/.sdk/tm/cpp/feature/secrets/plugin/env.cpp +2 -2
  243. package/project/.sdk/tm/cpp/feature/secrets/plugin/env.hpp +2 -2
  244. package/project/.sdk/tm/cpp/feature/secrets/plugin/export.cpp +3 -3
  245. package/project/.sdk/tm/cpp/feature/secrets/plugin/export.hpp +2 -2
  246. package/project/.sdk/tm/cpp/feature/secrets/plugin/graph.cpp +2 -2
  247. package/project/.sdk/tm/cpp/feature/secrets/plugin/graph.hpp +2 -2
  248. package/project/.sdk/tm/cpp/feature/secrets/plugin/host.cpp +21 -2
  249. package/project/.sdk/tm/cpp/feature/secrets/plugin/host.hpp +3 -2
  250. package/project/.sdk/tm/cpp/feature/secrets/plugin/order.cpp +2 -2
  251. package/project/.sdk/tm/cpp/feature/secrets/plugin/order.hpp +2 -2
  252. package/project/.sdk/tm/cpp/feature/secrets/plugin/point.cpp +2 -2
  253. package/project/.sdk/tm/cpp/feature/secrets/plugin/point.hpp +2 -2
  254. package/project/.sdk/tm/cpp/feature/secrets/plugin/ref.cpp +2 -2
  255. package/project/.sdk/tm/cpp/feature/secrets/plugin/ref.hpp +2 -2
  256. package/project/.sdk/tm/cpp/feature/secrets/plugin/resolve.cpp +2 -2
  257. package/project/.sdk/tm/cpp/feature/secrets/plugin/resolve.hpp +2 -2
  258. package/project/.sdk/tm/cpp/feature/secrets/plugin/types.cpp +2 -2
  259. package/project/.sdk/tm/cpp/feature/secrets/plugin/types.hpp +2 -2
  260. package/project/.sdk/tm/cpp/feature/secrets/plugin/value.cpp +2 -2
  261. package/project/.sdk/tm/cpp/feature/secrets/plugin/value.hpp +2 -2
  262. package/project/.sdk/tm/cpp/feature/secrets/plugin/version.cpp +2 -2
  263. package/project/.sdk/tm/cpp/feature/secrets/plugin/version.hpp +2 -2
  264. package/project/.sdk/tm/cpp/feature/secrets/plugins/Aws.cpp +2 -2
  265. package/project/.sdk/tm/cpp/feature/secrets/plugins/Aws.hpp +2 -2
  266. package/project/.sdk/tm/cpp/feature/secrets/plugins/Azuresecrets.cpp +2 -2
  267. package/project/.sdk/tm/cpp/feature/secrets/plugins/Azuresecrets.hpp +2 -2
  268. package/project/.sdk/tm/cpp/feature/secrets/plugins/Boru.cpp +2 -2
  269. package/project/.sdk/tm/cpp/feature/secrets/plugins/Boru.hpp +2 -2
  270. package/project/.sdk/tm/cpp/feature/secrets/plugins/Crypto.cpp +2 -2
  271. package/project/.sdk/tm/cpp/feature/secrets/plugins/Crypto.hpp +9 -7
  272. package/project/.sdk/tm/cpp/feature/secrets/plugins/Doppler.cpp +2 -2
  273. package/project/.sdk/tm/cpp/feature/secrets/plugins/Doppler.hpp +2 -2
  274. package/project/.sdk/tm/cpp/feature/secrets/plugins/Gcpsecrets.cpp +2 -2
  275. package/project/.sdk/tm/cpp/feature/secrets/plugins/Gcpsecrets.hpp +2 -2
  276. package/project/.sdk/tm/cpp/feature/secrets/plugins/Hashicorp.cpp +2 -2
  277. package/project/.sdk/tm/cpp/feature/secrets/plugins/Hashicorp.hpp +2 -2
  278. package/project/.sdk/tm/cpp/feature/secrets/plugins/Httpjson.cpp +2 -2
  279. package/project/.sdk/tm/cpp/feature/secrets/plugins/Httpjson.hpp +2 -2
  280. package/project/.sdk/tm/cpp/feature/secrets/plugins/Infisical.cpp +2 -2
  281. package/project/.sdk/tm/cpp/feature/secrets/plugins/Infisical.hpp +2 -2
  282. package/project/.sdk/tm/cpp/feature/secrets/plugins/Minivault.cpp +1345 -0
  283. package/project/.sdk/tm/cpp/feature/secrets/plugins/Minivault.hpp +219 -0
  284. package/project/.sdk/tm/cpp/feature/secrets/plugins/Onepassword.cpp +2 -2
  285. package/project/.sdk/tm/cpp/feature/secrets/plugins/Onepassword.hpp +2 -2
  286. package/project/.sdk/tm/cpp/feature/secrets/plugins/Proc.cpp +2 -2
  287. package/project/.sdk/tm/cpp/feature/secrets/plugins/Proc.hpp +2 -2
  288. package/project/.sdk/tm/cpp/feature/secrets/plugins/Secretspec.cpp +2 -2
  289. package/project/.sdk/tm/cpp/feature/secrets/plugins/Secretspec.hpp +2 -2
  290. package/project/.sdk/tm/cpp/feature/secrets/plugins/Sigv4.cpp +2 -2
  291. package/project/.sdk/tm/cpp/feature/secrets/plugins/Sigv4.hpp +2 -2
  292. package/project/.sdk/tm/cpp/feature/secrets/plugins/Tls.cpp +2 -2
  293. package/project/.sdk/tm/cpp/feature/secrets/plugins/Tls.hpp +2 -2
  294. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Json.cpp +2 -2
  295. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Json.hpp +2 -2
  296. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Provider.cpp +22 -2
  297. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Provider.hpp +12 -2
  298. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Providers.cpp +3 -3
  299. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Providers.hpp +2 -2
  300. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Sekreto.cpp +2 -2
  301. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Sekreto.hpp +2 -2
  302. package/project/.sdk/tm/cpp/feature/validate.hpp +301 -0
  303. package/project/.sdk/tm/cpp/src/feature/validate/.gitkeep +0 -0
  304. package/project/.sdk/tm/cpp/test/vendor/omni/json.hpp +2 -2
  305. package/project/.sdk/tm/cpp/test/vendor/omni/omni.hpp +2 -2
  306. package/project/.sdk/tm/cpp/test/vendor/omni/util.hpp +2 -2
  307. package/project/.sdk/tm/cpp/utility/pipeline.hpp +42 -63
  308. package/project/.sdk/tm/csharp/feature/ValidateFeature.cs +343 -0
  309. package/project/.sdk/tm/csharp/feature/secrets/plugin/Capability.cs +2 -2
  310. package/project/.sdk/tm/csharp/feature/secrets/plugin/Catalog.cs +2 -2
  311. package/project/.sdk/tm/csharp/feature/secrets/plugin/Config.cs +2 -2
  312. package/project/.sdk/tm/csharp/feature/secrets/plugin/Definition.cs +2 -2
  313. package/project/.sdk/tm/csharp/feature/secrets/plugin/Depend.cs +2 -2
  314. package/project/.sdk/tm/csharp/feature/secrets/plugin/Entry.cs +2 -2
  315. package/project/.sdk/tm/csharp/feature/secrets/plugin/Env.cs +2 -2
  316. package/project/.sdk/tm/csharp/feature/secrets/plugin/Export.cs +3 -3
  317. package/project/.sdk/tm/csharp/feature/secrets/plugin/Graph.cs +2 -2
  318. package/project/.sdk/tm/csharp/feature/secrets/plugin/Host.cs +9 -2
  319. package/project/.sdk/tm/csharp/feature/secrets/plugin/Inst.cs +21 -2
  320. package/project/.sdk/tm/csharp/feature/secrets/plugin/Json.cs +2 -2
  321. package/project/.sdk/tm/csharp/feature/secrets/plugin/Order.cs +2 -2
  322. package/project/.sdk/tm/csharp/feature/secrets/plugin/Plugin.cs +2 -2
  323. package/project/.sdk/tm/csharp/feature/secrets/plugin/Point.cs +2 -2
  324. package/project/.sdk/tm/csharp/feature/secrets/plugin/Refs.cs +2 -2
  325. package/project/.sdk/tm/csharp/feature/secrets/plugin/Resolve.cs +2 -2
  326. package/project/.sdk/tm/csharp/feature/secrets/plugin/Types.cs +2 -2
  327. package/project/.sdk/tm/csharp/feature/secrets/plugin/Version.cs +2 -2
  328. package/project/.sdk/tm/csharp/feature/secrets/plugins/Aws.cs +2 -2
  329. package/project/.sdk/tm/csharp/feature/secrets/plugins/AzureSecrets.cs +2 -2
  330. package/project/.sdk/tm/csharp/feature/secrets/plugins/Boru.cs +2 -2
  331. package/project/.sdk/tm/csharp/feature/secrets/plugins/Child.cs +2 -2
  332. package/project/.sdk/tm/csharp/feature/secrets/plugins/Doppler.cs +2 -2
  333. package/project/.sdk/tm/csharp/feature/secrets/plugins/GcpSecrets.cs +2 -2
  334. package/project/.sdk/tm/csharp/feature/secrets/plugins/Hashicorp.cs +2 -2
  335. package/project/.sdk/tm/csharp/feature/secrets/plugins/HttpJson.cs +2 -2
  336. package/project/.sdk/tm/csharp/feature/secrets/plugins/Infisical.cs +2 -2
  337. package/project/.sdk/tm/csharp/feature/secrets/plugins/MiniVault.cs +1572 -0
  338. package/project/.sdk/tm/csharp/feature/secrets/plugins/OnePassword.cs +2 -2
  339. package/project/.sdk/tm/csharp/feature/secrets/plugins/SecretSpec.cs +2 -2
  340. package/project/.sdk/tm/csharp/feature/secrets/plugins/Sigv4.cs +2 -2
  341. package/project/.sdk/tm/csharp/feature/secrets/sekreto/Json.cs +2 -2
  342. package/project/.sdk/tm/csharp/feature/secrets/sekreto/Providers.cs +3 -2
  343. package/project/.sdk/tm/csharp/feature/secrets/sekreto/Sekreto.cs +2 -2
  344. package/project/.sdk/tm/csharp/src/feature/validate/.gitkeep +0 -0
  345. package/project/.sdk/tm/csharp/test/vendor/omni/Runner.cs +2 -2
  346. package/project/.sdk/tm/csharp/test/vendor/omni/Util.cs +2 -2
  347. package/project/.sdk/tm/csharp/utility/MakeOptions.cs +12 -74
  348. package/project/.sdk/tm/csharp/utility/struct/Struct.cs +24 -3
  349. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/capability.ex +2 -2
  350. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/catalog.ex +2 -2
  351. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/config.ex +2 -2
  352. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/depend.ex +2 -2
  353. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/env.ex +2 -2
  354. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/error.ex +2 -2
  355. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/export.ex +7 -4
  356. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/graph.ex +2 -2
  357. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/host.ex +13 -2
  358. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/inst.ex +15 -2
  359. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/json.ex +2 -2
  360. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/order.ex +2 -2
  361. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/point.ex +2 -2
  362. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/ref.ex +2 -2
  363. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/resolve.ex +2 -2
  364. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/types.ex +2 -2
  365. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/version.ex +2 -2
  366. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/voxgig_plugin.ex +2 -2
  367. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/json.ex +2 -2
  368. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/aws.ex +2 -2
  369. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/azuresecrets.ex +2 -2
  370. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/boru.ex +2 -2
  371. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/doppler.ex +2 -2
  372. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/gcpsecrets.ex +2 -2
  373. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/hashicorp.ex +2 -2
  374. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/http.ex +3 -3
  375. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/httpjson.ex +3 -3
  376. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/infisical.ex +2 -2
  377. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/minivault.ex +1033 -0
  378. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/onepassword.ex +2 -2
  379. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/proc.ex +2 -2
  380. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/secretspec.ex +2 -2
  381. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/sigv4.ex +2 -2
  382. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/provider.ex +2 -2
  383. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/providers.ex +17 -5
  384. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/sekreto.ex +2 -2
  385. package/project/.sdk/tm/elixir/lib/projectname/feature/validate.ex +320 -0
  386. package/project/.sdk/tm/elixir/lib/projectname/utility.ex +17 -66
  387. package/project/.sdk/tm/elixir/src/feature/validate/.gitkeep +0 -0
  388. package/project/.sdk/tm/elixir/test/vendor/omni/json.ex +2 -2
  389. package/project/.sdk/tm/elixir/test/vendor/omni/runner.ex +2 -2
  390. package/project/.sdk/tm/elixir/test/vendor/omni/util.ex +2 -2
  391. package/project/.sdk/tm/go/feature/secrets/plugin/capability.go +1 -1
  392. package/project/.sdk/tm/go/feature/secrets/plugin/catalog.go +1 -1
  393. package/project/.sdk/tm/go/feature/secrets/plugin/config.go +1 -1
  394. package/project/.sdk/tm/go/feature/secrets/plugin/depend.go +1 -1
  395. package/project/.sdk/tm/go/feature/secrets/plugin/env.go +1 -1
  396. package/project/.sdk/tm/go/feature/secrets/plugin/export.go +2 -2
  397. package/project/.sdk/tm/go/feature/secrets/plugin/graph.go +1 -1
  398. package/project/.sdk/tm/go/feature/secrets/plugin/host.go +25 -1
  399. package/project/.sdk/tm/go/feature/secrets/plugin/order.go +1 -1
  400. package/project/.sdk/tm/go/feature/secrets/plugin/point.go +1 -1
  401. package/project/.sdk/tm/go/feature/secrets/plugin/ref.go +1 -1
  402. package/project/.sdk/tm/go/feature/secrets/plugin/resolve.go +1 -1
  403. package/project/.sdk/tm/go/feature/secrets/plugin/types.go +1 -1
  404. package/project/.sdk/tm/go/feature/secrets/plugin/util.go +1 -1
  405. package/project/.sdk/tm/go/feature/secrets/plugin/version.go +1 -1
  406. package/project/.sdk/tm/go/feature/secrets/plugins/aws/aws.go +2 -2
  407. package/project/.sdk/tm/go/feature/secrets/plugins/aws/sigv4.go +2 -2
  408. package/project/.sdk/tm/go/feature/secrets/plugins/azuresecrets/azuresecrets.go +2 -2
  409. package/project/.sdk/tm/go/feature/secrets/plugins/boru/boru.go +2 -2
  410. package/project/.sdk/tm/go/feature/secrets/plugins/doppler/doppler.go +2 -2
  411. package/project/.sdk/tm/go/feature/secrets/plugins/gcpsecrets/gcpsecrets.go +2 -2
  412. package/project/.sdk/tm/go/feature/secrets/plugins/hashicorp/hashicorp.go +2 -2
  413. package/project/.sdk/tm/go/feature/secrets/plugins/httpjson/httpjson.go +2 -2
  414. package/project/.sdk/tm/go/feature/secrets/plugins/infisical/infisical.go +2 -2
  415. package/project/.sdk/tm/go/feature/secrets/plugins/minivault/format.go +493 -0
  416. package/project/.sdk/tm/go/feature/secrets/plugins/minivault/minivault.go +1131 -0
  417. package/project/.sdk/tm/go/feature/secrets/plugins/onepassword/onepassword.go +2 -2
  418. package/project/.sdk/tm/go/feature/secrets/plugins/secretspec/secretspec.go +2 -2
  419. package/project/.sdk/tm/go/feature/secrets/sekreto/addr.go +2 -2
  420. package/project/.sdk/tm/go/feature/secrets/sekreto/providers.go +14 -2
  421. package/project/.sdk/tm/go/feature/secrets/sekreto/sekreto.go +2 -2
  422. package/project/.sdk/tm/go/feature/validate_feature.go +346 -0
  423. package/project/.sdk/tm/go/src/feature/validate/.gitkeep +0 -0
  424. package/project/.sdk/tm/go/test/omni/omni.go +2 -2
  425. package/project/.sdk/tm/go/test/omni/util.go +2 -2
  426. package/project/.sdk/tm/go/utility/make_options.go +13 -54
  427. package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +24 -8
  428. package/project/.sdk/tm/java/feature/ValidateFeature.java +330 -0
  429. package/project/.sdk/tm/java/feature/secrets/plugin/Capability.java +2 -2
  430. package/project/.sdk/tm/java/feature/secrets/plugin/Catalog.java +2 -2
  431. package/project/.sdk/tm/java/feature/secrets/plugin/Config.java +2 -2
  432. package/project/.sdk/tm/java/feature/secrets/plugin/Definition.java +2 -2
  433. package/project/.sdk/tm/java/feature/secrets/plugin/Depend.java +2 -2
  434. package/project/.sdk/tm/java/feature/secrets/plugin/Entry.java +2 -2
  435. package/project/.sdk/tm/java/feature/secrets/plugin/Env.java +2 -2
  436. package/project/.sdk/tm/java/feature/secrets/plugin/Export.java +3 -3
  437. package/project/.sdk/tm/java/feature/secrets/plugin/Graph.java +2 -2
  438. package/project/.sdk/tm/java/feature/secrets/plugin/Host.java +3 -3
  439. package/project/.sdk/tm/java/feature/secrets/plugin/Inst.java +21 -2
  440. package/project/.sdk/tm/java/feature/secrets/plugin/Json.java +2 -2
  441. package/project/.sdk/tm/java/feature/secrets/plugin/Order.java +2 -2
  442. package/project/.sdk/tm/java/feature/secrets/plugin/Plugin.java +2 -2
  443. package/project/.sdk/tm/java/feature/secrets/plugin/PluginException.java +2 -2
  444. package/project/.sdk/tm/java/feature/secrets/plugin/Point.java +2 -2
  445. package/project/.sdk/tm/java/feature/secrets/plugin/Refs.java +2 -2
  446. package/project/.sdk/tm/java/feature/secrets/plugin/Resolve.java +2 -2
  447. package/project/.sdk/tm/java/feature/secrets/plugin/Types.java +2 -2
  448. package/project/.sdk/tm/java/feature/secrets/plugin/Version.java +2 -2
  449. package/project/.sdk/tm/java/feature/secrets/sekreto/Addr.java +2 -2
  450. package/project/.sdk/tm/java/feature/secrets/sekreto/Builtins.java +4 -3
  451. package/project/.sdk/tm/java/feature/secrets/sekreto/Json.java +2 -2
  452. package/project/.sdk/tm/java/feature/secrets/sekreto/Provider.java +2 -2
  453. package/project/.sdk/tm/java/feature/secrets/sekreto/Sekreto.java +2 -2
  454. package/project/.sdk/tm/java/feature/secrets/sekreto/Support.java +2 -2
  455. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Aws.java +2 -2
  456. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Azuresecrets.java +2 -2
  457. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Boru.java +2 -2
  458. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Doppler.java +2 -2
  459. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Gcpsecrets.java +2 -2
  460. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Hashicorp.java +2 -2
  461. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Httpjson.java +2 -2
  462. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Infisical.java +2 -2
  463. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Minivault.java +1448 -0
  464. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Onepassword.java +2 -2
  465. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Proc.java +2 -2
  466. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Secretspec.java +2 -2
  467. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Sigv4.java +2 -2
  468. package/project/.sdk/tm/java/src/feature/validate/.gitkeep +0 -0
  469. package/project/.sdk/tm/java/test/vendor/omni/Json.java +2 -2
  470. package/project/.sdk/tm/java/test/vendor/omni/Runner.java +2 -2
  471. package/project/.sdk/tm/java/test/vendor/omni/Util.java +2 -2
  472. package/project/.sdk/tm/java/utility/MakeOptions.java +13 -33
  473. package/project/.sdk/tm/java/utility/struct/Struct.java +1 -1
  474. package/project/.sdk/tm/js/src/feature/secrets/plugin/capability.js +2 -2
  475. package/project/.sdk/tm/js/src/feature/secrets/plugin/catalog.js +2 -2
  476. package/project/.sdk/tm/js/src/feature/secrets/plugin/config.js +2 -2
  477. package/project/.sdk/tm/js/src/feature/secrets/plugin/depend.js +2 -2
  478. package/project/.sdk/tm/js/src/feature/secrets/plugin/env.js +2 -2
  479. package/project/.sdk/tm/js/src/feature/secrets/plugin/export.js +3 -3
  480. package/project/.sdk/tm/js/src/feature/secrets/plugin/graph.js +2 -2
  481. package/project/.sdk/tm/js/src/feature/secrets/plugin/host.js +17 -2
  482. package/project/.sdk/tm/js/src/feature/secrets/plugin/index.js +2 -2
  483. package/project/.sdk/tm/js/src/feature/secrets/plugin/order.js +2 -2
  484. package/project/.sdk/tm/js/src/feature/secrets/plugin/point.js +2 -2
  485. package/project/.sdk/tm/js/src/feature/secrets/plugin/ref.js +2 -2
  486. package/project/.sdk/tm/js/src/feature/secrets/plugin/resolve.js +2 -2
  487. package/project/.sdk/tm/js/src/feature/secrets/plugin/types.js +2 -2
  488. package/project/.sdk/tm/js/src/feature/secrets/plugin/version.js +2 -2
  489. package/project/.sdk/tm/js/src/feature/secrets/sekreto/Sekreto.js +2 -2
  490. package/project/.sdk/tm/js/src/feature/secrets/sekreto/index.js +2 -2
  491. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/aws.js +2 -2
  492. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/azuresecrets.js +2 -2
  493. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/boru.js +2 -2
  494. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/doppler.js +2 -2
  495. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/gcpsecrets.js +2 -2
  496. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/hashicorp.js +2 -2
  497. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/httpjson.js +2 -2
  498. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/infisical.js +2 -2
  499. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/minivault.js +866 -0
  500. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/onepassword.js +2 -2
  501. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/secretspec.js +2 -2
  502. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/sigv4.js +2 -2
  503. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/addr.js +2 -2
  504. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/builtin.js +3 -2
  505. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/dotenv.js +2 -2
  506. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/env.js +2 -2
  507. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/file.js +2 -2
  508. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/memory.js +2 -2
  509. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/support.js +2 -2
  510. package/project/.sdk/tm/js/src/utility/StructUtility.js +1 -1
  511. package/project/.sdk/tm/js/test/vendor/omni/index.js +1 -1
  512. package/project/.sdk/tm/js/test/vendor/omni/runner.js +1 -1
  513. package/project/.sdk/tm/js/test/vendor/omni/util.js +1 -1
  514. package/project/.sdk/tm/kotlin/feature/ValidateFeature.kt +297 -0
  515. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Capability.kt +2 -2
  516. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Catalog.kt +2 -2
  517. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Config.kt +2 -2
  518. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Depend.kt +2 -2
  519. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Env.kt +2 -2
  520. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Export.kt +3 -3
  521. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Graph.kt +2 -2
  522. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Host.kt +21 -2
  523. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Json.kt +2 -2
  524. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Order.kt +2 -2
  525. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Plugin.kt +2 -2
  526. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Point.kt +2 -2
  527. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Refs.kt +2 -2
  528. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Resolve.kt +2 -2
  529. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Types.kt +2 -2
  530. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Version.kt +2 -2
  531. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Json.kt +2 -2
  532. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Provider.kt +2 -2
  533. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Providers.kt +3 -2
  534. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Sekreto.kt +2 -2
  535. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Spec.kt +14 -2
  536. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Support.kt +10 -2
  537. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Aws.kt +2 -2
  538. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Azuresecrets.kt +2 -2
  539. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Boru.kt +2 -2
  540. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Doppler.kt +2 -2
  541. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Gcpsecrets.kt +2 -2
  542. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Hashicorp.kt +2 -2
  543. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Httpjson.kt +2 -2
  544. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Infisical.kt +2 -2
  545. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Minivault.kt +1095 -0
  546. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Onepassword.kt +2 -2
  547. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Secretspec.kt +2 -2
  548. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Sigv4.kt +2 -2
  549. package/project/.sdk/tm/kotlin/src/feature/validate/.gitkeep +0 -0
  550. package/project/.sdk/tm/kotlin/test/vendor/omni/Json.kt +2 -2
  551. package/project/.sdk/tm/kotlin/test/vendor/omni/Runner.kt +2 -2
  552. package/project/.sdk/tm/kotlin/test/vendor/omni/Util.kt +2 -2
  553. package/project/.sdk/tm/kotlin/utility/MakeOptions.kt +13 -22
  554. package/project/.sdk/tm/kotlin/utility/MakeSpecUrl.kt +6 -0
  555. package/project/.sdk/tm/kotlin/utility/Prepare.kt +13 -46
  556. package/project/.sdk/tm/kotlin/utility/struct/Struct.kt +1 -1
  557. package/project/.sdk/tm/lua/feature/secrets/native/sekretonet.c +2 -2
  558. package/project/.sdk/tm/lua/feature/secrets/native/sekretovault.c +240 -0
  559. package/project/.sdk/tm/lua/feature/secrets/plugin/capability.lua +2 -2
  560. package/project/.sdk/tm/lua/feature/secrets/plugin/catalog.lua +2 -2
  561. package/project/.sdk/tm/lua/feature/secrets/plugin/config.lua +2 -2
  562. package/project/.sdk/tm/lua/feature/secrets/plugin/depend.lua +2 -2
  563. package/project/.sdk/tm/lua/feature/secrets/plugin/env.lua +2 -2
  564. package/project/.sdk/tm/lua/feature/secrets/plugin/export.lua +12 -3
  565. package/project/.sdk/tm/lua/feature/secrets/plugin/graph.lua +2 -2
  566. package/project/.sdk/tm/lua/feature/secrets/plugin/host.lua +18 -2
  567. package/project/.sdk/tm/lua/feature/secrets/plugin/json.lua +2 -2
  568. package/project/.sdk/tm/lua/feature/secrets/plugin/order.lua +2 -2
  569. package/project/.sdk/tm/lua/feature/secrets/plugin/point.lua +2 -2
  570. package/project/.sdk/tm/lua/feature/secrets/plugin/ref.lua +2 -2
  571. package/project/.sdk/tm/lua/feature/secrets/plugin/resolve.lua +2 -2
  572. package/project/.sdk/tm/lua/feature/secrets/plugin/types.lua +2 -2
  573. package/project/.sdk/tm/lua/feature/secrets/plugin/version.lua +2 -2
  574. package/project/.sdk/tm/lua/feature/secrets/plugin.lua +2 -2
  575. package/project/.sdk/tm/lua/feature/secrets/sekreto/addr.lua +2 -2
  576. package/project/.sdk/tm/lua/feature/secrets/sekreto/err.lua +2 -2
  577. package/project/.sdk/tm/lua/feature/secrets/sekreto/name.lua +2 -2
  578. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/aws.lua +2 -2
  579. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/azuresecrets.lua +2 -2
  580. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/boru.lua +2 -2
  581. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/crypto.lua +2 -2
  582. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/doppler.lua +2 -2
  583. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/gcpsecrets.lua +2 -2
  584. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/hashicorp.lua +2 -2
  585. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/httpjson.lua +2 -2
  586. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/infisical.lua +2 -2
  587. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/json.lua +2 -2
  588. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/minivault.lua +1227 -0
  589. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/net.lua +2 -2
  590. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/onepassword.lua +2 -2
  591. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/secretspec.lua +2 -2
  592. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/sigv4.lua +2 -2
  593. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/support.lua +2 -2
  594. package/project/.sdk/tm/lua/feature/secrets/sekreto/providers.lua +3 -2
  595. package/project/.sdk/tm/lua/feature/secrets/sekreto.lua +2 -2
  596. package/project/.sdk/tm/lua/feature/validate_feature.lua +333 -0
  597. package/project/.sdk/tm/lua/src/feature/validate/.gitkeep +0 -0
  598. package/project/.sdk/tm/lua/test/vendor/omni/json.lua +2 -2
  599. package/project/.sdk/tm/lua/test/vendor/omni/regex.lua +2 -2
  600. package/project/.sdk/tm/lua/test/vendor/omni/runner.lua +2 -2
  601. package/project/.sdk/tm/lua/test/vendor/omni/util.lua +2 -2
  602. package/project/.sdk/tm/lua/utility/make_options.lua +74 -55
  603. package/project/.sdk/tm/lua/utility/make_spec.lua +8 -1
  604. package/project/.sdk/tm/lua/utility/struct/regex.lua +1 -1
  605. package/project/.sdk/tm/lua/utility/struct/struct.lua +1 -1
  606. package/project/.sdk/tm/ocaml/Makefile +16 -1
  607. package/project/.sdk/tm/ocaml/feature/secrets/plugin/capability.ml +2 -2
  608. package/project/.sdk/tm/ocaml/feature/secrets/plugin/catalog.ml +2 -2
  609. package/project/.sdk/tm/ocaml/feature/secrets/plugin/config.ml +2 -2
  610. package/project/.sdk/tm/ocaml/feature/secrets/plugin/defs.ml +2 -2
  611. package/project/.sdk/tm/ocaml/feature/secrets/plugin/depend.ml +2 -2
  612. package/project/.sdk/tm/ocaml/feature/secrets/plugin/env.ml +2 -2
  613. package/project/.sdk/tm/ocaml/feature/secrets/plugin/export.ml +5 -3
  614. package/project/.sdk/tm/ocaml/feature/secrets/plugin/graph.ml +2 -2
  615. package/project/.sdk/tm/ocaml/feature/secrets/plugin/host.ml +18 -2
  616. package/project/.sdk/tm/ocaml/feature/secrets/plugin/order.ml +2 -2
  617. package/project/.sdk/tm/ocaml/feature/secrets/plugin/point.ml +2 -2
  618. package/project/.sdk/tm/ocaml/feature/secrets/plugin/ref.ml +2 -2
  619. package/project/.sdk/tm/ocaml/feature/secrets/plugin/resolve.ml +2 -2
  620. package/project/.sdk/tm/ocaml/feature/secrets/plugin/types.ml +2 -2
  621. package/project/.sdk/tm/ocaml/feature/secrets/plugin/value.ml +2 -2
  622. package/project/.sdk/tm/ocaml/feature/secrets/plugin/version.ml +2 -2
  623. package/project/.sdk/tm/ocaml/feature/secrets/plugins/aws.ml +2 -2
  624. package/project/.sdk/tm/ocaml/feature/secrets/plugins/azuresecrets.ml +2 -2
  625. package/project/.sdk/tm/ocaml/feature/secrets/plugins/boru.ml +2 -2
  626. package/project/.sdk/tm/ocaml/feature/secrets/plugins/crypto.ml +2 -2
  627. package/project/.sdk/tm/ocaml/feature/secrets/plugins/doppler.ml +2 -2
  628. package/project/.sdk/tm/ocaml/feature/secrets/plugins/gcpsecrets.ml +2 -2
  629. package/project/.sdk/tm/ocaml/feature/secrets/plugins/hashicorp.ml +2 -2
  630. package/project/.sdk/tm/ocaml/feature/secrets/plugins/http.ml +2 -2
  631. package/project/.sdk/tm/ocaml/feature/secrets/plugins/httpjson.ml +2 -2
  632. package/project/.sdk/tm/ocaml/feature/secrets/plugins/infisical.ml +2 -2
  633. package/project/.sdk/tm/ocaml/feature/secrets/plugins/minivault.ml +1086 -0
  634. package/project/.sdk/tm/ocaml/feature/secrets/plugins/minivault_stubs.c +222 -0
  635. package/project/.sdk/tm/ocaml/feature/secrets/plugins/onepassword.ml +2 -2
  636. package/project/.sdk/tm/ocaml/feature/secrets/plugins/runcmd.ml +2 -2
  637. package/project/.sdk/tm/ocaml/feature/secrets/plugins/secretspec.ml +2 -2
  638. package/project/.sdk/tm/ocaml/feature/secrets/plugins/sigv4.ml +2 -2
  639. package/project/.sdk/tm/ocaml/feature/secrets/plugins/tls.ml +2 -2
  640. package/project/.sdk/tm/ocaml/feature/secrets/plugins/tls_stubs.c +2 -2
  641. package/project/.sdk/tm/ocaml/feature/secrets/sekreto/json.ml +2 -2
  642. package/project/.sdk/tm/ocaml/feature/secrets/sekreto/provider.ml +33 -3
  643. package/project/.sdk/tm/ocaml/feature/secrets/sekreto/secret.ml +2 -2
  644. package/project/.sdk/tm/ocaml/feature/secrets/sekreto/sekreto.ml +4 -3
  645. package/project/.sdk/tm/ocaml/sdk_features.ml +174 -0
  646. package/project/.sdk/tm/ocaml/sdk_helpers.ml +15 -0
  647. package/project/.sdk/tm/ocaml/sdk_runtime.ml +30 -49
  648. package/project/.sdk/tm/ocaml/src/feature/validate/.gitkeep +0 -0
  649. package/project/.sdk/tm/ocaml/test/feature/secrets/t_secrets.ml +125 -12
  650. package/project/.sdk/tm/ocaml/test/t_pipeline.ml +64 -6
  651. package/project/.sdk/tm/ocaml/test/vendor/omni/omni.ml +2 -2
  652. package/project/.sdk/tm/perl/core/helpers.pm +64 -16
  653. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Capability.pm +2 -2
  654. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Catalog.pm +2 -2
  655. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Config.pm +2 -2
  656. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Depend.pm +2 -2
  657. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Env.pm +2 -2
  658. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Export.pm +3 -3
  659. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Graph.pm +2 -2
  660. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Host.pm +19 -2
  661. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Order.pm +2 -2
  662. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Point.pm +2 -2
  663. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Ref.pm +2 -2
  664. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Resolve.pm +2 -2
  665. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Types.pm +2 -2
  666. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Version.pm +2 -2
  667. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin.pm +2 -2
  668. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Aws.pm +2 -2
  669. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Azuresecrets.pm +2 -2
  670. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Boru.pm +2 -2
  671. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Doppler.pm +2 -2
  672. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Gcpsecrets.pm +2 -2
  673. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Hashicorp.pm +2 -2
  674. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Httpjson.pm +2 -2
  675. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Infisical.pm +2 -2
  676. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Minivault.pm +1380 -0
  677. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Onepassword.pm +2 -2
  678. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Proc.pm +2 -2
  679. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Secretspec.pm +2 -2
  680. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Sigv4.pm +2 -2
  681. package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Addr.pm +2 -2
  682. package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Providers.pm +4 -3
  683. package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto.pm +2 -2
  684. package/project/.sdk/tm/perl/feature/validate_feature.pm +319 -0
  685. package/project/.sdk/tm/perl/lib/Voxgig/Struct.pm +1 -1
  686. package/project/.sdk/tm/perl/src/feature/validate/.gitkeep +0 -0
  687. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Runner.pm +1 -1
  688. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Util.pm +1 -1
  689. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni.pm +1 -1
  690. package/project/.sdk/tm/perl/utility/make_options.pm +25 -34
  691. package/project/.sdk/tm/php/feature/ValidateFeature.php +361 -0
  692. package/project/.sdk/tm/php/feature/secrets/plugin/Capability.php +2 -2
  693. package/project/.sdk/tm/php/feature/secrets/plugin/Catalog.php +2 -2
  694. package/project/.sdk/tm/php/feature/secrets/plugin/Config.php +2 -2
  695. package/project/.sdk/tm/php/feature/secrets/plugin/Depend.php +2 -2
  696. package/project/.sdk/tm/php/feature/secrets/plugin/Env.php +2 -2
  697. package/project/.sdk/tm/php/feature/secrets/plugin/Export.php +3 -3
  698. package/project/.sdk/tm/php/feature/secrets/plugin/Graph.php +2 -2
  699. package/project/.sdk/tm/php/feature/secrets/plugin/Host.php +26 -2
  700. package/project/.sdk/tm/php/feature/secrets/plugin/Order.php +2 -2
  701. package/project/.sdk/tm/php/feature/secrets/plugin/Point.php +2 -2
  702. package/project/.sdk/tm/php/feature/secrets/plugin/Ref.php +2 -2
  703. package/project/.sdk/tm/php/feature/secrets/plugin/Resolve.php +2 -2
  704. package/project/.sdk/tm/php/feature/secrets/plugin/Types.php +2 -2
  705. package/project/.sdk/tm/php/feature/secrets/plugin/Version.php +2 -2
  706. package/project/.sdk/tm/php/feature/secrets/plugin/plugin.php +2 -2
  707. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/aws.php +2 -2
  708. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/azuresecrets.php +2 -2
  709. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/boru.php +2 -2
  710. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/doppler.php +2 -2
  711. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/gcpsecrets.php +2 -2
  712. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/hashicorp.php +2 -2
  713. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/httpjson.php +2 -2
  714. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/infisical.php +2 -2
  715. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/minivault.php +1250 -0
  716. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/onepassword.php +2 -2
  717. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/runcmd.php +2 -2
  718. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/secretspec.php +2 -2
  719. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/sigv4.php +2 -2
  720. package/project/.sdk/tm/php/feature/secrets/sekreto/src/Addr.php +2 -2
  721. package/project/.sdk/tm/php/feature/secrets/sekreto/src/Providers.php +5 -3
  722. package/project/.sdk/tm/php/feature/secrets/sekreto/src/Sekreto.php +2 -2
  723. package/project/.sdk/tm/php/src/feature/validate/.gitkeep +0 -0
  724. package/project/.sdk/tm/php/test/vendor/omni/Runner.php +2 -2
  725. package/project/.sdk/tm/php/test/vendor/omni/Util.php +2 -2
  726. package/project/.sdk/tm/php/utility/MakeOptions.php +15 -24
  727. package/project/.sdk/tm/php/utility/struct/Struct.php +56 -7
  728. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/__init__.py +1 -1
  729. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/capability.py +1 -1
  730. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/catalog.py +1 -1
  731. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/config.py +1 -1
  732. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/depend.py +1 -1
  733. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/env.py +1 -1
  734. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/export.py +2 -2
  735. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/graph.py +1 -1
  736. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/host.py +17 -1
  737. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/order.py +1 -1
  738. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/point.py +1 -1
  739. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/ref.py +1 -1
  740. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/resolve.py +1 -1
  741. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/types.py +1 -1
  742. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/version.py +1 -1
  743. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/__init__.py +1 -1
  744. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/addr.py +1 -1
  745. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/aws.py +1 -1
  746. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/azuresecrets.py +1 -1
  747. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/boru.py +1 -1
  748. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/doppler.py +1 -1
  749. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.py +1 -1
  750. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/hashicorp.py +1 -1
  751. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/httpjson.py +1 -1
  752. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/infisical.py +1 -1
  753. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/minivault.py +1202 -0
  754. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/onepassword.py +1 -1
  755. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/secretspec.py +1 -1
  756. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/sigv4.py +1 -1
  757. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/providers.py +2 -1
  758. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/sekreto.py +1 -1
  759. package/project/.sdk/tm/py/pkg/feature/validate_feature.py +273 -0
  760. package/project/.sdk/tm/py/pkg/utility/make_options.py +14 -53
  761. package/project/.sdk/tm/py/pkg/utility/voxgig_struct/voxgig_struct.py +1 -1
  762. package/project/.sdk/tm/py/src/feature/validate/.gitkeep +0 -0
  763. package/project/.sdk/tm/py/test/voxgig_omni/__init__.py +1 -1
  764. package/project/.sdk/tm/py/test/voxgig_omni/runner.py +1 -1
  765. package/project/.sdk/tm/py/test/voxgig_omni/util.py +1 -1
  766. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/capability.rb +2 -2
  767. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/catalog.rb +2 -2
  768. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/config.rb +2 -2
  769. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/depend.rb +2 -2
  770. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/env.rb +2 -2
  771. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/export.rb +3 -3
  772. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/graph.rb +2 -2
  773. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/host.rb +16 -2
  774. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/order.rb +2 -2
  775. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/point.rb +2 -2
  776. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/ref.rb +2 -2
  777. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/resolve.rb +2 -2
  778. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/types.rb +2 -2
  779. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/version.rb +2 -2
  780. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin.rb +2 -2
  781. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/addr.rb +2 -2
  782. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/aws.rb +2 -2
  783. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/azuresecrets.rb +2 -2
  784. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/boru.rb +2 -2
  785. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/doppler.rb +2 -2
  786. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.rb +2 -2
  787. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/hashicorp.rb +2 -2
  788. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/httpjson.rb +2 -2
  789. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/infisical.rb +2 -2
  790. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/minivault.rb +979 -0
  791. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/onepassword.rb +2 -2
  792. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/secretspec.rb +2 -2
  793. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/sigv4.rb +2 -2
  794. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/providers.rb +6 -5
  795. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/sekreto.rb +2 -2
  796. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto.rb +2 -2
  797. package/project/.sdk/tm/rb/feature/validate_feature.rb +265 -0
  798. package/project/.sdk/tm/rb/src/feature/validate/.gitkeep +0 -0
  799. package/project/.sdk/tm/rb/test/vendor/omni/runner.rb +2 -2
  800. package/project/.sdk/tm/rb/test/vendor/omni/util.rb +2 -2
  801. package/project/.sdk/tm/rb/test/vendor/omni/voxgig_omni.rb +2 -2
  802. package/project/.sdk/tm/rb/utility/make_options.rb +15 -32
  803. package/project/.sdk/tm/rb/utility/struct/voxgig_struct.rb +24 -1
  804. package/project/.sdk/tm/rust/core/mod.rs +3 -2
  805. package/project/.sdk/tm/rust/feature/secrets/plugin/capability.rs +2 -2
  806. package/project/.sdk/tm/rust/feature/secrets/plugin/catalog.rs +2 -2
  807. package/project/.sdk/tm/rust/feature/secrets/plugin/config.rs +2 -2
  808. package/project/.sdk/tm/rust/feature/secrets/plugin/depend.rs +2 -2
  809. package/project/.sdk/tm/rust/feature/secrets/plugin/env.rs +2 -2
  810. package/project/.sdk/tm/rust/feature/secrets/plugin/export.rs +3 -3
  811. package/project/.sdk/tm/rust/feature/secrets/plugin/graph.rs +2 -2
  812. package/project/.sdk/tm/rust/feature/secrets/plugin/host.rs +24 -2
  813. package/project/.sdk/tm/rust/feature/secrets/plugin/mod.rs +2 -2
  814. package/project/.sdk/tm/rust/feature/secrets/plugin/order.rs +2 -2
  815. package/project/.sdk/tm/rust/feature/secrets/plugin/point.rs +2 -2
  816. package/project/.sdk/tm/rust/feature/secrets/plugin/refs.rs +2 -2
  817. package/project/.sdk/tm/rust/feature/secrets/plugin/resolve.rs +2 -2
  818. package/project/.sdk/tm/rust/feature/secrets/plugin/types.rs +2 -2
  819. package/project/.sdk/tm/rust/feature/secrets/plugin/value.rs +2 -2
  820. package/project/.sdk/tm/rust/feature/secrets/plugin/version.rs +2 -2
  821. package/project/.sdk/tm/rust/feature/secrets/plugins/aws/crypto.rs +2 -2
  822. package/project/.sdk/tm/rust/feature/secrets/plugins/aws/sigv4.rs +2 -2
  823. package/project/.sdk/tm/rust/feature/secrets/plugins/aws.rs +2 -2
  824. package/project/.sdk/tm/rust/feature/secrets/plugins/azuresecrets.rs +2 -2
  825. package/project/.sdk/tm/rust/feature/secrets/plugins/boru.rs +2 -2
  826. package/project/.sdk/tm/rust/feature/secrets/plugins/doppler.rs +2 -2
  827. package/project/.sdk/tm/rust/feature/secrets/plugins/gcpsecrets.rs +2 -2
  828. package/project/.sdk/tm/rust/feature/secrets/plugins/hashicorp.rs +2 -2
  829. package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/http.rs +2 -2
  830. package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/json.rs +2 -2
  831. package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson.rs +2 -2
  832. package/project/.sdk/tm/rust/feature/secrets/plugins/infisical.rs +2 -2
  833. package/project/.sdk/tm/rust/feature/secrets/plugins/minivault/format.rs +425 -0
  834. package/project/.sdk/tm/rust/feature/secrets/plugins/minivault.rs +1076 -0
  835. package/project/.sdk/tm/rust/feature/secrets/plugins/onepassword.rs +2 -2
  836. package/project/.sdk/tm/rust/feature/secrets/plugins/secretspec.rs +2 -2
  837. package/project/.sdk/tm/rust/feature/secrets/sekreto/addr.rs +2 -2
  838. package/project/.sdk/tm/rust/feature/secrets/sekreto/mod.rs +2 -2
  839. package/project/.sdk/tm/rust/feature/secrets/sekreto/providers.rs +30 -4
  840. package/project/.sdk/tm/rust/feature/secrets/sekreto/sekreto.rs +2 -2
  841. package/project/.sdk/tm/rust/feature/validate.rs +387 -0
  842. package/project/.sdk/tm/rust/src/feature/validate/.gitkeep +0 -0
  843. package/project/.sdk/tm/rust/tests/vendor/omni/json.rs +2 -2
  844. package/project/.sdk/tm/rust/tests/vendor/omni/mod.rs +2 -2
  845. package/project/.sdk/tm/rust/tests/vendor/omni/regex.rs +2 -2
  846. package/project/.sdk/tm/rust/tests/vendor/omni/runner.rs +2 -2
  847. package/project/.sdk/tm/rust/tests/vendor/omni/util.rs +2 -2
  848. package/project/.sdk/tm/rust/utility/make_options.rs +12 -51
  849. package/project/.sdk/tm/rust/utility/make_spec.rs +10 -3
  850. package/project/.sdk/tm/scala/feature/ValidateFeature.scala +286 -0
  851. package/project/.sdk/tm/scala/feature/secrets/plugin/Capability.scala +2 -2
  852. package/project/.sdk/tm/scala/feature/secrets/plugin/Config.scala +2 -2
  853. package/project/.sdk/tm/scala/feature/secrets/plugin/Depend.scala +2 -2
  854. package/project/.sdk/tm/scala/feature/secrets/plugin/Env.scala +2 -2
  855. package/project/.sdk/tm/scala/feature/secrets/plugin/Export.scala +3 -3
  856. package/project/.sdk/tm/scala/feature/secrets/plugin/Graph.scala +2 -2
  857. package/project/.sdk/tm/scala/feature/secrets/plugin/Host.scala +19 -2
  858. package/project/.sdk/tm/scala/feature/secrets/plugin/Json.scala +2 -2
  859. package/project/.sdk/tm/scala/feature/secrets/plugin/Order.scala +2 -2
  860. package/project/.sdk/tm/scala/feature/secrets/plugin/Plugin.scala +2 -2
  861. package/project/.sdk/tm/scala/feature/secrets/plugin/Point.scala +2 -2
  862. package/project/.sdk/tm/scala/feature/secrets/plugin/Refs.scala +2 -2
  863. package/project/.sdk/tm/scala/feature/secrets/plugin/Resolve.scala +2 -2
  864. package/project/.sdk/tm/scala/feature/secrets/plugin/Types.scala +2 -2
  865. package/project/.sdk/tm/scala/feature/secrets/plugin/Value.scala +2 -2
  866. package/project/.sdk/tm/scala/feature/secrets/plugin/Version.scala +2 -2
  867. package/project/.sdk/tm/scala/feature/secrets/sekreto/Json.scala +2 -2
  868. package/project/.sdk/tm/scala/feature/secrets/sekreto/Provider.scala +2 -2
  869. package/project/.sdk/tm/scala/feature/secrets/sekreto/Providers.scala +3 -2
  870. package/project/.sdk/tm/scala/feature/secrets/sekreto/Sekreto.scala +2 -2
  871. package/project/.sdk/tm/scala/feature/secrets/sekreto/Spec.scala +13 -2
  872. package/project/.sdk/tm/scala/feature/secrets/sekreto/Support.scala +11 -2
  873. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Aws.scala +2 -2
  874. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Azuresecrets.scala +2 -2
  875. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Boru.scala +2 -2
  876. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Doppler.scala +2 -2
  877. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Gcpsecrets.scala +2 -2
  878. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Hashicorp.scala +2 -2
  879. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Httpjson.scala +2 -2
  880. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Infisical.scala +2 -2
  881. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Minivault.scala +979 -0
  882. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Onepassword.scala +2 -2
  883. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Secretspec.scala +2 -2
  884. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Sigv4.scala +2 -2
  885. package/project/.sdk/tm/scala/sdktest/vendor/omni/Json.scala +2 -2
  886. package/project/.sdk/tm/scala/sdktest/vendor/omni/Runner.scala +2 -2
  887. package/project/.sdk/tm/scala/sdktest/vendor/omni/Util.scala +2 -2
  888. package/project/.sdk/tm/scala/src/feature/validate/.gitkeep +0 -0
  889. package/project/.sdk/tm/scala/utility/Make.scala +12 -28
  890. package/project/.sdk/tm/scala/utility/MakeSpec.scala +8 -1
  891. package/project/.sdk/tm/scala/utility/Prepare.scala +16 -40
  892. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/ValidateFeature.swift +273 -0
  893. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Capability.swift +2 -2
  894. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Catalog.swift +2 -2
  895. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Config.swift +2 -2
  896. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Depend.swift +2 -2
  897. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Env.swift +2 -2
  898. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Export.swift +3 -3
  899. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Graph.swift +2 -2
  900. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Host.swift +17 -2
  901. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Json.swift +2 -2
  902. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Order.swift +2 -2
  903. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Point.swift +2 -2
  904. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Refs.swift +2 -2
  905. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Resolve.swift +2 -2
  906. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Types.swift +2 -2
  907. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Value.swift +2 -2
  908. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Version.swift +2 -2
  909. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Aws.swift +2 -2
  910. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Azuresecrets.swift +2 -2
  911. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Boru.swift +2 -2
  912. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Crypto.swift +2 -2
  913. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Doppler.swift +2 -2
  914. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Gcpsecrets.swift +2 -2
  915. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Hashicorp.swift +2 -2
  916. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Httpjson.swift +2 -2
  917. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Infisical.swift +2 -2
  918. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Onepassword.swift +2 -2
  919. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Proc.swift +2 -2
  920. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Secretspec.swift +2 -2
  921. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Sigv4.swift +2 -2
  922. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Addr.swift +2 -2
  923. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Json.swift +2 -2
  924. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Provider.swift +2 -2
  925. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Providers.swift +2 -2
  926. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Sekreto.swift +2 -2
  927. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Make.swift +9 -3
  928. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/MakeOptions.swift +12 -60
  929. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Prepare.swift +21 -39
  930. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/PrimaryUtilityTest.swift +3 -3
  931. package/project/.sdk/tm/swift/Tests/vendor/omni/Json.swift +2 -2
  932. package/project/.sdk/tm/swift/Tests/vendor/omni/Runner.swift +2 -2
  933. package/project/.sdk/tm/swift/Tests/vendor/omni/Util.swift +2 -2
  934. package/project/.sdk/tm/swift/src/feature/validate/.gitkeep +0 -0
  935. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Capability.ts +1 -1
  936. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Catalog.ts +1 -1
  937. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Config.ts +1 -1
  938. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Depend.ts +1 -1
  939. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Env.ts +1 -1
  940. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Export.ts +13 -2
  941. package/project/.sdk/tm/ts/src/feature/secrets/plugin/FeatureHost.ts +1 -1
  942. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Graph.ts +1 -1
  943. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Host.ts +27 -1
  944. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Order.ts +1 -1
  945. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Point.ts +1 -1
  946. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Ref.ts +1 -1
  947. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Resolve.ts +1 -1
  948. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Types.ts +1 -1
  949. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Version.ts +1 -1
  950. package/project/.sdk/tm/ts/src/feature/secrets/plugin/index.ts +1 -1
  951. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/Sekreto.ts +1 -1
  952. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/index.ts +1 -1
  953. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/aws.ts +1 -1
  954. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/azuresecrets.ts +1 -1
  955. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/boru.ts +1 -1
  956. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/doppler.ts +1 -1
  957. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/gcpsecrets.ts +1 -1
  958. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/hashicorp.ts +1 -1
  959. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/httpjson.ts +1 -1
  960. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/infisical.ts +1 -1
  961. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/minivault.ts +1034 -0
  962. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/onepassword.ts +1 -1
  963. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/secretspec.ts +1 -1
  964. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/sigv4.ts +1 -1
  965. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/addr.ts +1 -1
  966. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/builtin.ts +2 -1
  967. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/dotenv.ts +1 -1
  968. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/env.ts +1 -1
  969. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/file.ts +1 -1
  970. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/memory.ts +1 -1
  971. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/support.ts +11 -1
  972. package/project/.sdk/tm/ts/src/utility/StructUtility.ts +1 -1
  973. package/project/.sdk/tm/ts/test/vendor/omni/Runner.ts +1 -1
  974. package/project/.sdk/tm/ts/test/vendor/omni/Util.ts +1 -1
  975. package/project/.sdk/tm/ts/test/vendor/omni/index.ts +1 -1
  976. package/project/.sdk/tm/zig/core/utility.zig +45 -77
  977. package/project/.sdk/tm/zig/feature/secrets/plugin/capability.zig +2 -2
  978. package/project/.sdk/tm/zig/feature/secrets/plugin/catalog.zig +2 -2
  979. package/project/.sdk/tm/zig/feature/secrets/plugin/config.zig +2 -2
  980. package/project/.sdk/tm/zig/feature/secrets/plugin/depend.zig +2 -2
  981. package/project/.sdk/tm/zig/feature/secrets/plugin/env.zig +2 -2
  982. package/project/.sdk/tm/zig/feature/secrets/plugin/export.zig +3 -3
  983. package/project/.sdk/tm/zig/feature/secrets/plugin/graph.zig +2 -2
  984. package/project/.sdk/tm/zig/feature/secrets/plugin/host.zig +18 -2
  985. package/project/.sdk/tm/zig/feature/secrets/plugin/inst.zig +2 -2
  986. package/project/.sdk/tm/zig/feature/secrets/plugin/order.zig +2 -2
  987. package/project/.sdk/tm/zig/feature/secrets/plugin/plugin.zig +2 -2
  988. package/project/.sdk/tm/zig/feature/secrets/plugin/point.zig +2 -2
  989. package/project/.sdk/tm/zig/feature/secrets/plugin/ref.zig +2 -2
  990. package/project/.sdk/tm/zig/feature/secrets/plugin/resolve.zig +2 -2
  991. package/project/.sdk/tm/zig/feature/secrets/plugin/types.zig +2 -2
  992. package/project/.sdk/tm/zig/feature/secrets/plugin/value.zig +2 -2
  993. package/project/.sdk/tm/zig/feature/secrets/plugin/version.zig +2 -2
  994. package/project/.sdk/tm/zig/feature/secrets/plugins/aws.zig +2 -2
  995. package/project/.sdk/tm/zig/feature/secrets/plugins/azuresecrets.zig +2 -2
  996. package/project/.sdk/tm/zig/feature/secrets/plugins/boru.zig +2 -2
  997. package/project/.sdk/tm/zig/feature/secrets/plugins/doppler.zig +2 -2
  998. package/project/.sdk/tm/zig/feature/secrets/plugins/gcpsecrets.zig +2 -2
  999. package/project/.sdk/tm/zig/feature/secrets/plugins/hashicorp.zig +2 -2
  1000. package/project/.sdk/tm/zig/feature/secrets/plugins/httpjson.zig +2 -2
  1001. package/project/.sdk/tm/zig/feature/secrets/plugins/infisical.zig +2 -2
  1002. package/project/.sdk/tm/zig/feature/secrets/plugins/minivault.zig +1930 -0
  1003. package/project/.sdk/tm/zig/feature/secrets/plugins/onepassword.zig +2 -2
  1004. package/project/.sdk/tm/zig/feature/secrets/plugins/secretspec.zig +2 -2
  1005. package/project/.sdk/tm/zig/feature/secrets/plugins/sigv4.zig +2 -2
  1006. package/project/.sdk/tm/zig/feature/secrets/sekreto/addr.zig +2 -2
  1007. package/project/.sdk/tm/zig/feature/secrets/sekreto/builtins.zig +3 -2
  1008. package/project/.sdk/tm/zig/feature/secrets/sekreto/provider.zig +19 -2
  1009. package/project/.sdk/tm/zig/feature/secrets/sekreto/sekreto.zig +2 -2
  1010. package/project/.sdk/tm/zig/feature/validate.zig +293 -0
  1011. package/project/.sdk/tm/zig/src/feature/validate/.gitkeep +0 -0
  1012. package/project/.sdk/tm/zig/test/pipeline_test.zig +34 -0
  1013. package/project/.sdk/tm/zig/test/vendor/omni/omni.zig +2 -2
  1014. package/project/.sdk/tm/zig/test/vendor/omni/regex.zig +2 -2
  1015. package/project/.sdk/tm/zig/utility/voxgigstruct/regex.zig +2 -2
  1016. package/project/.sdk/tm/zig/utility/voxgigstruct/struct.zig +2 -2
  1017. package/project/sdkgen-package.json +1 -1
  1018. package/src/helpers/applicability.ts +11 -6
  1019. package/src/helpers/collectDeps.ts +30 -5
  1020. package/src/helpers/naming.ts +2 -2
  1021. package/src/sdkgen.ts +4 -1
  1022. package/src/utility.ts +75 -0
  1023. package/project/.sdk/tm/c/utility/prepare_auth.c +0 -65
  1024. package/project/.sdk/tm/csharp/utility/PrepareAuth.cs +0 -54
  1025. package/project/.sdk/tm/go/utility/prepare_auth.go +0 -59
  1026. package/project/.sdk/tm/java/utility/PrepareAuth.java +0 -66
  1027. package/project/.sdk/tm/js/src/utility/PrepareAuthUtility.js +0 -49
  1028. package/project/.sdk/tm/lua/utility/prepare_auth.lua +0 -52
  1029. package/project/.sdk/tm/perl/utility/prepare_auth.pm +0 -56
  1030. package/project/.sdk/tm/php/utility/PrepareAuth.php +0 -45
  1031. package/project/.sdk/tm/py/pkg/utility/prepare_auth.py +0 -46
  1032. package/project/.sdk/tm/rb/utility/prepare_auth.rb +0 -35
  1033. package/project/.sdk/tm/rust/utility/prepare_auth.rs +0 -65
  1034. package/project/.sdk/tm/ts/src/utility/PrepareAuthUtility.ts +0 -78
@@ -0,0 +1,866 @@
1
+ // VENDORED: @voxgig/sekreto sdk-20260917-1242-0 (javascript/plugins/minivault.js)
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
+ /* Copyright (c) 2025 Voxgig Ltd, MIT License */
5
+
6
+ // A port of typescript/plugins/minivault.ts, which is canonical.
7
+ //
8
+ // A mini vault: every secret a project owns, encrypted, in ONE FILE.
9
+ //
10
+ // THE KEY DECIDES WHAT THE VAULT HOLDS. A master key reads and writes
11
+ // every name and mints restricted keys. A restricted key reads the names
12
+ // it was granted and CANNOT DERIVE ANY OTHER - the restriction is the
13
+ // cryptography rather than a check this code performs. What that does
14
+ // and does not protect is set out in DOCS.md under "What the mini vault
15
+ // protects".
16
+
17
+ const { PluginError } = require('@voxgig/plugin-js')
18
+
19
+ const {
20
+ ERROR_CODE, PROVIDER_EXPORT, SekretoError, checkname, nodemod,
21
+ } = require('../provider/support')
22
+
23
+ function crypto() {
24
+ return nodemod('node:crypto')
25
+ }
26
+
27
+ function fs() {
28
+ return nodemod('node:fs')
29
+ }
30
+
31
+
32
+ // --- the format ------------------------------------------------------
33
+ //
34
+ // magic 4 'SKMV'
35
+ // version 1 FORMAT
36
+ // kdf 1 1 = PBKDF2-HMAC-SHA256
37
+ // cipher 1 1 = AES-256-GCM
38
+ // reserved 1 0
39
+ // keycount 4 uint32
40
+ // per key:
41
+ // id 1 + bytes the key id, PLAINTEXT
42
+ // salt 1 + bytes
43
+ // iters 4 PBKDF2 rounds for this key
44
+ // ring 1 + iv, 4 + bytes sealed under the passphrase
45
+ // meta 1 + iv, 4 + bytes sealed under the vault's meta key
46
+ // entrycount 4 uint32
47
+ // per entry:
48
+ // id 1 + bytes the blinded lookup id
49
+ // name 1 + iv, 4 + bytes sealed under the vault's name key
50
+ // value 1 + iv, 4 + bytes sealed under that secret's own key
51
+ //
52
+ // Integers are big-endian, and every length precedes its bytes. A file
53
+ // one port writes is read by every other; `test/fixture` pins that with
54
+ // a committed vault rather than with agreement.
55
+
56
+ const MAGIC = 'SKMV'
57
+ const FORMAT = 1
58
+ const KDF_PBKDF2 = 1
59
+ const CIPHER_AESGCM = 1
60
+
61
+ /** AES-256-GCM: 32-byte keys, 12-byte nonces, 16-byte tags. */
62
+ const KEYLEN = 32
63
+ const IVLEN = 12
64
+ const TAGLEN = 16
65
+ const SALTLEN = 16
66
+
67
+ /** PBKDF2-HMAC-SHA256 rounds when a caller names none. */
68
+ const ITERATIONS = 210000
69
+
70
+ /** The key id a vault gets when a caller names none. */
71
+ const MASTERKEY = 'master'
72
+
73
+ // Additional authenticated data. Every blob is bound to its PLACE in the
74
+ // file, so no ciphertext can be moved.
75
+ const AAD_RING = 'skmv1:ring:'
76
+ const AAD_META = 'skmv1:meta:'
77
+ const AAD_NAME = 'skmv1:name'
78
+ const AAD_SECRET = 'skmv1:secret:'
79
+
80
+ // Everything a master can reach is derived from the root key, so a
81
+ // rotation is one new random value rather than a re-wrap of each part.
82
+ const LABEL_NAMES = 'skmv1:names'
83
+ const LABEL_META = 'skmv1:meta'
84
+ const LABEL_ID = 'skmv1:id'
85
+
86
+
87
+ function fail(text) {
88
+ throw new SekretoError('sekreto: minivault: ' + text)
89
+ }
90
+
91
+ /** The largest key id the format can record.
92
+ *
93
+ * `small` writes a length in ONE byte. A longer id wrapped that byte and
94
+ * the writer then appended the whole thing, so every field after it
95
+ * shifted. Checked where an id is ACCEPTED, so the refusal names the id
96
+ * rather than the file. */
97
+ const IDMAX = 255
98
+
99
+ function checkid(id, what) {
100
+ if ('string' !== typeof id || '' === id) {
101
+ fail(what)
102
+ }
103
+ if (IDMAX < Buffer.byteLength(id, 'utf8')) {
104
+ fail('key id is longer than ' + IDMAX + ' bytes: ' + id.substring(0, 32) + '...')
105
+ }
106
+ return id
107
+ }
108
+
109
+
110
+ // --- keys ------------------------------------------------------------
111
+
112
+ function hmac(key, text) {
113
+ return crypto().createHmac('sha256', key).update(text, 'utf8').digest()
114
+ }
115
+
116
+ /** The key-encryption key a passphrase unwraps a ring with. */
117
+ function kek(passphrase, salt, iters) {
118
+ return crypto().pbkdf2Sync(passphrase, salt, iters, KEYLEN, 'sha256')
119
+ }
120
+
121
+ /** The key one named secret's value is encrypted with.
122
+ *
123
+ * DERIVED, never stored, for a master: it holds the root key and so
124
+ * reaches every name, including ones written after it was made. A
125
+ * restricted key holds the derived keys it was granted and nothing that
126
+ * produces another. */
127
+ function secretkey(root, name) {
128
+ return hmac(root, AAD_SECRET + name)
129
+ }
130
+
131
+ /** Where a secret lives in the file, derived from its own key so that
132
+ * finding it needs no plaintext name. */
133
+ function entryid(key) {
134
+ return hmac(key, LABEL_ID)
135
+ }
136
+
137
+ function random(len) {
138
+ return crypto().randomBytes(len)
139
+ }
140
+
141
+
142
+ // --- sealing ---------------------------------------------------------
143
+
144
+ function seal(key, plain, aad) {
145
+ const iv = random(IVLEN)
146
+ const cipher = crypto().createCipheriv('aes-256-gcm', key, iv)
147
+ cipher.setAAD(Buffer.from(aad, 'utf8'))
148
+ const body = Buffer.concat([cipher.update(plain), cipher.final()])
149
+ return { iv, blob: Buffer.concat([body, cipher.getAuthTag()]) }
150
+ }
151
+
152
+ /** The plaintext, or a refusal. A GCM tag that fails to verify is the
153
+ * only evidence there is, and it cannot tell a wrong passphrase from a
154
+ * damaged file, so `what` names the attempt and the message admits
155
+ * both. */
156
+ function unseal(key, sealed, aad, what) {
157
+ if (sealed.blob.length < TAGLEN || IVLEN !== sealed.iv.length) {
158
+ fail(what + ': truncated')
159
+ }
160
+
161
+ // The WHOLE round-trip is guarded, not only `final()`. A nonce or tag
162
+ // of the wrong length makes the constructor itself raise.
163
+ try {
164
+ const decipher = crypto().createDecipheriv('aes-256-gcm', key, sealed.iv)
165
+ decipher.setAAD(Buffer.from(aad, 'utf8'))
166
+ decipher.setAuthTag(sealed.blob.subarray(sealed.blob.length - TAGLEN))
167
+
168
+ return Buffer.concat([
169
+ decipher.update(sealed.blob.subarray(0, sealed.blob.length - TAGLEN)),
170
+ decipher.final(),
171
+ ])
172
+ } catch {
173
+ return fail(what)
174
+ }
175
+ }
176
+
177
+ function jsonof(plain, what) {
178
+ try {
179
+ return JSON.parse(plain.toString('utf8'))
180
+ } catch {
181
+ return fail('unreadable ' + what)
182
+ }
183
+ }
184
+
185
+ function b64(bytes) {
186
+ return bytes.toString('base64')
187
+ }
188
+
189
+ function unb64(text, what) {
190
+ if ('string' !== typeof text) {
191
+ fail('missing ' + what)
192
+ }
193
+ return Buffer.from(text, 'base64')
194
+ }
195
+
196
+
197
+ // --- the file --------------------------------------------------------
198
+
199
+ /** A cursor, so that every length check is in one place: a truncated
200
+ * vault is refused rather than read as a short one. */
201
+ function reader(bytes) {
202
+ let at = 0
203
+
204
+ const take = (len) => {
205
+ if (bytes.length < at + len) {
206
+ fail('the vault file is truncated')
207
+ }
208
+ const out = Buffer.from(bytes.subarray(at, at + len))
209
+ at += len
210
+ return out
211
+ }
212
+
213
+ const u8 = () => take(1)[0]
214
+ const u32 = () => take(4).readUInt32BE(0)
215
+ const small = () => take(u8())
216
+ const large = () => take(u32())
217
+
218
+ return {
219
+ u8,
220
+ u32,
221
+ small,
222
+ large,
223
+ magic: () => take(4).toString('latin1'),
224
+ sealed: () => ({ iv: small(), blob: large() }),
225
+ done: () => at === bytes.length,
226
+ }
227
+ }
228
+
229
+ function readfile(bytes) {
230
+ const read = reader(bytes)
231
+
232
+ if (MAGIC !== read.magic()) {
233
+ fail('not a vault file')
234
+ }
235
+
236
+ const version = read.u8()
237
+ if (FORMAT !== version) {
238
+ fail('unsupported format version: ' + version)
239
+ }
240
+
241
+ const kdf = read.u8()
242
+ const cipher = read.u8()
243
+ if (KDF_PBKDF2 !== kdf || CIPHER_AESGCM !== cipher) {
244
+ fail('unsupported kdf or cipher: ' + kdf + '/' + cipher)
245
+ }
246
+ read.u8()
247
+
248
+ const keys = []
249
+ const keycount = read.u32()
250
+ for (let index = 0; index < keycount; index++) {
251
+ const id = read.small().toString('utf8')
252
+ const salt = read.small()
253
+ const iters = read.u32()
254
+ keys.push({ id, salt, iters, ring: read.sealed(), meta: read.sealed() })
255
+ }
256
+
257
+ const entries = []
258
+ const entrycount = read.u32()
259
+ for (let index = 0; index < entrycount; index++) {
260
+ entries.push({ id: read.small(), name: read.sealed(), value: read.sealed() })
261
+ }
262
+
263
+ if (!read.done()) {
264
+ fail('the vault file has trailing bytes')
265
+ }
266
+
267
+ return { keys, entries }
268
+ }
269
+
270
+ function writefile(vault) {
271
+ const parts = []
272
+
273
+ const u8 = (value) => parts.push(Buffer.from([value]))
274
+ const u32 = (value) => {
275
+ const four = Buffer.alloc(4)
276
+ four.writeUInt32BE(value, 0)
277
+ parts.push(four)
278
+ }
279
+ const small = (bytes) => { u8(bytes.length); parts.push(bytes) }
280
+ const large = (bytes) => { u32(bytes.length); parts.push(bytes) }
281
+ const sealed = (value) => { small(value.iv); large(value.blob) }
282
+
283
+ parts.push(Buffer.from(MAGIC, 'latin1'))
284
+ u8(FORMAT)
285
+ u8(KDF_PBKDF2)
286
+ u8(CIPHER_AESGCM)
287
+ u8(0)
288
+
289
+ u32(vault.keys.length)
290
+ for (const key of vault.keys) {
291
+ small(Buffer.from(key.id, 'utf8'))
292
+ small(key.salt)
293
+ u32(key.iters)
294
+ sealed(key.ring)
295
+ sealed(key.meta)
296
+ }
297
+
298
+ // SORTED BY ID, which is a blinded value: the file therefore records
299
+ // nothing about the order secrets were written in.
300
+ const entries = [...vault.entries].sort((left, right) => Buffer.compare(left.id, right.id))
301
+
302
+ u32(entries.length)
303
+ for (const entry of entries) {
304
+ small(entry.id)
305
+ sealed(entry.name)
306
+ sealed(entry.value)
307
+ }
308
+
309
+ return Buffer.concat(parts)
310
+ }
311
+
312
+
313
+ // --- what a key is ---------------------------------------------------
314
+
315
+ /** A detached copy, so that what a caller is handed cannot become what
316
+ * this vault believes. */
317
+ function copyinfo(info) {
318
+ return {
319
+ key: info.key,
320
+ master: info.master,
321
+ write: info.write,
322
+ grants: [...info.grants],
323
+ }
324
+ }
325
+
326
+
327
+ // --- creating --------------------------------------------------------
328
+
329
+ /** A new vault: one master key, no secrets. */
330
+ function newvault(keyid, passphrase, iterations) {
331
+ const root = random(KEYLEN)
332
+ const salt = random(SALTLEN)
333
+
334
+ const ring = { v: FORMAT, write: true, root: b64(root) }
335
+ const meta = { v: FORMAT, master: true, write: true, grants: [] }
336
+
337
+ return {
338
+ keys: [{
339
+ id: keyid,
340
+ salt,
341
+ iters: iterations,
342
+ ring: seal(kek(passphrase, salt, iterations),
343
+ Buffer.from(JSON.stringify(ring), 'utf8'), AAD_RING + keyid),
344
+ meta: seal(hmac(root, LABEL_META),
345
+ Buffer.from(JSON.stringify(meta), 'utf8'), AAD_META + keyid),
346
+ }],
347
+ entries: [],
348
+ }
349
+ }
350
+
351
+ /** Write a vault file that is not there yet, and REFUSE one that is.
352
+ *
353
+ * Straight to the target under `wx` — `O_CREAT|O_EXCL` — rather than
354
+ * through a temporary and a rename. `rename` REPLACES its destination,
355
+ * so two processes creating the same vault both succeeded and the
356
+ * second discarded the first one's secrets. */
357
+ function putnew(file, vault) {
358
+ try {
359
+ fs().writeFileSync(file, writefile(vault), { mode: 0o600, flag: 'wx' })
360
+ } catch (err) {
361
+ if ('EEXIST' === err.code) {
362
+ fail('vault file already exists: ' + file)
363
+ }
364
+ fail('cannot write ' + file + ': ' + err.message)
365
+ }
366
+ }
367
+
368
+
369
+ // --- opening ---------------------------------------------------------
370
+
371
+ /** Is this the same sealed blob, byte for byte? */
372
+ function sameseal(left, right) {
373
+ return 0 === Buffer.compare(left.iv, right.iv) && 0 === Buffer.compare(left.blob, right.blob)
374
+ }
375
+
376
+ /** Open a vault file as one key.
377
+ *
378
+ * The handle is lazy. Nothing is read, and no passphrase is stretched,
379
+ * until a method needs the file. */
380
+ function openvault(options) {
381
+ const opts = options || {}
382
+ const file = opts.file
383
+ const keyid = opts.key || MASTERKEY
384
+ const passphrase = opts.passphrase
385
+ const iterations = opts.iterations || ITERATIONS
386
+
387
+ if ('string' !== typeof file || '' === file) {
388
+ fail('a vault needs a file')
389
+ }
390
+ if ('string' !== typeof passphrase || '' === passphrase) {
391
+ fail('a vault needs a passphrase')
392
+ }
393
+ checkid(keyid, 'a vault needs a key id')
394
+
395
+ let opened
396
+
397
+ const bytes = () => {
398
+ try {
399
+ return fs().readFileSync(file)
400
+ } catch (err) {
401
+ // A vault is configured deliberately, with a key. Its absence is a
402
+ // broken deployment and never "no secrets here": answering a miss
403
+ // would send the chain on to a weaker store.
404
+ if ('ENOENT' === err.code) {
405
+ if (true !== opts.create) {
406
+ fail('no vault file: ' + file)
407
+ }
408
+ putnew(file, newvault(keyid, passphrase, iterations))
409
+ return fs().readFileSync(file)
410
+ }
411
+ return fail('cannot read ' + file + ': ' + err.message)
412
+ }
413
+ }
414
+
415
+ const load = () => {
416
+ const vault = readfile(bytes())
417
+
418
+ const record = vault.keys.find((k) => k.id === keyid)
419
+ if (undefined === record) {
420
+ // REVOKED, or never there. Either way this handle is finished, and
421
+ // dropping what it derived is what stops the next call answering
422
+ // from memory.
423
+ opened = undefined
424
+ fail('no such key: ' + keyid)
425
+ }
426
+
427
+ // The file still holds this key, and holds the SAME ring: a key
428
+ // revoked and re-granted under another passphrase is a different key
429
+ // wearing the id, and re-deriving is what refuses it.
430
+ if (undefined !== opened && sameseal(opened.ring, record.ring)) {
431
+ return { vault, open: opened }
432
+ }
433
+ opened = undefined
434
+
435
+ const plain = unseal(kek(passphrase, record.salt, record.iters), record.ring,
436
+ AAD_RING + keyid, 'wrong passphrase for key ' + keyid + ', or a damaged vault')
437
+
438
+ const ring = jsonof(plain, 'key ring for ' + keyid)
439
+
440
+ const grants = {}
441
+ for (const [name, key] of Object.entries(ring.grants || {})) {
442
+ grants[name] = unb64(key, 'a granted key')
443
+ }
444
+
445
+ opened = {
446
+ info: {
447
+ key: keyid,
448
+ master: undefined !== ring.root,
449
+ write: undefined !== ring.root || true === ring.write,
450
+ grants: Object.keys(grants).sort(),
451
+ },
452
+ root: undefined === ring.root ? undefined : unb64(ring.root, 'the root key'),
453
+ grants,
454
+ ring: record.ring,
455
+ }
456
+
457
+ return { vault, open: opened }
458
+ }
459
+
460
+ const rootof = (open, what) => {
461
+ if (undefined === open.root) {
462
+ fail(what + ' needs a master key, and ' + open.info.key + ' is restricted')
463
+ }
464
+ return open.root
465
+ }
466
+
467
+ /** The key for one name, or undefined when this key cannot reach it. */
468
+ const keyfor = (open, name) => {
469
+ if (undefined !== open.root) {
470
+ return secretkey(open.root, name)
471
+ }
472
+ return open.grants[name]
473
+ }
474
+
475
+ const findentry = (vault, key) => {
476
+ const id = entryid(key)
477
+ return vault.entries.find((entry) => 0 === Buffer.compare(entry.id, id))
478
+ }
479
+
480
+ const metaof = (open, record) => {
481
+ const root = rootof(open, 'reading key metadata')
482
+ try {
483
+ return jsonof(unseal(hmac(root, LABEL_META), record.meta, AAD_META + record.id,
484
+ 'metadata for key ' + record.id), 'metadata for key ' + record.id)
485
+ } catch {
486
+ // A record written under a root key this one has replaced. The key
487
+ // is still in the file and still opens with its own passphrase, so
488
+ // it is reported rather than hidden - with what it can do unknown.
489
+ return undefined
490
+ }
491
+ }
492
+
493
+ const sealkey = (root, id, phrase, iters, ring, meta) => {
494
+ const salt = random(SALTLEN)
495
+ return {
496
+ id,
497
+ salt,
498
+ iters,
499
+ ring: seal(kek(phrase, salt, iters), Buffer.from(JSON.stringify(ring), 'utf8'), AAD_RING + id),
500
+ meta: seal(hmac(root, LABEL_META), Buffer.from(JSON.stringify(meta), 'utf8'), AAD_META + id),
501
+ }
502
+ }
503
+
504
+ /** Read, change, and REPLACE - never edit in place.
505
+ *
506
+ * THE TEMPORARY IS RANDOM AND EXCLUSIVE. `<vault>.<pid>.tmp` is a name
507
+ * anyone can predict, so anyone who can write the vault's directory
508
+ * could put a symlink there and have the next save truncate whatever
509
+ * it pointed at. */
510
+ const save = (vault) => {
511
+ const node = fs()
512
+ const temp = file + '.' + random(8).toString('hex') + '.tmp'
513
+
514
+ try {
515
+ node.writeFileSync(temp, writefile(vault), { mode: 0o600, flag: 'wx' })
516
+ node.renameSync(temp, file)
517
+ } catch (err) {
518
+ try {
519
+ node.unlinkSync(temp)
520
+ } catch {
521
+ // The vault is unchanged either way, and the write error is what
522
+ // the caller needs to be told about.
523
+ }
524
+ fail('cannot write ' + file + ': ' + err.message)
525
+ }
526
+ }
527
+
528
+ const self = {
529
+ file: () => file,
530
+ key: () => keyid,
531
+
532
+ // A COPY. `set` reads `info.write` to decide whether this key may
533
+ // write, so handing the caller the object itself let it flip its own
534
+ // permission. Authorization state does not leave this closure.
535
+ open: () => copyinfo(load().open.info),
536
+
537
+ close: () => { opened = undefined },
538
+
539
+ list: () => {
540
+ const { vault, open } = load()
541
+
542
+ if (undefined !== open.root) {
543
+ const namekey = hmac(open.root, LABEL_NAMES)
544
+ return vault.entries
545
+ .map((entry) => unseal(namekey, entry.name, AAD_NAME, 'a secret name is damaged')
546
+ .toString('utf8'))
547
+ .sort()
548
+ }
549
+
550
+ // A restricted key has no name key, so it reports the grants it can
551
+ // actually find: the vault never tells it what else is in there.
552
+ return open.info.grants
553
+ .filter((name) => undefined !== findentry(vault, open.grants[name]))
554
+ .sort()
555
+ },
556
+
557
+ has: (name) => undefined !== self.get(name),
558
+
559
+ get: (name) => {
560
+ checkname(name)
561
+ const { vault, open } = load()
562
+
563
+ const key = keyfor(open, name)
564
+ if (undefined === key) {
565
+ // OUTSIDE THE GRANT IS A MISS, deliberately. The vault answers as
566
+ // the key that opened it, so a name this key cannot read is a
567
+ // name this store does not hold for this caller.
568
+ return undefined
569
+ }
570
+
571
+ const entry = findentry(vault, key)
572
+ if (undefined === entry) {
573
+ return undefined
574
+ }
575
+
576
+ return unseal(key, entry.value, AAD_SECRET + name,
577
+ 'the value of ' + name + ' is damaged').toString('utf8')
578
+ },
579
+
580
+ set: (name, value) => {
581
+ checkname(name)
582
+ if ('string' !== typeof value) {
583
+ fail('a secret value must be text: ' + name)
584
+ }
585
+
586
+ const { vault, open } = load()
587
+
588
+ if (!open.info.write) {
589
+ fail('key ' + open.info.key + ' is read-only')
590
+ }
591
+
592
+ const key = keyfor(open, name)
593
+ if (undefined === key) {
594
+ fail('key ' + open.info.key + ' was not granted ' + name)
595
+ }
596
+
597
+ const sealedvalue = seal(key, Buffer.from(value, 'utf8'), AAD_SECRET + name)
598
+ const id = entryid(key)
599
+ const at = vault.entries.findIndex((entry) => 0 === Buffer.compare(entry.id, id))
600
+
601
+ if (-1 !== at) {
602
+ vault.entries[at] = {
603
+ id: vault.entries[at].id,
604
+ name: vault.entries[at].name,
605
+ value: sealedvalue,
606
+ }
607
+ } else {
608
+ // A NEW NAME NEEDS THE NAME KEY, which only a master holds. So a
609
+ // restricted key with `write` updates what it was granted and
610
+ // cannot grow the vault.
611
+ const root = rootof(open, 'creating the secret ' + name)
612
+ vault.entries.push({
613
+ id,
614
+ name: seal(hmac(root, LABEL_NAMES), Buffer.from(name, 'utf8'), AAD_NAME),
615
+ value: sealedvalue,
616
+ })
617
+ }
618
+
619
+ save(vault)
620
+ },
621
+
622
+ remove: (name) => {
623
+ checkname(name)
624
+ const { vault, open } = load()
625
+ const root = rootof(open, 'removing a secret')
626
+
627
+ const at = vault.entries.findIndex(
628
+ (entry) => 0 === Buffer.compare(entry.id, entryid(secretkey(root, name))))
629
+ if (-1 === at) {
630
+ fail('no such secret: ' + name)
631
+ }
632
+
633
+ vault.entries.splice(at, 1)
634
+ save(vault)
635
+ },
636
+
637
+ keys: () => {
638
+ const { vault, open } = load()
639
+ rootof(open, 'listing the keys')
640
+
641
+ return vault.keys.map((record) => {
642
+ const meta = metaof(open, record)
643
+ if (undefined === meta) {
644
+ return { key: record.id, master: false, write: false, grants: [] }
645
+ }
646
+ return {
647
+ key: record.id,
648
+ master: true === meta.master,
649
+ write: true === meta.write,
650
+ grants: [...(meta.grants || [])].sort(),
651
+ }
652
+ })
653
+ },
654
+
655
+ grant: (spec) => {
656
+ const { vault, open } = load()
657
+ const root = rootof(open, 'granting a key')
658
+
659
+ checkid(null == spec ? '' : spec.key, 'a grant needs a key id')
660
+ if ('string' !== typeof spec.passphrase || '' === spec.passphrase) {
661
+ fail('a grant needs a passphrase')
662
+ }
663
+ if (undefined !== vault.keys.find((k) => k.id === spec.key)) {
664
+ fail('key already exists: ' + spec.key)
665
+ }
666
+
667
+ const names = [...(spec.names || [])].sort()
668
+ const grants = {}
669
+ for (const name of names) {
670
+ checkname(name)
671
+ grants[name] = b64(secretkey(root, name))
672
+ }
673
+
674
+ const write = true === spec.write
675
+ vault.keys.push(sealkey(root, spec.key, spec.passphrase, spec.iterations || iterations,
676
+ { v: FORMAT, write, grants },
677
+ { v: FORMAT, master: false, write, grants: names }))
678
+
679
+ save(vault)
680
+ },
681
+
682
+ revoke: (key) => {
683
+ const { vault, open } = load()
684
+ rootof(open, 'revoking a key')
685
+
686
+ if (key === open.info.key) {
687
+ fail('a key cannot revoke itself: ' + key)
688
+ }
689
+
690
+ const at = vault.keys.findIndex((k) => k.id === key)
691
+ if (-1 === at) {
692
+ fail('no such key: ' + key)
693
+ }
694
+
695
+ vault.keys.splice(at, 1)
696
+ save(vault)
697
+ },
698
+
699
+ rotate: () => {
700
+ const { vault, open } = load()
701
+ rootof(open, 'rotating the vault')
702
+
703
+ // Read everything out under the old root before anything changes:
704
+ // once the root is replaced the old derived keys are unreachable.
705
+ const plain = self.list().map((name) => ({ name, value: self.get(name) }))
706
+
707
+ const root = random(KEYLEN)
708
+ const namekey = hmac(root, LABEL_NAMES)
709
+
710
+ const entries = plain.map((secret) => {
711
+ const key = secretkey(root, secret.name)
712
+ return {
713
+ id: entryid(key),
714
+ name: seal(namekey, Buffer.from(secret.name, 'utf8'), AAD_NAME),
715
+ value: seal(key, Buffer.from(secret.value, 'utf8'), AAD_SECRET + secret.name),
716
+ }
717
+ })
718
+
719
+ const record = vault.keys.find((k) => k.id === keyid)
720
+
721
+ const fresh = sealkey(root, keyid, passphrase, record.iters,
722
+ { v: FORMAT, write: true, root: b64(root) },
723
+ { v: FORMAT, master: true, write: true, grants: [] })
724
+
725
+ // SAVE FIRST, adopt second. A handle holding the new root over a
726
+ // file that still holds the old one reads nothing and says the
727
+ // vault is damaged.
728
+ save({ keys: [fresh], entries })
729
+
730
+ opened = {
731
+ info: { key: keyid, master: true, write: true, grants: [] },
732
+ root,
733
+ grants: {},
734
+ ring: fresh.ring,
735
+ }
736
+ },
737
+ }
738
+
739
+ return self
740
+ }
741
+
742
+ /** Make a vault file and return a handle on its master key.
743
+ *
744
+ * Refuses a file that is already there: a vault is created once, and
745
+ * overwriting one discards every secret in it. */
746
+ function createvault(options) {
747
+ const opts = options || {}
748
+
749
+ if ('string' !== typeof opts.file || '' === opts.file) {
750
+ fail('a vault needs a file')
751
+ }
752
+ if ('string' !== typeof opts.passphrase || '' === opts.passphrase) {
753
+ fail('a vault needs a passphrase')
754
+ }
755
+ checkid(opts.key || MASTERKEY, 'a vault needs a key id')
756
+
757
+ // No `existsSync` first: the check and the write would be two steps,
758
+ // and `putnew` refuses an existing file in ONE.
759
+ putnew(opts.file, newvault(opts.key || MASTERKEY, opts.passphrase, opts.iterations || ITERATIONS))
760
+
761
+ return openvault(opts)
762
+ }
763
+
764
+
765
+ // --- the provider ----------------------------------------------------
766
+
767
+ /** Read a vault as one store in a chain.
768
+ *
769
+ * The provider is the READ half and nothing more: a chain resolves
770
+ * secrets, and writing one is a deliberate act with an API of its own. */
771
+ function providerof(vault) {
772
+ return {
773
+ lookup: (name) => vault.get(name),
774
+ describe: () => 'minivault:' + vault.file(),
775
+ }
776
+ }
777
+
778
+ /** A vault provider from options, for a chain built by hand. */
779
+ function minivaultprovider(options) {
780
+ return providerof(openvault(options))
781
+ }
782
+
783
+ /** The vault options a provider spec describes. */
784
+ function vaultoptions(spec) {
785
+ return {
786
+ file: spec.file || '',
787
+ key: spec.vaultkey,
788
+ passphrase: spec.passphrase || '',
789
+ iterations: spec.iterations,
790
+ create: true === spec.create,
791
+ }
792
+ }
793
+
794
+
795
+ // --- the plugin ------------------------------------------------------
796
+
797
+ /** The export key the vault API is published under, beside the
798
+ * `provider` key every kind publishes. */
799
+ const VAULT_EXPORT = 'vault'
800
+
801
+ /** The `minivault` provider kind.
802
+ *
803
+ * Written out rather than built by `providerplugin`, because this
804
+ * definition publishes TWO exports: `provider`, the read half every kind
805
+ * publishes, and `vault`, the programmatic API. */
806
+ const minivault = {
807
+ name: 'minivault',
808
+ define: (inst) => {
809
+ const options = vaultoptions(inst.options)
810
+
811
+ try {
812
+ // `openvault` refuses bad configuration HERE, so a mistyped chain
813
+ // fails at construction. Reaching the FILE is not configuration:
814
+ // the handle is lazy.
815
+ const vault = openvault(options)
816
+
817
+ inst.export(PROVIDER_EXPORT, providerof(vault))
818
+ inst.export(VAULT_EXPORT, vault)
819
+ } catch (err) {
820
+ if (err instanceof SekretoError) {
821
+ throw new PluginError(ERROR_CODE, err.message, { ref: inst.ref, cause: err.message })
822
+ }
823
+ throw err
824
+ }
825
+ },
826
+ }
827
+
828
+ /** The vault behind a store in a chain, as its programmatic API.
829
+ *
830
+ * With no store named, the unqualified alias answers: one vault in the
831
+ * chain resolves whatever it is called, and two raise rather than
832
+ * picking one. */
833
+ function vaultof(secrets, store) {
834
+ if (undefined === store) {
835
+ const found = secrets.host.exports('minivault/' + VAULT_EXPORT)
836
+ if (undefined === found) {
837
+ fail('no minivault store in this chain')
838
+ }
839
+ return found
840
+ }
841
+
842
+ // A NAMED STORE MUST EXIST, and the alias must not stand in for it.
843
+ // `host.exports` falls back to the alias when the exact ref misses, so
844
+ // asking for `minivault` in a chain whose only vault is named `app`
845
+ // used to hand back the `app` vault - and then write to it.
846
+ const ref = 'minivault' === store ? 'minivault' : 'minivault$' + store
847
+
848
+ if (undefined === secrets.host.instance(ref)) {
849
+ fail('no minivault store named ' + store + ' in this chain')
850
+ }
851
+
852
+ return secrets.host.exports(ref + '/' + VAULT_EXPORT)
853
+ }
854
+
855
+
856
+ module.exports = {
857
+ ITERATIONS,
858
+ MASTERKEY,
859
+ VAULT_EXPORT,
860
+ createvault,
861
+ minivault,
862
+ minivaultprovider,
863
+ openvault,
864
+ providerof,
865
+ vaultof,
866
+ }