@voxgig/sdkgen 4.10.0 → 4.12.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 (880) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/dist/action/resolve.js +75 -1
  3. package/dist/action/resolve.js.map +1 -1
  4. package/dist/tsconfig.tsbuildinfo +1 -1
  5. package/dist/utility.js +17 -0
  6. package/dist/utility.js.map +1 -1
  7. package/package.json +4 -3
  8. package/project/.sdk/model/feature/secrets.aon +330 -0
  9. package/project/.sdk/model/target/c.aon +15 -2
  10. package/project/.sdk/model/target/cpp.aon +18 -0
  11. package/project/.sdk/model/target/lua.aon +17 -0
  12. package/project/.sdk/model/target/ocaml.aon +48 -5
  13. package/project/.sdk/model/target/zig.aon +30 -4
  14. package/project/.sdk/src/cmp/c/Config_c.ts +338 -1
  15. package/project/.sdk/src/cmp/c/Main_c.ts +57 -2
  16. package/project/.sdk/src/cmp/c/Package_c.ts +12 -2
  17. package/project/.sdk/src/cmp/cpp/Config_cpp.ts +324 -2
  18. package/project/.sdk/src/cmp/cpp/Gitignore_cpp.ts +2 -0
  19. package/project/.sdk/src/cmp/cpp/Main_cpp.ts +62 -4
  20. package/project/.sdk/src/cmp/cpp/Package_cpp.ts +10 -0
  21. package/project/.sdk/src/cmp/lua/Config_lua.ts +88 -0
  22. package/project/.sdk/src/cmp/lua/Gitignore_lua.ts +4 -0
  23. package/project/.sdk/src/cmp/lua/Main_lua.ts +93 -3
  24. package/project/.sdk/src/cmp/lua/Package_lua.ts +60 -0
  25. package/project/.sdk/src/cmp/lua/fragment/Main.fragment.lua +10 -0
  26. package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +183 -5
  27. package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +160 -3
  28. package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +25 -1
  29. package/project/.sdk/src/cmp/zig/Config_zig.ts +130 -9
  30. package/project/.sdk/src/cmp/zig/Main_zig.ts +208 -4
  31. package/project/.sdk/{tm/zig/build.zig → src/cmp/zig/fragment/Build.fragment.zig} +7 -0
  32. package/project/.sdk/src/cmp/zig/fragment/Main.fragment.zig +25 -0
  33. package/project/.sdk/{tm/zig/root.zig → src/cmp/zig/fragment/Root.fragment.zig} +9 -0
  34. package/project/.sdk/tm/c/Makefile +58 -9
  35. package/project/.sdk/tm/c/core/sdk.h +10 -0
  36. package/project/.sdk/tm/c/feature/secrets/plugin/capability.c +133 -0
  37. package/project/.sdk/tm/c/feature/secrets/plugin/capability.h +39 -0
  38. package/project/.sdk/tm/c/feature/secrets/plugin/catalog.c +83 -0
  39. package/project/.sdk/tm/c/feature/secrets/plugin/catalog.h +48 -0
  40. package/project/.sdk/tm/c/feature/secrets/plugin/config.c +413 -0
  41. package/project/.sdk/tm/c/feature/secrets/plugin/config.h +24 -0
  42. package/project/.sdk/tm/c/feature/secrets/plugin/depend.c +264 -0
  43. package/project/.sdk/tm/c/feature/secrets/plugin/depend.h +29 -0
  44. package/project/.sdk/tm/c/feature/secrets/plugin/env.c +220 -0
  45. package/project/.sdk/tm/c/feature/secrets/plugin/env.h +19 -0
  46. package/project/.sdk/tm/c/feature/secrets/plugin/export.c +97 -0
  47. package/project/.sdk/tm/c/feature/secrets/plugin/export.h +19 -0
  48. package/project/.sdk/tm/c/feature/secrets/plugin/graph.c +237 -0
  49. package/project/.sdk/tm/c/feature/secrets/plugin/graph.h +17 -0
  50. package/project/.sdk/tm/c/feature/secrets/plugin/host.c +1494 -0
  51. package/project/.sdk/tm/c/feature/secrets/plugin/host.h +135 -0
  52. package/project/.sdk/tm/c/feature/secrets/plugin/order.c +288 -0
  53. package/project/.sdk/tm/c/feature/secrets/plugin/order.h +18 -0
  54. package/project/.sdk/tm/c/feature/secrets/plugin/point.c +141 -0
  55. package/project/.sdk/tm/c/feature/secrets/plugin/point.h +80 -0
  56. package/project/.sdk/tm/c/feature/secrets/plugin/ref.c +170 -0
  57. package/project/.sdk/tm/c/feature/secrets/plugin/ref.h +52 -0
  58. package/project/.sdk/tm/c/feature/secrets/plugin/resolve.c +98 -0
  59. package/project/.sdk/tm/c/feature/secrets/plugin/resolve.h +18 -0
  60. package/project/.sdk/tm/c/feature/secrets/plugin/types.c +150 -0
  61. package/project/.sdk/tm/c/feature/secrets/plugin/types.h +104 -0
  62. package/project/.sdk/tm/c/feature/secrets/plugin/value.c +649 -0
  63. package/project/.sdk/tm/c/feature/secrets/plugin/value.h +135 -0
  64. package/project/.sdk/tm/c/feature/secrets/plugin/version.c +151 -0
  65. package/project/.sdk/tm/c/feature/secrets/plugin/version.h +34 -0
  66. package/project/.sdk/tm/c/feature/secrets/plugins/aws.c +281 -0
  67. package/project/.sdk/tm/c/feature/secrets/plugins/azuresecrets.c +207 -0
  68. package/project/.sdk/tm/c/feature/secrets/plugins/boru.c +164 -0
  69. package/project/.sdk/tm/c/feature/secrets/plugins/clock.c +75 -0
  70. package/project/.sdk/tm/c/feature/secrets/plugins/doppler.c +141 -0
  71. package/project/.sdk/tm/c/feature/secrets/plugins/encode.c +144 -0
  72. package/project/.sdk/tm/c/feature/secrets/plugins/gcpsecrets.c +177 -0
  73. package/project/.sdk/tm/c/feature/secrets/plugins/hashicorp.c +239 -0
  74. package/project/.sdk/tm/c/feature/secrets/plugins/httpjson.c +599 -0
  75. package/project/.sdk/tm/c/feature/secrets/plugins/infisical.c +165 -0
  76. package/project/.sdk/tm/c/feature/secrets/plugins/onepassword.c +194 -0
  77. package/project/.sdk/tm/c/feature/secrets/plugins/proc.c +233 -0
  78. package/project/.sdk/tm/c/feature/secrets/plugins/secretspec.c +125 -0
  79. package/project/.sdk/tm/c/feature/secrets/plugins/sekretoplugins.h +125 -0
  80. package/project/.sdk/tm/c/feature/secrets/plugins/sha256.c +270 -0
  81. package/project/.sdk/tm/c/feature/secrets/plugins/sigv4.c +382 -0
  82. package/project/.sdk/tm/c/feature/secrets/plugins/support.h +153 -0
  83. package/project/.sdk/tm/c/feature/secrets/plugins/tls.c +420 -0
  84. package/project/.sdk/tm/c/feature/secrets/sekreto/internal.h +86 -0
  85. package/project/.sdk/tm/c/feature/secrets/sekreto/json.c +721 -0
  86. package/project/.sdk/tm/c/feature/secrets/sekreto/providers.c +813 -0
  87. package/project/.sdk/tm/c/feature/secrets/sekreto/sekreto.c +944 -0
  88. package/project/.sdk/tm/c/feature/secrets/sekreto/sekreto.h +490 -0
  89. package/project/.sdk/tm/c/feature/secrets/sekreto/util.c +442 -0
  90. package/project/.sdk/tm/c/feature/secrets.c +797 -0
  91. package/project/.sdk/tm/c/feature/secrets.h +46 -0
  92. package/project/.sdk/tm/c/src/feature/secrets/.gitkeep +0 -0
  93. package/project/.sdk/tm/c/tests/feature/secrets/secrets_test.c +802 -0
  94. package/project/.sdk/tm/c/tests/vendor/omni/json.c +1 -1
  95. package/project/.sdk/tm/c/tests/vendor/omni/omni.h +1 -1
  96. package/project/.sdk/tm/c/tests/vendor/omni/runner.c +1 -1
  97. package/project/.sdk/tm/c/tests/vendor/omni/util.c +1 -1
  98. package/project/.sdk/tm/clojure/feature/secrets/sdk/feature/secrets.clj +38 -11
  99. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/capability.clj +1 -1
  100. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/catalog.clj +1 -1
  101. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/config.clj +1 -1
  102. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/depend.clj +1 -1
  103. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/env.clj +1 -1
  104. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/export.clj +1 -1
  105. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/graph.clj +1 -1
  106. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/host.clj +1 -1
  107. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/json.clj +1 -1
  108. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/order.clj +1 -1
  109. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/point.clj +1 -1
  110. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/ref.clj +1 -1
  111. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/resolve.clj +1 -1
  112. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/types.clj +1 -1
  113. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/version.clj +1 -1
  114. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin.clj +1 -1
  115. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/addr.clj +1 -1
  116. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/chain.clj +1 -1
  117. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/core.clj +1 -1
  118. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/json.clj +1 -1
  119. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/aws.clj +1 -1
  120. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/azuresecrets.clj +1 -1
  121. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/boru.clj +1 -1
  122. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/doppler.clj +1 -1
  123. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/gcpsecrets.clj +1 -1
  124. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/hashicorp.clj +1 -1
  125. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/httpjson.clj +1 -1
  126. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/infisical.clj +1 -1
  127. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/onepassword.clj +1 -1
  128. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/proc.clj +1 -1
  129. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/secretspec.clj +1 -1
  130. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/sigv4.clj +1 -1
  131. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/provider.clj +1 -1
  132. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/providers.clj +1 -1
  133. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto.clj +1 -1
  134. package/project/.sdk/tm/clojure/test/sdk/test/feature/secrets.clj +40 -6
  135. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/json.clj +1 -1
  136. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/runner.clj +1 -1
  137. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/util.clj +1 -1
  138. package/project/.sdk/tm/cpp/Makefile +48 -4
  139. package/project/.sdk/tm/cpp/feature/secrets/plugin/capability.cpp +121 -0
  140. package/project/.sdk/tm/cpp/feature/secrets/plugin/capability.hpp +41 -0
  141. package/project/.sdk/tm/cpp/feature/secrets/plugin/catalog.cpp +60 -0
  142. package/project/.sdk/tm/cpp/feature/secrets/plugin/catalog.hpp +66 -0
  143. package/project/.sdk/tm/cpp/feature/secrets/plugin/config.cpp +376 -0
  144. package/project/.sdk/tm/cpp/feature/secrets/plugin/config.hpp +29 -0
  145. package/project/.sdk/tm/cpp/feature/secrets/plugin/depend.cpp +230 -0
  146. package/project/.sdk/tm/cpp/feature/secrets/plugin/depend.hpp +31 -0
  147. package/project/.sdk/tm/cpp/feature/secrets/plugin/env.cpp +205 -0
  148. package/project/.sdk/tm/cpp/feature/secrets/plugin/env.hpp +25 -0
  149. package/project/.sdk/tm/cpp/feature/secrets/plugin/export.cpp +84 -0
  150. package/project/.sdk/tm/cpp/feature/secrets/plugin/export.hpp +24 -0
  151. package/project/.sdk/tm/cpp/feature/secrets/plugin/graph.cpp +222 -0
  152. package/project/.sdk/tm/cpp/feature/secrets/plugin/graph.hpp +21 -0
  153. package/project/.sdk/tm/cpp/feature/secrets/plugin/host.cpp +1200 -0
  154. package/project/.sdk/tm/cpp/feature/secrets/plugin/host.hpp +250 -0
  155. package/project/.sdk/tm/cpp/feature/secrets/plugin/order.cpp +250 -0
  156. package/project/.sdk/tm/cpp/feature/secrets/plugin/order.hpp +22 -0
  157. package/project/.sdk/tm/cpp/feature/secrets/plugin/point.cpp +110 -0
  158. package/project/.sdk/tm/cpp/feature/secrets/plugin/point.hpp +79 -0
  159. package/project/.sdk/tm/cpp/feature/secrets/plugin/ref.cpp +136 -0
  160. package/project/.sdk/tm/cpp/feature/secrets/plugin/ref.hpp +60 -0
  161. package/project/.sdk/tm/cpp/feature/secrets/plugin/resolve.cpp +82 -0
  162. package/project/.sdk/tm/cpp/feature/secrets/plugin/resolve.hpp +25 -0
  163. package/project/.sdk/tm/cpp/feature/secrets/plugin/types.cpp +90 -0
  164. package/project/.sdk/tm/cpp/feature/secrets/plugin/types.hpp +65 -0
  165. package/project/.sdk/tm/cpp/feature/secrets/plugin/value.cpp +491 -0
  166. package/project/.sdk/tm/cpp/feature/secrets/plugin/value.hpp +120 -0
  167. package/project/.sdk/tm/cpp/feature/secrets/plugin/version.cpp +143 -0
  168. package/project/.sdk/tm/cpp/feature/secrets/plugin/version.hpp +36 -0
  169. package/project/.sdk/tm/cpp/feature/secrets/plugins/Aws.cpp +248 -0
  170. package/project/.sdk/tm/cpp/feature/secrets/plugins/Aws.hpp +30 -0
  171. package/project/.sdk/tm/cpp/feature/secrets/plugins/Azuresecrets.cpp +149 -0
  172. package/project/.sdk/tm/cpp/feature/secrets/plugins/Azuresecrets.hpp +23 -0
  173. package/project/.sdk/tm/cpp/feature/secrets/plugins/Boru.cpp +117 -0
  174. package/project/.sdk/tm/cpp/feature/secrets/plugins/Boru.hpp +27 -0
  175. package/project/.sdk/tm/cpp/feature/secrets/plugins/Crypto.cpp +180 -0
  176. package/project/.sdk/tm/cpp/feature/secrets/plugins/Crypto.hpp +52 -0
  177. package/project/.sdk/tm/cpp/feature/secrets/plugins/Doppler.cpp +87 -0
  178. package/project/.sdk/tm/cpp/feature/secrets/plugins/Doppler.hpp +23 -0
  179. package/project/.sdk/tm/cpp/feature/secrets/plugins/Gcpsecrets.cpp +121 -0
  180. package/project/.sdk/tm/cpp/feature/secrets/plugins/Gcpsecrets.hpp +23 -0
  181. package/project/.sdk/tm/cpp/feature/secrets/plugins/Hashicorp.cpp +153 -0
  182. package/project/.sdk/tm/cpp/feature/secrets/plugins/Hashicorp.hpp +23 -0
  183. package/project/.sdk/tm/cpp/feature/secrets/plugins/Httpjson.cpp +666 -0
  184. package/project/.sdk/tm/cpp/feature/secrets/plugins/Httpjson.hpp +160 -0
  185. package/project/.sdk/tm/cpp/feature/secrets/plugins/Infisical.cpp +123 -0
  186. package/project/.sdk/tm/cpp/feature/secrets/plugins/Infisical.hpp +23 -0
  187. package/project/.sdk/tm/cpp/feature/secrets/plugins/Onepassword.cpp +125 -0
  188. package/project/.sdk/tm/cpp/feature/secrets/plugins/Onepassword.hpp +23 -0
  189. package/project/.sdk/tm/cpp/feature/secrets/plugins/Proc.cpp +223 -0
  190. package/project/.sdk/tm/cpp/feature/secrets/plugins/Proc.hpp +47 -0
  191. package/project/.sdk/tm/cpp/feature/secrets/plugins/Secretspec.cpp +104 -0
  192. package/project/.sdk/tm/cpp/feature/secrets/plugins/Secretspec.hpp +27 -0
  193. package/project/.sdk/tm/cpp/feature/secrets/plugins/Sigv4.cpp +242 -0
  194. package/project/.sdk/tm/cpp/feature/secrets/plugins/Sigv4.hpp +58 -0
  195. package/project/.sdk/tm/cpp/feature/secrets/plugins/Tls.cpp +260 -0
  196. package/project/.sdk/tm/cpp/feature/secrets/plugins/Tls.hpp +47 -0
  197. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Json.cpp +476 -0
  198. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Json.hpp +89 -0
  199. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Provider.cpp +312 -0
  200. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Provider.hpp +263 -0
  201. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Providers.cpp +354 -0
  202. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Providers.hpp +111 -0
  203. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Sekreto.cpp +613 -0
  204. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Sekreto.hpp +227 -0
  205. package/project/.sdk/tm/cpp/feature/secrets.hpp +745 -0
  206. package/project/.sdk/tm/cpp/src/feature/secrets/.gitkeep +0 -0
  207. package/project/.sdk/tm/cpp/test/feature/secrets/secrets_test.cpp +808 -0
  208. package/project/.sdk/tm/cpp/test/vendor/omni/json.hpp +1 -1
  209. package/project/.sdk/tm/cpp/test/vendor/omni/omni.hpp +1 -1
  210. package/project/.sdk/tm/cpp/test/vendor/omni/util.hpp +1 -1
  211. package/project/.sdk/tm/csharp/feature/SecretsFeature.cs +34 -8
  212. package/project/.sdk/tm/csharp/feature/secrets/plugin/Capability.cs +1 -1
  213. package/project/.sdk/tm/csharp/feature/secrets/plugin/Catalog.cs +1 -1
  214. package/project/.sdk/tm/csharp/feature/secrets/plugin/Config.cs +1 -1
  215. package/project/.sdk/tm/csharp/feature/secrets/plugin/Definition.cs +1 -1
  216. package/project/.sdk/tm/csharp/feature/secrets/plugin/Depend.cs +1 -1
  217. package/project/.sdk/tm/csharp/feature/secrets/plugin/Entry.cs +1 -1
  218. package/project/.sdk/tm/csharp/feature/secrets/plugin/Env.cs +1 -1
  219. package/project/.sdk/tm/csharp/feature/secrets/plugin/Export.cs +1 -1
  220. package/project/.sdk/tm/csharp/feature/secrets/plugin/Graph.cs +1 -1
  221. package/project/.sdk/tm/csharp/feature/secrets/plugin/Host.cs +1 -1
  222. package/project/.sdk/tm/csharp/feature/secrets/plugin/Inst.cs +1 -1
  223. package/project/.sdk/tm/csharp/feature/secrets/plugin/Json.cs +1 -1
  224. package/project/.sdk/tm/csharp/feature/secrets/plugin/Order.cs +1 -1
  225. package/project/.sdk/tm/csharp/feature/secrets/plugin/Plugin.cs +1 -1
  226. package/project/.sdk/tm/csharp/feature/secrets/plugin/Point.cs +1 -1
  227. package/project/.sdk/tm/csharp/feature/secrets/plugin/Refs.cs +1 -1
  228. package/project/.sdk/tm/csharp/feature/secrets/plugin/Resolve.cs +1 -1
  229. package/project/.sdk/tm/csharp/feature/secrets/plugin/Types.cs +1 -1
  230. package/project/.sdk/tm/csharp/feature/secrets/plugin/Version.cs +1 -1
  231. package/project/.sdk/tm/csharp/feature/secrets/plugins/Aws.cs +1 -1
  232. package/project/.sdk/tm/csharp/feature/secrets/plugins/AzureSecrets.cs +1 -1
  233. package/project/.sdk/tm/csharp/feature/secrets/plugins/Boru.cs +1 -1
  234. package/project/.sdk/tm/csharp/feature/secrets/plugins/Child.cs +1 -1
  235. package/project/.sdk/tm/csharp/feature/secrets/plugins/Doppler.cs +1 -1
  236. package/project/.sdk/tm/csharp/feature/secrets/plugins/GcpSecrets.cs +1 -1
  237. package/project/.sdk/tm/csharp/feature/secrets/plugins/Hashicorp.cs +1 -1
  238. package/project/.sdk/tm/csharp/feature/secrets/plugins/HttpJson.cs +1 -1
  239. package/project/.sdk/tm/csharp/feature/secrets/plugins/Infisical.cs +1 -1
  240. package/project/.sdk/tm/csharp/feature/secrets/plugins/OnePassword.cs +1 -1
  241. package/project/.sdk/tm/csharp/feature/secrets/plugins/SecretSpec.cs +1 -1
  242. package/project/.sdk/tm/csharp/feature/secrets/plugins/Sigv4.cs +1 -1
  243. package/project/.sdk/tm/csharp/feature/secrets/sekreto/Json.cs +1 -1
  244. package/project/.sdk/tm/csharp/feature/secrets/sekreto/Providers.cs +1 -1
  245. package/project/.sdk/tm/csharp/feature/secrets/sekreto/Sekreto.cs +1 -1
  246. package/project/.sdk/tm/csharp/test/feature/secrets/SecretsFeatureTest.cs +85 -0
  247. package/project/.sdk/tm/csharp/test/vendor/omni/Runner.cs +1 -1
  248. package/project/.sdk/tm/csharp/test/vendor/omni/Util.cs +1 -1
  249. package/project/.sdk/tm/csharp/utility/struct/Struct.cs +1 -1
  250. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/capability.ex +1 -1
  251. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/catalog.ex +1 -1
  252. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/config.ex +1 -1
  253. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/depend.ex +1 -1
  254. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/env.ex +1 -1
  255. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/error.ex +1 -1
  256. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/export.ex +1 -1
  257. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/graph.ex +1 -1
  258. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/host.ex +1 -1
  259. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/inst.ex +1 -1
  260. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/json.ex +1 -1
  261. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/order.ex +1 -1
  262. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/point.ex +1 -1
  263. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/ref.ex +1 -1
  264. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/resolve.ex +1 -1
  265. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/types.ex +1 -1
  266. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/version.ex +1 -1
  267. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/voxgig_plugin.ex +1 -1
  268. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/json.ex +1 -1
  269. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/aws.ex +1 -1
  270. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/azuresecrets.ex +1 -1
  271. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/boru.ex +1 -1
  272. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/doppler.ex +1 -1
  273. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/gcpsecrets.ex +1 -1
  274. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/hashicorp.ex +1 -1
  275. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/http.ex +1 -1
  276. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/httpjson.ex +1 -1
  277. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/infisical.ex +1 -1
  278. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/onepassword.ex +1 -1
  279. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/proc.ex +1 -1
  280. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/secretspec.ex +1 -1
  281. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/sigv4.ex +1 -1
  282. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/provider.ex +1 -1
  283. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/providers.ex +1 -1
  284. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/sekreto.ex +1 -1
  285. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets.ex +17 -2
  286. package/project/.sdk/tm/elixir/test/feature/secrets/secrets_test.exs +41 -0
  287. package/project/.sdk/tm/elixir/test/vendor/omni/json.ex +1 -1
  288. package/project/.sdk/tm/elixir/test/vendor/omni/runner.ex +1 -1
  289. package/project/.sdk/tm/elixir/test/vendor/omni/util.ex +1 -1
  290. package/project/.sdk/tm/go/feature/secrets/plugin/capability.go +1 -1
  291. package/project/.sdk/tm/go/feature/secrets/plugin/catalog.go +1 -1
  292. package/project/.sdk/tm/go/feature/secrets/plugin/config.go +1 -1
  293. package/project/.sdk/tm/go/feature/secrets/plugin/depend.go +1 -1
  294. package/project/.sdk/tm/go/feature/secrets/plugin/env.go +1 -1
  295. package/project/.sdk/tm/go/feature/secrets/plugin/export.go +1 -1
  296. package/project/.sdk/tm/go/feature/secrets/plugin/graph.go +1 -1
  297. package/project/.sdk/tm/go/feature/secrets/plugin/host.go +1 -1
  298. package/project/.sdk/tm/go/feature/secrets/plugin/order.go +1 -1
  299. package/project/.sdk/tm/go/feature/secrets/plugin/point.go +1 -1
  300. package/project/.sdk/tm/go/feature/secrets/plugin/ref.go +1 -1
  301. package/project/.sdk/tm/go/feature/secrets/plugin/resolve.go +1 -1
  302. package/project/.sdk/tm/go/feature/secrets/plugin/types.go +1 -1
  303. package/project/.sdk/tm/go/feature/secrets/plugin/util.go +1 -1
  304. package/project/.sdk/tm/go/feature/secrets/plugin/version.go +1 -1
  305. package/project/.sdk/tm/go/feature/secrets/plugins/aws/aws.go +1 -1
  306. package/project/.sdk/tm/go/feature/secrets/plugins/aws/sigv4.go +1 -1
  307. package/project/.sdk/tm/go/feature/secrets/plugins/azuresecrets/azuresecrets.go +1 -1
  308. package/project/.sdk/tm/go/feature/secrets/plugins/boru/boru.go +1 -1
  309. package/project/.sdk/tm/go/feature/secrets/plugins/doppler/doppler.go +1 -1
  310. package/project/.sdk/tm/go/feature/secrets/plugins/gcpsecrets/gcpsecrets.go +1 -1
  311. package/project/.sdk/tm/go/feature/secrets/plugins/hashicorp/hashicorp.go +1 -1
  312. package/project/.sdk/tm/go/feature/secrets/plugins/httpjson/httpjson.go +1 -1
  313. package/project/.sdk/tm/go/feature/secrets/plugins/infisical/infisical.go +1 -1
  314. package/project/.sdk/tm/go/feature/secrets/plugins/onepassword/onepassword.go +1 -1
  315. package/project/.sdk/tm/go/feature/secrets/plugins/secretspec/secretspec.go +1 -1
  316. package/project/.sdk/tm/go/feature/secrets/sekreto/addr.go +1 -1
  317. package/project/.sdk/tm/go/feature/secrets/sekreto/providers.go +1 -1
  318. package/project/.sdk/tm/go/feature/secrets/sekreto/sekreto.go +1 -1
  319. package/project/.sdk/tm/go/feature/secrets_feature.go +32 -10
  320. package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +116 -0
  321. package/project/.sdk/tm/go/test/omni/omni.go +1 -1
  322. package/project/.sdk/tm/go/test/omni/util.go +1 -1
  323. package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +1 -1
  324. package/project/.sdk/tm/java/feature/SecretsFeature.java +33 -8
  325. package/project/.sdk/tm/java/feature/secrets/plugin/Capability.java +1 -1
  326. package/project/.sdk/tm/java/feature/secrets/plugin/Catalog.java +1 -1
  327. package/project/.sdk/tm/java/feature/secrets/plugin/Config.java +1 -1
  328. package/project/.sdk/tm/java/feature/secrets/plugin/Definition.java +1 -1
  329. package/project/.sdk/tm/java/feature/secrets/plugin/Depend.java +1 -1
  330. package/project/.sdk/tm/java/feature/secrets/plugin/Entry.java +1 -1
  331. package/project/.sdk/tm/java/feature/secrets/plugin/Env.java +1 -1
  332. package/project/.sdk/tm/java/feature/secrets/plugin/Export.java +1 -1
  333. package/project/.sdk/tm/java/feature/secrets/plugin/Graph.java +1 -1
  334. package/project/.sdk/tm/java/feature/secrets/plugin/Host.java +1 -1
  335. package/project/.sdk/tm/java/feature/secrets/plugin/Inst.java +1 -1
  336. package/project/.sdk/tm/java/feature/secrets/plugin/Json.java +1 -1
  337. package/project/.sdk/tm/java/feature/secrets/plugin/Order.java +1 -1
  338. package/project/.sdk/tm/java/feature/secrets/plugin/Plugin.java +1 -1
  339. package/project/.sdk/tm/java/feature/secrets/plugin/PluginException.java +1 -1
  340. package/project/.sdk/tm/java/feature/secrets/plugin/Point.java +1 -1
  341. package/project/.sdk/tm/java/feature/secrets/plugin/Refs.java +1 -1
  342. package/project/.sdk/tm/java/feature/secrets/plugin/Resolve.java +1 -1
  343. package/project/.sdk/tm/java/feature/secrets/plugin/Types.java +1 -1
  344. package/project/.sdk/tm/java/feature/secrets/plugin/Version.java +1 -1
  345. package/project/.sdk/tm/java/feature/secrets/sekreto/Addr.java +1 -1
  346. package/project/.sdk/tm/java/feature/secrets/sekreto/Builtins.java +1 -1
  347. package/project/.sdk/tm/java/feature/secrets/sekreto/Json.java +1 -1
  348. package/project/.sdk/tm/java/feature/secrets/sekreto/Provider.java +1 -1
  349. package/project/.sdk/tm/java/feature/secrets/sekreto/Sekreto.java +1 -1
  350. package/project/.sdk/tm/java/feature/secrets/sekreto/Support.java +1 -1
  351. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Aws.java +1 -1
  352. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Azuresecrets.java +1 -1
  353. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Boru.java +1 -1
  354. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Doppler.java +1 -1
  355. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Gcpsecrets.java +1 -1
  356. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Hashicorp.java +1 -1
  357. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Httpjson.java +1 -1
  358. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Infisical.java +1 -1
  359. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Onepassword.java +1 -1
  360. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Proc.java +1 -1
  361. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Secretspec.java +1 -1
  362. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Sigv4.java +1 -1
  363. package/project/.sdk/tm/java/test/feature/secrets/SecretsFeatureTest.java +64 -0
  364. package/project/.sdk/tm/java/test/vendor/omni/Json.java +1 -1
  365. package/project/.sdk/tm/java/test/vendor/omni/Runner.java +1 -1
  366. package/project/.sdk/tm/java/test/vendor/omni/Util.java +1 -1
  367. package/project/.sdk/tm/java/utility/struct/Struct.java +1 -1
  368. package/project/.sdk/tm/js/src/feature/secrets/SecretsFeature.js +34 -11
  369. package/project/.sdk/tm/js/src/feature/secrets/plugin/capability.js +1 -1
  370. package/project/.sdk/tm/js/src/feature/secrets/plugin/catalog.js +1 -1
  371. package/project/.sdk/tm/js/src/feature/secrets/plugin/config.js +1 -1
  372. package/project/.sdk/tm/js/src/feature/secrets/plugin/depend.js +1 -1
  373. package/project/.sdk/tm/js/src/feature/secrets/plugin/env.js +1 -1
  374. package/project/.sdk/tm/js/src/feature/secrets/plugin/export.js +1 -1
  375. package/project/.sdk/tm/js/src/feature/secrets/plugin/graph.js +1 -1
  376. package/project/.sdk/tm/js/src/feature/secrets/plugin/host.js +1 -1
  377. package/project/.sdk/tm/js/src/feature/secrets/plugin/index.js +1 -1
  378. package/project/.sdk/tm/js/src/feature/secrets/plugin/order.js +1 -1
  379. package/project/.sdk/tm/js/src/feature/secrets/plugin/point.js +1 -1
  380. package/project/.sdk/tm/js/src/feature/secrets/plugin/ref.js +1 -1
  381. package/project/.sdk/tm/js/src/feature/secrets/plugin/resolve.js +1 -1
  382. package/project/.sdk/tm/js/src/feature/secrets/plugin/types.js +1 -1
  383. package/project/.sdk/tm/js/src/feature/secrets/plugin/version.js +1 -1
  384. package/project/.sdk/tm/js/src/feature/secrets/sekreto/Sekreto.js +1 -1
  385. package/project/.sdk/tm/js/src/feature/secrets/sekreto/index.js +1 -1
  386. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/aws.js +1 -1
  387. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/azuresecrets.js +1 -1
  388. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/boru.js +1 -1
  389. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/doppler.js +1 -1
  390. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/gcpsecrets.js +1 -1
  391. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/hashicorp.js +1 -1
  392. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/httpjson.js +1 -1
  393. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/infisical.js +1 -1
  394. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/onepassword.js +1 -1
  395. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/secretspec.js +1 -1
  396. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/sigv4.js +1 -1
  397. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/addr.js +1 -1
  398. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/builtin.js +1 -1
  399. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/dotenv.js +1 -1
  400. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/env.js +1 -1
  401. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/file.js +1 -1
  402. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/memory.js +1 -1
  403. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/support.js +1 -1
  404. package/project/.sdk/tm/js/src/utility/StructUtility.js +2 -2
  405. package/project/.sdk/tm/js/src/utility/TransformRequestUtility.js +49 -1
  406. package/project/.sdk/tm/js/test/feature/secrets/Secrets.test.js +73 -0
  407. package/project/.sdk/tm/js/test/vendor/omni/index.js +1 -1
  408. package/project/.sdk/tm/js/test/vendor/omni/runner.js +1 -1
  409. package/project/.sdk/tm/js/test/vendor/omni/util.js +1 -1
  410. package/project/.sdk/tm/kotlin/feature/SecretsFeature.kt +32 -7
  411. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Capability.kt +1 -1
  412. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Catalog.kt +1 -1
  413. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Config.kt +1 -1
  414. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Depend.kt +1 -1
  415. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Env.kt +1 -1
  416. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Export.kt +1 -1
  417. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Graph.kt +1 -1
  418. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Host.kt +1 -1
  419. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Json.kt +1 -1
  420. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Order.kt +1 -1
  421. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Plugin.kt +1 -1
  422. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Point.kt +1 -1
  423. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Refs.kt +1 -1
  424. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Resolve.kt +1 -1
  425. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Types.kt +1 -1
  426. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Version.kt +1 -1
  427. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Json.kt +1 -1
  428. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Provider.kt +1 -1
  429. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Providers.kt +1 -1
  430. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Sekreto.kt +1 -1
  431. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Spec.kt +1 -1
  432. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Support.kt +1 -1
  433. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Aws.kt +1 -1
  434. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Azuresecrets.kt +1 -1
  435. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Boru.kt +1 -1
  436. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Doppler.kt +1 -1
  437. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Gcpsecrets.kt +1 -1
  438. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Hashicorp.kt +1 -1
  439. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Httpjson.kt +1 -1
  440. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Infisical.kt +1 -1
  441. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Onepassword.kt +1 -1
  442. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Secretspec.kt +1 -1
  443. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Sigv4.kt +1 -1
  444. package/project/.sdk/tm/kotlin/test/feature/secrets/SecretsTest.kt +69 -0
  445. package/project/.sdk/tm/kotlin/test/vendor/omni/Json.kt +1 -1
  446. package/project/.sdk/tm/kotlin/test/vendor/omni/Runner.kt +1 -1
  447. package/project/.sdk/tm/kotlin/test/vendor/omni/Util.kt +1 -1
  448. package/project/.sdk/tm/kotlin/utility/struct/Struct.kt +1 -1
  449. package/project/.sdk/tm/lua/Makefile +15 -4
  450. package/project/.sdk/tm/lua/feature/secrets/native/sekretonet.c +806 -0
  451. package/project/.sdk/tm/lua/feature/secrets/plugin/capability.lua +135 -0
  452. package/project/.sdk/tm/lua/feature/secrets/plugin/catalog.lua +63 -0
  453. package/project/.sdk/tm/lua/feature/secrets/plugin/config.lua +361 -0
  454. package/project/.sdk/tm/lua/feature/secrets/plugin/depend.lua +232 -0
  455. package/project/.sdk/tm/lua/feature/secrets/plugin/env.lua +168 -0
  456. package/project/.sdk/tm/lua/feature/secrets/plugin/export.lua +66 -0
  457. package/project/.sdk/tm/lua/feature/secrets/plugin/graph.lua +194 -0
  458. package/project/.sdk/tm/lua/feature/secrets/plugin/host.lua +1190 -0
  459. package/project/.sdk/tm/lua/feature/secrets/plugin/json.lua +169 -0
  460. package/project/.sdk/tm/lua/feature/secrets/plugin/order.lua +207 -0
  461. package/project/.sdk/tm/lua/feature/secrets/plugin/point.lua +106 -0
  462. package/project/.sdk/tm/lua/feature/secrets/plugin/ref.lua +115 -0
  463. package/project/.sdk/tm/lua/feature/secrets/plugin/resolve.lua +78 -0
  464. package/project/.sdk/tm/lua/feature/secrets/plugin/types.lua +275 -0
  465. package/project/.sdk/tm/lua/feature/secrets/plugin/version.lua +131 -0
  466. package/project/.sdk/tm/lua/feature/secrets/plugin.lua +76 -0
  467. package/project/.sdk/tm/lua/feature/secrets/sekreto/addr.lua +124 -0
  468. package/project/.sdk/tm/lua/feature/secrets/sekreto/err.lua +47 -0
  469. package/project/.sdk/tm/lua/feature/secrets/sekreto/name.lua +315 -0
  470. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/aws.lua +228 -0
  471. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/azuresecrets.lua +137 -0
  472. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/boru.lua +124 -0
  473. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/crypto.lua +212 -0
  474. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/doppler.lua +89 -0
  475. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/gcpsecrets.lua +129 -0
  476. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/hashicorp.lua +154 -0
  477. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/httpjson.lua +248 -0
  478. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/infisical.lua +113 -0
  479. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/json.lua +449 -0
  480. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/net.lua +198 -0
  481. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/onepassword.lua +126 -0
  482. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/secretspec.lua +93 -0
  483. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/sigv4.lua +269 -0
  484. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/support.lua +146 -0
  485. package/project/.sdk/tm/lua/feature/secrets/sekreto/providers.lua +346 -0
  486. package/project/.sdk/tm/lua/feature/secrets/sekreto.lua +479 -0
  487. package/project/.sdk/tm/lua/feature/secrets_feature.lua +690 -0
  488. package/project/.sdk/tm/lua/src/feature/secrets/.gitkeep +0 -0
  489. package/project/.sdk/tm/lua/test/extend_test.lua +105 -0
  490. package/project/.sdk/tm/lua/test/feature/secrets/secrets_feature_test.lua +862 -0
  491. package/project/.sdk/tm/lua/test/vendor/omni/json.lua +1 -1
  492. package/project/.sdk/tm/lua/test/vendor/omni/regex.lua +1 -1
  493. package/project/.sdk/tm/lua/test/vendor/omni/runner.lua +1 -1
  494. package/project/.sdk/tm/lua/test/vendor/omni/util.lua +1 -1
  495. package/project/.sdk/tm/lua/utility/struct/regex.lua +1 -1
  496. package/project/.sdk/tm/lua/utility/struct/struct.lua +1 -1
  497. package/project/.sdk/tm/ocaml/Makefile +52 -8
  498. package/project/.sdk/tm/ocaml/feature/secrets/plugin/capability.ml +106 -0
  499. package/project/.sdk/tm/ocaml/feature/secrets/plugin/catalog.ml +43 -0
  500. package/project/.sdk/tm/ocaml/feature/secrets/plugin/config.ml +349 -0
  501. package/project/.sdk/tm/ocaml/feature/secrets/plugin/defs.ml +143 -0
  502. package/project/.sdk/tm/ocaml/feature/secrets/plugin/depend.ml +217 -0
  503. package/project/.sdk/tm/ocaml/feature/secrets/plugin/env.ml +197 -0
  504. package/project/.sdk/tm/ocaml/feature/secrets/plugin/export.ml +89 -0
  505. package/project/.sdk/tm/ocaml/feature/secrets/plugin/graph.ml +227 -0
  506. package/project/.sdk/tm/ocaml/feature/secrets/plugin/host.ml +1112 -0
  507. package/project/.sdk/tm/ocaml/feature/secrets/plugin/order.ml +202 -0
  508. package/project/.sdk/tm/ocaml/feature/secrets/plugin/point.ml +138 -0
  509. package/project/.sdk/tm/ocaml/feature/secrets/plugin/ref.ml +126 -0
  510. package/project/.sdk/tm/ocaml/feature/secrets/plugin/resolve.ml +62 -0
  511. package/project/.sdk/tm/ocaml/feature/secrets/plugin/types.ml +97 -0
  512. package/project/.sdk/tm/ocaml/feature/secrets/plugin/value.ml +387 -0
  513. package/project/.sdk/tm/ocaml/feature/secrets/plugin/version.ml +139 -0
  514. package/project/.sdk/tm/ocaml/feature/secrets/plugins/aws.ml +171 -0
  515. package/project/.sdk/tm/ocaml/feature/secrets/plugins/azuresecrets.ml +116 -0
  516. package/project/.sdk/tm/ocaml/feature/secrets/plugins/boru.ml +95 -0
  517. package/project/.sdk/tm/ocaml/feature/secrets/plugins/crypto.ml +149 -0
  518. package/project/.sdk/tm/ocaml/feature/secrets/plugins/doppler.ml +61 -0
  519. package/project/.sdk/tm/ocaml/feature/secrets/plugins/gcpsecrets.ml +93 -0
  520. package/project/.sdk/tm/ocaml/feature/secrets/plugins/hashicorp.ml +120 -0
  521. package/project/.sdk/tm/ocaml/feature/secrets/plugins/http.ml +421 -0
  522. package/project/.sdk/tm/ocaml/feature/secrets/plugins/httpjson.ml +66 -0
  523. package/project/.sdk/tm/ocaml/feature/secrets/plugins/infisical.ml +85 -0
  524. package/project/.sdk/tm/ocaml/feature/secrets/plugins/onepassword.ml +112 -0
  525. package/project/.sdk/tm/ocaml/feature/secrets/plugins/runcmd.ml +97 -0
  526. package/project/.sdk/tm/ocaml/feature/secrets/plugins/secretspec.ml +68 -0
  527. package/project/.sdk/tm/ocaml/feature/secrets/plugins/sigv4.ml +259 -0
  528. package/project/.sdk/tm/ocaml/feature/secrets/plugins/tls.ml +44 -0
  529. package/project/.sdk/tm/ocaml/feature/secrets/plugins/tls_stubs.c +358 -0
  530. package/project/.sdk/tm/ocaml/feature/secrets/sekreto/json.ml +376 -0
  531. package/project/.sdk/tm/ocaml/feature/secrets/sekreto/provider.ml +647 -0
  532. package/project/.sdk/tm/ocaml/feature/secrets/sekreto/secret.ml +299 -0
  533. package/project/.sdk/tm/ocaml/feature/secrets/sekreto/sekreto.ml +347 -0
  534. package/project/.sdk/tm/ocaml/feature/secrets_feature.ml +453 -0
  535. package/project/.sdk/tm/ocaml/src/feature/secrets/.gitkeep +0 -0
  536. package/project/.sdk/tm/ocaml/test/feature/secrets/t_secrets.ml +670 -0
  537. package/project/.sdk/tm/ocaml/test/vendor/omni/omni.ml +1 -1
  538. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Capability.pm +1 -1
  539. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Catalog.pm +1 -1
  540. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Config.pm +1 -1
  541. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Depend.pm +1 -1
  542. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Env.pm +1 -1
  543. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Export.pm +1 -1
  544. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Graph.pm +1 -1
  545. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Host.pm +1 -1
  546. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Order.pm +1 -1
  547. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Point.pm +1 -1
  548. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Ref.pm +1 -1
  549. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Resolve.pm +1 -1
  550. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Types.pm +25 -1
  551. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Version.pm +1 -1
  552. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin.pm +1 -1
  553. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Aws.pm +1 -1
  554. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Azuresecrets.pm +1 -1
  555. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Boru.pm +1 -1
  556. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Doppler.pm +1 -1
  557. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Gcpsecrets.pm +1 -1
  558. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Hashicorp.pm +1 -1
  559. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Httpjson.pm +1 -1
  560. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Infisical.pm +1 -1
  561. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Onepassword.pm +1 -1
  562. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Proc.pm +1 -1
  563. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Secretspec.pm +1 -1
  564. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Sigv4.pm +1 -1
  565. package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Addr.pm +1 -1
  566. package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Providers.pm +1 -1
  567. package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto.pm +1 -1
  568. package/project/.sdk/tm/perl/feature/secrets_feature.pm +33 -12
  569. package/project/.sdk/tm/perl/lib/Voxgig/Struct.pm +1 -1
  570. package/project/.sdk/tm/perl/t/feature/secrets/secrets.t +47 -0
  571. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Runner.pm +1 -1
  572. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Util.pm +1 -1
  573. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni.pm +1 -1
  574. package/project/.sdk/tm/php/feature/SecretsFeature.php +30 -6
  575. package/project/.sdk/tm/php/feature/secrets/plugin/Capability.php +1 -1
  576. package/project/.sdk/tm/php/feature/secrets/plugin/Catalog.php +1 -1
  577. package/project/.sdk/tm/php/feature/secrets/plugin/Config.php +1 -1
  578. package/project/.sdk/tm/php/feature/secrets/plugin/Depend.php +1 -1
  579. package/project/.sdk/tm/php/feature/secrets/plugin/Env.php +1 -1
  580. package/project/.sdk/tm/php/feature/secrets/plugin/Export.php +1 -1
  581. package/project/.sdk/tm/php/feature/secrets/plugin/Graph.php +1 -1
  582. package/project/.sdk/tm/php/feature/secrets/plugin/Host.php +1 -1
  583. package/project/.sdk/tm/php/feature/secrets/plugin/Order.php +1 -1
  584. package/project/.sdk/tm/php/feature/secrets/plugin/Point.php +1 -1
  585. package/project/.sdk/tm/php/feature/secrets/plugin/Ref.php +1 -1
  586. package/project/.sdk/tm/php/feature/secrets/plugin/Resolve.php +1 -1
  587. package/project/.sdk/tm/php/feature/secrets/plugin/Types.php +1 -1
  588. package/project/.sdk/tm/php/feature/secrets/plugin/Version.php +1 -1
  589. package/project/.sdk/tm/php/feature/secrets/plugin/plugin.php +1 -1
  590. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/aws.php +1 -1
  591. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/azuresecrets.php +1 -1
  592. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/boru.php +1 -1
  593. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/doppler.php +1 -1
  594. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/gcpsecrets.php +1 -1
  595. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/hashicorp.php +1 -1
  596. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/httpjson.php +1 -1
  597. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/infisical.php +1 -1
  598. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/onepassword.php +1 -1
  599. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/runcmd.php +1 -1
  600. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/secretspec.php +1 -1
  601. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/sigv4.php +1 -1
  602. package/project/.sdk/tm/php/feature/secrets/sekreto/src/Addr.php +1 -1
  603. package/project/.sdk/tm/php/feature/secrets/sekreto/src/Providers.php +1 -1
  604. package/project/.sdk/tm/php/feature/secrets/sekreto/src/Sekreto.php +1 -1
  605. package/project/.sdk/tm/php/test/feature/secrets/SecretsTest.php +98 -0
  606. package/project/.sdk/tm/php/test/vendor/omni/Runner.php +1 -1
  607. package/project/.sdk/tm/php/test/vendor/omni/Util.php +1 -1
  608. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/__init__.py +1 -1
  609. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/capability.py +1 -1
  610. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/catalog.py +1 -1
  611. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/config.py +1 -1
  612. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/depend.py +1 -1
  613. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/env.py +1 -1
  614. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/export.py +1 -1
  615. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/graph.py +1 -1
  616. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/host.py +1 -1
  617. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/order.py +1 -1
  618. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/point.py +1 -1
  619. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/ref.py +1 -1
  620. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/resolve.py +1 -1
  621. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/types.py +1 -1
  622. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/version.py +1 -1
  623. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/__init__.py +1 -1
  624. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/addr.py +1 -1
  625. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/aws.py +1 -1
  626. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/azuresecrets.py +1 -1
  627. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/boru.py +1 -1
  628. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/doppler.py +1 -1
  629. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.py +1 -1
  630. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/hashicorp.py +1 -1
  631. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/httpjson.py +1 -1
  632. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/infisical.py +1 -1
  633. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/onepassword.py +1 -1
  634. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/secretspec.py +1 -1
  635. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/sigv4.py +1 -1
  636. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/providers.py +1 -1
  637. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/sekreto.py +1 -1
  638. package/project/.sdk/tm/py/pkg/feature/secrets_feature.py +28 -6
  639. package/project/.sdk/tm/py/pkg/utility/voxgig_struct/voxgig_struct.py +1 -1
  640. package/project/.sdk/tm/py/test/feature/secrets/test_secrets.py +114 -0
  641. package/project/.sdk/tm/py/test/voxgig_omni/__init__.py +1 -1
  642. package/project/.sdk/tm/py/test/voxgig_omni/runner.py +1 -1
  643. package/project/.sdk/tm/py/test/voxgig_omni/util.py +1 -1
  644. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/capability.rb +1 -1
  645. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/catalog.rb +1 -1
  646. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/config.rb +1 -1
  647. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/depend.rb +1 -1
  648. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/env.rb +1 -1
  649. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/export.rb +1 -1
  650. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/graph.rb +1 -1
  651. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/host.rb +1 -1
  652. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/order.rb +1 -1
  653. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/point.rb +1 -1
  654. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/ref.rb +1 -1
  655. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/resolve.rb +1 -1
  656. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/types.rb +1 -1
  657. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/version.rb +1 -1
  658. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin.rb +1 -1
  659. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/addr.rb +1 -1
  660. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/aws.rb +1 -1
  661. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/azuresecrets.rb +1 -1
  662. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/boru.rb +1 -1
  663. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/doppler.rb +1 -1
  664. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.rb +1 -1
  665. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/hashicorp.rb +1 -1
  666. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/httpjson.rb +1 -1
  667. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/infisical.rb +1 -1
  668. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/onepassword.rb +1 -1
  669. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/secretspec.rb +1 -1
  670. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/sigv4.rb +1 -1
  671. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/providers.rb +1 -1
  672. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/sekreto.rb +1 -1
  673. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto.rb +1 -1
  674. package/project/.sdk/tm/rb/feature/secrets_feature.rb +28 -6
  675. package/project/.sdk/tm/rb/test/feature/secrets/secrets_feature_test.rb +93 -0
  676. package/project/.sdk/tm/rb/test/vendor/omni/runner.rb +1 -1
  677. package/project/.sdk/tm/rb/test/vendor/omni/util.rb +1 -1
  678. package/project/.sdk/tm/rb/test/vendor/omni/voxgig_omni.rb +1 -1
  679. package/project/.sdk/tm/rust/feature/secrets/plugin/capability.rs +1 -1
  680. package/project/.sdk/tm/rust/feature/secrets/plugin/catalog.rs +1 -1
  681. package/project/.sdk/tm/rust/feature/secrets/plugin/config.rs +1 -1
  682. package/project/.sdk/tm/rust/feature/secrets/plugin/depend.rs +1 -1
  683. package/project/.sdk/tm/rust/feature/secrets/plugin/env.rs +1 -1
  684. package/project/.sdk/tm/rust/feature/secrets/plugin/export.rs +1 -1
  685. package/project/.sdk/tm/rust/feature/secrets/plugin/graph.rs +1 -1
  686. package/project/.sdk/tm/rust/feature/secrets/plugin/host.rs +1 -1
  687. package/project/.sdk/tm/rust/feature/secrets/plugin/mod.rs +1 -1
  688. package/project/.sdk/tm/rust/feature/secrets/plugin/order.rs +1 -1
  689. package/project/.sdk/tm/rust/feature/secrets/plugin/point.rs +1 -1
  690. package/project/.sdk/tm/rust/feature/secrets/plugin/refs.rs +1 -1
  691. package/project/.sdk/tm/rust/feature/secrets/plugin/resolve.rs +1 -1
  692. package/project/.sdk/tm/rust/feature/secrets/plugin/types.rs +1 -1
  693. package/project/.sdk/tm/rust/feature/secrets/plugin/value.rs +1 -1
  694. package/project/.sdk/tm/rust/feature/secrets/plugin/version.rs +1 -1
  695. package/project/.sdk/tm/rust/feature/secrets/plugins/aws/crypto.rs +1 -1
  696. package/project/.sdk/tm/rust/feature/secrets/plugins/aws/sigv4.rs +1 -1
  697. package/project/.sdk/tm/rust/feature/secrets/plugins/aws.rs +1 -1
  698. package/project/.sdk/tm/rust/feature/secrets/plugins/azuresecrets.rs +1 -1
  699. package/project/.sdk/tm/rust/feature/secrets/plugins/boru.rs +1 -1
  700. package/project/.sdk/tm/rust/feature/secrets/plugins/doppler.rs +1 -1
  701. package/project/.sdk/tm/rust/feature/secrets/plugins/gcpsecrets.rs +1 -1
  702. package/project/.sdk/tm/rust/feature/secrets/plugins/hashicorp.rs +1 -1
  703. package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/http.rs +1 -1
  704. package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/json.rs +1 -1
  705. package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson.rs +1 -1
  706. package/project/.sdk/tm/rust/feature/secrets/plugins/infisical.rs +1 -1
  707. package/project/.sdk/tm/rust/feature/secrets/plugins/onepassword.rs +1 -1
  708. package/project/.sdk/tm/rust/feature/secrets/plugins/secretspec.rs +1 -1
  709. package/project/.sdk/tm/rust/feature/secrets/sekreto/addr.rs +1 -1
  710. package/project/.sdk/tm/rust/feature/secrets/sekreto/mod.rs +1 -1
  711. package/project/.sdk/tm/rust/feature/secrets/sekreto/providers.rs +1 -1
  712. package/project/.sdk/tm/rust/feature/secrets/sekreto/sekreto.rs +1 -1
  713. package/project/.sdk/tm/rust/feature/secrets.rs +33 -10
  714. package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +96 -0
  715. package/project/.sdk/tm/rust/tests/vendor/omni/json.rs +1 -1
  716. package/project/.sdk/tm/rust/tests/vendor/omni/mod.rs +1 -1
  717. package/project/.sdk/tm/rust/tests/vendor/omni/regex.rs +1 -1
  718. package/project/.sdk/tm/rust/tests/vendor/omni/runner.rs +1 -1
  719. package/project/.sdk/tm/rust/tests/vendor/omni/util.rs +1 -1
  720. package/project/.sdk/tm/scala/feature/SecretsFeature.scala +29 -7
  721. package/project/.sdk/tm/scala/feature/secrets/plugin/Capability.scala +1 -1
  722. package/project/.sdk/tm/scala/feature/secrets/plugin/Config.scala +1 -1
  723. package/project/.sdk/tm/scala/feature/secrets/plugin/Depend.scala +1 -1
  724. package/project/.sdk/tm/scala/feature/secrets/plugin/Env.scala +1 -1
  725. package/project/.sdk/tm/scala/feature/secrets/plugin/Export.scala +1 -1
  726. package/project/.sdk/tm/scala/feature/secrets/plugin/Graph.scala +1 -1
  727. package/project/.sdk/tm/scala/feature/secrets/plugin/Host.scala +1 -1
  728. package/project/.sdk/tm/scala/feature/secrets/plugin/Json.scala +1 -1
  729. package/project/.sdk/tm/scala/feature/secrets/plugin/Order.scala +1 -1
  730. package/project/.sdk/tm/scala/feature/secrets/plugin/Plugin.scala +1 -1
  731. package/project/.sdk/tm/scala/feature/secrets/plugin/Point.scala +1 -1
  732. package/project/.sdk/tm/scala/feature/secrets/plugin/Refs.scala +1 -1
  733. package/project/.sdk/tm/scala/feature/secrets/plugin/Resolve.scala +1 -1
  734. package/project/.sdk/tm/scala/feature/secrets/plugin/Types.scala +1 -1
  735. package/project/.sdk/tm/scala/feature/secrets/plugin/Value.scala +1 -1
  736. package/project/.sdk/tm/scala/feature/secrets/plugin/Version.scala +1 -1
  737. package/project/.sdk/tm/scala/feature/secrets/sekreto/Json.scala +1 -1
  738. package/project/.sdk/tm/scala/feature/secrets/sekreto/Provider.scala +1 -1
  739. package/project/.sdk/tm/scala/feature/secrets/sekreto/Providers.scala +1 -1
  740. package/project/.sdk/tm/scala/feature/secrets/sekreto/Sekreto.scala +1 -1
  741. package/project/.sdk/tm/scala/feature/secrets/sekreto/Spec.scala +1 -1
  742. package/project/.sdk/tm/scala/feature/secrets/sekreto/Support.scala +1 -1
  743. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Aws.scala +1 -1
  744. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Azuresecrets.scala +1 -1
  745. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Boru.scala +1 -1
  746. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Doppler.scala +1 -1
  747. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Gcpsecrets.scala +1 -1
  748. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Hashicorp.scala +1 -1
  749. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Httpjson.scala +1 -1
  750. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Infisical.scala +1 -1
  751. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Onepassword.scala +1 -1
  752. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Secretspec.scala +1 -1
  753. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Sigv4.scala +1 -1
  754. package/project/.sdk/tm/scala/sdktest/feature/secrets/SecretsTestMain.scala +71 -0
  755. package/project/.sdk/tm/scala/sdktest/vendor/omni/Json.scala +1 -1
  756. package/project/.sdk/tm/scala/sdktest/vendor/omni/Runner.scala +1 -1
  757. package/project/.sdk/tm/scala/sdktest/vendor/omni/Util.scala +1 -1
  758. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Capability.swift +1 -1
  759. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Catalog.swift +1 -1
  760. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Config.swift +1 -1
  761. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Depend.swift +1 -1
  762. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Env.swift +1 -1
  763. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Export.swift +1 -1
  764. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Graph.swift +1 -1
  765. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Host.swift +1 -1
  766. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Json.swift +1 -1
  767. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Order.swift +1 -1
  768. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Point.swift +1 -1
  769. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Refs.swift +1 -1
  770. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Resolve.swift +1 -1
  771. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Types.swift +1 -1
  772. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Value.swift +1 -1
  773. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Version.swift +1 -1
  774. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Aws.swift +1 -1
  775. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Azuresecrets.swift +1 -1
  776. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Boru.swift +1 -1
  777. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Crypto.swift +1 -1
  778. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Doppler.swift +1 -1
  779. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Gcpsecrets.swift +1 -1
  780. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Hashicorp.swift +1 -1
  781. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Httpjson.swift +1 -1
  782. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Infisical.swift +1 -1
  783. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Onepassword.swift +1 -1
  784. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Proc.swift +1 -1
  785. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Secretspec.swift +1 -1
  786. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Sigv4.swift +1 -1
  787. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Addr.swift +1 -1
  788. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Json.swift +1 -1
  789. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Provider.swift +1 -1
  790. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Providers.swift +1 -1
  791. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Sekreto.swift +1 -1
  792. package/project/.sdk/tm/swift/Tests/vendor/omni/Json.swift +1 -1
  793. package/project/.sdk/tm/swift/Tests/vendor/omni/Runner.swift +1 -1
  794. package/project/.sdk/tm/swift/Tests/vendor/omni/Util.swift +1 -1
  795. package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +35 -12
  796. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Capability.ts +1 -1
  797. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Catalog.ts +1 -1
  798. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Config.ts +1 -1
  799. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Depend.ts +1 -1
  800. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Env.ts +1 -1
  801. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Export.ts +1 -1
  802. package/project/.sdk/tm/ts/src/feature/secrets/plugin/FeatureHost.ts +1 -1
  803. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Graph.ts +1 -1
  804. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Host.ts +1 -1
  805. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Order.ts +1 -1
  806. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Point.ts +1 -1
  807. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Ref.ts +1 -1
  808. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Resolve.ts +1 -1
  809. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Types.ts +1 -1
  810. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Version.ts +1 -1
  811. package/project/.sdk/tm/ts/src/feature/secrets/plugin/index.ts +1 -1
  812. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/Sekreto.ts +1 -1
  813. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/index.ts +1 -1
  814. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/aws.ts +1 -1
  815. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/azuresecrets.ts +1 -1
  816. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/boru.ts +1 -1
  817. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/doppler.ts +1 -1
  818. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/gcpsecrets.ts +1 -1
  819. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/hashicorp.ts +1 -1
  820. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/httpjson.ts +1 -1
  821. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/infisical.ts +1 -1
  822. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/onepassword.ts +1 -1
  823. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/secretspec.ts +1 -1
  824. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/sigv4.ts +1 -1
  825. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/addr.ts +1 -1
  826. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/builtin.ts +1 -1
  827. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/dotenv.ts +1 -1
  828. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/env.ts +1 -1
  829. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/file.ts +1 -1
  830. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/memory.ts +1 -1
  831. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/support.ts +1 -1
  832. package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +107 -1
  833. package/project/.sdk/tm/ts/src/utility/StructUtility.ts +2 -2
  834. package/project/.sdk/tm/ts/src/utility/TransformRequestUtility.ts +49 -1
  835. package/project/.sdk/tm/ts/test/feature/secrets/Secrets.test.ts +73 -0
  836. package/project/.sdk/tm/ts/test/vendor/omni/Runner.ts +1 -1
  837. package/project/.sdk/tm/ts/test/vendor/omni/Util.ts +1 -1
  838. package/project/.sdk/tm/ts/test/vendor/omni/index.ts +1 -1
  839. package/project/.sdk/tm/zig/feature/secrets/plugin/capability.zig +137 -0
  840. package/project/.sdk/tm/zig/feature/secrets/plugin/catalog.zig +90 -0
  841. package/project/.sdk/tm/zig/feature/secrets/plugin/config.zig +346 -0
  842. package/project/.sdk/tm/zig/feature/secrets/plugin/depend.zig +244 -0
  843. package/project/.sdk/tm/zig/feature/secrets/plugin/env.zig +201 -0
  844. package/project/.sdk/tm/zig/feature/secrets/plugin/export.zig +83 -0
  845. package/project/.sdk/tm/zig/feature/secrets/plugin/graph.zig +212 -0
  846. package/project/.sdk/tm/zig/feature/secrets/plugin/host.zig +1224 -0
  847. package/project/.sdk/tm/zig/feature/secrets/plugin/inst.zig +126 -0
  848. package/project/.sdk/tm/zig/feature/secrets/plugin/order.zig +228 -0
  849. package/project/.sdk/tm/zig/feature/secrets/plugin/plugin.zig +34 -0
  850. package/project/.sdk/tm/zig/feature/secrets/plugin/point.zig +166 -0
  851. package/project/.sdk/tm/zig/feature/secrets/plugin/ref.zig +147 -0
  852. package/project/.sdk/tm/zig/feature/secrets/plugin/resolve.zig +74 -0
  853. package/project/.sdk/tm/zig/feature/secrets/plugin/types.zig +140 -0
  854. package/project/.sdk/tm/zig/feature/secrets/plugin/value.zig +662 -0
  855. package/project/.sdk/tm/zig/feature/secrets/plugin/version.zig +139 -0
  856. package/project/.sdk/tm/zig/feature/secrets/plugins/aws.zig +294 -0
  857. package/project/.sdk/tm/zig/feature/secrets/plugins/azuresecrets.zig +222 -0
  858. package/project/.sdk/tm/zig/feature/secrets/plugins/boru.zig +188 -0
  859. package/project/.sdk/tm/zig/feature/secrets/plugins/doppler.zig +135 -0
  860. package/project/.sdk/tm/zig/feature/secrets/plugins/gcpsecrets.zig +170 -0
  861. package/project/.sdk/tm/zig/feature/secrets/plugins/hashicorp.zig +242 -0
  862. package/project/.sdk/tm/zig/feature/secrets/plugins/httpjson.zig +535 -0
  863. package/project/.sdk/tm/zig/feature/secrets/plugins/infisical.zig +167 -0
  864. package/project/.sdk/tm/zig/feature/secrets/plugins/onepassword.zig +202 -0
  865. package/project/.sdk/tm/zig/feature/secrets/plugins/secretspec.zig +160 -0
  866. package/project/.sdk/tm/zig/feature/secrets/plugins/sigv4.zig +336 -0
  867. package/project/.sdk/tm/zig/feature/secrets/sekreto/addr.zig +148 -0
  868. package/project/.sdk/tm/zig/feature/secrets/sekreto/builtins.zig +259 -0
  869. package/project/.sdk/tm/zig/feature/secrets/sekreto/provider.zig +440 -0
  870. package/project/.sdk/tm/zig/feature/secrets/sekreto/sekreto.zig +944 -0
  871. package/project/.sdk/tm/zig/feature/secrets.zig +854 -0
  872. package/project/.sdk/tm/zig/src/feature/secrets/.gitkeep +0 -0
  873. package/project/.sdk/tm/zig/test/feature/secrets/secrets_test.zig +891 -0
  874. package/project/.sdk/tm/zig/test/vendor/omni/omni.zig +1 -1
  875. package/project/.sdk/tm/zig/test/vendor/omni/regex.zig +1 -1
  876. package/project/.sdk/tm/zig/utility/voxgigstruct/regex.zig +1 -1
  877. package/project/.sdk/tm/zig/utility/voxgigstruct/struct.zig +1 -1
  878. package/project/sdkgen-package.json +1 -1
  879. package/src/action/resolve.ts +85 -1
  880. package/src/utility.ts +17 -0
