@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.
- package/bin/voxgig-sdkgen +1 -1
- package/dist/helpers/manifest.d.ts +2 -1
- package/dist/helpers/manifest.js +75 -1
- package/dist/helpers/manifest.js.map +1 -1
- package/dist/helpers/modelNames.d.ts +7 -0
- package/dist/helpers/modelNames.js +232 -0
- package/dist/helpers/modelNames.js.map +1 -0
- package/dist/helpers/naming.d.ts +2 -1
- package/dist/helpers/naming.js +45 -1
- package/dist/helpers/naming.js.map +1 -1
- package/dist/sdkgen.d.ts +3 -2
- package/dist/sdkgen.js +12 -3
- package/dist/sdkgen.js.map +1 -1
- package/dist/testkit.d.ts +2 -0
- package/dist/testkit.js +80 -24
- package/dist/testkit.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utility.js +17 -7
- package/dist/utility.js.map +1 -1
- package/package.json +1 -1
- package/project/.sdk/model/feature/secrets.aon +671 -0
- package/project/.sdk/model/target/clojure.aon +10 -0
- package/project/.sdk/model/target/csharp.aon +5 -0
- package/project/.sdk/model/target/elixir.aon +6 -0
- package/project/.sdk/model/target/java.aon +5 -0
- package/project/.sdk/model/target/js.aon +5 -0
- package/project/.sdk/model/target/kotlin.aon +7 -0
- package/project/.sdk/model/target/perl.aon +5 -0
- package/project/.sdk/model/target/php.aon +5 -0
- package/project/.sdk/model/target/rb.aon +5 -0
- package/project/.sdk/model/target/rust.aon +5 -0
- package/project/.sdk/model/target/scala.aon +38 -2
- package/project/.sdk/model/target/swift.aon +10 -0
- package/project/.sdk/model/target/zig.aon +9 -0
- package/project/.sdk/src/cmp/clojure/Config_clojure.ts +51 -4
- package/project/.sdk/src/cmp/clojure/Main_clojure.ts +43 -1
- package/project/.sdk/src/cmp/clojure/Package_clojure.ts +17 -1
- package/project/.sdk/src/cmp/clojure/featureextra_clojure.ts +130 -0
- package/project/.sdk/src/cmp/csharp/Config_csharp.ts +70 -0
- package/project/.sdk/src/cmp/csharp/Main_csharp.ts +9 -1
- package/project/.sdk/src/cmp/csharp/Package_csharp.ts +25 -1
- package/project/.sdk/src/cmp/elixir/Config_elixir.ts +68 -2
- package/project/.sdk/src/cmp/elixir/Main_elixir.ts +16 -0
- package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +14 -1
- package/project/.sdk/src/cmp/java/Config_java.ts +84 -2
- package/project/.sdk/src/cmp/java/Main_java.ts +10 -1
- package/project/.sdk/src/cmp/js/Config_js.ts +75 -8
- package/project/.sdk/src/cmp/js/Main_js.ts +66 -2
- package/project/.sdk/src/cmp/js/fragment/Config.data.fragment.js +18 -1
- package/project/.sdk/src/cmp/js/fragment/Config.fragment.js +18 -1
- package/project/.sdk/src/cmp/js/fragment/Main.fragment.js +7 -0
- package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +63 -1
- package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +32 -2
- package/project/.sdk/src/cmp/perl/Config_perl.ts +129 -3
- package/project/.sdk/src/cmp/perl/Main_perl.ts +41 -1
- package/project/.sdk/src/cmp/perl/Package_perl.ts +13 -1
- package/project/.sdk/src/cmp/perl/fragment/Main.fragment.pm +1 -0
- package/project/.sdk/src/cmp/php/Config_php.ts +105 -1
- package/project/.sdk/src/cmp/php/Gitignore_php.ts +4 -2
- package/project/.sdk/src/cmp/php/Main_php.ts +16 -1
- package/project/.sdk/src/cmp/rb/Config_rb.ts +92 -2
- package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +11 -1
- package/project/.sdk/src/cmp/rb/Main_rb.ts +7 -1
- package/project/.sdk/src/cmp/rust/Main_rust.ts +99 -1
- package/project/.sdk/src/cmp/rust/Package_rust.ts +72 -6
- package/project/.sdk/src/cmp/scala/Config_scala.ts +44 -0
- package/project/.sdk/src/cmp/scala/Main_scala.ts +68 -1
- package/project/.sdk/src/cmp/swift/Config_swift.ts +62 -1
- package/project/.sdk/src/cmp/swift/Main_swift.ts +35 -1
- package/project/.sdk/src/cmp/swift/Package_swift.ts +81 -11
- package/project/.sdk/src/cmp/swift/fragment/Main.fragment.swift +58 -44
- package/project/.sdk/src/cmp/swift/utility_swift.ts +22 -0
- package/project/.sdk/src/cmp/zig/Package_zig.ts +15 -11
- package/project/.sdk/src/cmp/zig/fragment/Entity.fragment.zig +3 -3
- package/project/.sdk/src/cmp/zig/fragment/EntityListOp.fragment.zig +3 -3
- package/project/.sdk/src/cmp/zig/fragment/Main.fragment.zig +3 -3
- package/project/.sdk/src/cmp/zig/utility_zig.ts +50 -1
- package/project/.sdk/tm/c/tests/vendor/omni/json.c +2 -2
- package/project/.sdk/tm/c/tests/vendor/omni/omni.h +2 -2
- package/project/.sdk/tm/c/tests/vendor/omni/runner.c +2 -2
- package/project/.sdk/tm/c/tests/vendor/omni/util.c +2 -2
- package/project/.sdk/tm/clojure/Makefile +3 -0
- package/project/.sdk/tm/clojure/feature/secrets/sdk/feature/secrets.clj +503 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/capability.clj +84 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/catalog.clj +44 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/config.clj +240 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/depend.clj +199 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/env.clj +111 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/export.clj +46 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/graph.clj +122 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/host.clj +1018 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/json.clj +106 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/order.clj +157 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/point.clj +77 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/ref.clj +92 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/resolve.clj +46 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/types.clj +177 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/version.clj +90 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin.clj +40 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/addr.clj +111 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/chain.clj +297 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/core.clj +192 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/json.clj +261 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/aws.clj +165 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/azuresecrets.clj +111 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/boru.clj +107 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/doppler.clj +61 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/gcpsecrets.clj +88 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/hashicorp.clj +115 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/httpjson.clj +214 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/infisical.clj +80 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/onepassword.clj +93 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/proc.clj +63 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/secretspec.clj +99 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/sigv4.clj +142 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/provider.clj +25 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/providers.clj +196 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto.clj +113 -0
- package/project/.sdk/tm/clojure/src/sdk/core.clj +9 -0
- package/project/.sdk/tm/clojure/src/sdk/features.clj +13 -1
- package/project/.sdk/tm/clojure/test/sdk/test/feature/secrets.clj +547 -0
- package/project/.sdk/tm/clojure/test/sdk/test_runner.clj +103 -14
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/json.clj +2 -2
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/runner.clj +2 -2
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/util.clj +2 -2
- package/project/.sdk/tm/cpp/test/vendor/omni/json.hpp +2 -2
- package/project/.sdk/tm/cpp/test/vendor/omni/omni.hpp +2 -2
- package/project/.sdk/tm/cpp/test/vendor/omni/util.hpp +2 -2
- package/project/.sdk/tm/csharp/feature/SecretsFeature.cs +889 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Capability.cs +196 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Catalog.cs +70 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Config.cs +505 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Definition.cs +52 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Depend.cs +285 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Entry.cs +55 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Env.cs +228 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Export.cs +102 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Graph.cs +256 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Host.cs +1379 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Inst.cs +177 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Json.cs +326 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Order.cs +295 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Plugin.cs +113 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Point.cs +177 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Refs.cs +198 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Resolve.cs +95 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Types.cs +351 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Version.cs +196 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Aws.cs +325 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/AzureSecrets.cs +195 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Boru.cs +192 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Child.cs +75 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Doppler.cs +112 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/GcpSecrets.cs +167 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Hashicorp.cs +221 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/HttpJson.cs +213 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Infisical.cs +155 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/OnePassword.cs +169 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/SecretSpec.cs +172 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Sigv4.cs +240 -0
- package/project/.sdk/tm/csharp/feature/secrets/sekreto/Json.cs +192 -0
- package/project/.sdk/tm/csharp/feature/secrets/sekreto/Providers.cs +503 -0
- package/project/.sdk/tm/csharp/feature/secrets/sekreto/Sekreto.cs +775 -0
- package/project/.sdk/tm/csharp/test/feature/secrets/SecretsFeatureTest.cs +1702 -0
- package/project/.sdk/tm/csharp/test/vendor/omni/Runner.cs +2 -2
- package/project/.sdk/tm/csharp/test/vendor/omni/Util.cs +2 -2
- package/project/.sdk/tm/csharp/utility/MakeOptions.cs +10 -0
- package/project/.sdk/tm/csharp/utility/struct/Struct.cs +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/capability.ex +118 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/catalog.ex +56 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/config.ex +320 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/depend.ex +205 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/env.ex +166 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/error.ex +13 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/export.ex +73 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/graph.ex +185 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/host.ex +1182 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/inst.ex +139 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/json.ex +132 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/order.ex +179 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/point.ex +99 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/ref.ex +129 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/resolve.ex +59 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/types.ex +190 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/version.ex +136 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/voxgig_plugin.ex +42 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/json.ex +368 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/aws.ex +257 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/azuresecrets.ex +160 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/boru.ex +127 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/doppler.ex +96 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/gcpsecrets.ex +124 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/hashicorp.ex +162 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/http.ex +627 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/httpjson.ex +134 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/infisical.ex +125 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/onepassword.ex +152 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/proc.ex +80 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/secretspec.ex +101 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/sigv4.ex +176 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/provider.ex +67 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/providers.ex +536 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/sekreto.ex +662 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets.ex +824 -0
- package/project/.sdk/tm/elixir/test/feature/secrets/secrets_test.exs +1072 -0
- package/project/.sdk/tm/elixir/test/vendor/omni/json.ex +2 -2
- package/project/.sdk/tm/elixir/test/vendor/omni/runner.ex +2 -2
- package/project/.sdk/tm/elixir/test/vendor/omni/util.ex +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugin/capability.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/catalog.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/config.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/depend.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/env.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/export.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/graph.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/host.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/order.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/point.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/ref.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/resolve.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/types.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/util.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/version.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugins/aws/aws.go +4 -4
- package/project/.sdk/tm/go/feature/secrets/plugins/aws/sigv4.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugins/azuresecrets/azuresecrets.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugins/boru/boru.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugins/doppler/doppler.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugins/gcpsecrets/gcpsecrets.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugins/hashicorp/hashicorp.go +4 -5
- package/project/.sdk/tm/go/feature/secrets/plugins/httpjson/httpjson.go +3 -3
- package/project/.sdk/tm/go/feature/secrets/plugins/infisical/infisical.go +3 -4
- package/project/.sdk/tm/go/feature/secrets/plugins/onepassword/onepassword.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugins/secretspec/secretspec.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/sekreto/addr.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/sekreto/providers.go +5 -2
- package/project/.sdk/tm/go/feature/secrets/sekreto/sekreto.go +31 -2
- package/project/.sdk/tm/go/feature/secrets_feature.go +16 -0
- package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +123 -0
- package/project/.sdk/tm/go/test/omni/omni.go +8 -3
- package/project/.sdk/tm/go/test/omni/util.go +25 -4
- package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +1 -1
- package/project/.sdk/tm/java/feature/SecretsFeature.java +766 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Capability.java +181 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Catalog.java +64 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Config.java +433 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Definition.java +54 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Depend.java +292 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Entry.java +49 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Env.java +204 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Export.java +93 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Graph.java +244 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Host.java +1196 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Inst.java +173 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Json.java +339 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Order.java +274 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Plugin.java +94 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/PluginException.java +37 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Point.java +172 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Refs.java +171 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Resolve.java +89 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Types.java +232 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Version.java +198 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/Addr.java +142 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/Builtins.java +229 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/Json.java +302 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/Provider.java +21 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/Sekreto.java +698 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/Support.java +100 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Aws.java +294 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Azuresecrets.java +164 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Boru.java +161 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Doppler.java +103 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Gcpsecrets.java +143 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Hashicorp.java +186 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Httpjson.java +192 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Infisical.java +139 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Onepassword.java +143 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Proc.java +80 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Secretspec.java +138 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Sigv4.java +243 -0
- package/project/.sdk/tm/java/test/feature/secrets/SecretsFeatureTest.java +986 -0
- package/project/.sdk/tm/java/test/vendor/omni/Json.java +2 -2
- package/project/.sdk/tm/java/test/vendor/omni/Runner.java +2 -2
- package/project/.sdk/tm/java/test/vendor/omni/Util.java +2 -2
- package/project/.sdk/tm/java/utility/MakeOptions.java +7 -0
- package/project/.sdk/tm/java/utility/struct/Struct.java +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/SecretsFeature.js +431 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/capability.js +119 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/catalog.js +42 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/config.js +323 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/depend.js +196 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/env.js +120 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/export.js +48 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/graph.js +150 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/host.js +949 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/index.js +35 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/order.js +165 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/point.js +94 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/ref.js +106 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/resolve.js +59 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/types.js +79 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/version.js +100 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/Sekreto.js +574 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/index.js +56 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/aws.js +188 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/azuresecrets.js +135 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/boru.js +128 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/doppler.js +67 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/gcpsecrets.js +115 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/hashicorp.js +139 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/httpjson.js +93 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/infisical.js +99 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/onepassword.js +111 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/secretspec.js +105 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/sigv4.js +157 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/addr.js +119 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/builtin.js +39 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/dotenv.js +40 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/env.js +21 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/file.js +42 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/memory.js +18 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/support.js +151 -0
- package/project/.sdk/tm/js/src/utility/StructUtility.js +2 -2
- package/project/.sdk/tm/js/test/feature/secrets/Secrets.test.js +946 -0
- package/project/.sdk/tm/js/test/vendor/omni/index.js +1 -1
- package/project/.sdk/tm/js/test/vendor/omni/runner.js +18 -3
- package/project/.sdk/tm/js/test/vendor/omni/util.js +25 -8
- package/project/.sdk/tm/kotlin/feature/SecretsFeature.kt +659 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Capability.kt +117 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Catalog.kt +40 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Config.kt +322 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Depend.kt +227 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Env.kt +163 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Export.kt +57 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Graph.kt +179 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Host.kt +1131 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Json.kt +241 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Order.kt +180 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Plugin.kt +64 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Point.kt +124 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Refs.kt +125 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Resolve.kt +66 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Types.kt +171 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Version.kt +132 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Json.kt +359 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Provider.kt +21 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Providers.kt +308 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Sekreto.kt +525 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Spec.kt +126 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Support.kt +205 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Aws.kt +251 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Azuresecrets.kt +145 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Boru.kt +130 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Doppler.kt +77 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Gcpsecrets.kt +119 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Hashicorp.kt +156 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Httpjson.kt +219 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Infisical.kt +114 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Onepassword.kt +114 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Secretspec.kt +118 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Sigv4.kt +220 -0
- package/project/.sdk/tm/kotlin/test/feature/secrets/SecretsTest.kt +1148 -0
- package/project/.sdk/tm/kotlin/test/vendor/omni/Json.kt +2 -2
- package/project/.sdk/tm/kotlin/test/vendor/omni/Runner.kt +2 -2
- package/project/.sdk/tm/kotlin/test/vendor/omni/Util.kt +2 -2
- package/project/.sdk/tm/kotlin/utility/struct/Struct.kt +1 -1
- package/project/.sdk/tm/lua/test/vendor/omni/json.lua +2 -2
- package/project/.sdk/tm/lua/test/vendor/omni/regex.lua +2 -2
- package/project/.sdk/tm/lua/test/vendor/omni/runner.lua +2 -2
- package/project/.sdk/tm/lua/test/vendor/omni/util.lua +2 -2
- package/project/.sdk/tm/lua/utility/struct/regex.lua +1 -1
- package/project/.sdk/tm/lua/utility/struct/struct.lua +1 -1
- package/project/.sdk/tm/ocaml/test/vendor/omni/omni.ml +2 -2
- package/project/.sdk/tm/perl/Makefile +6 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Capability.pm +141 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Catalog.pm +65 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Config.pm +346 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Depend.pm +216 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Env.pm +176 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Export.pm +59 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Graph.pm +157 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Host.pm +1139 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Order.pm +187 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Point.pm +100 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Ref.pm +119 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Resolve.pm +71 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Types.pm +251 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Version.pm +122 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin.pm +70 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Aws.pm +263 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Azuresecrets.pm +159 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Boru.pm +180 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Doppler.pm +92 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Gcpsecrets.pm +138 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Hashicorp.pm +213 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Httpjson.pm +173 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Infisical.pm +132 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Onepassword.pm +132 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Proc.pm +102 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Secretspec.pm +132 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Sigv4.pm +190 -0
- package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Addr.pm +124 -0
- package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Providers.pm +301 -0
- package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto.pm +605 -0
- package/project/.sdk/tm/perl/feature/secrets_feature.pm +675 -0
- package/project/.sdk/tm/perl/lib/Voxgig/Struct.pm +1 -1
- package/project/.sdk/tm/perl/t/feature/secrets/secrets.t +957 -0
- package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Runner.pm +1 -1
- package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Util.pm +1 -1
- package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni.pm +1 -1
- package/project/.sdk/tm/php/feature/SecretsFeature.php +670 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Capability.php +226 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Catalog.php +75 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Config.php +444 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Depend.php +262 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Env.php +202 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Export.php +74 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Graph.php +195 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Host.php +1514 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Order.php +260 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Point.php +129 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Ref.php +169 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Resolve.php +79 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Types.php +348 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Version.php +163 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/plugin.php +40 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/aws.php +274 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/azuresecrets.php +170 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/boru.php +163 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/doppler.php +106 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/gcpsecrets.php +144 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/hashicorp.php +194 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/httpjson.php +113 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/infisical.php +131 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/onepassword.php +150 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/runcmd.php +101 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/secretspec.php +146 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/sigv4.php +161 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/src/Addr.php +129 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/src/Providers.php +322 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/src/Sekreto.php +724 -0
- package/project/.sdk/tm/php/test/feature/secrets/SecretsTest.php +1067 -0
- package/project/.sdk/tm/php/test/vendor/omni/Runner.php +2 -2
- package/project/.sdk/tm/php/test/vendor/omni/Util.php +2 -2
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/__init__.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/capability.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/catalog.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/config.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/depend.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/env.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/export.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/graph.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/host.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/order.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/point.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/ref.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/resolve.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/types.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/version.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/__init__.py +4 -2
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/addr.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/aws.py +3 -3
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/azuresecrets.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/boru.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/doppler.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/hashicorp.py +3 -4
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/httpjson.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/infisical.py +4 -6
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/onepassword.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/secretspec.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/sigv4.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/providers.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/sekreto.py +21 -1
- package/project/.sdk/tm/py/pkg/utility/voxgig_struct/voxgig_struct.py +1 -1
- package/project/.sdk/tm/py/test/voxgig_omni/__init__.py +1 -1
- package/project/.sdk/tm/py/test/voxgig_omni/runner.py +16 -2
- package/project/.sdk/tm/py/test/voxgig_omni/util.py +27 -12
- package/project/.sdk/tm/rb/Makefile +7 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/capability.rb +118 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/catalog.rb +55 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/config.rb +315 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/depend.rb +197 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/env.rb +143 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/export.rb +52 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/graph.rb +147 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/host.rb +1079 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/order.rb +169 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/point.rb +93 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/ref.rb +112 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/resolve.rb +56 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/types.rb +99 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/version.rb +106 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin.rb +24 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/addr.rb +111 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/aws.rb +200 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/azuresecrets.rb +130 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/boru.rb +121 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/doppler.rb +66 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.rb +107 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/hashicorp.rb +137 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/httpjson.rb +136 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/infisical.rb +97 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/onepassword.rb +104 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/secretspec.rb +113 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/sigv4.rb +127 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/providers.rb +210 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/sekreto.rb +465 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto.rb +30 -0
- package/project/.sdk/tm/rb/feature/secrets_feature.rb +561 -0
- package/project/.sdk/tm/rb/test/feature/secrets/secrets_feature_test.rb +842 -0
- package/project/.sdk/tm/rb/test/vendor/omni/runner.rb +2 -2
- package/project/.sdk/tm/rb/test/vendor/omni/util.rb +2 -2
- package/project/.sdk/tm/rb/test/vendor/omni/voxgig_omni.rb +2 -2
- package/project/.sdk/tm/rust/feature/secrets/plugin/capability.rs +130 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/catalog.rs +114 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/config.rs +416 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/depend.rs +245 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/env.rs +200 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/export.rs +90 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/graph.rs +231 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/host.rs +1565 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/mod.rs +18 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/order.rs +226 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/point.rs +137 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/refs.rs +148 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/resolve.rs +83 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/types.rs +132 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/value.rs +433 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/version.rs +174 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/aws/crypto.rs +146 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/aws/sigv4.rs +230 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/aws.rs +328 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/azuresecrets.rs +184 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/boru.rs +172 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/doppler.rs +102 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/gcpsecrets.rs +153 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/hashicorp.rs +228 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/http.rs +537 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/json.rs +300 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson.rs +137 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/infisical.rs +148 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/onepassword.rs +165 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/secretspec.rs +150 -0
- package/project/.sdk/tm/rust/feature/secrets/sekreto/addr.rs +144 -0
- package/project/.sdk/tm/rust/feature/secrets/sekreto/mod.rs +51 -0
- package/project/.sdk/tm/rust/feature/secrets/sekreto/providers.rs +637 -0
- package/project/.sdk/tm/rust/feature/secrets/sekreto/sekreto.rs +677 -0
- package/project/.sdk/tm/rust/feature/secrets.rs +961 -0
- package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +1509 -0
- package/project/.sdk/tm/rust/tests/vendor/omni/json.rs +2 -2
- package/project/.sdk/tm/rust/tests/vendor/omni/mod.rs +2 -2
- package/project/.sdk/tm/rust/tests/vendor/omni/regex.rs +2 -2
- package/project/.sdk/tm/rust/tests/vendor/omni/runner.rs +2 -2
- package/project/.sdk/tm/rust/tests/vendor/omni/util.rs +2 -2
- package/project/.sdk/tm/scala/Makefile +8 -3
- package/project/.sdk/tm/scala/feature/SecretsFeature.scala +556 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Capability.scala +96 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Config.scala +270 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Depend.scala +216 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Env.scala +144 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Export.scala +59 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Graph.scala +149 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Host.scala +1089 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Json.scala +156 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Order.scala +169 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Plugin.scala +47 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Point.scala +107 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Refs.scala +131 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Resolve.scala +53 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Types.scala +110 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Value.scala +157 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Version.scala +136 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Json.scala +302 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Provider.scala +20 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Providers.scala +281 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Sekreto.scala +473 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Spec.scala +123 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Support.scala +216 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Aws.scala +225 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Azuresecrets.scala +124 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Boru.scala +104 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Doppler.scala +68 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Gcpsecrets.scala +97 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Hashicorp.scala +131 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Httpjson.scala +209 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Infisical.scala +98 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Onepassword.scala +90 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Secretspec.scala +95 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Sigv4.scala +214 -0
- package/project/.sdk/tm/scala/sdktest/feature/secrets/SecretsTestMain.scala +971 -0
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Json.scala +2 -2
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Runner.scala +2 -2
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Util.scala +2 -2
- package/project/.sdk/tm/scala/utility/Make.scala +7 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/SecretsFeature.swift +669 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Capability.swift +98 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Catalog.swift +87 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Config.swift +298 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Depend.swift +209 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Env.swift +191 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Export.swift +63 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Graph.swift +158 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Host.swift +1141 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Json.swift +192 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Order.swift +183 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Point.swift +130 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Refs.swift +141 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Resolve.swift +59 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Types.swift +125 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Value.swift +198 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Version.swift +139 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Aws.swift +271 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Azuresecrets.swift +173 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Boru.swift +139 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Crypto.swift +198 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Doppler.swift +86 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Gcpsecrets.swift +129 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Hashicorp.swift +175 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Httpjson.swift +310 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Infisical.swift +140 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Onepassword.swift +118 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Proc.swift +105 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Secretspec.swift +111 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Sigv4.swift +297 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Addr.swift +120 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Json.swift +452 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Provider.swift +25 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Providers.swift +689 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Sekreto.swift +755 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/MakeOptions.swift +9 -0
- package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/PrimaryUtilityTest.swift +30 -0
- package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/feature/secrets/SecretsFeatureTest.swift +1030 -0
- package/project/.sdk/tm/swift/Tests/vendor/omni/Json.swift +2 -2
- package/project/.sdk/tm/swift/Tests/vendor/omni/Runner.swift +2 -2
- package/project/.sdk/tm/swift/Tests/vendor/omni/Util.swift +2 -2
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Capability.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Catalog.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Config.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Depend.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Env.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Export.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/FeatureHost.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Graph.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Host.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Order.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Point.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Ref.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Resolve.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Types.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Version.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/index.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/Sekreto.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/index.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/aws.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/azuresecrets.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/boru.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/doppler.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/gcpsecrets.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/hashicorp.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/httpjson.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/infisical.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/onepassword.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/secretspec.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/sigv4.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/addr.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/builtin.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/dotenv.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/env.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/file.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/memory.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/support.ts +1 -1
- package/project/.sdk/tm/ts/src/utility/StructUtility.ts +2 -2
- package/project/.sdk/tm/ts/test/vendor/omni/Runner.ts +1 -1
- package/project/.sdk/tm/ts/test/vendor/omni/Util.ts +1 -1
- package/project/.sdk/tm/ts/test/vendor/omni/index.ts +1 -1
- package/project/.sdk/tm/zig/Makefile +15 -1
- package/project/.sdk/tm/zig/build.zig +23 -5
- package/project/.sdk/tm/zig/core/helpers.zig +52 -11
- package/project/.sdk/tm/zig/core/mem.zig +17 -1
- package/project/.sdk/tm/zig/core/utility.zig +23 -19
- package/project/.sdk/tm/zig/feature/audit.zig +2 -2
- package/project/.sdk/tm/zig/feature/cache.zig +2 -2
- package/project/.sdk/tm/zig/feature/debug.zig +5 -5
- package/project/.sdk/tm/zig/feature/netsim.zig +2 -2
- package/project/.sdk/tm/zig/feature/paging.zig +2 -2
- package/project/.sdk/tm/zig/feature/proxy.zig +15 -8
- package/project/.sdk/tm/zig/feature/streaming.zig +5 -5
- package/project/.sdk/tm/zig/feature/support.zig +3 -3
- package/project/.sdk/tm/zig/feature/telemetry.zig +5 -5
- package/project/.sdk/tm/zig/feature/test.zig +10 -5
- package/project/.sdk/tm/zig/test/fh.zig +10 -10
- package/project/.sdk/tm/zig/test/gotcha_test.zig +5 -5
- package/project/.sdk/tm/zig/test/omniresolver.zig +515 -0
- package/project/.sdk/tm/zig/test/omnismoke_test.zig +284 -0
- package/project/.sdk/tm/zig/test/pipeline_test.zig +8 -8
- package/project/.sdk/tm/zig/test/primary_utility_test.zig +144 -154
- package/project/.sdk/tm/zig/test/struct_corpus.zig +264 -187
- package/project/.sdk/tm/zig/test/vendor/omni/omni.zig +1314 -0
- package/project/.sdk/tm/zig/test/vendor/omni/regex.zig +446 -0
- package/project/.sdk/tm/zig/utility/voxgigstruct/regex.zig +7 -4
- package/project/.sdk/tm/zig/utility/voxgigstruct/struct.zig +356 -157
- package/project/sdkgen-package.json +1 -4
- package/src/helpers/manifest.ts +81 -1
- package/src/helpers/modelNames.ts +284 -0
- package/src/helpers/naming.ts +45 -1
- package/src/sdkgen.ts +11 -1
- package/src/testkit.ts +115 -26
- package/src/utility.ts +17 -7
- package/project/.sdk/model/target/dart.aon +0 -58
- package/project/.sdk/model/target/lean.aon +0 -91
- package/project/.sdk/model/target/seneca-provider.aon +0 -120
- package/project/.sdk/src/cmp/dart/Config_dart.ts +0 -176
- package/project/.sdk/src/cmp/dart/EntityBase_dart.ts +0 -34
- package/project/.sdk/src/cmp/dart/EntityOperation_dart.ts +0 -43
- package/project/.sdk/src/cmp/dart/EntityTypes_dart.ts +0 -207
- package/project/.sdk/src/cmp/dart/Entity_dart.ts +0 -87
- package/project/.sdk/src/cmp/dart/Gitignore_dart.ts +0 -34
- package/project/.sdk/src/cmp/dart/MainEntity_dart.ts +0 -33
- package/project/.sdk/src/cmp/dart/Main_dart.ts +0 -106
- package/project/.sdk/src/cmp/dart/Package_dart.ts +0 -82
- package/project/.sdk/src/cmp/dart/ReadmeEntity_dart.ts +0 -177
- package/project/.sdk/src/cmp/dart/ReadmeExamplesTest_dart.ts +0 -238
- package/project/.sdk/src/cmp/dart/ReadmeExplanation_dart.ts +0 -53
- package/project/.sdk/src/cmp/dart/ReadmeHowto_dart.ts +0 -152
- package/project/.sdk/src/cmp/dart/ReadmeInstall_dart.ts +0 -59
- package/project/.sdk/src/cmp/dart/ReadmeIntro_dart.ts +0 -65
- package/project/.sdk/src/cmp/dart/ReadmeModel_dart.ts +0 -151
- package/project/.sdk/src/cmp/dart/ReadmeOptions_dart.ts +0 -63
- package/project/.sdk/src/cmp/dart/ReadmeQuick_dart.ts +0 -225
- package/project/.sdk/src/cmp/dart/ReadmeRef_dart.ts +0 -397
- package/project/.sdk/src/cmp/dart/ReadmeTopHowto_dart.ts +0 -24
- package/project/.sdk/src/cmp/dart/ReadmeTopQuick_dart.ts +0 -106
- package/project/.sdk/src/cmp/dart/ReadmeTopTest_dart.ts +0 -78
- package/project/.sdk/src/cmp/dart/SdkError_dart.ts +0 -42
- package/project/.sdk/src/cmp/dart/TestDirect_dart.ts +0 -516
- package/project/.sdk/src/cmp/dart/TestEntity_dart.ts +0 -628
- package/project/.sdk/src/cmp/dart/Test_dart.ts +0 -116
- package/project/.sdk/src/cmp/dart/fragment/Config.data.fragment.dart +0 -79
- package/project/.sdk/src/cmp/dart/fragment/Config.fragment.dart +0 -51
- package/project/.sdk/src/cmp/dart/fragment/Direct.test.fragment.dart +0 -25
- package/project/.sdk/src/cmp/dart/fragment/Entity.fragment.dart +0 -29
- package/project/.sdk/src/cmp/dart/fragment/Entity.test.fragment.dart +0 -28
- package/project/.sdk/src/cmp/dart/fragment/EntityBase.fragment.dart +0 -302
- package/project/.sdk/src/cmp/dart/fragment/EntityCreateOp.fragment.dart +0 -98
- package/project/.sdk/src/cmp/dart/fragment/EntityListOp.fragment.dart +0 -90
- package/project/.sdk/src/cmp/dart/fragment/EntityLoadOp.fragment.dart +0 -102
- package/project/.sdk/src/cmp/dart/fragment/EntityRemoveOp.fragment.dart +0 -108
- package/project/.sdk/src/cmp/dart/fragment/EntityUpdateOp.fragment.dart +0 -102
- package/project/.sdk/src/cmp/dart/fragment/Main.fragment.dart +0 -338
- package/project/.sdk/src/cmp/dart/fragment/SdkError.fragment.dart +0 -26
- package/project/.sdk/src/cmp/dart/tsconfig.json +0 -15
- package/project/.sdk/src/cmp/dart/utility_dart.ts +0 -155
- package/project/.sdk/src/cmp/lean/Config_lean.ts +0 -93
- package/project/.sdk/src/cmp/lean/Entity_lean.ts +0 -9
- package/project/.sdk/src/cmp/lean/Gitignore_lean.ts +0 -18
- package/project/.sdk/src/cmp/lean/Main_lean.ts +0 -120
- package/project/.sdk/src/cmp/lean/Package_lean.ts +0 -93
- package/project/.sdk/src/cmp/lean/ReadmeEntity_lean.ts +0 -29
- package/project/.sdk/src/cmp/lean/ReadmeExplanation_lean.ts +0 -19
- package/project/.sdk/src/cmp/lean/ReadmeHowto_lean.ts +0 -25
- package/project/.sdk/src/cmp/lean/ReadmeInstall_lean.ts +0 -39
- package/project/.sdk/src/cmp/lean/ReadmeIntro_lean.ts +0 -25
- package/project/.sdk/src/cmp/lean/ReadmeModel_lean.ts +0 -24
- package/project/.sdk/src/cmp/lean/ReadmeOptions_lean.ts +0 -22
- package/project/.sdk/src/cmp/lean/ReadmeQuick_lean.ts +0 -50
- package/project/.sdk/src/cmp/lean/ReadmeRef_lean.ts +0 -40
- package/project/.sdk/src/cmp/lean/ReadmeTopHowto_lean.ts +0 -16
- package/project/.sdk/src/cmp/lean/ReadmeTopQuick_lean.ts +0 -23
- package/project/.sdk/src/cmp/lean/ReadmeTopTest_lean.ts +0 -19
- package/project/.sdk/src/cmp/lean/Test_lean.ts +0 -261
- package/project/.sdk/src/cmp/lean/utility_lean.ts +0 -129
- package/project/.sdk/src/cmp/seneca-provider/Extras_seneca-provider.ts +0 -4080
- package/project/.sdk/src/cmp/seneca-provider/Gitignore_seneca-provider.ts +0 -161
- package/project/.sdk/src/cmp/seneca-provider/Main_seneca-provider.ts +0 -1011
- package/project/.sdk/tm/dart/LICENSE +0 -22
- package/project/.sdk/tm/dart/Makefile +0 -50
- package/project/.sdk/tm/dart/lib/Context.dart +0 -150
- package/project/.sdk/tm/dart/lib/Control.dart +0 -15
- package/project/.sdk/tm/dart/lib/Operation.dart +0 -31
- package/project/.sdk/tm/dart/lib/Point.dart +0 -51
- package/project/.sdk/tm/dart/lib/Response.dart +0 -32
- package/project/.sdk/tm/dart/lib/Result.dart +0 -39
- package/project/.sdk/tm/dart/lib/Spec.dart +0 -49
- package/project/.sdk/tm/dart/lib/feature/audit/AuditFeature.dart +0 -103
- package/project/.sdk/tm/dart/lib/feature/base/BaseFeature.dart +0 -76
- package/project/.sdk/tm/dart/lib/feature/cache/CacheFeature.dart +0 -152
- package/project/.sdk/tm/dart/lib/feature/clienttrack/ClienttrackFeature.dart +0 -104
- package/project/.sdk/tm/dart/lib/feature/cost/CostFeature.dart +0 -446
- package/project/.sdk/tm/dart/lib/feature/debug/DebugFeature.dart +0 -153
- package/project/.sdk/tm/dart/lib/feature/idempotency/IdempotencyFeature.dart +0 -92
- package/project/.sdk/tm/dart/lib/feature/log/LogFeature.dart +0 -85
- package/project/.sdk/tm/dart/lib/feature/metrics/MetricsFeature.dart +0 -103
- package/project/.sdk/tm/dart/lib/feature/netsim/NetsimFeature.dart +0 -186
- package/project/.sdk/tm/dart/lib/feature/paging/PagingFeature.dart +0 -240
- package/project/.sdk/tm/dart/lib/feature/proxy/ProxyFeature.dart +0 -118
- package/project/.sdk/tm/dart/lib/feature/ratelimit/RatelimitFeature.dart +0 -103
- package/project/.sdk/tm/dart/lib/feature/rbac/RbacFeature.dart +0 -121
- package/project/.sdk/tm/dart/lib/feature/retry/RetryFeature.dart +0 -155
- package/project/.sdk/tm/dart/lib/feature/streaming/StreamingFeature.dart +0 -97
- package/project/.sdk/tm/dart/lib/feature/telemetry/TelemetryFeature.dart +0 -136
- package/project/.sdk/tm/dart/lib/feature/test/TestFeature.dart +0 -328
- package/project/.sdk/tm/dart/lib/feature/timeout/TimeoutFeature.dart +0 -104
- package/project/.sdk/tm/dart/lib/utility/CleanUtility.dart +0 -12
- package/project/.sdk/tm/dart/lib/utility/DoneUtility.dart +0 -18
- package/project/.sdk/tm/dart/lib/utility/ErrUtility.dart +0 -46
- package/project/.sdk/tm/dart/lib/utility/FeatureAddUtility.dart +0 -35
- package/project/.sdk/tm/dart/lib/utility/FeatureHookUtility.dart +0 -20
- package/project/.sdk/tm/dart/lib/utility/FeatureInitUtility.dart +0 -9
- package/project/.sdk/tm/dart/lib/utility/FetcherUtility.dart +0 -104
- package/project/.sdk/tm/dart/lib/utility/GraphqlUtility.dart +0 -162
- package/project/.sdk/tm/dart/lib/utility/MakeContextUtility.dart +0 -6
- package/project/.sdk/tm/dart/lib/utility/MakeErrorUtility.dart +0 -71
- package/project/.sdk/tm/dart/lib/utility/MakeFetchDefUtility.dart +0 -42
- package/project/.sdk/tm/dart/lib/utility/MakeOptionsUtility.dart +0 -233
- package/project/.sdk/tm/dart/lib/utility/MakePointUtility.dart +0 -130
- package/project/.sdk/tm/dart/lib/utility/MakeRequestUtility.dart +0 -66
- package/project/.sdk/tm/dart/lib/utility/MakeResponseUtility.dart +0 -59
- package/project/.sdk/tm/dart/lib/utility/MakeResultUtility.dart +0 -49
- package/project/.sdk/tm/dart/lib/utility/MakeSpecUtility.dart +0 -77
- package/project/.sdk/tm/dart/lib/utility/MakeUrlUtility.dart +0 -51
- package/project/.sdk/tm/dart/lib/utility/ParamUtility.dart +0 -56
- package/project/.sdk/tm/dart/lib/utility/PrepareAuthUtility.dart +0 -46
- package/project/.sdk/tm/dart/lib/utility/PrepareBodyUtility.dart +0 -19
- package/project/.sdk/tm/dart/lib/utility/PrepareHeadersUtility.dart +0 -11
- package/project/.sdk/tm/dart/lib/utility/PrepareMethodUtility.dart +0 -30
- package/project/.sdk/tm/dart/lib/utility/PrepareParamsUtility.dart +0 -23
- package/project/.sdk/tm/dart/lib/utility/PreparePathUtility.dart +0 -9
- package/project/.sdk/tm/dart/lib/utility/PrepareQueryUtility.dart +0 -18
- package/project/.sdk/tm/dart/lib/utility/ResultBasicUtility.dart +0 -29
- package/project/.sdk/tm/dart/lib/utility/ResultBodyUtility.dart +0 -15
- package/project/.sdk/tm/dart/lib/utility/ResultHeadersUtility.dart +0 -18
- package/project/.sdk/tm/dart/lib/utility/StructUtility.dart +0 -127
- package/project/.sdk/tm/dart/lib/utility/TransformRequestUtility.dart +0 -28
- package/project/.sdk/tm/dart/lib/utility/TransformResponseUtility.dart +0 -44
- package/project/.sdk/tm/dart/lib/utility/Utility.dart +0 -239
- package/project/.sdk/tm/dart/lib/utility/voxgig_struct.dart +0 -2462
- package/project/.sdk/tm/dart/src/feature/README.md +0 -3
- package/project/.sdk/tm/dart/src/feature/proxy/.gitkeep +0 -0
- package/project/.sdk/tm/dart/src/feature/ratelimit/.gitkeep +0 -0
- package/project/.sdk/tm/dart/src/feature/rbac/.gitkeep +0 -0
- package/project/.sdk/tm/dart/src/feature/retry/.gitkeep +0 -0
- package/project/.sdk/tm/dart/src/feature/streaming/.gitkeep +0 -0
- package/project/.sdk/tm/dart/src/feature/telemetry/.gitkeep +0 -0
- package/project/.sdk/tm/dart/src/feature/test/.gitkeep +0 -0
- package/project/.sdk/tm/dart/src/feature/timeout/.gitkeep +0 -0
- package/project/.sdk/tm/dart/test/custom_test.dart +0 -65
- package/project/.sdk/tm/dart/test/exists_test.dart +0 -12
- package/project/.sdk/tm/dart/test/feature/harness.dart +0 -329
- package/project/.sdk/tm/dart/test/feature_test.dart +0 -1193
- package/project/.sdk/tm/dart/test/harness.dart +0 -153
- package/project/.sdk/tm/dart/test/netsim_test.dart +0 -48
- package/project/.sdk/tm/dart/test/omni.dart +0 -520
- package/project/.sdk/tm/dart/test/omni_smoke_test.dart +0 -143
- package/project/.sdk/tm/dart/test/pipeline_test.dart +0 -608
- package/project/.sdk/tm/dart/test/primary_test.dart +0 -476
- package/project/.sdk/tm/dart/test/sdk-test-control.json +0 -19
- package/project/.sdk/tm/dart/test/struct_test.dart +0 -468
- package/project/.sdk/tm/dart/test/utility.dart +0 -198
- package/project/.sdk/tm/dart/test/vendor/omni/omni.dart +0 -7
- package/project/.sdk/tm/dart/test/vendor/omni/runner.dart +0 -653
- package/project/.sdk/tm/dart/test/vendor/omni/util.dart +0 -232
- package/project/.sdk/tm/lean/LICENSE +0 -21
- package/project/.sdk/tm/lean/Makefile +0 -32
- package/project/.sdk/tm/lean/VERSION +0 -1
- package/project/.sdk/tm/lean/src/SdkFeature.lean +0 -171
- package/project/.sdk/tm/lean/src/SdkFeatures.lean +0 -787
- package/project/.sdk/tm/lean/src/SdkJson.lean +0 -134
- package/project/.sdk/tm/lean/src/SdkRuntime.lean +0 -374
- package/project/.sdk/tm/lean/src/SdkUtility.lean +0 -809
- package/project/.sdk/tm/lean/src/VoxgigStruct.lean +0 -2880
- package/project/.sdk/tm/lean/src/Vregex.lean +0 -412
- package/project/.sdk/tm/lean/src/feature/README.md +0 -5
- package/project/.sdk/tm/lean/src/feature/audit/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/base/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/cache/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/clienttrack/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/cost/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/debug/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/idempotency/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/log/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/metrics/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/netsim/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/paging/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/proxy/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/ratelimit/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/rbac/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/retry/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/streaming/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/telemetry/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/test/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/timeout/.gitkeep +0 -0
- package/project/.sdk/tm/lean/test/OmniResolver.lean +0 -358
- package/project/.sdk/tm/lean/test/OmniSmoke.lean +0 -174
- package/project/.sdk/tm/lean/test/StructCorpus.lean +0 -368
- package/project/.sdk/tm/lean/test/TFeature.lean +0 -281
- package/project/.sdk/tm/lean/test/TPrimaryUtility.lean +0 -227
- package/project/.sdk/tm/lean/test/vendor/omni/Omni.lean +0 -997
- package/project/.sdk/tm/seneca-provider/CODE_OF_CONDUCT.md +0 -132
- package/project/.sdk/tm/seneca-provider/LICENSE +0 -21
- package/project/.sdk/tm/seneca-provider/Makefile +0 -15
- package/project/.sdk/tm/seneca-provider/src/tsconfig.json +0 -18
- package/project/.sdk/tm/seneca-provider/test/tsconfig.json +0 -16
- package/project/.sdk/tm/seneca-provider/tsfmt.json +0 -3
- package/project/.sdk/tm/zig/test/struct_runner.zig +0 -465
- /package/project/.sdk/tm/{dart/src/feature/audit → clojure/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/base → csharp/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/cache → elixir/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/clienttrack → java/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/cost → kotlin/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/debug → perl/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/idempotency → php/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/log → rb/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/metrics → rust/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/netsim → scala/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/paging → swift/src/feature/secrets}/.gitkeep +0 -0
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
;; VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (clojure/plugins/voxgig/sekreto/plugins/httpjson.clj)
|
|
2
|
+
;; Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
|
|
3
|
+
;; License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
|
+
;; The HTTP-JSON edge every plugin that speaks to a store shares - and
|
|
5
|
+
;; NOTHING IN THE CORE REACHES IT.
|
|
6
|
+
;;
|
|
7
|
+
;; A chain of the four built-in kinds never loads this namespace, so it
|
|
8
|
+
;; never loads `java.net.http` either. That is the whole point of the
|
|
9
|
+
;; core/plugin split: an app whose chain is `[dotenv env]` carries no
|
|
10
|
+
;; HTTP client at all (docs/design/plugin-providers.md).
|
|
11
|
+
;;
|
|
12
|
+
;; `uriescape` lives here rather than with sigv4 because four plugins
|
|
13
|
+
;; that sign nothing need it to build a query string, and reaching it
|
|
14
|
+
;; through sigv4 would make them load a hash function to escape a
|
|
15
|
+
;; parameter.
|
|
16
|
+
;;
|
|
17
|
+
;; A port of typescript/plugins/httpjson.ts, which is canonical.
|
|
18
|
+
|
|
19
|
+
(ns voxgig.sekreto.plugins.httpjson
|
|
20
|
+
(:require [voxgig.sekreto.core :as core]
|
|
21
|
+
[voxgig.sekreto.json :as json])
|
|
22
|
+
(:import [java.io ByteArrayOutputStream IOException]
|
|
23
|
+
[java.net URI]
|
|
24
|
+
[java.net.http HttpClient HttpClient$Redirect HttpClient$Version
|
|
25
|
+
HttpRequest HttpRequest$BodyPublishers HttpResponse HttpResponse$BodyHandlers]
|
|
26
|
+
[java.nio.charset StandardCharsets]
|
|
27
|
+
[java.time Duration]))
|
|
28
|
+
|
|
29
|
+
;; How long any single vault round-trip may take before it is treated as
|
|
30
|
+
;; unreachable. Ports carry the same bound.
|
|
31
|
+
(def ^:private TIMEOUT (Duration/ofSeconds 10))
|
|
32
|
+
|
|
33
|
+
;; How much of a response body will be read before the store is treated as
|
|
34
|
+
;; having answered incoherently. Ports carry the same bound.
|
|
35
|
+
;;
|
|
36
|
+
;; Far above anything real - the largest legitimate payload this library
|
|
37
|
+
;; fetches is Doppler's whole-config download, measured in kilobytes. A
|
|
38
|
+
;; bound is needed because the TIMEOUT is not one: ten seconds on a loopback
|
|
39
|
+
;; or datacentre link is gigabytes, and the body is accumulated in memory
|
|
40
|
+
;; before it is parsed. This runs on an application's startup path, so the
|
|
41
|
+
;; failure is the application never starting.
|
|
42
|
+
(def ^:private MAXBODY (* 8 1024 1024))
|
|
43
|
+
|
|
44
|
+
(defn firstof
|
|
45
|
+
"The first candidate that is set and non-empty, or the empty string.
|
|
46
|
+
Config first, then the environment variable the store's own ecosystem
|
|
47
|
+
already uses, is how every plugin here reads its settings."
|
|
48
|
+
[& candidates]
|
|
49
|
+
(or (some core/notempty candidates) ""))
|
|
50
|
+
|
|
51
|
+
(defn trimslash [text] (core/dropsuffix text "/"))
|
|
52
|
+
|
|
53
|
+
;; HTTP/1.1, explicitly.
|
|
54
|
+
;;
|
|
55
|
+
;; java.net.http defaults to HTTP_2, and over cleartext that means an h2c
|
|
56
|
+
;; upgrade: the first request goes out with `Upgrade: h2c`, the declared
|
|
57
|
+
;; Content-Length, and NO BODY, and the body follows only after the server
|
|
58
|
+
;; declines. A server that checks the two against each other - Fastify does,
|
|
59
|
+
;; and Infisical is Fastify - rejects that request outright with "Request
|
|
60
|
+
;; body size did not match Content-Length", so every POST this port makes to
|
|
61
|
+
;; such a server fails before it is even read.
|
|
62
|
+
;;
|
|
63
|
+
;; The mocks in test/ are Node's own http module, which does not object,
|
|
64
|
+
;; which is why this survived until the same code met a real Infisical. No
|
|
65
|
+
;; vault API this library speaks needs HTTP/2.
|
|
66
|
+
;;
|
|
67
|
+
;; Redirects are never followed: a vault API does not legitimately redirect,
|
|
68
|
+
;; and a followed redirect would carry X-Vault-Token to the redirect's host
|
|
69
|
+
;; (and could downgrade https to http), which checkaddr - it only validates
|
|
70
|
+
;; the configured address - cannot see.
|
|
71
|
+
;;
|
|
72
|
+
;; A delay, so that requiring this namespace opens no resources: the client
|
|
73
|
+
;; is built by the first fetch, in a process that has one to make.
|
|
74
|
+
(def ^:private CLIENT
|
|
75
|
+
(delay (-> (HttpClient/newBuilder)
|
|
76
|
+
(.version HttpClient$Version/HTTP_1_1)
|
|
77
|
+
(.followRedirects HttpClient$Redirect/NEVER)
|
|
78
|
+
(.connectTimeout TIMEOUT)
|
|
79
|
+
(.build))))
|
|
80
|
+
|
|
81
|
+
(defn- why
|
|
82
|
+
"What an exception has to say for itself, never the empty string."
|
|
83
|
+
[^Throwable err]
|
|
84
|
+
(or (core/notempty (.getMessage err)) (str err)))
|
|
85
|
+
|
|
86
|
+
(defn bare
|
|
87
|
+
"A URL without its query string, for a message that must not leak one."
|
|
88
|
+
[url]
|
|
89
|
+
(apply str (take-while (fn [ch] (not= \? ch)) url)))
|
|
90
|
+
|
|
91
|
+
(defn uriescape
|
|
92
|
+
"RFC 3986 escaping, which is stricter than the usual URL encoder: AWS
|
|
93
|
+
wants everything but unreserved characters escaped, with uppercase hex."
|
|
94
|
+
[^String text]
|
|
95
|
+
(let [out (StringBuilder.)]
|
|
96
|
+
(doseq [byte (.getBytes text StandardCharsets/UTF_8)]
|
|
97
|
+
(let [ch (bit-and (int byte) 0xff)]
|
|
98
|
+
(if (or (<= (int \A) ch (int \Z))
|
|
99
|
+
(<= (int \a) ch (int \z))
|
|
100
|
+
(<= (int \0) ch (int \9))
|
|
101
|
+
(= (int \-) ch) (= (int \_) ch) (= (int \.) ch) (= (int \~) ch))
|
|
102
|
+
(.append out (char ch))
|
|
103
|
+
(.append out (format "%%%02X" ch)))))
|
|
104
|
+
(.toString out)))
|
|
105
|
+
|
|
106
|
+
(defn- hexbyte
|
|
107
|
+
"Two hex digits as a byte, or nil. The usual number reads are decimal."
|
|
108
|
+
[^String text]
|
|
109
|
+
(try (Integer/parseInt text 16) (catch NumberFormatException _ nil)))
|
|
110
|
+
|
|
111
|
+
(defn uridecode
|
|
112
|
+
"Percent-decode, and nothing else: `+` stays `+`, as on the wire."
|
|
113
|
+
[^String text]
|
|
114
|
+
(let [out (ByteArrayOutputStream.)]
|
|
115
|
+
(loop [index 0]
|
|
116
|
+
(if (<= (count text) index)
|
|
117
|
+
(String. (.toByteArray out) StandardCharsets/UTF_8)
|
|
118
|
+
(let [head (.charAt text index)
|
|
119
|
+
code (when (and (= \% head) (> (count text) (+ index 2)))
|
|
120
|
+
(hexbyte (subs text (inc index) (+ index 3))))]
|
|
121
|
+
(if (some? code)
|
|
122
|
+
(do (.write out (int code))
|
|
123
|
+
(recur (+ index 3)))
|
|
124
|
+
;; A stray % is kept as-is, the way a browser would.
|
|
125
|
+
(do (.write out (.getBytes (str head) StandardCharsets/UTF_8))
|
|
126
|
+
(recur (inc index)))))))))
|
|
127
|
+
|
|
128
|
+
(defn fetchjson
|
|
129
|
+
"One JSON round-trip: `{:status <int> :body <json>}`, where the body is
|
|
130
|
+
`json/NONE` when there was nothing readable. Network failure is always an
|
|
131
|
+
error - an unreachable store is a store that could not answer."
|
|
132
|
+
([method url] (fetchjson method url {} nil))
|
|
133
|
+
([method url headers] (fetchjson method url headers nil))
|
|
134
|
+
([method url headers body]
|
|
135
|
+
(let [builder (doto (HttpRequest/newBuilder)
|
|
136
|
+
(.uri (URI/create url))
|
|
137
|
+
(.timeout TIMEOUT)
|
|
138
|
+
(.method method (if (nil? body)
|
|
139
|
+
(HttpRequest$BodyPublishers/noBody)
|
|
140
|
+
(HttpRequest$BodyPublishers/ofString
|
|
141
|
+
body StandardCharsets/UTF_8))))
|
|
142
|
+
|
|
143
|
+
_ (doseq [[key value] headers] (.header builder key value))
|
|
144
|
+
|
|
145
|
+
;; ofInputStream, not ofString: ofString buffers whatever arrives,
|
|
146
|
+
;; so an endless body would be accumulated in memory until the
|
|
147
|
+
;; deadline - which on a loopback or datacentre link is gigabytes.
|
|
148
|
+
response (try
|
|
149
|
+
(.send ^HttpClient @CLIENT (.build builder)
|
|
150
|
+
(HttpResponse$BodyHandlers/ofInputStream))
|
|
151
|
+
;; A refused connection arrives with a null message, so
|
|
152
|
+
;; the class name stands in - "cannot reach ...: null"
|
|
153
|
+
;; says nothing at all.
|
|
154
|
+
(catch IOException err
|
|
155
|
+
(throw (core/sekretoerror
|
|
156
|
+
(str "sekreto: cannot reach " (bare url) ": " (why err)))))
|
|
157
|
+
(catch InterruptedException _
|
|
158
|
+
(.interrupt (Thread/currentThread))
|
|
159
|
+
(throw (core/sekretoerror
|
|
160
|
+
(str "sekreto: cannot reach " (bare url) ": interrupted")))))
|
|
161
|
+
|
|
162
|
+
^java.io.InputStream stream (.body ^HttpResponse response)
|
|
163
|
+
|
|
164
|
+
;; One byte over the bound is enough to know it was exceeded. An
|
|
165
|
+
;; endless body is a store that could not answer, so this raises
|
|
166
|
+
;; rather than returning a miss - the latter would fall through to
|
|
167
|
+
;; a weaker store on an attacker's cue.
|
|
168
|
+
text (try
|
|
169
|
+
(let [raw (.readNBytes stream (inc MAXBODY))]
|
|
170
|
+
(when (< MAXBODY (alength raw))
|
|
171
|
+
(throw (core/sekretoerror (str "sekreto: oversized response from " (bare url)))))
|
|
172
|
+
(String. raw StandardCharsets/UTF_8))
|
|
173
|
+
(catch IOException err
|
|
174
|
+
(throw (core/sekretoerror
|
|
175
|
+
(str "sekreto: cannot reach " (bare url) ": " (why err)))))
|
|
176
|
+
(finally (.close stream)))
|
|
177
|
+
|
|
178
|
+
parsed (json/parse text)]
|
|
179
|
+
|
|
180
|
+
;; A success status promised JSON; a body that does not parse means the
|
|
181
|
+
;; store could not answer coherently, and treating it as a miss would
|
|
182
|
+
;; fall through to a weaker store. Error statuses may carry any body -
|
|
183
|
+
;; they are decided on status alone.
|
|
184
|
+
(when (and (= 200 (.statusCode ^HttpResponse response)) (json/none? parsed))
|
|
185
|
+
(throw (core/sekretoerror (str "sekreto: malformed response from " (bare url)))))
|
|
186
|
+
|
|
187
|
+
{:status (.statusCode ^HttpResponse response) :body parsed})))
|
|
188
|
+
|
|
189
|
+
(defn renewtime
|
|
190
|
+
"When a logged-in token must be renewed, from its expiry in seconds (a
|
|
191
|
+
JSON number, or a string as Azure IMDS sends it): now + max(seconds - 60,
|
|
192
|
+
1). A missing or zero expiry means never renew."
|
|
193
|
+
[expires]
|
|
194
|
+
(let [seconds (cond
|
|
195
|
+
(json/asnum expires) (double expires)
|
|
196
|
+
(string? expires) (or (parse-double expires) 0.0)
|
|
197
|
+
:else 0.0)]
|
|
198
|
+
(if (or (Double/isNaN seconds) (>= 0 seconds))
|
|
199
|
+
Long/MAX_VALUE
|
|
200
|
+
(+ (System/currentTimeMillis) (long (* 1000 (max (- seconds 60) 1.0)))))))
|
|
201
|
+
|
|
202
|
+
(defn withtoken
|
|
203
|
+
"The working token. `state` is an atom holding `{:token :renewat}`: a
|
|
204
|
+
configured token is kept forever, a logged-in one is renewed shortly
|
|
205
|
+
before its lease runs out - a long-running process must not keep
|
|
206
|
+
presenting a token the vault already expired. `login` answers
|
|
207
|
+
`[token renewat]`."
|
|
208
|
+
[state login]
|
|
209
|
+
(let [{:keys [token renewat]} @state]
|
|
210
|
+
(if (and (some? token) (> (or renewat Long/MAX_VALUE) (System/currentTimeMillis)))
|
|
211
|
+
token
|
|
212
|
+
(let [[fresh until] (login)]
|
|
213
|
+
(reset! state {:token fresh :renewat until})
|
|
214
|
+
fresh))))
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
;; VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (clojure/plugins/voxgig/sekreto/plugins/infisical.clj)
|
|
2
|
+
;; Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
|
|
3
|
+
;; License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
|
+
;; Infisical, as a voxgig/plugin definition.
|
|
5
|
+
;;
|
|
6
|
+
;; A plugin rather than a built-in kind because it opens a socket
|
|
7
|
+
;; (docs/design/plugin-providers.md).
|
|
8
|
+
;;
|
|
9
|
+
;; A port of typescript/plugins/infisical.ts, which is canonical.
|
|
10
|
+
|
|
11
|
+
(ns voxgig.sekreto.plugins.infisical
|
|
12
|
+
(:require [voxgig.sekreto.core :as core]
|
|
13
|
+
[voxgig.sekreto.addr :refer [checkaddr]]
|
|
14
|
+
[voxgig.sekreto.json :as json]
|
|
15
|
+
[voxgig.sekreto.provider :as provider]
|
|
16
|
+
[voxgig.sekreto.providers :as providers]
|
|
17
|
+
[voxgig.sekreto.plugins.httpjson :as http]))
|
|
18
|
+
|
|
19
|
+
(defrecord Infisical [addr token clientid clientsecret project environment path state]
|
|
20
|
+
provider/Provider
|
|
21
|
+
|
|
22
|
+
;; Infisical.
|
|
23
|
+
;;
|
|
24
|
+
;; `api.token` reads the secret keyed `API_TOKEN` (Infisical's own
|
|
25
|
+
;; convention is environment-style keys) at a secret path in one
|
|
26
|
+
;; environment of a project. Auth is a token, or a universal-auth (machine
|
|
27
|
+
;; identity) login with clientid/clientsecret.
|
|
28
|
+
(lookup [_ name]
|
|
29
|
+
(let [useaddr (http/trimslash (http/firstof addr "https://app.infisical.com"))
|
|
30
|
+
_ (checkaddr useaddr)
|
|
31
|
+
|
|
32
|
+
_ (when (or (= "" (or project "")) (= "" (or environment "")))
|
|
33
|
+
(throw (core/sekretoerror "sekreto: infisical: no project/environment")))
|
|
34
|
+
|
|
35
|
+
login (fn []
|
|
36
|
+
(if (core/notempty token)
|
|
37
|
+
[token Long/MAX_VALUE]
|
|
38
|
+
(do
|
|
39
|
+
(when (or (nil? (core/notempty clientid))
|
|
40
|
+
(nil? (core/notempty clientsecret)))
|
|
41
|
+
(throw (core/sekretoerror
|
|
42
|
+
"sekreto: infisical: no token and no client credentials")))
|
|
43
|
+
|
|
44
|
+
(let [body (json/omap [["clientId" clientid] ["clientSecret" clientsecret]])
|
|
45
|
+
res (http/fetchjson "POST"
|
|
46
|
+
(str useaddr "/api/v1/auth/universal-auth/login")
|
|
47
|
+
{"content-type" "application/json"}
|
|
48
|
+
(json/stringify body))
|
|
49
|
+
got (json/astext (json/dig (:body res) "accessToken"))]
|
|
50
|
+
|
|
51
|
+
(when (or (not= 200 (:status res)) (nil? (core/notempty got)))
|
|
52
|
+
(throw (core/sekretoerror
|
|
53
|
+
(str "sekreto: infisical login failed: " (:status res)))))
|
|
54
|
+
|
|
55
|
+
[got (http/renewtime (json/dig (:body res) "expiresIn"))]))))
|
|
56
|
+
|
|
57
|
+
live (http/withtoken state login)
|
|
58
|
+
url (str useaddr "/api/v3/secrets/raw/" (core/envkey name)
|
|
59
|
+
"?workspaceId=" (http/uriescape project)
|
|
60
|
+
"&environment=" (http/uriescape environment)
|
|
61
|
+
"&secretPath=" (http/uriescape (http/firstof path "/")))
|
|
62
|
+
res (http/fetchjson "GET" url {"authorization" (str "Bearer " (or live ""))})]
|
|
63
|
+
|
|
64
|
+
(cond
|
|
65
|
+
(= 404 (:status res)) nil
|
|
66
|
+
|
|
67
|
+
(not= 200 (:status res))
|
|
68
|
+
(throw (core/sekretoerror (str "sekreto: infisical error: " (:status res))))
|
|
69
|
+
|
|
70
|
+
:else (json/astext (json/dig (:body res) "secret" "secretValue")))))
|
|
71
|
+
|
|
72
|
+
(describe [_] (str "infisical:" (or project "") "/" (or environment ""))))
|
|
73
|
+
|
|
74
|
+
(def infisical
|
|
75
|
+
"The `infisical` provider kind."
|
|
76
|
+
(providers/providerplugin
|
|
77
|
+
"infisical"
|
|
78
|
+
(fn [{:keys [addr token clientid clientsecret project environment path]}]
|
|
79
|
+
(->Infisical addr token clientid clientsecret project environment path
|
|
80
|
+
(atom {:token nil :renewat Long/MAX_VALUE})))))
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
;; VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (clojure/plugins/voxgig/sekreto/plugins/onepassword.clj)
|
|
2
|
+
;; Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
|
|
3
|
+
;; License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
|
+
;; 1Password through a Connect server, as a voxgig/plugin definition.
|
|
5
|
+
;;
|
|
6
|
+
;; A plugin rather than a built-in kind because it opens a socket
|
|
7
|
+
;; (docs/design/plugin-providers.md).
|
|
8
|
+
;;
|
|
9
|
+
;; A port of typescript/plugins/onepassword.ts, which is canonical.
|
|
10
|
+
|
|
11
|
+
(ns voxgig.sekreto.plugins.onepassword
|
|
12
|
+
(:require [voxgig.sekreto.core :as core]
|
|
13
|
+
[voxgig.sekreto.addr :refer [checkaddr]]
|
|
14
|
+
[voxgig.sekreto.json :as json]
|
|
15
|
+
[voxgig.sekreto.provider :as provider]
|
|
16
|
+
[voxgig.sekreto.providers :as providers]
|
|
17
|
+
[voxgig.sekreto.plugins.httpjson :as http]))
|
|
18
|
+
|
|
19
|
+
(defrecord Onepassword [addr token vault vaultid]
|
|
20
|
+
provider/Provider
|
|
21
|
+
|
|
22
|
+
;; 1Password, through a Connect server.
|
|
23
|
+
;;
|
|
24
|
+
;; The item titled `api.token` (titles keep their dots), in the named
|
|
25
|
+
;; vault. The value is the field with purpose PASSWORD, or the field
|
|
26
|
+
;; labelled `value`. A vault that cannot be found is an error - config
|
|
27
|
+
;; names it, so its absence is a broken store, not a missing secret.
|
|
28
|
+
(lookup [_ name]
|
|
29
|
+
(core/checkname name)
|
|
30
|
+
|
|
31
|
+
(let [useaddr (http/trimslash (or addr ""))
|
|
32
|
+
_ (when (= "" useaddr)
|
|
33
|
+
(throw (core/sekretoerror "sekreto: onepassword: no addr")))
|
|
34
|
+
_ (checkaddr useaddr)
|
|
35
|
+
|
|
36
|
+
auth {"authorization" (str "Bearer " (or token ""))}
|
|
37
|
+
|
|
38
|
+
id (or @vaultid
|
|
39
|
+
(reset! vaultid
|
|
40
|
+
(let [want (or vault "")]
|
|
41
|
+
(when (= "" want)
|
|
42
|
+
(throw (core/sekretoerror "sekreto: onepassword: no vault")))
|
|
43
|
+
|
|
44
|
+
(let [res (http/fetchjson "GET" (str useaddr "/v1/vaults") auth)
|
|
45
|
+
list (json/asarr (:body res))]
|
|
46
|
+
(when (or (not= 200 (:status res)) (nil? list))
|
|
47
|
+
(throw (core/sekretoerror
|
|
48
|
+
(str "sekreto: onepassword error: " (:status res)
|
|
49
|
+
": listing vaults"))))
|
|
50
|
+
|
|
51
|
+
(let [found (some (fn [entry]
|
|
52
|
+
(when (or (= want (json/astext (json/dig entry "id")))
|
|
53
|
+
(= want (json/astext (json/dig entry "name"))))
|
|
54
|
+
entry))
|
|
55
|
+
list)]
|
|
56
|
+
(when (nil? found)
|
|
57
|
+
(throw (core/sekretoerror
|
|
58
|
+
(str "sekreto: onepassword: no vault named " want))))
|
|
59
|
+
|
|
60
|
+
(or (json/astext (json/dig found "id")) ""))))))
|
|
61
|
+
|
|
62
|
+
filter (http/uriescape (str "title eq \"" name "\""))
|
|
63
|
+
found (http/fetchjson "GET" (str useaddr "/v1/vaults/" id "/items?filter=" filter) auth)
|
|
64
|
+
items (json/asarr (:body found))]
|
|
65
|
+
|
|
66
|
+
(when (or (not= 200 (:status found)) (nil? items))
|
|
67
|
+
(throw (core/sekretoerror
|
|
68
|
+
(str "sekreto: onepassword error: " (:status found) ": finding " name))))
|
|
69
|
+
|
|
70
|
+
(when (seq items)
|
|
71
|
+
(let [itemid (or (json/astext (json/dig (first items) "id")) "")
|
|
72
|
+
item (http/fetchjson "GET" (str useaddr "/v1/vaults/" id "/items/" itemid) auth)]
|
|
73
|
+
|
|
74
|
+
(when (not= 200 (:status item))
|
|
75
|
+
(throw (core/sekretoerror
|
|
76
|
+
(str "sekreto: onepassword error: " (:status item) ": reading " name))))
|
|
77
|
+
|
|
78
|
+
(let [fields (or (json/asarr (json/dig (:body item) "fields")) [])
|
|
79
|
+
pick (fn [key want]
|
|
80
|
+
(some (fn [field]
|
|
81
|
+
(when (= want (json/asstr (json/dig field key))) field))
|
|
82
|
+
fields))]
|
|
83
|
+
(json/astext (json/dig (or (pick "purpose" "PASSWORD") (pick "label" "value"))
|
|
84
|
+
"value")))))))
|
|
85
|
+
|
|
86
|
+
(describe [_] (str "onepassword:" (or vault ""))))
|
|
87
|
+
|
|
88
|
+
(def onepassword
|
|
89
|
+
"The `onepassword` provider kind."
|
|
90
|
+
(providers/providerplugin
|
|
91
|
+
"onepassword"
|
|
92
|
+
(fn [{:keys [addr token vault]}]
|
|
93
|
+
(->Onepassword addr token vault (atom nil)))))
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
;; VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (clojure/plugins/voxgig/sekreto/plugins/proc.clj)
|
|
2
|
+
;; Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
|
|
3
|
+
;; License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
|
+
;; Running a child to completion, for the two kinds that read a secret
|
|
5
|
+
;; through somebody else's CLI - boru and secretspec.
|
|
6
|
+
;;
|
|
7
|
+
;; OUTSIDE THE CORE, because spawning a process is one of the three things
|
|
8
|
+
;; that make a kind a plugin. A chain of built-ins never loads this
|
|
9
|
+
;; namespace and so never reaches `ProcessBuilder`
|
|
10
|
+
;; (docs/design/plugin-providers.md).
|
|
11
|
+
;;
|
|
12
|
+
;; A port of java/plugins/com/voxgig/sekreto/plugins/Proc.java, which
|
|
13
|
+
;; carries the same two-stream rule.
|
|
14
|
+
|
|
15
|
+
(ns voxgig.sekreto.plugins.proc
|
|
16
|
+
(:require [clojure.string :as string]
|
|
17
|
+
[voxgig.sekreto.core :as core])
|
|
18
|
+
(:import [java.io ByteArrayOutputStream IOException]
|
|
19
|
+
[java.nio.charset StandardCharsets]))
|
|
20
|
+
|
|
21
|
+
(defn runcmd
|
|
22
|
+
"Run a child to completion and collect both its streams.
|
|
23
|
+
|
|
24
|
+
The two streams are drained CONCURRENTLY. Reading stdout to EOF and only
|
|
25
|
+
then reading stderr deadlocks the moment the child writes more than one
|
|
26
|
+
pipe buffer (64 KiB on Linux) to stderr: the parent is blocked waiting for
|
|
27
|
+
stdout, the child is blocked waiting for room on stderr, and neither can
|
|
28
|
+
move. Nothing in this library sets a timeout, so that hang is permanent -
|
|
29
|
+
`get` simply never returns. secretspec's diagnostics are box-drawn and
|
|
30
|
+
reach that size easily.
|
|
31
|
+
|
|
32
|
+
The child's stdin is closed rather than left open on a pipe nobody writes
|
|
33
|
+
to, so a CLI that reads it - one prompting for a passphrase when its
|
|
34
|
+
environment variable is absent - sees EOF and gives up instead of waiting
|
|
35
|
+
forever."
|
|
36
|
+
[^ProcessBuilder builder command]
|
|
37
|
+
(try
|
|
38
|
+
(let [process (.start builder)]
|
|
39
|
+
(.close (.getOutputStream process))
|
|
40
|
+
|
|
41
|
+
(let [errbuf (ByteArrayOutputStream.)
|
|
42
|
+
pump (fn []
|
|
43
|
+
(try
|
|
44
|
+
(.transferTo (.getErrorStream process) errbuf)
|
|
45
|
+
;; The child went away mid-write; waitFor reports how.
|
|
46
|
+
(catch IOException _ nil)))
|
|
47
|
+
drain (doto (Thread. ^Runnable pump) (.setDaemon true) (.start))
|
|
48
|
+
out (String. (.readAllBytes (.getInputStream process)) StandardCharsets/UTF_8)
|
|
49
|
+
status (.waitFor process)]
|
|
50
|
+
(.join drain)
|
|
51
|
+
{:out out
|
|
52
|
+
:why (string/trim (String. (.toByteArray errbuf) StandardCharsets/UTF_8))
|
|
53
|
+
:status status}))
|
|
54
|
+
(catch IOException err
|
|
55
|
+
(throw (core/sekretoerror (str "sekreto: cannot run " command ": " (.getMessage err)))))
|
|
56
|
+
(catch InterruptedException _
|
|
57
|
+
(.interrupt (Thread/currentThread))
|
|
58
|
+
(throw (core/sekretoerror (str "sekreto: interrupted running " command))))))
|
|
59
|
+
|
|
60
|
+
(defn command
|
|
61
|
+
"A ProcessBuilder for an argument vector."
|
|
62
|
+
^ProcessBuilder [args]
|
|
63
|
+
(ProcessBuilder. ^"[Ljava.lang.String;" (into-array String args)))
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
;; VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (clojure/plugins/voxgig/sekreto/plugins/secretspec.clj)
|
|
2
|
+
;; Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
|
|
3
|
+
;; License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
|
+
;; SecretSpec, as a voxgig/plugin definition.
|
|
5
|
+
;;
|
|
6
|
+
;; A plugin rather than a built-in kind because it spawns a child process,
|
|
7
|
+
;; and a built-in kind reads at most a local file
|
|
8
|
+
;; (docs/design/plugin-providers.md).
|
|
9
|
+
;;
|
|
10
|
+
;; IT IS THE ONE PLUGIN THAT REACHES NO SOCKET, and it requires no HTTP
|
|
11
|
+
;; helper either: reaching `httpjson` for the one-line `reason` default
|
|
12
|
+
;; would load `java.net.http` into a process that only ever spawns a
|
|
13
|
+
;; child. The default is spelled out here instead, the way every other
|
|
14
|
+
;; port spells it.
|
|
15
|
+
;;
|
|
16
|
+
;; A port of typescript/plugins/secretspec.ts, which is canonical.
|
|
17
|
+
|
|
18
|
+
(ns voxgig.sekreto.plugins.secretspec
|
|
19
|
+
(:require [clojure.string :as string]
|
|
20
|
+
[voxgig.sekreto.core :as core]
|
|
21
|
+
[voxgig.sekreto.provider :as provider]
|
|
22
|
+
[voxgig.sekreto.providers :as providers]
|
|
23
|
+
[voxgig.sekreto.plugins.proc :as proc]))
|
|
24
|
+
|
|
25
|
+
(defn secretspecmiss?
|
|
26
|
+
"Does this SecretSpec failure mean \"no such secret\" rather than \"I
|
|
27
|
+
could not answer\"?
|
|
28
|
+
|
|
29
|
+
SecretSpec says `Secret 'API_TOKEN' not found` for both a name it does not
|
|
30
|
+
declare and one declared with no value, and both are misses: this store
|
|
31
|
+
does not hold it, so the chain carries on.
|
|
32
|
+
|
|
33
|
+
MATCHED ON THE WHOLE PHRASE, NOT ON \"not found\". SecretSpec also says
|
|
34
|
+
`Provider backend 'keyring' not found`, which is a store that could not
|
|
35
|
+
answer at all - and reading that as a miss is the worst failure this
|
|
36
|
+
library has, because the chain then falls through to a weaker store
|
|
37
|
+
without saying so. The key is required to appear, so the two cannot be
|
|
38
|
+
confused."
|
|
39
|
+
[why key]
|
|
40
|
+
(string/includes? why (str "Secret '" key "' not found")))
|
|
41
|
+
|
|
42
|
+
(defrecord Secretspec [command file profile backend reason prefix]
|
|
43
|
+
provider/Provider
|
|
44
|
+
|
|
45
|
+
;; SecretSpec (https://secretspec.dev).
|
|
46
|
+
;;
|
|
47
|
+
;; SecretSpec is a declaration - a `secretspec.toml` naming the secrets a
|
|
48
|
+
;; project needs - plus a chain of its own backends to satisfy them from.
|
|
49
|
+
;; That makes it the same shape as sekreto one level down, and the reason
|
|
50
|
+
;; to support it is the same reason sekreto exists: a project that has
|
|
51
|
+
;; already declared its secrets there should not have to declare them
|
|
52
|
+
;; again here.
|
|
53
|
+
;;
|
|
54
|
+
;; Read through its CLI, as boru is, because that is the interface it
|
|
55
|
+
;; offers a program in another language: `secretspec get API_TOKEN` prints
|
|
56
|
+
;; the value on stdout and nothing else. A sekreto name maps to a
|
|
57
|
+
;; SecretSpec key exactly as it maps to an environment variable -
|
|
58
|
+
;; `api.token` is `API_TOKEN` - which is the convention SecretSpec's own
|
|
59
|
+
;; examples use.
|
|
60
|
+
;;
|
|
61
|
+
;; `backend` selects one of SecretSpec's backends (`--provider`, e.g.
|
|
62
|
+
;; `keyring` or `dotenv://.env`) and is called `backend` here only because
|
|
63
|
+
;; `provider` already means something else in this library.
|
|
64
|
+
;;
|
|
65
|
+
;; A reason is required, not optional: SecretSpec records every read in an
|
|
66
|
+
;; audit log and refuses to read at all without one. sekreto sends
|
|
67
|
+
;; `sekreto` unless told otherwise, so the audit trail says which tool
|
|
68
|
+
;; asked.
|
|
69
|
+
(lookup [_ name]
|
|
70
|
+
(let [key (core/envkey name prefix)
|
|
71
|
+
args (cond-> [command]
|
|
72
|
+
(core/notempty file) (conj "--file" file)
|
|
73
|
+
true (conj "get" key)
|
|
74
|
+
(core/notempty backend) (conj "--provider" backend)
|
|
75
|
+
(core/notempty profile) (conj "--profile" profile)
|
|
76
|
+
true (conj "--reason" (or (core/notempty reason) "sekreto")))
|
|
77
|
+
ran (proc/runcmd (proc/command args) command)]
|
|
78
|
+
|
|
79
|
+
(cond
|
|
80
|
+
;; The value and one newline, and nothing else.
|
|
81
|
+
(= 0 (:status ran)) (core/dropsuffix (:out ran) "\n")
|
|
82
|
+
|
|
83
|
+
(secretspecmiss? (:why ran) key) nil
|
|
84
|
+
|
|
85
|
+
:else
|
|
86
|
+
(throw (core/sekretoerror
|
|
87
|
+
(str "sekreto: secretspec error: "
|
|
88
|
+
(if (= "" (:why ran)) (str "exit " (:status ran)) (:why ran))))))))
|
|
89
|
+
|
|
90
|
+
(describe [_]
|
|
91
|
+
(str "secretspec" (when (core/notempty backend) (str ":" backend)))))
|
|
92
|
+
|
|
93
|
+
(def secretspec
|
|
94
|
+
"The `secretspec` provider kind."
|
|
95
|
+
(providers/providerplugin
|
|
96
|
+
"secretspec"
|
|
97
|
+
(fn [{:keys [command file profile backend reason prefix]}]
|
|
98
|
+
(->Secretspec (or (core/notempty command) "secretspec")
|
|
99
|
+
file profile backend reason prefix))))
|