@voxgig/sdkgen 4.8.2 → 4.8.3
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/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/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 +209 -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 +151 -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 +439 -0
- package/project/.sdk/tm/go/feature/secrets/sekreto/sekreto.go +685 -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 +897 -0
- package/project/.sdk/tm/go/test/omni/util.go +360 -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 +613 -0
- package/project/.sdk/tm/js/test/vendor/omni/util.js +212 -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 +74 -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 +152 -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 +92 -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 +455 -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 +566 -0
- package/project/.sdk/tm/py/test/voxgig_omni/util.py +237 -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/test/primary_utility_test.zig +1 -1
- package/project/.sdk/tm/zig/test/struct_runner.zig +5 -4
- 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
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
// VENDORED: @voxgig/omni sdk-20260904-1610-0 (csharp/src/Util.cs)
|
|
2
|
+
// Source: https://github.com/voxgig/omni @ 8c3e1b573a8d35796f7fc45e3226b977023cabf7 [tag: sdk-20260904-1610-0]
|
|
3
|
+
// License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
|
+
// Omni internal JSON utilities.
|
|
5
|
+
//
|
|
6
|
+
// Self-contained by design: the omni runner must be able to test *any*
|
|
7
|
+
// library, including libraries that provide these same operations.
|
|
8
|
+
|
|
9
|
+
using System;
|
|
10
|
+
using System.Collections.Generic;
|
|
11
|
+
using System.Globalization;
|
|
12
|
+
using System.Linq;
|
|
13
|
+
using System.Text;
|
|
14
|
+
using System.Text.Json;
|
|
15
|
+
|
|
16
|
+
namespace Voxgig.Omni
|
|
17
|
+
{
|
|
18
|
+
/// <summary>Absence, as distinct from a JSON null.</summary>
|
|
19
|
+
public sealed class Absent
|
|
20
|
+
{
|
|
21
|
+
public static readonly Absent Mark = new Absent();
|
|
22
|
+
|
|
23
|
+
private Absent() { }
|
|
24
|
+
|
|
25
|
+
public override string ToString() => "ABSENT";
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public static class Util
|
|
29
|
+
{
|
|
30
|
+
public const string NULLMARK = "__NULL__"; // Value is JSON null.
|
|
31
|
+
public const string UNDEFMARK = "__UNDEF__"; // Value is not present.
|
|
32
|
+
public const string EXISTSMARK = "__EXISTS__"; // Value exists.
|
|
33
|
+
|
|
34
|
+
/// <summary>A map (JSON object)?</summary>
|
|
35
|
+
public static bool IsMap(object val) => val is IDictionary<string, object>;
|
|
36
|
+
|
|
37
|
+
/// <summary>A list (JSON array)?</summary>
|
|
38
|
+
public static bool IsList(object val) => val is IList<object>;
|
|
39
|
+
|
|
40
|
+
/// <summary>A container (map or list)?</summary>
|
|
41
|
+
public static bool IsNode(object val) => IsMap(val) || IsList(val);
|
|
42
|
+
|
|
43
|
+
/// <summary>Absent (no value at all)?</summary>
|
|
44
|
+
public static bool IsAbsent(object val) => val is Absent;
|
|
45
|
+
|
|
46
|
+
/// <summary>A JSON number? Booleans are not numbers.</summary>
|
|
47
|
+
public static bool IsNum(object val) =>
|
|
48
|
+
val is double || val is float || val is int || val is long || val is short ||
|
|
49
|
+
val is byte || val is decimal || val is uint || val is ulong;
|
|
50
|
+
|
|
51
|
+
public static double ToNum(object val) => Convert.ToDouble(val, CultureInfo.InvariantCulture);
|
|
52
|
+
|
|
53
|
+
/// <summary>Deep copy a JSON value.</summary>
|
|
54
|
+
public static object Clone(object val)
|
|
55
|
+
{
|
|
56
|
+
if (val is IList<object> list)
|
|
57
|
+
{
|
|
58
|
+
var outlist = new List<object>();
|
|
59
|
+
foreach (var entry in list)
|
|
60
|
+
{
|
|
61
|
+
outlist.Add(Clone(entry));
|
|
62
|
+
}
|
|
63
|
+
return outlist;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (val is IDictionary<string, object> map)
|
|
67
|
+
{
|
|
68
|
+
var outmap = new Dictionary<string, object>();
|
|
69
|
+
foreach (var entry in map)
|
|
70
|
+
{
|
|
71
|
+
outmap[entry.Key] = Clone(entry.Value);
|
|
72
|
+
}
|
|
73
|
+
return outmap;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return val;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/// <summary>Read a value by path. Returns Absent when a step is missing.</summary>
|
|
80
|
+
public static object GetPath(object val, IList<string> path)
|
|
81
|
+
{
|
|
82
|
+
object current = val;
|
|
83
|
+
|
|
84
|
+
foreach (var part in path)
|
|
85
|
+
{
|
|
86
|
+
if (current is IList<object> list)
|
|
87
|
+
{
|
|
88
|
+
if (!int.TryParse(part, NumberStyles.Integer, CultureInfo.InvariantCulture, out int index) ||
|
|
89
|
+
0 > index || index >= list.Count)
|
|
90
|
+
{
|
|
91
|
+
return Absent.Mark;
|
|
92
|
+
}
|
|
93
|
+
current = list[index];
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if (current is IDictionary<string, object> map)
|
|
98
|
+
{
|
|
99
|
+
if (!map.ContainsKey(part))
|
|
100
|
+
{
|
|
101
|
+
return Absent.Mark;
|
|
102
|
+
}
|
|
103
|
+
current = map[part];
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return Absent.Mark;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return current;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/// <summary>Depth-first walk: children first, then the containing node.</summary>
|
|
114
|
+
public static object Walk(object val, Func<object, IList<string>, object> apply)
|
|
115
|
+
{
|
|
116
|
+
return WalkDown(val, apply, new List<string>());
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
private static object WalkDown(object val, Func<object, IList<string>, object> apply, List<string> path)
|
|
120
|
+
{
|
|
121
|
+
if (val is IList<object> list)
|
|
122
|
+
{
|
|
123
|
+
for (int index = 0; index < list.Count; index++)
|
|
124
|
+
{
|
|
125
|
+
var childpath = new List<string>(path) { index.ToString(CultureInfo.InvariantCulture) };
|
|
126
|
+
list[index] = WalkDown(list[index], apply, childpath);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else if (val is IDictionary<string, object> map)
|
|
130
|
+
{
|
|
131
|
+
foreach (var key in map.Keys.ToList())
|
|
132
|
+
{
|
|
133
|
+
var childpath = new List<string>(path) { key };
|
|
134
|
+
map[key] = WalkDown(map[key], apply, childpath);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
return apply(val, path);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/// <summary>Deep structural equality: numbers by value, bools never numbers.</summary>
|
|
142
|
+
public static bool DeepEqual(object a, object b)
|
|
143
|
+
{
|
|
144
|
+
if (ReferenceEquals(a, b))
|
|
145
|
+
{
|
|
146
|
+
return true;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (a is bool || b is bool)
|
|
150
|
+
{
|
|
151
|
+
return a is bool aflag && b is bool bflag && aflag == bflag;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
if (IsNum(a) || IsNum(b))
|
|
155
|
+
{
|
|
156
|
+
if (!IsNum(a) || !IsNum(b))
|
|
157
|
+
{
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
double anum = ToNum(a);
|
|
161
|
+
double bnum = ToNum(b);
|
|
162
|
+
return anum == bnum || (double.IsNaN(anum) && double.IsNaN(bnum));
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
if (IsAbsent(a) || IsAbsent(b))
|
|
166
|
+
{
|
|
167
|
+
return IsAbsent(a) && IsAbsent(b);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if (null == a || null == b)
|
|
171
|
+
{
|
|
172
|
+
return null == a && null == b;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
if (a is IList<object> || b is IList<object>)
|
|
176
|
+
{
|
|
177
|
+
if (!(a is IList<object> alist) || !(b is IList<object> blist) || alist.Count != blist.Count)
|
|
178
|
+
{
|
|
179
|
+
return false;
|
|
180
|
+
}
|
|
181
|
+
for (int index = 0; index < alist.Count; index++)
|
|
182
|
+
{
|
|
183
|
+
if (!DeepEqual(alist[index], blist[index]))
|
|
184
|
+
{
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
if (a is IDictionary<string, object> || b is IDictionary<string, object>)
|
|
192
|
+
{
|
|
193
|
+
if (!(a is IDictionary<string, object> amap) ||
|
|
194
|
+
!(b is IDictionary<string, object> bmap) ||
|
|
195
|
+
amap.Count != bmap.Count)
|
|
196
|
+
{
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
foreach (var entry in amap)
|
|
200
|
+
{
|
|
201
|
+
if (!bmap.ContainsKey(entry.Key) || !DeepEqual(entry.Value, bmap[entry.Key]))
|
|
202
|
+
{
|
|
203
|
+
return false;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return true;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
return a.Equals(b);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/// <summary>Render a number the same way in every port: 5.0 prints as 5.</summary>
|
|
213
|
+
public static string NumStr(double val)
|
|
214
|
+
{
|
|
215
|
+
if (double.IsNaN(val) || double.IsInfinity(val))
|
|
216
|
+
{
|
|
217
|
+
return "null";
|
|
218
|
+
}
|
|
219
|
+
if (val == Math.Truncate(val) && Math.Abs(val) < 9007199254740992.0)
|
|
220
|
+
{
|
|
221
|
+
return ((long)val).ToString(CultureInfo.InvariantCulture);
|
|
222
|
+
}
|
|
223
|
+
return val.ToString("R", CultureInfo.InvariantCulture);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/// <summary>Render a string as a JSON string literal.</summary>
|
|
227
|
+
public static string Quote(string val)
|
|
228
|
+
{
|
|
229
|
+
var out_ = new StringBuilder("\"");
|
|
230
|
+
|
|
231
|
+
foreach (char ch in val)
|
|
232
|
+
{
|
|
233
|
+
switch (ch)
|
|
234
|
+
{
|
|
235
|
+
case '"': out_.Append("\\\""); break;
|
|
236
|
+
case '\\': out_.Append("\\\\"); break;
|
|
237
|
+
case '\n': out_.Append("\\n"); break;
|
|
238
|
+
case '\r': out_.Append("\\r"); break;
|
|
239
|
+
case '\t': out_.Append("\\t"); break;
|
|
240
|
+
default:
|
|
241
|
+
if (0x20 > ch)
|
|
242
|
+
{
|
|
243
|
+
out_.Append("\\u").Append(((int)ch).ToString("x4", CultureInfo.InvariantCulture));
|
|
244
|
+
}
|
|
245
|
+
else
|
|
246
|
+
{
|
|
247
|
+
out_.Append(ch);
|
|
248
|
+
}
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
return out_.Append('"').ToString();
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/// <summary>Compact JSON text with map keys sorted, identical in every port.</summary>
|
|
257
|
+
public static string JsonStr(object val)
|
|
258
|
+
{
|
|
259
|
+
if (IsAbsent(val))
|
|
260
|
+
{
|
|
261
|
+
return "undefined";
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
if (null == val)
|
|
265
|
+
{
|
|
266
|
+
return "null";
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
if (val is bool flag)
|
|
270
|
+
{
|
|
271
|
+
return flag ? "true" : "false";
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
if (val is string text)
|
|
275
|
+
{
|
|
276
|
+
return Quote(text);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
if (IsNum(val))
|
|
280
|
+
{
|
|
281
|
+
return NumStr(ToNum(val));
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
if (val is IList<object> list)
|
|
285
|
+
{
|
|
286
|
+
return "[" + string.Join(",", list.Select(JsonStr)) + "]";
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
if (val is IDictionary<string, object> map)
|
|
290
|
+
{
|
|
291
|
+
var keys = map.Keys.ToList();
|
|
292
|
+
keys.Sort(StringComparer.Ordinal);
|
|
293
|
+
return "{" + string.Join(",", keys.Select(key => Quote(key) + ":" + JsonStr(map[key]))) + "}";
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
return Quote(val.ToString());
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
/// <summary>Strings verbatim, everything else as compact JSON.</summary>
|
|
300
|
+
public static string Stringify(object val) => val is string text ? text : JsonStr(val);
|
|
301
|
+
|
|
302
|
+
/// <summary>Render a path as a dotted string.</summary>
|
|
303
|
+
public static string PathIfy(IList<string> path) => string.Join(".", path ?? new List<string>());
|
|
304
|
+
|
|
305
|
+
/// <summary>Parse JSON text into the omni value model.</summary>
|
|
306
|
+
public static object Parse(string text)
|
|
307
|
+
{
|
|
308
|
+
using var doc = JsonDocument.Parse(text);
|
|
309
|
+
return FromElement(doc.RootElement);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
private static object FromElement(JsonElement element)
|
|
313
|
+
{
|
|
314
|
+
switch (element.ValueKind)
|
|
315
|
+
{
|
|
316
|
+
case JsonValueKind.Object:
|
|
317
|
+
{
|
|
318
|
+
var map = new Dictionary<string, object>();
|
|
319
|
+
foreach (var field in element.EnumerateObject())
|
|
320
|
+
{
|
|
321
|
+
map[field.Name] = FromElement(field.Value);
|
|
322
|
+
}
|
|
323
|
+
return map;
|
|
324
|
+
}
|
|
325
|
+
case JsonValueKind.Array:
|
|
326
|
+
{
|
|
327
|
+
var list = new List<object>();
|
|
328
|
+
foreach (var entry in element.EnumerateArray())
|
|
329
|
+
{
|
|
330
|
+
list.Add(FromElement(entry));
|
|
331
|
+
}
|
|
332
|
+
return list;
|
|
333
|
+
}
|
|
334
|
+
case JsonValueKind.String:
|
|
335
|
+
return element.GetString();
|
|
336
|
+
case JsonValueKind.Number:
|
|
337
|
+
return element.GetDouble();
|
|
338
|
+
case JsonValueKind.True:
|
|
339
|
+
return true;
|
|
340
|
+
case JsonValueKind.False:
|
|
341
|
+
return false;
|
|
342
|
+
default:
|
|
343
|
+
return null;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
}
|
|
@@ -38,7 +38,9 @@ public static partial class SdkUtility
|
|
|
38
38
|
|
|
39
39
|
var allowMethod = StructUtils.GetPath(options, StructUtils.Jt("allow", "method"))
|
|
40
40
|
as string ?? "";
|
|
41
|
-
|
|
41
|
+
// null-safe: an op outside the convention resolves NO method (see
|
|
42
|
+
// PrepareMethod), which the allow list can never contain.
|
|
43
|
+
if (ctx.Spec.Method == null || !allowMethod.Contains(ctx.Spec.Method))
|
|
42
44
|
{
|
|
43
45
|
throw ctx.MakeError("spec_method_allow",
|
|
44
46
|
"Method \"" + ctx.Spec.Method +
|
|
@@ -28,6 +28,11 @@ public static partial class SdkUtility
|
|
|
28
28
|
return pm.ToUpperInvariant();
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
// No default: an op name outside the convention resolves to NO
|
|
32
|
+
// method, exactly as the ts reference (`methodMap[key]` is
|
|
33
|
+
// undefined there). The silent-pass engine hid a stray "GET"
|
|
34
|
+
// fallback here; the shared corpus (prepareMethod, opname "bad"
|
|
35
|
+
// -> null) pins it now.
|
|
36
|
+
return MethodMap.TryGetValue(opname, out var m) ? m : null!;
|
|
32
37
|
}
|
|
33
38
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
// VENDORED: @voxgig/struct 0.1.1 (csharp/Struct.cs)
|
|
2
|
+
// Source: https://github.com/voxgig/struct @ 2caf7f448f265144c18dd6fab6ba270a7f3bca07 [tag: sdk-20260904-1610-0]
|
|
3
|
+
// License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
1
4
|
/* Copyright (c) 2025-2026 Voxgig Ltd. MIT LICENSE. */
|
|
2
5
|
|
|
3
|
-
// Vendored from github.com/voxgig/struct csharp/Struct.cs — do not edit here;
|
|
4
|
-
// upstream is the canonical source.
|
|
5
|
-
|
|
6
6
|
// VERSION: @voxgig/struct 0.0.10
|
|
7
7
|
|
|
8
8
|
/* Voxgig Struct
|
|
@@ -2890,6 +2890,9 @@ namespace Voxgig.Struct
|
|
|
2890
2890
|
return inj.DParent;
|
|
2891
2891
|
}
|
|
2892
2892
|
|
|
2893
|
+
// Clone children and reset inj key index.
|
|
2894
|
+
// The inject child loop will now iterate over the cloned children,
|
|
2895
|
+
// validating them against the current list values.
|
|
2893
2896
|
var dpList = (List<object?>)inj.DParent;
|
|
2894
2897
|
foreach (var item in Items(inj.DParent))
|
|
2895
2898
|
{
|
|
@@ -2897,9 +2900,22 @@ namespace Voxgig.Struct
|
|
|
2897
2900
|
}
|
|
2898
2901
|
|
|
2899
2902
|
Slice(inj.Parent, 0, dpList.Count, true);
|
|
2900
|
-
inj.KeyI = 0;
|
|
2901
2903
|
|
|
2902
|
-
|
|
2904
|
+
// NOTE: modifying inj! This extends the child value loop in inject
|
|
2905
|
+
// to cover every cloned child.
|
|
2906
|
+
for (int ckeyI = Size(inj.Keys); ckeyI < Size(inj.Parent); ckeyI++)
|
|
2907
|
+
{
|
|
2908
|
+
inj.Keys.Add(StrKey(ckeyI));
|
|
2909
|
+
}
|
|
2910
|
+
|
|
2911
|
+
// Restart the child value loop at the first element (the loop
|
|
2912
|
+
// increments keyI on resume) so that the first element is also
|
|
2913
|
+
// validated against the child template.
|
|
2914
|
+
inj.KeyI = -1;
|
|
2915
|
+
|
|
2916
|
+
// SKIP leaves the cloned child template in place at the first
|
|
2917
|
+
// element so the resumed loop can validate it.
|
|
2918
|
+
return SKIP;
|
|
2903
2919
|
}
|
|
2904
2920
|
|
|
2905
2921
|
return NONE;
|