@@ -201,21 +201,31 @@ class ProjectNameSecretsFeature(ProjectNameBaseFeature):
201
201
  def PreSpec(self, _ctx):
202
202
  return self.resolve()
203
203
 
204
- # Resolve the apikey before the first request. A successful resolve is
204
+ # Resolve the apikey before the first request. A successful HIT is
205
205
  # reused while caching is on; with `cache: False` the chain is asked
206
206
  # again on every call - holding the first answer forever would make
207
207
  # the documented option a lie. A provider ERROR raises (fails the op)
208
208
  # and leaves nothing cached, so a transient vault outage does not
209
209
  # poison the client after the vault recovers.
210
+ #
211
+ # A MISS is not marked resolved either, however caching is set. That
212
+ # rule is sekreto's, not this feature's: `A miss is never cached: the
213
+ # next read asks again`, in sekreto's own source. Marking a settled
214
+ # miss here would override that from the layer above, and a secret
215
+ # provisioned after startup - a mounted file, a policy granted a minute
216
+ # late - would never be picked up for the life of the client. `cache`
217
+ # is about caching a HIT; it was never a promise to keep saying no.
210
218
  def resolve(self):
211
219
  if self._resolved and self._cache:
212
220
  return
213
- self._resolve_once()
214
- self._resolved = True
221
+ self._resolved = self._resolve_once()
215
222
 
