@voxgig/sdkgen 4.8.3 → 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 (917) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/dist/helpers/manifest.d.ts +2 -1
  3. package/dist/helpers/manifest.js +75 -1
  4. package/dist/helpers/manifest.js.map +1 -1
  5. package/dist/helpers/modelNames.d.ts +7 -0
  6. package/dist/helpers/modelNames.js +232 -0
  7. package/dist/helpers/modelNames.js.map +1 -0
  8. package/dist/helpers/naming.d.ts +2 -1
  9. package/dist/helpers/naming.js +45 -1
  10. package/dist/helpers/naming.js.map +1 -1
  11. package/dist/sdkgen.d.ts +3 -2
  12. package/dist/sdkgen.js +12 -3
  13. package/dist/sdkgen.js.map +1 -1
  14. package/dist/testkit.d.ts +2 -0
  15. package/dist/testkit.js +80 -24
  16. package/dist/testkit.js.map +1 -1
  17. package/dist/tsconfig.tsbuildinfo +1 -1
  18. package/dist/utility.js +17 -7
  19. package/dist/utility.js.map +1 -1
  20. package/package.json +1 -1
  21. package/project/.sdk/model/feature/secrets.aon +671 -0
  22. package/project/.sdk/model/target/clojure.aon +10 -0
  23. package/project/.sdk/model/target/csharp.aon +5 -0
  24. package/project/.sdk/model/target/elixir.aon +6 -0
  25. package/project/.sdk/model/target/java.aon +5 -0
  26. package/project/.sdk/model/target/js.aon +5 -0
  27. package/project/.sdk/model/target/kotlin.aon +7 -0
  28. package/project/.sdk/model/target/perl.aon +5 -0
  29. package/project/.sdk/model/target/php.aon +5 -0
  30. package/project/.sdk/model/target/rb.aon +5 -0
  31. package/project/.sdk/model/target/rust.aon +5 -0
  32. package/project/.sdk/model/target/scala.aon +38 -2
  33. package/project/.sdk/model/target/swift.aon +10 -0
  34. package/project/.sdk/model/target/zig.aon +9 -0
  35. package/project/.sdk/src/cmp/clojure/Config_clojure.ts +51 -4
  36. package/project/.sdk/src/cmp/clojure/Main_clojure.ts +43 -1
  37. package/project/.sdk/src/cmp/clojure/Package_clojure.ts +17 -1
  38. package/project/.sdk/src/cmp/clojure/featureextra_clojure.ts +130 -0
  39. package/project/.sdk/src/cmp/csharp/Config_csharp.ts +70 -0
  40. package/project/.sdk/src/cmp/csharp/Main_csharp.ts +9 -1
  41. package/project/.sdk/src/cmp/csharp/Package_csharp.ts +25 -1
  42. package/project/.sdk/src/cmp/elixir/Config_elixir.ts +68 -2
  43. package/project/.sdk/src/cmp/elixir/Main_elixir.ts +16 -0
  44. package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +14 -1
  45. package/project/.sdk/src/cmp/java/Config_java.ts +84 -2
  46. package/project/.sdk/src/cmp/java/Main_java.ts +10 -1
  47. package/project/.sdk/src/cmp/js/Config_js.ts +75 -8
  48. package/project/.sdk/src/cmp/js/Main_js.ts +66 -2
  49. package/project/.sdk/src/cmp/js/fragment/Config.data.fragment.js +18 -1
  50. package/project/.sdk/src/cmp/js/fragment/Config.fragment.js +18 -1
  51. package/project/.sdk/src/cmp/js/fragment/Main.fragment.js +7 -0
  52. package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +63 -1
  53. package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +32 -2
  54. package/project/.sdk/src/cmp/perl/Config_perl.ts +129 -3
  55. package/project/.sdk/src/cmp/perl/Main_perl.ts +41 -1
  56. package/project/.sdk/src/cmp/perl/Package_perl.ts +13 -1
  57. package/project/.sdk/src/cmp/perl/fragment/Main.fragment.pm +1 -0
  58. package/project/.sdk/src/cmp/php/Config_php.ts +105 -1
  59. package/project/.sdk/src/cmp/php/Gitignore_php.ts +4 -2
  60. package/project/.sdk/src/cmp/php/Main_php.ts +16 -1
  61. package/project/.sdk/src/cmp/rb/Config_rb.ts +92 -2
  62. package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +11 -1
  63. package/project/.sdk/src/cmp/rb/Main_rb.ts +7 -1
  64. package/project/.sdk/src/cmp/rust/Main_rust.ts +99 -1
  65. package/project/.sdk/src/cmp/rust/Package_rust.ts +72 -6
  66. package/project/.sdk/src/cmp/scala/Config_scala.ts +44 -0
  67. package/project/.sdk/src/cmp/scala/Main_scala.ts +68 -1
  68. package/project/.sdk/src/cmp/swift/Config_swift.ts +62 -1
  69. package/project/.sdk/src/cmp/swift/Main_swift.ts +35 -1
  70. package/project/.sdk/src/cmp/swift/Package_swift.ts +81 -11
  71. package/project/.sdk/src/cmp/swift/fragment/Main.fragment.swift +58 -44
  72. package/project/.sdk/src/cmp/swift/utility_swift.ts +22 -0
  73. package/project/.sdk/src/cmp/zig/Package_zig.ts +15 -11
  74. package/project/.sdk/src/cmp/zig/fragment/Entity.fragment.zig +3 -3
  75. package/project/.sdk/src/cmp/zig/fragment/EntityListOp.fragment.zig +3 -3
  76. package/project/.sdk/src/cmp/zig/fragment/Main.fragment.zig +3 -3
  77. package/project/.sdk/src/cmp/zig/utility_zig.ts +50 -1
  78. package/project/.sdk/tm/c/tests/vendor/omni/json.c +2 -2
  79. package/project/.sdk/tm/c/tests/vendor/omni/omni.h +2 -2
  80. package/project/.sdk/tm/c/tests/vendor/omni/runner.c +2 -2
  81. package/project/.sdk/tm/c/tests/vendor/omni/util.c +2 -2
  82. package/project/.sdk/tm/clojure/Makefile +3 -0
  83. package/project/.sdk/tm/clojure/feature/secrets/sdk/feature/secrets.clj +503 -0
  84. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/capability.clj +84 -0
  85. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/catalog.clj +44 -0
  86. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/config.clj +240 -0
  87. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/depend.clj +199 -0
  88. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/env.clj +111 -0
  89. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/export.clj +46 -0
  90. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/graph.clj +122 -0
  91. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/host.clj +1018 -0
  92. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/json.clj +106 -0
  93. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/order.clj +157 -0
  94. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/point.clj +77 -0
  95. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/ref.clj +92 -0
  96. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/resolve.clj +46 -0
  97. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/types.clj +177 -0
  98. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/version.clj +90 -0
  99. package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin.clj +40 -0
  100. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/addr.clj +111 -0
  101. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/chain.clj +297 -0
  102. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/core.clj +192 -0
  103. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/json.clj +261 -0
  104. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/aws.clj +165 -0
  105. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/azuresecrets.clj +111 -0
  106. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/boru.clj +107 -0
  107. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/doppler.clj +61 -0
  108. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/gcpsecrets.clj +88 -0
  109. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/hashicorp.clj +115 -0
  110. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/httpjson.clj +214 -0
  111. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/infisical.clj +80 -0
  112. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/onepassword.clj +93 -0
  113. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/proc.clj +63 -0
  114. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/secretspec.clj +99 -0
  115. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/sigv4.clj +142 -0
  116. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/provider.clj +25 -0
  117. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/providers.clj +196 -0
  118. package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto.clj +113 -0
  119. package/project/.sdk/tm/clojure/src/sdk/core.clj +9 -0
  120. package/project/.sdk/tm/clojure/src/sdk/features.clj +13 -1
  121. package/project/.sdk/tm/clojure/test/sdk/test/feature/secrets.clj +547 -0
  122. package/project/.sdk/tm/clojure/test/sdk/test_runner.clj +103 -14
  123. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/json.clj +2 -2
  124. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/runner.clj +2 -2
  125. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/util.clj +2 -2
  126. package/project/.sdk/tm/cpp/test/vendor/omni/json.hpp +2 -2
  127. package/project/.sdk/tm/cpp/test/vendor/omni/omni.hpp +2 -2
  128. package/project/.sdk/tm/cpp/test/vendor/omni/util.hpp +2 -2
  129. package/project/.sdk/tm/csharp/feature/SecretsFeature.cs +889 -0
  130. package/project/.sdk/tm/csharp/feature/secrets/plugin/Capability.cs +196 -0
  131. package/project/.sdk/tm/csharp/feature/secrets/plugin/Catalog.cs +70 -0
  132. package/project/.sdk/tm/csharp/feature/secrets/plugin/Config.cs +505 -0
  133. package/project/.sdk/tm/csharp/feature/secrets/plugin/Definition.cs +52 -0
  134. package/project/.sdk/tm/csharp/feature/secrets/plugin/Depend.cs +285 -0
  135. package/project/.sdk/tm/csharp/feature/secrets/plugin/Entry.cs +55 -0
  136. package/project/.sdk/tm/csharp/feature/secrets/plugin/Env.cs +228 -0
  137. package/project/.sdk/tm/csharp/feature/secrets/plugin/Export.cs +102 -0
  138. package/project/.sdk/tm/csharp/feature/secrets/plugin/Graph.cs +256 -0
  139. package/project/.sdk/tm/csharp/feature/secrets/plugin/Host.cs +1379 -0
  140. package/project/.sdk/tm/csharp/feature/secrets/plugin/Inst.cs +177 -0
  141. package/project/.sdk/tm/csharp/feature/secrets/plugin/Json.cs +326 -0
  142. package/project/.sdk/tm/csharp/feature/secrets/plugin/Order.cs +295 -0
  143. package/project/.sdk/tm/csharp/feature/secrets/plugin/Plugin.cs +113 -0
  144. package/project/.sdk/tm/csharp/feature/secrets/plugin/Point.cs +177 -0
  145. package/project/.sdk/tm/csharp/feature/secrets/plugin/Refs.cs +198 -0
  146. package/project/.sdk/tm/csharp/feature/secrets/plugin/Resolve.cs +95 -0
  147. package/project/.sdk/tm/csharp/feature/secrets/plugin/Types.cs +351 -0
  148. package/project/.sdk/tm/csharp/feature/secrets/plugin/Version.cs +196 -0
  149. package/project/.sdk/tm/csharp/feature/secrets/plugins/Aws.cs +325 -0
  150. package/project/.sdk/tm/csharp/feature/secrets/plugins/AzureSecrets.cs +195 -0
  151. package/project/.sdk/tm/csharp/feature/secrets/plugins/Boru.cs +192 -0
  152. package/project/.sdk/tm/csharp/feature/secrets/plugins/Child.cs +75 -0
  153. package/project/.sdk/tm/csharp/feature/secrets/plugins/Doppler.cs +112 -0
  154. package/project/.sdk/tm/csharp/feature/secrets/plugins/GcpSecrets.cs +167 -0
  155. package/project/.sdk/tm/csharp/feature/secrets/plugins/Hashicorp.cs +221 -0
  156. package/project/.sdk/tm/csharp/feature/secrets/plugins/HttpJson.cs +213 -0
  157. package/project/.sdk/tm/csharp/feature/secrets/plugins/Infisical.cs +155 -0
  158. package/project/.sdk/tm/csharp/feature/secrets/plugins/OnePassword.cs +169 -0
  159. package/project/.sdk/tm/csharp/feature/secrets/plugins/SecretSpec.cs +172 -0
  160. package/project/.sdk/tm/csharp/feature/secrets/plugins/Sigv4.cs +240 -0
  161. package/project/.sdk/tm/csharp/feature/secrets/sekreto/Json.cs +192 -0
  162. package/project/.sdk/tm/csharp/feature/secrets/sekreto/Providers.cs +503 -0
  163. package/project/.sdk/tm/csharp/feature/secrets/sekreto/Sekreto.cs +775 -0
  164. package/project/.sdk/tm/csharp/test/feature/secrets/SecretsFeatureTest.cs +1702 -0
  165. package/project/.sdk/tm/csharp/test/vendor/omni/Runner.cs +2 -2
  166. package/project/.sdk/tm/csharp/test/vendor/omni/Util.cs +2 -2
  167. package/project/.sdk/tm/csharp/utility/MakeOptions.cs +10 -0
  168. package/project/.sdk/tm/csharp/utility/struct/Struct.cs +1 -1
  169. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/capability.ex +118 -0
  170. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/catalog.ex +56 -0
  171. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/config.ex +320 -0
  172. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/depend.ex +205 -0
  173. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/env.ex +166 -0
  174. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/error.ex +13 -0
  175. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/export.ex +73 -0
  176. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/graph.ex +185 -0
  177. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/host.ex +1182 -0
  178. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/inst.ex +139 -0
  179. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/json.ex +132 -0
  180. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/order.ex +179 -0
  181. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/point.ex +99 -0
  182. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/ref.ex +129 -0
  183. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/resolve.ex +59 -0
  184. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/types.ex +190 -0
  185. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/version.ex +136 -0
  186. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/voxgig_plugin.ex +42 -0
  187. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/json.ex +368 -0
  188. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/aws.ex +257 -0
  189. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/azuresecrets.ex +160 -0
  190. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/boru.ex +127 -0
  191. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/doppler.ex +96 -0
  192. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/gcpsecrets.ex +124 -0
  193. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/hashicorp.ex +162 -0
  194. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/http.ex +627 -0
  195. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/httpjson.ex +134 -0
  196. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/infisical.ex +125 -0
  197. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/onepassword.ex +152 -0
  198. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/proc.ex +80 -0
  199. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/secretspec.ex +101 -0
  200. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/sigv4.ex +176 -0
  201. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/provider.ex +67 -0
  202. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/providers.ex +536 -0
  203. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/sekreto.ex +662 -0
  204. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets.ex +824 -0
  205. package/project/.sdk/tm/elixir/test/feature/secrets/secrets_test.exs +1072 -0
  206. package/project/.sdk/tm/elixir/test/vendor/omni/json.ex +2 -2
  207. package/project/.sdk/tm/elixir/test/vendor/omni/runner.ex +2 -2
  208. package/project/.sdk/tm/elixir/test/vendor/omni/util.ex +2 -2
  209. package/project/.sdk/tm/go/feature/secrets/plugin/capability.go +1 -1
  210. package/project/.sdk/tm/go/feature/secrets/plugin/catalog.go +1 -1
  211. package/project/.sdk/tm/go/feature/secrets/plugin/config.go +1 -1
  212. package/project/.sdk/tm/go/feature/secrets/plugin/depend.go +1 -1
  213. package/project/.sdk/tm/go/feature/secrets/plugin/env.go +1 -1
  214. package/project/.sdk/tm/go/feature/secrets/plugin/export.go +1 -1
  215. package/project/.sdk/tm/go/feature/secrets/plugin/graph.go +1 -1
  216. package/project/.sdk/tm/go/feature/secrets/plugin/host.go +1 -1
  217. package/project/.sdk/tm/go/feature/secrets/plugin/order.go +1 -1
  218. package/project/.sdk/tm/go/feature/secrets/plugin/point.go +1 -1
  219. package/project/.sdk/tm/go/feature/secrets/plugin/ref.go +1 -1
  220. package/project/.sdk/tm/go/feature/secrets/plugin/resolve.go +1 -1
  221. package/project/.sdk/tm/go/feature/secrets/plugin/types.go +1 -1
  222. package/project/.sdk/tm/go/feature/secrets/plugin/util.go +1 -1
  223. package/project/.sdk/tm/go/feature/secrets/plugin/version.go +1 -1
  224. package/project/.sdk/tm/go/feature/secrets/plugins/aws/aws.go +4 -4
  225. package/project/.sdk/tm/go/feature/secrets/plugins/aws/sigv4.go +2 -2
  226. package/project/.sdk/tm/go/feature/secrets/plugins/azuresecrets/azuresecrets.go +2 -2
  227. package/project/.sdk/tm/go/feature/secrets/plugins/boru/boru.go +2 -2
  228. package/project/.sdk/tm/go/feature/secrets/plugins/doppler/doppler.go +2 -2
  229. package/project/.sdk/tm/go/feature/secrets/plugins/gcpsecrets/gcpsecrets.go +2 -2
  230. package/project/.sdk/tm/go/feature/secrets/plugins/hashicorp/hashicorp.go +4 -5
  231. package/project/.sdk/tm/go/feature/secrets/plugins/httpjson/httpjson.go +3 -3
  232. package/project/.sdk/tm/go/feature/secrets/plugins/infisical/infisical.go +3 -4
  233. package/project/.sdk/tm/go/feature/secrets/plugins/onepassword/onepassword.go +2 -2
  234. package/project/.sdk/tm/go/feature/secrets/plugins/secretspec/secretspec.go +2 -2
  235. package/project/.sdk/tm/go/feature/secrets/sekreto/addr.go +2 -2
  236. package/project/.sdk/tm/go/feature/secrets/sekreto/providers.go +5 -2
  237. package/project/.sdk/tm/go/feature/secrets/sekreto/sekreto.go +31 -2
  238. package/project/.sdk/tm/go/feature/secrets_feature.go +16 -0
  239. package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +123 -0
  240. package/project/.sdk/tm/go/test/omni/omni.go +8 -3
  241. package/project/.sdk/tm/go/test/omni/util.go +25 -4
  242. package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +1 -1
  243. package/project/.sdk/tm/java/feature/SecretsFeature.java +766 -0
  244. package/project/.sdk/tm/java/feature/secrets/plugin/Capability.java +181 -0
  245. package/project/.sdk/tm/java/feature/secrets/plugin/Catalog.java +64 -0
  246. package/project/.sdk/tm/java/feature/secrets/plugin/Config.java +433 -0
  247. package/project/.sdk/tm/java/feature/secrets/plugin/Definition.java +54 -0
  248. package/project/.sdk/tm/java/feature/secrets/plugin/Depend.java +292 -0
  249. package/project/.sdk/tm/java/feature/secrets/plugin/Entry.java +49 -0
  250. package/project/.sdk/tm/java/feature/secrets/plugin/Env.java +204 -0
  251. package/project/.sdk/tm/java/feature/secrets/plugin/Export.java +93 -0
  252. package/project/.sdk/tm/java/feature/secrets/plugin/Graph.java +244 -0
  253. package/project/.sdk/tm/java/feature/secrets/plugin/Host.java +1196 -0
  254. package/project/.sdk/tm/java/feature/secrets/plugin/Inst.java +173 -0
  255. package/project/.sdk/tm/java/feature/secrets/plugin/Json.java +339 -0
  256. package/project/.sdk/tm/java/feature/secrets/plugin/Order.java +274 -0
  257. package/project/.sdk/tm/java/feature/secrets/plugin/Plugin.java +94 -0
  258. package/project/.sdk/tm/java/feature/secrets/plugin/PluginException.java +37 -0
  259. package/project/.sdk/tm/java/feature/secrets/plugin/Point.java +172 -0
  260. package/project/.sdk/tm/java/feature/secrets/plugin/Refs.java +171 -0
  261. package/project/.sdk/tm/java/feature/secrets/plugin/Resolve.java +89 -0
  262. package/project/.sdk/tm/java/feature/secrets/plugin/Types.java +232 -0
  263. package/project/.sdk/tm/java/feature/secrets/plugin/Version.java +198 -0
  264. package/project/.sdk/tm/java/feature/secrets/sekreto/Addr.java +142 -0
  265. package/project/.sdk/tm/java/feature/secrets/sekreto/Builtins.java +229 -0
  266. package/project/.sdk/tm/java/feature/secrets/sekreto/Json.java +302 -0
  267. package/project/.sdk/tm/java/feature/secrets/sekreto/Provider.java +21 -0
  268. package/project/.sdk/tm/java/feature/secrets/sekreto/Sekreto.java +698 -0
  269. package/project/.sdk/tm/java/feature/secrets/sekreto/Support.java +100 -0
  270. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Aws.java +294 -0
  271. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Azuresecrets.java +164 -0
  272. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Boru.java +161 -0
  273. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Doppler.java +103 -0
  274. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Gcpsecrets.java +143 -0
  275. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Hashicorp.java +186 -0
  276. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Httpjson.java +192 -0
  277. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Infisical.java +139 -0
  278. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Onepassword.java +143 -0
  279. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Proc.java +80 -0
  280. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Secretspec.java +138 -0
  281. package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Sigv4.java +243 -0
  282. package/project/.sdk/tm/java/test/feature/secrets/SecretsFeatureTest.java +986 -0
  283. package/project/.sdk/tm/java/test/vendor/omni/Json.java +2 -2
  284. package/project/.sdk/tm/java/test/vendor/omni/Runner.java +2 -2
  285. package/project/.sdk/tm/java/test/vendor/omni/Util.java +2 -2
  286. package/project/.sdk/tm/java/utility/MakeOptions.java +7 -0
  287. package/project/.sdk/tm/java/utility/struct/Struct.java +1 -1
  288. package/project/.sdk/tm/js/src/feature/secrets/SecretsFeature.js +431 -0
  289. package/project/.sdk/tm/js/src/feature/secrets/plugin/capability.js +119 -0
  290. package/project/.sdk/tm/js/src/feature/secrets/plugin/catalog.js +42 -0
  291. package/project/.sdk/tm/js/src/feature/secrets/plugin/config.js +323 -0
  292. package/project/.sdk/tm/js/src/feature/secrets/plugin/depend.js +196 -0
  293. package/project/.sdk/tm/js/src/feature/secrets/plugin/env.js +120 -0
  294. package/project/.sdk/tm/js/src/feature/secrets/plugin/export.js +48 -0
  295. package/project/.sdk/tm/js/src/feature/secrets/plugin/graph.js +150 -0
  296. package/project/.sdk/tm/js/src/feature/secrets/plugin/host.js +949 -0
  297. package/project/.sdk/tm/js/src/feature/secrets/plugin/index.js +35 -0
  298. package/project/.sdk/tm/js/src/feature/secrets/plugin/order.js +165 -0
  299. package/project/.sdk/tm/js/src/feature/secrets/plugin/point.js +94 -0
  300. package/project/.sdk/tm/js/src/feature/secrets/plugin/ref.js +106 -0
  301. package/project/.sdk/tm/js/src/feature/secrets/plugin/resolve.js +59 -0
  302. package/project/.sdk/tm/js/src/feature/secrets/plugin/types.js +79 -0
  303. package/project/.sdk/tm/js/src/feature/secrets/plugin/version.js +100 -0
  304. package/project/.sdk/tm/js/src/feature/secrets/sekreto/Sekreto.js +574 -0
  305. package/project/.sdk/tm/js/src/feature/secrets/sekreto/index.js +56 -0
  306. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/aws.js +188 -0
  307. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/azuresecrets.js +135 -0
  308. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/boru.js +128 -0
  309. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/doppler.js +67 -0
  310. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/gcpsecrets.js +115 -0
  311. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/hashicorp.js +139 -0
  312. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/httpjson.js +93 -0
  313. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/infisical.js +99 -0
  314. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/onepassword.js +111 -0
  315. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/secretspec.js +105 -0
  316. package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/sigv4.js +157 -0
  317. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/addr.js +119 -0
  318. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/builtin.js +39 -0
  319. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/dotenv.js +40 -0
  320. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/env.js +21 -0
  321. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/file.js +42 -0
  322. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/memory.js +18 -0
  323. package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/support.js +151 -0
  324. package/project/.sdk/tm/js/src/utility/StructUtility.js +2 -2
  325. package/project/.sdk/tm/js/test/feature/secrets/Secrets.test.js +946 -0
  326. package/project/.sdk/tm/js/test/vendor/omni/index.js +1 -1
  327. package/project/.sdk/tm/js/test/vendor/omni/runner.js +18 -3
  328. package/project/.sdk/tm/js/test/vendor/omni/util.js +25 -8
  329. package/project/.sdk/tm/kotlin/feature/SecretsFeature.kt +659 -0
  330. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Capability.kt +117 -0
  331. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Catalog.kt +40 -0
  332. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Config.kt +322 -0
  333. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Depend.kt +227 -0
  334. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Env.kt +163 -0
  335. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Export.kt +57 -0
  336. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Graph.kt +179 -0
  337. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Host.kt +1131 -0
  338. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Json.kt +241 -0
  339. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Order.kt +180 -0
  340. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Plugin.kt +64 -0
  341. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Point.kt +124 -0
  342. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Refs.kt +125 -0
  343. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Resolve.kt +66 -0
  344. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Types.kt +171 -0
  345. package/project/.sdk/tm/kotlin/feature/secrets/plugin/Version.kt +132 -0
  346. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Json.kt +359 -0
  347. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Provider.kt +21 -0
  348. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Providers.kt +308 -0
  349. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Sekreto.kt +525 -0
  350. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Spec.kt +126 -0
  351. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Support.kt +205 -0
  352. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Aws.kt +251 -0
  353. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Azuresecrets.kt +145 -0
  354. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Boru.kt +130 -0
  355. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Doppler.kt +77 -0
  356. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Gcpsecrets.kt +119 -0
  357. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Hashicorp.kt +156 -0
  358. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Httpjson.kt +219 -0
  359. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Infisical.kt +114 -0
  360. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Onepassword.kt +114 -0
  361. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Secretspec.kt +118 -0
  362. package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Sigv4.kt +220 -0
  363. package/project/.sdk/tm/kotlin/test/feature/secrets/SecretsTest.kt +1148 -0
  364. package/project/.sdk/tm/kotlin/test/vendor/omni/Json.kt +2 -2
  365. package/project/.sdk/tm/kotlin/test/vendor/omni/Runner.kt +2 -2
  366. package/project/.sdk/tm/kotlin/test/vendor/omni/Util.kt +2 -2
  367. package/project/.sdk/tm/kotlin/utility/struct/Struct.kt +1 -1
  368. package/project/.sdk/tm/lua/test/vendor/omni/json.lua +2 -2
  369. package/project/.sdk/tm/lua/test/vendor/omni/regex.lua +2 -2
  370. package/project/.sdk/tm/lua/test/vendor/omni/runner.lua +2 -2
  371. package/project/.sdk/tm/lua/test/vendor/omni/util.lua +2 -2
  372. package/project/.sdk/tm/lua/utility/struct/regex.lua +1 -1
  373. package/project/.sdk/tm/lua/utility/struct/struct.lua +1 -1
  374. package/project/.sdk/tm/ocaml/test/vendor/omni/omni.ml +2 -2
  375. package/project/.sdk/tm/perl/Makefile +6 -1
  376. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Capability.pm +141 -0
  377. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Catalog.pm +65 -0
  378. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Config.pm +346 -0
  379. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Depend.pm +216 -0
  380. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Env.pm +176 -0
  381. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Export.pm +59 -0
  382. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Graph.pm +157 -0
  383. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Host.pm +1139 -0
  384. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Order.pm +187 -0
  385. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Point.pm +100 -0
  386. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Ref.pm +119 -0
  387. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Resolve.pm +71 -0
  388. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Types.pm +251 -0
  389. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Version.pm +122 -0
  390. package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin.pm +70 -0
  391. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Aws.pm +263 -0
  392. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Azuresecrets.pm +159 -0
  393. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Boru.pm +180 -0
  394. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Doppler.pm +92 -0
  395. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Gcpsecrets.pm +138 -0
  396. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Hashicorp.pm +213 -0
  397. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Httpjson.pm +173 -0
  398. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Infisical.pm +132 -0
  399. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Onepassword.pm +132 -0
  400. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Proc.pm +102 -0
  401. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Secretspec.pm +132 -0
  402. package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Sigv4.pm +190 -0
  403. package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Addr.pm +124 -0
  404. package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Providers.pm +301 -0
  405. package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto.pm +605 -0
  406. package/project/.sdk/tm/perl/feature/secrets_feature.pm +675 -0
  407. package/project/.sdk/tm/perl/lib/Voxgig/Struct.pm +1 -1
  408. package/project/.sdk/tm/perl/t/feature/secrets/secrets.t +957 -0
  409. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Runner.pm +1 -1
  410. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Util.pm +1 -1
  411. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni.pm +1 -1
  412. package/project/.sdk/tm/php/feature/SecretsFeature.php +670 -0
  413. package/project/.sdk/tm/php/feature/secrets/plugin/Capability.php +226 -0
  414. package/project/.sdk/tm/php/feature/secrets/plugin/Catalog.php +75 -0
  415. package/project/.sdk/tm/php/feature/secrets/plugin/Config.php +444 -0
  416. package/project/.sdk/tm/php/feature/secrets/plugin/Depend.php +262 -0
  417. package/project/.sdk/tm/php/feature/secrets/plugin/Env.php +202 -0
  418. package/project/.sdk/tm/php/feature/secrets/plugin/Export.php +74 -0
  419. package/project/.sdk/tm/php/feature/secrets/plugin/Graph.php +195 -0
  420. package/project/.sdk/tm/php/feature/secrets/plugin/Host.php +1514 -0
  421. package/project/.sdk/tm/php/feature/secrets/plugin/Order.php +260 -0
  422. package/project/.sdk/tm/php/feature/secrets/plugin/Point.php +129 -0
  423. package/project/.sdk/tm/php/feature/secrets/plugin/Ref.php +169 -0
  424. package/project/.sdk/tm/php/feature/secrets/plugin/Resolve.php +79 -0
  425. package/project/.sdk/tm/php/feature/secrets/plugin/Types.php +348 -0
  426. package/project/.sdk/tm/php/feature/secrets/plugin/Version.php +163 -0
  427. package/project/.sdk/tm/php/feature/secrets/plugin/plugin.php +40 -0
  428. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/aws.php +274 -0
  429. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/azuresecrets.php +170 -0
  430. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/boru.php +163 -0
  431. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/doppler.php +106 -0
  432. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/gcpsecrets.php +144 -0
  433. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/hashicorp.php +194 -0
  434. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/httpjson.php +113 -0
  435. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/infisical.php +131 -0
  436. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/onepassword.php +150 -0
  437. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/runcmd.php +101 -0
  438. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/secretspec.php +146 -0
  439. package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/sigv4.php +161 -0
  440. package/project/.sdk/tm/php/feature/secrets/sekreto/src/Addr.php +129 -0
  441. package/project/.sdk/tm/php/feature/secrets/sekreto/src/Providers.php +322 -0
  442. package/project/.sdk/tm/php/feature/secrets/sekreto/src/Sekreto.php +724 -0
  443. package/project/.sdk/tm/php/test/feature/secrets/SecretsTest.php +1067 -0
  444. package/project/.sdk/tm/php/test/vendor/omni/Runner.php +2 -2
  445. package/project/.sdk/tm/php/test/vendor/omni/Util.php +2 -2
  446. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/__init__.py +1 -1
  447. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/capability.py +1 -1
  448. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/catalog.py +1 -1
  449. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/config.py +1 -1
  450. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/depend.py +1 -1
  451. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/env.py +1 -1
  452. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/export.py +1 -1
  453. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/graph.py +1 -1
  454. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/host.py +1 -1
  455. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/order.py +1 -1
  456. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/point.py +1 -1
  457. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/ref.py +1 -1
  458. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/resolve.py +1 -1
  459. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/types.py +1 -1
  460. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/version.py +1 -1
  461. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/__init__.py +4 -2
  462. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/addr.py +1 -1
  463. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/aws.py +3 -3
  464. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/azuresecrets.py +1 -1
  465. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/boru.py +1 -1
  466. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/doppler.py +1 -1
  467. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.py +1 -1
  468. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/hashicorp.py +3 -4
  469. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/httpjson.py +1 -1
  470. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/infisical.py +4 -6
  471. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/onepassword.py +1 -1
  472. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/secretspec.py +1 -1
  473. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/sigv4.py +1 -1
  474. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/providers.py +1 -1
  475. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/sekreto.py +21 -1
  476. package/project/.sdk/tm/py/pkg/utility/voxgig_struct/voxgig_struct.py +1 -1
  477. package/project/.sdk/tm/py/test/voxgig_omni/__init__.py +1 -1
  478. package/project/.sdk/tm/py/test/voxgig_omni/runner.py +16 -2
  479. package/project/.sdk/tm/py/test/voxgig_omni/util.py +27 -12
  480. package/project/.sdk/tm/rb/Makefile +7 -1
  481. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/capability.rb +118 -0
  482. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/catalog.rb +55 -0
  483. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/config.rb +315 -0
  484. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/depend.rb +197 -0
  485. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/env.rb +143 -0
  486. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/export.rb +52 -0
  487. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/graph.rb +147 -0
  488. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/host.rb +1079 -0
  489. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/order.rb +169 -0
  490. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/point.rb +93 -0
  491. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/ref.rb +112 -0
  492. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/resolve.rb +56 -0
  493. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/types.rb +99 -0
  494. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/version.rb +106 -0
  495. package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin.rb +24 -0
  496. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/addr.rb +111 -0
  497. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/aws.rb +200 -0
  498. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/azuresecrets.rb +130 -0
  499. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/boru.rb +121 -0
  500. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/doppler.rb +66 -0
  501. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.rb +107 -0
  502. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/hashicorp.rb +137 -0
  503. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/httpjson.rb +136 -0
  504. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/infisical.rb +97 -0
  505. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/onepassword.rb +104 -0
  506. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/secretspec.rb +113 -0
  507. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/sigv4.rb +127 -0
  508. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/providers.rb +210 -0
  509. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/sekreto.rb +465 -0
  510. package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto.rb +30 -0
  511. package/project/.sdk/tm/rb/feature/secrets_feature.rb +561 -0
  512. package/project/.sdk/tm/rb/test/feature/secrets/secrets_feature_test.rb +842 -0
  513. package/project/.sdk/tm/rb/test/vendor/omni/runner.rb +2 -2
  514. package/project/.sdk/tm/rb/test/vendor/omni/util.rb +2 -2
  515. package/project/.sdk/tm/rb/test/vendor/omni/voxgig_omni.rb +2 -2
  516. package/project/.sdk/tm/rust/feature/secrets/plugin/capability.rs +130 -0
  517. package/project/.sdk/tm/rust/feature/secrets/plugin/catalog.rs +114 -0
  518. package/project/.sdk/tm/rust/feature/secrets/plugin/config.rs +416 -0
  519. package/project/.sdk/tm/rust/feature/secrets/plugin/depend.rs +245 -0
  520. package/project/.sdk/tm/rust/feature/secrets/plugin/env.rs +200 -0
  521. package/project/.sdk/tm/rust/feature/secrets/plugin/export.rs +90 -0
  522. package/project/.sdk/tm/rust/feature/secrets/plugin/graph.rs +231 -0
  523. package/project/.sdk/tm/rust/feature/secrets/plugin/host.rs +1565 -0
  524. package/project/.sdk/tm/rust/feature/secrets/plugin/mod.rs +18 -0
  525. package/project/.sdk/tm/rust/feature/secrets/plugin/order.rs +226 -0
  526. package/project/.sdk/tm/rust/feature/secrets/plugin/point.rs +137 -0
  527. package/project/.sdk/tm/rust/feature/secrets/plugin/refs.rs +148 -0
  528. package/project/.sdk/tm/rust/feature/secrets/plugin/resolve.rs +83 -0
  529. package/project/.sdk/tm/rust/feature/secrets/plugin/types.rs +132 -0
  530. package/project/.sdk/tm/rust/feature/secrets/plugin/value.rs +433 -0
  531. package/project/.sdk/tm/rust/feature/secrets/plugin/version.rs +174 -0
  532. package/project/.sdk/tm/rust/feature/secrets/plugins/aws/crypto.rs +146 -0
  533. package/project/.sdk/tm/rust/feature/secrets/plugins/aws/sigv4.rs +230 -0
  534. package/project/.sdk/tm/rust/feature/secrets/plugins/aws.rs +328 -0
  535. package/project/.sdk/tm/rust/feature/secrets/plugins/azuresecrets.rs +184 -0
  536. package/project/.sdk/tm/rust/feature/secrets/plugins/boru.rs +172 -0
  537. package/project/.sdk/tm/rust/feature/secrets/plugins/doppler.rs +102 -0
  538. package/project/.sdk/tm/rust/feature/secrets/plugins/gcpsecrets.rs +153 -0
  539. package/project/.sdk/tm/rust/feature/secrets/plugins/hashicorp.rs +228 -0
  540. package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/http.rs +537 -0
  541. package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/json.rs +300 -0
  542. package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson.rs +137 -0
  543. package/project/.sdk/tm/rust/feature/secrets/plugins/infisical.rs +148 -0
  544. package/project/.sdk/tm/rust/feature/secrets/plugins/onepassword.rs +165 -0
  545. package/project/.sdk/tm/rust/feature/secrets/plugins/secretspec.rs +150 -0
  546. package/project/.sdk/tm/rust/feature/secrets/sekreto/addr.rs +144 -0
  547. package/project/.sdk/tm/rust/feature/secrets/sekreto/mod.rs +51 -0
  548. package/project/.sdk/tm/rust/feature/secrets/sekreto/providers.rs +637 -0
  549. package/project/.sdk/tm/rust/feature/secrets/sekreto/sekreto.rs +677 -0
  550. package/project/.sdk/tm/rust/feature/secrets.rs +961 -0
  551. package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +1509 -0
  552. package/project/.sdk/tm/rust/tests/vendor/omni/json.rs +2 -2
  553. package/project/.sdk/tm/rust/tests/vendor/omni/mod.rs +2 -2
  554. package/project/.sdk/tm/rust/tests/vendor/omni/regex.rs +2 -2
  555. package/project/.sdk/tm/rust/tests/vendor/omni/runner.rs +2 -2
  556. package/project/.sdk/tm/rust/tests/vendor/omni/util.rs +2 -2
  557. package/project/.sdk/tm/scala/Makefile +8 -3
  558. package/project/.sdk/tm/scala/feature/SecretsFeature.scala +556 -0
  559. package/project/.sdk/tm/scala/feature/secrets/plugin/Capability.scala +96 -0
  560. package/project/.sdk/tm/scala/feature/secrets/plugin/Config.scala +270 -0
  561. package/project/.sdk/tm/scala/feature/secrets/plugin/Depend.scala +216 -0
  562. package/project/.sdk/tm/scala/feature/secrets/plugin/Env.scala +144 -0
  563. package/project/.sdk/tm/scala/feature/secrets/plugin/Export.scala +59 -0
  564. package/project/.sdk/tm/scala/feature/secrets/plugin/Graph.scala +149 -0
  565. package/project/.sdk/tm/scala/feature/secrets/plugin/Host.scala +1089 -0
  566. package/project/.sdk/tm/scala/feature/secrets/plugin/Json.scala +156 -0
  567. package/project/.sdk/tm/scala/feature/secrets/plugin/Order.scala +169 -0
  568. package/project/.sdk/tm/scala/feature/secrets/plugin/Plugin.scala +47 -0
  569. package/project/.sdk/tm/scala/feature/secrets/plugin/Point.scala +107 -0
  570. package/project/.sdk/tm/scala/feature/secrets/plugin/Refs.scala +131 -0
  571. package/project/.sdk/tm/scala/feature/secrets/plugin/Resolve.scala +53 -0
  572. package/project/.sdk/tm/scala/feature/secrets/plugin/Types.scala +110 -0
  573. package/project/.sdk/tm/scala/feature/secrets/plugin/Value.scala +157 -0
  574. package/project/.sdk/tm/scala/feature/secrets/plugin/Version.scala +136 -0
  575. package/project/.sdk/tm/scala/feature/secrets/sekreto/Json.scala +302 -0
  576. package/project/.sdk/tm/scala/feature/secrets/sekreto/Provider.scala +20 -0
  577. package/project/.sdk/tm/scala/feature/secrets/sekreto/Providers.scala +281 -0
  578. package/project/.sdk/tm/scala/feature/secrets/sekreto/Sekreto.scala +473 -0
  579. package/project/.sdk/tm/scala/feature/secrets/sekreto/Spec.scala +123 -0
  580. package/project/.sdk/tm/scala/feature/secrets/sekreto/Support.scala +216 -0
  581. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Aws.scala +225 -0
  582. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Azuresecrets.scala +124 -0
  583. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Boru.scala +104 -0
  584. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Doppler.scala +68 -0
  585. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Gcpsecrets.scala +97 -0
  586. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Hashicorp.scala +131 -0
  587. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Httpjson.scala +209 -0
  588. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Infisical.scala +98 -0
  589. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Onepassword.scala +90 -0
  590. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Secretspec.scala +95 -0
  591. package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Sigv4.scala +214 -0
  592. package/project/.sdk/tm/scala/sdktest/feature/secrets/SecretsTestMain.scala +971 -0
  593. package/project/.sdk/tm/scala/sdktest/vendor/omni/Json.scala +2 -2
  594. package/project/.sdk/tm/scala/sdktest/vendor/omni/Runner.scala +2 -2
  595. package/project/.sdk/tm/scala/sdktest/vendor/omni/Util.scala +2 -2
  596. package/project/.sdk/tm/scala/utility/Make.scala +7 -0
  597. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/SecretsFeature.swift +669 -0
  598. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Capability.swift +98 -0
  599. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Catalog.swift +87 -0
  600. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Config.swift +298 -0
  601. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Depend.swift +209 -0
  602. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Env.swift +191 -0
  603. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Export.swift +63 -0
  604. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Graph.swift +158 -0
  605. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Host.swift +1141 -0
  606. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Json.swift +192 -0
  607. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Order.swift +183 -0
  608. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Point.swift +130 -0
  609. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Refs.swift +141 -0
  610. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Resolve.swift +59 -0
  611. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Types.swift +125 -0
  612. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Value.swift +198 -0
  613. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Version.swift +139 -0
  614. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Aws.swift +271 -0
  615. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Azuresecrets.swift +173 -0
  616. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Boru.swift +139 -0
  617. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Crypto.swift +198 -0
  618. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Doppler.swift +86 -0
  619. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Gcpsecrets.swift +129 -0
  620. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Hashicorp.swift +175 -0
  621. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Httpjson.swift +310 -0
  622. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Infisical.swift +140 -0
  623. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Onepassword.swift +118 -0
  624. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Proc.swift +105 -0
  625. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Secretspec.swift +111 -0
  626. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Sigv4.swift +297 -0
  627. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Addr.swift +120 -0
  628. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Json.swift +452 -0
  629. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Provider.swift +25 -0
  630. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Providers.swift +689 -0
  631. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Sekreto.swift +755 -0
  632. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/MakeOptions.swift +9 -0
  633. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/PrimaryUtilityTest.swift +30 -0
  634. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/feature/secrets/SecretsFeatureTest.swift +1030 -0
  635. package/project/.sdk/tm/swift/Tests/vendor/omni/Json.swift +2 -2
  636. package/project/.sdk/tm/swift/Tests/vendor/omni/Runner.swift +2 -2
  637. package/project/.sdk/tm/swift/Tests/vendor/omni/Util.swift +2 -2
  638. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Capability.ts +1 -1
  639. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Catalog.ts +1 -1
  640. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Config.ts +1 -1
  641. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Depend.ts +1 -1
  642. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Env.ts +1 -1
  643. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Export.ts +1 -1
  644. package/project/.sdk/tm/ts/src/feature/secrets/plugin/FeatureHost.ts +1 -1
  645. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Graph.ts +1 -1
  646. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Host.ts +1 -1
  647. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Order.ts +1 -1
  648. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Point.ts +1 -1
  649. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Ref.ts +1 -1
  650. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Resolve.ts +1 -1
  651. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Types.ts +1 -1
  652. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Version.ts +1 -1
  653. package/project/.sdk/tm/ts/src/feature/secrets/plugin/index.ts +1 -1
  654. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/Sekreto.ts +1 -1
  655. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/index.ts +1 -1
  656. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/aws.ts +1 -1
  657. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/azuresecrets.ts +1 -1
  658. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/boru.ts +1 -1
  659. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/doppler.ts +1 -1
  660. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/gcpsecrets.ts +1 -1
  661. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/hashicorp.ts +1 -1
  662. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/httpjson.ts +1 -1
  663. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/infisical.ts +1 -1
  664. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/onepassword.ts +1 -1
  665. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/secretspec.ts +1 -1
  666. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/sigv4.ts +1 -1
  667. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/addr.ts +1 -1
  668. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/builtin.ts +1 -1
  669. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/dotenv.ts +1 -1
  670. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/env.ts +1 -1
  671. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/file.ts +1 -1
  672. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/memory.ts +1 -1
  673. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/support.ts +1 -1
  674. package/project/.sdk/tm/ts/src/utility/StructUtility.ts +2 -2
  675. package/project/.sdk/tm/ts/test/vendor/omni/Runner.ts +1 -1
  676. package/project/.sdk/tm/ts/test/vendor/omni/Util.ts +1 -1
  677. package/project/.sdk/tm/ts/test/vendor/omni/index.ts +1 -1
  678. package/project/.sdk/tm/zig/Makefile +15 -1
  679. package/project/.sdk/tm/zig/build.zig +23 -5
  680. package/project/.sdk/tm/zig/core/helpers.zig +52 -11
  681. package/project/.sdk/tm/zig/core/mem.zig +17 -1
  682. package/project/.sdk/tm/zig/core/utility.zig +23 -19
  683. package/project/.sdk/tm/zig/feature/audit.zig +2 -2
  684. package/project/.sdk/tm/zig/feature/cache.zig +2 -2
  685. package/project/.sdk/tm/zig/feature/debug.zig +5 -5
  686. package/project/.sdk/tm/zig/feature/netsim.zig +2 -2
  687. package/project/.sdk/tm/zig/feature/paging.zig +2 -2
  688. package/project/.sdk/tm/zig/feature/proxy.zig +15 -8
  689. package/project/.sdk/tm/zig/feature/streaming.zig +5 -5
  690. package/project/.sdk/tm/zig/feature/support.zig +3 -3
  691. package/project/.sdk/tm/zig/feature/telemetry.zig +5 -5
  692. package/project/.sdk/tm/zig/feature/test.zig +10 -5
  693. package/project/.sdk/tm/zig/test/fh.zig +10 -10
  694. package/project/.sdk/tm/zig/test/gotcha_test.zig +5 -5
  695. package/project/.sdk/tm/zig/test/omniresolver.zig +515 -0
  696. package/project/.sdk/tm/zig/test/omnismoke_test.zig +284 -0
  697. package/project/.sdk/tm/zig/test/pipeline_test.zig +8 -8
  698. package/project/.sdk/tm/zig/test/primary_utility_test.zig +144 -154
  699. package/project/.sdk/tm/zig/test/struct_corpus.zig +264 -187
  700. package/project/.sdk/tm/zig/test/vendor/omni/omni.zig +1314 -0
  701. package/project/.sdk/tm/zig/test/vendor/omni/regex.zig +446 -0
  702. package/project/.sdk/tm/zig/utility/voxgigstruct/regex.zig +7 -4
  703. package/project/.sdk/tm/zig/utility/voxgigstruct/struct.zig +356 -157
  704. package/project/sdkgen-package.json +1 -4
  705. package/src/helpers/manifest.ts +81 -1
  706. package/src/helpers/modelNames.ts +284 -0
  707. package/src/helpers/naming.ts +45 -1
  708. package/src/sdkgen.ts +11 -1
  709. package/src/testkit.ts +115 -26
  710. package/src/utility.ts +17 -7
  711. package/project/.sdk/model/target/dart.aon +0 -58
  712. package/project/.sdk/model/target/lean.aon +0 -91
  713. package/project/.sdk/model/target/seneca-provider.aon +0 -120
  714. package/project/.sdk/src/cmp/dart/Config_dart.ts +0 -176
  715. package/project/.sdk/src/cmp/dart/EntityBase_dart.ts +0 -34
  716. package/project/.sdk/src/cmp/dart/EntityOperation_dart.ts +0 -43
  717. package/project/.sdk/src/cmp/dart/EntityTypes_dart.ts +0 -207
  718. package/project/.sdk/src/cmp/dart/Entity_dart.ts +0 -87
  719. package/project/.sdk/src/cmp/dart/Gitignore_dart.ts +0 -34
  720. package/project/.sdk/src/cmp/dart/MainEntity_dart.ts +0 -33
  721. package/project/.sdk/src/cmp/dart/Main_dart.ts +0 -106
  722. package/project/.sdk/src/cmp/dart/Package_dart.ts +0 -82
  723. package/project/.sdk/src/cmp/dart/ReadmeEntity_dart.ts +0 -177
  724. package/project/.sdk/src/cmp/dart/ReadmeExamplesTest_dart.ts +0 -238
  725. package/project/.sdk/src/cmp/dart/ReadmeExplanation_dart.ts +0 -53
  726. package/project/.sdk/src/cmp/dart/ReadmeHowto_dart.ts +0 -152
  727. package/project/.sdk/src/cmp/dart/ReadmeInstall_dart.ts +0 -59
  728. package/project/.sdk/src/cmp/dart/ReadmeIntro_dart.ts +0 -65
  729. package/project/.sdk/src/cmp/dart/ReadmeModel_dart.ts +0 -151
  730. package/project/.sdk/src/cmp/dart/ReadmeOptions_dart.ts +0 -63
  731. package/project/.sdk/src/cmp/dart/ReadmeQuick_dart.ts +0 -225
  732. package/project/.sdk/src/cmp/dart/ReadmeRef_dart.ts +0 -397
  733. package/project/.sdk/src/cmp/dart/ReadmeTopHowto_dart.ts +0 -24
  734. package/project/.sdk/src/cmp/dart/ReadmeTopQuick_dart.ts +0 -106
  735. package/project/.sdk/src/cmp/dart/ReadmeTopTest_dart.ts +0 -78
  736. package/project/.sdk/src/cmp/dart/SdkError_dart.ts +0 -42
  737. package/project/.sdk/src/cmp/dart/TestDirect_dart.ts +0 -516
  738. package/project/.sdk/src/cmp/dart/TestEntity_dart.ts +0 -628
  739. package/project/.sdk/src/cmp/dart/Test_dart.ts +0 -116
  740. package/project/.sdk/src/cmp/dart/fragment/Config.data.fragment.dart +0 -79
  741. package/project/.sdk/src/cmp/dart/fragment/Config.fragment.dart +0 -51
  742. package/project/.sdk/src/cmp/dart/fragment/Direct.test.fragment.dart +0 -25
  743. package/project/.sdk/src/cmp/dart/fragment/Entity.fragment.dart +0 -29
  744. package/project/.sdk/src/cmp/dart/fragment/Entity.test.fragment.dart +0 -28
  745. package/project/.sdk/src/cmp/dart/fragment/EntityBase.fragment.dart +0 -302
  746. package/project/.sdk/src/cmp/dart/fragment/EntityCreateOp.fragment.dart +0 -98
  747. package/project/.sdk/src/cmp/dart/fragment/EntityListOp.fragment.dart +0 -90
  748. package/project/.sdk/src/cmp/dart/fragment/EntityLoadOp.fragment.dart +0 -102
  749. package/project/.sdk/src/cmp/dart/fragment/EntityRemoveOp.fragment.dart +0 -108
  750. package/project/.sdk/src/cmp/dart/fragment/EntityUpdateOp.fragment.dart +0 -102
  751. package/project/.sdk/src/cmp/dart/fragment/Main.fragment.dart +0 -338
  752. package/project/.sdk/src/cmp/dart/fragment/SdkError.fragment.dart +0 -26
  753. package/project/.sdk/src/cmp/dart/tsconfig.json +0 -15
  754. package/project/.sdk/src/cmp/dart/utility_dart.ts +0 -155
  755. package/project/.sdk/src/cmp/lean/Config_lean.ts +0 -93
  756. package/project/.sdk/src/cmp/lean/Entity_lean.ts +0 -9
  757. package/project/.sdk/src/cmp/lean/Gitignore_lean.ts +0 -18
  758. package/project/.sdk/src/cmp/lean/Main_lean.ts +0 -120
  759. package/project/.sdk/src/cmp/lean/Package_lean.ts +0 -93
  760. package/project/.sdk/src/cmp/lean/ReadmeEntity_lean.ts +0 -29
  761. package/project/.sdk/src/cmp/lean/ReadmeExplanation_lean.ts +0 -19
  762. package/project/.sdk/src/cmp/lean/ReadmeHowto_lean.ts +0 -25
  763. package/project/.sdk/src/cmp/lean/ReadmeInstall_lean.ts +0 -39
  764. package/project/.sdk/src/cmp/lean/ReadmeIntro_lean.ts +0 -25
  765. package/project/.sdk/src/cmp/lean/ReadmeModel_lean.ts +0 -24
  766. package/project/.sdk/src/cmp/lean/ReadmeOptions_lean.ts +0 -22
  767. package/project/.sdk/src/cmp/lean/ReadmeQuick_lean.ts +0 -50
  768. package/project/.sdk/src/cmp/lean/ReadmeRef_lean.ts +0 -40
  769. package/project/.sdk/src/cmp/lean/ReadmeTopHowto_lean.ts +0 -16
  770. package/project/.sdk/src/cmp/lean/ReadmeTopQuick_lean.ts +0 -23
  771. package/project/.sdk/src/cmp/lean/ReadmeTopTest_lean.ts +0 -19
  772. package/project/.sdk/src/cmp/lean/Test_lean.ts +0 -261
  773. package/project/.sdk/src/cmp/lean/utility_lean.ts +0 -129
  774. package/project/.sdk/src/cmp/seneca-provider/Extras_seneca-provider.ts +0 -4080
  775. package/project/.sdk/src/cmp/seneca-provider/Gitignore_seneca-provider.ts +0 -161
  776. package/project/.sdk/src/cmp/seneca-provider/Main_seneca-provider.ts +0 -1011
  777. package/project/.sdk/tm/dart/LICENSE +0 -22
  778. package/project/.sdk/tm/dart/Makefile +0 -50
  779. package/project/.sdk/tm/dart/lib/Context.dart +0 -150
  780. package/project/.sdk/tm/dart/lib/Control.dart +0 -15
  781. package/project/.sdk/tm/dart/lib/Operation.dart +0 -31
  782. package/project/.sdk/tm/dart/lib/Point.dart +0 -51
  783. package/project/.sdk/tm/dart/lib/Response.dart +0 -32
  784. package/project/.sdk/tm/dart/lib/Result.dart +0 -39
  785. package/project/.sdk/tm/dart/lib/Spec.dart +0 -49
  786. package/project/.sdk/tm/dart/lib/feature/audit/AuditFeature.dart +0 -103
  787. package/project/.sdk/tm/dart/lib/feature/base/BaseFeature.dart +0 -76
  788. package/project/.sdk/tm/dart/lib/feature/cache/CacheFeature.dart +0 -152
  789. package/project/.sdk/tm/dart/lib/feature/clienttrack/ClienttrackFeature.dart +0 -104
  790. package/project/.sdk/tm/dart/lib/feature/cost/CostFeature.dart +0 -446
  791. package/project/.sdk/tm/dart/lib/feature/debug/DebugFeature.dart +0 -153
  792. package/project/.sdk/tm/dart/lib/feature/idempotency/IdempotencyFeature.dart +0 -92
  793. package/project/.sdk/tm/dart/lib/feature/log/LogFeature.dart +0 -85
  794. package/project/.sdk/tm/dart/lib/feature/metrics/MetricsFeature.dart +0 -103
  795. package/project/.sdk/tm/dart/lib/feature/netsim/NetsimFeature.dart +0 -186
  796. package/project/.sdk/tm/dart/lib/feature/paging/PagingFeature.dart +0 -240
  797. package/project/.sdk/tm/dart/lib/feature/proxy/ProxyFeature.dart +0 -118
  798. package/project/.sdk/tm/dart/lib/feature/ratelimit/RatelimitFeature.dart +0 -103
  799. package/project/.sdk/tm/dart/lib/feature/rbac/RbacFeature.dart +0 -121
  800. package/project/.sdk/tm/dart/lib/feature/retry/RetryFeature.dart +0 -155
  801. package/project/.sdk/tm/dart/lib/feature/streaming/StreamingFeature.dart +0 -97
  802. package/project/.sdk/tm/dart/lib/feature/telemetry/TelemetryFeature.dart +0 -136
  803. package/project/.sdk/tm/dart/lib/feature/test/TestFeature.dart +0 -328
  804. package/project/.sdk/tm/dart/lib/feature/timeout/TimeoutFeature.dart +0 -104
  805. package/project/.sdk/tm/dart/lib/utility/CleanUtility.dart +0 -12
  806. package/project/.sdk/tm/dart/lib/utility/DoneUtility.dart +0 -18
  807. package/project/.sdk/tm/dart/lib/utility/ErrUtility.dart +0 -46
  808. package/project/.sdk/tm/dart/lib/utility/FeatureAddUtility.dart +0 -35
  809. package/project/.sdk/tm/dart/lib/utility/FeatureHookUtility.dart +0 -20
  810. package/project/.sdk/tm/dart/lib/utility/FeatureInitUtility.dart +0 -9
  811. package/project/.sdk/tm/dart/lib/utility/FetcherUtility.dart +0 -104
  812. package/project/.sdk/tm/dart/lib/utility/GraphqlUtility.dart +0 -162
  813. package/project/.sdk/tm/dart/lib/utility/MakeContextUtility.dart +0 -6
  814. package/project/.sdk/tm/dart/lib/utility/MakeErrorUtility.dart +0 -71
  815. package/project/.sdk/tm/dart/lib/utility/MakeFetchDefUtility.dart +0 -42
  816. package/project/.sdk/tm/dart/lib/utility/MakeOptionsUtility.dart +0 -233
  817. package/project/.sdk/tm/dart/lib/utility/MakePointUtility.dart +0 -130
  818. package/project/.sdk/tm/dart/lib/utility/MakeRequestUtility.dart +0 -66
  819. package/project/.sdk/tm/dart/lib/utility/MakeResponseUtility.dart +0 -59
  820. package/project/.sdk/tm/dart/lib/utility/MakeResultUtility.dart +0 -49
  821. package/project/.sdk/tm/dart/lib/utility/MakeSpecUtility.dart +0 -77
  822. package/project/.sdk/tm/dart/lib/utility/MakeUrlUtility.dart +0 -51
  823. package/project/.sdk/tm/dart/lib/utility/ParamUtility.dart +0 -56
  824. package/project/.sdk/tm/dart/lib/utility/PrepareAuthUtility.dart +0 -46
  825. package/project/.sdk/tm/dart/lib/utility/PrepareBodyUtility.dart +0 -19
  826. package/project/.sdk/tm/dart/lib/utility/PrepareHeadersUtility.dart +0 -11
  827. package/project/.sdk/tm/dart/lib/utility/PrepareMethodUtility.dart +0 -30
  828. package/project/.sdk/tm/dart/lib/utility/PrepareParamsUtility.dart +0 -23
  829. package/project/.sdk/tm/dart/lib/utility/PreparePathUtility.dart +0 -9
  830. package/project/.sdk/tm/dart/lib/utility/PrepareQueryUtility.dart +0 -18
  831. package/project/.sdk/tm/dart/lib/utility/ResultBasicUtility.dart +0 -29
  832. package/project/.sdk/tm/dart/lib/utility/ResultBodyUtility.dart +0 -15
  833. package/project/.sdk/tm/dart/lib/utility/ResultHeadersUtility.dart +0 -18
  834. package/project/.sdk/tm/dart/lib/utility/StructUtility.dart +0 -127
  835. package/project/.sdk/tm/dart/lib/utility/TransformRequestUtility.dart +0 -28
  836. package/project/.sdk/tm/dart/lib/utility/TransformResponseUtility.dart +0 -44
  837. package/project/.sdk/tm/dart/lib/utility/Utility.dart +0 -239
  838. package/project/.sdk/tm/dart/lib/utility/voxgig_struct.dart +0 -2462
  839. package/project/.sdk/tm/dart/src/feature/README.md +0 -3
  840. package/project/.sdk/tm/dart/src/feature/proxy/.gitkeep +0 -0
  841. package/project/.sdk/tm/dart/src/feature/ratelimit/.gitkeep +0 -0
  842. package/project/.sdk/tm/dart/src/feature/rbac/.gitkeep +0 -0
  843. package/project/.sdk/tm/dart/src/feature/retry/.gitkeep +0 -0
  844. package/project/.sdk/tm/dart/src/feature/streaming/.gitkeep +0 -0
  845. package/project/.sdk/tm/dart/src/feature/telemetry/.gitkeep +0 -0
  846. package/project/.sdk/tm/dart/src/feature/test/.gitkeep +0 -0
  847. package/project/.sdk/tm/dart/src/feature/timeout/.gitkeep +0 -0
  848. package/project/.sdk/tm/dart/test/custom_test.dart +0 -65
  849. package/project/.sdk/tm/dart/test/exists_test.dart +0 -12
  850. package/project/.sdk/tm/dart/test/feature/harness.dart +0 -329
  851. package/project/.sdk/tm/dart/test/feature_test.dart +0 -1193
  852. package/project/.sdk/tm/dart/test/harness.dart +0 -153
  853. package/project/.sdk/tm/dart/test/netsim_test.dart +0 -48
  854. package/project/.sdk/tm/dart/test/omni.dart +0 -520
  855. package/project/.sdk/tm/dart/test/omni_smoke_test.dart +0 -143
  856. package/project/.sdk/tm/dart/test/pipeline_test.dart +0 -608
  857. package/project/.sdk/tm/dart/test/primary_test.dart +0 -476
  858. package/project/.sdk/tm/dart/test/sdk-test-control.json +0 -19
  859. package/project/.sdk/tm/dart/test/struct_test.dart +0 -468
  860. package/project/.sdk/tm/dart/test/utility.dart +0 -198
  861. package/project/.sdk/tm/dart/test/vendor/omni/omni.dart +0 -7
  862. package/project/.sdk/tm/dart/test/vendor/omni/runner.dart +0 -653
  863. package/project/.sdk/tm/dart/test/vendor/omni/util.dart +0 -232
  864. package/project/.sdk/tm/lean/LICENSE +0 -21
  865. package/project/.sdk/tm/lean/Makefile +0 -32
  866. package/project/.sdk/tm/lean/VERSION +0 -1
  867. package/project/.sdk/tm/lean/src/SdkFeature.lean +0 -171
  868. package/project/.sdk/tm/lean/src/SdkFeatures.lean +0 -787
  869. package/project/.sdk/tm/lean/src/SdkJson.lean +0 -134
  870. package/project/.sdk/tm/lean/src/SdkRuntime.lean +0 -374
  871. package/project/.sdk/tm/lean/src/SdkUtility.lean +0 -809
  872. package/project/.sdk/tm/lean/src/VoxgigStruct.lean +0 -2880
  873. package/project/.sdk/tm/lean/src/Vregex.lean +0 -412
  874. package/project/.sdk/tm/lean/src/feature/README.md +0 -5
  875. package/project/.sdk/tm/lean/src/feature/audit/.gitkeep +0 -0
  876. package/project/.sdk/tm/lean/src/feature/base/.gitkeep +0 -0
  877. package/project/.sdk/tm/lean/src/feature/cache/.gitkeep +0 -0
  878. package/project/.sdk/tm/lean/src/feature/clienttrack/.gitkeep +0 -0
  879. package/project/.sdk/tm/lean/src/feature/cost/.gitkeep +0 -0
  880. package/project/.sdk/tm/lean/src/feature/debug/.gitkeep +0 -0
  881. package/project/.sdk/tm/lean/src/feature/idempotency/.gitkeep +0 -0
  882. package/project/.sdk/tm/lean/src/feature/log/.gitkeep +0 -0
  883. package/project/.sdk/tm/lean/src/feature/metrics/.gitkeep +0 -0
  884. package/project/.sdk/tm/lean/src/feature/netsim/.gitkeep +0 -0
  885. package/project/.sdk/tm/lean/src/feature/paging/.gitkeep +0 -0
  886. package/project/.sdk/tm/lean/src/feature/proxy/.gitkeep +0 -0
  887. package/project/.sdk/tm/lean/src/feature/ratelimit/.gitkeep +0 -0
  888. package/project/.sdk/tm/lean/src/feature/rbac/.gitkeep +0 -0
  889. package/project/.sdk/tm/lean/src/feature/retry/.gitkeep +0 -0
  890. package/project/.sdk/tm/lean/src/feature/streaming/.gitkeep +0 -0
  891. package/project/.sdk/tm/lean/src/feature/telemetry/.gitkeep +0 -0
  892. package/project/.sdk/tm/lean/src/feature/test/.gitkeep +0 -0
  893. package/project/.sdk/tm/lean/src/feature/timeout/.gitkeep +0 -0
  894. package/project/.sdk/tm/lean/test/OmniResolver.lean +0 -358
  895. package/project/.sdk/tm/lean/test/OmniSmoke.lean +0 -174
  896. package/project/.sdk/tm/lean/test/StructCorpus.lean +0 -368
  897. package/project/.sdk/tm/lean/test/TFeature.lean +0 -281
  898. package/project/.sdk/tm/lean/test/TPrimaryUtility.lean +0 -227
  899. package/project/.sdk/tm/lean/test/vendor/omni/Omni.lean +0 -997
  900. package/project/.sdk/tm/seneca-provider/CODE_OF_CONDUCT.md +0 -132
  901. package/project/.sdk/tm/seneca-provider/LICENSE +0 -21
  902. package/project/.sdk/tm/seneca-provider/Makefile +0 -15
  903. package/project/.sdk/tm/seneca-provider/src/tsconfig.json +0 -18
  904. package/project/.sdk/tm/seneca-provider/test/tsconfig.json +0 -16
  905. package/project/.sdk/tm/seneca-provider/tsfmt.json +0 -3
  906. package/project/.sdk/tm/zig/test/struct_runner.zig +0 -465
  907. /package/project/.sdk/tm/{dart/src/feature/audit → clojure/src/feature/secrets}/.gitkeep +0 -0
  908. /package/project/.sdk/tm/{dart/src/feature/base → csharp/src/feature/secrets}/.gitkeep +0 -0
  909. /package/project/.sdk/tm/{dart/src/feature/cache → elixir/src/feature/secrets}/.gitkeep +0 -0
  910. /package/project/.sdk/tm/{dart/src/feature/clienttrack → java/src/feature/secrets}/.gitkeep +0 -0
  911. /package/project/.sdk/tm/{dart/src/feature/cost → kotlin/src/feature/secrets}/.gitkeep +0 -0
  912. /package/project/.sdk/tm/{dart/src/feature/debug → perl/src/feature/secrets}/.gitkeep +0 -0
  913. /package/project/.sdk/tm/{dart/src/feature/idempotency → php/src/feature/secrets}/.gitkeep +0 -0
  914. /package/project/.sdk/tm/{dart/src/feature/log → rb/src/feature/secrets}/.gitkeep +0 -0
  915. /package/project/.sdk/tm/{dart/src/feature/metrics → rust/src/feature/secrets}/.gitkeep +0 -0
  916. /package/project/.sdk/tm/{dart/src/feature/netsim → scala/src/feature/secrets}/.gitkeep +0 -0
  917. /package/project/.sdk/tm/{dart/src/feature/paging → swift/src/feature/secrets}/.gitkeep +0 -0
