@voxgig/sdkgen 4.10.0 → 4.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/voxgig-sdkgen +1 -1
- package/dist/action/resolve.js +75 -1
- package/dist/action/resolve.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utility.js +17 -0
- package/dist/utility.js.map +1 -1
- package/package.json +4 -3
- package/project/.sdk/model/feature/secrets.aon +330 -0
- package/project/.sdk/model/target/c.aon +15 -2
- package/project/.sdk/model/target/cpp.aon +18 -0
- package/project/.sdk/model/target/lua.aon +17 -0
- package/project/.sdk/model/target/ocaml.aon +48 -5
- package/project/.sdk/model/target/zig.aon +30 -4
- package/project/.sdk/src/cmp/c/Config_c.ts +338 -1
- package/project/.sdk/src/cmp/c/Main_c.ts +57 -2
- package/project/.sdk/src/cmp/c/Package_c.ts +12 -2
- package/project/.sdk/src/cmp/cpp/Config_cpp.ts +324 -2
- package/project/.sdk/src/cmp/cpp/Gitignore_cpp.ts +2 -0
- package/project/.sdk/src/cmp/cpp/Main_cpp.ts +62 -4
- package/project/.sdk/src/cmp/cpp/Package_cpp.ts +10 -0
- package/project/.sdk/src/cmp/lua/Config_lua.ts +88 -0
- package/project/.sdk/src/cmp/lua/Gitignore_lua.ts +4 -0
- package/project/.sdk/src/cmp/lua/Main_lua.ts +93 -3
- package/project/.sdk/src/cmp/lua/Package_lua.ts +60 -0
- package/project/.sdk/src/cmp/lua/fragment/Main.fragment.lua +10 -0
- package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +183 -5
- package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +160 -3
- package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +25 -1
- package/project/.sdk/src/cmp/zig/Config_zig.ts +130 -9
- package/project/.sdk/src/cmp/zig/Main_zig.ts +208 -4
- package/project/.sdk/{tm/zig/build.zig → src/cmp/zig/fragment/Build.fragment.zig} +7 -0
- package/project/.sdk/src/cmp/zig/fragment/Main.fragment.zig +25 -0
- package/project/.sdk/{tm/zig/root.zig → src/cmp/zig/fragment/Root.fragment.zig} +9 -0
- package/project/.sdk/tm/c/Makefile +58 -9
- package/project/.sdk/tm/c/core/sdk.h +10 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/capability.c +133 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/capability.h +39 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/catalog.c +83 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/catalog.h +48 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/config.c +413 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/config.h +24 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/depend.c +264 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/depend.h +29 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/env.c +220 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/env.h +19 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/export.c +97 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/export.h +19 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/graph.c +237 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/graph.h +17 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/host.c +1494 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/host.h +135 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/order.c +288 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/order.h +18 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/point.c +141 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/point.h +80 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/ref.c +170 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/ref.h +52 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/resolve.c +98 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/resolve.h +18 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/types.c +150 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/types.h +104 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/value.c +649 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/value.h +135 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/version.c +151 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/version.h +34 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/aws.c +281 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/azuresecrets.c +207 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/boru.c +164 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/clock.c +75 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/doppler.c +141 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/encode.c +144 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/gcpsecrets.c +177 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/hashicorp.c +239 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/httpjson.c +599 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/infisical.c +165 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/onepassword.c +194 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/proc.c +233 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/secretspec.c +125 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/sekretoplugins.h +125 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/sha256.c +270 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/sigv4.c +382 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/support.h +153 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/tls.c +420 -0
- package/project/.sdk/tm/c/feature/secrets/sekreto/internal.h +86 -0
- package/project/.sdk/tm/c/feature/secrets/sekreto/json.c +721 -0
- package/project/.sdk/tm/c/feature/secrets/sekreto/providers.c +813 -0
- package/project/.sdk/tm/c/feature/secrets/sekreto/sekreto.c +944 -0
- package/project/.sdk/tm/c/feature/secrets/sekreto/sekreto.h +490 -0
- package/project/.sdk/tm/c/feature/secrets/sekreto/util.c +442 -0
- package/project/.sdk/tm/c/feature/secrets.c +797 -0
- package/project/.sdk/tm/c/feature/secrets.h +46 -0
- package/project/.sdk/tm/c/src/feature/secrets/.gitkeep +0 -0
- package/project/.sdk/tm/c/tests/feature/secrets/secrets_test.c +802 -0
- package/project/.sdk/tm/c/tests/vendor/omni/json.c +1 -1
- package/project/.sdk/tm/c/tests/vendor/omni/omni.h +1 -1
- package/project/.sdk/tm/c/tests/vendor/omni/runner.c +1 -1
- package/project/.sdk/tm/c/tests/vendor/omni/util.c +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/sdk/feature/secrets.clj +38 -11
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/capability.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/catalog.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/config.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/depend.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/env.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/export.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/graph.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/host.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/json.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/order.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/point.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/ref.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/resolve.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/types.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/version.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/addr.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/chain.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/core.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/json.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/aws.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/azuresecrets.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/boru.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/doppler.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/gcpsecrets.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/hashicorp.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/httpjson.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/infisical.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/onepassword.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/proc.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/secretspec.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/sigv4.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/provider.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/providers.clj +1 -1
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto.clj +1 -1
- package/project/.sdk/tm/clojure/test/sdk/test/feature/secrets.clj +40 -6
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/json.clj +1 -1
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/runner.clj +1 -1
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/util.clj +1 -1
- package/project/.sdk/tm/cpp/Makefile +48 -4
- package/project/.sdk/tm/cpp/feature/secrets/plugin/capability.cpp +121 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/capability.hpp +41 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/catalog.cpp +60 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/catalog.hpp +66 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/config.cpp +376 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/config.hpp +29 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/depend.cpp +230 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/depend.hpp +31 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/env.cpp +205 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/env.hpp +25 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/export.cpp +84 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/export.hpp +24 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/graph.cpp +222 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/graph.hpp +21 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/host.cpp +1200 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/host.hpp +250 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/order.cpp +250 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/order.hpp +22 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/point.cpp +110 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/point.hpp +79 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/ref.cpp +136 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/ref.hpp +60 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/resolve.cpp +82 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/resolve.hpp +25 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/types.cpp +90 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/types.hpp +65 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/value.cpp +491 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/value.hpp +120 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/version.cpp +143 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/version.hpp +36 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Aws.cpp +248 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Aws.hpp +30 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Azuresecrets.cpp +149 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Azuresecrets.hpp +23 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Boru.cpp +117 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Boru.hpp +27 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Crypto.cpp +180 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Crypto.hpp +52 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Doppler.cpp +87 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Doppler.hpp +23 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Gcpsecrets.cpp +121 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Gcpsecrets.hpp +23 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Hashicorp.cpp +153 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Hashicorp.hpp +23 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Httpjson.cpp +666 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Httpjson.hpp +160 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Infisical.cpp +123 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Infisical.hpp +23 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Onepassword.cpp +125 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Onepassword.hpp +23 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Proc.cpp +223 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Proc.hpp +47 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Secretspec.cpp +104 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Secretspec.hpp +27 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Sigv4.cpp +242 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Sigv4.hpp +58 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Tls.cpp +260 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Tls.hpp +47 -0
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Json.cpp +476 -0
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Json.hpp +89 -0
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Provider.cpp +312 -0
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Provider.hpp +263 -0
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Providers.cpp +354 -0
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Providers.hpp +111 -0
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Sekreto.cpp +613 -0
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Sekreto.hpp +227 -0
- package/project/.sdk/tm/cpp/feature/secrets.hpp +745 -0
- package/project/.sdk/tm/cpp/src/feature/secrets/.gitkeep +0 -0
- package/project/.sdk/tm/cpp/test/feature/secrets/secrets_test.cpp +808 -0
- package/project/.sdk/tm/cpp/test/vendor/omni/json.hpp +1 -1
- package/project/.sdk/tm/cpp/test/vendor/omni/omni.hpp +1 -1
- package/project/.sdk/tm/cpp/test/vendor/omni/util.hpp +1 -1
- package/project/.sdk/tm/csharp/feature/SecretsFeature.cs +34 -8
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Capability.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Catalog.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Config.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Definition.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Depend.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Entry.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Env.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Export.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Graph.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Host.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Inst.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Json.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Order.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Plugin.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Point.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Refs.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Resolve.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Types.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Version.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Aws.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugins/AzureSecrets.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Boru.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Child.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Doppler.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugins/GcpSecrets.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Hashicorp.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugins/HttpJson.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Infisical.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugins/OnePassword.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugins/SecretSpec.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Sigv4.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/sekreto/Json.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/sekreto/Providers.cs +1 -1
- package/project/.sdk/tm/csharp/feature/secrets/sekreto/Sekreto.cs +1 -1
- package/project/.sdk/tm/csharp/test/feature/secrets/SecretsFeatureTest.cs +85 -0
- package/project/.sdk/tm/csharp/test/vendor/omni/Runner.cs +1 -1
- package/project/.sdk/tm/csharp/test/vendor/omni/Util.cs +1 -1
- package/project/.sdk/tm/csharp/utility/struct/Struct.cs +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/capability.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/catalog.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/config.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/depend.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/env.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/error.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/export.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/graph.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/host.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/inst.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/json.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/order.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/point.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/ref.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/resolve.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/types.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/version.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/voxgig_plugin.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/json.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/aws.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/azuresecrets.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/boru.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/doppler.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/gcpsecrets.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/hashicorp.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/http.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/httpjson.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/infisical.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/onepassword.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/proc.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/secretspec.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/sigv4.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/provider.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/providers.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/sekreto.ex +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets.ex +17 -2
- package/project/.sdk/tm/elixir/test/feature/secrets/secrets_test.exs +41 -0
- package/project/.sdk/tm/elixir/test/vendor/omni/json.ex +1 -1
- package/project/.sdk/tm/elixir/test/vendor/omni/runner.ex +1 -1
- package/project/.sdk/tm/elixir/test/vendor/omni/util.ex +1 -1
- 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 +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugins/aws/sigv4.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugins/azuresecrets/azuresecrets.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugins/boru/boru.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugins/doppler/doppler.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugins/gcpsecrets/gcpsecrets.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugins/hashicorp/hashicorp.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugins/httpjson/httpjson.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugins/infisical/infisical.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugins/onepassword/onepassword.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugins/secretspec/secretspec.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/sekreto/addr.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/sekreto/providers.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/sekreto/sekreto.go +1 -1
- package/project/.sdk/tm/go/feature/secrets_feature.go +32 -10
- package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +116 -0
- package/project/.sdk/tm/go/test/omni/omni.go +1 -1
- package/project/.sdk/tm/go/test/omni/util.go +1 -1
- package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +1 -1
- package/project/.sdk/tm/java/feature/SecretsFeature.java +33 -8
- package/project/.sdk/tm/java/feature/secrets/plugin/Capability.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Catalog.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Config.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Definition.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Depend.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Entry.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Env.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Export.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Graph.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Host.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Inst.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Json.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Order.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Plugin.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/PluginException.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Point.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Refs.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Resolve.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Types.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/plugin/Version.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/Addr.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/Builtins.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/Json.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/Provider.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/Sekreto.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/Support.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Aws.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Azuresecrets.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Boru.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Doppler.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Gcpsecrets.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Hashicorp.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Httpjson.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Infisical.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Onepassword.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Proc.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Secretspec.java +1 -1
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Sigv4.java +1 -1
- package/project/.sdk/tm/java/test/feature/secrets/SecretsFeatureTest.java +64 -0
- package/project/.sdk/tm/java/test/vendor/omni/Json.java +1 -1
- package/project/.sdk/tm/java/test/vendor/omni/Runner.java +1 -1
- package/project/.sdk/tm/java/test/vendor/omni/Util.java +1 -1
- package/project/.sdk/tm/java/utility/struct/Struct.java +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/SecretsFeature.js +34 -11
- package/project/.sdk/tm/js/src/feature/secrets/plugin/capability.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/plugin/catalog.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/plugin/config.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/plugin/depend.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/plugin/env.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/plugin/export.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/plugin/graph.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/plugin/host.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/plugin/index.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/plugin/order.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/plugin/point.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/plugin/ref.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/plugin/resolve.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/plugin/types.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/plugin/version.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/Sekreto.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/index.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/aws.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/azuresecrets.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/boru.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/doppler.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/gcpsecrets.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/hashicorp.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/httpjson.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/infisical.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/onepassword.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/secretspec.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/sigv4.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/addr.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/builtin.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/dotenv.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/env.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/file.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/memory.js +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/support.js +1 -1
- package/project/.sdk/tm/js/src/utility/StructUtility.js +2 -2
- package/project/.sdk/tm/js/src/utility/TransformRequestUtility.js +49 -1
- package/project/.sdk/tm/js/test/feature/secrets/Secrets.test.js +73 -0
- package/project/.sdk/tm/js/test/vendor/omni/index.js +1 -1
- package/project/.sdk/tm/js/test/vendor/omni/runner.js +1 -1
- package/project/.sdk/tm/js/test/vendor/omni/util.js +1 -1
- package/project/.sdk/tm/kotlin/feature/SecretsFeature.kt +32 -7
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Capability.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Catalog.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Config.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Depend.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Env.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Export.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Graph.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Host.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Json.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Order.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Plugin.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Point.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Refs.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Resolve.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Types.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Version.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Json.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Provider.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Providers.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Sekreto.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Spec.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Support.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Aws.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Azuresecrets.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Boru.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Doppler.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Gcpsecrets.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Hashicorp.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Httpjson.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Infisical.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Onepassword.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Secretspec.kt +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Sigv4.kt +1 -1
- package/project/.sdk/tm/kotlin/test/feature/secrets/SecretsTest.kt +69 -0
- package/project/.sdk/tm/kotlin/test/vendor/omni/Json.kt +1 -1
- package/project/.sdk/tm/kotlin/test/vendor/omni/Runner.kt +1 -1
- package/project/.sdk/tm/kotlin/test/vendor/omni/Util.kt +1 -1
- package/project/.sdk/tm/kotlin/utility/struct/Struct.kt +1 -1
- package/project/.sdk/tm/lua/Makefile +15 -4
- package/project/.sdk/tm/lua/feature/secrets/native/sekretonet.c +806 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/capability.lua +135 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/catalog.lua +63 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/config.lua +361 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/depend.lua +232 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/env.lua +168 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/export.lua +66 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/graph.lua +194 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/host.lua +1190 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/json.lua +169 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/order.lua +207 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/point.lua +106 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/ref.lua +115 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/resolve.lua +78 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/types.lua +275 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/version.lua +131 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin.lua +76 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/addr.lua +124 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/err.lua +47 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/name.lua +315 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/aws.lua +228 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/azuresecrets.lua +137 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/boru.lua +124 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/crypto.lua +212 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/doppler.lua +89 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/gcpsecrets.lua +129 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/hashicorp.lua +154 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/httpjson.lua +248 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/infisical.lua +113 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/json.lua +449 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/net.lua +198 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/onepassword.lua +126 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/secretspec.lua +93 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/sigv4.lua +269 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/support.lua +146 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/providers.lua +346 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto.lua +479 -0
- package/project/.sdk/tm/lua/feature/secrets_feature.lua +690 -0
- package/project/.sdk/tm/lua/src/feature/secrets/.gitkeep +0 -0
- package/project/.sdk/tm/lua/test/extend_test.lua +105 -0
- package/project/.sdk/tm/lua/test/feature/secrets/secrets_feature_test.lua +862 -0
- package/project/.sdk/tm/lua/test/vendor/omni/json.lua +1 -1
- package/project/.sdk/tm/lua/test/vendor/omni/regex.lua +1 -1
- package/project/.sdk/tm/lua/test/vendor/omni/runner.lua +1 -1
- package/project/.sdk/tm/lua/test/vendor/omni/util.lua +1 -1
- 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/Makefile +52 -8
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/capability.ml +106 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/catalog.ml +43 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/config.ml +349 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/defs.ml +143 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/depend.ml +217 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/env.ml +197 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/export.ml +89 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/graph.ml +227 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/host.ml +1112 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/order.ml +202 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/point.ml +138 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/ref.ml +126 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/resolve.ml +62 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/types.ml +97 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/value.ml +387 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/version.ml +139 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/aws.ml +171 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/azuresecrets.ml +116 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/boru.ml +95 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/crypto.ml +149 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/doppler.ml +61 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/gcpsecrets.ml +93 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/hashicorp.ml +120 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/http.ml +421 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/httpjson.ml +66 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/infisical.ml +85 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/onepassword.ml +112 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/runcmd.ml +97 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/secretspec.ml +68 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/sigv4.ml +259 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/tls.ml +44 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/tls_stubs.c +358 -0
- package/project/.sdk/tm/ocaml/feature/secrets/sekreto/json.ml +376 -0
- package/project/.sdk/tm/ocaml/feature/secrets/sekreto/provider.ml +647 -0
- package/project/.sdk/tm/ocaml/feature/secrets/sekreto/secret.ml +299 -0
- package/project/.sdk/tm/ocaml/feature/secrets/sekreto/sekreto.ml +347 -0
- package/project/.sdk/tm/ocaml/feature/secrets_feature.ml +453 -0
- package/project/.sdk/tm/ocaml/src/feature/secrets/.gitkeep +0 -0
- package/project/.sdk/tm/ocaml/test/feature/secrets/t_secrets.ml +670 -0
- package/project/.sdk/tm/ocaml/test/vendor/omni/omni.ml +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Capability.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Catalog.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Config.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Depend.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Env.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Export.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Graph.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Host.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Order.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Point.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Ref.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Resolve.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Types.pm +25 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Version.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Aws.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Azuresecrets.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Boru.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Doppler.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Gcpsecrets.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Hashicorp.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Httpjson.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Infisical.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Onepassword.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Proc.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Secretspec.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Sigv4.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Addr.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Providers.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto.pm +1 -1
- package/project/.sdk/tm/perl/feature/secrets_feature.pm +33 -12
- package/project/.sdk/tm/perl/lib/Voxgig/Struct.pm +1 -1
- package/project/.sdk/tm/perl/t/feature/secrets/secrets.t +47 -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 +30 -6
- package/project/.sdk/tm/php/feature/secrets/plugin/Capability.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/plugin/Catalog.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/plugin/Config.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/plugin/Depend.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/plugin/Env.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/plugin/Export.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/plugin/Graph.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/plugin/Host.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/plugin/Order.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/plugin/Point.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/plugin/Ref.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/plugin/Resolve.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/plugin/Types.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/plugin/Version.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/plugin/plugin.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/aws.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/azuresecrets.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/boru.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/doppler.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/gcpsecrets.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/hashicorp.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/httpjson.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/infisical.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/onepassword.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/runcmd.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/secretspec.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/sigv4.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/sekreto/src/Addr.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/sekreto/src/Providers.php +1 -1
- package/project/.sdk/tm/php/feature/secrets/sekreto/src/Sekreto.php +1 -1
- package/project/.sdk/tm/php/test/feature/secrets/SecretsTest.php +98 -0
- package/project/.sdk/tm/php/test/vendor/omni/Runner.php +1 -1
- package/project/.sdk/tm/php/test/vendor/omni/Util.php +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets_feature.py +28 -6
- package/project/.sdk/tm/py/pkg/utility/voxgig_struct/voxgig_struct.py +1 -1
- package/project/.sdk/tm/py/test/feature/secrets/test_secrets.py +114 -0
- package/project/.sdk/tm/py/test/voxgig_omni/__init__.py +1 -1
- package/project/.sdk/tm/py/test/voxgig_omni/runner.py +1 -1
- package/project/.sdk/tm/py/test/voxgig_omni/util.py +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/capability.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/catalog.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/config.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/depend.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/env.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/export.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/graph.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/host.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/order.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/point.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/ref.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/resolve.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/types.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/version.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/addr.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/aws.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/azuresecrets.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/boru.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/doppler.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/hashicorp.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/httpjson.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/infisical.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/onepassword.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/secretspec.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/sigv4.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/providers.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/sekreto.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto.rb +1 -1
- package/project/.sdk/tm/rb/feature/secrets_feature.rb +28 -6
- package/project/.sdk/tm/rb/test/feature/secrets/secrets_feature_test.rb +93 -0
- package/project/.sdk/tm/rb/test/vendor/omni/runner.rb +1 -1
- package/project/.sdk/tm/rb/test/vendor/omni/util.rb +1 -1
- package/project/.sdk/tm/rb/test/vendor/omni/voxgig_omni.rb +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/capability.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/catalog.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/config.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/depend.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/env.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/export.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/graph.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/host.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/mod.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/order.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/point.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/refs.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/resolve.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/types.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/value.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/version.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugins/aws/crypto.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugins/aws/sigv4.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugins/aws.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugins/azuresecrets.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugins/boru.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugins/doppler.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugins/gcpsecrets.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugins/hashicorp.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/http.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/json.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugins/infisical.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugins/onepassword.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/plugins/secretspec.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/sekreto/addr.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/sekreto/mod.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/sekreto/providers.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets/sekreto/sekreto.rs +1 -1
- package/project/.sdk/tm/rust/feature/secrets.rs +33 -10
- package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +96 -0
- package/project/.sdk/tm/rust/tests/vendor/omni/json.rs +1 -1
- package/project/.sdk/tm/rust/tests/vendor/omni/mod.rs +1 -1
- package/project/.sdk/tm/rust/tests/vendor/omni/regex.rs +1 -1
- package/project/.sdk/tm/rust/tests/vendor/omni/runner.rs +1 -1
- package/project/.sdk/tm/rust/tests/vendor/omni/util.rs +1 -1
- package/project/.sdk/tm/scala/feature/SecretsFeature.scala +29 -7
- package/project/.sdk/tm/scala/feature/secrets/plugin/Capability.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/plugin/Config.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/plugin/Depend.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/plugin/Env.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/plugin/Export.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/plugin/Graph.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/plugin/Host.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/plugin/Json.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/plugin/Order.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/plugin/Plugin.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/plugin/Point.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/plugin/Refs.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/plugin/Resolve.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/plugin/Types.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/plugin/Value.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/plugin/Version.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Json.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Provider.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Providers.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Sekreto.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Spec.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Support.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Aws.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Azuresecrets.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Boru.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Doppler.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Gcpsecrets.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Hashicorp.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Httpjson.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Infisical.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Onepassword.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Secretspec.scala +1 -1
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Sigv4.scala +1 -1
- package/project/.sdk/tm/scala/sdktest/feature/secrets/SecretsTestMain.scala +71 -0
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Json.scala +1 -1
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Runner.scala +1 -1
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Util.scala +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Capability.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Catalog.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Config.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Depend.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Env.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Export.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Graph.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Host.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Json.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Order.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Point.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Refs.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Resolve.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Types.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Value.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Version.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Aws.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Azuresecrets.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Boru.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Crypto.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Doppler.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Gcpsecrets.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Hashicorp.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Httpjson.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Infisical.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Onepassword.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Proc.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Secretspec.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Sigv4.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Addr.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Json.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Provider.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Providers.swift +1 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Sekreto.swift +1 -1
- package/project/.sdk/tm/swift/Tests/vendor/omni/Json.swift +1 -1
- package/project/.sdk/tm/swift/Tests/vendor/omni/Runner.swift +1 -1
- package/project/.sdk/tm/swift/Tests/vendor/omni/Util.swift +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +35 -12
- 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/feature/test/TestFeature.ts +107 -1
- package/project/.sdk/tm/ts/src/utility/StructUtility.ts +2 -2
- package/project/.sdk/tm/ts/src/utility/TransformRequestUtility.ts +49 -1
- package/project/.sdk/tm/ts/test/feature/secrets/Secrets.test.ts +73 -0
- 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/feature/secrets/plugin/capability.zig +137 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/catalog.zig +90 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/config.zig +346 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/depend.zig +244 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/env.zig +201 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/export.zig +83 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/graph.zig +212 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/host.zig +1224 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/inst.zig +126 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/order.zig +228 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/plugin.zig +34 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/point.zig +166 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/ref.zig +147 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/resolve.zig +74 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/types.zig +140 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/value.zig +662 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/version.zig +139 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/aws.zig +294 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/azuresecrets.zig +222 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/boru.zig +188 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/doppler.zig +135 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/gcpsecrets.zig +170 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/hashicorp.zig +242 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/httpjson.zig +535 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/infisical.zig +167 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/onepassword.zig +202 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/secretspec.zig +160 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/sigv4.zig +336 -0
- package/project/.sdk/tm/zig/feature/secrets/sekreto/addr.zig +148 -0
- package/project/.sdk/tm/zig/feature/secrets/sekreto/builtins.zig +259 -0
- package/project/.sdk/tm/zig/feature/secrets/sekreto/provider.zig +440 -0
- package/project/.sdk/tm/zig/feature/secrets/sekreto/sekreto.zig +944 -0
- package/project/.sdk/tm/zig/feature/secrets.zig +854 -0
- package/project/.sdk/tm/zig/src/feature/secrets/.gitkeep +0 -0
- package/project/.sdk/tm/zig/test/feature/secrets/secrets_test.zig +891 -0
- package/project/.sdk/tm/zig/test/vendor/omni/omni.zig +1 -1
- package/project/.sdk/tm/zig/test/vendor/omni/regex.zig +1 -1
- package/project/.sdk/tm/zig/utility/voxgigstruct/regex.zig +1 -1
- package/project/.sdk/tm/zig/utility/voxgigstruct/struct.zig +1 -1
- package/project/sdkgen-package.json +1 -1
- package/src/action/resolve.ts +85 -1
- package/src/utility.ts +17 -0
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
// VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (cpp/plugins/Httpjson.hpp)
|
|
2
|
+
// Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
|
|
3
|
+
// License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
|
+
// Just enough HTTP to ask a vault for a secret.
|
|
5
|
+
//
|
|
6
|
+
// C++ has no HTTP client in its standard library, so this speaks HTTP/1.1
|
|
7
|
+
// over a POSIX socket directly: a request with headers and an optional
|
|
8
|
+
// body, a status line, and a response body delimited by Content-Length, by
|
|
9
|
+
// chunks, or by the connection closing.
|
|
10
|
+
//
|
|
11
|
+
// The framing is in-tree deliberately. libcurl and cpp-httplib would both
|
|
12
|
+
// supply it, and both are HTTP clients rather than cryptographic transport
|
|
13
|
+
// - the one thing the dependency rule permits. So only the TLS half is
|
|
14
|
+
// bound out, and it is bound in Tls.cpp and nowhere else.
|
|
15
|
+
//
|
|
16
|
+
// It is not a general-purpose client: no redirect following, no
|
|
17
|
+
// keep-alive, no proxies, no client certificates. Each of those absences
|
|
18
|
+
// is load-bearing and the reasons are at their call sites.
|
|
19
|
+
//
|
|
20
|
+
// The shared transport of the plugins, and it is UNDER plugins/ for the
|
|
21
|
+
// reason the whole split exists: a chain of built-ins must never link an
|
|
22
|
+
// HTTP client, a TLS library or the socket beneath them.
|
|
23
|
+
//
|
|
24
|
+
// The percent-encoding and the base64 decoder live here rather than beside
|
|
25
|
+
// the SigV4 signer, because most of what needs them signs nothing: Azure,
|
|
26
|
+
// 1Password, Doppler and Infisical build query strings, and AWS and GCP
|
|
27
|
+
// decode payloads. Keeping them with the signer would put SHA-256 in the
|
|
28
|
+
// link map of every plugin that only ever speaks HTTP.
|
|
29
|
+
//
|
|
30
|
+
// A port of rust/src/http.rs.
|
|
31
|
+
|
|
32
|
+
#ifndef SEKRETO_PLUGINS_HTTPJSON_HPP
|
|
33
|
+
#define SEKRETO_PLUGINS_HTTPJSON_HPP
|
|
34
|
+
|
|
35
|
+
#include <memory>
|
|
36
|
+
#include <optional>
|
|
37
|
+
#include <string>
|
|
38
|
+
#include <vector>
|
|
39
|
+
|
|
40
|
+
#include "../sekreto/Json.hpp"
|
|
41
|
+
#include "../sekreto/Sekreto.hpp"
|
|
42
|
+
|
|
43
|
+
namespace sekreto {
|
|
44
|
+
|
|
45
|
+
/// How long any single round-trip may take before the store is treated as
|
|
46
|
+
/// unreachable. Ports carry the same bound.
|
|
47
|
+
extern const int TIMEOUT;
|
|
48
|
+
|
|
49
|
+
/// How much of a response body will be read before the store is treated as
|
|
50
|
+
/// having answered incoherently. Ports carry the same bound.
|
|
51
|
+
///
|
|
52
|
+
/// Far above anything real - the largest legitimate payload this library
|
|
53
|
+
/// fetches is Doppler's whole-config download, measured in kilobytes. A
|
|
54
|
+
/// bound is needed because the timeout is not one: ten seconds on a
|
|
55
|
+
/// loopback or datacentre link is gigabytes, and the body is accumulated
|
|
56
|
+
/// in memory before it is parsed. This runs on an application's startup
|
|
57
|
+
/// path, so the failure is the application never starting.
|
|
58
|
+
extern const size_t MAXBODY;
|
|
59
|
+
|
|
60
|
+
/// The environment variable naming extra trust roots, as a PEM bundle.
|
|
61
|
+
/// One cross-port spelling, so a private CA is configured the same way
|
|
62
|
+
/// whichever port an application uses.
|
|
63
|
+
extern const char* const CABUNDLE;
|
|
64
|
+
|
|
65
|
+
/// Anything a request can run over: a plain socket, or a TLS session
|
|
66
|
+
/// wrapping one. Failure is a thrown SekretoError; `readsome` answers 0
|
|
67
|
+
/// at end of stream.
|
|
68
|
+
class Stream {
|
|
69
|
+
public:
|
|
70
|
+
virtual ~Stream() = default;
|
|
71
|
+
virtual size_t readsome(char* buf, size_t len) = 0;
|
|
72
|
+
virtual void writeall(const char* buf, size_t len) = 0;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
/// What a vault answered: the status code and the raw body.
|
|
76
|
+
struct Response {
|
|
77
|
+
int status = 0;
|
|
78
|
+
std::string body;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
/// A url without its query string, for a message that must not leak one.
|
|
82
|
+
///
|
|
83
|
+
/// A query here carries the vault path, the secret name or a filter -
|
|
84
|
+
/// `secretPath=/prod/payments/stripe` - which belongs in neither a log nor
|
|
85
|
+
/// a stack trace.
|
|
86
|
+
std::string bareurl(const std::string& url);
|
|
87
|
+
|
|
88
|
+
/// One HTTP exchange. A non-2xx status is RETURNED, not raised: a 404 from
|
|
89
|
+
/// a vault means "no such secret", which is a miss rather than a failure.
|
|
90
|
+
/// Only a transport failure raises.
|
|
91
|
+
Response httprequest(const std::string& method, const std::string& url,
|
|
92
|
+
const Ordered& headers, const std::optional<std::string>& body);
|
|
93
|
+
|
|
94
|
+
/// Extract every certificate from a PEM bundle, as DER blocks.
|
|
95
|
+
///
|
|
96
|
+
/// In-tree, per the rule: the TLS exception covers transport, and reading
|
|
97
|
+
/// a text file is not transport. No header handling, no attributes, no
|
|
98
|
+
/// other label types, no private keys.
|
|
99
|
+
std::vector<std::string> pemcerts(const std::string& text);
|
|
100
|
+
|
|
101
|
+
/// One JSON round-trip's result: the status, and the parsed body. An
|
|
102
|
+
/// unparsed body is Null, which every accessor reads as "no value".
|
|
103
|
+
struct Answer {
|
|
104
|
+
int status = 0;
|
|
105
|
+
Json body;
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
/// One JSON round-trip. Network failure is always an error - an
|
|
109
|
+
/// unreachable store is a store that could not answer.
|
|
110
|
+
///
|
|
111
|
+
/// Redirects are never followed: a vault API does not legitimately
|
|
112
|
+
/// redirect, and a followed redirect would carry X-Vault-Token to a host
|
|
113
|
+
/// checkaddr never saw, and could downgrade https to http. Proxies are
|
|
114
|
+
/// never consulted: the GCP and Azure metadata endpoints are not loopback,
|
|
115
|
+
/// and an `http_proxy` in the environment has sent a Vault token in the
|
|
116
|
+
/// clear before. Httpjson.cpp does neither, so there is nothing to switch
|
|
117
|
+
/// off.
|
|
118
|
+
Answer fetchjson(const std::string& method, const std::string& url,
|
|
119
|
+
const Ordered& headers = Ordered(),
|
|
120
|
+
const std::optional<std::string>& body = std::nullopt);
|
|
121
|
+
|
|
122
|
+
/// A field's text, or nothing.
|
|
123
|
+
std::optional<std::string> textof(const Json& val);
|
|
124
|
+
|
|
125
|
+
/// RFC 3986 escaping, stricter than the usual URL encoder: the unreserved
|
|
126
|
+
/// set is exactly `A-Za-z0-9-_.~`, everything else becomes `%XX` with
|
|
127
|
+
/// UPPERCASE hex, byte by byte over UTF-8. `!\'()*` are escaped too, which
|
|
128
|
+
/// is where this differs from the encoders most standard libraries offer.
|
|
129
|
+
std::string uriescape(const std::string& text);
|
|
130
|
+
|
|
131
|
+
/// Percent-decode, and nothing else: `+` stays `+`, as on the wire, and a
|
|
132
|
+
/// malformed escape is kept literal.
|
|
133
|
+
std::string uridecode(const std::string& text);
|
|
134
|
+
|
|
135
|
+
/// Decode standard (not URL-safe) base64, STRICTLY.
|
|
136
|
+
///
|
|
137
|
+
/// Whitespace is stripped first; anything outside `A-Za-z0-9+/`, more than
|
|
138
|
+
/// two `=`, or a length that is not a multiple of four is a REFUSAL. A
|
|
139
|
+
/// lenient decoder skips bytes it does not know and hands back plausible
|
|
140
|
+
/// bytes for a corrupted payload - which then get returned as the secret.
|
|
141
|
+
/// Call sites: an AWS SecretBinary, a GCP payload, a PEM body.
|
|
142
|
+
bool unbase64(const std::string& text, std::string& out);
|
|
143
|
+
|
|
144
|
+
/// Milliseconds since the epoch. The only clock a provider reads, and it
|
|
145
|
+
/// is read for token renewal alone - never for a signature, which takes
|
|
146
|
+
/// its timestamp from its caller.
|
|
147
|
+
double nowms();
|
|
148
|
+
|
|
149
|
+
/// A renewal time that never comes.
|
|
150
|
+
extern const double NEVER;
|
|
151
|
+
|
|
152
|
+
/// When a logged-in token must be renewed, from its expiry in seconds (a
|
|
153
|
+
/// JSON number, or a string as Azure IMDS sends it): now + max(seconds -
|
|
154
|
+
/// 60, 1). A missing or zero expiry means never renew, which is also what
|
|
155
|
+
/// a configured token gets.
|
|
156
|
+
double renewtime(const Json& expires);
|
|
157
|
+
|
|
158
|
+
} // namespace sekreto
|
|
159
|
+
|
|
160
|
+
#endif
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
// VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (cpp/plugins/Infisical.cpp)
|
|
2
|
+
// Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
|
|
3
|
+
// License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
|
+
#include "Infisical.hpp"
|
|
5
|
+
|
|
6
|
+
#include "Httpjson.hpp"
|
|
7
|
+
#include "../sekreto/Providers.hpp"
|
|
8
|
+
#include "../sekreto/Sekreto.hpp"
|
|
9
|
+
|
|
10
|
+
namespace sekreto {
|
|
11
|
+
|
|
12
|
+
namespace {
|
|
13
|
+
|
|
14
|
+
// -------------------------------------------------------------- infisical
|
|
15
|
+
|
|
16
|
+
/// Infisical.
|
|
17
|
+
///
|
|
18
|
+
/// `api.token` reads the secret keyed `API_TOKEN` (Infisical's own
|
|
19
|
+
/// convention is environment-style keys) at a secret path in one
|
|
20
|
+
/// environment of a project. Auth is a token, or a universal-auth (machine
|
|
21
|
+
/// identity) login with clientid/clientsecret.
|
|
22
|
+
class InfisicalProvider : public Provider {
|
|
23
|
+
public:
|
|
24
|
+
InfisicalProvider(const std::string& addr, const std::string& token,
|
|
25
|
+
const std::string& clientid, const std::string& clientsecret,
|
|
26
|
+
const std::string& project, const std::string& environment,
|
|
27
|
+
const std::string& path)
|
|
28
|
+
: addr_(addr),
|
|
29
|
+
token_(token),
|
|
30
|
+
clientid_(clientid),
|
|
31
|
+
clientsecret_(clientsecret),
|
|
32
|
+
project_(project),
|
|
33
|
+
environment_(environment),
|
|
34
|
+
path_(path) {}
|
|
35
|
+
|
|
36
|
+
std::optional<std::string> lookup(const std::string& name) override {
|
|
37
|
+
std::string useaddr = trimslash(first(addr_, "https://app.infisical.com"));
|
|
38
|
+
checkaddr(useaddr);
|
|
39
|
+
|
|
40
|
+
if (project_.empty() || environment_.empty()) {
|
|
41
|
+
throw SekretoError("sekreto: infisical: no project/environment");
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (!livetoken_.has_value() || nowms() >= renewat_) {
|
|
45
|
+
livetoken_ = login(useaddr);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// envkey here takes NO prefix.
|
|
49
|
+
std::string url = useaddr + "/api/v3/secrets/raw/" + envkey(name) +
|
|
50
|
+
"?workspaceId=" + uriescape(project_) +
|
|
51
|
+
"&environment=" + uriescape(environment_) +
|
|
52
|
+
"&secretPath=" + uriescape(first(path_, "/"));
|
|
53
|
+
|
|
54
|
+
Ordered headers;
|
|
55
|
+
headers.set("authorization", "Bearer " + livetoken_.value_or(""));
|
|
56
|
+
|
|
57
|
+
Answer res = fetchjson("GET", url, headers);
|
|
58
|
+
|
|
59
|
+
if (404 == res.status) return std::nullopt;
|
|
60
|
+
|
|
61
|
+
if (200 != res.status) {
|
|
62
|
+
throw SekretoError("sekreto: infisical error: " + std::to_string(res.status));
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return textof(res.body.get("secret").get("secretValue"));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
std::string describe() const override {
|
|
69
|
+
return "infisical:" + project_ + "/" + environment_;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
private:
|
|
73
|
+
std::string login(const std::string& useaddr) {
|
|
74
|
+
if (!token_.empty()) return token_;
|
|
75
|
+
|
|
76
|
+
if (clientid_.empty() || clientsecret_.empty()) {
|
|
77
|
+
throw SekretoError("sekreto: infisical: no token and no client credentials");
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
Json payload = Json::obj({{"clientId", Json::str(clientid_)},
|
|
81
|
+
{"clientSecret", Json::str(clientsecret_)}});
|
|
82
|
+
|
|
83
|
+
Ordered headers;
|
|
84
|
+
headers.set("content-type", "application/json");
|
|
85
|
+
|
|
86
|
+
Answer res = fetchjson("POST", useaddr + "/api/v1/auth/universal-auth/login", headers,
|
|
87
|
+
Json::stringify(payload));
|
|
88
|
+
|
|
89
|
+
std::optional<std::string> got = textof(res.body.get("accessToken"));
|
|
90
|
+
|
|
91
|
+
if (200 != res.status || !got.has_value() || got.value().empty()) {
|
|
92
|
+
throw SekretoError("sekreto: infisical login failed: " + std::to_string(res.status));
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// camelCase, unlike everyone else's expires_in.
|
|
96
|
+
renewat_ = renewtime(res.body.get("expiresIn"));
|
|
97
|
+
|
|
98
|
+
return got.value();
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
std::string addr_;
|
|
102
|
+
std::string token_;
|
|
103
|
+
std::string clientid_;
|
|
104
|
+
std::string clientsecret_;
|
|
105
|
+
std::string project_;
|
|
106
|
+
std::string environment_;
|
|
107
|
+
std::string path_;
|
|
108
|
+
|
|
109
|
+
std::optional<std::string> livetoken_;
|
|
110
|
+
double renewat_ = NEVER;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
} // namespace
|
|
114
|
+
|
|
115
|
+
Definition infisical() {
|
|
116
|
+
return providerplugin("infisical", [](const ProviderSpec& spec) -> std::shared_ptr<Provider> {
|
|
117
|
+
return std::make_shared<InfisicalProvider>(spec.addr, spec.token, spec.clientid,
|
|
118
|
+
spec.clientsecret, spec.project,
|
|
119
|
+
spec.environment, spec.path);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
} // namespace sekreto
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (cpp/plugins/Infisical.hpp)
|
|
2
|
+
// Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
|
|
3
|
+
// License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
|
+
// Infisical.
|
|
5
|
+
//
|
|
6
|
+
// A PLUGIN, not a built-in: this kind opens a socket, signs a request or
|
|
7
|
+
// spawns a process, so a chain that does not name it links none of that.
|
|
8
|
+
// The calling project includes this header and passes what it declares to
|
|
9
|
+
// the Sekreto constructor (docs/design/plugin-providers.md).
|
|
10
|
+
|
|
11
|
+
#ifndef SEKRETO_PLUGINS_INFISICAL_HPP
|
|
12
|
+
#define SEKRETO_PLUGINS_INFISICAL_HPP
|
|
13
|
+
|
|
14
|
+
#include "../sekreto/Provider.hpp"
|
|
15
|
+
|
|
16
|
+
namespace sekreto {
|
|
17
|
+
|
|
18
|
+
/// The `infisical` provider kind, as a voxgig/plugin definition.
|
|
19
|
+
Definition infisical();
|
|
20
|
+
|
|
21
|
+
} // namespace sekreto
|
|
22
|
+
|
|
23
|
+
#endif
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
// VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (cpp/plugins/Onepassword.cpp)
|
|
2
|
+
// Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
|
|
3
|
+
// License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
|
+
#include "Onepassword.hpp"
|
|
5
|
+
|
|
6
|
+
#include "Httpjson.hpp"
|
|
7
|
+
#include "../sekreto/Providers.hpp"
|
|
8
|
+
#include "../sekreto/Sekreto.hpp"
|
|
9
|
+
|
|
10
|
+
namespace sekreto {
|
|
11
|
+
|
|
12
|
+
namespace {
|
|
13
|
+
|
|
14
|
+
// -------------------------------------------------------------- 1password
|
|
15
|
+
|
|
16
|
+
/// 1Password, through a Connect server.
|
|
17
|
+
///
|
|
18
|
+
/// The item titled `api.token` (titles keep their dots), in the named
|
|
19
|
+
/// vault. The value is the field with purpose PASSWORD, or the field
|
|
20
|
+
/// labelled `value`. A vault that cannot be found is an ERROR - config
|
|
21
|
+
/// names it, so its absence is a broken store, not a missing secret.
|
|
22
|
+
class OnepasswordProvider : public Provider {
|
|
23
|
+
public:
|
|
24
|
+
OnepasswordProvider(const std::string& addr, const std::string& token,
|
|
25
|
+
const std::string& vault)
|
|
26
|
+
: addr_(addr), token_(token), vault_(vault) {}
|
|
27
|
+
|
|
28
|
+
std::optional<std::string> lookup(const std::string& name) override {
|
|
29
|
+
checkname(name);
|
|
30
|
+
|
|
31
|
+
std::string useaddr = trimslash(addr_);
|
|
32
|
+
if (useaddr.empty()) throw SekretoError("sekreto: onepassword: no addr");
|
|
33
|
+
checkaddr(useaddr);
|
|
34
|
+
|
|
35
|
+
if (!vaultid_.has_value()) vaultid_ = resolvevault(useaddr);
|
|
36
|
+
|
|
37
|
+
std::string id = vaultid_.value();
|
|
38
|
+
|
|
39
|
+
std::string filter = uriescape("title eq \"" + name + "\"");
|
|
40
|
+
Answer found =
|
|
41
|
+
fetchjson("GET", useaddr + "/v1/vaults/" + id + "/items?filter=" + filter, auth());
|
|
42
|
+
|
|
43
|
+
if (200 != found.status || !found.body.isarr()) {
|
|
44
|
+
throw SekretoError("sekreto: onepassword error: " + std::to_string(found.status) +
|
|
45
|
+
": finding " + name);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if (found.body.arrval.empty()) return std::nullopt;
|
|
49
|
+
|
|
50
|
+
std::string itemid = textof(found.body.arrval[0].get("id")).value_or("");
|
|
51
|
+
Answer item =
|
|
52
|
+
fetchjson("GET", useaddr + "/v1/vaults/" + id + "/items/" + itemid, auth());
|
|
53
|
+
|
|
54
|
+
if (200 != item.status) {
|
|
55
|
+
throw SekretoError("sekreto: onepassword error: " + std::to_string(item.status) +
|
|
56
|
+
": reading " + name);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
Json fields = item.body.get("fields");
|
|
60
|
+
if (!fields.isarr()) return std::nullopt;
|
|
61
|
+
|
|
62
|
+
// Two full passes, in order: a password field wins over a field merely
|
|
63
|
+
// labelled `value`.
|
|
64
|
+
for (const Json& field : fields.arrval) {
|
|
65
|
+
std::string purpose;
|
|
66
|
+
if (field.get("purpose").asstr(purpose) && "PASSWORD" == purpose) {
|
|
67
|
+
return textof(field.get("value"));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
for (const Json& field : fields.arrval) {
|
|
72
|
+
std::string label;
|
|
73
|
+
if (field.get("label").asstr(label) && "value" == label) {
|
|
74
|
+
return textof(field.get("value"));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return std::nullopt;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
std::string describe() const override { return "onepassword:" + vault_; }
|
|
82
|
+
|
|
83
|
+
private:
|
|
84
|
+
Ordered auth() const {
|
|
85
|
+
Ordered out;
|
|
86
|
+
out.set("authorization", "Bearer " + token_);
|
|
87
|
+
return out;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
std::string resolvevault(const std::string& useaddr) {
|
|
91
|
+
if (vault_.empty()) throw SekretoError("sekreto: onepassword: no vault");
|
|
92
|
+
|
|
93
|
+
Answer res = fetchjson("GET", useaddr + "/v1/vaults", auth());
|
|
94
|
+
|
|
95
|
+
if (200 != res.status || !res.body.isarr()) {
|
|
96
|
+
throw SekretoError("sekreto: onepassword error: " + std::to_string(res.status) +
|
|
97
|
+
": listing vaults");
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
for (const Json& entry : res.body.arrval) {
|
|
101
|
+
std::string id = textof(entry.get("id")).value_or("");
|
|
102
|
+
std::string name = textof(entry.get("name")).value_or("");
|
|
103
|
+
|
|
104
|
+
if (vault_ == id || vault_ == name) return id;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
throw SekretoError("sekreto: onepassword: no vault named " + vault_);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
std::string addr_;
|
|
111
|
+
std::string token_;
|
|
112
|
+
std::string vault_;
|
|
113
|
+
|
|
114
|
+
std::optional<std::string> vaultid_;
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
} // namespace
|
|
118
|
+
|
|
119
|
+
Definition onepassword() {
|
|
120
|
+
return providerplugin("onepassword", [](const ProviderSpec& spec) -> std::shared_ptr<Provider> {
|
|
121
|
+
return std::make_shared<OnepasswordProvider>(spec.addr, spec.token, spec.vault);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
} // namespace sekreto
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (cpp/plugins/Onepassword.hpp)
|
|
2
|
+
// Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
|
|
3
|
+
// License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
|
+
// 1Password, through a Connect server.
|
|
5
|
+
//
|
|
6
|
+
// A PLUGIN, not a built-in: this kind opens a socket, signs a request or
|
|
7
|
+
// spawns a process, so a chain that does not name it links none of that.
|
|
8
|
+
// The calling project includes this header and passes what it declares to
|
|
9
|
+
// the Sekreto constructor (docs/design/plugin-providers.md).
|
|
10
|
+
|
|
11
|
+
#ifndef SEKRETO_PLUGINS_ONEPASSWORD_HPP
|
|
12
|
+
#define SEKRETO_PLUGINS_ONEPASSWORD_HPP
|
|
13
|
+
|
|
14
|
+
#include "../sekreto/Provider.hpp"
|
|
15
|
+
|
|
16
|
+
namespace sekreto {
|
|
17
|
+
|
|
18
|
+
/// The `onepassword` provider kind, as a voxgig/plugin definition.
|
|
19
|
+
Definition onepassword();
|
|
20
|
+
|
|
21
|
+
} // namespace sekreto
|
|
22
|
+
|
|
23
|
+
#endif
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
// VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (cpp/plugins/Proc.cpp)
|
|
2
|
+
// Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260911-2013-0]
|
|
3
|
+
// License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
|
+
#include "Proc.hpp"
|
|
5
|
+
|
|
6
|
+
#include <errno.h>
|
|
7
|
+
#include <fcntl.h>
|
|
8
|
+
#include <poll.h>
|
|
9
|
+
#include <string.h>
|
|
10
|
+
#include <sys/types.h>
|
|
11
|
+
#include <sys/wait.h>
|
|
12
|
+
#include <unistd.h>
|
|
13
|
+
|
|
14
|
+
#include <cstdlib>
|
|
15
|
+
|
|
16
|
+
extern char** environ;
|
|
17
|
+
|
|
18
|
+
namespace sekreto {
|
|
19
|
+
|
|
20
|
+
namespace {
|
|
21
|
+
|
|
22
|
+
/// Where a command lives, searched along PATH, so that "this binary is not
|
|
23
|
+
/// installed" stays a `cannot run` error rather than arriving as a
|
|
24
|
+
/// non-zero exit the miss detection would then have to reason about.
|
|
25
|
+
bool findcommand(const std::string& command, const std::string& path, std::string& out) {
|
|
26
|
+
auto runnable = [](const std::string& candidate) {
|
|
27
|
+
return 0 == ::access(candidate.c_str(), X_OK);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
if (std::string::npos != command.find('/')) {
|
|
31
|
+
if (!runnable(command)) return false;
|
|
32
|
+
out = command;
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
size_t start = 0;
|
|
37
|
+
|
|
38
|
+
while (start <= path.size()) {
|
|
39
|
+
size_t at = path.find(':', start);
|
|
40
|
+
std::string dir =
|
|
41
|
+
(std::string::npos == at) ? path.substr(start) : path.substr(start, at - start);
|
|
42
|
+
|
|
43
|
+
std::string candidate = dir.empty() ? command : dir + "/" + command;
|
|
44
|
+
if (runnable(candidate)) {
|
|
45
|
+
out = candidate;
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if (std::string::npos == at) break;
|
|
50
|
+
start = at + 1;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
} // namespace
|
|
57
|
+
|
|
58
|
+
/// Run a child to completion and collect both its streams.
|
|
59
|
+
///
|
|
60
|
+
/// The two streams are drained CONCURRENTLY, by polling both pipes.
|
|
61
|
+
/// Reading stdout to EOF and only then reading stderr deadlocks the moment
|
|
62
|
+
/// the child writes more than one pipe buffer (64 KiB on Linux) to stderr:
|
|
63
|
+
/// the parent is blocked on stdout, the child is blocked waiting for room
|
|
64
|
+
/// on stderr, and neither can move. Nothing here sets a timeout, so that
|
|
65
|
+
/// hang is permanent - `get()` simply never returns. secretspec's
|
|
66
|
+
/// diagnostics are box-drawn and reach that size easily.
|
|
67
|
+
///
|
|
68
|
+
/// The child's stdin is the null device rather than a pipe nobody writes
|
|
69
|
+
/// to, so a CLI that reads it - one prompting for a passphrase when its
|
|
70
|
+
/// environment variable is absent - sees EOF and gives up instead of
|
|
71
|
+
/// waiting forever.
|
|
72
|
+
///
|
|
73
|
+
/// The argument list is passed as an array, never through a shell, and no
|
|
74
|
+
/// secret is ever put on a command line where the process table publishes
|
|
75
|
+
/// it.
|
|
76
|
+
Ran runcmd(const std::vector<std::string>& argv,
|
|
77
|
+
const std::vector<std::string>& environment, const std::string& command) {
|
|
78
|
+
std::string path;
|
|
79
|
+
for (const std::string& entry : environment) {
|
|
80
|
+
if (0 == entry.compare(0, 5, "PATH=")) path = entry.substr(5);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
std::string binary;
|
|
84
|
+
if (!findcommand(argv[0], path, binary)) {
|
|
85
|
+
throw SekretoError("sekreto: cannot run " + command + ": no such file or directory");
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
int outpipe[2];
|
|
89
|
+
int errpipe[2];
|
|
90
|
+
|
|
91
|
+
if (0 != pipe(outpipe)) {
|
|
92
|
+
throw SekretoError(std::string("sekreto: cannot run ") + command + ": " + strerror(errno));
|
|
93
|
+
}
|
|
94
|
+
if (0 != pipe(errpipe)) {
|
|
95
|
+
::close(outpipe[0]);
|
|
96
|
+
::close(outpipe[1]);
|
|
97
|
+
throw SekretoError(std::string("sekreto: cannot run ") + command + ": " + strerror(errno));
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
std::vector<char*> args;
|
|
101
|
+
for (const std::string& arg : argv) {
|
|
102
|
+
args.push_back(const_cast<char*>(arg.c_str()));
|
|
103
|
+
}
|
|
104
|
+
args.push_back(nullptr);
|
|
105
|
+
|
|
106
|
+
std::vector<char*> envp;
|
|
107
|
+
for (const std::string& entry : environment) {
|
|
108
|
+
envp.push_back(const_cast<char*>(entry.c_str()));
|
|
109
|
+
}
|
|
110
|
+
envp.push_back(nullptr);
|
|
111
|
+
|
|
112
|
+
pid_t child = fork();
|
|
113
|
+
|
|
114
|
+
if (0 > child) {
|
|
115
|
+
::close(outpipe[0]);
|
|
116
|
+
::close(outpipe[1]);
|
|
117
|
+
::close(errpipe[0]);
|
|
118
|
+
::close(errpipe[1]);
|
|
119
|
+
throw SekretoError(std::string("sekreto: cannot run ") + command + ": " + strerror(errno));
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if (0 == child) {
|
|
123
|
+
int null = ::open("/dev/null", O_RDONLY);
|
|
124
|
+
if (0 <= null) {
|
|
125
|
+
dup2(null, STDIN_FILENO);
|
|
126
|
+
::close(null);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
dup2(outpipe[1], STDOUT_FILENO);
|
|
130
|
+
dup2(errpipe[1], STDERR_FILENO);
|
|
131
|
+
|
|
132
|
+
::close(outpipe[0]);
|
|
133
|
+
::close(outpipe[1]);
|
|
134
|
+
::close(errpipe[0]);
|
|
135
|
+
::close(errpipe[1]);
|
|
136
|
+
|
|
137
|
+
execve(binary.c_str(), args.data(), envp.data());
|
|
138
|
+
_exit(127);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
::close(outpipe[1]);
|
|
142
|
+
::close(errpipe[1]);
|
|
143
|
+
|
|
144
|
+
Ran ran;
|
|
145
|
+
std::string errtext;
|
|
146
|
+
|
|
147
|
+
pollfd waiting[2];
|
|
148
|
+
waiting[0].fd = outpipe[0];
|
|
149
|
+
waiting[1].fd = errpipe[0];
|
|
150
|
+
|
|
151
|
+
while (0 <= waiting[0].fd || 0 <= waiting[1].fd) {
|
|
152
|
+
waiting[0].events = POLLIN;
|
|
153
|
+
waiting[1].events = POLLIN;
|
|
154
|
+
waiting[0].revents = 0;
|
|
155
|
+
waiting[1].revents = 0;
|
|
156
|
+
|
|
157
|
+
if (0 > poll(waiting, 2, -1)) {
|
|
158
|
+
if (EINTR == errno) continue;
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
for (int side = 0; side < 2; side++) {
|
|
163
|
+
if (0 > waiting[side].fd || 0 == waiting[side].revents) continue;
|
|
164
|
+
|
|
165
|
+
char buf[4096];
|
|
166
|
+
ssize_t got = ::read(waiting[side].fd, buf, sizeof(buf));
|
|
167
|
+
|
|
168
|
+
if (0 < got) {
|
|
169
|
+
if (0 == side) {
|
|
170
|
+
ran.out.append(buf, static_cast<size_t>(got));
|
|
171
|
+
} else {
|
|
172
|
+
errtext.append(buf, static_cast<size_t>(got));
|
|
173
|
+
}
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (0 > got && EINTR == errno) continue;
|
|
178
|
+
|
|
179
|
+
::close(waiting[side].fd);
|
|
180
|
+
waiting[side].fd = -1;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
if (0 <= waiting[0].fd) ::close(waiting[0].fd);
|
|
185
|
+
if (0 <= waiting[1].fd) ::close(waiting[1].fd);
|
|
186
|
+
|
|
187
|
+
int state = 0;
|
|
188
|
+
while (0 > waitpid(child, &state, 0)) {
|
|
189
|
+
if (EINTR != errno) break;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
ran.status = WIFEXITED(state) ? WEXITSTATUS(state) : 1;
|
|
193
|
+
ran.why = trimtext(errtext);
|
|
194
|
+
|
|
195
|
+
return ran;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/// The process environment as `KEY=value` entries.
|
|
199
|
+
std::vector<std::string> processenv() {
|
|
200
|
+
std::vector<std::string> out;
|
|
201
|
+
|
|
202
|
+
for (char** step = environ; nullptr != *step; step++) {
|
|
203
|
+
out.push_back(*step);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
return out;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
void setenvvar(std::vector<std::string>& environment, const std::string& key,
|
|
210
|
+
const std::string& value) {
|
|
211
|
+
std::string prefix = key + "=";
|
|
212
|
+
|
|
213
|
+
for (std::string& entry : environment) {
|
|
214
|
+
if (0 == entry.compare(0, prefix.size(), prefix)) {
|
|
215
|
+
entry = prefix + value;
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
environment.push_back(prefix + value);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
} // namespace sekreto
|