223
+ # Resolve once, reporting whether a credential came out of it. That
224
+ # bool is the whole of what resolve() needs to tell a cacheable HIT
225
+ # from a miss it must not retain.
216
226
  def _resolve_once(self):
217
227
  if self._sekreto is None:
218
- return
228
+ return False
219
229
 
220
230
  # Miss-vs-error: `try_` answers None for "no store has it" and
221
231
  # RAISES for "a store could not answer" - only the miss falls
@@ -242,7 +252,7 @@ class ProjectNameSecretsFeature(ProjectNameBaseFeature):
242
252
  if self._client.options.get("apikey") == self._lastset:
243
253
  self._client.options["apikey"] = ""
244
254
  self._lastset = None
245
- return
255
+ return found is not None
246
256
 
247
257
  # Exchanging: what the chain resolved is the REFRESH token, kept
248
258
  # for every later purchase. A miss is not fatal here - an explicit
@@ -255,10 +265,22 @@ class ProjectNameSecretsFeature(ProjectNameBaseFeature):
255
265
  # A starting access token was supplied. Spend it: if it is
256
266
  # stale the API answers 401 and the transport wrapper buys
257
267
  # another, which is the same path expiry takes anyway.
258
- return
268
+ return True
269
+
270
+ # `auth: None` is the documented way to send NO credential, and a
271
+ # purchase is a credential-bearing call: the refresh token goes to
272
+ # the token endpoint in the request body. _with_refresh honours
273
+ # suppression for the RETRY, but it runs after this - by then the
274
+ # refresh token has already left the process, and no later check
275
+ # can call it back. The suppression has to be honoured here, before
276
+ # the first purchase, or it only ever half-held.
277
+ if self._client.options_map().get("auth") is None:
278
+ return False
259
279
 