@@ -0,0 +1,547 @@
1
+ ;; ProjectName SDK secrets feature behaviour tests.
2
+ ;;
3
+ ;; The contract under test: the `apikey` OPTION keeps its exact old meaning
4
+ ;; and always wins, because the feature places it FIRST in the provider
5
+ ;; chain (a `memory` store named `options`) - explicit-beats-lookup falls
6
+ ;; out of sekreto's first-hit rule rather than from special-case logic.
7
+ ;; With the feature inactive nothing changes at all. With it active and the
8
+ ;; option unset, the chain supplies the credential instead. A provider MISS
9
+ ;; falls through unauthenticated; a provider ERROR FAILS the operation.
10
+ ;;
11
+ ;; EVERY CASE HERE BUILDS A LIVE CLIENT (client/make-sdk with
12
+ ;; `system.fetch`), never client/test-sdk and never the sdk.test.feature
13
+ ;; harness. Both of those replace `ctx.utility.fetcher` with an in-memory
14
+ ;; mock, so a counter hung off system.fetch is NEVER REACHED - under a test
15
+ ;; client both "no request was sent" and "the call failed" hold for a
16
+ ;; healthy SDK carrying no secrets feature at all, and the pair asserts
17
+ ;; nothing. An assertion that cannot fail pins no rule.
18
+ ;;
19
+ ;; So each fail-closed case proves its own counter FIRST, with the same
20
+ ;; construction and a WORKING provider: one request must reach system.fetch
21
+ ;; carrying the resolved credential. Only then does a zero from the broken
22
+ ;; provider mean REFUSED rather than UNWIRED. And the failure is matched on
23
+ ;; THE PROVIDER'S OWN MESSAGE, so an unrelated failure (a missing route, a
24
+ ;; blocked op) cannot stand in for fail-closed.
25
+ ;;
26
+ ;; This file lives in the `feature/` container of the test tree on purpose:
27
+ ;; it is generated only for a project whose model selects `secrets`, and
28
+ ;; sdk.test-runner reaches it through the same sdk.config wiring the
29
+ ;; feature itself is registered by.
30
+ (ns sdk.test.feature.secrets
31
+ (:require [clojure.string :as str]
32
+ [sdk.core :as core]
33
+ [sdk.client :as client]
34
+ [sdk.feature.secrets :as secrets]
35
+ [sdk.testutil :as t]
36
+ [voxgig.sekreto :as sekreto]
37
+ [voxgig.sekreto.provider :as provider]
38
+ [voxgig.struct :as vs]))
39
+
40
+
41
+ (def ^:private BASE "http://secrets.test/api")
42
+
43
+ ;; Named explicitly: a project that narrows the default allow.op set would
44
+ ;; otherwise turn these into a false RED (the control leg refused before it
45
+ ;; reached the transport), and the rule under test lives at the transport,
46
+ ;; downstream of the allow gate either way.
47
+ (def ^:private ALLOWOP "create,update,load,list,remove,command,direct,graphql")
48
+
49
+
50
+ ;; ---------------------------------------------------------------------------
51
+ ;; The transport under test: a recording system.fetch. "Sent" is a fact
52
+ ;; about the wire, not about a mock somewhere inside the pipeline.
53
+ ;; ---------------------------------------------------------------------------
54
+
55
+ (defn- response [status data]
56
+ (vs/jm "status" status "statusText" (if (< status 400) "OK" "ERR")
57
+ "headers" (vs/jm) "body" "not-used" "json" (fn [] data)))
58
+
59
+
60
+ ;; `reply` is (fn [n url fetchdef] -> [res err]); nil means 200 {ok true}.
61
+ ;; The authorization header is snapshotted AS A STRING at call time: the
62
+ ;; fetchdef's header map is the live spec map the retry rewrites IN PLACE,
63
+ ;; so holding the map would make every recorded call show the last token.
64
+ (defn- counting-fetch
65
+ ([] (counting-fetch nil))
66
+ ([reply]
67
+ (let [calls (atom [])
68
+ stub {:calls calls}]
69
+ (assoc stub :fetch
70
+ (fn [url fetchdef]
71
+ (let [headers (vs/getprop fetchdef "headers")
72
+ auth (when (vs/ismap headers) (vs/getprop headers "authorization"))
73
+ n (inc (count @calls))]
74
+ (swap! calls conj {:url url
75
+ :auth (when (some? auth) (str auth))
76
+ :method (vs/getprop fetchdef "method")
77
+ :body (vs/getprop fetchdef "body")})
78
+ (if reply
79
+ (reply n url fetchdef)
80
+ [(response 200 (vs/jm "ok" true "n" n)) nil])))))))
81
+
82
+
83
+ (defn- sent [stub] (count (deref (:calls stub))))
84
+ (defn- call-at [stub i] (nth (deref (:calls stub)) i nil))
85
+
86
+ ;; What went out, for a failure message that names the leak rather than
87
+ ;; just its count.
88
+ (defn- wire [stub]
89
+ (str/join ", " (map (fn [c] (str (:url c) " auth=" (pr-str (:auth c))))
90
+ (deref (:calls stub)))))
91
+
92
+
93
+ ;; A result, summarised. NEVER pr-str a raw result: an SDK error carries
94
+ ;; its context, the context carries the client, and the client carries the
95
+ ;; root context - so printing one is an infinite walk (a StackOverflowError,
96
+ ;; and it fires while BUILDING an assertion message, which turns a passing
97
+ ;; test red for the wrong reason).
98
+ (defn- brief [res]
99
+ (if (vs/ismap res)
100
+ (let [err (vs/getprop res "err")]
101
+ (str "{ok=" (vs/getprop res "ok")
102
+ " status=" (vs/getprop res "status")
103
+ (if (some? err)
104
+ (str " err=" (pr-str (core/err-code err)) ":" (pr-str (core/err-msg err)))
105
+ "")
106
+ "}"))
107
+ (str res)))
108
+
109
+
110
+ ;; ---------------------------------------------------------------------------
111
+ ;; Providers. `reify`, NEVER `defrecord`: make-options runs the options
112
+ ;; through vs/merge and vs/validate, which deep-copy every java.util.Map -
113
+ ;; and a defrecord IS one, so it would arrive at the chain as a plain
114
+ ;; LinkedHashMap with the protocol gone. A reify is not a Map and survives.
115
+ ;; ---------------------------------------------------------------------------
116
+
117
+ (defn- fixed-provider [name value]
118
+ (reify provider/Provider
119
+ (lookup [_ n] (when (= n name) value))
120
+ (describe [_] "fixed:test")))
121
+
122
+ (defn- broken-provider [msg]
123
+ (reify provider/Provider
124
+ (lookup [_ _] (throw (sekreto/sekretoerror msg)))
125
+ (describe [_] "broken:test")))
126
+
127
+ (defn- miss-provider []
128
+ (reify provider/Provider
129
+ (lookup [_ _] nil)
130
+ (describe [_] "miss:test")))
131
+
132
+ ;; Records the names it was asked for, so "the chain asked for the right
133
+ ;; secret" is observable rather than assumed.
134
+ (defn- watching-provider [asked name value]
135
+ (reify provider/Provider
136
+ (lookup [_ n] (swap! asked conj n) (when (= n name) value))
137
+ (describe [_] "watching:test")))
138
+
139
+
140
+ ;; ---------------------------------------------------------------------------
141
+ ;; A LIVE client. Mode stays "live", the test feature is never activated,
142
+ ;; so core/u-fetcher really does call system.fetch.
143
+ ;; ---------------------------------------------------------------------------
144
+
145
+ (defn- live-sdk [stub & {:keys [apikey auth-nil secrets]}]
146
+ (let [opts (vs/jm "base" BASE
147
+ "allow" (vs/jm "op" ALLOWOP)
148
+ "system" (vs/jm "fetch" (:fetch stub)))]
149
+ (when apikey (.put ^java.util.Map opts "apikey" apikey))
150
+ (when auth-nil (.put ^java.util.Map opts "auth" nil))
151
+ (when secrets (.put ^java.util.Map opts "feature" (vs/jm "secrets" secrets)))
152
+ (client/make-sdk opts)))
153
+
154
+
155
+ (defn- sekopts [& kvs]
156
+ (apply vs/jm (concat ["active" true] kvs)))
157
+
158
+
159
+ (defn- feature-of [sdk name]
160
+ (first (filter (fn [f] (= name (core/feature-get-name f)))
161
+ (deref (core/client-features sdk)))))
162
+
163
+
164
+ ;; The Authorization header carries the SPEC's credential prefix, which a
165
+ ;; TEMPLATE cannot know: an OpenAPI `http`/`bearer` scheme gives
166
+ ;; `Bearer <token>`, an apiKey scheme the raw token. So assert on the
167
+ ;; CREDENTIAL and let the prefix be whatever this SDK's API declares.
168
+ (defn- credential-is [got token msg]
169
+ (let [s (str (or got ""))]
170
+ (t/is-true (or (= s token) (str/ends-with? s (str " " token)))
171
+ (str msg ": expected the authorization header to carry " token
172
+ ", got " (pr-str got)))))
173
+
174
+
175
+ ;; ---------------------------------------------------------------------------
176
+ ;; THE ENTITY PATH. Reached through the client utility view, exactly as
177
+ ;; sdk.test.pipeline and sdk.test.feature reach it, because a TEMPLATE
178
+ ;; cannot name this API's entities. The transport crossing is core's own:
179
+ ;; u-make-request calls (uget ctx :fetcher) - the same slot, the same
180
+ ;; wrapper, the same fetchdef - and u-done raises the SDK error the way a
181
+ ;; generated op does.
182
+ ;; ---------------------------------------------------------------------------
183
+
184
+ (defn- entity-op [sdk opname]
185
+ (let [rootctx (core/client-root-ctx sdk)
186
+ ctx (core/make-context
187
+ (vs/jm "opname" opname "entity" {:get-name (fn [] "widget")})
188
+ rootctx)
189
+ opts (core/client-options-map sdk)
190
+ gstr (fn [k] (let [v (vs/getprop opts k)] (if (string? v) v "")))
191
+ spec (core/make-spec (vs/jm "base" (gstr "base") "prefix" (gstr "prefix")
192
+ "suffix" (gstr "suffix") "path" "/widget"
193
+ "method" "GET" "params" (vs/jm) "query" (vs/jm)
194
+ "headers" ((core/uget ctx :prepare-headers) ctx)
195
+ "step" "start"))]
196
+ (core/oset! ctx :spec spec)
197
+ (try
198
+ (let [[_ aerr] ((core/uget ctx :prepare-auth) ctx)]
199
+ (when aerr (core/sdk-throw aerr)))
200
+ (let [[_ rerr] ((core/uget ctx :make-request) ctx)]
201
+ (when rerr (core/sdk-throw rerr)))
202
+ (let [[_ perr] ((core/uget ctx :make-response) ctx)]
203
+ (when perr (core/sdk-throw perr)))
204
+ (let [[_ merr] ((core/uget ctx :make-result) ctx)]
205
+ (when merr (core/sdk-throw merr)))
206
+ {:ok true :data ((core/uget ctx :done) ctx)}
207
+ (catch clojure.lang.ExceptionInfo e
208
+ {:ok false :err (core/ex->sdk e) :msg (.getMessage e)}))))
209
+
210
+
211
+ ;; ---------------------------------------------------------------------------
212
+
213
+ (defn run [rec]
214
+ (letfn [(chk [name thunk] (t/run-check rec name thunk))]
215
+
216
+ ;; ---- INACTIVE COSTS NOTHING ----
217
+
218
+ (chk "secrets-inactive-apikey-unchanged"
219
+ (fn []
220
+ (let [stub (counting-fetch)
221
+ sdk (live-sdk stub :apikey "OPTKEY01")
222
+ res (client/direct sdk (vs/jm "path" "/thing"))]
223
+ (t/is-true (= true (vs/getprop res "ok")) (str "direct failed: " (brief res)))
224
+ (t/is-eq (sent stub) 1 "one request")
225
+ (credential-is (:auth (call-at stub 0)) "OPTKEY01" "inactive")
226
+ ;; No feature, no instance.
227
+ (t/is-nil (feature-of sdk "secrets") "no secrets feature installed"))))
228
+
229
+ (chk "secrets-inactive-no-apikey-no-header"
230
+ (fn []
231
+ (let [stub (counting-fetch)
232
+ sdk (live-sdk stub)]
233
+ (client/direct sdk (vs/jm "path" "/thing"))
234
+ (t/is-eq (sent stub) 1 "one request")
235
+ (t/is-nil (:auth (call-at stub 0)) "no authorization header"))))
236
+
237
+ ;; ---- apikey KEEPS ITS MEANING ----
238
+
239
+ (chk "secrets-apikey-option-wins-on-the-wire"
240
+ (fn []
241
+ (let [stub (counting-fetch)
242
+ sdk (live-sdk stub :apikey "OPTKEY01"
243
+ :secrets (sekopts "providers"
244
+ (vs/jt (fixed-provider "apikey" "CHAINKEY01"))))
245
+ res (client/direct sdk (vs/jm "path" "/thing"))]
246
+ (t/is-true (= true (vs/getprop res "ok")) (str "direct failed: " (brief res)))
247
+ (t/is-eq (sent stub) 1 "one request")
248
+ (credential-is (:auth (call-at stub 0)) "OPTKEY01" "apikey wins")
249
+ ;; The explicit option is a REAL STORE, not a special case: a
250
+ ;; directed read names it like any other provider.
251
+ ;; Reached through the feature's own public accessor, which is
252
+ ;; the clojure spelling of ts's sdk.secrets().
253
+ (let [f (secrets/of sdk)]
254
+ (t/is-some f "secrets feature installed")
255
+ (t/is-eq (sekreto/getfrom (secrets/sek f) "options" "apikey")
256
+ "OPTKEY01" "directed read of the options store")))))
257
+
258
+ (chk "secrets-omitted-apikey-defers-to-the-chain"
259
+ (fn []
260
+ (let [stub (counting-fetch)
261
+ sdk (live-sdk stub :secrets (sekopts "providers"
262
+ (vs/jt (fixed-provider "apikey" "CHAINKEY01"))))
263
+ f (feature-of sdk "secrets")]
264
+ (t/is-some f "secrets feature installed")
265
+ ;; Nothing is resolved before the first operation: init builds
266
+ ;; the chain and never looks anything up.
267
+ (t/is-eq (secrets/credential f) "" "unresolved before the first op")
268
+ (client/direct sdk (vs/jm "path" "/thing"))
269
+ (t/is-eq (sent stub) 1 "one request")
270
+ (credential-is (:auth (call-at stub 0)) "CHAINKEY01" "chain")
271
+ (t/is-eq (secrets/credential f) "CHAINKEY01" "held in feature state")
272
+ ;; THE SHARED OPTIONS MAP IS NEVER WRITTEN.
273
+ (t/is-eq (vs/getprop (client/options-map sdk) "apikey") ""
274
+ "the options map is untouched"))))
275
+
276
+ (chk "secrets-custom-provider-is-asked-for-the-right-name"
277
+ (fn []
278
+ (let [asked (atom [])
279
+ stub (counting-fetch)
280
+ sdk (live-sdk stub :secrets (sekopts "providers"
281
+ (vs/jt (watching-provider asked "apikey" "CUSTOM01"))))]
282
+ (client/direct sdk (vs/jm "path" "/thing"))
283
+ (credential-is (:auth (call-at stub 0)) "CUSTOM01" "custom provider")
284
+ (t/is-deep (vec @asked) ["apikey"] "asked for the configured secret name"))))
285
+
286
+ (chk "secrets-a-miss-everywhere-sends-unauthenticated"
287
+ (fn []
288
+ (let [stub (counting-fetch)
289
+ sdk (live-sdk stub :secrets (sekopts "providers" (vs/jt (miss-provider))))]
290
+ (client/direct sdk (vs/jm "path" "/thing"))
291
+ (t/is-eq (sent stub) 1 "the request still goes out")
292
+ (t/is-nil (:auth (call-at stub 0)) "no authorization header"))))
293
+
294
+ ;; ---- FAIL CLOSED: a provider ERROR is not a miss ----
295
+ ;;
296
+ ;; direct() and graphql() run NO feature hooks at all. They are covered
297
+ ;; because resolution lives at the TRANSPORT, which every wire path
298
+ ;; crosses - which is the whole reason it lives there.
299
+
300
+ (chk "secrets-provider-error-fails-direct-rather-than-sending"
301
+ (fn []
302
+ (let [stub (counting-fetch)
303
+ sdk (live-sdk stub :secrets (sekopts "providers"
304
+ (vs/jt (broken-provider "vault unreachable"))))
305
+ res (client/direct sdk (vs/jm "path" "/thing"))]
306
+ (t/is-eq (sent stub) 0
307
+ (str "a request must not go out unauthenticated because a"
308
+ " provider broke, but one reached the transport: " (wire stub)))
309
+ (t/is-eq (vs/getprop res "ok") false (str "expected a failure, got " (brief res)))
310
+ (let [err (vs/getprop res "err")]
311
+ (t/is-eq (core/err-code err) "secrets_provider" "error code")
312
+ (t/is-true (str/includes? (core/err-msg err) "vault unreachable")
313
+ (str "expected the provider's own message, got "
314
+ (pr-str (core/err-msg err)))))
315
+
316
+ ;; CONTROL, which makes that zero mean REFUSED rather than
317
+ ;; UNWIRED: the same construction with a WORKING provider must
318
+ ;; reach the same transport, once, carrying the credential.
319
+ (let [control (counting-fetch)
320
+ ok (client/direct
321
+ (live-sdk control :secrets (sekopts "providers"
322
+ (vs/jt (fixed-provider "apikey" "RAWKEY01"))))
323
+ (vs/jm "path" "/thing"))]
324
+ (t/is-eq (vs/getprop ok "ok") true (str "the control request failed: " (brief ok)))
325
+ (t/is-eq (sent control) 1
326
+ "the control request never reached system.fetch, so this test cannot observe a request going out at all")
327
+ (credential-is (:auth (call-at control 0)) "RAWKEY01" "control")))))
328
+
329
+ (chk "secrets-provider-error-fails-graphql-rather-than-sending"
330
+ (fn []
331
+ (let [stub (counting-fetch)
332
+ sdk (live-sdk stub :secrets (sekopts "providers"
333
+ (vs/jt (broken-provider "vault unreachable"))))
334
+ res (client/graphql sdk "{ thing }" nil)]
335
+ (t/is-eq (sent stub) 0
336
+ (str "a graphql request must not go out unauthenticated,"
337
+ " but one reached the transport: " (wire stub)))
338
+ (t/is-eq (vs/getprop res "ok") false (str "expected a failure, got " (brief res)))
339
+ (t/is-true (str/includes? (core/err-msg (vs/getprop res "err")) "vault unreachable")
340
+ "the provider's own message")
341
+
342
+ (let [control (counting-fetch)
343
+ ok (client/graphql
344
+ (live-sdk control :secrets (sekopts "providers"
345
+ (vs/jt (fixed-provider "apikey" "RAWKEY01"))))
346
+ "{ thing }" nil)]
347
+ (t/is-eq (vs/getprop ok "ok") true (str "the control request failed: " (brief ok)))
348
+ (t/is-eq (sent control) 1
349
+ "the control graphql request never reached system.fetch")
350
+ (credential-is (:auth (call-at control 0)) "RAWKEY01" "control")))))
351
+
352
+ (chk "secrets-provider-error-fails-the-entity-path-rather-than-sending"
353
+ (fn []
354
+ (let [stub (counting-fetch)
355
+ sdk (live-sdk stub :secrets (sekopts "providers"
356
+ (vs/jt (broken-provider "vault unreachable"))))
357
+ res (entity-op sdk "load")]
358
+ (t/is-eq (sent stub) 0
359
+ (str "an entity op must not go out unauthenticated: " (wire stub)))
360
+ (t/is-eq (:ok res) false (str "expected the op to fail, got " (:msg res)))
361
+ (t/is-true (str/includes? (str (:msg res)) "vault unreachable")
362
+ (str "expected the provider's own message, got " (pr-str (:msg res))))
363
+
364
+ (let [control (counting-fetch)
365
+ ok (entity-op
366
+ (live-sdk control :secrets (sekopts "providers"
367
+ (vs/jt (fixed-provider "apikey" "RAWKEY01"))))
368
+ "load")]
369
+ (t/is-eq (:ok ok) true (str "the control entity op failed: " (:msg ok)))
370
+ (t/is-eq (sent control) 1
371
+ "the control entity op never reached system.fetch, so this test cannot observe a request going out at all")
372
+ (credential-is (:auth (call-at control 0)) "RAWKEY01" "control")))))
373
+
374
+ ;; A FAILED RESOLUTION IS NEVER CACHED. Holding one would mean a
375
+ ;; transient vault outage poisoned the client permanently - every later
376
+ ;; operation failing with the original error long after it recovered.
377
+ (chk "secrets-a-failed-resolution-is-never-cached"
378
+ (fn []
379
+ (let [broken (atom true)
380
+ flaky (reify provider/Provider
381
+ (lookup [_ n]
382
+ (when @broken (throw (sekreto/sekretoerror "vault unreachable")))
383
+ (when (= n "apikey") "RECOVERED01"))
384
+ (describe [_] "flaky:test"))
385
+ stub (counting-fetch)
386
+ sdk (live-sdk stub :secrets (sekopts "providers" (vs/jt flaky)))]
387
+ (t/is-eq (vs/getprop (client/direct sdk (vs/jm "path" "/thing")) "ok") false "first op fails")
388
+ (t/is-eq (sent stub) 0 (str "nothing on the wire: " (wire stub)))
389
+ (reset! broken false)
390
+ (let [res (client/direct sdk (vs/jm "path" "/thing"))]
391
+ (t/is-eq (vs/getprop res "ok") true (str "second op should recover: " (brief res)))
392
+ (t/is-eq (sent stub) 1 "the recovered op reaches the wire")
393
+ (credential-is (:auth (call-at stub 0)) "RECOVERED01" "recovered")))))
394
+
395
+ ;; ---- DECLARATIVE SPECS, IN BOTH SPELLINGS ----
396
+ ;;
397
+ ;; The option pipeline delivers string-keyed struct maps; a caller may
398
+ ;; also hand a Clojure keyword-keyed map straight in. sekreto reads a
399
+ ;; spec with KEYWORD keys, so both have to arrive as one.
400
+
401
+ (chk "secrets-accepts-a-struct-map-provider-spec"
402
+ (fn []
403
+ (let [stub (counting-fetch)
404
+ sdk (live-sdk stub :secrets
405
+ (sekopts "providers"
406
+ (vs/jt (vs/jm "kind" "memory" "name" "local"
407
+ "values" (vs/jm "APIKEY" "MEMKEY01")))))]
408
+ (client/direct sdk (vs/jm "path" "/thing"))
409
+ (credential-is (:auth (call-at stub 0)) "MEMKEY01" "struct-map spec"))))
410
+
411
+ ;; A KEYWORD-keyed spec does not survive option validation - it arrives
412
+ ;; as {":kind" nil}, keys renamed and values dropped. That is refused at
413
+ ;; the chain build and the transport gate REFUSES THE REQUEST: a
414
+ ;; misconfigured chain must never degrade into an unauthenticated send,
415
+ ;; and the message has to name the mistake rather than surface as
416
+ ;; "unknown provider kind: " with an empty kind.
417
+ (chk "secrets-a-keyword-keyed-spec-fails-closed-with-a-clear-message"
418
+ (fn []
419
+ (let [stub (counting-fetch)
420
+ sdk (live-sdk stub :secrets
421
+ (sekopts "providers"
422
+ (vs/jt {:kind "memory" :name "local"
423
+ :values {"APIKEY" "KWKEY01"}})))
424
+ res (client/direct sdk (vs/jm "path" "/thing"))]
425
+ (t/is-eq (vs/getprop res "ok") false (str "expected a failure, got " (brief res)))
426
+ (t/is-eq (sent stub) 0
427
+ (str "nothing may reach the wire on a broken chain: " (wire stub)))
428
+ (t/is-true (str/includes? (core/err-msg (vs/getprop res "err"))
429
+ "unusable provider chain entry")
430
+ (str "expected the chain-entry message, got "
431
+ (pr-str (core/err-msg (vs/getprop res "err"))))))))
432
+
433
+ ;; ---- THE CACHE OPTION MEANS WHAT IT SAYS ----
434
+
435
+ (chk "secrets-cache-true-asks-the-chain-once"
436
+ (fn []
437
+ (let [n (atom 0)
438
+ rotating (reify provider/Provider
439
+ (lookup [_ _] (str "ROT0" (swap! n inc)))
440
+ (describe [_] "rotating:test"))
441
+ stub (counting-fetch)
442
+ sdk (live-sdk stub :secrets (sekopts "providers" (vs/jt rotating)))]
443
+ (client/direct sdk (vs/jm "path" "/thing"))
444
+ (client/direct sdk (vs/jm "path" "/thing"))
445
+ (t/is-eq (sent stub) 2 "two requests")
446
+ (credential-is (:auth (call-at stub 0)) "ROT01" "first")
447
+ (credential-is (:auth (call-at stub 1)) "ROT01" "cached"))))
448
+
449
+ (chk "secrets-cache-false-asks-the-chain-every-request"
450
+ (fn []
451
+ (let [n (atom 0)
452
+ rotating (reify provider/Provider
453
+ (lookup [_ _] (str "ROT0" (swap! n inc)))
454
+ (describe [_] "rotating:test"))
455
+ stub (counting-fetch)
456
+ sdk (live-sdk stub :secrets (sekopts "cache" false
457
+ "providers" (vs/jt rotating)))]
458
+ (client/direct sdk (vs/jm "path" "/thing"))
459
+ (client/direct sdk (vs/jm "path" "/thing"))
460
+ (t/is-eq (sent stub) 2 "two requests")
461
+ (credential-is (:auth (call-at stub 0)) "ROT01" "first")
462
+ (credential-is (:auth (call-at stub 1)) "ROT02" "asked again"))))
463
+
464
+ ;; ---- auth: nil SUPPRESSES, chain or no chain ----
465
+
466
+ (chk "secrets-auth-nil-suppresses-the-credential"
467
+ (fn []
468
+ (let [stub (counting-fetch)
469
+ sdk (live-sdk stub :apikey "OPTKEY01" :auth-nil true
470
+ :secrets (sekopts "providers"
471
+ (vs/jt (fixed-provider "apikey" "CHAINKEY01"))))]
472
+ (client/direct sdk (vs/jm "path" "/thing"))
473
+ (t/is-eq (sent stub) 1 "the request still goes out")
474
+ (t/is-nil (:auth (call-at stub 0))
475
+ "nothing on the wire, even though the chain resolved")
476
+ ;; The suppression SURVIVES option validation rather than being
477
+ ;; replaced by the optspec's default auth map.
478
+ (t/is-nil (vs/getprop (client/options-map sdk) "auth")
479
+ "options.auth is a present null"))))
480
+
481
+ ;; ---- THE ACCESS-TOKEN EXCHANGE ----
482
+
483
+ (let [tokenpath "auth/token"
484
+ tokenurl (str BASE "/" tokenpath)
485
+ xopts (fn [] (vs/jm "active" true "path" tokenpath "method" "POST"
486
+ "request" "refresh_token" "response" "access_token"
487
+ "statuses" (vs/jt 401) "retries" 1))
488
+ xsecrets (fn [] (sekopts "name" "refresh_token"
489
+ "providers" (vs/jt (fixed-provider "refresh_token" "REFRESH01"))
490
+ "exchange" (xopts)))]
491
+
492
+ (chk "secrets-exchange-buys-a-token-and-retries-a-spent-one"
493
+ (fn []
494
+ (let [issued (atom 0)
495
+ apicalls (atom 0)
496
+ stub (counting-fetch
497
+ (fn [_n url _fd]
498
+ (if (str/ends-with? url tokenpath)
499
+ [(response 200 (vs/jm "access_token"
500
+ (str "ACCESS0" (swap! issued inc)))) nil]
501
+ (if (= 1 (swap! apicalls inc))
502
+ [(response 401 (vs/jm "err" "expired")) nil]
503
+ [(response 200 (vs/jm "ok" true)) nil]))))
504
+ sdk (live-sdk stub :secrets (xsecrets))
505
+ res (client/direct sdk (vs/jm "path" "/thing"))]
506
+ (t/is-eq (vs/getprop res "ok") true (str "direct failed: " (brief res)))
507
+ (t/is-eq (sent stub) 4 (str "token, 401, token, retry: " (wire stub)))
508
+ (t/is-eq @issued 2 "two tokens issued")
509
+
510
+ ;; The token endpoint is base + '/' + exchange.path, and the
511
+ ;; refresh credential is MARSHALLED into the body.
512
+ (let [buy (call-at stub 0)]
513
+ (t/is-eq (:url buy) tokenurl "token endpoint URL")
514
+ (t/is-eq (:method buy) "POST" "token endpoint method")
515
+ (t/is-eq (vs/getprop (core/json-parse (str (:body buy))) "refresh_token")
516
+ "REFRESH01" "marshalled refresh token"))
517
+
518
+ (credential-is (:auth (call-at stub 1)) "ACCESS01" "attempt 1")
519
+ (credential-is (:auth (call-at stub 3)) "ACCESS02" "the retry"))))
520
+
521
+ (chk "secrets-exchange-with-auth-nil-never-retries"
522
+ (fn []
523
+ (let [stub (counting-fetch
524
+ (fn [_n url _fd]
525
+ (if (str/ends-with? url tokenpath)
526
+ [(response 200 (vs/jm "access_token" "ACCESS01")) nil]
527
+ [(response 401 (vs/jm "err" "expired")) nil])))
528
+ sdk (live-sdk stub :auth-nil true :secrets (xsecrets))]
529
+ (client/direct sdk (vs/jm "path" "/thing"))
530
+ ;; The token was bought at resolution, and the API request
531
+ ;; went out ONCE: a deliberately unauthenticated request that
532
+ ;; is refused is not an expired token.
533
+ (t/is-eq (sent stub) 2 (str "token + one API call only: " (wire stub)))
534
+ (t/is-nil (:auth (call-at stub 1)) "no authorization header"))))
535
+
536
+ (chk "secrets-exchange-with-no-refresh-token-fails-closed"
537
+ (fn []
538
+ (let [stub (counting-fetch)
539
+ sdk (live-sdk stub :secrets (sekopts "name" "refresh_token"
540
+ "providers" (vs/jt (miss-provider))
541
+ "exchange" (xopts)))
542
+ res (client/direct sdk (vs/jm "path" "/thing"))]
543
+ (t/is-eq (vs/getprop res "ok") false (str "expected a failure, got " (brief res)))
544
+ (t/is-eq (sent stub) 0
545
+ (str "nothing may reach the wire without a credential: " (wire stub)))
546
+ (t/is-true (str/includes? (core/err-msg (vs/getprop res "err")) "no refresh token")
547
+ "the missing-refresh-token message")))))))