@voxgig/sdkgen 4.9.0 → 4.10.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 (887) hide show
  1. package/dist/helpers/manifest.d.ts +2 -1
  2. package/dist/helpers/manifest.js +75 -1
  3. package/dist/helpers/manifest.js.map +1 -1
  4. package/dist/helpers/modelNames.d.ts +7 -0
  5. package/dist/helpers/modelNames.js +232 -0
  6. package/dist/helpers/modelNames.js.map +1 -0
  7. package/dist/helpers/naming.d.ts +2 -1
  8. package/dist/helpers/naming.js +45 -1
  9. package/dist/helpers/naming.js.map +1 -1
  10. package/dist/sdkgen.d.ts +3 -2
  11. package/dist/sdkgen.js +12 -3
  12. package/dist/sdkgen.js.map +1 -1
  13. package/dist/testkit.d.ts +2 -0
  14. package/dist/testkit.js +80 -24
  15. package/dist/testkit.js.map +1 -1
  16. package/dist/tsconfig.tsbuildinfo +1 -1
  17. package/dist/utility.js +17 -7
  18. package/dist/utility.js.map +1 -1
  19. package/package.json +1 -1
  20. package/project/.sdk/model/feature/secrets.aon +671 -0
  21. package/project/.sdk/model/target/clojure.aon +10 -0
  22. package/project/.sdk/model/target/csharp.aon +5 -0
  23. package/project/.sdk/model/target/elixir.aon +6 -0
  24. package/project/.sdk/model/target/java.aon +5 -0
  25. package/project/.sdk/model/target/js.aon +5 -0
  26. package/project/.sdk/model/target/kotlin.aon +7 -0
  27. package/project/.sdk/model/target/perl.aon +5 -0
  28. package/project/.sdk/model/target/php.aon +5 -0
  29. package/project/.sdk/model/target/rb.aon +5 -0
  30. package/project/.sdk/model/target/rust.aon +5 -0
  31. package/project/.sdk/model/target/scala.aon +38 -2
  32. package/project/.sdk/model/target/swift.aon +10 -0
  33. package/project/.sdk/src/cmp/clojure/Config_clojure.ts +51 -4
  34. package/project/.sdk/src/cmp/clojure/Main_clojure.ts +43 -1
  35. package/project/.sdk/src/cmp/clojure/Package_clojure.ts +17 -1
  36. package/project/.sdk/src/cmp/clojure/featureextra_clojure.ts +130 -0
  37. package/project/.sdk/src/cmp/csharp/Config_csharp.ts +70 -0
  38. package/project/.sdk/src/cmp/csharp/Main_csharp.ts +9 -1
  39. package/project/.sdk/src/cmp/csharp/Package_csharp.ts +25 -1
  40. package/project/.sdk/src/cmp/elixir/Config_elixir.ts +68 -2
  41. package/project/.sdk/src/cmp/elixir/Main_elixir.ts +16 -0
  42. package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +14 -1
  43. package/project/.sdk/src/cmp/java/Config_java.ts +84 -2
  44. package/project/.sdk/src/cmp/java/Main_java.ts +10 -1
  45. package/project/.sdk/src/cmp/js/Config_js.ts +75 -8
  46. package/project/.sdk/src/cmp/js/Main_js.ts +66 -2
  47. package/project/.sdk/src/cmp/js/fragment/Config.data.fragment.js +18 -1
  48. package/project/.sdk/src/cmp/js/fragment/Config.fragment.js +18 -1
  49. package/project/.sdk/src/cmp/js/fragment/Main.fragment.js +7 -0
  50. package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +63 -1
  51. package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +32 -2
  52. package/project/.sdk/src/cmp/perl/Config_perl.ts +129 -3
  53. package/project/.sdk/src/cmp/perl/Main_perl.ts +41 -1
  54. package/project/.sdk/src/cmp/perl/Package_perl.ts +13 -1
  55. package/project/.sdk/src/cmp/perl/fragment/Main.fragment.pm +1 -0
  56. package/project/.sdk/src/cmp/php/Config_php.ts +105 -1
  57. package/project/.sdk/src/cmp/php/Gitignore_php.ts +4 -2
  58. package/project/.sdk/src/cmp/php/Main_php.ts +16 -1
  59. package/project/.sdk/src/cmp/rb/Config_rb.ts +92 -2
  60. package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +11 -1
  61. package/project/.sdk/src/cmp/rb/Main_rb.ts +7 -1
  62. package/project/.sdk/src/cmp/rust/Main_rust.ts +99 -1
  63. package/project/.sdk/src/cmp/rust/Package_rust.ts +72 -6
  64. package/project/.sdk/src/cmp/scala/Config_scala.ts +44 -0
  65. package/project/.sdk/src/cmp/scala/Main_scala.ts +68 -1
  66. package/project/.sdk/src/cmp/swift/Config_swift.ts +62 -1
  67. package/project/.sdk/src/cmp/swift/Main_swift.ts +35 -1
  68. package/project/.sdk/src/cmp/swift/Package_swift.ts +81 -11
  69. package/project/.sdk/src/cmp/swift/fragment/Main.fragment.swift +58 -44
  70. package/project/.sdk/src/cmp/swift/utility_swift.ts +22 -0
  71. package/project/.sdk/tm/c/tests/vendor/omni/json.c +2 -2
  72. package/project/.sdk/tm/c/tests/vendor/omni/omni.h +2 -2
  73. package/project/.sdk/tm/c/tests/vendor/omni/runner.c +2 -2
  74. package/project/.sdk/tm/c/tests/vendor/omni/util.c +2 -2
  75. package/project/.sdk/tm/clojure/Makefile +3 -0
  76. package/project/.sdk/tm/clojure/feature/secrets/sdk/feature/secrets.clj +503 -0
  77. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/capability.clj +84 -0
  78. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/catalog.clj +44 -0
  79. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/config.clj +240 -0
  80. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/depend.clj +199 -0
  81. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/env.clj +111 -0
  82. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/export.clj +46 -0
  83. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/graph.clj +122 -0
  84. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/host.clj +1018 -0
  85. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/json.clj +106 -0
  86. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/order.clj +157 -0
  87. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/point.clj +77 -0
  88. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/ref.clj +92 -0
  89. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/resolve.clj +46 -0
  90. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/types.clj +177 -0
  91. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/version.clj +90 -0
  92. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin.clj +40 -0
  93. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/addr.clj +111 -0
  94. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/chain.clj +297 -0
  95. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/core.clj +192 -0
  96. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/json.clj +261 -0
  97. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/aws.clj +165 -0
  98. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/azuresecrets.clj +111 -0
  99. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/boru.clj +107 -0
  100. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/doppler.clj +61 -0
  101. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/gcpsecrets.clj +88 -0
  102. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/hashicorp.clj +115 -0
  103. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/httpjson.clj +214 -0
  104. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/infisical.clj +80 -0
  105. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/onepassword.clj +93 -0
  106. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/proc.clj +63 -0
  107. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/secretspec.clj +99 -0
  108. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/sigv4.clj +142 -0
  109. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/provider.clj +25 -0
  110. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/providers.clj +196 -0
  111. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto.clj +113 -0
  112. package/project/.sdk/tm/clojure/src/sdk/core.clj +9 -0
  113. package/project/.sdk/tm/clojure/src/sdk/features.clj +13 -1
  114. package/project/.sdk/tm/clojure/test/sdk/test/feature/secrets.clj +547 -0
  115. package/project/.sdk/tm/clojure/test/sdk/test_runner.clj +103 -14
  116. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/json.clj +2 -2
  117. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/runner.clj +2 -2
  118. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/util.clj +2 -2
  119. package/project/.sdk/tm/cpp/test/vendor/omni/json.hpp +2 -2
  120. package/project/.sdk/tm/cpp/test/vendor/omni/omni.hpp +2 -2
  121. package/project/.sdk/tm/cpp/test/vendor/omni/util.hpp +2 -2
  122. package/project/.sdk/tm/csharp/feature/SecretsFeature.cs +889 -0
  123. package/project/.sdk/tm/csharp/feature/secrets/plugin/Capability.cs +196 -0
  124. package/project/.sdk/tm/csharp/feature/secrets/plugin/Catalog.cs +70 -0
  125. package/project/.sdk/tm/csharp/feature/secrets/plugin/Config.cs +505 -0
  126. package/project/.sdk/tm/csharp/feature/secrets/plugin/Definition.cs +52 -0
  127. package/project/.sdk/tm/csharp/feature/secrets/plugin/Depend.cs +285 -0
  128. package/project/.sdk/tm/csharp/feature/secrets/plugin/Entry.cs +55 -0
  129. package/project/.sdk/tm/csharp/feature/secrets/plugin/Env.cs +228 -0
  130. package/project/.sdk/tm/csharp/feature/secrets/plugin/Export.cs +102 -0
  131. package/project/.sdk/tm/csharp/feature/secrets/plugin/Graph.cs +256 -0
  132. package/project/.sdk/tm/csharp/feature/secrets/plugin/Host.cs +1379 -0
  133. package/project/.sdk/tm/csharp/feature/secrets/plugin/Inst.cs +177 -0
  134. package/project/.sdk/tm/csharp/feature/secrets/plugin/Json.cs +326 -0
  135. package/project/.sdk/tm/csharp/feature/secrets/plugin/Order.cs +295 -0
  136. package/project/.sdk/tm/csharp/feature/secrets/plugin/Plugin.cs +113 -0
  137. package/project/.sdk/tm/csharp/feature/secrets/plugin/Point.cs +177 -0
  138. package/project/.sdk/tm/csharp/feature/secrets/plugin/Refs.cs +198 -0
  139. package/project/.sdk/tm/csharp/feature/secrets/plugin/Resolve.cs +95 -0
  140. package/project/.sdk/tm/csharp/feature/secrets/plugin/Types.cs +351 -0
  141. package/project/.sdk/tm/csharp/feature/secrets/plugin/Version.cs +196 -0
  142. package/project/.sdk/tm/csharp/feature/secrets/plugins/Aws.cs +325 -0
  143. package/project/.sdk/tm/csharp/feature/secrets/plugins/AzureSecrets.cs +195 -0
  144. package/project/.sdk/tm/csharp/feature/secrets/plugins/Boru.cs +192 -0
  145. package/project/.sdk/tm/csharp/feature/secrets/plugins/Child.cs +75 -0
  146. package/project/.sdk/tm/csharp/feature/secrets/plugins/Doppler.cs +112 -0
  147. package/project/.sdk/tm/csharp/feature/secrets/plugins/GcpSecrets.cs +167 -0
  148. package/project/.sdk/tm/csharp/feature/secrets/plugins/Hashicorp.cs +221 -0
  149. package/project/.sdk/tm/csharp/feature/secrets/plugins/HttpJson.cs +213 -0
  150. package/project/.sdk/tm/csharp/feature/secrets/plugins/Infisical.cs +155 -0
  151. package/project/.sdk/tm/csharp/feature/secrets/plugins/OnePassword.cs +169 -0
  152. package/project/.sdk/tm/csharp/feature/secrets/plugins/SecretSpec.cs +172 -0
  153. package/project/.sdk/tm/csharp/feature/secrets/plugins/Sigv4.cs +240 -0
  154. package/project/.sdk/tm/csharp/feature/secrets/sekreto/Json.cs +192 -0
  155. package/project/.sdk/tm/csharp/feature/secrets/sekreto/Providers.cs +503 -0
  156. package/project/.sdk/tm/csharp/feature/secrets/sekreto/Sekreto.cs +775 -0
  157. package/project/.sdk/tm/csharp/test/feature/secrets/SecretsFeatureTest.cs +1702 -0
  158. package/project/.sdk/tm/csharp/test/vendor/omni/Runner.cs +2 -2
  159. package/project/.sdk/tm/csharp/test/vendor/omni/Util.cs +2 -2
  160. package/project/.sdk/tm/csharp/utility/MakeOptions.cs +10 -0
  161. package/project/.sdk/tm/csharp/utility/struct/Struct.cs +1 -1
  162. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/capability.ex +118 -0
  163. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/catalog.ex +56 -0
  164. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/config.ex +320 -0
  165. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/depend.ex +205 -0
  166. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/env.ex +166 -0
  167. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/error.ex +13 -0
  168. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/export.ex +73 -0
  169. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/graph.ex +185 -0
  170. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/host.ex +1182 -0
  171. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/inst.ex +139 -0
  172. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/json.ex +132 -0
  173. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/order.ex +179 -0
  174. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/point.ex +99 -0
  175. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/ref.ex +129 -0
  176. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/resolve.ex +59 -0
  177. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/types.ex +190 -0
  178. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/version.ex +136 -0
  179. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/voxgig_plugin.ex +42 -0
  180. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/json.ex +368 -0
  181. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/aws.ex +257 -0
  182. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/azuresecrets.ex +160 -0
  183. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/boru.ex +127 -0
  184. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/doppler.ex +96 -0
  185. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/gcpsecrets.ex +124 -0
  186. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/hashicorp.ex +162 -0
  187. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/http.ex +627 -0
  188. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/httpjson.ex +134 -0
  189. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/infisical.ex +125 -0
  190. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/onepassword.ex +152 -0
  191. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/proc.ex +80 -0
  192. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/secretspec.ex +101 -0
  193. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/sigv4.ex +176 -0
  194. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/provider.ex +67 -0
  195. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/providers.ex +536 -0
  196. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/sekreto.ex +662 -0
  197. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets.ex +824 -0
  198. package/project/.sdk/tm/elixir/test/feature/secrets/secrets_test.exs +1072 -0
  199. package/project/.sdk/tm/elixir/test/vendor/omni/json.ex +2 -2
  200. package/project/.sdk/tm/elixir/test/vendor/omni/runner.ex +2 -2
  201. package/project/.sdk/tm/elixir/test/vendor/omni/util.ex +2 -2
  202. package/project/.sdk/tm/go/feature/secrets/plugin/capability.go +1 -1
  203. package/project/.sdk/tm/go/feature/secrets/plugin/catalog.go +1 -1
  204. package/project/.sdk/tm/go/feature/secrets/plugin/config.go +1 -1
  205. package/project/.sdk/tm/go/feature/secrets/plugin/depend.go +1 -1
  206. package/project/.sdk/tm/go/feature/secrets/plugin/env.go +1 -1
  207. package/project/.sdk/tm/go/feature/secrets/plugin/export.go +1 -1
  208. package/project/.sdk/tm/go/feature/secrets/plugin/graph.go +1 -1
  209. package/project/.sdk/tm/go/feature/secrets/plugin/host.go +1 -1
  210. package/project/.sdk/tm/go/feature/secrets/plugin/order.go +1 -1
  211. package/project/.sdk/tm/go/feature/secrets/plugin/point.go +1 -1
  212. package/project/.sdk/tm/go/feature/secrets/plugin/ref.go +1 -1
  213. package/project/.sdk/tm/go/feature/secrets/plugin/resolve.go +1 -1
  214. package/project/.sdk/tm/go/feature/secrets/plugin/types.go +1 -1
  215. package/project/.sdk/tm/go/feature/secrets/plugin/util.go +1 -1
  216. package/project/.sdk/tm/go/feature/secrets/plugin/version.go +1 -1
  217. package/project/.sdk/tm/go/feature/secrets/plugins/aws/aws.go +2 -2
  218. package/project/.sdk/tm/go/feature/secrets/plugins/aws/sigv4.go +2 -2
  219. package/project/.sdk/tm/go/feature/secrets/plugins/azuresecrets/azuresecrets.go +2 -2
  220. package/project/.sdk/tm/go/feature/secrets/plugins/boru/boru.go +2 -2
  221. package/project/.sdk/tm/go/feature/secrets/plugins/doppler/doppler.go +2 -2
  222. package/project/.sdk/tm/go/feature/secrets/plugins/gcpsecrets/gcpsecrets.go +2 -2
  223. package/project/.sdk/tm/go/feature/secrets/plugins/hashicorp/hashicorp.go +2 -2
  224. package/project/.sdk/tm/go/feature/secrets/plugins/httpjson/httpjson.go +2 -2
  225. package/project/.sdk/tm/go/feature/secrets/plugins/infisical/infisical.go +2 -2
  226. package/project/.sdk/tm/go/feature/secrets/plugins/onepassword/onepassword.go +2 -2
  227. package/project/.sdk/tm/go/feature/secrets/plugins/secretspec/secretspec.go +2 -2
  228. package/project/.sdk/tm/go/feature/secrets/sekreto/addr.go +2 -2
  229. package/project/.sdk/tm/go/feature/secrets/sekreto/providers.go +2 -2
  230. package/project/.sdk/tm/go/feature/secrets/sekreto/sekreto.go +2 -2
  231. package/project/.sdk/tm/go/feature/secrets_feature.go +16 -0
  232. package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +123 -0
  233. package/project/.sdk/tm/go/test/omni/omni.go +2 -2
  234. package/project/.sdk/tm/go/test/omni/util.go +2 -2
  235. package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +1 -1
  236. package/project/.sdk/tm/java/feature/SecretsFeature.java +766 -0
  237. package/project/.sdk/tm/java/feature/secrets/plugin/Capability.java +181 -0
  238. package/project/.sdk/tm/java/feature/secrets/plugin/Catalog.java +64 -0
  239. package/project/.sdk/tm/java/feature/secrets/plugin/Config.java +433 -0
  240. package/project/.sdk/tm/java/feature/secrets/plugin/Definition.java +54 -0
  241. package/project/.sdk/tm/java/feature/secrets/plugin/Depend.java +292 -0
  242. package/project/.sdk/tm/java/feature/secrets/plugin/Entry.java +49 -0
  243. package/project/.sdk/tm/java/feature/secrets/plugin/Env.java +204 -0
  244. package/project/.sdk/tm/java/feature/secrets/plugin/Export.java +93 -0
  245. package/project/.sdk/tm/java/feature/secrets/plugin/Graph.java +244 -0
  246. package/project/.sdk/tm/java/feature/secrets/plugin/Host.java +1196 -0
  247. package/project/.sdk/tm/java/feature/secrets/plugin/Inst.java +173 -0
  248. package/project/.sdk/tm/java/feature/secrets/plugin/Json.java +339 -0
  249. package/project/.sdk/tm/java/feature/secrets/plugin/Order.java +274 -0
  250. package/project/.sdk/tm/java/feature/secrets/plugin/Plugin.java +94 -0
  251. package/project/.sdk/tm/java/feature/secrets/plugin/PluginException.java +37 -0
  252. package/project/.sdk/tm/java/feature/secrets/plugin/Point.java +172 -0
  253. package/project/.sdk/tm/java/feature/secrets/plugin/Refs.java +171 -0
  254. package/project/.sdk/tm/java/feature/secrets/plugin/Resolve.java +89 -0
  255. package/project/.sdk/tm/java/feature/secrets/plugin/Types.java +232 -0
  256. package/project/.sdk/tm/java/feature/secrets/plugin/Version.java +198 -0
  257. package/project/.sdk/tm/java/feature/secrets/sekreto/Addr.java +142 -0
  258. package/project/.sdk/tm/java/feature/secrets/sekreto/Builtins.java +229 -0
  259. package/project/.sdk/tm/java/feature/secrets/sekreto/Json.java +302 -0
  260. package/project/.sdk/tm/java/feature/secrets/sekreto/Provider.java +21 -0
  261. package/project/.sdk/tm/java/feature/secrets/sekreto/Sekreto.java +698 -0
  262. package/project/.sdk/tm/java/feature/secrets/sekreto/Support.java +100 -0
  263. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Aws.java +294 -0
  264. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Azuresecrets.java +164 -0
  265. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Boru.java +161 -0
  266. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Doppler.java +103 -0
  267. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Gcpsecrets.java +143 -0
  268. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Hashicorp.java +186 -0
  269. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Httpjson.java +192 -0
  270. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Infisical.java +139 -0
  271. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Onepassword.java +143 -0
  272. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Proc.java +80 -0
  273. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Secretspec.java +138 -0
  274. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Sigv4.java +243 -0
  275. package/project/.sdk/tm/java/test/feature/secrets/SecretsFeatureTest.java +986 -0
  276. package/project/.sdk/tm/java/test/vendor/omni/Json.java +2 -2
  277. package/project/.sdk/tm/java/test/vendor/omni/Runner.java +2 -2
  278. package/project/.sdk/tm/java/test/vendor/omni/Util.java +2 -2
  279. package/project/.sdk/tm/java/utility/MakeOptions.java +7 -0
  280. package/project/.sdk/tm/java/utility/struct/Struct.java +1 -1
  281. package/project/.sdk/tm/js/src/feature/secrets/SecretsFeature.js +431 -0
  282. package/project/.sdk/tm/js/src/feature/secrets/plugin/capability.js +119 -0
  283. package/project/.sdk/tm/js/src/feature/secrets/plugin/catalog.js +42 -0
  284. package/project/.sdk/tm/js/src/feature/secrets/plugin/config.js +323 -0
  285. package/project/.sdk/tm/js/src/feature/secrets/plugin/depend.js +196 -0
  286. package/project/.sdk/tm/js/src/feature/secrets/plugin/env.js +120 -0
  287. package/project/.sdk/tm/js/src/feature/secrets/plugin/export.js +48 -0
  288. package/project/.sdk/tm/js/src/feature/secrets/plugin/graph.js +150 -0
  289. package/project/.sdk/tm/js/src/feature/secrets/plugin/host.js +949 -0
  290. package/project/.sdk/tm/js/src/feature/secrets/plugin/index.js +35 -0
  291. package/project/.sdk/tm/js/src/feature/secrets/plugin/order.js +165 -0
  292. package/project/.sdk/tm/js/src/feature/secrets/plugin/point.js +94 -0
  293. package/project/.sdk/tm/js/src/feature/secrets/plugin/ref.js +106 -0
  294. package/project/.sdk/tm/js/src/feature/secrets/plugin/resolve.js +59 -0
  295. package/project/.sdk/tm/js/src/feature/secrets/plugin/types.js +79 -0
  296. package/project/.sdk/tm/js/src/feature/secrets/plugin/version.js +100 -0
  297. package/project/.sdk/tm/js/src/feature/secrets/sekreto/Sekreto.js +574 -0
  298. package/project/.sdk/tm/js/src/feature/secrets/sekreto/index.js +56 -0
  299. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/aws.js +188 -0
  300. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/azuresecrets.js +135 -0
  301. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/boru.js +128 -0
  302. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/doppler.js +67 -0
  303. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/gcpsecrets.js +115 -0
  304. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/hashicorp.js +139 -0
  305. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/httpjson.js +93 -0
  306. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/infisical.js +99 -0
  307. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/onepassword.js +111 -0
  308. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/secretspec.js +105 -0
  309. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/sigv4.js +157 -0
  310. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/addr.js +119 -0
  311. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/builtin.js +39 -0
  312. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/dotenv.js +40 -0
  313. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/env.js +21 -0
  314. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/file.js +42 -0
  315. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/memory.js +18 -0
  316. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/support.js +151 -0
  317. package/project/.sdk/tm/js/src/utility/StructUtility.js +1 -1
  318. package/project/.sdk/tm/js/test/feature/secrets/Secrets.test.js +946 -0
  319. package/project/.sdk/tm/js/test/vendor/omni/index.js +1 -1
  320. package/project/.sdk/tm/js/test/vendor/omni/runner.js +1 -1
  321. package/project/.sdk/tm/js/test/vendor/omni/util.js +1 -1
  322. package/project/.sdk/tm/kotlin/feature/SecretsFeature.kt +659 -0
  323. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Capability.kt +117 -0
  324. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Catalog.kt +40 -0
  325. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Config.kt +322 -0
  326. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Depend.kt +227 -0
  327. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Env.kt +163 -0
  328. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Export.kt +57 -0
  329. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Graph.kt +179 -0
  330. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Host.kt +1131 -0
  331. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Json.kt +241 -0
  332. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Order.kt +180 -0
  333. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Plugin.kt +64 -0
  334. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Point.kt +124 -0
  335. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Refs.kt +125 -0
  336. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Resolve.kt +66 -0
  337. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Types.kt +171 -0
  338. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Version.kt +132 -0
  339. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Json.kt +359 -0
  340. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Provider.kt +21 -0
  341. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Providers.kt +308 -0
  342. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Sekreto.kt +525 -0
  343. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Spec.kt +126 -0
  344. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Support.kt +205 -0
  345. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Aws.kt +251 -0
  346. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Azuresecrets.kt +145 -0
  347. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Boru.kt +130 -0
  348. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Doppler.kt +77 -0
  349. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Gcpsecrets.kt +119 -0
  350. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Hashicorp.kt +156 -0
  351. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Httpjson.kt +219 -0
  352. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Infisical.kt +114 -0
  353. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Onepassword.kt +114 -0
  354. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Secretspec.kt +118 -0
  355. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Sigv4.kt +220 -0
  356. package/project/.sdk/tm/kotlin/test/feature/secrets/SecretsTest.kt +1148 -0
  357. package/project/.sdk/tm/kotlin/test/vendor/omni/Json.kt +2 -2
  358. package/project/.sdk/tm/kotlin/test/vendor/omni/Runner.kt +2 -2
  359. package/project/.sdk/tm/kotlin/test/vendor/omni/Util.kt +2 -2
  360. package/project/.sdk/tm/kotlin/utility/struct/Struct.kt +1 -1
  361. package/project/.sdk/tm/lua/test/vendor/omni/json.lua +2 -2
  362. package/project/.sdk/tm/lua/test/vendor/omni/regex.lua +2 -2
  363. package/project/.sdk/tm/lua/test/vendor/omni/runner.lua +2 -2
  364. package/project/.sdk/tm/lua/test/vendor/omni/util.lua +2 -2
  365. package/project/.sdk/tm/lua/utility/struct/regex.lua +1 -1
  366. package/project/.sdk/tm/lua/utility/struct/struct.lua +1 -1
  367. package/project/.sdk/tm/ocaml/test/vendor/omni/omni.ml +2 -2
  368. package/project/.sdk/tm/perl/Makefile +6 -1
  369. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Capability.pm +141 -0
  370. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Catalog.pm +65 -0
  371. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Config.pm +346 -0
  372. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Depend.pm +216 -0
  373. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Env.pm +176 -0
  374. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Export.pm +59 -0
  375. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Graph.pm +157 -0
  376. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Host.pm +1139 -0
  377. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Order.pm +187 -0
  378. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Point.pm +100 -0
  379. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Ref.pm +119 -0
  380. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Resolve.pm +71 -0
  381. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Types.pm +251 -0
  382. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Version.pm +122 -0
  383. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin.pm +70 -0
  384. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Aws.pm +263 -0
  385. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Azuresecrets.pm +159 -0
  386. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Boru.pm +180 -0
  387. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Doppler.pm +92 -0
  388. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Gcpsecrets.pm +138 -0
  389. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Hashicorp.pm +213 -0
  390. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Httpjson.pm +173 -0
  391. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Infisical.pm +132 -0
  392. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Onepassword.pm +132 -0
  393. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Proc.pm +102 -0
  394. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Secretspec.pm +132 -0
  395. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Sigv4.pm +190 -0
  396. package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Addr.pm +124 -0
  397. package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Providers.pm +301 -0
  398. package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto.pm +605 -0
  399. package/project/.sdk/tm/perl/feature/secrets_feature.pm +675 -0
  400. package/project/.sdk/tm/perl/lib/Voxgig/Struct.pm +1 -1
  401. package/project/.sdk/tm/perl/t/feature/secrets/secrets.t +957 -0
  402. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Runner.pm +1 -1
  403. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Util.pm +1 -1
  404. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni.pm +1 -1
  405. package/project/.sdk/tm/php/feature/SecretsFeature.php +670 -0
  406. package/project/.sdk/tm/php/feature/secrets/plugin/Capability.php +226 -0
  407. package/project/.sdk/tm/php/feature/secrets/plugin/Catalog.php +75 -0
  408. package/project/.sdk/tm/php/feature/secrets/plugin/Config.php +444 -0
  409. package/project/.sdk/tm/php/feature/secrets/plugin/Depend.php +262 -0
  410. package/project/.sdk/tm/php/feature/secrets/plugin/Env.php +202 -0
  411. package/project/.sdk/tm/php/feature/secrets/plugin/Export.php +74 -0
  412. package/project/.sdk/tm/php/feature/secrets/plugin/Graph.php +195 -0
  413. package/project/.sdk/tm/php/feature/secrets/plugin/Host.php +1514 -0
  414. package/project/.sdk/tm/php/feature/secrets/plugin/Order.php +260 -0
  415. package/project/.sdk/tm/php/feature/secrets/plugin/Point.php +129 -0
  416. package/project/.sdk/tm/php/feature/secrets/plugin/Ref.php +169 -0
  417. package/project/.sdk/tm/php/feature/secrets/plugin/Resolve.php +79 -0
  418. package/project/.sdk/tm/php/feature/secrets/plugin/Types.php +348 -0
  419. package/project/.sdk/tm/php/feature/secrets/plugin/Version.php +163 -0
  420. package/project/.sdk/tm/php/feature/secrets/plugin/plugin.php +40 -0
  421. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/aws.php +274 -0
  422. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/azuresecrets.php +170 -0
  423. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/boru.php +163 -0
  424. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/doppler.php +106 -0
  425. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/gcpsecrets.php +144 -0
  426. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/hashicorp.php +194 -0
  427. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/httpjson.php +113 -0
  428. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/infisical.php +131 -0
  429. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/onepassword.php +150 -0
  430. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/runcmd.php +101 -0
  431. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/secretspec.php +146 -0
  432. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/sigv4.php +161 -0
  433. package/project/.sdk/tm/php/feature/secrets/sekreto/src/Addr.php +129 -0
  434. package/project/.sdk/tm/php/feature/secrets/sekreto/src/Providers.php +322 -0
  435. package/project/.sdk/tm/php/feature/secrets/sekreto/src/Sekreto.php +724 -0
  436. package/project/.sdk/tm/php/test/feature/secrets/SecretsTest.php +1067 -0
  437. package/project/.sdk/tm/php/test/vendor/omni/Runner.php +2 -2
  438. package/project/.sdk/tm/php/test/vendor/omni/Util.php +2 -2
  439. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/__init__.py +1 -1
  440. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/capability.py +1 -1
  441. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/catalog.py +1 -1
  442. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/config.py +1 -1
  443. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/depend.py +1 -1
  444. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/env.py +1 -1
  445. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/export.py +1 -1
  446. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/graph.py +1 -1
  447. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/host.py +1 -1
  448. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/order.py +1 -1
  449. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/point.py +1 -1
  450. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/ref.py +1 -1
  451. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/resolve.py +1 -1
  452. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/types.py +1 -1
  453. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/version.py +1 -1
  454. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/__init__.py +2 -2
  455. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/addr.py +1 -1
  456. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/aws.py +1 -1
  457. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/azuresecrets.py +1 -1
  458. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/boru.py +1 -1
  459. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/doppler.py +1 -1
  460. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.py +1 -1
  461. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/hashicorp.py +1 -1
  462. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/httpjson.py +1 -1
  463. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/infisical.py +1 -1
  464. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/onepassword.py +1 -1
  465. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/secretspec.py +1 -1
  466. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/sigv4.py +1 -1
  467. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/providers.py +1 -1
  468. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/sekreto.py +1 -1
  469. package/project/.sdk/tm/py/pkg/utility/voxgig_struct/voxgig_struct.py +1 -1
  470. package/project/.sdk/tm/py/test/voxgig_omni/__init__.py +1 -1
  471. package/project/.sdk/tm/py/test/voxgig_omni/runner.py +1 -1
  472. package/project/.sdk/tm/py/test/voxgig_omni/util.py +1 -1
  473. package/project/.sdk/tm/rb/Makefile +7 -1
  474. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/capability.rb +118 -0
  475. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/catalog.rb +55 -0
  476. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/config.rb +315 -0
  477. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/depend.rb +197 -0
  478. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/env.rb +143 -0
  479. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/export.rb +52 -0
  480. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/graph.rb +147 -0
  481. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/host.rb +1079 -0
  482. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/order.rb +169 -0
  483. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/point.rb +93 -0
  484. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/ref.rb +112 -0
  485. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/resolve.rb +56 -0
  486. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/types.rb +99 -0
  487. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/version.rb +106 -0
  488. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin.rb +24 -0
  489. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/addr.rb +111 -0
  490. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/aws.rb +200 -0
  491. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/azuresecrets.rb +130 -0
  492. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/boru.rb +121 -0
  493. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/doppler.rb +66 -0
  494. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.rb +107 -0
  495. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/hashicorp.rb +137 -0
  496. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/httpjson.rb +136 -0
  497. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/infisical.rb +97 -0
  498. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/onepassword.rb +104 -0
  499. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/secretspec.rb +113 -0
  500. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/sigv4.rb +127 -0
  501. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/providers.rb +210 -0
  502. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/sekreto.rb +465 -0
  503. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto.rb +30 -0
  504. package/project/.sdk/tm/rb/feature/secrets_feature.rb +561 -0
  505. package/project/.sdk/tm/rb/test/feature/secrets/secrets_feature_test.rb +842 -0
  506. package/project/.sdk/tm/rb/test/vendor/omni/runner.rb +2 -2
  507. package/project/.sdk/tm/rb/test/vendor/omni/util.rb +2 -2
  508. package/project/.sdk/tm/rb/test/vendor/omni/voxgig_omni.rb +2 -2
  509. package/project/.sdk/tm/rust/feature/secrets/plugin/capability.rs +130 -0
  510. package/project/.sdk/tm/rust/feature/secrets/plugin/catalog.rs +114 -0
  511. package/project/.sdk/tm/rust/feature/secrets/plugin/config.rs +416 -0
  512. package/project/.sdk/tm/rust/feature/secrets/plugin/depend.rs +245 -0
  513. package/project/.sdk/tm/rust/feature/secrets/plugin/env.rs +200 -0
  514. package/project/.sdk/tm/rust/feature/secrets/plugin/export.rs +90 -0
  515. package/project/.sdk/tm/rust/feature/secrets/plugin/graph.rs +231 -0
  516. package/project/.sdk/tm/rust/feature/secrets/plugin/host.rs +1565 -0
  517. package/project/.sdk/tm/rust/feature/secrets/plugin/mod.rs +18 -0
  518. package/project/.sdk/tm/rust/feature/secrets/plugin/order.rs +226 -0
  519. package/project/.sdk/tm/rust/feature/secrets/plugin/point.rs +137 -0
  520. package/project/.sdk/tm/rust/feature/secrets/plugin/refs.rs +148 -0
  521. package/project/.sdk/tm/rust/feature/secrets/plugin/resolve.rs +83 -0
  522. package/project/.sdk/tm/rust/feature/secrets/plugin/types.rs +132 -0
  523. package/project/.sdk/tm/rust/feature/secrets/plugin/value.rs +433 -0
  524. package/project/.sdk/tm/rust/feature/secrets/plugin/version.rs +174 -0
  525. package/project/.sdk/tm/rust/feature/secrets/plugins/aws/crypto.rs +146 -0
  526. package/project/.sdk/tm/rust/feature/secrets/plugins/aws/sigv4.rs +230 -0
  527. package/project/.sdk/tm/rust/feature/secrets/plugins/aws.rs +328 -0
  528. package/project/.sdk/tm/rust/feature/secrets/plugins/azuresecrets.rs +184 -0
  529. package/project/.sdk/tm/rust/feature/secrets/plugins/boru.rs +172 -0
  530. package/project/.sdk/tm/rust/feature/secrets/plugins/doppler.rs +102 -0
  531. package/project/.sdk/tm/rust/feature/secrets/plugins/gcpsecrets.rs +153 -0
  532. package/project/.sdk/tm/rust/feature/secrets/plugins/hashicorp.rs +228 -0
  533. package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/http.rs +537 -0
  534. package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/json.rs +300 -0
  535. package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson.rs +137 -0
  536. package/project/.sdk/tm/rust/feature/secrets/plugins/infisical.rs +148 -0
  537. package/project/.sdk/tm/rust/feature/secrets/plugins/onepassword.rs +165 -0
  538. package/project/.sdk/tm/rust/feature/secrets/plugins/secretspec.rs +150 -0
  539. package/project/.sdk/tm/rust/feature/secrets/sekreto/addr.rs +144 -0
  540. package/project/.sdk/tm/rust/feature/secrets/sekreto/mod.rs +51 -0
  541. package/project/.sdk/tm/rust/feature/secrets/sekreto/providers.rs +637 -0
  542. package/project/.sdk/tm/rust/feature/secrets/sekreto/sekreto.rs +677 -0
  543. package/project/.sdk/tm/rust/feature/secrets.rs +961 -0
  544. package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +1509 -0
  545. package/project/.sdk/tm/rust/tests/vendor/omni/json.rs +2 -2
  546. package/project/.sdk/tm/rust/tests/vendor/omni/mod.rs +2 -2
  547. package/project/.sdk/tm/rust/tests/vendor/omni/regex.rs +2 -2
  548. package/project/.sdk/tm/rust/tests/vendor/omni/runner.rs +2 -2
  549. package/project/.sdk/tm/rust/tests/vendor/omni/util.rs +2 -2
  550. package/project/.sdk/tm/scala/Makefile +8 -3
  551. package/project/.sdk/tm/scala/feature/SecretsFeature.scala +556 -0
  552. package/project/.sdk/tm/scala/feature/secrets/plugin/Capability.scala +96 -0
  553. package/project/.sdk/tm/scala/feature/secrets/plugin/Config.scala +270 -0
  554. package/project/.sdk/tm/scala/feature/secrets/plugin/Depend.scala +216 -0
  555. package/project/.sdk/tm/scala/feature/secrets/plugin/Env.scala +144 -0
  556. package/project/.sdk/tm/scala/feature/secrets/plugin/Export.scala +59 -0
  557. package/project/.sdk/tm/scala/feature/secrets/plugin/Graph.scala +149 -0
  558. package/project/.sdk/tm/scala/feature/secrets/plugin/Host.scala +1089 -0
  559. package/project/.sdk/tm/scala/feature/secrets/plugin/Json.scala +156 -0
  560. package/project/.sdk/tm/scala/feature/secrets/plugin/Order.scala +169 -0
  561. package/project/.sdk/tm/scala/feature/secrets/plugin/Plugin.scala +47 -0
  562. package/project/.sdk/tm/scala/feature/secrets/plugin/Point.scala +107 -0
  563. package/project/.sdk/tm/scala/feature/secrets/plugin/Refs.scala +131 -0
  564. package/project/.sdk/tm/scala/feature/secrets/plugin/Resolve.scala +53 -0
  565. package/project/.sdk/tm/scala/feature/secrets/plugin/Types.scala +110 -0
  566. package/project/.sdk/tm/scala/feature/secrets/plugin/Value.scala +157 -0
  567. package/project/.sdk/tm/scala/feature/secrets/plugin/Version.scala +136 -0
  568. package/project/.sdk/tm/scala/feature/secrets/sekreto/Json.scala +302 -0
  569. package/project/.sdk/tm/scala/feature/secrets/sekreto/Provider.scala +20 -0
  570. package/project/.sdk/tm/scala/feature/secrets/sekreto/Providers.scala +281 -0
  571. package/project/.sdk/tm/scala/feature/secrets/sekreto/Sekreto.scala +473 -0
  572. package/project/.sdk/tm/scala/feature/secrets/sekreto/Spec.scala +123 -0
  573. package/project/.sdk/tm/scala/feature/secrets/sekreto/Support.scala +216 -0
  574. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Aws.scala +225 -0
  575. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Azuresecrets.scala +124 -0
  576. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Boru.scala +104 -0
  577. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Doppler.scala +68 -0
  578. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Gcpsecrets.scala +97 -0
  579. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Hashicorp.scala +131 -0
  580. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Httpjson.scala +209 -0
  581. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Infisical.scala +98 -0
  582. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Onepassword.scala +90 -0
  583. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Secretspec.scala +95 -0
  584. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Sigv4.scala +214 -0
  585. package/project/.sdk/tm/scala/sdktest/feature/secrets/SecretsTestMain.scala +971 -0
  586. package/project/.sdk/tm/scala/sdktest/vendor/omni/Json.scala +2 -2
  587. package/project/.sdk/tm/scala/sdktest/vendor/omni/Runner.scala +2 -2
  588. package/project/.sdk/tm/scala/sdktest/vendor/omni/Util.scala +2 -2
  589. package/project/.sdk/tm/scala/utility/Make.scala +7 -0
  590. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/SecretsFeature.swift +669 -0
  591. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Capability.swift +98 -0
  592. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Catalog.swift +87 -0
  593. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Config.swift +298 -0
  594. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Depend.swift +209 -0
  595. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Env.swift +191 -0
  596. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Export.swift +63 -0
  597. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Graph.swift +158 -0
  598. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Host.swift +1141 -0
  599. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Json.swift +192 -0
  600. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Order.swift +183 -0
  601. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Point.swift +130 -0
  602. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Refs.swift +141 -0
  603. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Resolve.swift +59 -0
  604. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Types.swift +125 -0
  605. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Value.swift +198 -0
  606. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Version.swift +139 -0
  607. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Aws.swift +271 -0
  608. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Azuresecrets.swift +173 -0
  609. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Boru.swift +139 -0
  610. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Crypto.swift +198 -0
  611. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Doppler.swift +86 -0
  612. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Gcpsecrets.swift +129 -0
  613. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Hashicorp.swift +175 -0
  614. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Httpjson.swift +310 -0
  615. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Infisical.swift +140 -0
  616. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Onepassword.swift +118 -0
  617. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Proc.swift +105 -0
  618. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Secretspec.swift +111 -0
  619. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Sigv4.swift +297 -0
  620. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Addr.swift +120 -0
  621. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Json.swift +452 -0
  622. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Provider.swift +25 -0
  623. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Providers.swift +689 -0
  624. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Sekreto.swift +755 -0
  625. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/MakeOptions.swift +9 -0
  626. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/PrimaryUtilityTest.swift +30 -0
  627. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/feature/secrets/SecretsFeatureTest.swift +1030 -0
  628. package/project/.sdk/tm/swift/Tests/vendor/omni/Json.swift +2 -2
  629. package/project/.sdk/tm/swift/Tests/vendor/omni/Runner.swift +2 -2
  630. package/project/.sdk/tm/swift/Tests/vendor/omni/Util.swift +2 -2
  631. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Capability.ts +1 -1
  632. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Catalog.ts +1 -1
  633. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Config.ts +1 -1
  634. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Depend.ts +1 -1
  635. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Env.ts +1 -1
  636. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Export.ts +1 -1
  637. package/project/.sdk/tm/ts/src/feature/secrets/plugin/FeatureHost.ts +1 -1
  638. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Graph.ts +1 -1
  639. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Host.ts +1 -1
  640. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Order.ts +1 -1
  641. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Point.ts +1 -1
  642. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Ref.ts +1 -1
  643. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Resolve.ts +1 -1
  644. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Types.ts +1 -1
  645. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Version.ts +1 -1
  646. package/project/.sdk/tm/ts/src/feature/secrets/plugin/index.ts +1 -1
  647. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/Sekreto.ts +1 -1
  648. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/index.ts +1 -1
  649. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/aws.ts +1 -1
  650. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/azuresecrets.ts +1 -1
  651. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/boru.ts +1 -1
  652. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/doppler.ts +1 -1
  653. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/gcpsecrets.ts +1 -1
  654. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/hashicorp.ts +1 -1
  655. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/httpjson.ts +1 -1
  656. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/infisical.ts +1 -1
  657. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/onepassword.ts +1 -1
  658. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/secretspec.ts +1 -1
  659. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/sigv4.ts +1 -1
  660. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/addr.ts +1 -1
  661. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/builtin.ts +1 -1
  662. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/dotenv.ts +1 -1
  663. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/env.ts +1 -1
  664. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/file.ts +1 -1
  665. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/memory.ts +1 -1
  666. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/support.ts +1 -1
  667. package/project/.sdk/tm/ts/src/utility/StructUtility.ts +1 -1
  668. package/project/.sdk/tm/ts/test/vendor/omni/Runner.ts +1 -1
  669. package/project/.sdk/tm/ts/test/vendor/omni/Util.ts +1 -1
  670. package/project/.sdk/tm/ts/test/vendor/omni/index.ts +1 -1
  671. package/project/.sdk/tm/zig/test/vendor/omni/omni.zig +2 -2
  672. package/project/.sdk/tm/zig/test/vendor/omni/regex.zig +2 -2
  673. package/project/.sdk/tm/zig/utility/voxgigstruct/regex.zig +2 -2
  674. package/project/.sdk/tm/zig/utility/voxgigstruct/struct.zig +2 -2
  675. package/project/sdkgen-package.json +1 -4
  676. package/src/helpers/manifest.ts +81 -1
  677. package/src/helpers/modelNames.ts +284 -0
  678. package/src/helpers/naming.ts +45 -1
  679. package/src/sdkgen.ts +11 -1
  680. package/src/testkit.ts +115 -26
  681. package/src/utility.ts +17 -7
  682. package/project/.sdk/model/target/dart.aon +0 -58
  683. package/project/.sdk/model/target/lean.aon +0 -91
  684. package/project/.sdk/model/target/seneca-provider.aon +0 -120
  685. package/project/.sdk/src/cmp/dart/Config_dart.ts +0 -176
  686. package/project/.sdk/src/cmp/dart/EntityBase_dart.ts +0 -34
  687. package/project/.sdk/src/cmp/dart/EntityOperation_dart.ts +0 -43
  688. package/project/.sdk/src/cmp/dart/EntityTypes_dart.ts +0 -207
  689. package/project/.sdk/src/cmp/dart/Entity_dart.ts +0 -87
  690. package/project/.sdk/src/cmp/dart/Gitignore_dart.ts +0 -34
  691. package/project/.sdk/src/cmp/dart/MainEntity_dart.ts +0 -33
  692. package/project/.sdk/src/cmp/dart/Main_dart.ts +0 -106
  693. package/project/.sdk/src/cmp/dart/Package_dart.ts +0 -82
  694. package/project/.sdk/src/cmp/dart/ReadmeEntity_dart.ts +0 -177
  695. package/project/.sdk/src/cmp/dart/ReadmeExamplesTest_dart.ts +0 -238
  696. package/project/.sdk/src/cmp/dart/ReadmeExplanation_dart.ts +0 -53
  697. package/project/.sdk/src/cmp/dart/ReadmeHowto_dart.ts +0 -152
  698. package/project/.sdk/src/cmp/dart/ReadmeInstall_dart.ts +0 -59
  699. package/project/.sdk/src/cmp/dart/ReadmeIntro_dart.ts +0 -65
  700. package/project/.sdk/src/cmp/dart/ReadmeModel_dart.ts +0 -151
  701. package/project/.sdk/src/cmp/dart/ReadmeOptions_dart.ts +0 -63
  702. package/project/.sdk/src/cmp/dart/ReadmeQuick_dart.ts +0 -225
  703. package/project/.sdk/src/cmp/dart/ReadmeRef_dart.ts +0 -397
  704. package/project/.sdk/src/cmp/dart/ReadmeTopHowto_dart.ts +0 -24
  705. package/project/.sdk/src/cmp/dart/ReadmeTopQuick_dart.ts +0 -106
  706. package/project/.sdk/src/cmp/dart/ReadmeTopTest_dart.ts +0 -78
  707. package/project/.sdk/src/cmp/dart/SdkError_dart.ts +0 -42
  708. package/project/.sdk/src/cmp/dart/TestDirect_dart.ts +0 -516
  709. package/project/.sdk/src/cmp/dart/TestEntity_dart.ts +0 -628
  710. package/project/.sdk/src/cmp/dart/Test_dart.ts +0 -116
  711. package/project/.sdk/src/cmp/dart/fragment/Config.data.fragment.dart +0 -79
  712. package/project/.sdk/src/cmp/dart/fragment/Config.fragment.dart +0 -51
  713. package/project/.sdk/src/cmp/dart/fragment/Direct.test.fragment.dart +0 -25
  714. package/project/.sdk/src/cmp/dart/fragment/Entity.fragment.dart +0 -29
  715. package/project/.sdk/src/cmp/dart/fragment/Entity.test.fragment.dart +0 -28
  716. package/project/.sdk/src/cmp/dart/fragment/EntityBase.fragment.dart +0 -302
  717. package/project/.sdk/src/cmp/dart/fragment/EntityCreateOp.fragment.dart +0 -98
  718. package/project/.sdk/src/cmp/dart/fragment/EntityListOp.fragment.dart +0 -90
  719. package/project/.sdk/src/cmp/dart/fragment/EntityLoadOp.fragment.dart +0 -102
  720. package/project/.sdk/src/cmp/dart/fragment/EntityRemoveOp.fragment.dart +0 -108
  721. package/project/.sdk/src/cmp/dart/fragment/EntityUpdateOp.fragment.dart +0 -102
  722. package/project/.sdk/src/cmp/dart/fragment/Main.fragment.dart +0 -338
  723. package/project/.sdk/src/cmp/dart/fragment/SdkError.fragment.dart +0 -26
  724. package/project/.sdk/src/cmp/dart/tsconfig.json +0 -15
  725. package/project/.sdk/src/cmp/dart/utility_dart.ts +0 -155
  726. package/project/.sdk/src/cmp/lean/Config_lean.ts +0 -93
  727. package/project/.sdk/src/cmp/lean/Entity_lean.ts +0 -9
  728. package/project/.sdk/src/cmp/lean/Gitignore_lean.ts +0 -18
  729. package/project/.sdk/src/cmp/lean/Main_lean.ts +0 -120
  730. package/project/.sdk/src/cmp/lean/Package_lean.ts +0 -93
  731. package/project/.sdk/src/cmp/lean/ReadmeEntity_lean.ts +0 -29
  732. package/project/.sdk/src/cmp/lean/ReadmeExplanation_lean.ts +0 -19
  733. package/project/.sdk/src/cmp/lean/ReadmeHowto_lean.ts +0 -25
  734. package/project/.sdk/src/cmp/lean/ReadmeInstall_lean.ts +0 -39
  735. package/project/.sdk/src/cmp/lean/ReadmeIntro_lean.ts +0 -25
  736. package/project/.sdk/src/cmp/lean/ReadmeModel_lean.ts +0 -24
  737. package/project/.sdk/src/cmp/lean/ReadmeOptions_lean.ts +0 -22
  738. package/project/.sdk/src/cmp/lean/ReadmeQuick_lean.ts +0 -50
  739. package/project/.sdk/src/cmp/lean/ReadmeRef_lean.ts +0 -40
  740. package/project/.sdk/src/cmp/lean/ReadmeTopHowto_lean.ts +0 -16
  741. package/project/.sdk/src/cmp/lean/ReadmeTopQuick_lean.ts +0 -23
  742. package/project/.sdk/src/cmp/lean/ReadmeTopTest_lean.ts +0 -19
  743. package/project/.sdk/src/cmp/lean/Test_lean.ts +0 -261
  744. package/project/.sdk/src/cmp/lean/utility_lean.ts +0 -129
  745. package/project/.sdk/src/cmp/seneca-provider/Extras_seneca-provider.ts +0 -4080
  746. package/project/.sdk/src/cmp/seneca-provider/Gitignore_seneca-provider.ts +0 -161
  747. package/project/.sdk/src/cmp/seneca-provider/Main_seneca-provider.ts +0 -1011
  748. package/project/.sdk/tm/dart/LICENSE +0 -22
  749. package/project/.sdk/tm/dart/Makefile +0 -50
  750. package/project/.sdk/tm/dart/lib/Context.dart +0 -150
  751. package/project/.sdk/tm/dart/lib/Control.dart +0 -15
  752. package/project/.sdk/tm/dart/lib/Operation.dart +0 -31
  753. package/project/.sdk/tm/dart/lib/Point.dart +0 -51
  754. package/project/.sdk/tm/dart/lib/Response.dart +0 -32
  755. package/project/.sdk/tm/dart/lib/Result.dart +0 -39
  756. package/project/.sdk/tm/dart/lib/Spec.dart +0 -49
  757. package/project/.sdk/tm/dart/lib/feature/audit/AuditFeature.dart +0 -103
  758. package/project/.sdk/tm/dart/lib/feature/base/BaseFeature.dart +0 -76
  759. package/project/.sdk/tm/dart/lib/feature/cache/CacheFeature.dart +0 -152
  760. package/project/.sdk/tm/dart/lib/feature/clienttrack/ClienttrackFeature.dart +0 -104
  761. package/project/.sdk/tm/dart/lib/feature/cost/CostFeature.dart +0 -446
  762. package/project/.sdk/tm/dart/lib/feature/debug/DebugFeature.dart +0 -153
  763. package/project/.sdk/tm/dart/lib/feature/idempotency/IdempotencyFeature.dart +0 -92
  764. package/project/.sdk/tm/dart/lib/feature/log/LogFeature.dart +0 -85
  765. package/project/.sdk/tm/dart/lib/feature/metrics/MetricsFeature.dart +0 -103
  766. package/project/.sdk/tm/dart/lib/feature/netsim/NetsimFeature.dart +0 -186
  767. package/project/.sdk/tm/dart/lib/feature/paging/PagingFeature.dart +0 -240
  768. package/project/.sdk/tm/dart/lib/feature/proxy/ProxyFeature.dart +0 -118
  769. package/project/.sdk/tm/dart/lib/feature/ratelimit/RatelimitFeature.dart +0 -103
  770. package/project/.sdk/tm/dart/lib/feature/rbac/RbacFeature.dart +0 -121
  771. package/project/.sdk/tm/dart/lib/feature/retry/RetryFeature.dart +0 -155
  772. package/project/.sdk/tm/dart/lib/feature/streaming/StreamingFeature.dart +0 -97
  773. package/project/.sdk/tm/dart/lib/feature/telemetry/TelemetryFeature.dart +0 -136
  774. package/project/.sdk/tm/dart/lib/feature/test/TestFeature.dart +0 -328
  775. package/project/.sdk/tm/dart/lib/feature/timeout/TimeoutFeature.dart +0 -104
  776. package/project/.sdk/tm/dart/lib/utility/CleanUtility.dart +0 -12
  777. package/project/.sdk/tm/dart/lib/utility/DoneUtility.dart +0 -18
  778. package/project/.sdk/tm/dart/lib/utility/ErrUtility.dart +0 -46
  779. package/project/.sdk/tm/dart/lib/utility/FeatureAddUtility.dart +0 -35
  780. package/project/.sdk/tm/dart/lib/utility/FeatureHookUtility.dart +0 -20
  781. package/project/.sdk/tm/dart/lib/utility/FeatureInitUtility.dart +0 -9
  782. package/project/.sdk/tm/dart/lib/utility/FetcherUtility.dart +0 -104
  783. package/project/.sdk/tm/dart/lib/utility/GraphqlUtility.dart +0 -162
  784. package/project/.sdk/tm/dart/lib/utility/MakeContextUtility.dart +0 -6
  785. package/project/.sdk/tm/dart/lib/utility/MakeErrorUtility.dart +0 -71
  786. package/project/.sdk/tm/dart/lib/utility/MakeFetchDefUtility.dart +0 -42
  787. package/project/.sdk/tm/dart/lib/utility/MakeOptionsUtility.dart +0 -233
  788. package/project/.sdk/tm/dart/lib/utility/MakePointUtility.dart +0 -130
  789. package/project/.sdk/tm/dart/lib/utility/MakeRequestUtility.dart +0 -66
  790. package/project/.sdk/tm/dart/lib/utility/MakeResponseUtility.dart +0 -59
  791. package/project/.sdk/tm/dart/lib/utility/MakeResultUtility.dart +0 -49
  792. package/project/.sdk/tm/dart/lib/utility/MakeSpecUtility.dart +0 -77
  793. package/project/.sdk/tm/dart/lib/utility/MakeUrlUtility.dart +0 -51
  794. package/project/.sdk/tm/dart/lib/utility/ParamUtility.dart +0 -56
  795. package/project/.sdk/tm/dart/lib/utility/PrepareAuthUtility.dart +0 -46
  796. package/project/.sdk/tm/dart/lib/utility/PrepareBodyUtility.dart +0 -19
  797. package/project/.sdk/tm/dart/lib/utility/PrepareHeadersUtility.dart +0 -11
  798. package/project/.sdk/tm/dart/lib/utility/PrepareMethodUtility.dart +0 -30
  799. package/project/.sdk/tm/dart/lib/utility/PrepareParamsUtility.dart +0 -23
  800. package/project/.sdk/tm/dart/lib/utility/PreparePathUtility.dart +0 -9
  801. package/project/.sdk/tm/dart/lib/utility/PrepareQueryUtility.dart +0 -18
  802. package/project/.sdk/tm/dart/lib/utility/ResultBasicUtility.dart +0 -29
  803. package/project/.sdk/tm/dart/lib/utility/ResultBodyUtility.dart +0 -15
  804. package/project/.sdk/tm/dart/lib/utility/ResultHeadersUtility.dart +0 -18
  805. package/project/.sdk/tm/dart/lib/utility/StructUtility.dart +0 -127
  806. package/project/.sdk/tm/dart/lib/utility/TransformRequestUtility.dart +0 -28
  807. package/project/.sdk/tm/dart/lib/utility/TransformResponseUtility.dart +0 -44
  808. package/project/.sdk/tm/dart/lib/utility/Utility.dart +0 -239
  809. package/project/.sdk/tm/dart/lib/utility/voxgig_struct.dart +0 -2462
  810. package/project/.sdk/tm/dart/src/feature/README.md +0 -3
  811. package/project/.sdk/tm/dart/src/feature/proxy/.gitkeep +0 -0
  812. package/project/.sdk/tm/dart/src/feature/ratelimit/.gitkeep +0 -0
  813. package/project/.sdk/tm/dart/src/feature/rbac/.gitkeep +0 -0
  814. package/project/.sdk/tm/dart/src/feature/retry/.gitkeep +0 -0
  815. package/project/.sdk/tm/dart/src/feature/streaming/.gitkeep +0 -0
  816. package/project/.sdk/tm/dart/src/feature/telemetry/.gitkeep +0 -0
  817. package/project/.sdk/tm/dart/src/feature/test/.gitkeep +0 -0
  818. package/project/.sdk/tm/dart/src/feature/timeout/.gitkeep +0 -0
  819. package/project/.sdk/tm/dart/test/custom_test.dart +0 -65
  820. package/project/.sdk/tm/dart/test/exists_test.dart +0 -12
  821. package/project/.sdk/tm/dart/test/feature/harness.dart +0 -329
  822. package/project/.sdk/tm/dart/test/feature_test.dart +0 -1193
  823. package/project/.sdk/tm/dart/test/harness.dart +0 -153
  824. package/project/.sdk/tm/dart/test/netsim_test.dart +0 -48
  825. package/project/.sdk/tm/dart/test/omni.dart +0 -520
  826. package/project/.sdk/tm/dart/test/omni_smoke_test.dart +0 -143
  827. package/project/.sdk/tm/dart/test/pipeline_test.dart +0 -608
  828. package/project/.sdk/tm/dart/test/primary_test.dart +0 -476
  829. package/project/.sdk/tm/dart/test/sdk-test-control.json +0 -19
  830. package/project/.sdk/tm/dart/test/struct_test.dart +0 -468
  831. package/project/.sdk/tm/dart/test/utility.dart +0 -198
  832. package/project/.sdk/tm/dart/test/vendor/omni/omni.dart +0 -7
  833. package/project/.sdk/tm/dart/test/vendor/omni/runner.dart +0 -653
  834. package/project/.sdk/tm/dart/test/vendor/omni/util.dart +0 -232
  835. package/project/.sdk/tm/lean/LICENSE +0 -21
  836. package/project/.sdk/tm/lean/Makefile +0 -32
  837. package/project/.sdk/tm/lean/VERSION +0 -1
  838. package/project/.sdk/tm/lean/src/SdkFeature.lean +0 -171
  839. package/project/.sdk/tm/lean/src/SdkFeatures.lean +0 -787
  840. package/project/.sdk/tm/lean/src/SdkJson.lean +0 -134
  841. package/project/.sdk/tm/lean/src/SdkRuntime.lean +0 -374
  842. package/project/.sdk/tm/lean/src/SdkUtility.lean +0 -809
  843. package/project/.sdk/tm/lean/src/VoxgigStruct.lean +0 -2880
  844. package/project/.sdk/tm/lean/src/Vregex.lean +0 -412
  845. package/project/.sdk/tm/lean/src/feature/README.md +0 -5
  846. package/project/.sdk/tm/lean/src/feature/audit/.gitkeep +0 -0
  847. package/project/.sdk/tm/lean/src/feature/base/.gitkeep +0 -0
  848. package/project/.sdk/tm/lean/src/feature/cache/.gitkeep +0 -0
  849. package/project/.sdk/tm/lean/src/feature/clienttrack/.gitkeep +0 -0
  850. package/project/.sdk/tm/lean/src/feature/cost/.gitkeep +0 -0
  851. package/project/.sdk/tm/lean/src/feature/debug/.gitkeep +0 -0
  852. package/project/.sdk/tm/lean/src/feature/idempotency/.gitkeep +0 -0
  853. package/project/.sdk/tm/lean/src/feature/log/.gitkeep +0 -0
  854. package/project/.sdk/tm/lean/src/feature/metrics/.gitkeep +0 -0
  855. package/project/.sdk/tm/lean/src/feature/netsim/.gitkeep +0 -0
  856. package/project/.sdk/tm/lean/src/feature/paging/.gitkeep +0 -0
  857. package/project/.sdk/tm/lean/src/feature/proxy/.gitkeep +0 -0
  858. package/project/.sdk/tm/lean/src/feature/ratelimit/.gitkeep +0 -0
  859. package/project/.sdk/tm/lean/src/feature/rbac/.gitkeep +0 -0
  860. package/project/.sdk/tm/lean/src/feature/retry/.gitkeep +0 -0
  861. package/project/.sdk/tm/lean/src/feature/streaming/.gitkeep +0 -0
  862. package/project/.sdk/tm/lean/src/feature/telemetry/.gitkeep +0 -0
  863. package/project/.sdk/tm/lean/src/feature/test/.gitkeep +0 -0
  864. package/project/.sdk/tm/lean/src/feature/timeout/.gitkeep +0 -0
  865. package/project/.sdk/tm/lean/test/OmniResolver.lean +0 -358
  866. package/project/.sdk/tm/lean/test/OmniSmoke.lean +0 -174
  867. package/project/.sdk/tm/lean/test/StructCorpus.lean +0 -368
  868. package/project/.sdk/tm/lean/test/TFeature.lean +0 -281
  869. package/project/.sdk/tm/lean/test/TPrimaryUtility.lean +0 -227
  870. package/project/.sdk/tm/lean/test/vendor/omni/Omni.lean +0 -997
  871. package/project/.sdk/tm/seneca-provider/CODE_OF_CONDUCT.md +0 -132
  872. package/project/.sdk/tm/seneca-provider/LICENSE +0 -21
  873. package/project/.sdk/tm/seneca-provider/Makefile +0 -15
  874. package/project/.sdk/tm/seneca-provider/src/tsconfig.json +0 -18
  875. package/project/.sdk/tm/seneca-provider/test/tsconfig.json +0 -16
  876. package/project/.sdk/tm/seneca-provider/tsfmt.json +0 -3
  877. /package/project/.sdk/tm/{dart/src/feature/audit → clojure/src/feature/secrets}/.gitkeep +0 -0
  878. /package/project/.sdk/tm/{dart/src/feature/base → csharp/src/feature/secrets}/.gitkeep +0 -0
  879. /package/project/.sdk/tm/{dart/src/feature/cache → elixir/src/feature/secrets}/.gitkeep +0 -0
  880. /package/project/.sdk/tm/{dart/src/feature/clienttrack → java/src/feature/secrets}/.gitkeep +0 -0
  881. /package/project/.sdk/tm/{dart/src/feature/cost → kotlin/src/feature/secrets}/.gitkeep +0 -0
  882. /package/project/.sdk/tm/{dart/src/feature/debug → perl/src/feature/secrets}/.gitkeep +0 -0
  883. /package/project/.sdk/tm/{dart/src/feature/idempotency → php/src/feature/secrets}/.gitkeep +0 -0
  884. /package/project/.sdk/tm/{dart/src/feature/log → rb/src/feature/secrets}/.gitkeep +0 -0
  885. /package/project/.sdk/tm/{dart/src/feature/metrics → rust/src/feature/secrets}/.gitkeep +0 -0
  886. /package/project/.sdk/tm/{dart/src/feature/netsim → scala/src/feature/secrets}/.gitkeep +0 -0
  887. /package/project/.sdk/tm/{dart/src/feature/paging → swift/src/feature/secrets}/.gitkeep +0 -0