260
280
  self._client.options["apikey"] = self._buy()
261
281
 
282
+ return True
283
+
262
284
  # Buy an access token with the refresh token. (ts shares one in-flight
263
285
  # purchase between concurrent async callers; python resolves
264
286
  # synchronously, so the sharing that remains observable is the
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/struct 0.1.1 (python/voxgig_struct/voxgig_struct.py)
2
- # Source: https://github.com/voxgig/struct @ adda9521c828147573df5a8878408a3f2193ddf4 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/struct @ abd93227e3295151f8dcd18597c3f3f2577af8b7 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # Copyright (c) 2025 Voxgig Ltd. MIT LICENSE.
5
5
  #
@@ -107,6 +107,18 @@ class TestSecrets(unittest.TestCase):
107
107
  self.assertEqual(1, len(transport.calls))
108
108
  return transport.calls[0]["fetchdef"].get("headers") or {}
109
109
 
110
+ def _lastwire(self, sdk, transport):
111
+ """Drive one operation and read the headers off the LAST call, so a
112
+ test can operate more than once on the same client."""
113
+ utility = sdk._utility
114
+ ctx = utility.make_context({"opname": "load"}, sdk.get_root_ctx())
115
+ utility.feature_hook(ctx, "PreSpec")
116
+
117
+ fetchdef = sdk.prepare({"path": "/"})
118
+ res, err = utility.fetcher(ctx, fetchdef["url"], fetchdef)
119
+ self.assertIsNone(err)
120
+ return transport.calls[-1]["fetchdef"].get("headers") or {}
121
+
110
122
  def assert_credential(self, headers, token):
