@voxgig/sdkgen 4.8.2 → 4.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/voxgig-sdkgen +1 -1
- package/dist/action/doctor.d.ts +1 -0
- package/dist/action/doctor.js +50 -2
- package/dist/action/doctor.js.map +1 -1
- package/dist/helpers/naming.js +4 -2
- package/dist/helpers/naming.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/model/sdkgen.aon +21 -0
- package/package.json +1 -1
- package/project/.sdk/model/feature/secrets.aon +120 -18
- package/project/.sdk/model/target/c.aon +10 -0
- package/project/.sdk/model/target/clojure.aon +13 -0
- package/project/.sdk/model/target/cpp.aon +10 -0
- package/project/.sdk/model/target/csharp.aon +9 -0
- package/project/.sdk/model/target/dart.aon +10 -0
- package/project/.sdk/model/target/elixir.aon +9 -0
- package/project/.sdk/model/target/go.aon +13 -0
- package/project/.sdk/model/target/java.aon +9 -0
- package/project/.sdk/model/target/js.aon +7 -0
- package/project/.sdk/model/target/kotlin.aon +9 -0
- package/project/.sdk/model/target/lean.aon +17 -0
- package/project/.sdk/model/target/lua.aon +8 -0
- package/project/.sdk/model/target/ocaml.aon +9 -0
- package/project/.sdk/model/target/perl.aon +8 -0
- package/project/.sdk/model/target/php.aon +8 -0
- package/project/.sdk/model/target/py.aon +13 -0
- package/project/.sdk/model/target/rb.aon +8 -0
- package/project/.sdk/model/target/rust.aon +10 -0
- package/project/.sdk/model/target/scala.aon +21 -2
- package/project/.sdk/model/target/swift.aon +18 -0
- package/project/.sdk/model/target/ts.aon +13 -0
- package/project/.sdk/model/target/zig.aon +9 -0
- package/project/.sdk/src/cmp/clojure/Package_clojure.ts +9 -2
- package/project/.sdk/src/cmp/cpp/Gitignore_cpp.ts +3 -0
- package/project/.sdk/src/cmp/dart/Test_dart.ts +2 -0
- package/project/.sdk/src/cmp/elixir/Package_elixir.ts +4 -1
- package/project/.sdk/src/cmp/go/Config_go.ts +59 -2
- package/project/.sdk/src/cmp/go/Main_go.ts +8 -2
- package/project/.sdk/src/cmp/java/Test_java.ts +6 -5
- package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +6 -5
- package/project/.sdk/src/cmp/lean/Package_lean.ts +23 -0
- package/project/.sdk/src/cmp/lean/ReadmeInstall_lean.ts +1 -0
- package/project/.sdk/src/cmp/lean/ReadmeTopTest_lean.ts +1 -0
- package/project/.sdk/src/cmp/ocaml/Gitignore_ocaml.ts +1 -0
- package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +7 -3
- package/project/.sdk/src/cmp/py/Config_py.ts +82 -1
- package/project/.sdk/src/cmp/py/Main_py.ts +44 -0
- package/project/.sdk/src/cmp/py/fragment/Main.fragment.py +2 -0
- package/project/.sdk/src/cmp/swift/Main_swift.ts +10 -0
- package/project/.sdk/src/cmp/swift/Package_swift.ts +13 -1
- package/project/.sdk/src/cmp/ts/Config_ts.ts +42 -17
- package/project/.sdk/src/cmp/ts/fragment/Config.data.fragment.ts +13 -1
- package/project/.sdk/src/cmp/ts/fragment/Config.fragment.ts +13 -1
- package/project/.sdk/src/cmp/zig/Package_zig.ts +15 -11
- package/project/.sdk/src/cmp/zig/fragment/Entity.fragment.zig +3 -3
- package/project/.sdk/src/cmp/zig/fragment/EntityListOp.fragment.zig +3 -3
- package/project/.sdk/src/cmp/zig/fragment/Main.fragment.zig +3 -3
- package/project/.sdk/src/cmp/zig/utility_zig.ts +50 -1
- package/project/.sdk/tm/c/Makefile +38 -3
- package/project/.sdk/tm/c/tests/omni_resolver.h +361 -0
- package/project/.sdk/tm/c/tests/omni_smoke_test.c +237 -0
- package/project/.sdk/tm/c/tests/primary_corpus_test.c +205 -284
- package/project/.sdk/tm/c/tests/struct_corpus_test.c +292 -212
- package/project/.sdk/tm/c/tests/vendor/omni/json.c +811 -0
- package/project/.sdk/tm/c/tests/vendor/omni/omni.h +240 -0
- package/project/.sdk/tm/c/tests/vendor/omni/runner.c +940 -0
- package/project/.sdk/tm/c/tests/vendor/omni/util.c +351 -0
- package/project/.sdk/tm/c/utility/struct/utility.c +7 -2
- package/project/.sdk/tm/clojure/test/sdk/test/omni.clj +401 -0
- package/project/.sdk/tm/clojure/test/sdk/test/omni_smoke.clj +81 -0
- package/project/.sdk/tm/clojure/test/sdk/test/primary.clj +92 -58
- package/project/.sdk/tm/clojure/test/sdk/test/struct_corpus.clj +122 -149
- package/project/.sdk/tm/clojure/test/sdk/test_runner.clj +8 -3
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/json.clj +145 -0
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/runner.clj +445 -0
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/util.clj +145 -0
- package/project/.sdk/tm/cpp/Makefile +5 -1
- package/project/.sdk/tm/cpp/test/omni_resolver.hpp +473 -0
- package/project/.sdk/tm/cpp/test/omni_smoke_test.cpp +209 -0
- package/project/.sdk/tm/cpp/test/primary_utility_test.cpp +243 -184
- package/project/.sdk/tm/cpp/test/runner_support.hpp +68 -181
- package/project/.sdk/tm/cpp/test/struct_corpus_test.cpp +183 -56
- package/project/.sdk/tm/cpp/test/vendor/omni/json.hpp +406 -0
- package/project/.sdk/tm/cpp/test/vendor/omni/omni.hpp +751 -0
- package/project/.sdk/tm/cpp/test/vendor/omni/util.hpp +256 -0
- package/project/.sdk/tm/cpp/utility/pipeline.hpp +7 -1
- package/project/.sdk/tm/csharp/test/OmniResolver.cs +491 -0
- package/project/.sdk/tm/csharp/test/OmniSmokeTest.cs +106 -0
- package/project/.sdk/tm/csharp/test/PrimaryUtilityTest.cs +299 -316
- package/project/.sdk/tm/csharp/test/Runner.cs +104 -269
- package/project/.sdk/tm/csharp/test/StructUtilityTest.cs +535 -724
- package/project/.sdk/tm/csharp/test/vendor/omni/Runner.cs +864 -0
- package/project/.sdk/tm/csharp/test/vendor/omni/Util.cs +347 -0
- package/project/.sdk/tm/csharp/utility/MakeSpec.cs +3 -1
- package/project/.sdk/tm/csharp/utility/PrepareMethod.cs +6 -1
- package/project/.sdk/tm/csharp/utility/struct/Struct.cs +21 -5
- package/project/.sdk/tm/dart/test/omni.dart +520 -0
- package/project/.sdk/tm/dart/test/omni_smoke_test.dart +143 -0
- package/project/.sdk/tm/dart/test/primary_test.dart +86 -28
- package/project/.sdk/tm/dart/test/struct_test.dart +438 -11
- package/project/.sdk/tm/dart/test/vendor/omni/omni.dart +7 -0
- package/project/.sdk/tm/dart/test/vendor/omni/runner.dart +653 -0
- package/project/.sdk/tm/dart/test/vendor/omni/util.dart +232 -0
- package/project/.sdk/tm/elixir/Makefile +11 -3
- package/project/.sdk/tm/elixir/test/omni_smoke_test.exs +117 -0
- package/project/.sdk/tm/elixir/test/primary_utility_test.exs +341 -16
- package/project/.sdk/tm/elixir/test/struct_corpus_test.exs +554 -9
- package/project/.sdk/tm/elixir/test/support/omni.ex +377 -0
- package/project/.sdk/tm/elixir/test/vendor/omni/json.ex +122 -0
- package/project/.sdk/tm/elixir/test/vendor/omni/runner.ex +623 -0
- package/project/.sdk/tm/elixir/test/vendor/omni/util.ex +187 -0
- package/project/.sdk/tm/go/core/context.go +32 -16
- package/project/.sdk/tm/go/feature/secrets/plugin/capability.go +261 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/catalog.go +78 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/config.go +652 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/depend.go +250 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/env.go +194 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/export.go +80 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/graph.go +238 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/host.go +1575 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/order.go +248 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/point.go +184 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/ref.go +123 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/resolve.go +79 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/types.go +296 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/util.go +87 -0
- package/project/.sdk/tm/go/feature/secrets/plugin/version.go +161 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/aws/aws.go +292 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/aws/sigv4.go +201 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/azuresecrets/azuresecrets.go +187 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/boru/boru.go +184 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/doppler/doppler.go +114 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/gcpsecrets/gcpsecrets.go +156 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/hashicorp/hashicorp.go +208 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/httpjson/httpjson.go +241 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/infisical/infisical.go +150 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/onepassword/onepassword.go +152 -0
- package/project/.sdk/tm/go/feature/secrets/plugins/secretspec/secretspec.go +143 -0
- package/project/.sdk/tm/go/feature/secrets/sekreto/addr.go +120 -0
- package/project/.sdk/tm/go/feature/secrets/sekreto/providers.go +442 -0
- package/project/.sdk/tm/go/feature/secrets/sekreto/sekreto.go +714 -0
- package/project/.sdk/tm/go/feature/secrets_feature.go +675 -0
- package/project/.sdk/tm/go/src/feature/secrets/.gitkeep +0 -0
- package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +799 -0
- package/project/.sdk/tm/go/test/omni/omni.go +902 -0
- package/project/.sdk/tm/go/test/omni/util.go +381 -0
- package/project/.sdk/tm/go/test/omniresolver_test.go +748 -0
- package/project/.sdk/tm/go/test/omnismoke_test.go +112 -0
- package/project/.sdk/tm/go/test/primary_utility_test.go +123 -191
- package/project/.sdk/tm/go/test/struct_utility_test.go +323 -16
- package/project/.sdk/tm/go/test/testsupport_test.go +294 -0
- package/project/.sdk/tm/go/utility/make_options.go +8 -1
- package/project/.sdk/tm/go/utility/prepare_method.go +5 -1
- package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +2 -2
- package/project/.sdk/tm/java/test/OmniResolver.java +355 -0
- package/project/.sdk/tm/java/test/OmniSmokeTest.java +99 -0
- package/project/.sdk/tm/java/test/PrimaryUtilityTest.java +254 -280
- package/project/.sdk/tm/java/test/RunnerSupport.java +9 -194
- package/project/.sdk/tm/java/test/StructCorpusTest.java +119 -42
- package/project/.sdk/tm/java/test/vendor/omni/Json.java +287 -0
- package/project/.sdk/tm/java/test/vendor/omni/Runner.java +851 -0
- package/project/.sdk/tm/java/test/vendor/omni/Util.java +322 -0
- package/project/.sdk/tm/java/utility/MakeSpec.java +3 -1
- package/project/.sdk/tm/java/utility/PrepareMethod.java +5 -5
- package/project/.sdk/tm/java/utility/struct/Struct.java +17 -4
- package/project/.sdk/tm/js/src/utility/StructUtility.js +3 -3
- package/project/.sdk/tm/js/test/omni.js +251 -0
- package/project/.sdk/tm/js/test/omni.test.js +105 -0
- package/project/.sdk/tm/js/test/utility/PrimaryUtility.test.js +6 -2
- package/project/.sdk/tm/js/test/utility/StructUtility.test.js +27 -2
- package/project/.sdk/tm/js/test/vendor/omni/index.js +77 -0
- package/project/.sdk/tm/js/test/vendor/omni/runner.js +628 -0
- package/project/.sdk/tm/js/test/vendor/omni/util.js +229 -0
- package/project/.sdk/tm/kotlin/core/Utility.kt +1 -1
- package/project/.sdk/tm/kotlin/test/OmniResolver.kt +343 -0
- package/project/.sdk/tm/kotlin/test/OmniSmokeTest.kt +100 -0
- package/project/.sdk/tm/kotlin/test/PrimaryUtilityTest.kt +244 -262
- package/project/.sdk/tm/kotlin/test/RunnerSupport.kt +9 -178
- package/project/.sdk/tm/kotlin/test/StructCorpusTest.kt +121 -32
- package/project/.sdk/tm/kotlin/test/vendor/omni/Json.kt +264 -0
- package/project/.sdk/tm/kotlin/test/vendor/omni/Runner.kt +615 -0
- package/project/.sdk/tm/kotlin/test/vendor/omni/Util.kt +139 -0
- package/project/.sdk/tm/kotlin/utility/MakeSpecUrl.kt +6 -3
- package/project/.sdk/tm/kotlin/utility/Prepare.kt +6 -6
- package/project/.sdk/tm/kotlin/utility/struct/Struct.kt +18 -2
- package/project/.sdk/tm/lean/Makefile +12 -5
- package/project/.sdk/tm/lean/src/SdkUtility.lean +14 -1
- package/project/.sdk/tm/lean/test/OmniResolver.lean +358 -0
- package/project/.sdk/tm/lean/test/OmniSmoke.lean +174 -0
- package/project/.sdk/tm/lean/test/StructCorpus.lean +245 -574
- package/project/.sdk/tm/lean/test/TPrimaryUtility.lean +155 -291
- package/project/.sdk/tm/lean/test/vendor/omni/Omni.lean +997 -0
- package/project/.sdk/tm/lua/test/omni.lua +456 -0
- package/project/.sdk/tm/lua/test/omni_smoke_test.lua +103 -0
- package/project/.sdk/tm/lua/test/primary_utility_test.lua +250 -509
- package/project/.sdk/tm/lua/test/struct_utility_test.lua +161 -70
- package/project/.sdk/tm/lua/test/vendor/omni/json.lua +268 -0
- package/project/.sdk/tm/lua/test/vendor/omni/regex.lua +385 -0
- package/project/.sdk/tm/lua/test/vendor/omni/runner.lua +641 -0
- package/project/.sdk/tm/lua/test/vendor/omni/util.lua +282 -0
- package/project/.sdk/tm/lua/utility/prepare_method.lua +5 -1
- package/project/.sdk/tm/lua/utility/struct/regex.lua +663 -0
- package/project/.sdk/tm/lua/utility/struct/struct.lua +660 -420
- package/project/.sdk/tm/ocaml/Makefile +37 -12
- package/project/.sdk/tm/ocaml/test/omni_resolver.ml +284 -0
- package/project/.sdk/tm/ocaml/test/omni_smoke_test.ml +169 -0
- package/project/.sdk/tm/ocaml/test/primary_utility_test.ml +84 -100
- package/project/.sdk/tm/ocaml/test/struct_corpus.ml +225 -201
- package/project/.sdk/tm/ocaml/test/vendor/omni/omni.ml +1157 -0
- package/project/.sdk/tm/perl/lib/Voxgig/Struct.pm +88 -12
- package/project/.sdk/tm/perl/t/omni.pm +647 -0
- package/project/.sdk/tm/perl/t/omni_smoke.t +87 -0
- package/project/.sdk/tm/perl/t/primary_utility.t +189 -487
- package/project/.sdk/tm/perl/t/struct_utility.t +455 -389
- package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Runner.pm +649 -0
- package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Util.pm +253 -0
- package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni.pm +24 -0
- package/project/.sdk/tm/perl/utility/prepare_method.pm +7 -2
- package/project/.sdk/tm/php/test/Omni.php +691 -0
- package/project/.sdk/tm/php/test/OmniSmokeTest.php +93 -0
- package/project/.sdk/tm/php/test/PrimaryUtilityTest.php +210 -571
- package/project/.sdk/tm/php/test/StructUtilityTest.php +320 -342
- package/project/.sdk/tm/php/test/vendor/omni/Runner.php +644 -0
- package/project/.sdk/tm/php/test/vendor/omni/Util.php +283 -0
- package/project/.sdk/tm/php/utility/MakeSpec.php +10 -3
- package/project/.sdk/tm/php/utility/PrepareBody.php +7 -1
- package/project/.sdk/tm/php/utility/PrepareMethod.php +6 -2
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/__init__.py +36 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/capability.py +141 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/catalog.py +50 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/config.py +333 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/depend.py +198 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/env.py +147 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/export.py +52 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/graph.py +139 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/host.py +1053 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/order.py +171 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/point.py +95 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/ref.py +116 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/resolve.py +59 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/types.py +87 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/version.py +112 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/__init__.py +76 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/addr.py +116 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/aws.py +192 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/azuresecrets.py +120 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/boru.py +140 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/doppler.py +62 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.py +101 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/hashicorp.py +151 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/httpjson.py +115 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/infisical.py +90 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/onepassword.py +101 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/secretspec.py +119 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/sigv4.py +125 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/providers.py +211 -0
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/sekreto.py +475 -0
- package/project/.sdk/tm/py/pkg/feature/secrets_feature.py +467 -0
- package/project/.sdk/tm/py/pkg/utility/prepare_method.py +5 -1
- package/project/.sdk/tm/py/pkg/utility/voxgig_struct/__init__.py +0 -2
- package/project/.sdk/tm/py/pkg/utility/voxgig_struct/voxgig_struct.py +780 -529
- package/project/.sdk/tm/py/src/feature/secrets/.gitkeep +0 -0
- package/project/.sdk/tm/py/test/feature/__init__.py +0 -0
- package/project/.sdk/tm/py/test/feature/secrets/__init__.py +0 -0
- package/project/.sdk/tm/py/test/feature/secrets/test_secrets.py +337 -0
- package/project/.sdk/tm/py/test/omni.py +415 -0
- package/project/.sdk/tm/py/test/test_omni_smoke.py +74 -0
- package/project/.sdk/tm/py/test/test_primary_utility.py +144 -668
- package/project/.sdk/tm/py/test/test_struct_utility.py +74 -27
- package/project/.sdk/tm/py/test/voxgig_omni/__init__.py +62 -0
- package/project/.sdk/tm/py/test/voxgig_omni/runner.py +580 -0
- package/project/.sdk/tm/py/test/voxgig_omni/util.py +252 -0
- package/project/.sdk/tm/rb/test/omni.rb +505 -0
- package/project/.sdk/tm/rb/test/omni_smoke_test.rb +72 -0
- package/project/.sdk/tm/rb/test/primary_utility_test.rb +174 -560
- package/project/.sdk/tm/rb/test/struct_utility_test.rb +13 -7
- package/project/.sdk/tm/rb/test/vendor/omni/runner.rb +493 -0
- package/project/.sdk/tm/rb/test/vendor/omni/util.rb +199 -0
- package/project/.sdk/tm/rb/test/vendor/omni/voxgig_omni.rb +15 -0
- package/project/.sdk/tm/rb/utility/prepare_method.rb +5 -1
- package/project/.sdk/tm/rust/tests/common/mod.rs +19 -242
- package/project/.sdk/tm/rust/tests/omni_resolver/mod.rs +888 -0
- package/project/.sdk/tm/rust/tests/omni_smoke_test.rs +286 -0
- package/project/.sdk/tm/rust/tests/primary_utility_test.rs +318 -312
- package/project/.sdk/tm/rust/tests/struct_utility_test.rs +66 -28
- package/project/.sdk/tm/rust/tests/vendor/omni/json.rs +412 -0
- package/project/.sdk/tm/rust/tests/vendor/omni/mod.rs +38 -0
- package/project/.sdk/tm/rust/tests/vendor/omni/regex.rs +392 -0
- package/project/.sdk/tm/rust/tests/vendor/omni/runner.rs +1001 -0
- package/project/.sdk/tm/rust/tests/vendor/omni/util.rs +161 -0
- package/project/.sdk/tm/rust/utility/prepare_method.rs +5 -1
- package/project/.sdk/tm/scala/Makefile +16 -6
- package/project/.sdk/tm/scala/sdktest/OmniResolver.scala +497 -0
- package/project/.sdk/tm/scala/sdktest/OmniSmoke.scala +192 -0
- package/project/.sdk/tm/scala/sdktest/PrimaryCorpus.scala +47 -19
- package/project/.sdk/tm/scala/sdktest/StructCorpus.scala +0 -0
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Json.scala +229 -0
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Runner.scala +552 -0
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Util.scala +104 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Constants.swift +10 -0
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Inject.swift +28 -5
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Injection.swift +5 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Minor.swift +4 -1
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Validate.swift +15 -5
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Prepare.swift +6 -1
- package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/OmniResolver.swift +474 -0
- package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/OmniSmokeTest.swift +107 -0
- package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/PrimaryUtilityTest.swift +141 -178
- package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/Runner.swift +17 -113
- package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/StructUtilityTest.swift +295 -446
- package/project/.sdk/tm/swift/Tests/vendor/omni/Json.swift +364 -0
- package/project/.sdk/tm/swift/Tests/vendor/omni/Runner.swift +730 -0
- package/project/.sdk/tm/swift/Tests/vendor/omni/Util.swift +162 -0
- package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +7 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Capability.ts +148 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Catalog.ts +55 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Config.ts +344 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Depend.ts +205 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Env.ts +138 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Export.ts +46 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/FeatureHost.ts +349 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Graph.ts +181 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Host.ts +1132 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Order.ts +177 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Point.ts +119 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Ref.ts +102 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Resolve.ts +61 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Types.ts +112 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Version.ts +100 -0
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/index.ts +37 -0
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/Sekreto.ts +163 -30
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/index.ts +27 -22
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/aws.ts +26 -36
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/azuresecrets.ts +19 -21
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/boru.ts +36 -17
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/doppler.ts +14 -21
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/gcpsecrets.ts +27 -27
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/hashicorp.ts +25 -39
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/httpjson.ts +99 -0
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/infisical.ts +14 -16
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/onepassword.ts +15 -22
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/secretspec.ts +98 -0
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{Sigv4.ts → plugins/sigv4.ts} +7 -6
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/addr.ts +97 -23
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/builtin.ts +37 -0
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/dotenv.ts +4 -17
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/env.ts +4 -16
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/file.ts +11 -25
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/memory.ts +6 -23
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/support.ts +106 -39
- package/project/.sdk/tm/ts/src/utility/StructUtility.ts +3 -3
- package/project/.sdk/tm/ts/test/omni.ts +104 -32
- package/project/.sdk/tm/ts/test/utility/StructUtility.test.ts +27 -0
- package/project/.sdk/tm/ts/test/vendor/omni/Runner.ts +32 -5
- package/project/.sdk/tm/ts/test/vendor/omni/Util.ts +2 -2
- package/project/.sdk/tm/ts/test/vendor/omni/index.ts +2 -2
- package/project/.sdk/tm/zig/Makefile +15 -1
- package/project/.sdk/tm/zig/build.zig +23 -5
- package/project/.sdk/tm/zig/core/helpers.zig +52 -11
- package/project/.sdk/tm/zig/core/mem.zig +17 -1
- package/project/.sdk/tm/zig/core/utility.zig +23 -19
- package/project/.sdk/tm/zig/feature/audit.zig +2 -2
- package/project/.sdk/tm/zig/feature/cache.zig +2 -2
- package/project/.sdk/tm/zig/feature/debug.zig +5 -5
- package/project/.sdk/tm/zig/feature/netsim.zig +2 -2
- package/project/.sdk/tm/zig/feature/paging.zig +2 -2
- package/project/.sdk/tm/zig/feature/proxy.zig +15 -8
- package/project/.sdk/tm/zig/feature/streaming.zig +5 -5
- package/project/.sdk/tm/zig/feature/support.zig +3 -3
- package/project/.sdk/tm/zig/feature/telemetry.zig +5 -5
- package/project/.sdk/tm/zig/feature/test.zig +10 -5
- package/project/.sdk/tm/zig/test/fh.zig +10 -10
- package/project/.sdk/tm/zig/test/gotcha_test.zig +5 -5
- package/project/.sdk/tm/zig/test/omniresolver.zig +515 -0
- package/project/.sdk/tm/zig/test/omnismoke_test.zig +284 -0
- package/project/.sdk/tm/zig/test/pipeline_test.zig +8 -8
- package/project/.sdk/tm/zig/test/primary_utility_test.zig +145 -155
- package/project/.sdk/tm/zig/test/struct_corpus.zig +264 -187
- package/project/.sdk/tm/zig/test/vendor/omni/omni.zig +1314 -0
- package/project/.sdk/tm/zig/test/vendor/omni/regex.zig +446 -0
- package/project/.sdk/tm/zig/utility/voxgigstruct/regex.zig +7 -4
- package/project/.sdk/tm/zig/utility/voxgigstruct/struct.zig +356 -157
- package/project/sdkgen-package.json +1 -1
- package/src/action/doctor.ts +66 -2
- package/src/helpers/naming.ts +4 -2
- package/project/.sdk/tm/c/tests/runner.h +0 -274
- package/project/.sdk/tm/cpp/test/struct_runner.hpp +0 -314
- package/project/.sdk/tm/csharp/test/StructRunner.cs +0 -276
- package/project/.sdk/tm/dart/test/runner.dart +0 -406
- package/project/.sdk/tm/dart/test/struct_corpus.dart +0 -531
- package/project/.sdk/tm/elixir/test/support/struct_corpus.ex +0 -1088
- package/project/.sdk/tm/go/test/runner_test.go +0 -629
- package/project/.sdk/tm/go/test/struct_runner_test.go +0 -1094
- package/project/.sdk/tm/java/test/StructRunner.java +0 -281
- package/project/.sdk/tm/js/test/runner.js +0 -387
- package/project/.sdk/tm/kotlin/test/StructRunner.kt +0 -177
- package/project/.sdk/tm/lua/test/struct_runner.lua +0 -602
- package/project/.sdk/tm/ocaml/test/corpus_runner.ml +0 -185
- package/project/.sdk/tm/perl/t/struct_runner.pm +0 -275
- package/project/.sdk/tm/php/test/StructRunner.php +0 -275
- package/project/.sdk/tm/py/test/struct_runner.py +0 -411
- package/project/.sdk/tm/rb/test/struct_runner.rb +0 -309
- package/project/.sdk/tm/rust/tests/struct_runner/mod.rs +0 -424
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/Registry.ts +0 -90
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/http.ts +0 -66
- package/project/.sdk/tm/ts/test/vendor/omni/compat.ts +0 -188
- package/project/.sdk/tm/zig/test/struct_runner.zig +0 -464
|
@@ -1,363 +1,227 @@
|
|
|
1
|
-
/- ProjectName SDK primary utility
|
|
1
|
+
/- ProjectName SDK primary utility corpus.
|
|
2
2
|
|
|
3
3
|
Drives the SHARED language-neutral corpus (.sdk/test/test.json, section
|
|
4
|
-
`primary`) — the same fixtures every other target executes —
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
`primary`) — the same fixtures every other target executes — through this
|
|
5
|
+
SDK's request-shaping utilities, so the cases cannot drift from the
|
|
6
|
+
reference implementation. Each section is looked up by name and executed on
|
|
7
|
+
the VENDORED @voxgig/omni engine through OmniResolver, exactly as the ts/js
|
|
8
|
+
reference harness does.
|
|
9
|
+
|
|
10
|
+
The ENGINE used to be in this file: `runset`, `deepEq`, `strCheck`,
|
|
11
|
+
`matchDeep` and the pass/fail tally were this port's own copy of omni's
|
|
12
|
+
algorithm. All of it is gone. What remains is what belongs to this SDK:
|
|
13
|
+
which corpus section drives which utility, and how a corpus map becomes a
|
|
14
|
+
live context. The file keeps its name (and the `primary` executable keeps
|
|
15
|
+
its root), so no call site needed churn.
|
|
16
|
+
|
|
17
|
+
Every section uses `runsetArgs`: a `ctx` entry arrives as `args[0]`, a MAP
|
|
18
|
+
on this SDK's own heap, which the call site wires to the client
|
|
19
|
+
options/config, runs the utility on, and which the resolver writes back
|
|
20
|
+
after the call — which is what makes `match: {ctx: ...}` (retargeted onto
|
|
21
|
+
`match: {args: {"0": ...}}` by the resolver, decision 4) read the POST-call
|
|
22
|
+
state rather than a stale pre-call copy. This port needs no separate
|
|
23
|
+
"typed context" step: `ctx` here IS a struct map, heap-backed and
|
|
24
|
+
reference-stable, and the utilities mutate it in place. -/
|
|
8
25
|
|
|
9
26
|
import VoxgigStruct
|
|
10
27
|
import Vregex
|
|
11
28
|
import SdkJson
|
|
12
29
|
import SdkUtility
|
|
13
30
|
import SdkConfig
|
|
31
|
+
import Omni
|
|
32
|
+
import OmniResolver
|
|
14
33
|
|
|
15
34
|
open VoxgigStruct
|
|
16
|
-
|
|
17
|
-
initialize npass : IO.Ref Nat ← IO.mkRef 0
|
|
18
|
-
initialize nfail : IO.Ref Nat ← IO.mkRef 0
|
|
19
|
-
initialize failures : IO.Ref (Array String) ← IO.mkRef #[]
|
|
20
|
-
|
|
21
|
-
def pass : SIO Unit := do npass.modify (· + 1)
|
|
22
|
-
|
|
23
|
-
def fail (msg : String) : SIO Unit := do
|
|
24
|
-
nfail.modify (· + 1)
|
|
25
|
-
failures.modify (·.push msg)
|
|
26
|
-
|
|
27
|
-
-- ---------------------------------------------------------------------------
|
|
28
|
-
-- corpus navigation
|
|
29
|
-
-- ---------------------------------------------------------------------------
|
|
30
|
-
|
|
31
|
-
/-- Navigate into the nested corpus map by keys. -/
|
|
32
|
-
def getSpec (root : Value) (path : Array String) : SIO Value := do
|
|
33
|
-
let mut cur := root
|
|
34
|
-
for k in path do
|
|
35
|
-
cur ← SdkUtility.gp cur k
|
|
36
|
-
pure cur
|
|
37
|
-
|
|
38
|
-
def itemsOf (v : Value) : SIO (Array Value) := do
|
|
39
|
-
match v with
|
|
40
|
-
| .list i => listItems i
|
|
41
|
-
| _ => pure #[]
|
|
42
|
-
|
|
43
|
-
def argAt (args : Value) (i : Nat) : SIO Value := do
|
|
44
|
-
pure ((← itemsOf args)[i]?.getD .noval)
|
|
45
|
-
|
|
46
|
-
-- ---------------------------------------------------------------------------
|
|
47
|
-
-- comparison
|
|
48
|
-
-- ---------------------------------------------------------------------------
|
|
49
|
-
|
|
50
|
-
/-- Deep structural equality; an empty list and an empty map are equivalent. -/
|
|
51
|
-
partial def deepEq (a b : Value) : SIO Bool := do
|
|
52
|
-
match a, b with
|
|
53
|
-
| .map ia, .map ib => do
|
|
54
|
-
let ka ← keysof (.map ia)
|
|
55
|
-
let kb ← keysof (.map ib)
|
|
56
|
-
if ka.size != kb.size then pure false
|
|
57
|
-
else do
|
|
58
|
-
let mut ok := true
|
|
59
|
-
for k in ka do
|
|
60
|
-
let va ← SdkUtility.gp (.map ia) k
|
|
61
|
-
let vb ← SdkUtility.gp (.map ib) k
|
|
62
|
-
if !(← deepEq va vb) then ok := false
|
|
63
|
-
pure ok
|
|
64
|
-
| .list ia, .list ib => do
|
|
65
|
-
let la ← listItems ia
|
|
66
|
-
let lb ← listItems ib
|
|
67
|
-
if la.size != lb.size then pure false
|
|
68
|
-
else do
|
|
69
|
-
let mut ok := true
|
|
70
|
-
for i in [0:la.size] do
|
|
71
|
-
if !(← deepEq (la[i]!) (lb[i]!)) then ok := false
|
|
72
|
-
pure ok
|
|
73
|
-
| .map ia, .list ib => do
|
|
74
|
-
pure ((← keysof (.map ia)).isEmpty && (← listItems ib).isEmpty)
|
|
75
|
-
| .list ia, .map ib => do
|
|
76
|
-
pure ((← listItems ia).isEmpty && (← keysof (.map ib)).isEmpty)
|
|
77
|
-
| x, y => pure (x == y)
|
|
78
|
-
|
|
79
|
-
/-- A corpus string check: `/re/` is a regex, otherwise substring containment. -/
|
|
80
|
-
def strCheck (checkStr subject : String) : Bool :=
|
|
81
|
-
if checkStr.length > 1 && checkStr.startsWith "/" && checkStr.endsWith "/" then
|
|
82
|
-
let inner := String.ofList (checkStr.toList.drop 1).dropLast
|
|
83
|
-
Vregex.testStr inner subject
|
|
84
|
-
else if checkStr == subject then true
|
|
85
|
-
else (subject.splitOn checkStr).length > 1
|
|
86
|
-
|
|
87
|
-
/-- Partial deep match: every key present in `check` must hold in `base`. -/
|
|
88
|
-
partial def matchDeep (check base : Value) (path : String) (errs : IO.Ref (Array String)) :
|
|
89
|
-
SIO Unit := do
|
|
90
|
-
match check with
|
|
91
|
-
| .map ic =>
|
|
92
|
-
for k in (← keysof (.map ic)) do
|
|
93
|
-
let cv ← SdkUtility.gp (.map ic) k
|
|
94
|
-
let bv ← SdkUtility.gp base k
|
|
95
|
-
matchDeep cv bv (if path == "" then k else path ++ "." ++ k) errs
|
|
96
|
-
| .list ic => do
|
|
97
|
-
let items ← listItems ic
|
|
98
|
-
let bitems ← itemsOf base
|
|
99
|
-
for i in [0:items.size] do
|
|
100
|
-
let bv := bitems[i]?.getD .noval
|
|
101
|
-
matchDeep (items[i]!) bv (path ++ "[" ++ toString i ++ "]") errs
|
|
102
|
-
| .str s =>
|
|
103
|
-
if s == "__EXISTS__" then
|
|
104
|
-
(if SdkUtility.isNov base then errs.modify (·.push (path ++ ": expected to exist")) else pure ())
|
|
105
|
-
else if s == "__UNDEF__" then
|
|
106
|
-
(if SdkUtility.isNov base then pure () else errs.modify (·.push (path ++ ": expected undefined")))
|
|
107
|
-
else do
|
|
108
|
-
let bs := SdkUtility.vs base
|
|
109
|
-
if strCheck s bs then pure ()
|
|
110
|
-
else errs.modify (·.push (path ++ ": want " ++ s ++ ", got " ++ bs))
|
|
111
|
-
| _ => do
|
|
112
|
-
if (← deepEq check base) then pure ()
|
|
113
|
-
else do
|
|
114
|
-
let cs ← stringify check
|
|
115
|
-
let bs ← stringify base
|
|
116
|
-
errs.modify (·.push (path ++ ": want " ++ cs ++ ", got " ++ bs))
|
|
117
|
-
|
|
118
|
-
-- ---------------------------------------------------------------------------
|
|
119
|
-
-- the runner
|
|
120
|
-
-- ---------------------------------------------------------------------------
|
|
121
|
-
|
|
122
|
-
abbrev Subject := Value → SIO (Value × Option Value)
|
|
123
|
-
|
|
124
|
-
def runset (secname : String) (spec : Value) (subject : Subject) : SIO Unit := do
|
|
125
|
-
let entries ← itemsOf (← SdkUtility.gp spec "set")
|
|
126
|
-
for idx in [0:entries.size] do
|
|
127
|
-
let entry := entries[idx]!
|
|
128
|
-
let label := secname ++ "[" ++ toString idx ++ "]"
|
|
129
|
-
let errs ← IO.mkRef (#[] : Array String)
|
|
130
|
-
let (res, merr) ← subject entry
|
|
131
|
-
let expErr ← SdkUtility.gp entry "err"
|
|
132
|
-
let mspec ← SdkUtility.gp entry "match"
|
|
133
|
-
match merr with
|
|
134
|
-
| some e => do
|
|
135
|
-
let em ← SdkUtility.gpS e "message"
|
|
136
|
-
if SdkUtility.isNov expErr then fail (label ++ ": unexpected error: " ++ em)
|
|
137
|
-
else do
|
|
138
|
-
let ok := match expErr with
|
|
139
|
-
| .str s => strCheck s em
|
|
140
|
-
| .bool b => b
|
|
141
|
-
| _ => false
|
|
142
|
-
if !ok then fail (label ++ ": error mismatch: got " ++ em)
|
|
143
|
-
else do
|
|
144
|
-
if !(SdkUtility.isNov mspec) then do
|
|
145
|
-
let rm ← emptyMap
|
|
146
|
-
let emap ← newMap #[("message", .str em)]
|
|
147
|
-
SdkUtility.sp rm "err" emap
|
|
148
|
-
SdkUtility.sp rm "out" res
|
|
149
|
-
matchDeep mspec rm "" errs
|
|
150
|
-
let es ← errs.get
|
|
151
|
-
if es.isEmpty then pass else fail (label ++ ": " ++ String.intercalate "; " es.toList)
|
|
152
|
-
| none => do
|
|
153
|
-
if !(SdkUtility.isNov expErr) then fail (label ++ ": expected an error, got a result")
|
|
154
|
-
else do
|
|
155
|
-
if !(SdkUtility.isNov mspec) then do
|
|
156
|
-
let rm ← emptyMap
|
|
157
|
-
SdkUtility.sp rm "out" res
|
|
158
|
-
SdkUtility.sp rm "in" (← SdkUtility.gp entry "in")
|
|
159
|
-
SdkUtility.sp rm "ctx" (← SdkUtility.gp entry "ctx")
|
|
160
|
-
SdkUtility.sp rm "args" (← SdkUtility.gp entry "args")
|
|
161
|
-
matchDeep mspec rm "" errs
|
|
162
|
-
let expOut ← SdkUtility.gp entry "out"
|
|
163
|
-
if !(SdkUtility.isNov expOut) then
|
|
164
|
-
if !(← deepEq expOut res) then do
|
|
165
|
-
let rs ← stringify res
|
|
166
|
-
let os ← stringify expOut
|
|
167
|
-
errs.modify (·.push ("out: want " ++ os ++ ", got " ++ rs))
|
|
168
|
-
let es ← errs.get
|
|
169
|
-
if es.isEmpty then pass else fail (label ++ ": " ++ String.intercalate "; " es.toList)
|
|
35
|
+
open OmniResolver
|
|
170
36
|
|
|
171
37
|
-- ---------------------------------------------------------------------------
|
|
172
38
|
-- context construction
|
|
173
39
|
-- ---------------------------------------------------------------------------
|
|
174
40
|
|
|
175
|
-
/-- The entry's
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
let ctx ← match (← SdkUtility.gp entry "ctx") with
|
|
179
|
-
| .map i => pure (Value.map i)
|
|
180
|
-
| _ => do
|
|
181
|
-
let m ← emptyMap
|
|
182
|
-
SdkUtility.sp entry "ctx" m
|
|
183
|
-
pure m
|
|
184
|
-
SdkUtility.sp ctx "options" options
|
|
185
|
-
SdkUtility.sp ctx "config" config
|
|
186
|
-
pure ctx
|
|
41
|
+
/-- The entry's ctx map, wired to the client options/config so the utilities
|
|
42
|
+
see them. `args[0]` IS the map omni handed over, so every write the
|
|
43
|
+
utility makes to it is what `match.args.0` reads back.
|
|
187
44
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
45
|
+
A non-map first argument cannot occur in the shipped corpus (every entry
|
|
46
|
+
of every ctx section supplies one); a fresh map is used rather than
|
|
47
|
+
failing, so a future fixture degrades to "asserts nothing about the ctx"
|
|
48
|
+
instead of crashing the suite. -/
|
|
49
|
+
def ctxOf (vals : Array Value) (options config : Value) : SIO Value := do
|
|
50
|
+
let ctx ← match arg vals 0 with
|
|
192
51
|
| .map i => pure (Value.map i)
|
|
193
52
|
| _ => emptyMap
|
|
194
53
|
SdkUtility.sp ctx "options" options
|
|
195
54
|
SdkUtility.sp ctx "config" config
|
|
196
|
-
SdkUtility.sp entry "ctx" ctx
|
|
197
55
|
pure ctx
|
|
198
56
|
|
|
57
|
+
/-- A utility that answers `(result, error?)`. omni reports a subject failure
|
|
58
|
+
by its MESSAGE, so a returned SDK error becomes a thrown `IO.userError`
|
|
59
|
+
carrying exactly the message the corpus's `err` expectations match on. -/
|
|
60
|
+
def unwrap (pair : Value × Option Value) : SIO Value := do
|
|
61
|
+
match pair.2 with
|
|
62
|
+
| some e => throw (IO.userError (← SdkUtility.gpS e "message"))
|
|
63
|
+
| none => pure pair.1
|
|
64
|
+
|
|
199
65
|
-- ---------------------------------------------------------------------------
|
|
200
66
|
-- main
|
|
201
67
|
-- ---------------------------------------------------------------------------
|
|
202
68
|
|
|
203
|
-
def
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
def readSpecFile : IO String := do
|
|
207
|
-
match (← IO.getEnv "SDK_TEST_SPEC") with
|
|
208
|
-
| some p => IO.FS.readFile p
|
|
209
|
-
| none => do
|
|
210
|
-
for p in specPaths do
|
|
211
|
-
if ← System.FilePath.pathExists p then
|
|
212
|
-
return (← IO.FS.readFile p)
|
|
213
|
-
throw (IO.userError "cannot find .sdk/test/test.json (set SDK_TEST_SPEC)")
|
|
214
|
-
|
|
215
|
-
def main : IO UInt32 := do
|
|
216
|
-
let raw ← readSpecFile
|
|
69
|
+
def main (argv : List String) : IO UInt32 := do
|
|
70
|
+
let testfile ← resolveSpecPath argv
|
|
71
|
+
let r ← makeRun testfile "primary"
|
|
217
72
|
let sctx ← mkCtx
|
|
73
|
+
|
|
218
74
|
let go : SIO Unit := do
|
|
219
|
-
let root ← SdkJson.jsonRead raw
|
|
220
|
-
let primary ← SdkUtility.gp root "primary"
|
|
221
75
|
let config ← SdkJson.jsonRead SdkConfig.configJson
|
|
222
76
|
let opts ← SdkUtility.makeOptions config (← emptyMap)
|
|
223
77
|
|
|
224
|
-
|
|
225
|
-
SdkUtility.done (←
|
|
78
|
+
runsetArgs r "done" (getset r ["done", "basic"]) (fun vals => do
|
|
79
|
+
unwrap (← SdkUtility.done (← ctxOf vals opts config)))
|
|
226
80
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
pure ((← SdkUtility.makeContext ctx), none)
|
|
81
|
+
runsetArgs r "makeContext" (getset r ["makeContext", "basic"]) (fun vals => do
|
|
82
|
+
SdkUtility.makeContext (← ctxOf vals opts config))
|
|
230
83
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
84
|
+
-- makeError RETURNS the error rather than raising it, and the corpus
|
|
85
|
+
-- asserts it as one (`err`, and one `match: {err: ...}`), so the message
|
|
86
|
+
-- is thrown here.
|
|
87
|
+
runsetArgs r "makeError" (getset r ["makeError", "basic"]) (fun vals => do
|
|
88
|
+
let ctx ← ctxOf vals opts config
|
|
89
|
+
let e ← SdkUtility.makeError ctx (arg vals 1)
|
|
90
|
+
throw (IO.userError (← SdkUtility.gpS e "message")))
|
|
235
91
|
|
|
236
|
-
|
|
237
|
-
let inv
|
|
238
|
-
|
|
92
|
+
runsetArgs r "makeOptions" (getset r ["makeOptions", "basic"]) (fun vals => do
|
|
93
|
+
let inv := arg vals 0
|
|
94
|
+
SdkUtility.makeOptions (← getp inv "config") (← getp inv "options"))
|
|
239
95
|
|
|
240
|
-
|
|
241
|
-
SdkUtility.makeRequest (←
|
|
96
|
+
runsetArgs r "makeRequest" (getset r ["makeRequest", "basic"]) (fun vals => do
|
|
97
|
+
unwrap (← SdkUtility.makeRequest (← ctxOf vals opts config)))
|
|
242
98
|
|
|
243
|
-
|
|
244
|
-
SdkUtility.makeResponse (←
|
|
99
|
+
runsetArgs r "makeResponse" (getset r ["makeResponse", "basic"]) (fun vals => do
|
|
100
|
+
unwrap (← SdkUtility.makeResponse (← ctxOf vals opts config)))
|
|
245
101
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
102
|
+
-- Sections configured by their own DEF.setup.a block get their own
|
|
103
|
+
-- options: prepareAuth reads the CLIENT's options, as the ts reference
|
|
104
|
+
-- does via client.options(), so a section's setup cannot reach it
|
|
105
|
+
-- through ctx.options.
|
|
106
|
+
let specOpts ← SdkUtility.makeOptions config
|
|
107
|
+
(← tostruct (getset r ["makeSpec", "DEF", "setup", "a"]))
|
|
108
|
+
runsetArgs r "makeSpec" (getset r ["makeSpec", "basic"]) (fun vals => do
|
|
109
|
+
unwrap (← SdkUtility.makeSpec (← ctxOf vals specOpts config)))
|
|
249
110
|
|
|
250
|
-
|
|
251
|
-
SdkUtility.makeUrl (←
|
|
111
|
+
runsetArgs r "makeUrl" (getset r ["makeUrl", "basic"]) (fun vals => do
|
|
112
|
+
unwrap (← SdkUtility.makeUrl (← ctxOf vals opts config)))
|
|
252
113
|
|
|
253
|
-
|
|
254
|
-
|
|
114
|
+
runsetArgs r "operator" (getset r ["operator", "basic"]) (fun vals => do
|
|
115
|
+
SdkUtility.operator (arg vals 0))
|
|
255
116
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
let ctx ← mapCtx entry (← argAt args 0) opts config
|
|
259
|
-
pure ((← SdkUtility.param ctx (← argAt args 1)), none)
|
|
117
|
+
runsetArgs r "param" (getset r ["param", "basic"]) (fun vals => do
|
|
118
|
+
SdkUtility.param (← ctxOf vals opts config) (arg vals 1))
|
|
260
119
|
|
|
261
|
-
let authOpts ← SdkUtility.makeOptions config
|
|
262
|
-
|
|
263
|
-
|
|
120
|
+
let authOpts ← SdkUtility.makeOptions config
|
|
121
|
+
(← tostruct (getset r ["prepareAuth", "DEF", "setup", "a"]))
|
|
122
|
+
runsetArgs r "prepareAuth" (getset r ["prepareAuth", "basic"]) (fun vals => do
|
|
123
|
+
unwrap (← SdkUtility.prepareAuth (← ctxOf vals authOpts config)))
|
|
264
124
|
|
|
265
|
-
|
|
266
|
-
|
|
125
|
+
runsetArgs r "prepareBody" (getset r ["prepareBody", "basic"]) (fun vals => do
|
|
126
|
+
SdkUtility.prepareBody (← ctxOf vals opts config))
|
|
267
127
|
|
|
268
|
-
|
|
269
|
-
|
|
128
|
+
runsetArgs r "prepareHeaders" (getset r ["prepareHeaders", "basic"]) (fun vals => do
|
|
129
|
+
SdkUtility.prepareHeaders (← ctxOf vals opts config))
|
|
270
130
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
131
|
+
-- An op the API does not define resolves NO method: ts answers undefined
|
|
132
|
+
-- there and this port answers "", and both are "no value" to the corpus
|
|
133
|
+
-- (`prepareMethod` case 6, opname "bad", authors no `out`).
|
|
134
|
+
runsetArgs r "prepareMethod" (getset r ["prepareMethod", "basic"]) (fun vals => do
|
|
135
|
+
let m ← SdkUtility.prepareMethod (← ctxOf vals opts config)
|
|
136
|
+
pure (if m == "" then .noval else .str m))
|
|
274
137
|
|
|
275
|
-
|
|
276
|
-
|
|
138
|
+
runsetArgs r "prepareParams" (getset r ["prepareParams", "basic"]) (fun vals => do
|
|
139
|
+
SdkUtility.prepareParams (← ctxOf vals opts config))
|
|
277
140
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
pure (.str p, none)
|
|
141
|
+
runsetArgs r "preparePath" (getset r ["preparePath", "basic"]) (fun vals => do
|
|
142
|
+
pure (.str (← SdkUtility.preparePath (← ctxOf vals opts config))))
|
|
281
143
|
|
|
282
|
-
|
|
283
|
-
|
|
144
|
+
runsetArgs r "prepareQuery" (getset r ["prepareQuery", "basic"]) (fun vals => do
|
|
145
|
+
SdkUtility.prepareQuery (← ctxOf vals opts config))
|
|
284
146
|
|
|
285
|
-
|
|
286
|
-
let ctx ←
|
|
147
|
+
runsetArgs r "resultBasic" (getset r ["resultBasic", "basic"]) (fun vals => do
|
|
148
|
+
let ctx ← ctxOf vals opts config
|
|
287
149
|
SdkUtility.resultBasic ctx
|
|
288
|
-
|
|
150
|
+
getp ctx "result")
|
|
289
151
|
|
|
290
|
-
|
|
291
|
-
let ctx ←
|
|
152
|
+
runsetArgs r "resultBody" (getset r ["resultBody", "basic"]) (fun vals => do
|
|
153
|
+
let ctx ← ctxOf vals opts config
|
|
292
154
|
SdkUtility.resultBody ctx
|
|
293
|
-
|
|
155
|
+
getp ctx "result")
|
|
294
156
|
|
|
295
|
-
|
|
296
|
-
let ctx ←
|
|
157
|
+
runsetArgs r "resultHeaders" (getset r ["resultHeaders", "basic"]) (fun vals => do
|
|
158
|
+
let ctx ← ctxOf vals opts config
|
|
297
159
|
SdkUtility.resultHeaders ctx
|
|
298
|
-
|
|
160
|
+
getp ctx "result")
|
|
299
161
|
|
|
300
|
-
|
|
301
|
-
|
|
162
|
+
runsetArgs r "transformRequest" (getset r ["transformRequest", "basic"]) (fun vals => do
|
|
163
|
+
SdkUtility.transformRequest (← ctxOf vals opts config))
|
|
302
164
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
-- The remaining corpus sections. They carry no cases in this project's
|
|
307
|
-
-- corpus, but are driven here so any future fixture runs against Lean too.
|
|
165
|
+
runsetArgs r "transformResponse" (getset r ["transformResponse", "basic"]) (fun vals => do
|
|
166
|
+
SdkUtility.transformResponse (← ctxOf vals opts config))
|
|
308
167
|
|
|
309
168
|
-- clean takes (ctx, val), so the fixture supplies `args`, not `in` —
|
|
310
|
-
-- same shape as param/makeError above.
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
169
|
+
-- the same shape as param/makeError above.
|
|
170
|
+
runsetArgs r "clean" (getset r ["clean", "basic"]) (fun vals => do
|
|
171
|
+
SdkUtility.clean (← ctxOf vals opts config) (arg vals 1))
|
|
172
|
+
|
|
173
|
+
-- The remaining corpus sections carry no cases in this project's corpus.
|
|
174
|
+
-- They are driven anyway so a future fixture runs against Lean too — and
|
|
175
|
+
-- the resolver now NAMES each one as SKIPPED rather than passing it
|
|
176
|
+
-- silently, which is the whole point of driving an empty group.
|
|
177
|
+
runsetArgs r "makeResult" (getset r ["makeResult", "basic"]) (fun vals => do
|
|
178
|
+
SdkUtility.makeResult (← ctxOf vals opts config))
|
|
179
|
+
|
|
180
|
+
runsetArgs r "makeFetchDef" (getset r ["makeFetchDef", "basic"]) (fun vals => do
|
|
181
|
+
SdkUtility.makeFetchDef (← ctxOf vals opts config))
|
|
182
|
+
|
|
183
|
+
-- fetcher/featureHook take extra scalars. The retired engine read them
|
|
184
|
+
-- off the ENTRY (`entry.url`, `entry.stage`); omni never shows an entry
|
|
185
|
+
-- to a subject, so they are read from the ctx map — where an authored
|
|
186
|
+
-- fixture puts everything the subject needs. Both sections are empty
|
|
187
|
+
-- today, so this is the shape the first fixture must use.
|
|
188
|
+
runsetArgs r "fetcher" (getset r ["fetcher", "basic"]) (fun vals => do
|
|
189
|
+
let ctx ← ctxOf vals opts config
|
|
190
|
+
SdkUtility.fetcher ctx (← SdkUtility.gpS ctx "url") (← getp ctx "fetchdef"))
|
|
191
|
+
|
|
192
|
+
runsetArgs r "featureAdd" (getset r ["featureAdd", "basic"]) (fun vals => do
|
|
193
|
+
let client ← emptyMap
|
|
194
|
+
SdkUtility.featureAdd client (arg vals 0)
|
|
195
|
+
getp client "features")
|
|
315
196
|
|
|
316
|
-
|
|
317
|
-
|
|
197
|
+
runsetArgs r "featureInit" (getset r ["featureInit", "basic"]) (fun vals => do
|
|
198
|
+
let client ← emptyMap
|
|
199
|
+
SdkUtility.featureInit client (← ctxOf vals opts config)
|
|
200
|
+
getp client "features")
|
|
201
|
+
|
|
202
|
+
runsetArgs r "featureHook" (getset r ["featureHook", "basic"]) (fun vals => do
|
|
203
|
+
let client ← emptyMap
|
|
204
|
+
let ctx ← ctxOf vals opts config
|
|
205
|
+
SdkUtility.featureHook client (← SdkUtility.gpS ctx "stage") ctx
|
|
206
|
+
getp client "features")
|
|
318
207
|
|
|
319
208
|
-- makePoint is NOT driven here, and this is deliberate.
|
|
320
209
|
--
|
|
321
210
|
-- The section used to be empty, so running it asserted nothing. It now
|
|
322
211
|
-- carries seven cases, and every one supplies its own `options` (for
|
|
323
|
-
-- allow.op) and `config` (for the operation's points) — but `
|
|
212
|
+
-- allow.op) and `config` (for the operation's points) — but `ctxOf`
|
|
324
213
|
-- OVERWRITES both with the SDK's, so the cases would not run as authored.
|
|
325
|
-
-- Wiring it up needs
|
|
214
|
+
-- Wiring it up needs ctxOf to prefer a fixture-supplied options/config,
|
|
326
215
|
-- which changes every section here and could not be compiled or run when
|
|
327
216
|
-- this change was made.
|
|
328
217
|
--
|
|
329
218
|
-- Left out rather than left in: an entry that runs with the wrong context
|
|
330
219
|
-- is worse than one that does not run, and no coverage is lost — this
|
|
331
220
|
-- section asserted nothing before either.
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
runset "fetcher" (← getSpec primary #["fetcher", "basic"]) fun entry => do
|
|
337
|
-
let ctx ← entryCtx entry opts config
|
|
338
|
-
let url ← SdkUtility.gpS entry "url"
|
|
339
|
-
pure ((← SdkUtility.fetcher ctx url (← SdkUtility.gp entry "fetchdef")), none)
|
|
340
|
-
|
|
341
|
-
runset "featureAdd" (← getSpec primary #["featureAdd", "basic"]) fun entry => do
|
|
342
|
-
let client ← emptyMap
|
|
343
|
-
SdkUtility.featureAdd client (← SdkUtility.gp entry "in")
|
|
344
|
-
pure ((← SdkUtility.gp client "features"), none)
|
|
345
|
-
|
|
346
|
-
runset "featureInit" (← getSpec primary #["featureInit", "basic"]) fun entry => do
|
|
347
|
-
let client ← emptyMap
|
|
348
|
-
SdkUtility.featureInit client (← entryCtx entry opts config)
|
|
349
|
-
pure ((← SdkUtility.gp client "features"), none)
|
|
350
|
-
|
|
351
|
-
runset "featureHook" (← getSpec primary #["featureHook", "basic"]) fun entry => do
|
|
352
|
-
let client ← emptyMap
|
|
353
|
-
SdkUtility.featureHook client (← SdkUtility.gpS entry "stage") (← entryCtx entry opts config)
|
|
354
|
-
pure ((← SdkUtility.gp client "features"), none)
|
|
221
|
+
--
|
|
222
|
+
-- `primary.check` is likewise not driven: it is omni's OWN
|
|
223
|
+
-- provider/DEF.client conformance group, not an SDK utility, and this
|
|
224
|
+
-- suite passes its subjects explicitly rather than through a provider.
|
|
355
225
|
|
|
356
226
|
go.run sctx
|
|
357
|
-
|
|
358
|
-
IO.println ("FAIL - " ++ f)
|
|
359
|
-
let p ← npass.get
|
|
360
|
-
let f ← nfail.get
|
|
361
|
-
IO.println ""
|
|
362
|
-
IO.println s!"primary-utility: PASS {p} FAIL {f}"
|
|
363
|
-
if f > 0 then return 1 else return 0
|
|
227
|
+
report r "PRIMARY CORPUS: "
|