@@ -0,0 +1,561 @@
1
+ # ProjectName SDK secrets feature
2
+ #
3
+ # Secret access via a vendored voxgig_sekreto provider chain, and the
4
+ # access-token exchange some APIs require on top of it. The ruby port of
5
+ # tm/ts/src/feature/secrets/SecretsFeature.ts - same contract, ruby idiom,
6
+ # and structurally go's (tm/go/feature/secrets_feature.go), for the reason
7
+ # spelled out under RESOLUTION LIVES AT THE TRANSPORT below.
8
+ #
9
+ # The SDK's `apikey` option keeps exactly its old meaning: an explicit
10
+ # credential given in code. This feature makes it ONE SOURCE among several
11
+ # rather than the only one: when active, the apikey is resolved through a
12
+ # sekreto chain in which the explicit option (when set) is the FIRST
13
+ # provider - a `memory` store named 'options' - so an explicit value always
14
+ # wins, by sekreto's own first-hit rule rather than by special-case logic.
15
+ # When the option is unset, the remaining providers (env, dotenv, a vault)
16
+ # are asked in order, and moving a credential from code to a vault becomes
17
+ # a configuration change.
18
+ #
19
+ # RESOLUTION LIVES AT THE TRANSPORT, not in the PreSpec hook. `direct()`
20
+ # and `graphql()` reach the wire through ProjectNameSDK#raw_request, which
21
+ # runs NO feature hooks at all - so a hook-only design would leave the raw
22
+ # paths silently unauthenticated, and would have no way to refuse them when
23
+ # the chain is broken. The transport is the ONE seam every wire path
24
+ # crosses (utility/make_request.rb and Main's raw_request both call
25
+ # `utility.fetcher`), so the wrapper installed in `init` resolves there,
26
+ # rewrites the authorization header prepare_auth built, and refuses the
27
+ # request outright when a provider errors.
28
+ #
29
+ # MISS vs ERROR (sekreto's invariant): a provider MISS falls through - the
30
+ # op proceeds, unauthenticated if nothing else supplies a credential. A
31
+ # provider ERROR (unreachable vault, bad credentials) must FAIL the op: a
32
+ # broken vault never degrades into an unauthenticated request. The wrapper
33
+ # answers `[nil, ctx.make_error("secrets_provider", ...)]`, which the
34
+ # entity pipeline turns into a raised ProjectNameError and the raw paths
35
+ # report as `{ "ok" => false, "err" => ... }`.
36
+ #
37
+ # EXCHANGE: some APIs will not take a long-lived credential at all. What
38
+ # the chain resolves is then a REFRESH token, which buys a short-lived
39
+ # ACCESS token from a token endpoint (`exchange.path`, relative to
40
+ # options.base); the access token is what every request carries, and when a
41
+ # response status in `exchange.statuses` (401) says it is spent the wrapper
42
+ # buys another and retries the same request once. Test mode buys nothing
43
+ # and answers with a deterministic fake token.
44
+ #
45
+ # THREADS: ruby has real ones. The resolved credential, the in-flight
46
+ # resolution and the in-flight purchase are each guarded, and the state
47
+ # mutex is always the innermost lock so the three can never deadlock.
48
+
49
+ require 'json'
50
+ require 'net/http'
51
+ require 'uri'
52
+
53
+ require_relative 'base_feature'
54
+ require_relative '../utility/struct/voxgig_struct'
55
+ require_relative 'secrets/voxgig_sekreto'
56
+
57
+ class ProjectNameSecretsFeature < ProjectNameBaseFeature
58
+ def initialize
59
+ super
60
+ @version = "0.1.0"
61
+ @name = "secrets"
62
+ # Inactive until init (feature_init only fires init when active).
63
+ @active = false
64
+
65
+ @client = nil
66
+ @options = {}
67
+ @liveopts = {}
68
+
69
+ @secretname = "apikey"
70
+ @cache = true
71
+ @sekreto = nil
72
+ @initerr = nil
73
+
74
+ # Exchange state: nil config when off, so every later decision is a nil
75
+ # check; `@refresh` is the credential the chain resolved.
76
+ @exchange = nil
77
+ @refresh = nil
78
+
79
+ # The RESOLVED credential, held in FEATURE STATE and injected into each
80
+ # request at the transport seam. It is also PUBLISHED to the live
81
+ # options map (`@lastset` remembers what this feature wrote, so a
82
+ # retraction only ever withdraws its own write) because prepare_auth is
83
+ # synchronous and reads the options - so `sdk.prepare(...)` and any
84
+ # options-reading consumer agree with what goes on the wire.
85
+ @cred = ""
86
+ @lastset = nil
87
+ @resolved = false
88
+
89
+ @statelock = Mutex.new
90
+ @resolvelock = Mutex.new
91
+ @buylock = Mutex.new
92
+ end
93
+
94
+ # Sync by feature contract: build the chain, never look anything up here.
95
+ def init(ctx, options)
96
+ @client = ctx.client
97
+ @options = options.is_a?(Hash) ? options : {}
98
+ @liveopts = ctx.options.is_a?(Hash) ? ctx.options : {}
99
+ @active = @options["active"] == true
100
+
101
+ return unless @active
102
+
103
+ @secretname = _str(@options["name"], "apikey")
104
+ @cache = @options["cache"] != false
105
+
106
+ # The publication slot. Seeded here, single-threaded, so that later
107
+ # writes only ever REPLACE a key that already exists - a hash whose
108
+ # keys never change is safe to write while another thread clones it.
109
+ @liveopts["apikey"] = "" unless @liveopts.key?("apikey")
110
+
111
+ xopts = @options["exchange"]
112
+ xopts = {} unless xopts.is_a?(Hash)
113
+
114
+ # Exchange config, normalised once.
115
+ if xopts["active"] == true
116
+ statuses = xopts["statuses"].is_a?(Array) ?
117
+ xopts["statuses"].select { |s| s.is_a?(Numeric) }.map(&:to_i) : []
118
+ statuses = [401] if statuses.empty?
119
+ @exchange = {
120
+ "path" => _str(xopts["path"], "auth/token"),
121
+ "method" => _str(xopts["method"], "POST"),
122
+ "request" => _str(xopts["request"], "refresh_token"),
123
+ "response" => _str(xopts["response"], "access_token"),
124
+ "statuses" => statuses,
125
+ "retries" => xopts["retries"].is_a?(Numeric) ? xopts["retries"].to_i : 1,
126
+ }
127
+ end
128
+
129
+ # The explicit credential, when set, is the first store in the chain.
130
+ #
131
+ # WHICH option that is depends on the exchange. Without one, the secret
132
+ # being resolved IS the credential the transport sends, so `apikey` is
133
+ # it. With one, the secret is a REFRESH token and `apikey` means the
134
+ # opposite thing - an access token the caller already holds - so the
135
+ # explicit seat belongs to `exchange.refresh`, and apikey is left alone
136
+ # to serve as the starting access token (see _resolve_once).
137
+ explicit = @exchange.nil? ? @liveopts["apikey"] : xopts["refresh"]
138
+
139
+ begin
140
+ specs = []
141
+
142
+ if explicit.is_a?(String) && !explicit.empty?
143
+ specs << {
144
+ "kind" => "memory",
145
+ "name" => "options",
146
+ "values" => { VoxgigSekreto.envkey(@secretname) => explicit },
147
+ }
148
+ end
149
+
150
+ providers = @options["providers"]
151
+ specs.concat(providers) if providers.is_a?(Array)
152
+
153
+ @sekreto = VoxgigSekreto::Sekreto.new(
154
+ "providers" => specs,
155
+ "plugins" => _plugins,
156
+ "cache" => @cache,
157
+ )
158
+ rescue StandardError => e
159
+ # A misconfigured chain must not degrade into unauthenticated
160
+ # requests: remember the failure and let the transport gate below
161
+ # refuse every send. (init cannot raise - the constructor would take
162
+ # the whole client down for a fault the caller can only see at
163
+ # request time anyway.)
164
+ @initerr = e
165
+ @sekreto = nil
166
+ end
167
+
168
+ # Wrap the transport UNCONDITIONALLY while active - including after an
169
+ # init failure, which is exactly when the gate matters most. The
170
+ # exchange additionally needs to SEE responses (a spent token is only
171
+ # ever discovered from one), and this is the one place a response can
172
+ # be seen and the request tried again.
173
+ feature = self
174
+ utility = ctx.utility
175
+ inner = utility.fetcher
176
+
177
+ utility.fetcher = ->(fctx, fullurl, fetchdef) {
178
+ feature.transport(fctx, fullurl, fetchdef, inner)
179
+ }
180
+ end
181
+
182
+ # The LIVE Sekreto instance, for callers who want arbitrary secrets or
183
+ # redaction:
184
+ #
185
+ # sdk.features.find { |f| f.get_name == "secrets" }.sekreto.get('db.password')
186
+ #
187
+ # Never a clone: sekreto holds provider state (caches, vault leases) that
188
+ # has to stay live to be worth anything.
189
+ def sekreto
190
+ @sekreto
191
+ end
192
+
193
+ # The resolved credential (empty when none) - the state the transport
194
+ # injects. Tests and callers read it here rather than inferring it.
195
+ def credential
196
+ @statelock.synchronize { @cred }
197
+ end
198
+
199
+ # transport wraps whatever transport was current at init.
200
+ def transport(ctx, url, fetchdef, inner)
201
+ # Fail-closed, at the ONE seam every wire path crosses. Entity ops,
202
+ # direct, graphql and the exchange retries all come through here, so
203
+ # resolving HERE is what gives the raw paths - which run no feature
204
+ # hooks at all - the same credential the entity pipeline gets. A
205
+ # provider ERROR refuses the request with the provider's own message;
206
+ # never an unauthenticated send.
207
+ err = resolve
208
+ unless err.nil?
209
+ return nil, ctx.make_error("secrets_provider", err.to_s)
210
+ end
211
+
212
+ # Inject the resolved credential into THIS request's header, the way
213
+ # prepare_auth built it, from the same options.auth.prefix so the two
214
+ # cannot drift. An EMPTY credential removes the header: with the
215
+ # feature active the chain is the authority, and an uncached miss after
216
+ # an earlier hit (a revoked secret) must stop transmitting the value
217
+ # prepare_auth put there from this feature's own earlier publication.
218
+ _inject(fetchdef, credential)
219
+
220
+ return inner.call(ctx, url, fetchdef) if @exchange.nil?
221
+
222
+ _with_refresh(ctx, url, fetchdef, inner)
223
+ end
224
+
225
+ # One resolution, shared by every concurrent caller. A settled SUCCESS is
226
+ # kept only when caching is on (`cache: false` means every request asks
227
+ # the chain again); a FAILURE is never cached, so a transient vault
228
+ # outage does not poison the client after the vault recovers.
229
+ #
230
+ # Answers the error rather than raising it: the caller is the transport
231
+ # gate, whose contract is a [value, err] pair.
232
+ def resolve
233
+ return @initerr unless @initerr.nil?
234
+
235
+ @resolvelock.synchronize do
236
+ return nil if @resolved
237
+
238
+ begin
239
+ _resolve_once
240
+ rescue StandardError => e
241
+ return e
242
+ end
243
+
244
+ @resolved = true if @cache
245
+ nil
246
+ end
247
+ end
248
+
249
+ private
250
+
251
+ def _resolve_once
252
+ return if @sekreto.nil?
253
+
254
+ # Miss-vs-error: `try` answers nil for "no store has it" and RAISES for
255
+ # "a store could not answer" - only the miss falls through.
256
+ found = @sekreto.try(@secretname)
257
+ found = nil unless found.is_a?(String)
258
+
259
+ if @exchange.nil?
260
+ # An UNCACHED miss after an earlier hit is a revocation: the chain
261
+ # now says no provider has the secret, so the resolved value must not
262
+ # keep going out on the wire. (An explicit apikey OPTION is never
263
+ # lost here - it seats FIRST in the chain as a memory provider, so
264
+ # the chain HITS while one is set and the miss branch is
265
+ # unreachable.)
266
+ _setcred(found)
267
+ return
268
+ end
269
+
270
+ # Exchanging: what the chain resolved is the REFRESH token, kept for
271
+ # every later purchase. A miss is not fatal here - an explicit `apikey`
272
+ # may already hold a usable access token, and the API is what gets to
273
+ # say whether it does.
274
+ @refresh = found
275
+
276
+ apikey = credential
277
+ if apikey.nil? || apikey.empty?
278
+ starting = @liveopts["apikey"]
279
+ apikey = starting.is_a?(String) ? starting : ""
280
+ _setcred(apikey) unless apikey.empty?
281
+ end
282
+
283
+ # A starting access token was supplied. Spend it: if it is stale the
284
+ # API answers with an expiry status and the wrapper buys another, which
285
+ # is the same path expiry takes anyway.
286
+ return unless apikey.nil? || apikey.empty?
287
+
288
+ _buy
289
+ end
290
+
291
+ # Buy a token and try the request again when the API says the current one
292
+ # is spent.
293
+ #
294
+ # The retry rewrites the authorization header IN PLACE on the fetchdef,
295
+ # because the header was built by the synchronous prepare_auth before
296
+ # this request left, and it carries the token that just failed.
297
+ def _with_refresh(ctx, url, fetchdef, inner)
298
+ # `auth: nil` is the documented way to send NO credential, and
299
+ # prepare_auth honours it by removing the header. A refusal of a
300
+ # deliberately unauthenticated request is not an expired token and
301
+ # cannot be fixed by buying one - retrying would transmit exactly the
302
+ # credential the caller suppressed.
303
+ return inner.call(ctx, url, fetchdef) if @liveopts["auth"].nil?
304
+
305
+ max = @exchange["retries"]
306
+ attempt = 0
307
+
308
+ loop do
309
+ # The credential THIS attempt goes out with, captured before it
310
+ # leaves: it is what tells a stale refusal apart from a fresh one.
311
+ used = credential
312
+
313
+ res, err = inner.call(ctx, url, fetchdef)
314
+
315
+ return res, err if !err.nil? || attempt >= max || !_spent(res)
316
+
317
+ # Another request may have bought a token while this one was in
318
+ # flight. Concurrent expiries share the in-flight purchase, but
319
+ # STAGGERED ones do not - so spend what is current before buying: a
320
+ # second exchange for a token that is already fresh is wasted, and on
321
+ # a provider that invalidates the previous credential on issuance it
322
+ # breaks the first request's own retry.
323
+ current = credential
324
+
325
+ if !current.nil? && !current.empty? && current != used
326
+ token = current
327
+ else
328
+ begin
329
+ token = _buy
330
+ rescue StandardError
331
+ # The purchase failed: answer with the API's own refusal rather
332
+ # than this one. The caller asked for data, and the 401 is the
333
+ # more useful of the two - the exchange error is a symptom.
334
+ return res, err
335
+ end
336
+ end
337
+
338
+ _inject(fetchdef, token)
339
+
340
+ attempt += 1
341
+ end
342
+ end
343
+
344
+ def _spent(res)
345
+ return false unless res.is_a?(Hash)
346
+ status = res["status"]
347
+ return false unless status.is_a?(Numeric)
348
+ @exchange["statuses"].include?(status.to_i)
349
+ end
350
+
351
+ # Buy an access token with the refresh token. Concurrent callers
352
+ # serialise on @buylock, and a caller that finds the credential already
353
+ # replaced while it waited takes that one rather than buying a second.
354
+ def _buy
355
+ # TEST MODE BUYS NOTHING.
356
+ #
357
+ # The test feature replaces the transport so that no request leaves the
358
+ # process; an exchange here would be the one HTTP call it could not
359
+ # stop, and it would need a live token endpoint for a suite whose whole
360
+ # point is not needing one. A deterministic, obviously-fake token
361
+ # instead - the same answer make_options gives a required server
362
+ # variable, for the same reason.
363
+ if @client.mode != "live"
364
+ token = "test-" + @exchange["response"]
365
+ _setcred(token)
366
+ return token
367
+ end
368
+
369
+ before = credential
370
+
371
+ @buylock.synchronize do
372
+ current = credential
373
+ if !current.nil? && !current.empty? && current != before
374
+ # Someone else bought while we waited.
375
+ return current
376
+ end
377
+
378
+ token = _buy_once
379
+ _setcred(token)
380
+ token
381
+ end
382
+ end
383
+
384
+ def _buy_once
385
+ x = @exchange
386
+
387
+ if @refresh.nil? || @refresh.empty?
388
+ raise VoxgigSekreto::SekretoError,
389
+ "secrets: no refresh token: the provider chain has no '#{@secretname}'," \
390
+ " and feature.secrets.exchange.refresh is unset"
391
+ end
392
+
393
+ options = @client.options_map
394
+
395
+ # The token endpoint is RELATIVE to the base, which already carries
396
+ # whatever account or tenant segment the server URL declares.
397
+ base = options["base"].is_a?(String) ? options["base"] : ""
398
+ url = base.sub(%r{/+\z}, "") + "/" + x["path"].sub(%r{\A/+}, "")
399
+
400
+ fetch = VoxgigStruct.getpath(options, "system.fetch")
401
+
402
+ # No custom transport supplied - the ordinary case. make_options leaves
403
+ # system.fetch unset, so the exchange gets its own raw HTTP path. Local
404
+ # and minimal on purpose: see the NOT-the-SDK-transport note below.
405
+ fetch = ProjectNameSecretsFeature.method(:raw_exchange_fetch) unless fetch.is_a?(Proc)
406
+
407
+ # The body is MARSHALLED, never concatenated: a refresh token (or a
408
+ # configured request-field name) carrying a quote, backslash or newline
409
+ # must arrive as that literal value, not as malformed JSON.
410
+ #
411
+ # Deliberately NOT the SDK transport. The transport is what this
412
+ # feature wraps, and sending the token request back through it would
413
+ # recurse on the first expiry - and would route the exchange through
414
+ # the test mock, which knows nothing about it.
415
+ res, err = fetch.call(url, {
416
+ "method" => x["method"],
417
+ "headers" => { "content-type" => "application/json" },
418
+ "body" => JSON.generate({ x["request"] => @refresh }),
419
+ })
420
+
421
+ unless err.nil?
422
+ raise VoxgigSekreto::SekretoError,
423
+ "secrets: token exchange failed: #{err} from #{url}"
424
+ end
425
+
426
+ status = res.is_a?(Hash) ? res["status"].to_i : 0
427
+
428
+ if 200 > status || 300 <= status
429
+ raise VoxgigSekreto::SekretoError,
430
+ "secrets: token exchange failed: #{status} from #{url}"
431
+ end
432
+
433
+ jf = res["json"]
434
+ body = jf.is_a?(Proc) ? jf.call : res["body"]
435
+ if body.is_a?(String)
436
+ begin
437
+ body = JSON.parse(body)
438
+ rescue StandardError
439
+ body = nil
440
+ end
441
+ end
442
+
443
+ token = body.is_a?(Hash) ? body[x["response"]] : nil
444
+
445
+ unless token.is_a?(String) && !token.empty?
446
+ raise VoxgigSekreto::SekretoError,
447
+ "secrets: token exchange returned no '#{x['response']}' field from #{url}"
448
+ end
449
+
450
+ token
451
+ end
452
+
453
+ # Write the resolved credential to feature state AND publish it to the
454
+ # live options map, where the synchronous prepare_auth already looks.
455
+ # An empty value RETRACTS - but only this feature's own write, so a
456
+ # caller's explicit apikey is never withdrawn.
457
+ def _setcred(value)
458
+ value = "" unless value.is_a?(String)
459
+
460
+ @statelock.synchronize do
461
+ @cred = value
462
+
463
+ next unless @liveopts.is_a?(Hash)
464
+
465
+ if value.empty?
466
+ @liveopts["apikey"] = "" if @liveopts["apikey"] == @lastset
467
+ @lastset = nil
468
+ else
469
+ @liveopts["apikey"] = value
470
+ @lastset = value
471
+ end
472
+ end
473
+ end
474
+
475
+ # Rebuild the authorization header from the credential, exactly as
476
+ # prepare_auth builds it.
477
+ def _inject(fetchdef, token)
478
+ return unless fetchdef.is_a?(Hash)
479
+ headers = fetchdef["headers"]
480
+ return unless headers.is_a?(Hash)
481
+
482
+ # Suppressed auth means NO header, the same answer prepare_auth gives.
483
+ if @liveopts["auth"].nil? || token.nil? || token.empty?
484
+ headers.delete("authorization")
485
+ return
486
+ end
487
+
488
+ prefix = VoxgigStruct.getpath(@liveopts, "auth.prefix")
489
+ prefix = "" unless prefix.is_a?(String)
490
+
491
+ # Empty prefix (raw apiKey credential) must not add a leading space.
492
+ headers["authorization"] = prefix.empty? ? token : "#{prefix} #{token}"
493
+ end
494
+
495
+ # The plugin DEFINITIONS the model selected for this feature, emitted by
496
+ # config generically from the catalogue's active `plugin.def` entries.
497
+ # Upstream sekreto's contract since the registry was retired: a kind not
498
+ # passed in `plugins` is unknown to this Sekreto, so the model's choice of
499
+ # plugin groups IS the SDK's provider vocabulary.
500
+ #
501
+ # Read LAZILY, here rather than at file scope: config.rb requires
502
+ # features.rb, so a top-level reference would close a require cycle.
503
+ def _plugins
504
+ return [] unless Object.const_defined?(:ProjectNameConfig)
505
+ config = Object.const_get(:ProjectNameConfig)
506
+ return [] unless config.const_defined?(:FEATURE_PLUGINS)
507
+ plugs = config.const_get(:FEATURE_PLUGINS)[@name]
508
+ plugs.is_a?(Array) ? plugs : []
509
+ end
510
+
511
+ def _str(value, dflt)
512
+ value.is_a?(String) && !value.empty? ? value : dflt
513
+ end
514
+
515
+ # Token-exchange transport of last resort: plain net/http, answering the
516
+ # same [res, err] shape the system.fetch seam promises ("status" +
517
+ # "json"). It exists so an exchange works with ordinary SDK options -
518
+ # requiring a custom transport for the COMMON case would reject every
519
+ # live token purchase before a request was made.
520
+ def self.raw_exchange_fetch(fullurl, fetchdef)
521
+ uri = URI.parse(fullurl)
522
+ http = Net::HTTP.new(uri.host, uri.port)
523
+ http.use_ssl = (uri.scheme == "https")
524
+ http.open_timeout = 30
525
+ http.read_timeout = 30
526
+
527
+ method_str = (fetchdef["method"] || "POST").to_s.upcase
528
+ klass = case method_str
529
+ when "PUT" then Net::HTTP::Put
530
+ when "PATCH" then Net::HTTP::Patch
531
+ when "GET" then Net::HTTP::Get
532
+ else Net::HTTP::Post
533
+ end
534
+
535
+ request = klass.new(uri)
536
+ (fetchdef["headers"] || {}).each do |k, v|
537
+ request[k] = v.to_s if v.is_a?(String)
538
+ end
539
+ body = fetchdef["body"]
540
+ request.body = body if body.is_a?(String)
541
+
542
+ resp = http.request(request)
543
+ raw = resp.body
544
+
545
+ # A non-2xx answer IS a response: hand back its status so the caller
546
+ # reports "token exchange failed: <status>" rather than a transport
547
+ # error.
548
+ return {
549
+ "status" => resp.code.to_i,
550
+ "json" => -> {
551
+ begin
552
+ raw.nil? || raw.empty? ? nil : JSON.parse(raw)
553
+ rescue StandardError
554
+ nil
555
+ end
556
+ },
557
+ }, nil
558
+ rescue StandardError => e
559
+ return nil, e
560
+ end
561
+ end