111
123
  # The Authorization header carries the SPEC's credential prefix,
112
124
  # which a TEMPLATE cannot know - assert on the CREDENTIAL and let
@@ -196,6 +208,71 @@ class TestSecrets(unittest.TestCase):
196
208
  with self.assertRaises(RuntimeError):
197
209
  utility.feature_hook(ctx, "PreSpec")
198
210
 
211
+ # --- a miss is not a cacheable answer ---
212
+
213
+ # sekreto's own rule, which this feature used to override from the
214
+ # layer above: `A miss is never cached: the next read asks again`.
215
+ #
216
+ # DEFAULT caching in both tests below, which is the whole point.
217
+ # `cache: True` is about holding a HIT; holding the settled miss meant
218
+ # the chain was never asked again for the life of the client, so a
219
+ # secret provisioned after startup (a mounted file, a vault policy
220
+ # granted a minute late) was invisible forever.
221
+ def test_a_cached_miss_is_reasked(self):
222
+ state = {"present": False, "calls": 0}
223
+
224
+ def lookup(name):
225
+ state["calls"] += 1
226
+ return "LATEKEY01" if state["present"] else None
227
+
228
+ sdk, transport = self._sdk({
229
+ "feature": {"secrets": {
230
+ "active": True,
231
+ "providers": [{"lookup": lookup, "describe": lambda: "late:test"}],
232
+ }},
233
+ })
234
+
235
+ headers = self._lastwire(sdk, transport)
236
+ self.assertNotIn("authorization", headers,
237
+ "the chain has nothing yet, so no credential "
238
+ "should go out")
239
+
240
+ asked = state["calls"]
241
+ self.assertLess(0, asked)
242
+
243
+ # The secret is provisioned while the client is live.
244
+ state["present"] = True
245
+
246
+ headers = self._lastwire(sdk, transport)
247
+ self.assert_credential(headers, "LATEKEY01")
248
+
249
+ self.assertLess(asked, state["calls"],
250
+ "the MISS was cached: a secret that appears later "
251
+ "can never be picked up")
252
+
253
+ def test_a_cached_hit_is_kept(self):
254
+ # The other half of the same rule: a HIT is still cached by
255
+ # default, so the fix above must not turn every request into a
256
+ # chain walk.
257
+ state = {"calls": 0}
258
+
259
+ def lookup(name):
260
+ state["calls"] += 1
261
+ return "STABLEKEY01"
262
+
263
+ sdk, transport = self._sdk({
264
+ "feature": {"secrets": {
265
+ "active": True,
266
+ "providers": [{"lookup": lookup, "describe": lambda: "counting:test"}],
267
+ }},
268
+ })
269
+
270
+ self._lastwire(sdk, transport)
271
+ self._lastwire(sdk, transport)
272
+
273
+ self.assertEqual(1, state["calls"],
274
+ "a hit must be cached under the default cache: True")
275
+
199
276
  # --- auth: None suppression ---
