@voxgig/sdkgen 4.30.0 → 4.30.1
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/package.json +1 -1
- package/project/.sdk/src/cmp/go/PrepareAuth_go.ts +45 -11
- package/project/.sdk/src/cmp/js/PrepareAuth_js.ts +52 -6
- package/project/.sdk/src/cmp/php/PrepareAuth_php.ts +46 -14
- package/project/.sdk/src/cmp/ts/PrepareAuth_ts.ts +51 -6
- package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +10 -3
- package/project/.sdk/tm/c/feature/secrets/plugin/capability.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/capability.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/catalog.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/catalog.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/config.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/config.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/depend.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/depend.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/env.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/env.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/export.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/export.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/graph.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/graph.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/host.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/host.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/order.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/order.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/point.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/point.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/ref.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/ref.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/resolve.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/resolve.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/types.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/types.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/value.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/value.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/version.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/version.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/aws.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/azuresecrets.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/boru.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/clock.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/doppler.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/encode.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/gcpsecrets.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/hashicorp.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/httpjson.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/infisical.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/minivault.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/onepassword.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/proc.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/secretspec.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/sekretoplugins.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/sha256.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/sigv4.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/support.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/tls.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/sekreto/internal.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/sekreto/json.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/sekreto/providers.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/sekreto/sekreto.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/sekreto/sekreto.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/sekreto/util.c +2 -2
- package/project/.sdk/tm/c/tests/vendor/omni/json.c +2 -2
- package/project/.sdk/tm/c/tests/vendor/omni/omni.h +2 -2
- package/project/.sdk/tm/c/tests/vendor/omni/runner.c +2 -2
- package/project/.sdk/tm/c/tests/vendor/omni/util.c +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/capability.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/catalog.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/config.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/depend.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/env.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/export.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/graph.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/host.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/json.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/order.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/point.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/ref.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/resolve.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/types.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/version.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/addr.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/chain.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/core.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/json.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/aws.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/azuresecrets.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/boru.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/doppler.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/gcpsecrets.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/hashicorp.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/httpjson.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/infisical.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/minivault.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/onepassword.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/proc.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/secretspec.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/sigv4.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/provider.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/providers.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto.clj +2 -2
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/json.clj +2 -2
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/runner.clj +2 -2
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/util.clj +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/capability.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/capability.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/catalog.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/catalog.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/config.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/config.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/depend.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/depend.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/env.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/env.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/export.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/export.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/graph.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/graph.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/host.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/host.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/order.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/order.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/point.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/point.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/ref.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/ref.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/resolve.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/resolve.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/types.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/types.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/value.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/value.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/version.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/version.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Aws.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Aws.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Azuresecrets.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Azuresecrets.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Boru.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Boru.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Crypto.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Crypto.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Doppler.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Doppler.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Gcpsecrets.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Gcpsecrets.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Hashicorp.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Hashicorp.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Httpjson.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Httpjson.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Infisical.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Infisical.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Minivault.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Minivault.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Onepassword.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Onepassword.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Proc.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Proc.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Secretspec.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Secretspec.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Sigv4.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Sigv4.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Tls.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Tls.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Json.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Json.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Provider.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Provider.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Providers.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Providers.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Sekreto.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Sekreto.hpp +2 -2
- package/project/.sdk/tm/cpp/test/vendor/omni/json.hpp +2 -2
- package/project/.sdk/tm/cpp/test/vendor/omni/omni.hpp +2 -2
- package/project/.sdk/tm/cpp/test/vendor/omni/util.hpp +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Capability.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Catalog.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Config.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Definition.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Depend.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Entry.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Env.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Export.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Graph.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Host.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Inst.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Json.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Order.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Plugin.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Point.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Refs.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Resolve.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Types.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Version.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Aws.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/AzureSecrets.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Boru.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Child.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Doppler.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/GcpSecrets.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Hashicorp.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/HttpJson.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Infisical.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/MiniVault.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/OnePassword.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/SecretSpec.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Sigv4.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/sekreto/Json.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/sekreto/Providers.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/sekreto/Sekreto.cs +2 -2
- package/project/.sdk/tm/csharp/test/vendor/omni/Runner.cs +2 -2
- package/project/.sdk/tm/csharp/test/vendor/omni/Util.cs +2 -2
- package/project/.sdk/tm/csharp/utility/struct/Struct.cs +4 -21
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/capability.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/catalog.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/config.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/depend.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/env.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/error.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/export.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/graph.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/host.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/inst.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/json.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/order.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/point.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/ref.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/resolve.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/types.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/version.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/voxgig_plugin.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/json.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/aws.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/azuresecrets.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/boru.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/doppler.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/gcpsecrets.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/hashicorp.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/http.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/httpjson.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/infisical.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/minivault.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/onepassword.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/proc.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/secretspec.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/sigv4.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/provider.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/providers.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/sekreto.ex +2 -2
- package/project/.sdk/tm/elixir/test/vendor/omni/json.ex +2 -2
- package/project/.sdk/tm/elixir/test/vendor/omni/runner.ex +2 -2
- package/project/.sdk/tm/elixir/test/vendor/omni/util.ex +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugin/capability.go +2 -62
- package/project/.sdk/tm/go/feature/secrets/plugin/catalog.go +1 -20
- package/project/.sdk/tm/go/feature/secrets/plugin/config.go +18 -94
- package/project/.sdk/tm/go/feature/secrets/plugin/depend.go +1 -97
- package/project/.sdk/tm/go/feature/secrets/plugin/env.go +4 -44
- package/project/.sdk/tm/go/feature/secrets/plugin/export.go +1 -13
- package/project/.sdk/tm/go/feature/secrets/plugin/graph.go +1 -40
- package/project/.sdk/tm/go/feature/secrets/plugin/host.go +11 -301
- package/project/.sdk/tm/go/feature/secrets/plugin/order.go +1 -41
- package/project/.sdk/tm/go/feature/secrets/plugin/point.go +7 -56
- package/project/.sdk/tm/go/feature/secrets/plugin/ref.go +1 -24
- package/project/.sdk/tm/go/feature/secrets/plugin/resolve.go +1 -24
- package/project/.sdk/tm/go/feature/secrets/plugin/types.go +6 -116
- package/project/.sdk/tm/go/feature/secrets/plugin/util.go +1 -11
- package/project/.sdk/tm/go/feature/secrets/plugin/version.go +1 -30
- package/project/.sdk/tm/go/feature/secrets/plugins/aws/aws.go +2 -17
- package/project/.sdk/tm/go/feature/secrets/plugins/aws/sigv4.go +4 -29
- package/project/.sdk/tm/go/feature/secrets/plugins/azuresecrets/azuresecrets.go +2 -13
- package/project/.sdk/tm/go/feature/secrets/plugins/boru/boru.go +2 -26
- package/project/.sdk/tm/go/feature/secrets/plugins/doppler/doppler.go +2 -8
- package/project/.sdk/tm/go/feature/secrets/plugins/gcpsecrets/gcpsecrets.go +2 -13
- package/project/.sdk/tm/go/feature/secrets/plugins/hashicorp/hashicorp.go +2 -16
- package/project/.sdk/tm/go/feature/secrets/plugins/httpjson/httpjson.go +2 -60
- package/project/.sdk/tm/go/feature/secrets/plugins/infisical/infisical.go +2 -8
- package/project/.sdk/tm/go/feature/secrets/plugins/minivault/format.go +2 -62
- package/project/.sdk/tm/go/feature/secrets/plugins/minivault/minivault.go +7 -184
- package/project/.sdk/tm/go/feature/secrets/plugins/onepassword/onepassword.go +2 -8
- package/project/.sdk/tm/go/feature/secrets/plugins/secretspec/secretspec.go +2 -36
- package/project/.sdk/tm/go/feature/secrets/sekreto/addr.go +2 -47
- package/project/.sdk/tm/go/feature/secrets/sekreto/providers.go +43 -170
- package/project/.sdk/tm/go/feature/secrets/sekreto/sekreto.go +4 -123
- package/project/.sdk/tm/go/test/omni/omni.go +2 -36
- package/project/.sdk/tm/go/test/omni/util.go +2 -17
- package/project/.sdk/tm/go/test/pipeline_test.go +4 -1
- package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +11 -201
- package/project/.sdk/tm/java/feature/secrets/plugin/Capability.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Catalog.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Config.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Definition.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Depend.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Entry.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Env.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Export.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Graph.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Host.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Inst.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Json.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Order.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Plugin.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/PluginException.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Point.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Refs.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Resolve.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Types.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Version.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/Addr.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/Builtins.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/Json.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/Provider.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/Sekreto.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/Support.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Aws.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Azuresecrets.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Boru.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Doppler.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Gcpsecrets.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Hashicorp.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Httpjson.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Infisical.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Minivault.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Onepassword.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Proc.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Secretspec.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Sigv4.java +2 -2
- package/project/.sdk/tm/java/test/vendor/omni/Json.java +2 -2
- package/project/.sdk/tm/java/test/vendor/omni/Runner.java +2 -2
- package/project/.sdk/tm/java/test/vendor/omni/Util.java +2 -2
- package/project/.sdk/tm/java/utility/struct/Struct.java +1 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/capability.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/catalog.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/config.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/depend.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/env.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/export.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/graph.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/host.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/index.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/order.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/point.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/ref.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/resolve.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/types.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/version.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/Sekreto.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/index.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/aws.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/azuresecrets.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/boru.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/doppler.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/gcpsecrets.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/hashicorp.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/httpjson.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/infisical.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/minivault.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/onepassword.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/secretspec.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/sigv4.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/addr.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/builtin.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/dotenv.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/env.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/file.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/memory.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/support.js +2 -2
- package/project/.sdk/tm/js/src/utility/StructUtility.js +1 -2
- package/project/.sdk/tm/js/test/pipeline.test.js +9 -1
- 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/secrets/plugin/Capability.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Catalog.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Config.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Depend.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Env.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Export.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Graph.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Host.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Json.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Order.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Plugin.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Point.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Refs.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Resolve.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Types.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Version.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Json.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Provider.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Providers.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Sekreto.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Spec.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Support.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Aws.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Azuresecrets.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Boru.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Doppler.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Gcpsecrets.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Hashicorp.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Httpjson.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Infisical.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Minivault.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Onepassword.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Secretspec.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Sigv4.kt +2 -2
- package/project/.sdk/tm/kotlin/test/vendor/omni/Json.kt +2 -2
- package/project/.sdk/tm/kotlin/test/vendor/omni/Runner.kt +2 -2
- package/project/.sdk/tm/kotlin/test/vendor/omni/Util.kt +2 -2
- package/project/.sdk/tm/kotlin/utility/struct/Struct.kt +1 -1
- package/project/.sdk/tm/lua/feature/secrets/native/sekretonet.c +2 -2
- package/project/.sdk/tm/lua/feature/secrets/native/sekretovault.c +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/capability.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/catalog.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/config.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/depend.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/env.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/export.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/graph.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/host.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/json.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/order.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/point.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/ref.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/resolve.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/types.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/version.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/addr.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/err.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/name.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/aws.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/azuresecrets.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/boru.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/crypto.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/doppler.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/gcpsecrets.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/hashicorp.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/httpjson.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/infisical.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/json.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/minivault.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/net.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/onepassword.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/secretspec.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/sigv4.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/support.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/providers.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto.lua +2 -2
- package/project/.sdk/tm/lua/test/pipeline_test.lua +3 -1
- package/project/.sdk/tm/lua/test/vendor/omni/json.lua +2 -2
- package/project/.sdk/tm/lua/test/vendor/omni/regex.lua +2 -2
- package/project/.sdk/tm/lua/test/vendor/omni/runner.lua +2 -2
- package/project/.sdk/tm/lua/test/vendor/omni/util.lua +2 -2
- package/project/.sdk/tm/lua/utility/struct/regex.lua +1 -1
- package/project/.sdk/tm/lua/utility/struct/struct.lua +1 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/capability.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/catalog.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/config.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/defs.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/depend.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/env.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/export.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/graph.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/host.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/order.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/point.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/ref.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/resolve.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/types.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/value.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/version.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/aws.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/azuresecrets.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/boru.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/crypto.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/doppler.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/gcpsecrets.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/hashicorp.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/http.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/httpjson.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/infisical.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/minivault.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/minivault_stubs.c +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/onepassword.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/runcmd.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/secretspec.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/sigv4.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/tls.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/tls_stubs.c +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/sekreto/json.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/sekreto/provider.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/sekreto/secret.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/sekreto/sekreto.ml +2 -2
- package/project/.sdk/tm/ocaml/test/vendor/omni/omni.ml +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Capability.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Catalog.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Config.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Depend.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Env.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Export.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Graph.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Host.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Order.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Point.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Ref.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Resolve.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Types.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Version.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Aws.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Azuresecrets.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Boru.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Doppler.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Gcpsecrets.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Hashicorp.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Httpjson.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Infisical.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Minivault.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Onepassword.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Proc.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Secretspec.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Sigv4.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Addr.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Providers.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto.pm +2 -2
- package/project/.sdk/tm/perl/lib/Voxgig/Struct.pm +8 -3
- package/project/.sdk/tm/perl/t/pipeline.t +3 -1
- 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/secrets/plugin/Capability.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Catalog.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Config.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Depend.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Env.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Export.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Graph.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Host.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Order.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Point.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Ref.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Resolve.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Types.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Version.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/plugin.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/aws.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/azuresecrets.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/boru.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/doppler.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/gcpsecrets.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/hashicorp.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/httpjson.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/infisical.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/minivault.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/onepassword.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/runcmd.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/secretspec.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/sigv4.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/src/Addr.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/src/Providers.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/src/Sekreto.php +2 -2
- package/project/.sdk/tm/php/test/PipelineTest.php +7 -2
- package/project/.sdk/tm/php/test/vendor/omni/Runner.php +2 -2
- package/project/.sdk/tm/php/test/vendor/omni/Util.php +2 -2
- package/project/.sdk/tm/php/utility/struct/Struct.php +0 -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/minivault.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/utility/voxgig_struct/voxgig_struct.py +1 -2
- package/project/.sdk/tm/py/test/test_pipeline.py +3 -1
- 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 +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/catalog.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/config.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/depend.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/env.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/export.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/graph.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/host.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/order.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/point.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/ref.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/resolve.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/types.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/version.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/addr.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/aws.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/azuresecrets.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/boru.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/doppler.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/hashicorp.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/httpjson.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/infisical.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/minivault.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/onepassword.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/secretspec.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/sigv4.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/providers.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/sekreto.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto.rb +2 -2
- package/project/.sdk/tm/rb/test/pipeline_test.rb +3 -1
- package/project/.sdk/tm/rb/test/vendor/omni/runner.rb +2 -2
- package/project/.sdk/tm/rb/test/vendor/omni/util.rb +2 -2
- package/project/.sdk/tm/rb/test/vendor/omni/voxgig_omni.rb +2 -2
- package/project/.sdk/tm/rb/utility/struct/voxgig_struct.rb +0 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/capability.rs +2 -43
- package/project/.sdk/tm/rust/feature/secrets/plugin/catalog.rs +2 -10
- package/project/.sdk/tm/rust/feature/secrets/plugin/config.rs +12 -57
- package/project/.sdk/tm/rust/feature/secrets/plugin/depend.rs +2 -83
- package/project/.sdk/tm/rust/feature/secrets/plugin/env.rs +2 -35
- package/project/.sdk/tm/rust/feature/secrets/plugin/export.rs +2 -13
- package/project/.sdk/tm/rust/feature/secrets/plugin/graph.rs +2 -27
- package/project/.sdk/tm/rust/feature/secrets/plugin/host.rs +2 -173
- package/project/.sdk/tm/rust/feature/secrets/plugin/mod.rs +2 -2
- package/project/.sdk/tm/rust/feature/secrets/plugin/order.rs +2 -40
- package/project/.sdk/tm/rust/feature/secrets/plugin/point.rs +2 -31
- package/project/.sdk/tm/rust/feature/secrets/plugin/refs.rs +2 -28
- package/project/.sdk/tm/rust/feature/secrets/plugin/resolve.rs +2 -14
- package/project/.sdk/tm/rust/feature/secrets/plugin/types.rs +2 -28
- package/project/.sdk/tm/rust/feature/secrets/plugin/value.rs +2 -29
- package/project/.sdk/tm/rust/feature/secrets/plugin/version.rs +2 -21
- package/project/.sdk/tm/rust/feature/secrets/plugins/aws/crypto.rs +3 -18
- package/project/.sdk/tm/rust/feature/secrets/plugins/aws/sigv4.rs +2 -24
- package/project/.sdk/tm/rust/feature/secrets/plugins/aws.rs +2 -21
- package/project/.sdk/tm/rust/feature/secrets/plugins/azuresecrets.rs +2 -13
- package/project/.sdk/tm/rust/feature/secrets/plugins/boru.rs +2 -28
- package/project/.sdk/tm/rust/feature/secrets/plugins/doppler.rs +2 -8
- package/project/.sdk/tm/rust/feature/secrets/plugins/gcpsecrets.rs +2 -13
- package/project/.sdk/tm/rust/feature/secrets/plugins/hashicorp.rs +2 -16
- package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/http.rs +2 -92
- package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/json.rs +2 -8
- package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson.rs +2 -31
- package/project/.sdk/tm/rust/feature/secrets/plugins/infisical.rs +2 -8
- package/project/.sdk/tm/rust/feature/secrets/plugins/minivault/format.rs +2 -58
- package/project/.sdk/tm/rust/feature/secrets/plugins/minivault.rs +3 -139
- package/project/.sdk/tm/rust/feature/secrets/plugins/onepassword.rs +2 -8
- package/project/.sdk/tm/rust/feature/secrets/plugins/secretspec.rs +2 -39
- package/project/.sdk/tm/rust/feature/secrets/sekreto/addr.rs +2 -54
- package/project/.sdk/tm/rust/feature/secrets/sekreto/mod.rs +2 -31
- package/project/.sdk/tm/rust/feature/secrets/sekreto/providers.rs +2 -129
- package/project/.sdk/tm/rust/feature/secrets/sekreto/sekreto.rs +2 -101
- package/project/.sdk/tm/rust/tests/vendor/omni/json.rs +2 -8
- package/project/.sdk/tm/rust/tests/vendor/omni/mod.rs +3 -19
- package/project/.sdk/tm/rust/tests/vendor/omni/regex.rs +2 -12
- package/project/.sdk/tm/rust/tests/vendor/omni/runner.rs +2 -64
- package/project/.sdk/tm/rust/tests/vendor/omni/util.rs +2 -7
- package/project/.sdk/tm/scala/feature/secrets/plugin/Capability.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Config.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Depend.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Env.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Export.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Graph.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Host.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Json.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Order.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Plugin.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Point.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Refs.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Resolve.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Types.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Value.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Version.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Json.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Provider.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Providers.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Sekreto.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Spec.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Support.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Aws.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Azuresecrets.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Boru.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Doppler.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Gcpsecrets.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Hashicorp.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Httpjson.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Infisical.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Minivault.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Onepassword.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Secretspec.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Sigv4.scala +2 -2
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Json.scala +2 -2
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Runner.scala +2 -2
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Util.scala +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Capability.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Catalog.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Config.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Depend.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Env.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Export.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Graph.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Host.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Json.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Order.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Point.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Refs.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Resolve.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Types.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Value.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Version.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Aws.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Azuresecrets.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Boru.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Crypto.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Doppler.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Gcpsecrets.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Hashicorp.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Httpjson.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Infisical.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Onepassword.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Proc.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Secretspec.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Sigv4.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Addr.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Json.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Provider.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Providers.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Sekreto.swift +2 -2
- package/project/.sdk/tm/swift/Tests/vendor/omni/Json.swift +2 -2
- package/project/.sdk/tm/swift/Tests/vendor/omni/Runner.swift +2 -2
- package/project/.sdk/tm/swift/Tests/vendor/omni/Util.swift +2 -2
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Capability.ts +1 -48
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Catalog.ts +1 -7
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Config.ts +17 -77
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Depend.ts +1 -89
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Env.ts +1 -37
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Export.ts +1 -23
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/FeatureHost.ts +1 -178
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Graph.ts +1 -44
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Host.ts +4 -351
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Order.ts +1 -53
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Point.ts +2 -40
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Ref.ts +1 -31
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Resolve.ts +1 -20
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Types.ts +1 -44
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Version.ts +1 -34
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/index.ts +1 -5
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/Sekreto.ts +2 -131
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/index.ts +1 -21
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/aws.ts +1 -16
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/azuresecrets.ts +1 -12
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/boru.ts +1 -27
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/doppler.ts +1 -7
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/gcpsecrets.ts +1 -12
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/hashicorp.ts +1 -15
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/httpjson.ts +1 -35
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/infisical.ts +1 -7
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/minivault.ts +1 -212
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/onepassword.ts +1 -7
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/secretspec.ts +1 -23
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/sigv4.ts +2 -32
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/addr.ts +1 -45
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/builtin.ts +1 -10
- 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 -9
- 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 -108
- package/project/.sdk/tm/ts/src/utility/StructUtility.ts +35 -393
- package/project/.sdk/tm/ts/test/pipeline.test.ts +3 -1
- package/project/.sdk/tm/ts/test/vendor/omni/Runner.ts +1 -59
- package/project/.sdk/tm/ts/test/vendor/omni/Util.ts +1 -19
- package/project/.sdk/tm/ts/test/vendor/omni/index.ts +1 -1
- package/project/.sdk/tm/zig/feature/secrets/plugin/capability.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/catalog.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/config.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/depend.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/env.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/export.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/graph.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/host.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/inst.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/order.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/plugin.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/point.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/ref.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/resolve.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/types.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/value.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/version.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/aws.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/azuresecrets.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/boru.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/doppler.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/gcpsecrets.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/hashicorp.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/httpjson.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/infisical.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/minivault.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/onepassword.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/secretspec.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/sigv4.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/sekreto/addr.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/sekreto/builtins.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/sekreto/provider.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/sekreto/sekreto.zig +2 -2
- package/project/.sdk/tm/zig/test/vendor/omni/omni.zig +2 -2
- package/project/.sdk/tm/zig/test/vendor/omni/regex.zig +2 -2
- package/project/.sdk/tm/zig/utility/voxgigstruct/regex.zig +2 -2
- package/project/.sdk/tm/zig/utility/voxgigstruct/struct.zig +2 -2
- package/project/sdkgen-package.json +1 -1
|
@@ -1,33 +1,8 @@
|
|
|
1
1
|
// VENDORED: @voxgig/sekreto 0.2.0 (typescript/plugins/minivault.ts)
|
|
2
|
-
// Source: https://github.com/voxgig/sekreto @
|
|
2
|
+
// Source: https://github.com/voxgig/sekreto @ 163f537960de6813cc393b89843949ca3afa8cfc [tag: sdk-20260925-1316-0]
|
|
3
3
|
// License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
4
|
/* Copyright (c) 2025 Voxgig Ltd, MIT License */
|
|
5
5
|
|
|
6
|
-
// A mini vault: every secret a project owns, encrypted, in ONE FILE.
|
|
7
|
-
//
|
|
8
|
-
// The store to reach for before there is a vault server. There is nothing
|
|
9
|
-
// to run and nothing to reach over a socket - the whole store is a single
|
|
10
|
-
// binary file - and the same chain that reads it in development reads
|
|
11
|
-
// HashiCorp or AWS in production by changing config, which is the reason
|
|
12
|
-
// sekreto exists.
|
|
13
|
-
//
|
|
14
|
-
// It is a plugin rather than a built-in kind because it needs crypto,
|
|
15
|
-
// which is the line the four built-ins stay behind
|
|
16
|
-
// (docs/design/plugin-providers.md).
|
|
17
|
-
//
|
|
18
|
-
// THE KEY DECIDES WHAT THE VAULT HOLDS. A master key reads and writes
|
|
19
|
-
// every name and mints restricted keys. A restricted key reads the names
|
|
20
|
-
// it was granted and CANNOT DERIVE ANY OTHER - the restriction is the
|
|
21
|
-
// cryptography rather than a check this code performs, so a copy of the
|
|
22
|
-
// file plus a restricted passphrase yields exactly what was granted and
|
|
23
|
-
// nothing else. What that does and does not protect is set out in
|
|
24
|
-
// DOCS.md under "What the mini vault protects", because a store
|
|
25
|
-
// described as more than it is gets deployed as more than it is.
|
|
26
|
-
//
|
|
27
|
-
// node:crypto and node:fs are loaded on first use, like every other
|
|
28
|
-
// platform module a plugin needs: a consumer that configured no
|
|
29
|
-
// minivault never evaluates them, and a runtime without them fails at
|
|
30
|
-
// the point of use, naming what it lacks.
|
|
31
6
|
|
|
32
7
|
import { PluginError } from '../../plugin'
|
|
33
8
|
|
|
@@ -48,53 +23,19 @@ function fs(): Fs {
|
|
|
48
23
|
}
|
|
49
24
|
|
|
50
25
|
|
|
51
|
-
// --- the format ------------------------------------------------------
|
|
52
|
-
//
|
|
53
|
-
// magic 4 'SKMV'
|
|
54
|
-
// version 1 FORMAT
|
|
55
|
-
// kdf 1 1 = PBKDF2-HMAC-SHA256
|
|
56
|
-
// cipher 1 1 = AES-256-GCM
|
|
57
|
-
// reserved 1 0
|
|
58
|
-
// keycount 4 uint32
|
|
59
|
-
// per key:
|
|
60
|
-
// id 1 + bytes the key id, PLAINTEXT
|
|
61
|
-
// salt 1 + bytes
|
|
62
|
-
// iters 4 PBKDF2 rounds for this key
|
|
63
|
-
// ring 1 + iv, 4 + bytes sealed under the passphrase
|
|
64
|
-
// meta 1 + iv, 4 + bytes sealed under the vault's meta key
|
|
65
|
-
// entrycount 4 uint32
|
|
66
|
-
// per entry:
|
|
67
|
-
// id 1 + bytes the blinded lookup id
|
|
68
|
-
// name 1 + iv, 4 + bytes sealed under the vault's name key
|
|
69
|
-
// value 1 + iv, 4 + bytes sealed under that secret's own key
|
|
70
|
-
//
|
|
71
|
-
// Integers are big-endian, and every length precedes its bytes, so a
|
|
72
|
-
// port writes the file with the same two primitives it reads it with.
|
|
73
|
-
// A file one port writes is read by every other; `test/fixture` pins
|
|
74
|
-
// that with a committed vault rather than with agreement, because a
|
|
75
|
-
// format two implementations merely agree about is one that drifts.
|
|
76
|
-
//
|
|
77
|
-
// NOTHING OUTSIDE A KEY RECORD IS PLAINTEXT. Secret names are sealed,
|
|
78
|
-
// and an entry is addressed by a blinded id derived from its own key,
|
|
79
|
-
// so a restricted key finds the entries it was granted without the file
|
|
80
|
-
// ever naming the rest. What the file does show anyone is the key ids
|
|
81
|
-
// and how many secrets there are.
|
|
82
26
|
|
|
83
27
|
const MAGIC = 'SKMV'
|
|
84
28
|
const FORMAT = 1
|
|
85
29
|
const KDF_PBKDF2 = 1
|
|
86
30
|
const CIPHER_AESGCM = 1
|
|
87
31
|
|
|
88
|
-
/** AES-256-GCM: 32-byte keys, 12-byte nonces, 16-byte tags. */
|
|
89
32
|
const KEYLEN = 32
|
|
90
33
|
const IVLEN = 12
|
|
91
34
|
const TAGLEN = 16
|
|
92
35
|
const SALTLEN = 16
|
|
93
36
|
|
|
94
|
-
/** PBKDF2-HMAC-SHA256 rounds when a caller names none. */
|
|
95
37
|
export const ITERATIONS = 210000
|
|
96
38
|
|
|
97
|
-
/** The key id a vault gets when a caller names none. */
|
|
98
39
|
export const MASTERKEY = 'master'
|
|
99
40
|
|
|
100
41
|
// Additional authenticated data. Every blob is bound to its PLACE in the
|
|
@@ -117,13 +58,6 @@ function fail(text: string): never {
|
|
|
117
58
|
throw new SekretoError('sekreto: minivault: ' + text)
|
|
118
59
|
}
|
|
119
60
|
|
|
120
|
-
/** The largest key id the format can record.
|
|
121
|
-
*
|
|
122
|
-
* `small` writes a length in ONE byte. A longer id wrapped that byte and
|
|
123
|
-
* the writer then appended the whole thing, so every field after it
|
|
124
|
-
* shifted: a `grant` with a 300-character id replaced a working vault
|
|
125
|
-
* with an unreadable one, and said nothing. Checked where an id is
|
|
126
|
-
* ACCEPTED, so the refusal names the id rather than the file. */
|
|
127
61
|
const IDMAX = 255
|
|
128
62
|
|
|
129
63
|
function checkid(id: string, what: string): string {
|
|
@@ -137,24 +71,15 @@ function checkid(id: string, what: string): string {
|
|
|
137
71
|
}
|
|
138
72
|
|
|
139
73
|
|
|
140
|
-
// --- keys ------------------------------------------------------------
|
|
141
74
|
|
|
142
75
|
function hmac(key: Buffer, text: string): Buffer {
|
|
143
76
|
return crypto().createHmac('sha256', key).update(text, 'utf8').digest()
|
|
144
77
|
}
|
|
145
78
|
|
|
146
|
-
/** The key-encryption key a passphrase unwraps a ring with. */
|
|
147
79
|
function kek(passphrase: string, salt: Buffer, iters: number): Buffer {
|
|
148
80
|
return crypto().pbkdf2Sync(passphrase, salt, iters, KEYLEN, 'sha256')
|
|
149
81
|
}
|
|
150
82
|
|
|
151
|
-
/** The key one named secret's value is encrypted with.
|
|
152
|
-
*
|
|
153
|
-
* DERIVED, never stored, for a master: it holds the root key and so
|
|
154
|
-
* reaches every name, including ones written after it was made. A
|
|
155
|
-
* restricted key holds the derived keys it was granted and nothing that
|
|
156
|
-
* produces another, so every other name is ciphertext to it in exactly
|
|
157
|
-
* the way it is to a stranger. */
|
|
158
83
|
function secretkey(root: Buffer, name: string): Buffer {
|
|
159
84
|
return hmac(root, AAD_SECRET + name)
|
|
160
85
|
}
|
|
@@ -171,7 +96,6 @@ function random(len: number): Buffer {
|
|
|
171
96
|
}
|
|
172
97
|
|
|
173
98
|
|
|
174
|
-
// --- sealing ---------------------------------------------------------
|
|
175
99
|
|
|
176
100
|
type Sealed = { iv: Buffer, blob: Buffer }
|
|
177
101
|
|
|
@@ -230,14 +154,11 @@ function unb64(text: any, what: string): Buffer {
|
|
|
230
154
|
}
|
|
231
155
|
|
|
232
156
|
|
|
233
|
-
// --- the file --------------------------------------------------------
|
|
234
157
|
|
|
235
158
|
type KeyRecord = { id: string, salt: Buffer, iters: number, ring: Sealed, meta: Sealed }
|
|
236
159
|
type EntryRecord = { id: Buffer, name: Sealed, value: Sealed }
|
|
237
160
|
type VaultFile = { keys: KeyRecord[], entries: EntryRecord[] }
|
|
238
161
|
|
|
239
|
-
/** A cursor, so that every length check is in one place: a truncated
|
|
240
|
-
* vault is refused rather than read as a short one. */
|
|
241
162
|
function reader(bytes: Buffer) {
|
|
242
163
|
let at = 0
|
|
243
164
|
|
|
@@ -332,8 +253,6 @@ function writefile(vault: VaultFile): Buffer {
|
|
|
332
253
|
sealed(key.meta)
|
|
333
254
|
}
|
|
334
255
|
|
|
335
|
-
// SORTED BY ID, which is a blinded value: the file therefore records
|
|
336
|
-
// nothing about the order secrets were written in.
|
|
337
256
|
const entries = [...vault.entries].sort((left, right) => Buffer.compare(left.id, right.id))
|
|
338
257
|
|
|
339
258
|
u32(entries.length)
|
|
@@ -347,7 +266,6 @@ function writefile(vault: VaultFile): Buffer {
|
|
|
347
266
|
}
|
|
348
267
|
|
|
349
268
|
|
|
350
|
-
// --- what a key is ---------------------------------------------------
|
|
351
269
|
|
|
352
270
|
/** A detached copy, so that what a caller is handed cannot become what
|
|
353
271
|
* this vault believes. */
|
|
@@ -360,8 +278,6 @@ function copyinfo(info: VaultKeyInfo): VaultKeyInfo {
|
|
|
360
278
|
}
|
|
361
279
|
}
|
|
362
280
|
|
|
363
|
-
/** What a key may do. `grants` is empty for a master key, which reads
|
|
364
|
-
* and writes every name there is. */
|
|
365
281
|
export type VaultKeyInfo = {
|
|
366
282
|
key: string
|
|
367
283
|
master: boolean
|
|
@@ -370,7 +286,6 @@ export type VaultKeyInfo = {
|
|
|
370
286
|
}
|
|
371
287
|
|
|
372
288
|
export type GrantSpec = {
|
|
373
|
-
/** The id the new key answers to. */
|
|
374
289
|
key: string
|
|
375
290
|
/** Its passphrase. Nothing else unwraps it, and no master can recover
|
|
376
291
|
* it - a lost restricted passphrase is re-granted, never read back. */
|
|
@@ -378,20 +293,14 @@ export type GrantSpec = {
|
|
|
378
293
|
/** The names it may read. A name that does not exist yet is allowed
|
|
379
294
|
* and means what it says: the key reads it once a master writes it. */
|
|
380
295
|
names: string[]
|
|
381
|
-
/** May it overwrite the values it can read? Default false. */
|
|
382
296
|
write?: boolean
|
|
383
|
-
/** PBKDF2 rounds for this key, defaulting to the opening handle's. */
|
|
384
297
|
iterations?: number
|
|
385
298
|
}
|
|
386
299
|
|
|
387
300
|
export type VaultOptions = {
|
|
388
|
-
/** The vault file. */
|
|
389
301
|
file: string
|
|
390
|
-
/** Which key to open with. Default `master`. */
|
|
391
302
|
key?: string
|
|
392
303
|
passphrase: string
|
|
393
|
-
/** PBKDF2 rounds used when this call CREATES a key. Reading uses what
|
|
394
|
-
* the file records for the key being opened. */
|
|
395
304
|
iterations?: number
|
|
396
305
|
/** Make the file, with this key as its master, if it is not there.
|
|
397
306
|
*
|
|
@@ -401,36 +310,17 @@ export type VaultOptions = {
|
|
|
401
310
|
create?: boolean
|
|
402
311
|
}
|
|
403
312
|
|
|
404
|
-
/** A handle on one vault file, opened as ONE key.
|
|
405
|
-
*
|
|
406
|
-
* Every method answers as that key: `list` shows the names it may read,
|
|
407
|
-
* `get` answers for those and misses on the rest, and the master-only
|
|
408
|
-
* methods refuse for any other key. Nothing is read or derived until the
|
|
409
|
-
* first call that needs the file, so putting a vault in a chain costs no
|
|
410
|
-
* key derivation until a secret is actually wanted. */
|
|
411
313
|
export type MiniVault = {
|
|
412
|
-
/** The file this handle reads. */
|
|
413
314
|
file: () => string
|
|
414
|
-
/** The key id this handle opens with. */
|
|
415
315
|
key: () => string
|
|
416
|
-
/** Derive the key and read the file NOW rather than at first use. */
|
|
417
316
|
open: () => VaultKeyInfo
|
|
418
|
-
/** Forget the derived keys. The next call opens again. */
|
|
419
317
|
close: () => void
|
|
420
|
-
/** The names this key can read, sorted. */
|
|
421
318
|
list: () => string[]
|
|
422
319
|
has: (name: string) => boolean
|
|
423
|
-
/** The value, or undefined when the vault does not hold that name or
|
|
424
|
-
* this key was not granted it. */
|
|
425
320
|
get: (name: string) => string | undefined
|
|
426
|
-
/** Write a value. A master writes any name; a restricted key holding
|
|
427
|
-
* `write` overwrites the names it was granted, and creates none. */
|
|
428
321
|
set: (name: string, value: string) => void
|
|
429
|
-
/** Drop a name. Master only. */
|
|
430
322
|
remove: (name: string) => void
|
|
431
|
-
/** Every key in the file, with what it may do. Master only. */
|
|
432
323
|
keys: () => VaultKeyInfo[]
|
|
433
|
-
/** Mint a restricted key. Master only. */
|
|
434
324
|
grant: (spec: GrantSpec) => void
|
|
435
325
|
/** Drop a key. Master only.
|
|
436
326
|
*
|
|
@@ -438,19 +328,11 @@ export type MiniVault = {
|
|
|
438
328
|
* read, so revoking bars future reads of the LIVE file and `rotate` is
|
|
439
329
|
* what takes a secret back. */
|
|
440
330
|
revoke: (key: string) => void
|
|
441
|
-
/** A new root key, every value re-encrypted under it, and EVERY OTHER
|
|
442
|
-
* KEY DROPPED. Master only.
|
|
443
|
-
*
|
|
444
|
-
* The other keys go because they must: their rings are sealed under
|
|
445
|
-
* passphrases this process does not have, so there is no way to hand
|
|
446
|
-
* them keys they can unwrap. Re-grant afterwards. */
|
|
447
331
|
rotate: () => void
|
|
448
332
|
}
|
|
449
333
|
|
|
450
334
|
|
|
451
|
-
// --- creating --------------------------------------------------------
|
|
452
335
|
|
|
453
|
-
/** A new vault: one master key, no secrets. */
|
|
454
336
|
function newvault(keyid: string, passphrase: string, iterations: number): VaultFile {
|
|
455
337
|
const root = random(KEYLEN)
|
|
456
338
|
const salt = random(SALTLEN)
|
|
@@ -472,15 +354,6 @@ function newvault(keyid: string, passphrase: string, iterations: number): VaultF
|
|
|
472
354
|
}
|
|
473
355
|
}
|
|
474
356
|
|
|
475
|
-
/** Write a vault file that is not there yet, and REFUSE one that is.
|
|
476
|
-
*
|
|
477
|
-
* Straight to the target under `wx` — `O_CREAT|O_EXCL` — rather than
|
|
478
|
-
* through a temporary and a rename. `rename` REPLACES its destination,
|
|
479
|
-
* so two processes creating the same vault both succeeded and the
|
|
480
|
-
* second discarded the first one's secrets; `existsSync` beforehand
|
|
481
|
-
* only narrows that window. There is nothing to lose by writing the
|
|
482
|
-
* target directly here, because there is no file to damage: either this
|
|
483
|
-
* call creates it or the call fails. */
|
|
484
357
|
function putnew(file: string, vault: VaultFile): void {
|
|
485
358
|
try {
|
|
486
359
|
fs().writeFileSync(file, writefile(vault), { mode: 0o600, flag: 'wx' })
|
|
@@ -493,10 +366,7 @@ function putnew(file: string, vault: VaultFile): void {
|
|
|
493
366
|
}
|
|
494
367
|
|
|
495
368
|
|
|
496
|
-
// --- opening ---------------------------------------------------------
|
|
497
369
|
|
|
498
|
-
/** The ring, as stored: EITHER a root key (master) OR a fixed set of
|
|
499
|
-
* derived per-secret keys (restricted). */
|
|
500
370
|
type Ring = { v: number, write: boolean, root?: string, grants?: Record<string, string> }
|
|
501
371
|
|
|
502
372
|
/** What a master recorded about a key when it minted it, sealed under
|
|
@@ -506,7 +376,6 @@ type Meta = { v: number, master: boolean, write: boolean, grants: string[] }
|
|
|
506
376
|
|
|
507
377
|
type Opened = {
|
|
508
378
|
info: VaultKeyInfo
|
|
509
|
-
/** Present for a master key only. */
|
|
510
379
|
root?: Buffer
|
|
511
380
|
/** The per-name keys this key was granted. Empty for a master, which
|
|
512
381
|
* derives them from the root key instead. */
|
|
@@ -518,16 +387,10 @@ type Opened = {
|
|
|
518
387
|
ring: Sealed
|
|
519
388
|
}
|
|
520
389
|
|
|
521
|
-
/** Is this the same sealed blob, byte for byte? */
|
|
522
390
|
function sameseal(left: Sealed, right: Sealed): boolean {
|
|
523
391
|
return 0 === Buffer.compare(left.iv, right.iv) && 0 === Buffer.compare(left.blob, right.blob)
|
|
524
392
|
}
|
|
525
393
|
|
|
526
|
-
/** Open a vault file as one key.
|
|
527
|
-
*
|
|
528
|
-
* The handle is lazy. Nothing is read, and no passphrase is stretched,
|
|
529
|
-
* until a method needs the file - so a chain of ten providers costs ten
|
|
530
|
-
* objects rather than ten PBKDF2 runs. */
|
|
531
394
|
export function openvault(options: VaultOptions): MiniVault {
|
|
532
395
|
const opts = options || ({} as VaultOptions)
|
|
533
396
|
const file = opts.file
|
|
@@ -549,11 +412,6 @@ export function openvault(options: VaultOptions): MiniVault {
|
|
|
549
412
|
try {
|
|
550
413
|
return fs().readFileSync(file)
|
|
551
414
|
} catch (err: any) {
|
|
552
|
-
// A vault is configured deliberately, with a key. Its absence is a
|
|
553
|
-
// broken deployment and never "no secrets here": answering a miss
|
|
554
|
-
// would send the chain on to a weaker store, which is the failure
|
|
555
|
-
// mode this library most has to avoid. `create` is the caller
|
|
556
|
-
// saying the opposite, in writing.
|
|
557
415
|
if ('ENOENT' === err.code) {
|
|
558
416
|
if (true !== opts.create) {
|
|
559
417
|
fail('no vault file: ' + file)
|
|
@@ -656,16 +514,6 @@ export function openvault(options: VaultOptions): MiniVault {
|
|
|
656
514
|
}
|
|
657
515
|
}
|
|
658
516
|
|
|
659
|
-
/** Read, change, and REPLACE - never edit in place. The rename is what
|
|
660
|
-
* makes a concurrent reader see either the old file or the new one, so
|
|
661
|
-
* a write interrupted halfway leaves a vault rather than wreckage.
|
|
662
|
-
*
|
|
663
|
-
* THE TEMPORARY IS RANDOM AND EXCLUSIVE. `<vault>.<pid>.tmp` is a name
|
|
664
|
-
* anyone can predict, so anyone who can write the vault's directory
|
|
665
|
-
* could put a symlink there and have the next save truncate whatever
|
|
666
|
-
* it pointed at. `wx` is `O_CREAT|O_EXCL`, which POSIX refuses on a
|
|
667
|
-
* symlink, and the random suffix stops two writers in one process
|
|
668
|
-
* colliding on the path. */
|
|
669
517
|
const save = (vault: VaultFile): void => {
|
|
670
518
|
const node = fs()
|
|
671
519
|
const temp = file + '.' + random(8).toString('hex') + '.tmp'
|
|
@@ -677,8 +525,6 @@ export function openvault(options: VaultOptions): MiniVault {
|
|
|
677
525
|
try {
|
|
678
526
|
node.unlinkSync(temp)
|
|
679
527
|
} catch {
|
|
680
|
-
// The vault is unchanged either way, and the write error is what
|
|
681
|
-
// the caller needs to be told about.
|
|
682
528
|
}
|
|
683
529
|
fail('cannot write ' + file + ': ' + err.message)
|
|
684
530
|
}
|
|
@@ -708,8 +554,6 @@ export function openvault(options: VaultOptions): MiniVault {
|
|
|
708
554
|
.sort()
|
|
709
555
|
}
|
|
710
556
|
|
|
711
|
-
// A restricted key has no name key, so it reports the grants it can
|
|
712
|
-
// actually find: the vault never tells it what else is in there.
|
|
713
557
|
return open.info.grants
|
|
714
558
|
.filter((name) => undefined !== findentry(vault, open.grants[name]))
|
|
715
559
|
.sort()
|
|
@@ -723,11 +567,6 @@ export function openvault(options: VaultOptions): MiniVault {
|
|
|
723
567
|
|
|
724
568
|
const key = keyfor(open, name)
|
|
725
569
|
if (undefined === key) {
|
|
726
|
-
// OUTSIDE THE GRANT IS A MISS, deliberately. The vault answers as
|
|
727
|
-
// the key that opened it, so a name this key cannot read is a
|
|
728
|
-
// name this store does not hold for this caller - the same answer
|
|
729
|
-
// a stranger's vault gives, and the one that makes a restricted
|
|
730
|
-
// key in front of a broader store a workable chain.
|
|
731
570
|
return undefined
|
|
732
571
|
}
|
|
733
572
|
|
|
@@ -860,8 +699,6 @@ export function openvault(options: VaultOptions): MiniVault {
|
|
|
860
699
|
const { vault, open } = load()
|
|
861
700
|
rootof(open, 'rotating the vault')
|
|
862
701
|
|
|
863
|
-
// Read everything out under the old root before anything changes:
|
|
864
|
-
// once the root is replaced the old derived keys are unreachable.
|
|
865
702
|
const plain = self.list().map((name) => ({ name, value: self.get(name) as string }))
|
|
866
703
|
|
|
867
704
|
const root = random(KEYLEN)
|
|
@@ -882,9 +719,6 @@ export function openvault(options: VaultOptions): MiniVault {
|
|
|
882
719
|
{ v: FORMAT, write: true, root: b64(root) },
|
|
883
720
|
{ v: FORMAT, master: true, write: true, grants: [] })
|
|
884
721
|
|
|
885
|
-
// SAVE FIRST, adopt second. A handle holding the new root over a
|
|
886
|
-
// file that still holds the old one reads nothing and says the
|
|
887
|
-
// vault is damaged, which is the wrong story about a failed write.
|
|
888
722
|
save({ keys: [fresh], entries })
|
|
889
723
|
|
|
890
724
|
opened = {
|
|
@@ -915,23 +749,13 @@ export function createvault(options: VaultOptions): MiniVault {
|
|
|
915
749
|
}
|
|
916
750
|
checkid(opts.key || MASTERKEY, 'a vault needs a key id')
|
|
917
751
|
|
|
918
|
-
// No `existsSync` first: the check and the write would be two steps,
|
|
919
|
-
// and `putnew` refuses an existing file in ONE, which is what makes
|
|
920
|
-
// two processes racing to create a vault leave one vault.
|
|
921
752
|
putnew(opts.file, newvault(opts.key || MASTERKEY, opts.passphrase, opts.iterations || ITERATIONS))
|
|
922
753
|
|
|
923
754
|
return openvault(opts)
|
|
924
755
|
}
|
|
925
756
|
|
|
926
757
|
|
|
927
|
-
// --- the provider ----------------------------------------------------
|
|
928
758
|
|
|
929
|
-
/** Read a vault as one store in a chain.
|
|
930
|
-
*
|
|
931
|
-
* The provider is the READ half and nothing more: a chain resolves
|
|
932
|
-
* secrets, and writing one is a deliberate act with an API of its own.
|
|
933
|
-
* That API is the same handle, reached with `vaultof` off a chain or
|
|
934
|
-
* built directly with `openvault`. */
|
|
935
759
|
export function providerof(vault: MiniVault): Provider {
|
|
936
760
|
return {
|
|
937
761
|
lookup: (name: string) => vault.get(name),
|
|
@@ -939,12 +763,10 @@ export function providerof(vault: MiniVault): Provider {
|
|
|
939
763
|
}
|
|
940
764
|
}
|
|
941
765
|
|
|
942
|
-
/** A vault provider from options, for a chain built by hand. */
|
|
943
766
|
export function minivaultprovider(options: VaultOptions): Provider {
|
|
944
767
|
return providerof(openvault(options))
|
|
945
768
|
}
|
|
946
769
|
|
|
947
|
-
/** The vault options a provider spec describes. */
|
|
948
770
|
function vaultoptions(spec: ProviderSpec): VaultOptions {
|
|
949
771
|
return {
|
|
950
772
|
file: spec.file || '',
|
|
@@ -956,25 +778,9 @@ function vaultoptions(spec: ProviderSpec): VaultOptions {
|
|
|
956
778
|
}
|
|
957
779
|
|
|
958
780
|
|
|
959
|
-
// --- the plugin ------------------------------------------------------
|
|
960
781
|
|
|
961
|
-
/** The export key the vault API is published under, beside the
|
|
962
|
-
* `provider` key every kind publishes. */
|
|
963
782
|
export const VAULT_EXPORT = 'vault'
|
|
964
783
|
|
|
965
|
-
/** The `minivault` provider kind.
|
|
966
|
-
*
|
|
967
|
-
* Written out rather than built by `providerplugin`, because this
|
|
968
|
-
* definition publishes TWO exports: `provider`, the read half every kind
|
|
969
|
-
* publishes, and `vault`, the programmatic API. voxgig/plugin's exports
|
|
970
|
-
* are how a definition offers an application more than the host's own
|
|
971
|
-
* vocabulary, and a store that can only be read is half a vault.
|
|
972
|
-
*
|
|
973
|
-
* The SekretoError wrapping is what `providerplugin` would have done:
|
|
974
|
-
* plugin wraps a code-less error raised in `define` as
|
|
975
|
-
* `plugin_define_failed`, and keeps one that already carries a code, so
|
|
976
|
-
* a refusal of this provider's own configuration travels under
|
|
977
|
-
* `sekreto_error` and comes back out of the host as itself. */
|
|
978
784
|
export const minivault: Definition = {
|
|
979
785
|
name: 'minivault',
|
|
980
786
|
define: (inst: any) => {
|
|
@@ -998,16 +804,6 @@ export const minivault: Definition = {
|
|
|
998
804
|
},
|
|
999
805
|
}
|
|
1000
806
|
|
|
1001
|
-
/** The vault behind a store in a chain, as its programmatic API.
|
|
1002
|
-
*
|
|
1003
|
-
* `secrets.host` is the voxgig/plugin host the chain is made of, and a
|
|
1004
|
-
* definition's exports are readable off it by ref. This is the one line
|
|
1005
|
-
* that turns a store into an API, and it lives here rather than on
|
|
1006
|
-
* `Sekreto` because the core knows no plugin.
|
|
1007
|
-
*
|
|
1008
|
-
* With no store named, the unqualified alias answers: one vault in the
|
|
1009
|
-
* chain resolves whatever it is called, and two raise rather than
|
|
1010
|
-
* picking one. */
|
|
1011
807
|
export function vaultof(secrets: { host: any }, store?: string): MiniVault {
|
|
1012
808
|
if (undefined === store) {
|
|
1013
809
|
const found = secrets.host.exports('minivault/' + VAULT_EXPORT)
|
|
@@ -1017,13 +813,6 @@ export function vaultof(secrets: { host: any }, store?: string): MiniVault {
|
|
|
1017
813
|
return found as MiniVault
|
|
1018
814
|
}
|
|
1019
815
|
|
|
1020
|
-
// A NAMED STORE MUST EXIST, and the alias must not stand in for it.
|
|
1021
|
-
// `host.exports` falls back to the alias when the exact ref misses, so
|
|
1022
|
-
// asking for `minivault` in a chain whose only vault is named `app`
|
|
1023
|
-
// used to hand back the `app` vault - and then write to it. Naming a
|
|
1024
|
-
// store that is not there raises, which is the rule the whole library
|
|
1025
|
-
// follows: `try` already means "may not have it", so it cannot also
|
|
1026
|
-
// mean "may not exist".
|
|
1027
816
|
const ref = 'minivault' === store ? 'minivault' : 'minivault$' + store
|
|
1028
817
|
|
|
1029
818
|
if (undefined === secrets.host.instance(ref)) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// VENDORED: @voxgig/sekreto 0.2.0 (typescript/plugins/onepassword.ts)
|
|
2
|
-
// Source: https://github.com/voxgig/sekreto @
|
|
2
|
+
// Source: https://github.com/voxgig/sekreto @ 163f537960de6813cc393b89843949ca3afa8cfc [tag: sdk-20260925-1316-0]
|
|
3
3
|
// License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
4
|
/* Copyright (c) 2025 Voxgig Ltd, MIT License */
|
|
5
5
|
|
|
@@ -9,12 +9,6 @@ import {
|
|
|
9
9
|
import { checkaddr } from '../provider/addr'
|
|
10
10
|
import { fetchjson } from './httpjson'
|
|
11
11
|
|
|
12
|
-
/** 1Password, through a Connect server.
|
|
13
|
-
*
|
|
14
|
-
* The item titled `api.token` (titles keep their dots), in the named
|
|
15
|
-
* vault. The value is the field with purpose PASSWORD, or the field
|
|
16
|
-
* labelled `value`. A vault that cannot be found is an error - config
|
|
17
|
-
* names it, so its absence is a broken store, not a missing secret. */
|
|
18
12
|
export function onepasswordprovider(options?: {
|
|
19
13
|
addr?: string
|
|
20
14
|
token?: string
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// VENDORED: @voxgig/sekreto 0.2.0 (typescript/plugins/secretspec.ts)
|
|
2
|
-
// Source: https://github.com/voxgig/sekreto @
|
|
2
|
+
// Source: https://github.com/voxgig/sekreto @ 163f537960de6813cc393b89843949ca3afa8cfc [tag: sdk-20260925-1316-0]
|
|
3
3
|
// License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
4
|
/* Copyright (c) 2025 Voxgig Ltd, MIT License */
|
|
5
5
|
|
|
@@ -7,15 +7,6 @@ import {
|
|
|
7
7
|
ProviderSpec, Provider, SekretoError, envkey, nodemod, providerplugin,
|
|
8
8
|
} from '../provider/support'
|
|
9
9
|
|
|
10
|
-
/** SecretSpec — https://secretspec.dev
|
|
11
|
-
*
|
|
12
|
-
* A declaration plus a chain of its own backends: the same shape as
|
|
13
|
-
* sekreto one level down. A project that has declared its secrets there
|
|
14
|
-
* should not have to declare them again here, so this reads through the
|
|
15
|
-
* `secretspec` CLI rather than reimplementing its resolution.
|
|
16
|
-
*
|
|
17
|
-
* SecretSpec audits every read and refuses without `--reason`; sekreto
|
|
18
|
-
* sends `sekreto` unless configured otherwise. */
|
|
19
10
|
export function secretspecprovider(options?: {
|
|
20
11
|
command?: string
|
|
21
12
|
file?: string
|
|
@@ -68,19 +59,6 @@ export function secretspecprovider(options?: {
|
|
|
68
59
|
}
|
|
69
60
|
}
|
|
70
61
|
|
|
71
|
-
/** Does this SecretSpec failure mean "no such secret" rather than "I
|
|
72
|
-
* could not answer"?
|
|
73
|
-
*
|
|
74
|
-
* SecretSpec says `Secret 'API_TOKEN' not found` for both a name it does
|
|
75
|
-
* not declare and one declared with no value, and both are misses: this
|
|
76
|
-
* store does not hold it, so the chain carries on.
|
|
77
|
-
*
|
|
78
|
-
* MATCHED ON THE WHOLE PHRASE, NOT ON "not found". SecretSpec also says
|
|
79
|
-
* `Provider backend 'keyring' not found`, which is a store that could
|
|
80
|
-
* not answer at all - and reading that as a miss is the worst failure
|
|
81
|
-
* this library has, because the chain then falls through to a weaker
|
|
82
|
-
* store without saying so. The key is required to appear, so the two
|
|
83
|
-
* cannot be confused. */
|
|
84
62
|
function secretspecmiss(why: string, key: string): boolean {
|
|
85
63
|
return why.includes("Secret '" + key + "' not found")
|
|
86
64
|
}
|
|
@@ -1,29 +1,7 @@
|
|
|
1
1
|
// VENDORED: @voxgig/sekreto 0.2.0 (typescript/plugins/sigv4.ts)
|
|
2
|
-
// Source: https://github.com/voxgig/sekreto @
|
|
2
|
+
// Source: https://github.com/voxgig/sekreto @ 163f537960de6813cc393b89843949ca3afa8cfc [tag: sdk-20260925-1316-0]
|
|
3
3
|
// License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
|
-
|
|
5
|
-
//
|
|
6
|
-
// The AWS providers need exactly one thing from the AWS SDK - request
|
|
7
|
-
// signing - and taking the SDK for it would break the no-dependency rule
|
|
8
|
-
// that keeps ten ports honest. SigV4 is a stable, published algorithm
|
|
9
|
-
// built from HMAC-SHA256, which every port's standard library (or, for
|
|
10
|
-
// Rust, a small in-tree implementation) already has.
|
|
11
|
-
//
|
|
12
|
-
// `sigv4` is pure: the caller passes the timestamp, so the same input
|
|
13
|
-
// yields the same signature everywhere. That is what lets the shared spec
|
|
14
|
-
// carry known-answer cases that all ten ports must reproduce bit-for-bit,
|
|
15
|
-
// and lets the integration mock recompute the signature server-side.
|
|
16
|
-
|
|
17
|
-
// node:crypto is loaded ON FIRST USE, not at import time.
|
|
18
|
-
//
|
|
19
|
-
// This module lives under plugins/ and is reached only through the aws
|
|
20
|
-
// plugin, so the core never sees it at all; deferring the builtin on top
|
|
21
|
-
// of that keeps importing the plugin free of side effects too, and lets
|
|
22
|
-
// the sigv4 conformance group run on a runtime that has crypto without
|
|
23
|
-
// anything else in the module graph having asked for it.
|
|
24
|
-
//
|
|
25
|
-
// require(), not `await import()`: these helpers are synchronous and are
|
|
26
|
-
// called from synchronous signing code. The package is CommonJS.
|
|
4
|
+
|
|
27
5
|
function crypto(): typeof import('node:crypto') {
|
|
28
6
|
try {
|
|
29
7
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
@@ -51,8 +29,6 @@ export type Sigv4Input = {
|
|
|
51
29
|
secret: string
|
|
52
30
|
/** STS session token; signed as x-amz-security-token when present. */
|
|
53
31
|
session?: string
|
|
54
|
-
/** The signing moment, `YYYYMMDDTHHMMSSZ`. Passed in, never sampled,
|
|
55
|
-
* so the function stays pure. */
|
|
56
32
|
datetime: string
|
|
57
33
|
}
|
|
58
34
|
|
|
@@ -108,12 +84,6 @@ export function sigv4(input: Sigv4Input): Sigv4Output {
|
|
|
108
84
|
const date = input.datetime.slice(0, 8)
|
|
109
85
|
const body = input.body || ''
|
|
110
86
|
|
|
111
|
-
// Every header that will be signed: the caller's extras, plus host and
|
|
112
|
-
// x-amz-date (and the session token when present), lower-cased and
|
|
113
|
-
// trimmed the way the canonical form requires.
|
|
114
|
-
// Canonical header values are trimmed AND internally collapsed -
|
|
115
|
-
// AWS folds sequential whitespace to one space before signing, so a
|
|
116
|
-
// header like "a b" must sign as "a b" or the service refuses it.
|
|
117
87
|
const headers: Record<string, string> = {}
|
|
118
88
|
for (const [key, value] of Object.entries(input.headers || {})) {
|
|
119
89
|
headers[key.toLowerCase()] = String(value).trim().replace(/\s+/g, ' ')
|
|
@@ -1,19 +1,10 @@
|
|
|
1
1
|
// VENDORED: @voxgig/sekreto 0.2.0 (typescript/src/provider/addr.ts)
|
|
2
|
-
// Source: https://github.com/voxgig/sekreto @
|
|
2
|
+
// Source: https://github.com/voxgig/sekreto @ 163f537960de6813cc393b89843949ca3afa8cfc [tag: sdk-20260925-1316-0]
|
|
3
3
|
// License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
4
|
/* Copyright (c) 2025 Voxgig Ltd, MIT License */
|
|
5
5
|
|
|
6
6
|
import { SekretoError } from './support'
|
|
7
7
|
|
|
8
|
-
/** An address with any userinfo replaced by `[redacted]`, for messages.
|
|
9
|
-
*
|
|
10
|
-
* Every refusal below names the address it refused, and one of them fires
|
|
11
|
-
* precisely because the address carries a credential — so printing it
|
|
12
|
-
* verbatim wrote the password to stderr and into the logs. It cannot be
|
|
13
|
-
* cleaned up afterwards either: that password was never resolved as a
|
|
14
|
-
* secret, so `redact()` has never seen it and never will. The host is what
|
|
15
|
-
* a reader needs to identify which chain entry is at fault; the userinfo
|
|
16
|
-
* is not. */
|
|
17
8
|
export function safeaddr(addr: string): string {
|
|
18
9
|
const mark = addr.indexOf('://')
|
|
19
10
|
if (-1 === mark) {
|
|
@@ -32,29 +23,6 @@ export function safeaddr(addr: string): string {
|
|
|
32
23
|
return addr.slice(0, mark + 3) + '[redacted]' + addr.slice(mark + 3 + at)
|
|
33
24
|
}
|
|
34
25
|
|
|
35
|
-
/** Refuse to send a secret-bearing credential in the clear.
|
|
36
|
-
*
|
|
37
|
-
* A vault API is HTTPS in any real deployment; plaintext is a dev-mode
|
|
38
|
-
* convenience. Sending a token over http to anything but the local
|
|
39
|
-
* machine puts both the token and the secret it fetches on the wire for
|
|
40
|
-
* anyone on the path, so sekreto will not do it. Loopback stays allowed:
|
|
41
|
-
* that is `vault server -dev`, `boru vault serve`, and this repo's own
|
|
42
|
-
* test harness.
|
|
43
|
-
*
|
|
44
|
-
* The address is read by hand, in the same handful of steps in every
|
|
45
|
-
* port, rather than by each platform's URL parser. That is deliberate.
|
|
46
|
-
* Twelve parsers disagree about malformed input — where userinfo ends,
|
|
47
|
-
* whether `0177.0.0.1` is loopback, what an unclosed bracket means — and
|
|
48
|
-
* a check that answers differently in different ports is not a check.
|
|
49
|
-
*
|
|
50
|
-
* The rule this parse obeys, and the reason it can be trusted: it is
|
|
51
|
-
* never more permissive than the HTTP client that will dial the address.
|
|
52
|
-
* It ends the authority at `/`, `?` or `#` only, so a client that also
|
|
53
|
-
* breaks on `\` (WHATWG does) can only ever see a SHORTER host than this
|
|
54
|
-
* does. It refuses userinfo outright rather than locating its end. It
|
|
55
|
-
* compares the host literally, so a numeric form no parser here agrees on
|
|
56
|
-
* is refused rather than guessed at. Each of those can refuse an address
|
|
57
|
-
* that would in fact have been safe; none can allow one that is not. */
|
|
58
26
|
export function checkaddr(addr: string): void {
|
|
59
27
|
const scheme = addr.startsWith('https://')
|
|
60
28
|
? 'https://'
|
|
@@ -70,24 +38,12 @@ export function checkaddr(addr: string): void {
|
|
|
70
38
|
const end = rest.search(/[/?#]/)
|
|
71
39
|
const authority = -1 === end ? rest : rest.slice(0, end)
|
|
72
40
|
|
|
73
|
-
// Userinfo is refused outright rather than parsed around, and on https
|
|
74
|
-
// as well as http. No store this library speaks authenticates by
|
|
75
|
-
// userinfo — they take a token or a signature — so an address carrying
|
|
76
|
-
// one is a mistake at best. At worst it is the attack this whole
|
|
77
|
-
// function exists to stop: `http://localhost:8200@evil.example.com/` is
|
|
78
|
-
// a request to evil.example.com that reads, to anything that splits the
|
|
79
|
-
// authority on ':', as loopback. Refusing the shape is a rule twelve
|
|
80
|
-
// ports can apply identically; agreeing on where the userinfo ends is
|
|
81
|
-
// not.
|
|
82
41
|
if (authority.includes('@')) {
|
|
83
42
|
throw new SekretoError(
|
|
84
43
|
'sekreto: refusing an address with embedded credentials: ' + safeaddr(addr),
|
|
85
44
|
)
|
|
86
45
|
}
|
|
87
46
|
|
|
88
|
-
// An opening bracket with no closing one is not an address at all, and
|
|
89
|
-
// saying so is more use to whoever wrote the config than refusing it as
|
|
90
|
-
// though it named a remote host.
|
|
91
47
|
if (authority.startsWith('[') && !authority.includes(']')) {
|
|
92
48
|
throw new SekretoError('sekreto: not a valid http(s) address: ' + safeaddr(addr))
|
|
93
49
|
}
|