@voxgig/sdkgen 4.9.0 → 4.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/voxgig-sdkgen +1 -1
- package/dist/helpers/manifest.d.ts +2 -1
- package/dist/helpers/manifest.js +75 -1
- package/dist/helpers/manifest.js.map +1 -1
- package/dist/helpers/modelNames.d.ts +7 -0
- package/dist/helpers/modelNames.js +232 -0
- package/dist/helpers/modelNames.js.map +1 -0
- package/dist/helpers/naming.d.ts +2 -1
- package/dist/helpers/naming.js +45 -1
- package/dist/helpers/naming.js.map +1 -1
- package/dist/sdkgen.d.ts +3 -2
- package/dist/sdkgen.js +12 -3
- package/dist/sdkgen.js.map +1 -1
- package/dist/testkit.d.ts +2 -0
- package/dist/testkit.js +80 -24
- package/dist/testkit.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utility.js +17 -7
- package/dist/utility.js.map +1 -1
- package/package.json +1 -1
- package/project/.sdk/model/feature/secrets.aon +1001 -0
- package/project/.sdk/model/target/c.aon +15 -2
- package/project/.sdk/model/target/clojure.aon +10 -0
- package/project/.sdk/model/target/cpp.aon +18 -0
- package/project/.sdk/model/target/csharp.aon +5 -0
- package/project/.sdk/model/target/elixir.aon +6 -0
- package/project/.sdk/model/target/java.aon +5 -0
- package/project/.sdk/model/target/js.aon +5 -0
- package/project/.sdk/model/target/kotlin.aon +7 -0
- package/project/.sdk/model/target/lua.aon +17 -0
- package/project/.sdk/model/target/ocaml.aon +48 -5
- package/project/.sdk/model/target/perl.aon +5 -0
- package/project/.sdk/model/target/php.aon +5 -0
- package/project/.sdk/model/target/rb.aon +5 -0
- package/project/.sdk/model/target/rust.aon +5 -0
- package/project/.sdk/model/target/scala.aon +38 -2
- package/project/.sdk/model/target/swift.aon +10 -0
- package/project/.sdk/model/target/zig.aon +30 -4
- package/project/.sdk/src/cmp/c/Config_c.ts +338 -1
- package/project/.sdk/src/cmp/c/Main_c.ts +57 -2
- package/project/.sdk/src/cmp/c/Package_c.ts +12 -2
- package/project/.sdk/src/cmp/clojure/Config_clojure.ts +51 -4
- package/project/.sdk/src/cmp/clojure/Main_clojure.ts +43 -1
- package/project/.sdk/src/cmp/clojure/Package_clojure.ts +17 -1
- package/project/.sdk/src/cmp/clojure/featureextra_clojure.ts +130 -0
- package/project/.sdk/src/cmp/cpp/Config_cpp.ts +324 -2
- package/project/.sdk/src/cmp/cpp/Gitignore_cpp.ts +2 -0
- package/project/.sdk/src/cmp/cpp/Main_cpp.ts +62 -4
- package/project/.sdk/src/cmp/cpp/Package_cpp.ts +10 -0
- package/project/.sdk/src/cmp/csharp/Config_csharp.ts +70 -0
- package/project/.sdk/src/cmp/csharp/Main_csharp.ts +9 -1
- package/project/.sdk/src/cmp/csharp/Package_csharp.ts +25 -1
- package/project/.sdk/src/cmp/elixir/Config_elixir.ts +68 -2
- package/project/.sdk/src/cmp/elixir/Main_elixir.ts +16 -0
- package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +14 -1
- package/project/.sdk/src/cmp/java/Config_java.ts +84 -2
- package/project/.sdk/src/cmp/java/Main_java.ts +10 -1
- package/project/.sdk/src/cmp/js/Config_js.ts +75 -8
- package/project/.sdk/src/cmp/js/Main_js.ts +66 -2
- package/project/.sdk/src/cmp/js/fragment/Config.data.fragment.js +18 -1
- package/project/.sdk/src/cmp/js/fragment/Config.fragment.js +18 -1
- package/project/.sdk/src/cmp/js/fragment/Main.fragment.js +7 -0
- package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +63 -1
- package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +32 -2
- package/project/.sdk/src/cmp/lua/Config_lua.ts +88 -0
- package/project/.sdk/src/cmp/lua/Gitignore_lua.ts +4 -0
- package/project/.sdk/src/cmp/lua/Main_lua.ts +93 -3
- package/project/.sdk/src/cmp/lua/Package_lua.ts +60 -0
- package/project/.sdk/src/cmp/lua/fragment/Main.fragment.lua +10 -0
- package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +183 -5
- package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +160 -3
- package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +25 -1
- package/project/.sdk/src/cmp/perl/Config_perl.ts +129 -3
- package/project/.sdk/src/cmp/perl/Main_perl.ts +41 -1
- package/project/.sdk/src/cmp/perl/Package_perl.ts +13 -1
- package/project/.sdk/src/cmp/perl/fragment/Main.fragment.pm +1 -0
- package/project/.sdk/src/cmp/php/Config_php.ts +105 -1
- package/project/.sdk/src/cmp/php/Gitignore_php.ts +4 -2
- package/project/.sdk/src/cmp/php/Main_php.ts +16 -1
- package/project/.sdk/src/cmp/rb/Config_rb.ts +92 -2
- package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +11 -1
- package/project/.sdk/src/cmp/rb/Main_rb.ts +7 -1
- package/project/.sdk/src/cmp/rust/Main_rust.ts +99 -1
- package/project/.sdk/src/cmp/rust/Package_rust.ts +72 -6
- package/project/.sdk/src/cmp/scala/Config_scala.ts +44 -0
- package/project/.sdk/src/cmp/scala/Main_scala.ts +68 -1
- package/project/.sdk/src/cmp/swift/Config_swift.ts +62 -1
- package/project/.sdk/src/cmp/swift/Main_swift.ts +35 -1
- package/project/.sdk/src/cmp/swift/Package_swift.ts +81 -11
- package/project/.sdk/src/cmp/swift/fragment/Main.fragment.swift +58 -44
- package/project/.sdk/src/cmp/swift/utility_swift.ts +22 -0
- package/project/.sdk/src/cmp/zig/Config_zig.ts +130 -9
- package/project/.sdk/src/cmp/zig/Main_zig.ts +208 -4
- package/project/.sdk/{tm/zig/build.zig → src/cmp/zig/fragment/Build.fragment.zig} +7 -0
- package/project/.sdk/src/cmp/zig/fragment/Main.fragment.zig +25 -0
- package/project/.sdk/{tm/zig/root.zig → src/cmp/zig/fragment/Root.fragment.zig} +9 -0
- package/project/.sdk/tm/c/Makefile +58 -9
- package/project/.sdk/tm/c/core/sdk.h +10 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/capability.c +133 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/capability.h +39 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/catalog.c +83 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/catalog.h +48 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/config.c +413 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/config.h +24 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/depend.c +264 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/depend.h +29 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/env.c +220 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/env.h +19 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/export.c +97 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/export.h +19 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/graph.c +237 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/graph.h +17 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/host.c +1494 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/host.h +135 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/order.c +288 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/order.h +18 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/point.c +141 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/point.h +80 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/ref.c +170 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/ref.h +52 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/resolve.c +98 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/resolve.h +18 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/types.c +150 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/types.h +104 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/value.c +649 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/value.h +135 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/version.c +151 -0
- package/project/.sdk/tm/c/feature/secrets/plugin/version.h +34 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/aws.c +281 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/azuresecrets.c +207 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/boru.c +164 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/clock.c +75 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/doppler.c +141 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/encode.c +144 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/gcpsecrets.c +177 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/hashicorp.c +239 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/httpjson.c +599 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/infisical.c +165 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/onepassword.c +194 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/proc.c +233 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/secretspec.c +125 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/sekretoplugins.h +125 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/sha256.c +270 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/sigv4.c +382 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/support.h +153 -0
- package/project/.sdk/tm/c/feature/secrets/plugins/tls.c +420 -0
- package/project/.sdk/tm/c/feature/secrets/sekreto/internal.h +86 -0
- package/project/.sdk/tm/c/feature/secrets/sekreto/json.c +721 -0
- package/project/.sdk/tm/c/feature/secrets/sekreto/providers.c +813 -0
- package/project/.sdk/tm/c/feature/secrets/sekreto/sekreto.c +944 -0
- package/project/.sdk/tm/c/feature/secrets/sekreto/sekreto.h +490 -0
- package/project/.sdk/tm/c/feature/secrets/sekreto/util.c +442 -0
- package/project/.sdk/tm/c/feature/secrets.c +797 -0
- package/project/.sdk/tm/c/feature/secrets.h +46 -0
- package/project/.sdk/tm/c/tests/feature/secrets/secrets_test.c +802 -0
- package/project/.sdk/tm/c/tests/vendor/omni/json.c +2 -2
- package/project/.sdk/tm/c/tests/vendor/omni/omni.h +2 -2
- package/project/.sdk/tm/c/tests/vendor/omni/runner.c +2 -2
- package/project/.sdk/tm/c/tests/vendor/omni/util.c +2 -2
- package/project/.sdk/tm/clojure/Makefile +3 -0
- package/project/.sdk/tm/clojure/feature/secrets/sdk/feature/secrets.clj +530 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/capability.clj +84 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/catalog.clj +44 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/config.clj +240 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/depend.clj +199 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/env.clj +111 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/export.clj +46 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/graph.clj +122 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/host.clj +1018 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/json.clj +106 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/order.clj +157 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/point.clj +77 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/ref.clj +92 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/resolve.clj +46 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/types.clj +177 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/version.clj +90 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin.clj +40 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/addr.clj +111 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/chain.clj +297 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/core.clj +192 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/json.clj +261 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/aws.clj +165 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/azuresecrets.clj +111 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/boru.clj +107 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/doppler.clj +61 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/gcpsecrets.clj +88 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/hashicorp.clj +115 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/httpjson.clj +214 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/infisical.clj +80 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/onepassword.clj +93 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/proc.clj +63 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/secretspec.clj +99 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/sigv4.clj +142 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/provider.clj +25 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/providers.clj +196 -0
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto.clj +113 -0
- package/project/.sdk/tm/clojure/src/sdk/core.clj +9 -0
- package/project/.sdk/tm/clojure/src/sdk/features.clj +13 -1
- package/project/.sdk/tm/clojure/test/sdk/test/feature/secrets.clj +581 -0
- package/project/.sdk/tm/clojure/test/sdk/test_runner.clj +103 -14
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/json.clj +2 -2
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/runner.clj +2 -2
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/util.clj +2 -2
- package/project/.sdk/tm/cpp/Makefile +48 -4
- package/project/.sdk/tm/cpp/feature/secrets/plugin/capability.cpp +121 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/capability.hpp +41 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/catalog.cpp +60 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/catalog.hpp +66 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/config.cpp +376 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/config.hpp +29 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/depend.cpp +230 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/depend.hpp +31 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/env.cpp +205 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/env.hpp +25 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/export.cpp +84 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/export.hpp +24 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/graph.cpp +222 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/graph.hpp +21 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/host.cpp +1200 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/host.hpp +250 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/order.cpp +250 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/order.hpp +22 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/point.cpp +110 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/point.hpp +79 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/ref.cpp +136 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/ref.hpp +60 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/resolve.cpp +82 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/resolve.hpp +25 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/types.cpp +90 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/types.hpp +65 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/value.cpp +491 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/value.hpp +120 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/version.cpp +143 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugin/version.hpp +36 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Aws.cpp +248 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Aws.hpp +30 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Azuresecrets.cpp +149 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Azuresecrets.hpp +23 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Boru.cpp +117 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Boru.hpp +27 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Crypto.cpp +180 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Crypto.hpp +52 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Doppler.cpp +87 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Doppler.hpp +23 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Gcpsecrets.cpp +121 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Gcpsecrets.hpp +23 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Hashicorp.cpp +153 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Hashicorp.hpp +23 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Httpjson.cpp +666 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Httpjson.hpp +160 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Infisical.cpp +123 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Infisical.hpp +23 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Onepassword.cpp +125 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Onepassword.hpp +23 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Proc.cpp +223 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Proc.hpp +47 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Secretspec.cpp +104 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Secretspec.hpp +27 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Sigv4.cpp +242 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Sigv4.hpp +58 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Tls.cpp +260 -0
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Tls.hpp +47 -0
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Json.cpp +476 -0
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Json.hpp +89 -0
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Provider.cpp +312 -0
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Provider.hpp +263 -0
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Providers.cpp +354 -0
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Providers.hpp +111 -0
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Sekreto.cpp +613 -0
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Sekreto.hpp +227 -0
- package/project/.sdk/tm/cpp/feature/secrets.hpp +745 -0
- package/project/.sdk/tm/cpp/test/feature/secrets/secrets_test.cpp +808 -0
- package/project/.sdk/tm/cpp/test/vendor/omni/json.hpp +2 -2
- package/project/.sdk/tm/cpp/test/vendor/omni/omni.hpp +2 -2
- package/project/.sdk/tm/cpp/test/vendor/omni/util.hpp +2 -2
- package/project/.sdk/tm/csharp/feature/SecretsFeature.cs +915 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Capability.cs +196 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Catalog.cs +70 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Config.cs +505 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Definition.cs +52 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Depend.cs +285 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Entry.cs +55 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Env.cs +228 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Export.cs +102 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Graph.cs +256 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Host.cs +1379 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Inst.cs +177 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Json.cs +326 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Order.cs +295 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Plugin.cs +113 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Point.cs +177 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Refs.cs +198 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Resolve.cs +95 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Types.cs +351 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Version.cs +196 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Aws.cs +325 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/AzureSecrets.cs +195 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Boru.cs +192 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Child.cs +75 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Doppler.cs +112 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/GcpSecrets.cs +167 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Hashicorp.cs +221 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/HttpJson.cs +213 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Infisical.cs +155 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/OnePassword.cs +169 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/SecretSpec.cs +172 -0
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Sigv4.cs +240 -0
- package/project/.sdk/tm/csharp/feature/secrets/sekreto/Json.cs +192 -0
- package/project/.sdk/tm/csharp/feature/secrets/sekreto/Providers.cs +503 -0
- package/project/.sdk/tm/csharp/feature/secrets/sekreto/Sekreto.cs +775 -0
- package/project/.sdk/tm/csharp/test/feature/secrets/SecretsFeatureTest.cs +1787 -0
- package/project/.sdk/tm/csharp/test/vendor/omni/Runner.cs +2 -2
- package/project/.sdk/tm/csharp/test/vendor/omni/Util.cs +2 -2
- package/project/.sdk/tm/csharp/utility/MakeOptions.cs +10 -0
- package/project/.sdk/tm/csharp/utility/struct/Struct.cs +1 -1
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/capability.ex +118 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/catalog.ex +56 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/config.ex +320 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/depend.ex +205 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/env.ex +166 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/error.ex +13 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/export.ex +73 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/graph.ex +185 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/host.ex +1182 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/inst.ex +139 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/json.ex +132 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/order.ex +179 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/point.ex +99 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/ref.ex +129 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/resolve.ex +59 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/types.ex +190 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/version.ex +136 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/voxgig_plugin.ex +42 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/json.ex +368 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/aws.ex +257 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/azuresecrets.ex +160 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/boru.ex +127 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/doppler.ex +96 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/gcpsecrets.ex +124 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/hashicorp.ex +162 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/http.ex +627 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/httpjson.ex +134 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/infisical.ex +125 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/onepassword.ex +152 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/proc.ex +80 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/secretspec.ex +101 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/sigv4.ex +176 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/provider.ex +67 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/providers.ex +536 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/sekreto.ex +662 -0
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets.ex +839 -0
- package/project/.sdk/tm/elixir/test/feature/secrets/secrets_test.exs +1113 -0
- package/project/.sdk/tm/elixir/test/vendor/omni/json.ex +2 -2
- package/project/.sdk/tm/elixir/test/vendor/omni/runner.ex +2 -2
- package/project/.sdk/tm/elixir/test/vendor/omni/util.ex +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugin/capability.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/catalog.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/config.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/depend.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/env.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/export.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/graph.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/host.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/order.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/point.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/ref.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/resolve.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/types.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/util.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugin/version.go +1 -1
- package/project/.sdk/tm/go/feature/secrets/plugins/aws/aws.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugins/aws/sigv4.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugins/azuresecrets/azuresecrets.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugins/boru/boru.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugins/doppler/doppler.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugins/gcpsecrets/gcpsecrets.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugins/hashicorp/hashicorp.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugins/httpjson/httpjson.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugins/infisical/infisical.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugins/onepassword/onepassword.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugins/secretspec/secretspec.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/sekreto/addr.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/sekreto/providers.go +2 -2
- package/project/.sdk/tm/go/feature/secrets/sekreto/sekreto.go +2 -2
- package/project/.sdk/tm/go/feature/secrets_feature.go +48 -10
- package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +239 -0
- package/project/.sdk/tm/go/test/omni/omni.go +2 -2
- package/project/.sdk/tm/go/test/omni/util.go +2 -2
- package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +1 -1
- package/project/.sdk/tm/java/feature/SecretsFeature.java +791 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Capability.java +181 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Catalog.java +64 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Config.java +433 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Definition.java +54 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Depend.java +292 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Entry.java +49 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Env.java +204 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Export.java +93 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Graph.java +244 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Host.java +1196 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Inst.java +173 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Json.java +339 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Order.java +274 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Plugin.java +94 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/PluginException.java +37 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Point.java +172 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Refs.java +171 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Resolve.java +89 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Types.java +232 -0
- package/project/.sdk/tm/java/feature/secrets/plugin/Version.java +198 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/Addr.java +142 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/Builtins.java +229 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/Json.java +302 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/Provider.java +21 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/Sekreto.java +698 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/Support.java +100 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Aws.java +294 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Azuresecrets.java +164 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Boru.java +161 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Doppler.java +103 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Gcpsecrets.java +143 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Hashicorp.java +186 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Httpjson.java +192 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Infisical.java +139 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Onepassword.java +143 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Proc.java +80 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Secretspec.java +138 -0
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Sigv4.java +243 -0
- package/project/.sdk/tm/java/test/feature/secrets/SecretsFeatureTest.java +1050 -0
- package/project/.sdk/tm/java/test/vendor/omni/Json.java +2 -2
- package/project/.sdk/tm/java/test/vendor/omni/Runner.java +2 -2
- package/project/.sdk/tm/java/test/vendor/omni/Util.java +2 -2
- package/project/.sdk/tm/java/utility/MakeOptions.java +7 -0
- package/project/.sdk/tm/java/utility/struct/Struct.java +1 -1
- package/project/.sdk/tm/js/src/feature/secrets/SecretsFeature.js +454 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/capability.js +119 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/catalog.js +42 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/config.js +323 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/depend.js +196 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/env.js +120 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/export.js +48 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/graph.js +150 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/host.js +949 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/index.js +35 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/order.js +165 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/point.js +94 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/ref.js +106 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/resolve.js +59 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/types.js +79 -0
- package/project/.sdk/tm/js/src/feature/secrets/plugin/version.js +100 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/Sekreto.js +574 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/index.js +56 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/aws.js +188 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/azuresecrets.js +135 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/boru.js +128 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/doppler.js +67 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/gcpsecrets.js +115 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/hashicorp.js +139 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/httpjson.js +93 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/infisical.js +99 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/onepassword.js +111 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/secretspec.js +105 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/sigv4.js +157 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/addr.js +119 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/builtin.js +39 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/dotenv.js +40 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/env.js +21 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/file.js +42 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/memory.js +18 -0
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/support.js +151 -0
- package/project/.sdk/tm/js/src/utility/StructUtility.js +1 -1
- package/project/.sdk/tm/js/test/feature/secrets/Secrets.test.js +1019 -0
- package/project/.sdk/tm/js/test/vendor/omni/index.js +1 -1
- package/project/.sdk/tm/js/test/vendor/omni/runner.js +1 -1
- package/project/.sdk/tm/js/test/vendor/omni/util.js +1 -1
- package/project/.sdk/tm/kotlin/feature/SecretsFeature.kt +684 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Capability.kt +117 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Catalog.kt +40 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Config.kt +322 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Depend.kt +227 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Env.kt +163 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Export.kt +57 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Graph.kt +179 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Host.kt +1131 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Json.kt +241 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Order.kt +180 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Plugin.kt +64 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Point.kt +124 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Refs.kt +125 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Resolve.kt +66 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Types.kt +171 -0
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Version.kt +132 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Json.kt +359 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Provider.kt +21 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Providers.kt +308 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Sekreto.kt +525 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Spec.kt +126 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Support.kt +205 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Aws.kt +251 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Azuresecrets.kt +145 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Boru.kt +130 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Doppler.kt +77 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Gcpsecrets.kt +119 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Hashicorp.kt +156 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Httpjson.kt +219 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Infisical.kt +114 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Onepassword.kt +114 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Secretspec.kt +118 -0
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Sigv4.kt +220 -0
- package/project/.sdk/tm/kotlin/test/feature/secrets/SecretsTest.kt +1217 -0
- package/project/.sdk/tm/kotlin/test/vendor/omni/Json.kt +2 -2
- package/project/.sdk/tm/kotlin/test/vendor/omni/Runner.kt +2 -2
- package/project/.sdk/tm/kotlin/test/vendor/omni/Util.kt +2 -2
- package/project/.sdk/tm/kotlin/utility/struct/Struct.kt +1 -1
- package/project/.sdk/tm/lua/Makefile +15 -4
- package/project/.sdk/tm/lua/feature/secrets/native/sekretonet.c +806 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/capability.lua +135 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/catalog.lua +63 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/config.lua +361 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/depend.lua +232 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/env.lua +168 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/export.lua +66 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/graph.lua +194 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/host.lua +1190 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/json.lua +169 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/order.lua +207 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/point.lua +106 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/ref.lua +115 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/resolve.lua +78 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/types.lua +275 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin/version.lua +131 -0
- package/project/.sdk/tm/lua/feature/secrets/plugin.lua +76 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/addr.lua +124 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/err.lua +47 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/name.lua +315 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/aws.lua +228 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/azuresecrets.lua +137 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/boru.lua +124 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/crypto.lua +212 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/doppler.lua +89 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/gcpsecrets.lua +129 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/hashicorp.lua +154 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/httpjson.lua +248 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/infisical.lua +113 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/json.lua +449 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/net.lua +198 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/onepassword.lua +126 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/secretspec.lua +93 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/sigv4.lua +269 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/support.lua +146 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto/providers.lua +346 -0
- package/project/.sdk/tm/lua/feature/secrets/sekreto.lua +479 -0
- package/project/.sdk/tm/lua/feature/secrets_feature.lua +690 -0
- package/project/.sdk/tm/lua/test/extend_test.lua +105 -0
- package/project/.sdk/tm/lua/test/feature/secrets/secrets_feature_test.lua +862 -0
- package/project/.sdk/tm/lua/test/vendor/omni/json.lua +2 -2
- package/project/.sdk/tm/lua/test/vendor/omni/regex.lua +2 -2
- package/project/.sdk/tm/lua/test/vendor/omni/runner.lua +2 -2
- package/project/.sdk/tm/lua/test/vendor/omni/util.lua +2 -2
- package/project/.sdk/tm/lua/utility/struct/regex.lua +1 -1
- package/project/.sdk/tm/lua/utility/struct/struct.lua +1 -1
- package/project/.sdk/tm/ocaml/Makefile +52 -8
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/capability.ml +106 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/catalog.ml +43 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/config.ml +349 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/defs.ml +143 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/depend.ml +217 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/env.ml +197 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/export.ml +89 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/graph.ml +227 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/host.ml +1112 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/order.ml +202 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/point.ml +138 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/ref.ml +126 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/resolve.ml +62 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/types.ml +97 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/value.ml +387 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/version.ml +139 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/aws.ml +171 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/azuresecrets.ml +116 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/boru.ml +95 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/crypto.ml +149 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/doppler.ml +61 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/gcpsecrets.ml +93 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/hashicorp.ml +120 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/http.ml +421 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/httpjson.ml +66 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/infisical.ml +85 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/onepassword.ml +112 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/runcmd.ml +97 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/secretspec.ml +68 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/sigv4.ml +259 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/tls.ml +44 -0
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/tls_stubs.c +358 -0
- package/project/.sdk/tm/ocaml/feature/secrets/sekreto/json.ml +376 -0
- package/project/.sdk/tm/ocaml/feature/secrets/sekreto/provider.ml +647 -0
- package/project/.sdk/tm/ocaml/feature/secrets/sekreto/secret.ml +299 -0
- package/project/.sdk/tm/ocaml/feature/secrets/sekreto/sekreto.ml +347 -0
- package/project/.sdk/tm/ocaml/feature/secrets_feature.ml +453 -0
- package/project/.sdk/tm/ocaml/test/feature/secrets/t_secrets.ml +670 -0
- package/project/.sdk/tm/ocaml/test/vendor/omni/omni.ml +2 -2
- package/project/.sdk/tm/perl/Makefile +6 -1
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Capability.pm +141 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Catalog.pm +65 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Config.pm +346 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Depend.pm +216 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Env.pm +176 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Export.pm +59 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Graph.pm +157 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Host.pm +1139 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Order.pm +187 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Point.pm +100 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Ref.pm +119 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Resolve.pm +71 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Types.pm +251 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Version.pm +122 -0
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin.pm +70 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Aws.pm +263 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Azuresecrets.pm +159 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Boru.pm +180 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Doppler.pm +92 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Gcpsecrets.pm +138 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Hashicorp.pm +213 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Httpjson.pm +173 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Infisical.pm +132 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Onepassword.pm +132 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Proc.pm +102 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Secretspec.pm +132 -0
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Sigv4.pm +190 -0
- package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Addr.pm +124 -0
- package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Providers.pm +301 -0
- package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto.pm +605 -0
- package/project/.sdk/tm/perl/feature/secrets_feature.pm +696 -0
- package/project/.sdk/tm/perl/lib/Voxgig/Struct.pm +1 -1
- package/project/.sdk/tm/perl/t/feature/secrets/secrets.t +1004 -0
- package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Runner.pm +1 -1
- package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Util.pm +1 -1
- package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni.pm +1 -1
- package/project/.sdk/tm/php/feature/SecretsFeature.php +694 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Capability.php +226 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Catalog.php +75 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Config.php +444 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Depend.php +262 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Env.php +202 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Export.php +74 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Graph.php +195 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Host.php +1514 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Order.php +260 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Point.php +129 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Ref.php +169 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Resolve.php +79 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Types.php +348 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/Version.php +163 -0
- package/project/.sdk/tm/php/feature/secrets/plugin/plugin.php +40 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/aws.php +274 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/azuresecrets.php +170 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/boru.php +163 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/doppler.php +106 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/gcpsecrets.php +144 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/hashicorp.php +194 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/httpjson.php +113 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/infisical.php +131 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/onepassword.php +150 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/runcmd.php +101 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/secretspec.php +146 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/sigv4.php +161 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/src/Addr.php +129 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/src/Providers.php +322 -0
- package/project/.sdk/tm/php/feature/secrets/sekreto/src/Sekreto.php +724 -0
- package/project/.sdk/tm/php/test/feature/secrets/SecretsTest.php +1165 -0
- package/project/.sdk/tm/php/test/vendor/omni/Runner.php +2 -2
- package/project/.sdk/tm/php/test/vendor/omni/Util.php +2 -2
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/__init__.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/capability.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/catalog.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/config.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/depend.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/env.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/export.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/graph.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/host.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/order.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/point.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/ref.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/resolve.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/types.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/version.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/__init__.py +2 -2
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/addr.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/aws.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/azuresecrets.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/boru.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/doppler.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/hashicorp.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/httpjson.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/infisical.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/onepassword.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/secretspec.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/sigv4.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/providers.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/sekreto.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets_feature.py +28 -6
- package/project/.sdk/tm/py/pkg/utility/voxgig_struct/voxgig_struct.py +1 -1
- package/project/.sdk/tm/py/test/feature/secrets/test_secrets.py +114 -0
- package/project/.sdk/tm/py/test/voxgig_omni/__init__.py +1 -1
- package/project/.sdk/tm/py/test/voxgig_omni/runner.py +1 -1
- package/project/.sdk/tm/py/test/voxgig_omni/util.py +1 -1
- package/project/.sdk/tm/rb/Makefile +7 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/capability.rb +118 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/catalog.rb +55 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/config.rb +315 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/depend.rb +197 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/env.rb +143 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/export.rb +52 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/graph.rb +147 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/host.rb +1079 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/order.rb +169 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/point.rb +93 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/ref.rb +112 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/resolve.rb +56 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/types.rb +99 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/version.rb +106 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin.rb +24 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/addr.rb +111 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/aws.rb +200 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/azuresecrets.rb +130 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/boru.rb +121 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/doppler.rb +66 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.rb +107 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/hashicorp.rb +137 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/httpjson.rb +136 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/infisical.rb +97 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/onepassword.rb +104 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/secretspec.rb +113 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/sigv4.rb +127 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/providers.rb +210 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/sekreto.rb +465 -0
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto.rb +30 -0
- package/project/.sdk/tm/rb/feature/secrets_feature.rb +583 -0
- package/project/.sdk/tm/rb/test/feature/secrets/secrets_feature_test.rb +935 -0
- package/project/.sdk/tm/rb/test/vendor/omni/runner.rb +2 -2
- package/project/.sdk/tm/rb/test/vendor/omni/util.rb +2 -2
- package/project/.sdk/tm/rb/test/vendor/omni/voxgig_omni.rb +2 -2
- package/project/.sdk/tm/rust/feature/secrets/plugin/capability.rs +130 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/catalog.rs +114 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/config.rs +416 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/depend.rs +245 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/env.rs +200 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/export.rs +90 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/graph.rs +231 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/host.rs +1565 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/mod.rs +18 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/order.rs +226 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/point.rs +137 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/refs.rs +148 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/resolve.rs +83 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/types.rs +132 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/value.rs +433 -0
- package/project/.sdk/tm/rust/feature/secrets/plugin/version.rs +174 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/aws/crypto.rs +146 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/aws/sigv4.rs +230 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/aws.rs +328 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/azuresecrets.rs +184 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/boru.rs +172 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/doppler.rs +102 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/gcpsecrets.rs +153 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/hashicorp.rs +228 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/http.rs +537 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/json.rs +300 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson.rs +137 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/infisical.rs +148 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/onepassword.rs +165 -0
- package/project/.sdk/tm/rust/feature/secrets/plugins/secretspec.rs +150 -0
- package/project/.sdk/tm/rust/feature/secrets/sekreto/addr.rs +144 -0
- package/project/.sdk/tm/rust/feature/secrets/sekreto/mod.rs +51 -0
- package/project/.sdk/tm/rust/feature/secrets/sekreto/providers.rs +637 -0
- package/project/.sdk/tm/rust/feature/secrets/sekreto/sekreto.rs +677 -0
- package/project/.sdk/tm/rust/feature/secrets.rs +984 -0
- package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +1605 -0
- package/project/.sdk/tm/rust/tests/vendor/omni/json.rs +2 -2
- package/project/.sdk/tm/rust/tests/vendor/omni/mod.rs +2 -2
- package/project/.sdk/tm/rust/tests/vendor/omni/regex.rs +2 -2
- package/project/.sdk/tm/rust/tests/vendor/omni/runner.rs +2 -2
- package/project/.sdk/tm/rust/tests/vendor/omni/util.rs +2 -2
- package/project/.sdk/tm/scala/Makefile +8 -3
- package/project/.sdk/tm/scala/feature/SecretsFeature.scala +578 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Capability.scala +96 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Config.scala +270 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Depend.scala +216 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Env.scala +144 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Export.scala +59 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Graph.scala +149 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Host.scala +1089 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Json.scala +156 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Order.scala +169 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Plugin.scala +47 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Point.scala +107 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Refs.scala +131 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Resolve.scala +53 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Types.scala +110 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Value.scala +157 -0
- package/project/.sdk/tm/scala/feature/secrets/plugin/Version.scala +136 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Json.scala +302 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Provider.scala +20 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Providers.scala +281 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Sekreto.scala +473 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Spec.scala +123 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Support.scala +216 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Aws.scala +225 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Azuresecrets.scala +124 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Boru.scala +104 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Doppler.scala +68 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Gcpsecrets.scala +97 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Hashicorp.scala +131 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Httpjson.scala +209 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Infisical.scala +98 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Onepassword.scala +90 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Secretspec.scala +95 -0
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Sigv4.scala +214 -0
- package/project/.sdk/tm/scala/sdktest/feature/secrets/SecretsTestMain.scala +1042 -0
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Json.scala +2 -2
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Runner.scala +2 -2
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Util.scala +2 -2
- package/project/.sdk/tm/scala/utility/Make.scala +7 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/SecretsFeature.swift +669 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Capability.swift +98 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Catalog.swift +87 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Config.swift +298 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Depend.swift +209 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Env.swift +191 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Export.swift +63 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Graph.swift +158 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Host.swift +1141 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Json.swift +192 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Order.swift +183 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Point.swift +130 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Refs.swift +141 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Resolve.swift +59 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Types.swift +125 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Value.swift +198 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Version.swift +139 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Aws.swift +271 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Azuresecrets.swift +173 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Boru.swift +139 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Crypto.swift +198 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Doppler.swift +86 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Gcpsecrets.swift +129 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Hashicorp.swift +175 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Httpjson.swift +310 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Infisical.swift +140 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Onepassword.swift +118 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Proc.swift +105 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Secretspec.swift +111 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Sigv4.swift +297 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Addr.swift +120 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Json.swift +452 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Provider.swift +25 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Providers.swift +689 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Sekreto.swift +755 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/MakeOptions.swift +9 -0
- package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/PrimaryUtilityTest.swift +30 -0
- package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/feature/secrets/SecretsFeatureTest.swift +1030 -0
- package/project/.sdk/tm/swift/Tests/vendor/omni/Json.swift +2 -2
- package/project/.sdk/tm/swift/Tests/vendor/omni/Runner.swift +2 -2
- package/project/.sdk/tm/swift/Tests/vendor/omni/Util.swift +2 -2
- package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +35 -12
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Capability.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Catalog.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Config.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Depend.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Env.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Export.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/FeatureHost.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Graph.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Host.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Order.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Point.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Ref.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Resolve.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Types.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Version.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/index.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/Sekreto.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/index.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/aws.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/azuresecrets.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/boru.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/doppler.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/gcpsecrets.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/hashicorp.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/httpjson.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/infisical.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/onepassword.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/secretspec.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/sigv4.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/addr.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/builtin.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/dotenv.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/env.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/file.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/memory.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/support.ts +1 -1
- package/project/.sdk/tm/ts/src/utility/StructUtility.ts +1 -1
- package/project/.sdk/tm/ts/test/feature/secrets/Secrets.test.ts +73 -0
- package/project/.sdk/tm/ts/test/vendor/omni/Runner.ts +1 -1
- package/project/.sdk/tm/ts/test/vendor/omni/Util.ts +1 -1
- package/project/.sdk/tm/ts/test/vendor/omni/index.ts +1 -1
- package/project/.sdk/tm/zig/feature/secrets/plugin/capability.zig +137 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/catalog.zig +90 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/config.zig +346 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/depend.zig +244 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/env.zig +201 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/export.zig +83 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/graph.zig +212 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/host.zig +1224 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/inst.zig +126 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/order.zig +228 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/plugin.zig +34 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/point.zig +166 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/ref.zig +147 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/resolve.zig +74 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/types.zig +140 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/value.zig +662 -0
- package/project/.sdk/tm/zig/feature/secrets/plugin/version.zig +139 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/aws.zig +294 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/azuresecrets.zig +222 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/boru.zig +188 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/doppler.zig +135 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/gcpsecrets.zig +170 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/hashicorp.zig +242 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/httpjson.zig +535 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/infisical.zig +167 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/onepassword.zig +202 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/secretspec.zig +160 -0
- package/project/.sdk/tm/zig/feature/secrets/plugins/sigv4.zig +336 -0
- package/project/.sdk/tm/zig/feature/secrets/sekreto/addr.zig +148 -0
- package/project/.sdk/tm/zig/feature/secrets/sekreto/builtins.zig +259 -0
- package/project/.sdk/tm/zig/feature/secrets/sekreto/provider.zig +440 -0
- package/project/.sdk/tm/zig/feature/secrets/sekreto/sekreto.zig +944 -0
- package/project/.sdk/tm/zig/feature/secrets.zig +854 -0
- package/project/.sdk/tm/zig/test/feature/secrets/secrets_test.zig +891 -0
- 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 -4
- package/src/helpers/manifest.ts +81 -1
- package/src/helpers/modelNames.ts +284 -0
- package/src/helpers/naming.ts +45 -1
- package/src/sdkgen.ts +11 -1
- package/src/testkit.ts +115 -26
- package/src/utility.ts +17 -7
- package/project/.sdk/model/target/dart.aon +0 -58
- package/project/.sdk/model/target/lean.aon +0 -91
- package/project/.sdk/model/target/seneca-provider.aon +0 -120
- package/project/.sdk/src/cmp/dart/Config_dart.ts +0 -176
- package/project/.sdk/src/cmp/dart/EntityBase_dart.ts +0 -34
- package/project/.sdk/src/cmp/dart/EntityOperation_dart.ts +0 -43
- package/project/.sdk/src/cmp/dart/EntityTypes_dart.ts +0 -207
- package/project/.sdk/src/cmp/dart/Entity_dart.ts +0 -87
- package/project/.sdk/src/cmp/dart/Gitignore_dart.ts +0 -34
- package/project/.sdk/src/cmp/dart/MainEntity_dart.ts +0 -33
- package/project/.sdk/src/cmp/dart/Main_dart.ts +0 -106
- package/project/.sdk/src/cmp/dart/Package_dart.ts +0 -82
- package/project/.sdk/src/cmp/dart/ReadmeEntity_dart.ts +0 -177
- package/project/.sdk/src/cmp/dart/ReadmeExamplesTest_dart.ts +0 -238
- package/project/.sdk/src/cmp/dart/ReadmeExplanation_dart.ts +0 -53
- package/project/.sdk/src/cmp/dart/ReadmeHowto_dart.ts +0 -152
- package/project/.sdk/src/cmp/dart/ReadmeInstall_dart.ts +0 -59
- package/project/.sdk/src/cmp/dart/ReadmeIntro_dart.ts +0 -65
- package/project/.sdk/src/cmp/dart/ReadmeModel_dart.ts +0 -151
- package/project/.sdk/src/cmp/dart/ReadmeOptions_dart.ts +0 -63
- package/project/.sdk/src/cmp/dart/ReadmeQuick_dart.ts +0 -225
- package/project/.sdk/src/cmp/dart/ReadmeRef_dart.ts +0 -397
- package/project/.sdk/src/cmp/dart/ReadmeTopHowto_dart.ts +0 -24
- package/project/.sdk/src/cmp/dart/ReadmeTopQuick_dart.ts +0 -106
- package/project/.sdk/src/cmp/dart/ReadmeTopTest_dart.ts +0 -78
- package/project/.sdk/src/cmp/dart/SdkError_dart.ts +0 -42
- package/project/.sdk/src/cmp/dart/TestDirect_dart.ts +0 -516
- package/project/.sdk/src/cmp/dart/TestEntity_dart.ts +0 -628
- package/project/.sdk/src/cmp/dart/Test_dart.ts +0 -116
- package/project/.sdk/src/cmp/dart/fragment/Config.data.fragment.dart +0 -79
- package/project/.sdk/src/cmp/dart/fragment/Config.fragment.dart +0 -51
- package/project/.sdk/src/cmp/dart/fragment/Direct.test.fragment.dart +0 -25
- package/project/.sdk/src/cmp/dart/fragment/Entity.fragment.dart +0 -29
- package/project/.sdk/src/cmp/dart/fragment/Entity.test.fragment.dart +0 -28
- package/project/.sdk/src/cmp/dart/fragment/EntityBase.fragment.dart +0 -302
- package/project/.sdk/src/cmp/dart/fragment/EntityCreateOp.fragment.dart +0 -98
- package/project/.sdk/src/cmp/dart/fragment/EntityListOp.fragment.dart +0 -90
- package/project/.sdk/src/cmp/dart/fragment/EntityLoadOp.fragment.dart +0 -102
- package/project/.sdk/src/cmp/dart/fragment/EntityRemoveOp.fragment.dart +0 -108
- package/project/.sdk/src/cmp/dart/fragment/EntityUpdateOp.fragment.dart +0 -102
- package/project/.sdk/src/cmp/dart/fragment/Main.fragment.dart +0 -338
- package/project/.sdk/src/cmp/dart/fragment/SdkError.fragment.dart +0 -26
- package/project/.sdk/src/cmp/dart/tsconfig.json +0 -15
- package/project/.sdk/src/cmp/dart/utility_dart.ts +0 -155
- package/project/.sdk/src/cmp/lean/Config_lean.ts +0 -93
- package/project/.sdk/src/cmp/lean/Entity_lean.ts +0 -9
- package/project/.sdk/src/cmp/lean/Gitignore_lean.ts +0 -18
- package/project/.sdk/src/cmp/lean/Main_lean.ts +0 -120
- package/project/.sdk/src/cmp/lean/Package_lean.ts +0 -93
- package/project/.sdk/src/cmp/lean/ReadmeEntity_lean.ts +0 -29
- package/project/.sdk/src/cmp/lean/ReadmeExplanation_lean.ts +0 -19
- package/project/.sdk/src/cmp/lean/ReadmeHowto_lean.ts +0 -25
- package/project/.sdk/src/cmp/lean/ReadmeInstall_lean.ts +0 -39
- package/project/.sdk/src/cmp/lean/ReadmeIntro_lean.ts +0 -25
- package/project/.sdk/src/cmp/lean/ReadmeModel_lean.ts +0 -24
- package/project/.sdk/src/cmp/lean/ReadmeOptions_lean.ts +0 -22
- package/project/.sdk/src/cmp/lean/ReadmeQuick_lean.ts +0 -50
- package/project/.sdk/src/cmp/lean/ReadmeRef_lean.ts +0 -40
- package/project/.sdk/src/cmp/lean/ReadmeTopHowto_lean.ts +0 -16
- package/project/.sdk/src/cmp/lean/ReadmeTopQuick_lean.ts +0 -23
- package/project/.sdk/src/cmp/lean/ReadmeTopTest_lean.ts +0 -19
- package/project/.sdk/src/cmp/lean/Test_lean.ts +0 -261
- package/project/.sdk/src/cmp/lean/utility_lean.ts +0 -129
- package/project/.sdk/src/cmp/seneca-provider/Extras_seneca-provider.ts +0 -4080
- package/project/.sdk/src/cmp/seneca-provider/Gitignore_seneca-provider.ts +0 -161
- package/project/.sdk/src/cmp/seneca-provider/Main_seneca-provider.ts +0 -1011
- package/project/.sdk/tm/dart/LICENSE +0 -22
- package/project/.sdk/tm/dart/Makefile +0 -50
- package/project/.sdk/tm/dart/lib/Context.dart +0 -150
- package/project/.sdk/tm/dart/lib/Control.dart +0 -15
- package/project/.sdk/tm/dart/lib/Operation.dart +0 -31
- package/project/.sdk/tm/dart/lib/Point.dart +0 -51
- package/project/.sdk/tm/dart/lib/Response.dart +0 -32
- package/project/.sdk/tm/dart/lib/Result.dart +0 -39
- package/project/.sdk/tm/dart/lib/Spec.dart +0 -49
- package/project/.sdk/tm/dart/lib/feature/audit/AuditFeature.dart +0 -103
- package/project/.sdk/tm/dart/lib/feature/base/BaseFeature.dart +0 -76
- package/project/.sdk/tm/dart/lib/feature/cache/CacheFeature.dart +0 -152
- package/project/.sdk/tm/dart/lib/feature/clienttrack/ClienttrackFeature.dart +0 -104
- package/project/.sdk/tm/dart/lib/feature/cost/CostFeature.dart +0 -446
- package/project/.sdk/tm/dart/lib/feature/debug/DebugFeature.dart +0 -153
- package/project/.sdk/tm/dart/lib/feature/idempotency/IdempotencyFeature.dart +0 -92
- package/project/.sdk/tm/dart/lib/feature/log/LogFeature.dart +0 -85
- package/project/.sdk/tm/dart/lib/feature/metrics/MetricsFeature.dart +0 -103
- package/project/.sdk/tm/dart/lib/feature/netsim/NetsimFeature.dart +0 -186
- package/project/.sdk/tm/dart/lib/feature/paging/PagingFeature.dart +0 -240
- package/project/.sdk/tm/dart/lib/feature/proxy/ProxyFeature.dart +0 -118
- package/project/.sdk/tm/dart/lib/feature/ratelimit/RatelimitFeature.dart +0 -103
- package/project/.sdk/tm/dart/lib/feature/rbac/RbacFeature.dart +0 -121
- package/project/.sdk/tm/dart/lib/feature/retry/RetryFeature.dart +0 -155
- package/project/.sdk/tm/dart/lib/feature/streaming/StreamingFeature.dart +0 -97
- package/project/.sdk/tm/dart/lib/feature/telemetry/TelemetryFeature.dart +0 -136
- package/project/.sdk/tm/dart/lib/feature/test/TestFeature.dart +0 -328
- package/project/.sdk/tm/dart/lib/feature/timeout/TimeoutFeature.dart +0 -104
- package/project/.sdk/tm/dart/lib/utility/CleanUtility.dart +0 -12
- package/project/.sdk/tm/dart/lib/utility/DoneUtility.dart +0 -18
- package/project/.sdk/tm/dart/lib/utility/ErrUtility.dart +0 -46
- package/project/.sdk/tm/dart/lib/utility/FeatureAddUtility.dart +0 -35
- package/project/.sdk/tm/dart/lib/utility/FeatureHookUtility.dart +0 -20
- package/project/.sdk/tm/dart/lib/utility/FeatureInitUtility.dart +0 -9
- package/project/.sdk/tm/dart/lib/utility/FetcherUtility.dart +0 -104
- package/project/.sdk/tm/dart/lib/utility/GraphqlUtility.dart +0 -162
- package/project/.sdk/tm/dart/lib/utility/MakeContextUtility.dart +0 -6
- package/project/.sdk/tm/dart/lib/utility/MakeErrorUtility.dart +0 -71
- package/project/.sdk/tm/dart/lib/utility/MakeFetchDefUtility.dart +0 -42
- package/project/.sdk/tm/dart/lib/utility/MakeOptionsUtility.dart +0 -233
- package/project/.sdk/tm/dart/lib/utility/MakePointUtility.dart +0 -130
- package/project/.sdk/tm/dart/lib/utility/MakeRequestUtility.dart +0 -66
- package/project/.sdk/tm/dart/lib/utility/MakeResponseUtility.dart +0 -59
- package/project/.sdk/tm/dart/lib/utility/MakeResultUtility.dart +0 -49
- package/project/.sdk/tm/dart/lib/utility/MakeSpecUtility.dart +0 -77
- package/project/.sdk/tm/dart/lib/utility/MakeUrlUtility.dart +0 -51
- package/project/.sdk/tm/dart/lib/utility/ParamUtility.dart +0 -56
- package/project/.sdk/tm/dart/lib/utility/PrepareAuthUtility.dart +0 -46
- package/project/.sdk/tm/dart/lib/utility/PrepareBodyUtility.dart +0 -19
- package/project/.sdk/tm/dart/lib/utility/PrepareHeadersUtility.dart +0 -11
- package/project/.sdk/tm/dart/lib/utility/PrepareMethodUtility.dart +0 -30
- package/project/.sdk/tm/dart/lib/utility/PrepareParamsUtility.dart +0 -23
- package/project/.sdk/tm/dart/lib/utility/PreparePathUtility.dart +0 -9
- package/project/.sdk/tm/dart/lib/utility/PrepareQueryUtility.dart +0 -18
- package/project/.sdk/tm/dart/lib/utility/ResultBasicUtility.dart +0 -29
- package/project/.sdk/tm/dart/lib/utility/ResultBodyUtility.dart +0 -15
- package/project/.sdk/tm/dart/lib/utility/ResultHeadersUtility.dart +0 -18
- package/project/.sdk/tm/dart/lib/utility/StructUtility.dart +0 -127
- package/project/.sdk/tm/dart/lib/utility/TransformRequestUtility.dart +0 -28
- package/project/.sdk/tm/dart/lib/utility/TransformResponseUtility.dart +0 -44
- package/project/.sdk/tm/dart/lib/utility/Utility.dart +0 -239
- package/project/.sdk/tm/dart/lib/utility/voxgig_struct.dart +0 -2462
- package/project/.sdk/tm/dart/src/feature/README.md +0 -3
- package/project/.sdk/tm/dart/src/feature/telemetry/.gitkeep +0 -0
- package/project/.sdk/tm/dart/src/feature/test/.gitkeep +0 -0
- package/project/.sdk/tm/dart/src/feature/timeout/.gitkeep +0 -0
- package/project/.sdk/tm/dart/test/custom_test.dart +0 -65
- package/project/.sdk/tm/dart/test/exists_test.dart +0 -12
- package/project/.sdk/tm/dart/test/feature/harness.dart +0 -329
- package/project/.sdk/tm/dart/test/feature_test.dart +0 -1193
- package/project/.sdk/tm/dart/test/harness.dart +0 -153
- package/project/.sdk/tm/dart/test/netsim_test.dart +0 -48
- package/project/.sdk/tm/dart/test/omni.dart +0 -520
- package/project/.sdk/tm/dart/test/omni_smoke_test.dart +0 -143
- package/project/.sdk/tm/dart/test/pipeline_test.dart +0 -608
- package/project/.sdk/tm/dart/test/primary_test.dart +0 -476
- package/project/.sdk/tm/dart/test/sdk-test-control.json +0 -19
- package/project/.sdk/tm/dart/test/struct_test.dart +0 -468
- package/project/.sdk/tm/dart/test/utility.dart +0 -198
- package/project/.sdk/tm/dart/test/vendor/omni/omni.dart +0 -7
- package/project/.sdk/tm/dart/test/vendor/omni/runner.dart +0 -653
- package/project/.sdk/tm/dart/test/vendor/omni/util.dart +0 -232
- package/project/.sdk/tm/lean/LICENSE +0 -21
- package/project/.sdk/tm/lean/Makefile +0 -32
- package/project/.sdk/tm/lean/VERSION +0 -1
- package/project/.sdk/tm/lean/src/SdkFeature.lean +0 -171
- package/project/.sdk/tm/lean/src/SdkFeatures.lean +0 -787
- package/project/.sdk/tm/lean/src/SdkJson.lean +0 -134
- package/project/.sdk/tm/lean/src/SdkRuntime.lean +0 -374
- package/project/.sdk/tm/lean/src/SdkUtility.lean +0 -809
- package/project/.sdk/tm/lean/src/VoxgigStruct.lean +0 -2880
- package/project/.sdk/tm/lean/src/Vregex.lean +0 -412
- package/project/.sdk/tm/lean/src/feature/README.md +0 -5
- package/project/.sdk/tm/lean/src/feature/audit/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/base/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/cache/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/clienttrack/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/cost/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/debug/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/idempotency/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/log/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/metrics/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/netsim/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/paging/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/proxy/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/ratelimit/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/rbac/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/retry/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/streaming/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/telemetry/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/test/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/timeout/.gitkeep +0 -0
- package/project/.sdk/tm/lean/test/OmniResolver.lean +0 -358
- package/project/.sdk/tm/lean/test/OmniSmoke.lean +0 -174
- package/project/.sdk/tm/lean/test/StructCorpus.lean +0 -368
- package/project/.sdk/tm/lean/test/TFeature.lean +0 -281
- package/project/.sdk/tm/lean/test/TPrimaryUtility.lean +0 -227
- package/project/.sdk/tm/lean/test/vendor/omni/Omni.lean +0 -997
- package/project/.sdk/tm/seneca-provider/CODE_OF_CONDUCT.md +0 -132
- package/project/.sdk/tm/seneca-provider/LICENSE +0 -21
- package/project/.sdk/tm/seneca-provider/Makefile +0 -15
- package/project/.sdk/tm/seneca-provider/src/tsconfig.json +0 -18
- package/project/.sdk/tm/seneca-provider/test/tsconfig.json +0 -16
- package/project/.sdk/tm/seneca-provider/tsfmt.json +0 -3
- /package/project/.sdk/tm/{dart/src/feature/audit → c/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/base → clojure/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/cache → cpp/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/clienttrack → csharp/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/cost → elixir/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/debug → java/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/idempotency → kotlin/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/log → lua/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/metrics → ocaml/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/netsim → perl/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/paging → php/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/proxy → rb/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/ratelimit → rust/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/rbac → scala/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/retry → swift/src/feature/secrets}/.gitkeep +0 -0
- /package/project/.sdk/tm/{dart/src/feature/streaming → zig/src/feature/secrets}/.gitkeep +0 -0
|
@@ -1,1011 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
cmp, each,
|
|
3
|
-
File, Content, Copy, Folder,
|
|
4
|
-
entityCollection, entityOps, entityIdField, entityClassName,
|
|
5
|
-
opRequestShape, opParams, ownPoint, entityPath,
|
|
6
|
-
collectDeps, repoInfo, packageName, packageVersion, apiName, envName,
|
|
7
|
-
authorInfo, contributorList, isAuthActive, isHttpBasicAuth, jsKey, jsProp,
|
|
8
|
-
SdkGenError,
|
|
9
|
-
PUBLISHER, PUBLISHER_URL,
|
|
10
|
-
pointSegments,
|
|
11
|
-
} from '@voxgig/sdkgen'
|
|
12
|
-
|
|
13
|
-
import {
|
|
14
|
-
KIT,
|
|
15
|
-
} from '@voxgig/apidef'
|
|
16
|
-
|
|
17
|
-
import { Tests, Scripts, Workflow, Readme, Docs } from './Extras_seneca-provider'
|
|
18
|
-
import { Gitignore } from './Gitignore_seneca-provider'
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
// The `seneca-provider` target: a Seneca plugin exposing this API's entities
|
|
22
|
-
// as Seneca entities (`provider/<name>/<entity>`), layered on the sibling
|
|
23
|
-
// `ts` SDK.
|
|
24
|
-
//
|
|
25
|
-
// A consumer target in the go-cli / py-data mould — every standard phase is
|
|
26
|
-
// off in model/target/seneca-provider.aon and this component emits the
|
|
27
|
-
// whole package. It differs from those in one way that shapes everything
|
|
28
|
-
// here: it generates into ITS OWN REPO (`output: path`), depends on the SDK
|
|
29
|
-
// as a PUBLISHED npm package rather than by path, and therefore carries a
|
|
30
|
-
// repo's worth of furniture rather than a subfolder's.
|
|
31
|
-
//
|
|
32
|
-
// SHAPE OF THE MAPPING
|
|
33
|
-
//
|
|
34
|
-
// Seneca's store commands are list / load / save / remove. The SDK's are
|
|
35
|
-
// list / load / create / update / remove. `save` is the one that is not
|
|
36
|
-
// one-to-one: Seneca's convention is that an entity carrying an id is an
|
|
37
|
-
// update and one without is a create, so `save` dispatches on `data.id`.
|
|
38
|
-
//
|
|
39
|
-
// Everything else follows from the model:
|
|
40
|
-
// - which cmds exist at all, from the entity's declared ops;
|
|
41
|
-
// - the required path params of each op, which become argument guards (a
|
|
42
|
-
// nested entity like `moon` under `/planet/{planet_id}/moon` cannot build
|
|
43
|
-
// its URL without the parent id, and an opaque 404 from a half-built URL
|
|
44
|
-
// is a bad error message);
|
|
45
|
-
// - the SDK accessor and entity class names, from the same helpers the ts
|
|
46
|
-
// target uses, so the two cannot drift.
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
// Seneca store cmd -> the SDK ops it needs. `save` needs BOTH create and
|
|
50
|
-
// update; it is emitted when either is present and dispatches on the id.
|
|
51
|
-
const CMD_OPS: Record<string, string[]> = {
|
|
52
|
-
list: ['list'],
|
|
53
|
-
load: ['load'],
|
|
54
|
-
save: ['create', 'update'],
|
|
55
|
-
remove: ['remove'],
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
// The required (non-optional) request keys of an op, id first. These are what
|
|
60
|
-
// the SDK needs to build the path, so they are what the provider must have
|
|
61
|
-
// before it calls.
|
|
62
|
-
function requiredKeys(ent: any, opname: string): string[] {
|
|
63
|
-
const idf = entityIdField(ent)
|
|
64
|
-
return opRequestShape(ent, opname).items
|
|
65
|
-
.filter((it: any) => !it.optional)
|
|
66
|
-
.map((it: any) => it.name)
|
|
67
|
-
.sort((a: string, b: string) => (a === idf ? 0 : 1) - (b === idf ? 0 : 1))
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
// The key that addresses ONE record.
|
|
72
|
-
//
|
|
73
|
-
// `entityIdField` answers whenever the model declares one, which apidef does
|
|
74
|
-
// for any entity carrying a field literally named `id` — and it renames an
|
|
75
|
-
// `<entity>_id` path param to `id` besides, which is why most APIs never reach
|
|
76
|
-
// the fallback.
|
|
77
|
-
//
|
|
78
|
-
// When it does NOT answer, the record key is the LAST path param of the
|
|
79
|
-
// op's own point, in PATH order — a route addresses parents first and the
|
|
80
|
-
// record last, by construction. Without this the key was simply unknown,
|
|
81
|
-
// so a param named `code` failed the `!== idf` test in opParentKeys and
|
|
82
|
-
// was classified as a PARENT — `load$('SAVE20')` threw "coupon load: code
|
|
83
|
-
// is required" instead of loading anything, and the entity was treated as
|
|
84
|
-
// nested throughout.
|
|
85
|
-
//
|
|
86
|
-
// opParams(op) is NOT the source here: it alphabetizes params for output
|
|
87
|
-
// stability, which loses path order on a 3+-param route — Airtable's
|
|
88
|
-
// record (base_id, table_id, record_id) alphabetizes with table_id last,
|
|
89
|
-
// so the old `params[params.length - 1]` picked the wrong parent as the
|
|
90
|
-
// record's own key. The point's own `parts` still has the true order.
|
|
91
|
-
function recordKey(ent: any): string {
|
|
92
|
-
const idf = entityIdField(ent)
|
|
93
|
-
if (null != idf && '' !== idf) {
|
|
94
|
-
return String(idf)
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
for (const opname of ['load', 'remove', 'update']) {
|
|
98
|
-
const op = (ent.op || {})[opname]
|
|
99
|
-
if (null == op || 0 === (op.points || []).length) {
|
|
100
|
-
continue
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
const canonical = op.points.filter((pt: any) =>
|
|
104
|
-
null == (pt && pt.select && pt.select['$action']))
|
|
105
|
-
const point = ownPoint(0 < canonical.length ? canonical : op.points)
|
|
106
|
-
// The LAST variable segment names the record's key. apidef states which
|
|
107
|
-
// segments are variables (its ADR-003), so this reads the name off the
|
|
108
|
-
// vector rather than finding a `{` and slicing the braces back off.
|
|
109
|
-
const vars = pointSegments(point)
|
|
110
|
-
.filter((seg: any) => null != seg.var)
|
|
111
|
-
|
|
112
|
-
if (0 < vars.length) {
|
|
113
|
-
return String(vars[vars.length - 1].var)
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
// No path param at all (e.g. GET /scan/async/result?trace_id=...): the
|
|
117
|
-
// record's own key can still be a single required QUERY param.
|
|
118
|
-
const query = (point && point.args && point.args.query) || []
|
|
119
|
-
const reqdQuery = query.filter((q: any) => false !== q.reqd)
|
|
120
|
-
if (1 === reqdQuery.length) {
|
|
121
|
-
return String(reqdQuery[0].name)
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
return 'id'
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
// The guard function's name. Spec-derived param names are not constrained to
|
|
130
|
-
// identifiers — Evervault's `/payments/3ds-sessions/{3ds_session_id}` is the
|
|
131
|
-
// standing example — and a name is a DECLARATION here, so it cannot be
|
|
132
|
-
// bracket-quoted the way a property access can. Non-identifier characters are
|
|
133
|
-
// replaced rather than dropped, so `a-b` and `a_b` cannot collide.
|
|
134
|
-
function guardName(e: any, key: string): string {
|
|
135
|
-
return `need_${e.name}_${String(key).replace(/[^A-Za-z0-9_$]/g, '_')}`
|
|
136
|
-
.replace(/^need_(\d)/, 'need__$1')
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
// The parent PATH params of ONE op: `moon`'s load under
|
|
141
|
-
// `/planet/{planet_id}/moon/{id}` yields ['planet_id']. These are the keys a
|
|
142
|
-
// caller can forget, so each gets a guard.
|
|
143
|
-
//
|
|
144
|
-
// From opParams — the op's declared path params — NOT from opRequestShape.
|
|
145
|
-
// For create/update the latter also returns the request BODY fields, so
|
|
146
|
-
// reading it here generated a "planet name is required" guard for every
|
|
147
|
-
// writable field on every entity.
|
|
148
|
-
function opParentKeys(ent: any, opname: string): string[] {
|
|
149
|
-
const rk = recordKey(ent)
|
|
150
|
-
const op = (ent.op || {})[opname]
|
|
151
|
-
|
|
152
|
-
if (null == op) {
|
|
153
|
-
return []
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
const seen = new Set<string>()
|
|
157
|
-
|
|
158
|
-
for (const p of opParams(op)) {
|
|
159
|
-
const name = String((p as any).name)
|
|
160
|
-
if (false !== (p as any).reqd && name !== rk && name !== 'id') {
|
|
161
|
-
seen.add(name)
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
return [...seen].sort()
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
// Every parent key the entity has, across its ACTIVE ops — for the seed data
|
|
170
|
-
// and the docs, which describe the entity rather than one call.
|
|
171
|
-
//
|
|
172
|
-
// `entityOps` and not `Object.keys(ent.op)`: an op the model marks
|
|
173
|
-
// `active: false` generates no SDK method, so letting it contribute a key
|
|
174
|
-
// here put a mandatory guard for a parameter of a call that does not exist
|
|
175
|
-
// onto every cmd that does.
|
|
176
|
-
function parentKeys(ent: any): string[] {
|
|
177
|
-
const seen = new Set<string>()
|
|
178
|
-
|
|
179
|
-
for (const opname of entityOps(ent)) {
|
|
180
|
-
for (const key of opParentKeys(ent, opname)) {
|
|
181
|
-
seen.add(key)
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
return [...seen].sort()
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
// A model field's broad shape, for generating seed data that reads as data.
|
|
190
|
-
// The model carries canon strings (`\`$STRING\``), not JS types.
|
|
191
|
-
//
|
|
192
|
-
// ORDER MATTERS and the tests are substring tests, so the container kinds are
|
|
193
|
-
// checked FIRST: a multi-type field's sentinel is the ARRAY
|
|
194
|
-
// `['`$ONE`', [members...]]`, and String() flattens it to a comma-joined
|
|
195
|
-
// string — so a `$ONE` of string|number matched `includes('NUMBER')` and was
|
|
196
|
-
// seeded as a bare number. A union is not a number; it is whatever its first
|
|
197
|
-
// member is, and falling back to a string is the safe answer.
|
|
198
|
-
//
|
|
199
|
-
// `$ARRAY` and `$OBJECT` are in the sentinel vocabulary (see
|
|
200
|
-
// helpers/canonType.ts) and used to fall through to 'string', which put
|
|
201
|
-
// `tags: 'quick-tags'` into test/quick.js — a type-incorrect body that a
|
|
202
|
-
// validating server rejects.
|
|
203
|
-
function fieldKind(type: any): string {
|
|
204
|
-
if (Array.isArray(type)) {
|
|
205
|
-
return 'string'
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
const t = String(type || '').toUpperCase()
|
|
209
|
-
|
|
210
|
-
if (t.includes('ARRAY') || t.includes('LIST')) return 'array'
|
|
211
|
-
if (t.includes('OBJECT') || t.includes('MAP')) return 'object'
|
|
212
|
-
if (t.includes('BOOLEAN')) return 'boolean'
|
|
213
|
-
if (t.includes('NUMBER') || t.includes('INTEGER')) return 'number'
|
|
214
|
-
|
|
215
|
-
return 'string'
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
// Which entity a parent path param refers to: `planet_id` -> `planet`, but
|
|
220
|
-
// only when an entity of that name actually exists. A key that names no
|
|
221
|
-
// entity gets no cross-reference, and the seed falls back to a plain string.
|
|
222
|
-
function parentEntityOf(key: string, names: string[]): string {
|
|
223
|
-
const stem = key.replace(/_id$/, '')
|
|
224
|
-
return names.includes(stem) ? stem : ''
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
// The repo this provider is released from — NOT the SDK's. A provider is its
|
|
229
|
-
// own package in its own repo, so its manifest's homepage/repository must
|
|
230
|
-
// point there; deriving them from `main: kit: repo` sends every link in the
|
|
231
|
-
// published package to the SDK instead.
|
|
232
|
-
//
|
|
233
|
-
// Order: the project's `output: repo`, else the Seneca convention.
|
|
234
|
-
function providerRepo(model: any, lower: string, tname: string):
|
|
235
|
-
{ url: string, path: string } {
|
|
236
|
-
const host = model?.main?.[KIT]?.repo?.host || 'github.com'
|
|
237
|
-
const declared = model?.main?.[KIT]?.target?.[tname]?.output?.repo
|
|
238
|
-
const path = null != declared && '' !== declared ?
|
|
239
|
-
String(declared) : `senecajs/seneca-${lower}-provider`
|
|
240
|
-
|
|
241
|
-
return { url: `https://${host}/${path}`, path }
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
// The provider's published package name: the project's pin when it has one,
|
|
246
|
-
// else `@seneca/<name>-provider`. packageName() cannot answer this — its
|
|
247
|
-
// derivations are all SDK-shaped (`@<origin>/<slug>-sdk`).
|
|
248
|
-
function providerPackage(model: any, lower: string, tname: string): string {
|
|
249
|
-
const declared = model?.main?.[KIT]?.target?.[tname]
|
|
250
|
-
?.publish?.registry?.package
|
|
251
|
-
return null != declared && '' !== declared ?
|
|
252
|
-
String(declared) : `@seneca/${lower}-provider`
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
const Main = cmp(function Main(props: any) {
|
|
257
|
-
const { target, ctx$ } = props
|
|
258
|
-
const { model } = ctx$
|
|
259
|
-
|
|
260
|
-
// HARD REQUIREMENT: this plugin imports the TypeScript SDK. Generating it
|
|
261
|
-
// without `ts` produces a package whose every import fails, so fail at
|
|
262
|
-
// GENERATE time with an actionable message instead.
|
|
263
|
-
const targets = model.main[KIT].target || {}
|
|
264
|
-
if (null == targets.ts) {
|
|
265
|
-
throw new SdkGenError(
|
|
266
|
-
'seneca-provider requires the `ts` target in the same SDK: it imports ' +
|
|
267
|
-
'the TypeScript SDK that `ts` generates. Add it with:\n' +
|
|
268
|
-
' npm run add-target ts\n' +
|
|
269
|
-
'then regenerate.')
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
const Name = model.const.Name // Solardemo
|
|
273
|
-
const lower = String(model.const.name) // solardemo
|
|
274
|
-
const ENV = envName(model) // SOLARDEMO
|
|
275
|
-
const sdkClass = `${Name}SDK` // SolardemoSDK
|
|
276
|
-
const pluginName = `${Name}Provider` // SolardemoProvider
|
|
277
|
-
const fileBase = `${lower}-provider` // solardemo-provider
|
|
278
|
-
|
|
279
|
-
// The SDK is a PUBLISHED dependency, not a path: this package lives in its
|
|
280
|
-
// own repo. Its name is whatever the ts target publishes under, pin
|
|
281
|
-
// included, so the two can never disagree.
|
|
282
|
-
// The TypeScript SDK this provider WRAPS — a different target, so it
|
|
283
|
-
// keeps its own name and does not follow this provider's alias.
|
|
284
|
-
const sdkPkg = packageName(model, 'npm')
|
|
285
|
-
const sdkVersion = packageVersion(model, 'ts')
|
|
286
|
-
|
|
287
|
-
// UNFILTERED by design — see the AGENTS.md sharp edge: entityCollection is
|
|
288
|
-
// the resolver every component must use (getModelPath rebuilds its container
|
|
289
|
-
// per call, defeating the class-name memo), and it deliberately includes
|
|
290
|
-
// inactive entities because the typed-model emitters need them.
|
|
291
|
-
//
|
|
292
|
-
// Which makes filtering `active` the CALLER's job, and this component was
|
|
293
|
-
// the one consumer target that skipped it — go-cli, go-mcp and py-data all
|
|
294
|
-
// re-filter. The cost: MainEntity_ts emits an accessor only for an ACTIVE
|
|
295
|
-
// entity, so an inactive one produced `this.shared.sdk.Ghost()` in the
|
|
296
|
-
// provider and an `assert.equal(typeof sdk.Ghost, 'function')` in its tests,
|
|
297
|
-
// against a method the SDK does not have.
|
|
298
|
-
const entityColl = entityCollection(model)
|
|
299
|
-
|
|
300
|
-
const activeEntities = Object.keys(entityColl).sort()
|
|
301
|
-
.map((key: string) => entityColl[key])
|
|
302
|
-
.filter((ent: any) => false !== ent.active)
|
|
303
|
-
|
|
304
|
-
// Entities this provider can serve: those with at least one op that maps to
|
|
305
|
-
// a Seneca store cmd. An entity with no such op would produce an empty cmd
|
|
306
|
-
// map, which seneca-entity treats as a store that answers nothing.
|
|
307
|
-
const entityNames = activeEntities.map((ent: any) => ent.name)
|
|
308
|
-
|
|
309
|
-
const entities = activeEntities
|
|
310
|
-
.map((ent: any) => {
|
|
311
|
-
const parents = parentKeys(ent)
|
|
312
|
-
|
|
313
|
-
// The parent entity PER KEY. Deriving it from `parents[0]` alone left an
|
|
314
|
-
// entity nested two levels deep with no cross-reference for its outer
|
|
315
|
-
// parents, so their seed values came out as the literal '0'.
|
|
316
|
-
const parentOf: Record<string, string> = {}
|
|
317
|
-
for (const key of parents) {
|
|
318
|
-
parentOf[key] = parentEntityOf(key, entityNames)
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
// The parent keys of each op SEPARATELY. The guards used to be the union
|
|
322
|
-
// across all ops, applied to every cmd alike, while the argument handed
|
|
323
|
-
// to the SDK was computed per op — so an entity whose routes are not
|
|
324
|
-
// uniformly nested (a flat `load`, a nested `create`) demanded a
|
|
325
|
-
// parameter its own call would never use.
|
|
326
|
-
const opParents: Record<string, string[]> = {}
|
|
327
|
-
for (const opname of entityOps(ent)) {
|
|
328
|
-
opParents[opname] = opParentKeys(ent, opname)
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
return {
|
|
332
|
-
ent,
|
|
333
|
-
name: ent.name,
|
|
334
|
-
// The SDK ACCESSOR on the client (`client.Moon()`), which is the
|
|
335
|
-
// entity's PascalCase name — NOT entityClassName, which is the
|
|
336
|
-
// collision-safe CLASS name the accessor constructs (`MoonEntity`).
|
|
337
|
-
// Calling the class name reads plausibly and fails at runtime with
|
|
338
|
-
// "sdk.MoonEntity is not a function". MainEntity_ts is the authority
|
|
339
|
-
// for this: it declares the method as `${entity.Name}()`.
|
|
340
|
-
acc: ent.Name,
|
|
341
|
-
// The entity's canonical route, used to probe the live server for
|
|
342
|
-
// liveness. Path params are left in place only if the route has
|
|
343
|
-
// them — a collection route (the `list` op's) has none, which is why
|
|
344
|
-
// entityPath prefers it.
|
|
345
|
-
path: entityPath(ent),
|
|
346
|
-
cls: entityClassName(ent, entityColl),
|
|
347
|
-
ops: entityOps(ent),
|
|
348
|
-
idf: entityIdField(ent),
|
|
349
|
-
parents,
|
|
350
|
-
parentOf,
|
|
351
|
-
opParents,
|
|
352
|
-
// The entity the FIRST parent key points at. Kept because the docs and
|
|
353
|
-
// the scripts speak about "the parent" in the singular; anything that
|
|
354
|
-
// must be right per key reads parentOf.
|
|
355
|
-
parentEntity: 0 < parents.length ? parentOf[parents[0]] : '',
|
|
356
|
-
// Required fields only: a seed record has to satisfy the shape the
|
|
357
|
-
// SDK will hand back, and optional noise makes the assertions
|
|
358
|
-
// harder to read.
|
|
359
|
-
//
|
|
360
|
-
// A parent path param is then FORCED IN even when the entity's own
|
|
361
|
-
// schema omits it or marks it optional. A path param is a routing key,
|
|
362
|
-
// not necessarily a response field: when the child's schema left it
|
|
363
|
-
// out the seeded record had no link back to its parent, and the mock's
|
|
364
|
-
// match found nothing — which the nested `load` test reported as a
|
|
365
|
-
// TypeError and the nested `list` test reported as a pass.
|
|
366
|
-
fields: (() => {
|
|
367
|
-
const req = (ent.fields || [])
|
|
368
|
-
.filter((f: any) => false !== f.req)
|
|
369
|
-
.map((f: any) => ({
|
|
370
|
-
name: f.name,
|
|
371
|
-
kind: fieldKind(f.type),
|
|
372
|
-
parentEntity: parentEntityOf(f.name, entityNames),
|
|
373
|
-
}))
|
|
374
|
-
|
|
375
|
-
const have = new Set(req.map((f: any) => f.name))
|
|
376
|
-
|
|
377
|
-
for (const key of parents) {
|
|
378
|
-
if (!have.has(key)) {
|
|
379
|
-
req.push({
|
|
380
|
-
name: key,
|
|
381
|
-
kind: 'string',
|
|
382
|
-
parentEntity: parentOf[key],
|
|
383
|
-
})
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
return req
|
|
388
|
-
})(),
|
|
389
|
-
}
|
|
390
|
-
})
|
|
391
|
-
.map((e: any) => ({
|
|
392
|
-
...e,
|
|
393
|
-
cmds: Object.keys(CMD_OPS)
|
|
394
|
-
.filter((cmd) => CMD_OPS[cmd].some((op) => e.ops.includes(op))),
|
|
395
|
-
}))
|
|
396
|
-
.filter((e: any) => 0 < e.cmds.length)
|
|
397
|
-
|
|
398
|
-
if (0 === entities.length) {
|
|
399
|
-
throw new SdkGenError(
|
|
400
|
-
'seneca-provider: no entity in this model declares a list/load/create/' +
|
|
401
|
-
'update/remove operation, so the plugin would expose no entities at ' +
|
|
402
|
-
'all. Remove the target, or add an entity with CRUD ops.')
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
const repo = providerRepo(model, lower, target.name)
|
|
406
|
-
|
|
407
|
-
// The companion test server lives in the SDK repo's `app/` and is NOT
|
|
408
|
-
// published, so the only way to reach it is the local checkout. The path
|
|
409
|
-
// back to it is the inverse of this target's own `output: path`, computed
|
|
410
|
-
// once by the external pass — see cmp/ExternalTarget.
|
|
411
|
-
const sdkrel = ctx$.sdkrelpath || '..'
|
|
412
|
-
|
|
413
|
-
// Where a live run points — and whether there is anything honest to point
|
|
414
|
-
// it at.
|
|
415
|
-
//
|
|
416
|
-
// NOT simply `servers[0].url`. For an OpenAPI-derived model that is the
|
|
417
|
-
// PRODUCTION host of a third-party API, and everything gated on it aims
|
|
418
|
-
// there: the `describe('live')` block, which `npm test` runs on every CI
|
|
419
|
-
// push on three operating systems; the `serverUp` probe in front of it; and
|
|
420
|
-
// test/quick.js, whose header says "start the companion server first" while
|
|
421
|
-
// BASE silently defaults to production and whose body is a create / update /
|
|
422
|
-
// remove cycle. A live suite that reaches a stranger's API from CI is not a
|
|
423
|
-
// live suite, it is traffic — and unauthenticated traffic at that.
|
|
424
|
-
//
|
|
425
|
-
// So a live base is taken only when it is unambiguously OURS: declared
|
|
426
|
-
// outright by the project, or a loopback address, which no third party can
|
|
427
|
-
// be behind. Anything else leaves live testing ungenerated, which is the
|
|
428
|
-
// honest answer for an API nobody here runs.
|
|
429
|
-
const live = model?.main?.[KIT]?.test?.live || {}
|
|
430
|
-
const servers = (model?.main?.[KIT]?.info?.servers || [])
|
|
431
|
-
const specBase = 0 < servers.length ? String(servers[0].url || '') : ''
|
|
432
|
-
|
|
433
|
-
const loopback = (url: string) =>
|
|
434
|
-
/^https?:\/\/(localhost|127\.0\.0\.1|0\.0\.0\.0|\[::1\])([:/]|$)/i.test(url)
|
|
435
|
-
|
|
436
|
-
const liveBase = null != live.base && '' !== live.base ? String(live.base) :
|
|
437
|
-
(loopback(specBase) ? specBase : '')
|
|
438
|
-
|
|
439
|
-
// Whether the SDK's own repo ships a runnable companion server under
|
|
440
|
-
// `app/`. NOTHING in an API definition says so — it is a property of the
|
|
441
|
-
// sibling project — so it cannot be inferred, and inferring it is what put
|
|
442
|
-
// an unconditional `git clone && cd app && npm install && npm run build`
|
|
443
|
-
// into every generated provider's CI.
|
|
444
|
-
const liveApp = true === live.app || (loopback(specBase) && '' === (live.base || ''))
|
|
445
|
-
|
|
446
|
-
const provider = {
|
|
447
|
-
Name, lower, ENV, sdkClass, pluginName, fileBase,
|
|
448
|
-
sdkPkg, sdkVersion, entities,
|
|
449
|
-
repoUrl: repo.url,
|
|
450
|
-
// The SDK's own repo, for pointing at the companion test server which is
|
|
451
|
-
// only distributed in source.
|
|
452
|
-
sdkRepoUrl: repoInfo(model).repoUrl,
|
|
453
|
-
api: apiName(model),
|
|
454
|
-
version: packageVersion(model, target.name),
|
|
455
|
-
sdkrel,
|
|
456
|
-
liveBase,
|
|
457
|
-
liveApp,
|
|
458
|
-
// The sponsor line. @seneca/maintain's `content_readme` check requires
|
|
459
|
-
// the publisher's name in the README, so this is load-bearing rather
|
|
460
|
-
// than decorative — the generated `maintain` test fails without it.
|
|
461
|
-
publisher: PUBLISHER,
|
|
462
|
-
publisherUrl: PUBLISHER_URL,
|
|
463
|
-
// A route with NO path params, so the probe is a plain GET. An entity
|
|
464
|
-
// whose every route is parameterised gives none, and then the probe
|
|
465
|
-
// falls back to the base URL itself.
|
|
466
|
-
probePath: (entities.find((e: any) =>
|
|
467
|
-
'' !== e.path && !e.path.includes('{')) || { path: '' }).path,
|
|
468
|
-
// The provider's OWN published name. Not derived from the SDK slug the
|
|
469
|
-
// way a language target's is — a provider is `@seneca/<name>-provider` —
|
|
470
|
-
// so read the project's pin directly and default to that shape.
|
|
471
|
-
pkgName: providerPackage(model, lower, target.name),
|
|
472
|
-
// Whether this API authenticates at all. Decides if the plugin plumbs a
|
|
473
|
-
// credential: the SDK's auth stage emits nothing for an auth-inactive
|
|
474
|
-
// model and strips the authorization header regardless of options, so
|
|
475
|
-
// plumbing one anyway produces a credential path that cannot work.
|
|
476
|
-
authActive: isAuthActive(model),
|
|
477
|
-
// Whether this API's scheme is genuine HTTP Basic Auth (two credentials,
|
|
478
|
-
// base64-joined), matching the SDK's own auth.basic signal. Decides
|
|
479
|
-
// whether the plugin also plumbs a `secret` alongside `apikey` — a
|
|
480
|
-
// Basic-Auth SDK's own auth stage deletes the header when either is
|
|
481
|
-
// missing, so a provider forwarding apikey alone could never
|
|
482
|
-
// authenticate, the same class of gap `apikey`-only forwarding was.
|
|
483
|
-
authBasic: isAuthActive(model) && isHttpBasicAuth(model),
|
|
484
|
-
}
|
|
485
|
-
|
|
486
|
-
// `.gitignore` is EMITTED rather than copied — npm strips that filename
|
|
487
|
-
// from the tarball, so as a template it reached only checkout users. See
|
|
488
|
-
// Gitignore_seneca-provider. Called before the Copy, as every language
|
|
489
|
-
// target calls its own.
|
|
490
|
-
Gitignore({})
|
|
491
|
-
|
|
492
|
-
// Static furniture: LICENSE, CODE_OF_CONDUCT, Makefile, tsfmt.json and
|
|
493
|
-
// both tsconfigs. Same for every provider.
|
|
494
|
-
Copy({
|
|
495
|
-
from: 'tm/' + target.name,
|
|
496
|
-
replace: { ...ctx$.stdrep },
|
|
497
|
-
})
|
|
498
|
-
|
|
499
|
-
PackageJson({ provider, target })
|
|
500
|
-
ProviderSource({ provider })
|
|
501
|
-
ProviderDoc({ provider })
|
|
502
|
-
Tests({ provider })
|
|
503
|
-
Scripts({ provider })
|
|
504
|
-
Workflow({ provider })
|
|
505
|
-
Readme({ provider })
|
|
506
|
-
Docs({ provider })
|
|
507
|
-
})
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
// --- package.json -----------------------------------------------------------
|
|
511
|
-
|
|
512
|
-
const PackageJson = cmp(function PackageJson(props: any) {
|
|
513
|
-
const { provider, target } = props
|
|
514
|
-
const { model } = props.ctx$
|
|
515
|
-
|
|
516
|
-
const deps = collectDeps(model, target.name, target.deps, props.ctx$.log)
|
|
517
|
-
|
|
518
|
-
// collectDeps returns { name, version, source, raw } — the DECLARED kind
|
|
519
|
-
// (prod/peer/dev) is on `raw`, not hoisted. Reading `d.kind` instead
|
|
520
|
-
// silently yields an empty manifest section, which is how the first cut of
|
|
521
|
-
// this component shipped a package.json with no seneca peers at all.
|
|
522
|
-
//
|
|
523
|
-
// `kind` is a COMMA-SEPARATED LIST, so one dependency can land in more than
|
|
524
|
-
// one manifest section. That is the Seneca plugin convention and not an
|
|
525
|
-
// embellishment: `seneca` is a PEER (the plugin must run inside the host's
|
|
526
|
-
// instance, never its own bundled copy) and also a DEV dependency (the test
|
|
527
|
-
// suite does `require('seneca')` directly, so a bare `npm install` in a
|
|
528
|
-
// clean checkout has to produce it). collectDeps deduplicates by package
|
|
529
|
-
// name and the model's dep map is keyed by name, so the same package cannot
|
|
530
|
-
// be declared twice — the kind has to carry the list instead.
|
|
531
|
-
const dep = (kind: string) => {
|
|
532
|
-
const out: Record<string, string> = {}
|
|
533
|
-
const kinds = (d: any) => String((d.raw && d.raw.kind) || '')
|
|
534
|
-
.split(',').map((s: string) => s.trim()).filter((s: string) => '' !== s)
|
|
535
|
-
|
|
536
|
-
for (const d of deps.filter((d: any) => kinds(d).includes(kind))) {
|
|
537
|
-
out[d.name] = d.version
|
|
538
|
-
}
|
|
539
|
-
return out
|
|
540
|
-
}
|
|
541
|
-
|
|
542
|
-
// Attribution. Model-driven, because it cannot be derived and because
|
|
543
|
-
// regeneration OVERWRITES the manifest: the hand-written provider this
|
|
544
|
-
// target was modelled on lost its author and both named contributors on the
|
|
545
|
-
// first regeneration, and nothing failed. Unset falls back to the publisher.
|
|
546
|
-
const author = authorInfo(model)
|
|
547
|
-
const contributors = contributorList(model)
|
|
548
|
-
|
|
549
|
-
const pkg = {
|
|
550
|
-
name: provider.pkgName,
|
|
551
|
-
version: provider.version,
|
|
552
|
-
main: `dist/${provider.fileBase}.js`,
|
|
553
|
-
type: 'commonjs',
|
|
554
|
-
types: `dist/${provider.fileBase}.d.ts`,
|
|
555
|
-
description:
|
|
556
|
-
`Seneca entity provider for the ${provider.api} API, using the ` +
|
|
557
|
-
`${provider.sdkPkg} SDK.`,
|
|
558
|
-
homepage: provider.repoUrl,
|
|
559
|
-
keywords: ['seneca', provider.lower, `${provider.lower}-provider`,
|
|
560
|
-
provider.publisher.toLowerCase(), 'sdk'],
|
|
561
|
-
author,
|
|
562
|
-
// Omitted entirely when the project names none, rather than emitted as an
|
|
563
|
-
// empty array — npm treats `"contributors": []` as a declaration that
|
|
564
|
-
// there are none, which is a different claim from not having said.
|
|
565
|
-
...(0 < contributors.length ? { contributors } : {}),
|
|
566
|
-
license: 'MIT',
|
|
567
|
-
repository: { type: 'git', url: `git+${provider.repoUrl}.git` },
|
|
568
|
-
scripts: {
|
|
569
|
-
test: 'node --enable-source-maps --test test/**/*.test.js',
|
|
570
|
-
'test-some':
|
|
571
|
-
'node --enable-source-maps --test-name-pattern="$TEST_PATTERN" ' +
|
|
572
|
-
'--test "test/**/*.test.js"',
|
|
573
|
-
'test-watch': 'node --test --watch test/**/*.test.js',
|
|
574
|
-
watch: 'tsc --build src test -w',
|
|
575
|
-
build: 'tsc --build src test',
|
|
576
|
-
'test-coverage':
|
|
577
|
-
'node --enable-source-maps --experimental-test-coverage --test ' +
|
|
578
|
-
'test/**/*.test.js',
|
|
579
|
-
clean:
|
|
580
|
-
'rm -rf node_modules dist dist-test .tsbuildinfo yarn.lock ' +
|
|
581
|
-
'package-lock.json',
|
|
582
|
-
reset: 'npm run clean && npm i && npm run build && npm test',
|
|
583
|
-
// The Seneca release convention: tag from package.json, push, publish.
|
|
584
|
-
// Generated because a provider is released like every other Seneca
|
|
585
|
-
// plugin, and a maintainer who has to remember the incantation will
|
|
586
|
-
// eventually publish an untested build.
|
|
587
|
-
'repo-tag':
|
|
588
|
-
'REPO_VERSION=`node -e "console.log(require(\'./package\').version)"` ' +
|
|
589
|
-
'&& echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION ' +
|
|
590
|
-
'&& git push && git tag v$REPO_VERSION && git push --tags;',
|
|
591
|
-
'repo-publish': 'npm run clean && npm i && npm run repo-publish-quick',
|
|
592
|
-
'repo-publish-quick':
|
|
593
|
-
'npm run build && npm run test && npm run repo-tag && ' +
|
|
594
|
-
'npm publish --access public --registry https://registry.npmjs.org',
|
|
595
|
-
},
|
|
596
|
-
// What actually ships. Without `files`, `npm publish` packs the test
|
|
597
|
-
// suite and build output into the tarball.
|
|
598
|
-
files: ['dist', 'src/**/*.ts', 'LICENSE'],
|
|
599
|
-
engines: { node: '>=24' },
|
|
600
|
-
dependencies: {
|
|
601
|
-
// The SDK this plugin wraps, by its PUBLISHED name and version.
|
|
602
|
-
[provider.sdkPkg]: `^${provider.sdkVersion}`,
|
|
603
|
-
...dep('prod'),
|
|
604
|
-
},
|
|
605
|
-
peerDependencies: dep('peer'),
|
|
606
|
-
devDependencies: dep('dev'),
|
|
607
|
-
}
|
|
608
|
-
|
|
609
|
-
File({ name: 'package.json' }, () => {
|
|
610
|
-
Content(JSON.stringify(pkg, null, 2) + '\n')
|
|
611
|
-
})
|
|
612
|
-
})
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
// --- src/<name>-provider.ts -------------------------------------------------
|
|
616
|
-
|
|
617
|
-
const ProviderSource = cmp(function ProviderSource(props: any) {
|
|
618
|
-
const { provider } = props
|
|
619
|
-
|
|
620
|
-
Folder({ name: 'src' }, () => {
|
|
621
|
-
File({ name: `${provider.fileBase}.ts` }, () => {
|
|
622
|
-
Content(`/* Generated by @voxgig/sdkgen. Do not edit. */
|
|
623
|
-
|
|
624
|
-
const Pkg = require('../package.json')
|
|
625
|
-
|
|
626
|
-
const { ${provider.sdkClass} } = require('${provider.sdkPkg}')
|
|
627
|
-
|
|
628
|
-
const SdkPkg = require('${provider.sdkPkg}/package.json')
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
type ${provider.pluginName}Options = {
|
|
632
|
-
// Options passed straight to the ${provider.sdkClass} constructor,
|
|
633
|
-
// most usefully \`base\` to point at a server.
|
|
634
|
-
sdk?: Record<string, any>
|
|
635
|
-
|
|
636
|
-
// Run the SDK in offline test mode (in-memory mock transport).
|
|
637
|
-
test?: boolean
|
|
638
|
-
|
|
639
|
-
// Test feature options, e.g. {entity: {${provider.entities[0].name}: {...}}} to
|
|
640
|
-
// seed the mock with data. Only used when \`test\` is true.
|
|
641
|
-
testopts?: Record<string, any>
|
|
642
|
-
}
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
function ${provider.pluginName}(this: any, options: ${provider.pluginName}Options) {
|
|
646
|
-
const seneca: any = this
|
|
647
|
-
|
|
648
|
-
const entityBuilder = this.export('provider/entityBuilder')
|
|
649
|
-
|
|
650
|
-
seneca.message('sys:provider,provider:${provider.lower},get:info', get_info)
|
|
651
|
-
|
|
652
|
-
async function get_info(this: any, _msg: any) {
|
|
653
|
-
return {
|
|
654
|
-
ok: true,
|
|
655
|
-
name: '${provider.lower}',
|
|
656
|
-
version: Pkg.version,
|
|
657
|
-
sdk: {
|
|
658
|
-
name: '${provider.sdkPkg}',
|
|
659
|
-
version: SdkPkg.version,
|
|
660
|
-
},
|
|
661
|
-
}
|
|
662
|
-
}
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
// Every SDK operation resolves to an SDK ENTITY rather than raw data (a
|
|
666
|
-
// removed record included: it comes back marked deleted, still holding what
|
|
667
|
-
// it held). Seneca wants plain data, which the entity hands over through
|
|
668
|
-
// data().
|
|
669
|
-
function plain(res: any) {
|
|
670
|
-
return null == res ? res : res.data()
|
|
671
|
-
}
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
// Seneca query directives (sort$, limit$, ...) are for the store, not the
|
|
675
|
-
// API, so they must not reach the SDK as match fields.
|
|
676
|
-
function cleanq(q: any) {
|
|
677
|
-
const out: any = {}
|
|
678
|
-
for (const k in (q || {})) {
|
|
679
|
-
if (!k.endsWith('$')) {
|
|
680
|
-
out[k] = q[k]
|
|
681
|
-
}
|
|
682
|
-
}
|
|
683
|
-
return out
|
|
684
|
-
}
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
// The SDK throws on any non-2xx. A 404 from a single-item read is an
|
|
688
|
-
// ordinary "not found" answer rather than a failure, so return null and let
|
|
689
|
-
// everything else propagate. SDK errors carry the HTTP status at the top
|
|
690
|
-
// level, so ask them rather than digging into \`result\`.
|
|
691
|
-
async function ornull(action: () => Promise<any>) {
|
|
692
|
-
try {
|
|
693
|
-
return await action()
|
|
694
|
-
}
|
|
695
|
-
catch (e: any) {
|
|
696
|
-
if (true === e?.notFound) {
|
|
697
|
-
return null
|
|
698
|
-
}
|
|
699
|
-
throw e
|
|
700
|
-
}
|
|
701
|
-
}
|
|
702
|
-
|
|
703
|
-
`)
|
|
704
|
-
|
|
705
|
-
// A guard per required parent key. Without it the SDK builds a
|
|
706
|
-
// half-formed URL and the caller gets an opaque 404 instead of being
|
|
707
|
-
// told what they left out.
|
|
708
|
-
const guarded = provider.entities.filter((e: any) => 0 < e.parents.length)
|
|
709
|
-
if (0 < guarded.length) {
|
|
710
|
-
Content(` // Nested entities cannot build their path without the parent id, so
|
|
711
|
-
// say which key is missing rather than letting the SDK report an opaque
|
|
712
|
-
// 404 on a half-built URL.
|
|
713
|
-
`)
|
|
714
|
-
each(guarded, (e: any) => {
|
|
715
|
-
each(e.parents, (key: any) => {
|
|
716
|
-
const k = String(key.val$ ?? key)
|
|
717
|
-
Content(` function ${guardName(e, k)}(value: any, cmd: string) {
|
|
718
|
-
if (null == value || '' === value) {
|
|
719
|
-
throw new Error(
|
|
720
|
-
'${provider.pkgName}: ${e.name} ' + cmd + ': ${k} is required'
|
|
721
|
-
)
|
|
722
|
-
}
|
|
723
|
-
return value
|
|
724
|
-
}
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
`)
|
|
728
|
-
})
|
|
729
|
-
})
|
|
730
|
-
}
|
|
731
|
-
|
|
732
|
-
// Seneca's own entity key is ALWAYS literally `id` — `load$('x')` sets
|
|
733
|
-
// `q = { id: 'x' }`, and the id of the entity it builds comes off
|
|
734
|
-
// `data.id`. An API that addresses a record by anything else therefore
|
|
735
|
-
// needs translating in both directions, or `load$` requests a record
|
|
736
|
-
// keyed `undefined` and every entity handed back has no id at all — one
|
|
737
|
-
// that cannot then be saved or removed.
|
|
738
|
-
const aliased = provider.entities.filter((e: any) => 'id' !== recordKey(e.ent))
|
|
739
|
-
each(aliased, (e: any) => {
|
|
740
|
-
const rk = recordKey(e.ent)
|
|
741
|
-
Content(` // This API keys a ${e.name} by \`${rk}\`, Seneca by \`id\`. Carry the
|
|
742
|
-
// API's key across so the Seneca entity has one.
|
|
743
|
-
function id_${e.name}(data: any) {
|
|
744
|
-
if (null != data && null == data.id) {
|
|
745
|
-
data.id = ${jsProp('data', rk)}
|
|
746
|
-
}
|
|
747
|
-
return data
|
|
748
|
-
}
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
`)
|
|
752
|
-
})
|
|
753
|
-
|
|
754
|
-
// The cmd map, declared up front so every action is attached to a
|
|
755
|
-
// shape seneca-entity can read before the actions are defined.
|
|
756
|
-
Content(` const entity: any = {
|
|
757
|
-
`)
|
|
758
|
-
each(provider.entities, (e: any) => {
|
|
759
|
-
Content(` ${e.name}: {
|
|
760
|
-
cmd: {
|
|
761
|
-
`)
|
|
762
|
-
each(e.cmds, (cmd: any) => {
|
|
763
|
-
Content(` ${String(cmd.val$ ?? cmd)}: { action: (undefined as any) },
|
|
764
|
-
`)
|
|
765
|
-
})
|
|
766
|
-
Content(` },
|
|
767
|
-
},
|
|
768
|
-
|
|
769
|
-
`)
|
|
770
|
-
})
|
|
771
|
-
Content(` }
|
|
772
|
-
|
|
773
|
-
`)
|
|
774
|
-
|
|
775
|
-
each(provider.entities, (e: any) => {
|
|
776
|
-
// The guard set is PER OP, not the union across the entity's ops. An
|
|
777
|
-
// entity whose routes are not uniformly nested — a flat `load`, a
|
|
778
|
-
// nested `create` — used to demand the parent id on the flat call too,
|
|
779
|
-
// an argument its own SDK request would then never use.
|
|
780
|
-
//
|
|
781
|
-
// `save` guards the union of create's and update's keys: one action
|
|
782
|
-
// serves both and dispatches at runtime, so it cannot know which set
|
|
783
|
-
// applies until it has the data.
|
|
784
|
-
const guard = (cmd: string, src: string) => {
|
|
785
|
-
const keys = 'save' === cmd ?
|
|
786
|
-
[...new Set([...(e.opParents.create || []), ...(e.opParents.update || [])])].sort() :
|
|
787
|
-
(e.opParents[cmd] || [])
|
|
788
|
-
|
|
789
|
-
return keys
|
|
790
|
-
.map((k: string) =>
|
|
791
|
-
` ${guardName(e, k)}(${jsProp(src, k)}, '${cmd}')\n`)
|
|
792
|
-
.join('')
|
|
793
|
-
}
|
|
794
|
-
|
|
795
|
-
// Reading the record's own key off the Seneca query, which always
|
|
796
|
-
// spells it `id`, and every other required key off its own name.
|
|
797
|
-
const rk = recordKey(e.ent)
|
|
798
|
-
const sdkArg = (opname: string) => {
|
|
799
|
-
const keys = requiredKeys(e.ent, opname)
|
|
800
|
-
if (0 === keys.length) {
|
|
801
|
-
return '{}'
|
|
802
|
-
}
|
|
803
|
-
return `{ ${keys.map((k: string) =>
|
|
804
|
-
`${jsKey(k)}: ${jsProp('q', k === rk ? 'id' : k)}`).join(', ')} }`
|
|
805
|
-
}
|
|
806
|
-
|
|
807
|
-
// The data hop, plus the id alias when the API keys the record by
|
|
808
|
-
// something other than `id`.
|
|
809
|
-
const out = (expr: string) =>
|
|
810
|
-
'id' === rk ? `plain(${expr})` : `id_${e.name}(plain(${expr}))`
|
|
811
|
-
|
|
812
|
-
if (e.cmds.includes('list')) {
|
|
813
|
-
Content(`
|
|
814
|
-
entity.${e.name}.cmd.list.action =
|
|
815
|
-
async function list_${e.name}(this: any, entize: any, msg: any) {
|
|
816
|
-
const q = cleanq(msg.q)
|
|
817
|
-
${guard('list', 'q')} const list = await this.shared.sdk.${e.acc}().list(q)
|
|
818
|
-
return list.map((data: any) => entize(${out('data')}))
|
|
819
|
-
}
|
|
820
|
-
|
|
821
|
-
`)
|
|
822
|
-
}
|
|
823
|
-
|
|
824
|
-
if (e.cmds.includes('load')) {
|
|
825
|
-
Content(`
|
|
826
|
-
entity.${e.name}.cmd.load.action =
|
|
827
|
-
async function load_${e.name}(this: any, entize: any, msg: any) {
|
|
828
|
-
const q = cleanq(msg.q)
|
|
829
|
-
${guard('load', 'q')} const res = await ornull(() => this.shared.sdk.${e.acc}().load(${sdkArg('load')}))
|
|
830
|
-
return null == res ? null : entize(${out('res')})
|
|
831
|
-
}
|
|
832
|
-
|
|
833
|
-
`)
|
|
834
|
-
}
|
|
835
|
-
|
|
836
|
-
if (e.cmds.includes('save')) {
|
|
837
|
-
const hasCreate = e.ops.includes('create')
|
|
838
|
-
const hasUpdate = e.ops.includes('update')
|
|
839
|
-
|
|
840
|
-
// Dispatch on the SENECA key. The record arriving here is a Seneca
|
|
841
|
-
// entity's data, so its id lives at `id` whatever the API calls it —
|
|
842
|
-
// dispatching on the API's key sent every save to `create`, leaving
|
|
843
|
-
// update unreachable.
|
|
844
|
-
const body = hasCreate && hasUpdate
|
|
845
|
-
? ` const res = null == data.id
|
|
846
|
-
? await sdk.${e.acc}().create(data)
|
|
847
|
-
: await sdk.${e.acc}().update(data)`
|
|
848
|
-
: hasCreate
|
|
849
|
-
? ` const res = await sdk.${e.acc}().create(data)`
|
|
850
|
-
: ` const res = await sdk.${e.acc}().update(data)`
|
|
851
|
-
|
|
852
|
-
// ... and hand the API back its own key, which Seneca does not know
|
|
853
|
-
// to send.
|
|
854
|
-
const alias = 'id' === rk ? '' :
|
|
855
|
-
`
|
|
856
|
-
// This API keys a ${e.name} by \`${rk}\`; Seneca carries it as \`id\`.
|
|
857
|
-
if (null == ${jsProp('data', rk)} && null != data.id) {
|
|
858
|
-
${jsProp('data', rk)} = data.id
|
|
859
|
-
}
|
|
860
|
-
`
|
|
861
|
-
|
|
862
|
-
Content(`
|
|
863
|
-
entity.${e.name}.cmd.save.action =
|
|
864
|
-
async function save_${e.name}(this: any, entize: any, msg: any) {
|
|
865
|
-
const data = msg.ent.data$(false)
|
|
866
|
-
${guard('save', 'data')}${alias} const sdk = this.shared.sdk
|
|
867
|
-
|
|
868
|
-
${body}
|
|
869
|
-
|
|
870
|
-
return entize(${out('res')})
|
|
871
|
-
}
|
|
872
|
-
|
|
873
|
-
`)
|
|
874
|
-
}
|
|
875
|
-
|
|
876
|
-
if (e.cmds.includes('remove')) {
|
|
877
|
-
Content(`
|
|
878
|
-
entity.${e.name}.cmd.remove.action =
|
|
879
|
-
async function remove_${e.name}(this: any, _entize: any, msg: any) {
|
|
880
|
-
const q = cleanq(msg.q)
|
|
881
|
-
${guard('remove', 'q')} await ornull(() => this.shared.sdk.${e.acc}().remove(${sdkArg('remove')}))
|
|
882
|
-
return null
|
|
883
|
-
}
|
|
884
|
-
|
|
885
|
-
`)
|
|
886
|
-
}
|
|
887
|
-
})
|
|
888
|
-
|
|
889
|
-
Content(`
|
|
890
|
-
entityBuilder(this, {
|
|
891
|
-
provider: {
|
|
892
|
-
name: '${provider.lower}',
|
|
893
|
-
},
|
|
894
|
-
entity
|
|
895
|
-
})
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
seneca.prepare(async function(this: any) {
|
|
899
|
-
const sdkopts: any = Object.assign({}, options.sdk)
|
|
900
|
-
${provider.authActive ? `
|
|
901
|
-
// The provider convention carries credentials, so honour an \`apikey\`
|
|
902
|
-
// when one is configured and stay quiet when it is not.
|
|
903
|
-
const res = await this.post('sys:provider,get:keymap,provider:${provider.lower}')
|
|
904
|
-
const apikey = res?.keymap?.apikey?.value
|
|
905
|
-
|
|
906
|
-
// Hand the credential to the SDK as \`apikey\`, NOT as an authorization
|
|
907
|
-
// HEADER. The SDK's own auth stage owns that header: it reads
|
|
908
|
-
// \`options.apikey\`, and on every path where it finds none it DELETES
|
|
909
|
-
// \`authorization\` before the request goes out. A provider that set the
|
|
910
|
-
// header itself was therefore never authenticated — the SDK stripped the
|
|
911
|
-
// very thing it had just written, on every call, silently. The SDK also
|
|
912
|
-
// owns the scheme prefix, which is resolved from the API definition
|
|
913
|
-
// rather than assumed to be \`Bearer\`.
|
|
914
|
-
if (null != apikey && '' !== apikey) {
|
|
915
|
-
sdkopts.apikey = apikey
|
|
916
|
-
}
|
|
917
|
-
${provider.authBasic ? `
|
|
918
|
-
// Genuine HTTP Basic Auth needs a SECOND credential (the SDK sends
|
|
919
|
-
// \`Authorization: Basic base64(apikey:secret)\`) — without it the SDK's
|
|
920
|
-
// auth stage treats the pair as incomplete and deletes the header, same
|
|
921
|
-
// as a missing apikey.
|
|
922
|
-
const secret = res?.keymap?.secret?.value
|
|
923
|
-
|
|
924
|
-
if (null != secret && '' !== secret) {
|
|
925
|
-
sdkopts.secret = secret
|
|
926
|
-
}
|
|
927
|
-
` : ''}` : `
|
|
928
|
-
// This API declares no authentication, so no credential is plumbed. The
|
|
929
|
-
// SDK's auth stage emits nothing for an auth-inactive model and deletes
|
|
930
|
-
// any \`authorization\` header regardless of options, so a keymap lookup
|
|
931
|
-
// here would read a key that could not reach the wire — which is what the
|
|
932
|
-
// first version of this target did.
|
|
933
|
-
`}
|
|
934
|
-
this.shared.sdk = options.test
|
|
935
|
-
? ${provider.sdkClass}.test(options.testopts || {}, sdkopts)
|
|
936
|
-
: new ${provider.sdkClass}(sdkopts)
|
|
937
|
-
})
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
return {
|
|
941
|
-
exports: {
|
|
942
|
-
sdk: () => this.shared.sdk,
|
|
943
|
-
},
|
|
944
|
-
}
|
|
945
|
-
}
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
// Default options.
|
|
949
|
-
const defaults: ${provider.pluginName}Options = {
|
|
950
|
-
sdk: {},
|
|
951
|
-
test: false,
|
|
952
|
-
testopts: {},
|
|
953
|
-
}
|
|
954
|
-
|
|
955
|
-
Object.assign(${provider.pluginName}, { defaults })
|
|
956
|
-
|
|
957
|
-
export default ${provider.pluginName}
|
|
958
|
-
|
|
959
|
-
if ('undefined' !== typeof module) {
|
|
960
|
-
module.exports = ${provider.pluginName}
|
|
961
|
-
}
|
|
962
|
-
`)
|
|
963
|
-
})
|
|
964
|
-
})
|
|
965
|
-
})
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
// --- src/<Name>Provider-doc.ts ----------------------------------------------
|
|
969
|
-
|
|
970
|
-
const ProviderDoc = cmp(function ProviderDoc(props: any) {
|
|
971
|
-
const { provider } = props
|
|
972
|
-
|
|
973
|
-
Folder({ name: 'src' }, () => {
|
|
974
|
-
File({ name: `${provider.pluginName}-doc.ts` }, () => {
|
|
975
|
-
Content(`/* Generated by @voxgig/sdkgen. Do not edit. */
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
const messages = {
|
|
979
|
-
get_info: {
|
|
980
|
-
desc: 'Get information about the ${provider.api} SDK.',
|
|
981
|
-
},
|
|
982
|
-
}
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
const sections = {
|
|
986
|
-
intro: {
|
|
987
|
-
path: '../provider/doc/intro.md'
|
|
988
|
-
}
|
|
989
|
-
}
|
|
990
|
-
|
|
991
|
-
const docs = {
|
|
992
|
-
sections,
|
|
993
|
-
messages
|
|
994
|
-
}
|
|
995
|
-
|
|
996
|
-
export default docs
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
if ('undefined' !== typeof module) {
|
|
1000
|
-
module.exports = docs
|
|
1001
|
-
}
|
|
1002
|
-
`)
|
|
1003
|
-
})
|
|
1004
|
-
})
|
|
1005
|
-
})
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
export {
|
|
1009
|
-
Main,
|
|
1010
|
-
recordKey,
|
|
1011
|
-
}
|