200
277
 
201
278
  def test_auth_none_still_suppresses_the_credential(self):
@@ -283,6 +360,43 @@ class TestSecretsReviewPins(unittest.TestCase):
283
360
  srv.shutdown()
284
361
  srv.server_close()
285
362
 
363
+ def test_auth_none_buys_no_token_at_all(self):
364
+ # `auth: None` SUPPRESSES THE PURCHASE, not just the retry.
365
+ #
366
+ # resolve() runs before _with_refresh's suppression check, so the
367
+ # refresh token used to go to the token endpoint in a request body
368
+ # even here. Stopping the retry does not unsend it - and only the
369
+ # token endpoint can see this, which is why the API-header
370
+ # assertion above is not enough.
371
+ tricky = "REFRESH01"
372
+ _TokenEndpoint.refresh_seen = None
373
+
374
+ srv = http.server.HTTPServer(("127.0.0.1", 0), _TokenEndpoint)
375
+ thread = threading.Thread(target=srv.serve_forever, daemon=True)
376
+ thread.start()
377
+ try:
378
+ sdk = secrets_sdk({
379
+ "base": "http://127.0.0.1:%d/api" % srv.server_port,
380
+ "auth": None,
381
+ "feature": {"secrets": {
382
+ "active": True,
383
+ "name": "refresh_token",
384
+ "exchange": {"active": True, "refresh": tricky},
385
+ }},
386
+ })
387
+
388
+ utility = sdk._utility
389
+ ctx = utility.make_context({"opname": "load"}, sdk.get_root_ctx())
390
+ utility.feature_hook(ctx, "PreSpec")
391
+
392
+ self.assertIsNone(_TokenEndpoint.refresh_seen,
393
+ "auth: None suppressed the credential but the "
394
+ "refresh token was still POSTed to the "
395
+ "exchange endpoint")
396
+ finally:
397
+ srv.shutdown()
398
+ srv.server_close()
399
+
286
400
  def test_uncached_miss_retracts_the_credential(self):
287
401
  # `cache: False` re-asks the chain per operation; when a provider
288
402
  # that answered once reports a MISS (a revoked secret), the value
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/omni 0.1.0 (python/voxgig_omni/__init__.py)
2
- # Source: https://github.com/voxgig/omni @ 274708cc2d12b21707d975543953f845f8444be0 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/omni @ 274708cc2d12b21707d975543953f845f8444be0 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  """voxgig_omni - shared multi-language test runner."""
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/omni 0.1.0 (python/voxgig_omni/runner.py)
2
- # Source: https://github.com/voxgig/omni @ 274708cc2d12b21707d975543953f845f8444be0 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/omni @ 274708cc2d12b21707d975543953f845f8444be0 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  """Omni: the shared multi-language test runner.
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/omni 0.1.0 (python/voxgig_omni/util.py)
2
- # Source: https://github.com/voxgig/omni @ 274708cc2d12b21707d975543953f845f8444be0 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/omni @ 274708cc2d12b21707d975543953f845f8444be0 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  """Omni internal JSON utilities.
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/plugin sdk-20260908-1556-0 (ruby/lib/voxgig_plugin/capability.rb)
2
- # Source: https://github.com/voxgig/plugin @ 48392f5e2b6d1434ee9b1a4a9a11f4480aaeb46a [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/plugin @ 91c4936555a4ce198669ca2c578b91e27e92e5ec [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/plugin sdk-20260908-1556-0 (ruby/lib/voxgig_plugin/catalog.rb)
2
- # Source: https://github.com/voxgig/plugin @ 48392f5e2b6d1434ee9b1a4a9a11f4480aaeb46a [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/plugin @ 91c4936555a4ce198669ca2c578b91e27e92e5ec [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/plugin sdk-20260908-1556-0 (ruby/lib/voxgig_plugin/config.rb)
2
- # Source: https://github.com/voxgig/plugin @ 48392f5e2b6d1434ee9b1a4a9a11f4480aaeb46a [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/plugin @ 91c4936555a4ce198669ca2c578b91e27e92e5ec [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/plugin sdk-20260908-1556-0 (ruby/lib/voxgig_plugin/depend.rb)
2
- # Source: https://github.com/voxgig/plugin @ 48392f5e2b6d1434ee9b1a4a9a11f4480aaeb46a [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/plugin @ 91c4936555a4ce198669ca2c578b91e27e92e5ec [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/plugin sdk-20260908-1556-0 (ruby/lib/voxgig_plugin/env.rb)
2
- # Source: https://github.com/voxgig/plugin @ 48392f5e2b6d1434ee9b1a4a9a11f4480aaeb46a [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/plugin @ 91c4936555a4ce198669ca2c578b91e27e92e5ec [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/plugin sdk-20260908-1556-0 (ruby/lib/voxgig_plugin/export.rb)
2
- # Source: https://github.com/voxgig/plugin @ 48392f5e2b6d1434ee9b1a4a9a11f4480aaeb46a [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/plugin @ 91c4936555a4ce198669ca2c578b91e27e92e5ec [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/plugin sdk-20260908-1556-0 (ruby/lib/voxgig_plugin/graph.rb)
2
- # Source: https://github.com/voxgig/plugin @ 48392f5e2b6d1434ee9b1a4a9a11f4480aaeb46a [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/plugin @ 91c4936555a4ce198669ca2c578b91e27e92e5ec [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/plugin sdk-20260908-1556-0 (ruby/lib/voxgig_plugin/host.rb)
2
- # Source: https://github.com/voxgig/plugin @ 48392f5e2b6d1434ee9b1a4a9a11f4480aaeb46a [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/plugin @ 91c4936555a4ce198669ca2c578b91e27e92e5ec [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/plugin sdk-20260908-1556-0 (ruby/lib/voxgig_plugin/order.rb)
2
- # Source: https://github.com/voxgig/plugin @ 48392f5e2b6d1434ee9b1a4a9a11f4480aaeb46a [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/plugin @ 91c4936555a4ce198669ca2c578b91e27e92e5ec [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/plugin sdk-20260908-1556-0 (ruby/lib/voxgig_plugin/point.rb)
2
- # Source: https://github.com/voxgig/plugin @ 48392f5e2b6d1434ee9b1a4a9a11f4480aaeb46a [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/plugin @ 91c4936555a4ce198669ca2c578b91e27e92e5ec [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/plugin sdk-20260908-1556-0 (ruby/lib/voxgig_plugin/ref.rb)
2
- # Source: https://github.com/voxgig/plugin @ 48392f5e2b6d1434ee9b1a4a9a11f4480aaeb46a [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/plugin @ 91c4936555a4ce198669ca2c578b91e27e92e5ec [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/plugin sdk-20260908-1556-0 (ruby/lib/voxgig_plugin/resolve.rb)
2
- # Source: https://github.com/voxgig/plugin @ 48392f5e2b6d1434ee9b1a4a9a11f4480aaeb46a [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/plugin @ 91c4936555a4ce198669ca2c578b91e27e92e5ec [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/plugin sdk-20260908-1556-0 (ruby/lib/voxgig_plugin/types.rb)
2
- # Source: https://github.com/voxgig/plugin @ 48392f5e2b6d1434ee9b1a4a9a11f4480aaeb46a [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/plugin @ 91c4936555a4ce198669ca2c578b91e27e92e5ec [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/plugin sdk-20260908-1556-0 (ruby/lib/voxgig_plugin/version.rb)
2
- # Source: https://github.com/voxgig/plugin @ 48392f5e2b6d1434ee9b1a4a9a11f4480aaeb46a [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/plugin @ 91c4936555a4ce198669ca2c578b91e27e92e5ec [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/plugin sdk-20260908-1556-0 (ruby/lib/voxgig_plugin.rb)
2
- # Source: https://github.com/voxgig/plugin @ 48392f5e2b6d1434ee9b1a4a9a11f4480aaeb46a [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/plugin @ 91c4936555a4ce198669ca2c578b91e27e92e5ec [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (ruby/lib/voxgig_sekreto/addr.rb)
2
- # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (ruby/lib/voxgig_sekreto/plugins/aws.rb)
2
- # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (ruby/lib/voxgig_sekreto/plugins/azuresecrets.rb)
2
- # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (ruby/lib/voxgig_sekreto/plugins/boru.rb)
2
- # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (ruby/lib/voxgig_sekreto/plugins/doppler.rb)
2
- # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (ruby/lib/voxgig_sekreto/plugins/gcpsecrets.rb)
2
- # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (ruby/lib/voxgig_sekreto/plugins/hashicorp.rb)
2
- # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (ruby/lib/voxgig_sekreto/plugins/httpjson.rb)
2
- # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (ruby/lib/voxgig_sekreto/plugins/infisical.rb)
2
- # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (ruby/lib/voxgig_sekreto/plugins/onepassword.rb)
2
- # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (ruby/lib/voxgig_sekreto/plugins/secretspec.rb)
2
- # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (ruby/lib/voxgig_sekreto/plugins/sigv4.rb)
2
- # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (ruby/lib/voxgig_sekreto/providers.rb)
2
- # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (ruby/lib/voxgig_sekreto/sekreto.rb)
2
- # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -1,5 +1,5 @@
1
1
  # VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (ruby/lib/voxgig_sekreto.rb)
2
- # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
2
+ # Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
3
3
  # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
4
  # frozen_string_literal: true
5
5
 
@@ -222,11 +222,19 @@ class ProjectNameSecretsFeature < ProjectNameBaseFeature
222
222
  _with_refresh(ctx, url, fetchdef, inner)
223
223
  end
224
224
 
225
- # One resolution, shared by every concurrent caller. A settled SUCCESS is
225
+ # One resolution, shared by every concurrent caller. A settled HIT is
226
226
  # kept only when caching is on (`cache: false` means every request asks
227
227
  # the chain again); a FAILURE is never cached, so a transient vault
228
228
  # outage does not poison the client after the vault recovers.
229
229
  #
230
+ # A MISS is not kept either, however caching is set. That rule is
231
+ # sekreto's, not this feature's: `A miss is never cached: the next read
232
+ # asks again`, in sekreto's own source. Keeping a settled miss here would
233
+ # override that from the layer above, and a secret provisioned after
234
+ # startup - a mounted file, a policy granted a minute late - would never
235
+ # be picked up for the life of the client. `cache` is about caching a
236
+ # HIT; it was never a promise to keep saying no.
237
+ #
230
238
  # Answers the error rather than raising it: the caller is the transport
231
239
  # gate, whose contract is a [value, err] pair.
232
240
  def resolve
@@ -236,20 +244,23 @@ class ProjectNameSecretsFeature < ProjectNameBaseFeature
236
244
  return nil if @resolved
237
245
 
238
246
  begin
239
- _resolve_once
247
+ hit = _resolve_once
240
248
  rescue StandardError => e
241
249
  return e
242
250
  end
243
251
 
244
- @resolved = true if @cache
252
+ @resolved = true if @cache && hit
245
253
  nil
246
254
  end
247
255
  end
248
256
 
249
257
  private
250
258
 
259
+ # Resolve once, answering whether a credential came out of it. That
260
+ # boolean is the whole of what resolve needs to tell a cacheable HIT from
261
+ # a miss it must not keep.
251
262
  def _resolve_once
252
- return if @sekreto.nil?
263
+ return false if @sekreto.nil?
253
264
 
254
265
  # Miss-vs-error: `try` answers nil for "no store has it" and RAISES for
255
266
  # "a store could not answer" - only the miss falls through.
@@ -264,7 +275,7 @@ class ProjectNameSecretsFeature < ProjectNameBaseFeature
264
275
  # the chain HITS while one is set and the miss branch is
265
276
  # unreachable.)
266
277
  _setcred(found)
267
- return
278
+ return !found.nil?
268
279
  end
269
280
 
270
281
  # Exchanging: what the chain resolved is the REFRESH token, kept for
@@ -283,9 +294,20 @@ class ProjectNameSecretsFeature < ProjectNameBaseFeature
283
294
  # A starting access token was supplied. Spend it: if it is stale the
284
295
  # API answers with an expiry status and the wrapper buys another, which
285
296
  # is the same path expiry takes anyway.
286
- return unless apikey.nil? || apikey.empty?
297
+ return true unless apikey.nil? || apikey.empty?
298
+
299
+ # `auth: nil` is the documented way to send NO credential, and a
300
+ # purchase is a credential-bearing call: the refresh token goes to the
301
+ # token endpoint in the request body. _with_refresh honours suppression
302
+ # for the RETRY, but it runs after this - by then the refresh token has
303
+ # already left the process, and no later check can call it back. The
304
+ # suppression has to be honoured here, before the first purchase, or it
305
+ # only ever half-held.
306
+ return false if @liveopts["auth"].nil?
287
307
 
288
308
  _buy
309
+
310
+ true
289
311
  end
290
312
 
291
313
  # Buy a token and try the request again when the API says the current one