@voxgig/sdkgen 4.21.0 → 4.22.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/action.js +0 -65
- package/dist/action/action.js.map +1 -1
- package/dist/action/check.js +0 -88
- package/dist/action/check.js.map +1 -1
- package/dist/action/dispatch.js +0 -27
- package/dist/action/dispatch.js.map +1 -1
- package/dist/action/doctor.d.ts +1 -0
- package/dist/action/doctor.js +55 -321
- package/dist/action/doctor.js.map +1 -1
- package/dist/action/edition.js +1 -87
- package/dist/action/edition.js.map +1 -1
- package/dist/action/feature.js +0 -48
- package/dist/action/feature.js.map +1 -1
- package/dist/action/kind.js +0 -132
- package/dist/action/kind.js.map +1 -1
- package/dist/action/package.js +0 -221
- package/dist/action/package.js.map +1 -1
- package/dist/action/resolve.js +0 -145
- package/dist/action/resolve.js.map +1 -1
- package/dist/action/target.js +0 -177
- package/dist/action/target.js.map +1 -1
- package/dist/cmp/AgentGuide.js +0 -7
- package/dist/cmp/AgentGuide.js.map +1 -1
- package/dist/cmp/AgentGuideContent.js +0 -24
- package/dist/cmp/AgentGuideContent.js.map +1 -1
- package/dist/cmp/AgentGuideTop.js +0 -7
- package/dist/cmp/AgentGuideTop.js.map +1 -1
- package/dist/cmp/Changelog.js +0 -14
- package/dist/cmp/Changelog.js.map +1 -1
- package/dist/cmp/Deploy.js +1 -31
- package/dist/cmp/Deploy.js.map +1 -1
- package/dist/cmp/Entity.js +0 -4
- package/dist/cmp/Entity.js.map +1 -1
- package/dist/cmp/ExternalTarget.js +0 -36
- package/dist/cmp/ExternalTarget.js.map +1 -1
- package/dist/cmp/Feature.js +0 -14
- package/dist/cmp/Feature.js.map +1 -1
- package/dist/cmp/FeatureDocs.js +0 -25
- package/dist/cmp/FeatureDocs.js.map +1 -1
- package/dist/cmp/PublishWorkflow.js +0 -60
- package/dist/cmp/PublishWorkflow.js.map +1 -1
- package/dist/cmp/ReadmeErrors.js +0 -2
- package/dist/cmp/ReadmeErrors.js.map +1 -1
- package/dist/cmp/ReadmeExplanation.js +0 -5
- package/dist/cmp/ReadmeExplanation.js.map +1 -1
- package/dist/cmp/ReadmeFeatures.js +0 -10
- package/dist/cmp/ReadmeFeatures.js.map +1 -1
- package/dist/cmp/ReadmeRefFeatures.js +0 -19
- package/dist/cmp/ReadmeRefFeatures.js.map +1 -1
- package/dist/cmp/ReadmeStation.js +0 -19
- package/dist/cmp/ReadmeStation.js.map +1 -1
- package/dist/cmp/ReadmeTop.js +0 -80
- package/dist/cmp/ReadmeTop.js.map +1 -1
- package/dist/cmp/ReadmeUnions.js +0 -15
- package/dist/cmp/ReadmeUnions.js.map +1 -1
- package/dist/cmp/Registered.js +0 -30
- package/dist/cmp/Registered.js.map +1 -1
- package/dist/cmp/Security.js +0 -2
- package/dist/cmp/Security.js.map +1 -1
- package/dist/cmp/Test.js +2 -1
- package/dist/cmp/Test.js.map +1 -1
- package/dist/cmp/TestControl.js +0 -25
- package/dist/cmp/TestControl.js.map +1 -1
- package/dist/helpers/applicability.js +0 -60
- package/dist/helpers/applicability.js.map +1 -1
- package/dist/helpers/buildIdNames.js +0 -12
- package/dist/helpers/buildIdNames.js.map +1 -1
- package/dist/helpers/canonSpec.js +0 -114
- package/dist/helpers/canonSpec.js.map +1 -1
- package/dist/helpers/canonType.js +0 -87
- package/dist/helpers/canonType.js.map +1 -1
- package/dist/helpers/collectDeps.js +0 -27
- package/dist/helpers/collectDeps.js.map +1 -1
- package/dist/helpers/definition.js +0 -29
- package/dist/helpers/definition.js.map +1 -1
- package/dist/helpers/dryrun.js +0 -8
- package/dist/helpers/dryrun.js.map +1 -1
- package/dist/helpers/featureSource.js +0 -145
- package/dist/helpers/featureSource.js.map +1 -1
- package/dist/helpers/getMatchEntries.js +0 -4
- package/dist/helpers/getMatchEntries.js.map +1 -1
- package/dist/helpers/junk.js +9 -85
- package/dist/helpers/junk.js.map +1 -1
- package/dist/helpers/manifest.js +0 -138
- package/dist/helpers/manifest.js.map +1 -1
- package/dist/helpers/modelNames.js +0 -78
- package/dist/helpers/modelNames.js.map +1 -1
- package/dist/helpers/modelcheck.js +0 -106
- package/dist/helpers/modelcheck.js.map +1 -1
- package/dist/helpers/naming.d.ts +0 -1
- package/dist/helpers/naming.js +0 -303
- package/dist/helpers/naming.js.map +1 -1
- package/dist/helpers/opExample.js +0 -51
- package/dist/helpers/opExample.js.map +1 -1
- package/dist/helpers/opShape.js +0 -198
- package/dist/helpers/opShape.js.map +1 -1
- package/dist/helpers/optspec.js +0 -77
- package/dist/helpers/optspec.js.map +1 -1
- package/dist/helpers/packageMeta.js +1 -200
- package/dist/helpers/packageMeta.js.map +1 -1
- package/dist/helpers/pointPath.js +0 -55
- package/dist/helpers/pointPath.js.map +1 -1
- package/dist/helpers/resolved.d.ts +6 -0
- package/dist/helpers/resolved.js +49 -0
- package/dist/helpers/resolved.js.map +1 -0
- package/dist/helpers/semver.js +0 -61
- package/dist/helpers/semver.js.map +1 -1
- package/dist/helpers/serverVars.js +0 -44
- package/dist/helpers/serverVars.js.map +1 -1
- package/dist/helpers/shipped.js +0 -14
- package/dist/helpers/shipped.js.map +1 -1
- package/dist/helpers/station.js +0 -32
- package/dist/helpers/station.js.map +1 -1
- package/dist/helpers/stdrep.js +0 -26
- package/dist/helpers/stdrep.js.map +1 -1
- package/dist/helpers/testPolicy.js +0 -4
- package/dist/helpers/testPolicy.js.map +1 -1
- package/dist/sdkgen.d.ts +2 -1
- package/dist/sdkgen.js +13 -242
- package/dist/sdkgen.js.map +1 -1
- package/dist/testkit.js +6 -266
- package/dist/testkit.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utility.js +0 -243
- package/dist/utility.js.map +1 -1
- package/model/sdkgen.aon +12 -489
- package/package.json +4 -4
- package/project/.sdk/model/feature/audit.aon +0 -7
- package/project/.sdk/model/feature/cache.aon +0 -7
- package/project/.sdk/model/feature/clienttrack.aon +0 -7
- package/project/.sdk/model/feature/cost.aon +0 -13
- package/project/.sdk/model/feature/debug.aon +0 -7
- package/project/.sdk/model/feature/idempotency.aon +0 -7
- package/project/.sdk/model/feature/log.aon +0 -7
- package/project/.sdk/model/feature/metrics.aon +0 -7
- package/project/.sdk/model/feature/netsim.aon +0 -10
- package/project/.sdk/model/feature/paging.aon +0 -7
- package/project/.sdk/model/feature/proxy.aon +0 -7
- package/project/.sdk/model/feature/ratelimit.aon +0 -7
- package/project/.sdk/model/feature/retry.aon +0 -7
- package/project/.sdk/model/feature/secrets.aon +0 -482
- package/project/.sdk/model/feature/streaming.aon +0 -7
- package/project/.sdk/model/feature/telemetry.aon +0 -7
- package/project/.sdk/model/feature/test.aon +1 -8
- package/project/.sdk/model/feature/timeout.aon +0 -7
- package/project/.sdk/model/feature/validate.aon +0 -32
- package/project/.sdk/model/target/c.aon +0 -41
- package/project/.sdk/model/target/clojure.aon +0 -36
- package/project/.sdk/model/target/cpp.aon +0 -42
- package/project/.sdk/model/target/csharp.aon +0 -26
- package/project/.sdk/model/target/elixir.aon +0 -22
- package/project/.sdk/model/target/go-cli.aon +0 -30
- package/project/.sdk/model/target/go-mcp.aon +0 -21
- package/project/.sdk/model/target/go.aon +0 -9
- package/project/.sdk/model/target/java.aon +0 -29
- package/project/.sdk/model/target/js.aon +2 -21
- package/project/.sdk/model/target/kotlin.aon +0 -31
- package/project/.sdk/model/target/lua.aon +0 -32
- package/project/.sdk/model/target/ocaml.aon +0 -64
- package/project/.sdk/model/target/perl.aon +0 -20
- package/project/.sdk/model/target/php.aon +0 -17
- package/project/.sdk/model/target/py-data.aon +0 -33
- package/project/.sdk/model/target/py.aon +0 -17
- package/project/.sdk/model/target/rb.aon +0 -17
- package/project/.sdk/model/target/rust.aon +0 -25
- package/project/.sdk/model/target/scala.aon +0 -74
- package/project/.sdk/model/target/swift.aon +0 -41
- package/project/.sdk/model/target/ts.aon +3 -25
- package/project/.sdk/model/target/zig.aon +0 -50
- package/project/.sdk/src/cmp/c/Config_c.ts +0 -100
- package/project/.sdk/src/cmp/c/EntityTypes_c.ts +0 -36
- package/project/.sdk/src/cmp/c/Main_c.ts +0 -44
- package/project/.sdk/src/cmp/c/Package_c.ts +0 -14
- package/project/.sdk/src/cmp/c/PrepareAuth_c.ts +0 -85
- package/project/.sdk/src/cmp/c/ReadmeExamplesTest_c.ts +0 -20
- package/project/.sdk/src/cmp/c/ReadmeRef_c.ts +2 -5
- package/project/.sdk/src/cmp/c/ReadmeTopQuick_c.ts +0 -2
- package/project/.sdk/src/cmp/c/Schema_c.ts +0 -19
- package/project/.sdk/src/cmp/c/utility_c.ts +0 -47
- package/project/.sdk/src/cmp/clojure/Config_clojure.ts +0 -63
- package/project/.sdk/src/cmp/clojure/Entity_clojure.ts +0 -1
- package/project/.sdk/src/cmp/clojure/Main_clojure.ts +0 -41
- package/project/.sdk/src/cmp/clojure/Package_clojure.ts +0 -20
- package/project/.sdk/src/cmp/clojure/PrepareAuth_clojure.ts +0 -130
- package/project/.sdk/src/cmp/clojure/ReadmeExamplesTest_clojure.ts +0 -16
- package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +2 -5
- package/project/.sdk/src/cmp/clojure/Schema_clojure.ts +0 -20
- package/project/.sdk/src/cmp/clojure/TestDirect_clojure.ts +0 -6
- package/project/.sdk/src/cmp/clojure/TestEntity_clojure.ts +0 -10
- package/project/.sdk/src/cmp/clojure/Test_clojure.ts +0 -8
- package/project/.sdk/src/cmp/clojure/featureextra_clojure.ts +0 -34
- package/project/.sdk/src/cmp/clojure/utility_clojure.ts +0 -47
- package/project/.sdk/src/cmp/cpp/Config_cpp.ts +0 -109
- package/project/.sdk/src/cmp/cpp/EntityTypes_cpp.ts +0 -36
- package/project/.sdk/src/cmp/cpp/Main_cpp.ts +0 -47
- package/project/.sdk/src/cmp/cpp/Package_cpp.ts +0 -14
- package/project/.sdk/src/cmp/cpp/PrepareAuth_cpp.ts +0 -125
- package/project/.sdk/src/cmp/cpp/ReadmeExamplesTest_cpp.ts +0 -19
- package/project/.sdk/src/cmp/cpp/ReadmeQuick_cpp.ts +0 -7
- package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +2 -5
- package/project/.sdk/src/cmp/cpp/Schema_cpp.ts +0 -21
- package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +0 -3
- package/project/.sdk/src/cmp/cpp/Test_cpp.ts +0 -3
- package/project/.sdk/src/cmp/cpp/utility_cpp.ts +0 -28
- package/project/.sdk/src/cmp/csharp/Config_csharp.ts +0 -79
- package/project/.sdk/src/cmp/csharp/EntityOperation_csharp.ts +0 -3
- package/project/.sdk/src/cmp/csharp/EntityTypes_csharp.ts +0 -50
- package/project/.sdk/src/cmp/csharp/Entity_csharp.ts +0 -1
- package/project/.sdk/src/cmp/csharp/Main_csharp.ts +0 -24
- package/project/.sdk/src/cmp/csharp/Package_csharp.ts +0 -20
- package/project/.sdk/src/cmp/csharp/PrepareAuth_csharp.ts +0 -81
- package/project/.sdk/src/cmp/csharp/ReadmeEntity_csharp.ts +0 -1
- package/project/.sdk/src/cmp/csharp/ReadmeExamplesTest_csharp.ts +0 -23
- package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +2 -5
- package/project/.sdk/src/cmp/csharp/ReadmeTopQuick_csharp.ts +0 -2
- package/project/.sdk/src/cmp/csharp/Schema_csharp.ts +0 -18
- package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +0 -4
- package/project/.sdk/src/cmp/csharp/utility_csharp.ts +0 -72
- package/project/.sdk/src/cmp/elixir/Config_elixir.ts +0 -78
- package/project/.sdk/src/cmp/elixir/EntityTypes_elixir.ts +0 -38
- package/project/.sdk/src/cmp/elixir/Main_elixir.ts +0 -40
- package/project/.sdk/src/cmp/elixir/Package_elixir.ts +0 -13
- package/project/.sdk/src/cmp/elixir/PrepareAuth_elixir.ts +0 -123
- package/project/.sdk/src/cmp/elixir/ReadmeExamplesTest_elixir.ts +0 -19
- package/project/.sdk/src/cmp/elixir/ReadmeRef_elixir.ts +2 -5
- package/project/.sdk/src/cmp/elixir/Schema_elixir.ts +0 -24
- package/project/.sdk/src/cmp/elixir/utility_elixir.ts +0 -34
- package/project/.sdk/src/cmp/go/Config_go.ts +0 -41
- package/project/.sdk/src/cmp/go/EntityTypes_go.ts +0 -71
- package/project/.sdk/src/cmp/go/Entity_go.ts +0 -5
- package/project/.sdk/src/cmp/go/Main_go.ts +0 -28
- package/project/.sdk/src/cmp/go/Package_go.ts +0 -7
- package/project/.sdk/src/cmp/go/PrepareAuth_go.ts +0 -64
- package/project/.sdk/src/cmp/go/ReadmeEntity_go.ts +0 -5
- package/project/.sdk/src/cmp/go/ReadmeExamplesTest_go.ts +0 -30
- package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +0 -3
- package/project/.sdk/src/cmp/go/ReadmeIntro_go.ts +0 -7
- package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +0 -11
- package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +0 -21
- package/project/.sdk/src/cmp/go/ReadmeRef_go.ts +2 -14
- package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +0 -9
- package/project/.sdk/src/cmp/go/Schema_go.ts +0 -21
- package/project/.sdk/src/cmp/go/TestDirect_go.ts +0 -23
- package/project/.sdk/src/cmp/go/TestEntity_go.ts +0 -8
- package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +0 -21
- package/project/.sdk/src/cmp/go/fragment/Main.fragment.go +0 -12
- package/project/.sdk/src/cmp/go/utility_go.ts +0 -70
- package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +0 -49
- package/project/.sdk/src/cmp/go-cli/fragment/words.fragment.go +0 -12
- package/project/.sdk/src/cmp/go-mcp/Main_go-mcp.ts +0 -36
- package/project/.sdk/src/cmp/go-mcp/fragment/main.fragment.go +0 -20
- package/project/.sdk/src/cmp/go-mcp/fragment/tools.fragment.go +0 -3
- package/project/.sdk/src/cmp/java/Config_java.ts +0 -63
- package/project/.sdk/src/cmp/java/EntityTypes_java.ts +0 -50
- package/project/.sdk/src/cmp/java/Entity_java.ts +0 -6
- package/project/.sdk/src/cmp/java/Main_java.ts +0 -24
- package/project/.sdk/src/cmp/java/PrepareAuth_java.ts +0 -55
- package/project/.sdk/src/cmp/java/ReadmeEntity_java.ts +0 -1
- package/project/.sdk/src/cmp/java/ReadmeExamplesTest_java.ts +0 -20
- package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +0 -4
- package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +2 -5
- package/project/.sdk/src/cmp/java/ReadmeTopQuick_java.ts +0 -7
- package/project/.sdk/src/cmp/java/Schema_java.ts +0 -19
- package/project/.sdk/src/cmp/java/TestDirect_java.ts +0 -7
- package/project/.sdk/src/cmp/java/TestEntity_java.ts +0 -4
- package/project/.sdk/src/cmp/java/Test_java.ts +0 -6
- package/project/.sdk/src/cmp/java/utility_java.ts +0 -33
- package/project/.sdk/src/cmp/js/Config_js.ts +0 -46
- package/project/.sdk/src/cmp/js/EntityTypes_js.ts +0 -33
- package/project/.sdk/src/cmp/js/Main_js.ts +0 -33
- package/project/.sdk/src/cmp/js/Package_js.ts +2 -7
- package/project/.sdk/src/cmp/js/PrepareAuth_js.ts +0 -57
- package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +0 -9
- package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +0 -2
- package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +0 -15
- package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +2 -7
- package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +0 -7
- package/project/.sdk/src/cmp/js/Schema_js.ts +0 -21
- package/project/.sdk/src/cmp/js/TestDirect_js.ts +2 -16
- package/project/.sdk/src/cmp/js/TestEntity_js.ts +3 -13
- package/project/.sdk/src/cmp/js/TestLive_js.ts +10 -3
- package/project/.sdk/src/cmp/js/utility_js.ts +0 -58
- package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +0 -46
- package/project/.sdk/src/cmp/kotlin/EntityOperation_kotlin.ts +0 -2
- package/project/.sdk/src/cmp/kotlin/EntityTypes_kotlin.ts +0 -53
- package/project/.sdk/src/cmp/kotlin/Entity_kotlin.ts +0 -4
- package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +0 -46
- package/project/.sdk/src/cmp/kotlin/PrepareAuth_kotlin.ts +0 -113
- package/project/.sdk/src/cmp/kotlin/ReadmeEntity_kotlin.ts +0 -1
- package/project/.sdk/src/cmp/kotlin/ReadmeExamplesTest_kotlin.ts +0 -20
- package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +2 -5
- package/project/.sdk/src/cmp/kotlin/ReadmeTopQuick_kotlin.ts +0 -5
- package/project/.sdk/src/cmp/kotlin/Schema_kotlin.ts +0 -19
- package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +0 -4
- package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +0 -6
- package/project/.sdk/src/cmp/kotlin/utility_kotlin.ts +0 -33
- package/project/.sdk/src/cmp/lua/Config_lua.ts +0 -56
- package/project/.sdk/src/cmp/lua/EntityTypes_lua.ts +0 -30
- package/project/.sdk/src/cmp/lua/Entity_lua.ts +0 -7
- package/project/.sdk/src/cmp/lua/Main_lua.ts +0 -58
- package/project/.sdk/src/cmp/lua/Package_lua.ts +0 -20
- package/project/.sdk/src/cmp/lua/PrepareAuth_lua.ts +0 -61
- package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +0 -8
- package/project/.sdk/src/cmp/lua/ReadmeExamplesTest_lua.ts +0 -24
- package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +0 -10
- package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +0 -21
- package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +2 -12
- package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +0 -3
- package/project/.sdk/src/cmp/lua/Schema_lua.ts +0 -16
- package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +0 -2
- package/project/.sdk/src/cmp/lua/utility_lua.ts +0 -30
- package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +0 -98
- package/project/.sdk/src/cmp/ocaml/EntityOperation_ocaml.ts +0 -6
- package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +0 -78
- package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +0 -13
- package/project/.sdk/src/cmp/ocaml/PrepareAuth_ocaml.ts +0 -145
- package/project/.sdk/src/cmp/ocaml/ReadmeExamplesTest_ocaml.ts +0 -17
- package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +2 -5
- package/project/.sdk/src/cmp/ocaml/Schema_ocaml.ts +0 -23
- package/project/.sdk/src/cmp/ocaml/SdkError_ocaml.ts +0 -4
- package/project/.sdk/src/cmp/ocaml/TestEntity_ocaml.ts +0 -5
- package/project/.sdk/src/cmp/ocaml/utility_ocaml.ts +0 -27
- package/project/.sdk/src/cmp/perl/Config_perl.ts +0 -52
- package/project/.sdk/src/cmp/perl/Entity_perl.ts +0 -3
- package/project/.sdk/src/cmp/perl/Main_perl.ts +0 -33
- package/project/.sdk/src/cmp/perl/Package_perl.ts +0 -8
- package/project/.sdk/src/cmp/perl/PrepareAuth_perl.ts +0 -84
- package/project/.sdk/src/cmp/perl/ReadmeEntity_perl.ts +0 -3
- package/project/.sdk/src/cmp/perl/ReadmeExamplesTest_perl.ts +0 -27
- package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +2 -5
- package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +0 -2
- package/project/.sdk/src/cmp/perl/Schema_perl.ts +0 -18
- package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +0 -2
- package/project/.sdk/src/cmp/perl/utility_perl.ts +0 -26
- package/project/.sdk/src/cmp/php/Config_php.ts +0 -76
- package/project/.sdk/src/cmp/php/EntityTypes_php.ts +0 -51
- package/project/.sdk/src/cmp/php/MainEntity_php.ts +0 -6
- package/project/.sdk/src/cmp/php/Main_php.ts +0 -15
- package/project/.sdk/src/cmp/php/PrepareAuth_php.ts +0 -73
- package/project/.sdk/src/cmp/php/ReadmeEntity_php.ts +0 -4
- package/project/.sdk/src/cmp/php/ReadmeExamplesTest_php.ts +0 -33
- package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +0 -1
- package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +0 -19
- package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +2 -7
- package/project/.sdk/src/cmp/php/Schema_php.ts +0 -15
- package/project/.sdk/src/cmp/php/TestEntity_php.ts +0 -9
- package/project/.sdk/src/cmp/php/utility_php.ts +0 -22
- package/project/.sdk/src/cmp/py/Config_py.ts +0 -53
- package/project/.sdk/src/cmp/py/EntityTypes_py.ts +0 -55
- package/project/.sdk/src/cmp/py/Entity_py.ts +0 -16
- package/project/.sdk/src/cmp/py/Main_py.ts +1 -61
- package/project/.sdk/src/cmp/py/Package_py.ts +0 -3
- package/project/.sdk/src/cmp/py/PrepareAuth_py.ts +0 -69
- package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +0 -13
- package/project/.sdk/src/cmp/py/ReadmeExamplesTest_py.ts +0 -31
- package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +0 -3
- package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +0 -28
- package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +2 -16
- package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +0 -14
- package/project/.sdk/src/cmp/py/Schema_py.ts +0 -19
- package/project/.sdk/src/cmp/py/TestDirect_py.ts +0 -2
- package/project/.sdk/src/cmp/py/utility_py.ts +0 -22
- package/project/.sdk/src/cmp/py-data/Main_py-data.ts +9 -43
- package/project/.sdk/src/cmp/rb/Config_rb.ts +0 -56
- package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +0 -58
- package/project/.sdk/src/cmp/rb/Entity_rb.ts +0 -3
- package/project/.sdk/src/cmp/rb/Main_rb.ts +0 -10
- package/project/.sdk/src/cmp/rb/Package_rb.ts +0 -5
- package/project/.sdk/src/cmp/rb/PrepareAuth_rb.ts +0 -81
- package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +0 -7
- package/project/.sdk/src/cmp/rb/ReadmeExamplesTest_rb.ts +0 -32
- package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +0 -9
- package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +0 -23
- package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +2 -10
- package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +0 -5
- package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +0 -3
- package/project/.sdk/src/cmp/rb/Schema_rb.ts +0 -15
- package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +0 -2
- package/project/.sdk/src/cmp/rb/utility_rb.ts +0 -22
- package/project/.sdk/src/cmp/rust/Config_rust.ts +0 -35
- package/project/.sdk/src/cmp/rust/EntityTypes_rust.ts +0 -34
- package/project/.sdk/src/cmp/rust/Entity_rust.ts +0 -9
- package/project/.sdk/src/cmp/rust/Main_rust.ts +0 -58
- package/project/.sdk/src/cmp/rust/Package_rust.ts +0 -30
- package/project/.sdk/src/cmp/rust/PrepareAuth_rust.ts +0 -84
- package/project/.sdk/src/cmp/rust/ReadmeExamplesTest_rust.ts +0 -16
- package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +2 -5
- package/project/.sdk/src/cmp/rust/Schema_rust.ts +0 -18
- package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +0 -7
- package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +0 -9
- package/project/.sdk/src/cmp/rust/fragment/Entity.fragment.rs +0 -14
- package/project/.sdk/src/cmp/rust/fragment/EntityRemoveOp.fragment.rs +0 -4
- package/project/.sdk/src/cmp/rust/fragment/Main.fragment.rs +0 -20
- package/project/.sdk/src/cmp/rust/fragment/SdkError.fragment.rs +0 -6
- package/project/.sdk/src/cmp/rust/utility_rust.ts +0 -47
- package/project/.sdk/src/cmp/scala/Config_scala.ts +0 -31
- package/project/.sdk/src/cmp/scala/EntityTypes_scala.ts +0 -51
- package/project/.sdk/src/cmp/scala/Main_scala.ts +0 -78
- package/project/.sdk/src/cmp/scala/PrepareAuth_scala.ts +0 -102
- package/project/.sdk/src/cmp/scala/ReadmeEntity_scala.ts +0 -1
- package/project/.sdk/src/cmp/scala/ReadmeExamplesTest_scala.ts +0 -23
- package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +2 -5
- package/project/.sdk/src/cmp/scala/ReadmeTopQuick_scala.ts +0 -5
- package/project/.sdk/src/cmp/scala/Schema_scala.ts +0 -19
- package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +0 -8
- package/project/.sdk/src/cmp/scala/Test_scala.ts +0 -3
- package/project/.sdk/src/cmp/scala/utility_scala.ts +0 -31
- package/project/.sdk/src/cmp/swift/Config_swift.ts +0 -62
- package/project/.sdk/src/cmp/swift/EntityOperation_swift.ts +0 -3
- package/project/.sdk/src/cmp/swift/EntityTypes_swift.ts +0 -39
- package/project/.sdk/src/cmp/swift/Main_swift.ts +0 -42
- package/project/.sdk/src/cmp/swift/Package_swift.ts +0 -69
- package/project/.sdk/src/cmp/swift/PrepareAuth_swift.ts +0 -134
- package/project/.sdk/src/cmp/swift/ReadmeEntity_swift.ts +0 -2
- package/project/.sdk/src/cmp/swift/ReadmeExamplesTest_swift.ts +0 -22
- package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +2 -5
- package/project/.sdk/src/cmp/swift/Schema_swift.ts +0 -18
- package/project/.sdk/src/cmp/swift/TestEntity_swift.ts +0 -4
- package/project/.sdk/src/cmp/swift/utility_swift.ts +0 -51
- package/project/.sdk/src/cmp/ts/Config_ts.ts +0 -46
- package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +0 -34
- package/project/.sdk/src/cmp/ts/Entity_ts.ts +0 -6
- package/project/.sdk/src/cmp/ts/Main_ts.ts +0 -28
- package/project/.sdk/src/cmp/ts/Package_ts.ts +2 -26
- package/project/.sdk/src/cmp/ts/PrepareAuth_ts.ts +0 -55
- package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +0 -9
- package/project/.sdk/src/cmp/ts/ReadmeExampleTest_ts.ts +0 -6
- package/project/.sdk/src/cmp/ts/ReadmeExamplesTest_ts.ts +0 -25
- package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +4 -9
- package/project/.sdk/src/cmp/ts/ReadmeIntro_ts.ts +0 -7
- package/project/.sdk/src/cmp/ts/ReadmeModel_ts.ts +0 -3
- package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +0 -43
- package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +2 -20
- package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +0 -11
- package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +6 -9
- package/project/.sdk/src/cmp/ts/Schema_ts.ts +0 -21
- package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +2 -53
- package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +3 -31
- package/project/.sdk/src/cmp/ts/TestLive_ts.ts +10 -4
- package/project/.sdk/src/cmp/ts/Test_ts.ts +0 -4
- package/project/.sdk/src/cmp/ts/fragment/Config.data.fragment.ts +0 -27
- package/project/.sdk/src/cmp/ts/fragment/Config.fragment.ts +0 -7
- package/project/.sdk/src/cmp/ts/fragment/Direct.test.fragment.ts +0 -7
- package/project/.sdk/src/cmp/ts/fragment/Entity.fragment.ts +0 -1
- package/project/.sdk/src/cmp/ts/fragment/Entity.test.fragment.ts +0 -4
- package/project/.sdk/src/cmp/ts/fragment/EntityBase.fragment.ts +0 -20
- package/project/.sdk/src/cmp/ts/fragment/EntityCreateOp.fragment.ts +0 -6
- package/project/.sdk/src/cmp/ts/fragment/EntityLoadOp.fragment.ts +0 -6
- package/project/.sdk/src/cmp/ts/fragment/EntityRemoveOp.fragment.ts +0 -15
- package/project/.sdk/src/cmp/ts/fragment/EntityUpdateOp.fragment.ts +0 -6
- package/project/.sdk/src/cmp/ts/fragment/Main.fragment.ts +0 -15
- package/project/.sdk/src/cmp/ts/fragment/MainStation.fragment.ts +0 -12
- package/project/.sdk/src/cmp/ts/fragment/SdkError.fragment.ts +0 -9
- package/project/.sdk/src/cmp/ts/utility_ts.ts +0 -59
- package/project/.sdk/src/cmp/zig/Config_zig.ts +0 -70
- package/project/.sdk/src/cmp/zig/Entity_zig.ts +0 -3
- package/project/.sdk/src/cmp/zig/Main_zig.ts +0 -83
- package/project/.sdk/src/cmp/zig/Package_zig.ts +0 -22
- package/project/.sdk/src/cmp/zig/PrepareAuth_zig.ts +0 -136
- package/project/.sdk/src/cmp/zig/ReadmeExamplesTest_zig.ts +0 -18
- package/project/.sdk/src/cmp/zig/ReadmeQuick_zig.ts +0 -3
- package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +2 -5
- package/project/.sdk/src/cmp/zig/Schema_zig.ts +0 -23
- package/project/.sdk/src/cmp/zig/TestDirect_zig.ts +0 -11
- package/project/.sdk/src/cmp/zig/TestEntity_zig.ts +0 -8
- package/project/.sdk/src/cmp/zig/Test_zig.ts +0 -11
- package/project/.sdk/src/cmp/zig/utility_zig.ts +0 -47
- package/project/.sdk/tm/csharp/feature/FeatureOptions.cs +18 -5
- package/project/.sdk/tm/go/core/context.go +0 -9
- package/project/.sdk/tm/go/core/types.go +0 -3
- package/project/.sdk/tm/go/feature/audit_feature.go +0 -9
- package/project/.sdk/tm/go/feature/cache_feature.go +0 -8
- package/project/.sdk/tm/go/feature/clienttrack_feature.go +0 -7
- package/project/.sdk/tm/go/feature/cost_feature.go +0 -51
- package/project/.sdk/tm/go/feature/debug_feature.go +0 -6
- package/project/.sdk/tm/go/feature/feature_options.go +108 -21
- package/project/.sdk/tm/go/feature/idempotency_feature.go +0 -6
- package/project/.sdk/tm/go/feature/metrics_feature.go +0 -6
- package/project/.sdk/tm/go/feature/netsim_feature.go +0 -8
- package/project/.sdk/tm/go/feature/paging_feature.go +0 -9
- package/project/.sdk/tm/go/feature/proxy_feature.go +0 -7
- package/project/.sdk/tm/go/feature/ratelimit_feature.go +0 -6
- package/project/.sdk/tm/go/feature/rbac_feature.go +0 -10
- package/project/.sdk/tm/go/feature/retry_feature.go +0 -6
- package/project/.sdk/tm/go/feature/secrets_feature.go +0 -173
- package/project/.sdk/tm/go/feature/streaming_feature.go +0 -7
- package/project/.sdk/tm/go/feature/telemetry_feature.go +0 -8
- package/project/.sdk/tm/go/feature/test_feature.go +0 -23
- package/project/.sdk/tm/go/feature/validate_feature.go +0 -66
- package/project/.sdk/tm/go/test/custom_utility_test.go +0 -29
- package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +0 -100
- package/project/.sdk/tm/go/test/feature_corpus_test.go +1 -60
- package/project/.sdk/tm/go/test/feature_harness_test.go +0 -10
- package/project/.sdk/tm/go/test/feature_test.go +107 -9
- package/project/.sdk/tm/go/test/omniresolver_test.go +0 -74
- package/project/.sdk/tm/go/test/omnismoke_test.go +0 -4
- package/project/.sdk/tm/go/test/pipeline_test.go +0 -10
- package/project/.sdk/tm/go/test/primary_utility_test.go +0 -32
- package/project/.sdk/tm/go/test/struct_utility_test.go +0 -38
- package/project/.sdk/tm/go/test/testsupport_test.go +0 -25
- package/project/.sdk/tm/go/utility/feature_add.go +0 -6
- package/project/.sdk/tm/go/utility/fetcher.go +0 -6
- package/project/.sdk/tm/go/utility/graphql.go +1 -31
- package/project/.sdk/tm/go/utility/make_options.go +38 -49
- package/project/.sdk/tm/go/utility/make_point.go +0 -11
- package/project/.sdk/tm/go/utility/make_spec.go +0 -15
- package/project/.sdk/tm/go/utility/register.go +0 -28
- package/project/.sdk/tm/go/utility/transform_request.go +0 -20
- package/project/.sdk/tm/go/utility/transform_response.go +0 -8
- package/project/.sdk/tm/js/src/feature/test/TestFeature.js +12 -4
- package/project/.sdk/tm/rust/core/context.rs +0 -5
- package/project/.sdk/tm/rust/core/control.rs +0 -1
- package/project/.sdk/tm/rust/core/helpers.rs +0 -15
- package/project/.sdk/tm/rust/core/operation.rs +0 -1
- package/project/.sdk/tm/rust/core/point.rs +0 -3
- package/project/.sdk/tm/rust/core/response.rs +0 -2
- package/project/.sdk/tm/rust/core/result.rs +0 -1
- package/project/.sdk/tm/rust/core/spec.rs +0 -1
- package/project/.sdk/tm/rust/core/types.rs +0 -20
- package/project/.sdk/tm/rust/core/utility_type.rs +0 -5
- package/project/.sdk/tm/rust/feature/audit.rs +0 -9
- package/project/.sdk/tm/rust/feature/base.rs +0 -3
- package/project/.sdk/tm/rust/feature/cache.rs +0 -9
- package/project/.sdk/tm/rust/feature/clienttrack.rs +0 -7
- package/project/.sdk/tm/rust/feature/cost.rs +0 -48
- package/project/.sdk/tm/rust/feature/debug.rs +0 -7
- package/project/.sdk/tm/rust/feature/idempotency.rs +0 -7
- package/project/.sdk/tm/rust/feature/log.rs +0 -3
- package/project/.sdk/tm/rust/feature/metrics.rs +0 -7
- package/project/.sdk/tm/rust/feature/netsim.rs +0 -9
- package/project/.sdk/tm/rust/feature/paging.rs +0 -10
- package/project/.sdk/tm/rust/feature/proxy.rs +0 -8
- package/project/.sdk/tm/rust/feature/ratelimit.rs +0 -6
- package/project/.sdk/tm/rust/feature/rbac.rs +0 -10
- package/project/.sdk/tm/rust/feature/retry.rs +0 -6
- package/project/.sdk/tm/rust/feature/secrets.rs +1 -187
- package/project/.sdk/tm/rust/feature/streaming.rs +0 -7
- package/project/.sdk/tm/rust/feature/support.rs +0 -6
- package/project/.sdk/tm/rust/feature/telemetry.rs +0 -9
- package/project/.sdk/tm/rust/feature/test.rs +0 -19
- package/project/.sdk/tm/rust/feature/timeout.rs +0 -7
- package/project/.sdk/tm/rust/feature/validate.rs +0 -81
- package/project/.sdk/tm/rust/tests/common/mod.rs +0 -35
- package/project/.sdk/tm/rust/tests/custom_utility_test.rs +0 -2
- package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +0 -95
- package/project/.sdk/tm/rust/tests/feature_test.rs +0 -16
- package/project/.sdk/tm/rust/tests/netsim_test.rs +0 -6
- package/project/.sdk/tm/rust/tests/omni_resolver/mod.rs +0 -135
- package/project/.sdk/tm/rust/tests/omni_smoke_test.rs +0 -15
- package/project/.sdk/tm/rust/tests/pipeline_test.rs +0 -6
- package/project/.sdk/tm/rust/tests/primary_utility_test.rs +0 -22
- package/project/.sdk/tm/rust/tests/struct_utility_test.rs +0 -25
- package/project/.sdk/tm/rust/utility/fetcher.rs +0 -5
- package/project/.sdk/tm/rust/utility/graphql.rs +1 -30
- package/project/.sdk/tm/rust/utility/make_error.rs +0 -2
- package/project/.sdk/tm/rust/utility/make_options.rs +0 -46
- package/project/.sdk/tm/rust/utility/make_point.rs +0 -12
- package/project/.sdk/tm/rust/utility/make_spec.rs +0 -4
- package/project/.sdk/tm/rust/utility/voxgigstruct/consts.rs +14 -20
- package/project/.sdk/tm/rust/utility/voxgigstruct/major.rs +0 -13
- package/project/.sdk/tm/rust/utility/voxgigstruct/mini.rs +0 -14
- package/project/.sdk/tm/rust/utility/voxgigstruct/mod.rs +0 -2
- package/project/.sdk/tm/rust/utility/voxgigstruct/ordered_map.rs +0 -18
- package/project/.sdk/tm/rust/utility/voxgigstruct/re.rs +0 -11
- package/project/.sdk/tm/rust/utility/voxgigstruct/value.rs +0 -3
- package/project/.sdk/tm/ts/src/Context.ts +0 -5
- package/project/.sdk/tm/ts/src/feature/audit/AuditFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/cache/CacheFeature.ts +0 -8
- package/project/.sdk/tm/ts/src/feature/clienttrack/ClienttrackFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/cost/CostFeature.ts +0 -52
- package/project/.sdk/tm/ts/src/feature/debug/DebugFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/metrics/MetricsFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/netsim/NetsimFeature.ts +0 -8
- package/project/.sdk/tm/ts/src/feature/paging/PagingFeature.ts +0 -13
- package/project/.sdk/tm/ts/src/feature/proxy/ProxyFeature.ts +0 -8
- package/project/.sdk/tm/ts/src/feature/ratelimit/RatelimitFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/rbac/RbacFeature.ts +0 -9
- package/project/.sdk/tm/ts/src/feature/retry/RetryFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +0 -136
- package/project/.sdk/tm/ts/src/feature/streaming/StreamingFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/telemetry/TelemetryFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +13 -88
- package/project/.sdk/tm/ts/src/feature/validate/ValidateFeature.ts +0 -87
- package/project/.sdk/tm/ts/src/utility/CleanUtility.ts +0 -12
- package/project/.sdk/tm/ts/src/utility/FeatureAddUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/GraphqlUtility.ts +2 -30
- package/project/.sdk/tm/ts/src/utility/MakeErrorUtility.ts +0 -4
- package/project/.sdk/tm/ts/src/utility/MakeOptionsUtility.ts +0 -46
- package/project/.sdk/tm/ts/src/utility/MakePointUtility.ts +0 -34
- package/project/.sdk/tm/ts/src/utility/MakeRequestUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/MakeSpecUtility.ts +0 -5
- package/project/.sdk/tm/ts/src/utility/MakeUrlUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/ParamUtility.ts +0 -8
- package/project/.sdk/tm/ts/src/utility/PrepareBodyUtility.ts +0 -3
- package/project/.sdk/tm/ts/src/utility/PrepareParamsUtility.ts +0 -6
- package/project/.sdk/tm/ts/src/utility/ResultBasicUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/TransformRequestUtility.ts +0 -20
- package/project/.sdk/tm/ts/src/utility/TransformResponseUtility.ts +0 -4
- package/project/.sdk/tm/ts/test/exists.test.ts +0 -10
- package/project/.sdk/tm/ts/test/feature/Corpus.test.ts +0 -56
- package/project/.sdk/tm/ts/test/feature/harness.ts +0 -9
- package/project/.sdk/tm/ts/test/feature/secrets/Secrets.test.ts +0 -106
- package/project/.sdk/tm/ts/test/live-contract.ts +0 -2
- package/project/.sdk/tm/ts/test/omni.ts +0 -32
- package/project/.sdk/tm/ts/test/pipeline.test.ts +45 -28
- package/project/.sdk/tm/ts/test/utility/Corpus.test.ts +0 -13
- package/project/.sdk/tm/ts/test/utility/PrimaryUtility.test.ts +56 -29
- package/project/.sdk/tm/ts/test/utility/StructUtility.test.ts +0 -7
- package/project/.sdk/tm/ts/test/utility.ts +0 -55
- package/project/sdkgen-package.json +1 -1
- package/src/action/action.ts +0 -65
- package/src/action/check.ts +0 -88
- package/src/action/dispatch.ts +0 -27
- package/src/action/doctor.ts +69 -329
- package/src/action/edition.ts +1 -87
- package/src/action/feature.ts +1 -49
- package/src/action/kind.ts +0 -149
- package/src/action/package.ts +0 -228
- package/src/action/resolve.ts +0 -148
- package/src/action/target.ts +0 -177
- package/src/cmp/AgentGuide.ts +0 -7
- package/src/cmp/AgentGuideContent.ts +0 -24
- package/src/cmp/AgentGuideTop.ts +0 -7
- package/src/cmp/Changelog.ts +0 -14
- package/src/cmp/Deploy.ts +1 -31
- package/src/cmp/Entity.ts +0 -4
- package/src/cmp/ExternalTarget.ts +0 -36
- package/src/cmp/Feature.ts +0 -14
- package/src/cmp/FeatureDocs.ts +0 -37
- package/src/cmp/PublishWorkflow.ts +0 -60
- package/src/cmp/ReadmeErrors.ts +0 -17
- package/src/cmp/ReadmeExplanation.ts +2 -11
- package/src/cmp/ReadmeFeatures.ts +0 -10
- package/src/cmp/ReadmeRefFeatures.ts +0 -19
- package/src/cmp/ReadmeStation.ts +0 -19
- package/src/cmp/ReadmeTop.ts +0 -80
- package/src/cmp/ReadmeUnions.ts +0 -15
- package/src/cmp/Registered.ts +0 -30
- package/src/cmp/Security.ts +0 -2
- package/src/cmp/Test.ts +3 -1
- package/src/cmp/TestControl.ts +0 -25
- package/src/helpers/applicability.ts +0 -60
- package/src/helpers/buildIdNames.ts +0 -12
- package/src/helpers/canonSpec.ts +0 -114
- package/src/helpers/canonType.ts +0 -87
- package/src/helpers/collectDeps.ts +0 -27
- package/src/helpers/definition.ts +0 -29
- package/src/helpers/dryrun.ts +0 -8
- package/src/helpers/featureSource.ts +0 -152
- package/src/helpers/getMatchEntries.ts +0 -4
- package/src/helpers/junk.ts +13 -89
- package/src/helpers/manifest.ts +0 -169
- package/src/helpers/modelNames.ts +0 -81
- package/src/helpers/modelcheck.ts +0 -106
- package/src/helpers/naming.ts +0 -303
- package/src/helpers/opExample.ts +0 -56
- package/src/helpers/opShape.ts +0 -200
- package/src/helpers/optspec.ts +0 -77
- package/src/helpers/packageMeta.ts +1 -200
- package/src/helpers/pointPath.ts +0 -55
- package/src/helpers/resolved.ts +50 -0
- package/src/helpers/semver.ts +0 -61
- package/src/helpers/serverVars.ts +0 -44
- package/src/helpers/shipped.ts +0 -14
- package/src/helpers/station.ts +0 -32
- package/src/helpers/stdrep.ts +0 -52
- package/src/helpers/testPolicy.ts +0 -4
- package/src/sdkgen.ts +15 -263
- package/src/testkit.ts +6 -312
- package/src/types.ts +1 -30
- package/src/utility.ts +0 -243
|
@@ -1,28 +1,3 @@
|
|
|
1
|
-
// Behavioural tests for the secrets feature (vendored @voxgig/sekreto).
|
|
2
|
-
//
|
|
3
|
-
// The contract under test: the `apikey` OPTION keeps its exact old meaning
|
|
4
|
-
// and always wins, because the feature places it FIRST in the provider
|
|
5
|
-
// chain (a `memory` store named `options`) - explicit-beats-lookup falls
|
|
6
|
-
// out of sekreto's first-hit rule rather than from special-case logic. With
|
|
7
|
-
// the feature inactive nothing changes at all. With it active and the
|
|
8
|
-
// option unset, the chain supplies the credential instead.
|
|
9
|
-
//
|
|
10
|
-
// EVERY CLIENT HERE IS LIVE, and the thing counted is `system.fetch` - the
|
|
11
|
-
// real transport the whole fetcher chain ends at. That is deliberate, and
|
|
12
|
-
// it is the mistake this file exists to avoid: under `test_sdk` the test
|
|
13
|
-
// feature REPLACES the transport with its own in-memory mock, so a counter
|
|
14
|
-
// hung off `system.fetch` is never reached, and "no request was sent" would
|
|
15
|
-
// hold for a healthy SDK carrying no secrets feature at all. An assertion
|
|
16
|
-
// that cannot fail pins no rule. So each fail-closed case proves its own
|
|
17
|
-
// counter FIRST, with the same construction and a WORKING provider: one
|
|
18
|
-
// request must reach `system.fetch` carrying the resolved credential. Only
|
|
19
|
-
// then does a zero from the broken provider mean REFUSED rather than
|
|
20
|
-
// UNWIRED. And the refusal is matched on the PROVIDER'S OWN message, so an
|
|
21
|
-
// unrelated failure cannot stand in for fail-closed.
|
|
22
|
-
//
|
|
23
|
-
// This file lives in the `feature/` container on purpose: `target add`
|
|
24
|
-
// trims it, along with the feature source and the vendored library, for a
|
|
25
|
-
// project whose model does not select `secrets`.
|
|
26
1
|
|
|
27
2
|
use std::cell::RefCell;
|
|
28
3
|
use std::rc::Rc;
|
|
@@ -38,14 +13,6 @@ const BASE: &str = "http://secrets.test/api";
|
|
|
38
13
|
|
|
39
14
|
// ---- the counted transport ---------------------------------------------
|
|
40
15
|
|
|
41
|
-
/// One recorded request, SNAPSHOT at the moment it was handed to the
|
|
42
|
-
/// transport.
|
|
43
|
-
///
|
|
44
|
-
/// A snapshot, not the fetchdef itself, and that is load-bearing: the
|
|
45
|
-
/// fetchdef's `headers` map is an Rc the retry path rewrites IN PLACE, so
|
|
46
|
-
/// a recorder that kept the live map would report every earlier call as
|
|
47
|
-
/// carrying the LAST token - and "the retry carried a new credential"
|
|
48
|
-
/// would pass whether or not it did.
|
|
49
16
|
#[derive(Clone)]
|
|
50
17
|
struct Call {
|
|
51
18
|
url: String,
|
|
@@ -205,12 +172,6 @@ fn authof(fetchdef: &Value) -> Option<String> {
|
|
|
205
172
|
}
|
|
206
173
|
}
|
|
207
174
|
|
|
208
|
-
// The Authorization header carries the SPEC's credential prefix, which a
|
|
209
|
-
// TEMPLATE cannot know: an OpenAPI `http`/`bearer` scheme gives
|
|
210
|
-
// `Bearer <token>`, an apiKey scheme the raw token. So assert on the
|
|
211
|
-
// CREDENTIAL and let the prefix be whatever this SDK's API declares -
|
|
212
|
-
// pinning the whole header value passes only for a prefix-less API, and
|
|
213
|
-
// this file ships to every project that selects the feature.
|
|
214
175
|
fn credential_is(header: Option<String>, token: &str) {
|
|
215
176
|
let got = header.unwrap_or_default();
|
|
216
177
|
assert!(
|
|
@@ -227,14 +188,6 @@ fn call_auth(calls: &[Call], i: usize) -> Option<String> {
|
|
|
227
188
|
|
|
228
189
|
// ---- clients ------------------------------------------------------------
|
|
229
190
|
|
|
230
|
-
// `allow.op` is named explicitly: a project that narrows the default set
|
|
231
|
-
// would otherwise turn the raw-path cases into a false RED (the control leg
|
|
232
|
-
// refused before it reached the transport), and the rule under test lives
|
|
233
|
-
// at the transport, downstream of the allow gate either way.
|
|
234
|
-
//
|
|
235
|
-
// `base` is named explicitly too: a LIVE client whose model has a templated
|
|
236
|
-
// base URL panics on a missing server variable at construction, and this
|
|
237
|
-
// file ships to every project.
|
|
238
191
|
fn sdk(wire: &Wire, secrets: Vec<(&str, Value)>) -> Rc<ProjectNameSDK> {
|
|
239
192
|
let fopts = jo(vec![("active", Value::Bool(true))]);
|
|
240
193
|
for (k, v) in secrets {
|
|
@@ -303,15 +256,6 @@ fn secrets_call(client: &Rc<ProjectNameSDK>, args: Vec<Value>) -> Value {
|
|
|
303
256
|
|
|
304
257
|
// ---- the ENTITY path ----------------------------------------------------
|
|
305
258
|
|
|
306
|
-
/// One request through the REAL entity-request utility, on the client's own
|
|
307
|
-
/// utility - the one the feature wrapped.
|
|
308
|
-
///
|
|
309
|
-
/// `direct()` and `graphql()` are the raw paths and are exercised as
|
|
310
|
-
/// themselves below; this is the OTHER half, and it cannot be reached by
|
|
311
|
-
/// naming an entity because this file is a TEMPLATE and no project's entity
|
|
312
|
-
/// names are known here. `make_request` is the utility every generated
|
|
313
|
-
/// entity op ends at, so driving it directly exercises the same seam with
|
|
314
|
-
/// the same wiring.
|
|
315
259
|
fn entity_request(client: &Rc<ProjectNameSDK>, path: &str) -> Option<String> {
|
|
316
260
|
let rootctx = client.get_root_ctx();
|
|
317
261
|
let utility = rootctx.util();
|
|
@@ -514,12 +458,6 @@ fn auth_null_suppresses_the_credential_chain_or_no_chain() {
|
|
|
514
458
|
wire.trace()
|
|
515
459
|
);
|
|
516
460
|
|
|
517
|
-
// The suppression survives option validation rather than being replaced
|
|
518
|
-
// by the optspec's default auth map.
|
|
519
|
-
//
|
|
520
|
-
// Read from the RAW map: `getp` applies the Group A rule and answers
|
|
521
|
-
// the alt for a stored null, so it cannot tell an absent auth from a
|
|
522
|
-
// suppressed one - and only the latter is a suppression.
|
|
523
461
|
let opts = client.options_map();
|
|
524
462
|
let suppressed = match &opts {
|
|
525
463
|
Value::Map(m) => matches!(m.borrow().get("auth"), Some(Value::Null)),
|
|
@@ -787,13 +725,6 @@ fn an_unknown_provider_kind_refuses_rather_than_sending() {
|
|
|
787
725
|
assert_eq!(control.sent(), 1, "the control request never reached the wire");
|
|
788
726
|
}
|
|
789
727
|
|
|
790
|
-
// A MALFORMED entry is the same rule again, and the one a typed port can
|
|
791
|
-
// get wrong silently: `providers` is a Value list, so an entry that is
|
|
792
|
-
// neither a callable nor a spec map (a bare "hashicorp" where a spec was
|
|
793
|
-
// meant) matches no arm. Dropping it leaves the chain quietly SHORTER than
|
|
794
|
-
// the options say - a fail-OPEN that sends the request without the
|
|
795
|
-
// credential the project configured. It must refuse instead, carrying
|
|
796
|
-
// sekreto's own wording, on every wire path.
|
|
797
728
|
const MALFORMED_MSG: &str = "sekreto: not a provider or a provider spec";
|
|
798
729
|
|
|
799
730
|
#[test]
|
|
@@ -879,15 +810,6 @@ fn the_selected_plugin_kinds_have_distinct_names() {
|
|
|
879
810
|
);
|
|
880
811
|
}
|
|
881
812
|
|
|
882
|
-
// A SELECTED plugin kind is really in the vocabulary.
|
|
883
|
-
//
|
|
884
|
-
// Construction is where an unknown kind is refused, so a chain that names
|
|
885
|
-
// the kind and still reaches the wire IS the check. The memory store comes
|
|
886
|
-
// FIRST so sekreto's first-hit rule answers from it and the vault is never
|
|
887
|
-
// contacted - the kind has to be declarable, not reachable.
|
|
888
|
-
//
|
|
889
|
-
// Conditional on the kind being selected, because this file ships to
|
|
890
|
-
// projects that take the feature without the `vault` plugin group.
|
|
891
813
|
#[test]
|
|
892
814
|
fn a_selected_plugin_kind_is_in_the_sdk_vocabulary() {
|
|
893
815
|
let defs = RUSTCRATE::feature::secrets::plugins::definitions();
|
|
@@ -990,13 +912,10 @@ fn cache_false_asks_the_chain_on_every_request() {
|
|
|
990
912
|
}
|
|
991
913
|
|
|
992
914
|
// A MISS IS NOT A CACHEABLE ANSWER - sekreto's own rule, which this feature
|
|
993
|
-
// used to override from the layer above.
|
|
994
915
|
//
|
|
995
916
|
// DEFAULT caching here, which is the whole point: `cache: true` is about
|
|
996
917
|
// holding a HIT (the test below pins that half), and keeping the settled
|
|
997
918
|
// resolution after a miss meant the chain was never asked again for the life
|
|
998
|
-
// of the client. A secret provisioned after startup (a mounted file, a vault
|
|
999
|
-
// policy granted a minute late) was invisible forever.
|
|
1000
919
|
#[test]
|
|
1001
920
|
fn cache_true_re_asks_after_a_miss() {
|
|
1002
921
|
let wire = Wire::new();
|
|
@@ -1153,12 +1072,6 @@ fn sekreto_is_live_for_arbitrary_secrets_and_redaction() {
|
|
|
1153
1072
|
);
|
|
1154
1073
|
}
|
|
1155
1074
|
|
|
1156
|
-
// ---- ACCESS-TOKEN EXCHANGE ----------------------------------------------
|
|
1157
|
-
//
|
|
1158
|
-
// What the chain resolves is a REFRESH token, which is POSTed to a token
|
|
1159
|
-
// endpoint for a short-lived ACCESS token; the access token is what the
|
|
1160
|
-
// Authorization header carries; and when the API answers 401 the client
|
|
1161
|
-
// buys another and tries the same request again, once.
|
|
1162
1075
|
|
|
1163
1076
|
const REFRESH: &str = "REFRESH01";
|
|
1164
1077
|
|
|
@@ -1252,7 +1165,6 @@ fn an_expiry_buys_another_token_and_retries_the_same_request() {
|
|
|
1252
1165
|
assert_eq!(wire.token().len(), 2, "expected a second token purchase");
|
|
1253
1166
|
assert_eq!(wire.api().len(), 2, "expected the request to be retried");
|
|
1254
1167
|
credential_is(call_auth(&wire.api(), 0), "ACCESS01");
|
|
1255
|
-
// The retry must carry the NEW token, not the spent one.
|
|
1256
1168
|
credential_is(call_auth(&wire.api(), 1), "ACCESS02");
|
|
1257
1169
|
assert_eq!(
|
|
1258
1170
|
getp(&res, "ok"),
|
|
@@ -1489,7 +1401,6 @@ fn exchange_auth_null_suppresses_and_is_never_retried() {
|
|
|
1489
1401
|
);
|
|
1490
1402
|
|
|
1491
1403
|
// AND NO PURCHASE. resolve() runs before with_refresh's suppression
|
|
1492
|
-
// check, so the refresh token used to go to the token endpoint in a
|
|
1493
1404
|
// request body even here. Stopping the retry does not unsend it, and
|
|
1494
1405
|
// only the token endpoint can see this.
|
|
1495
1406
|
assert_eq!(
|
|
@@ -1501,12 +1412,6 @@ fn exchange_auth_null_suppresses_and_is_never_retried() {
|
|
|
1501
1412
|
);
|
|
1502
1413
|
}
|
|
1503
1414
|
|
|
1504
|
-
// The exchange with NO system.fetch: the ordinary case, where make_options
|
|
1505
|
-
// leaves the seam unset and the purchase takes its own raw HTTP path. There
|
|
1506
|
-
// is no token endpoint to talk to here, so what this pins is that the
|
|
1507
|
-
// fallback EXISTS and reports - before this, `buy` with no custom transport
|
|
1508
|
-
// simply had nothing to call - and that a failed purchase refuses the
|
|
1509
|
-
// operation rather than sending it unauthenticated.
|
|
1510
1415
|
#[test]
|
|
1511
1416
|
fn the_exchange_has_a_raw_transport_when_no_system_fetch_is_given() {
|
|
1512
1417
|
// Port 1 is reserved and never listening, so the connection is refused
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
// Behavioural tests for the enterprise features shipped with this SDK
|
|
2
|
-
// (mirrors tm/go/test/feature_test.go). Feature behaviour is unit-tested
|
|
3
|
-
// by driving each feature through a faithful miniature of the real
|
|
4
|
-
// operation pipeline against a configurable mock transport — the same hook
|
|
5
|
-
// order and short-circuit rules as the generated entity op code, but with
|
|
6
|
-
// no live server and no API-specific fixtures. Each block runs only when
|
|
7
|
-
// its feature is present in this SDK (see common::fh_present).
|
|
8
1
|
|
|
9
2
|
mod common;
|
|
10
3
|
|
|
@@ -1828,15 +1821,6 @@ fn feature_proxy_inactive_does_not_wrap() {
|
|
|
1828
1821
|
|
|
1829
1822
|
// --- station --------------------------------------------------------------------
|
|
1830
1823
|
|
|
1831
|
-
// The station adapter (installed by @voxgig/sdkgen-station) with NO open
|
|
1832
|
-
// station must be an inert no-op that emits nothing and fails nothing
|
|
1833
|
-
// (station design 3.1). Constructed through the generated make_feature
|
|
1834
|
-
// factory - never a compile-time module reference - so this file stays
|
|
1835
|
-
// compilable both with and without the station feature installed: absent,
|
|
1836
|
-
// the factory answers with the inert BaseFeature and fh_present skips the
|
|
1837
|
-
// assertions. Bound behaviour (registration, injection, wire events) is
|
|
1838
|
-
// exercised by the station library's own suite and the consumer-side
|
|
1839
|
-
// station validation, not here.
|
|
1840
1824
|
#[test]
|
|
1841
1825
|
fn feature_station_inert_without_open_station() {
|
|
1842
1826
|
if !fh_present(&["station"]) {
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
// Network-behaviour simulation over the offline mock transport (mirrors
|
|
2
|
-
// tm/go/test/netsim_test.go). The `test` feature accepts an optional `net`
|
|
3
|
-
// config so unit tests can exercise slow, failing and offline conditions
|
|
4
|
-
// without a live server. These checks drive the transport through
|
|
5
|
-
// direct(), which needs no entity, so they run for every generated SDK
|
|
6
|
-
// regardless of its API shape.
|
|
7
1
|
|
|
8
2
|
use RUSTCRATE::core::helpers::{getp, jo, now_ms};
|
|
9
3
|
use RUSTCRATE::{test_sdk, Value};
|
|
@@ -1,88 +1,3 @@
|
|
|
1
|
-
// The corpus test runner: vendored @voxgig/omni driven through its NATIVE
|
|
2
|
-
// API (`omni::runner::make_runner` / `RunPack::runsetflags_args`), presented
|
|
3
|
-
// to the corpus suites in the struct-runner shape they already use
|
|
4
|
-
// (`run.spec`, `run.set`, `run.run_set`, `run.run_set_fallible`,
|
|
5
|
-
// `run.passed`, `run.failures`). No compat shim is vendored: the adapter
|
|
6
|
-
// below IS the whole bridge, per language, per the vendor-tag rollout
|
|
7
|
-
// (docs/design/vendor-tag-rollout.md, Decision 4). It supersedes the whole
|
|
8
|
-
// of the retired `tests/struct_runner/mod.rs` and the corpus ENGINE half of
|
|
9
|
-
// `tests/common/mod.rs` (`runset`/`runset_named`/`match_deep`/`match_string`
|
|
10
|
-
// went with it; that file's SUPPORT half — env, sdk-test-control, ctx
|
|
11
|
-
// construction, the fh harness — is retained under its own name, so the
|
|
12
|
-
// emitted call sites did not move).
|
|
13
|
-
//
|
|
14
|
-
// It is the Rust peer of tm/csharp/test/OmniResolver.cs,
|
|
15
|
-
// tm/java/test/OmniResolver.java and
|
|
16
|
-
// tm/swift/Tests/ProjectNameSDKTests/OmniResolver.swift, and it follows the
|
|
17
|
-
// bridge voxgig/struct's own rust corpus harness already uses
|
|
18
|
-
// (struct/rust/corpus/tests/omni.rs) — the portable answer for a statically
|
|
19
|
-
// typed port with no reflection: omni's `Provider` is closure-based, so
|
|
20
|
-
// nothing in omni ever has to name this SDK's types.
|
|
21
|
-
//
|
|
22
|
-
// Rust-specific decisions, each load-bearing:
|
|
23
|
-
//
|
|
24
|
-
// 1. TWO VALUE MODELS, ONE CONVERSION PAIR. omni's `Json` and the SDK's
|
|
25
|
-
// `voxgigstruct::Value` are different enums, so every crossing is an
|
|
26
|
-
// explicit `tostruct` / `toomni`. `Json::Absent` <-> `Value::Noval` and
|
|
27
|
-
// `Json::Null` <-> `Value::Null` keep the two no-value states the corpus
|
|
28
|
-
// distinguishes apart — which is also why Rust needs neither go's
|
|
29
|
-
// `novalargs` spec rewrite nor lua/php's compat shim for the corpus's
|
|
30
|
-
// zero-argument entries (an entry with no `in`/`args`/`ctx` arrives as
|
|
31
|
-
// one `Json::Absent`, and becomes exactly this port's own NOVAL).
|
|
32
|
-
//
|
|
33
|
-
// 2. ARGUMENTS ARE WRITTEN BACK. `SubjectArgs` (`Fn(&mut [Json])`) is the
|
|
34
|
-
// channel omni provides for a subject that MUTATES its arguments, which
|
|
35
|
-
// `match: {args: ...}` then asserts on — `struct/minor/setpath` and
|
|
36
|
-
// `struct/merge/integrity` turn on it. Decision 1 handed the subject a
|
|
37
|
-
// CONVERTED COPY, so every subject here runs through `runsetflags_args`
|
|
38
|
-
// and the wrapper converts the (possibly mutated) `Value` arguments back
|
|
39
|
-
// into omni's own slice after the call. A dynamic port's shim gets this
|
|
40
|
-
// for free from shared object identity; Rust cannot.
|
|
41
|
-
//
|
|
42
|
-
// 3. `match: {ctx: ...}` IS RETARGETED ONTO `match: {args: {"0": ...}}`.
|
|
43
|
-
// The one place this port cannot follow canonical omni as written, and a
|
|
44
|
-
// VALUE-SEMANTICS consequence, not a choice. omni's `Json` is a plain
|
|
45
|
-
// enum: `resolveargs` stores `entry.ctx` and `args[0]` as two COPIES of
|
|
46
|
-
// the contextified map, and `checkresult` reads `entry.get("ctx")` for
|
|
47
|
-
// the ctx base — so a subject's post-call writes (decision 2) can never
|
|
48
|
-
// reach the copy `entry.ctx` holds, and nine `primary` entries assert
|
|
49
|
-
// exactly that post-call state. args[0] IS the ctx of a ctx entry (omni
|
|
50
|
-
// itself sets `args = [entry.get("ctx")]`), so moving the assertion from
|
|
51
|
-
// `ctx` to `args.0` reads the SAME map, post-call, and preserves every
|
|
52
|
-
// leaf: nothing is dropped, weakened or skipped. `retargetctx` below does
|
|
53
|
-
// that rewrite on the spec handed to the engine. Swift faces the identical
|
|
54
|
-
// problem and answers it identically; the upstream fix is for the Rust
|
|
55
|
-
// port's `drive` to re-point `entry.ctx` at the returned `args[0]`, the
|
|
56
|
-
// way JS object identity does implicitly — filed as a follow-up, not
|
|
57
|
-
// worked around by editing a vendored file.
|
|
58
|
-
//
|
|
59
|
-
// 4. NUMBERS NEED NOTHING. omni's parser reads every JSON number as `f64`
|
|
60
|
-
// and this port's `Value::Num` is also `f64` — unlike go/csharp/java,
|
|
61
|
-
// where an integral double had to be narrowed before a subject saw it.
|
|
62
|
-
//
|
|
63
|
-
// 5. KEY ORDER. omni models a map as a `BTreeMap`, which sorts; this port's
|
|
64
|
-
// `OrderedMap` preserves insertion order. Every map in the shared corpus
|
|
65
|
-
// is already in sorted key order, so the round-trip is lossless over it —
|
|
66
|
-
// but an out-of-order map authored later WOULD be reordered on the way
|
|
67
|
-
// in, and `raw_unsorted_keys` below is the tripwire that says so instead
|
|
68
|
-
// of failing an order-sensitive subject (`keysof`, `items`, `stringify`)
|
|
69
|
-
// with a mystery diff. It reads the corpus FILE with its own
|
|
70
|
-
// order-preserving scanner and never touches `Json`: a check fed by
|
|
71
|
-
// omni's parser would be comparing an already-sorted map against itself
|
|
72
|
-
// and could not fail. See `corpus_maps_are_in_sorted_key_order`.
|
|
73
|
-
//
|
|
74
|
-
// 7. WHAT RAN IS COUNTED, NOT WHAT WAS DECLARED. `drive` counts SUBJECT
|
|
75
|
-
// INVOCATIONS, not `entrycount(set)`: a number derived from the spec
|
|
76
|
-
// cannot tell a working engine from a disconnected one, and would read as
|
|
77
|
-
// evidence while proving nothing. It also compares the two and fails the
|
|
78
|
-
// group when they differ. `report` then refuses to pass on a group that
|
|
79
|
-
// is absent from the corpus, or present in the corpus but driven by
|
|
80
|
-
// nothing — the two ways a suite quietly stops checking.
|
|
81
|
-
//
|
|
82
|
-
// 6. FAILURES ARE ACCUMULATED, NOT RAISED. omni stops a group at its first
|
|
83
|
-
// bad entry and returns an `OmniError`; the struct suite reports the whole
|
|
84
|
-
// corpus in one panic at the end. `drive` records the message and carries
|
|
85
|
-
// on, so one run still names every broken GROUP.
|
|
86
1
|
|
|
87
2
|
#![allow(dead_code)]
|
|
88
3
|
// The vendored port re-exports its whole surface; a test crate uses part of
|
|
@@ -106,11 +21,7 @@ use RUSTCRATE::utility::voxgigstruct::value::Value;
|
|
|
106
21
|
use RUSTCRATE::utility::voxgigstruct::InjectDef;
|
|
107
22
|
use RUSTCRATE::ProjectNameError;
|
|
108
23
|
|
|
109
|
-
// ---------------------------------------------------------------------------
|
|
110
|
-
// The two value models (decision 1)
|
|
111
|
-
// ---------------------------------------------------------------------------
|
|
112
24
|
|
|
113
|
-
/// omni's model -> this SDK's.
|
|
114
25
|
pub fn tostruct(val: &Json) -> Value {
|
|
115
26
|
match val {
|
|
116
27
|
Json::Absent => Value::Noval,
|
|
@@ -129,15 +40,6 @@ pub fn tostruct(val: &Json) -> Value {
|
|
|
129
40
|
}
|
|
130
41
|
}
|
|
131
42
|
|
|
132
|
-
/// This SDK's model -> omni's.
|
|
133
|
-
///
|
|
134
|
-
/// `Value::Func` has no JSON shape at all. It reaches here only when a corpus
|
|
135
|
-
/// entry puts a callable in data (`get_elem` with a callable `alt`, `$APPLY`,
|
|
136
|
-
/// a user `$FORMAT`), and in every such case the corpus asserts on what the
|
|
137
|
-
/// call RETURNED, not on the callable. `Json::Absent` is the honest answer:
|
|
138
|
-
/// it is what omni's own model says about a value that is not JSON, and
|
|
139
|
-
/// omni's `fixjson` then renders it as NULLMARK under the null flag — the
|
|
140
|
-
/// same place the retired hand-written `fix_json` put it.
|
|
141
43
|
pub fn toomni(val: &Value) -> Json {
|
|
142
44
|
match val {
|
|
143
45
|
Value::Noval => Json::Absent,
|
|
@@ -168,19 +70,6 @@ pub struct KeyOrderScan {
|
|
|
168
70
|
pub unsorted: Option<String>,
|
|
169
71
|
}
|
|
170
72
|
|
|
171
|
-
/// Scan RAW JSON TEXT for a map whose keys are not in sorted order.
|
|
172
|
-
///
|
|
173
|
-
/// This deliberately does NOT go through `omni::runner::loadspec`: omni's
|
|
174
|
-
/// `Json::Map` is a `BTreeMap`, so a parse has already sorted every map and
|
|
175
|
-
/// the disorder this exists to catch is gone before the check can see it. A
|
|
176
|
-
/// tripwire fed by the thing it is watching cannot fire, so the scanner
|
|
177
|
-
/// below walks the file itself and keeps keys in the order they were
|
|
178
|
-
/// authored. `String`'s ordering is byte-lexicographic on UTF-8, which is
|
|
179
|
-
/// exactly the ordering a `BTreeMap<String, _>` imposes, so a sorted scan
|
|
180
|
-
/// means a lossless crossing.
|
|
181
|
-
///
|
|
182
|
-
/// Panics on malformed JSON: a corpus this cannot parse must be loud, not a
|
|
183
|
-
/// silent zero-map pass.
|
|
184
73
|
pub fn raw_unsorted_keys(text: &str) -> KeyOrderScan {
|
|
185
74
|
let mut scan = RawScan {
|
|
186
75
|
src: text.as_bytes(),
|
|
@@ -464,18 +353,15 @@ pub fn spec_path() -> String {
|
|
|
464
353
|
path.to_string_lossy().into_owned()
|
|
465
354
|
}
|
|
466
355
|
|
|
467
|
-
/// The whole corpus, as omni loaded it.
|
|
468
356
|
pub fn corpus() -> Json {
|
|
469
357
|
omni::runner::loadspec(SpecRef::Path(spec_path()))
|
|
470
358
|
.unwrap_or_else(|err| panic!("omni: {}", err.message))
|
|
471
359
|
}
|
|
472
360
|
|
|
473
|
-
/// A child node by key (absent when missing).
|
|
474
361
|
pub fn jget(val: &Json, key: &str) -> Json {
|
|
475
362
|
val.get(key)
|
|
476
363
|
}
|
|
477
364
|
|
|
478
|
-
/// A child node by path.
|
|
479
365
|
pub fn jpath(val: &Json, keys: &[&str]) -> Json {
|
|
480
366
|
let mut current = val.clone();
|
|
481
367
|
for key in keys {
|
|
@@ -484,7 +370,6 @@ pub fn jpath(val: &Json, keys: &[&str]) -> Json {
|
|
|
484
370
|
current
|
|
485
371
|
}
|
|
486
372
|
|
|
487
|
-
/// How many entries a group declares.
|
|
488
373
|
pub fn entrycount(set: &Json) -> usize {
|
|
489
374
|
set.get("set").aslist().map(|list| list.len()).unwrap_or(0)
|
|
490
375
|
}
|
|
@@ -500,7 +385,6 @@ pub struct Run {
|
|
|
500
385
|
/// The whole corpus (sections outside this one: `DEF` blocks, the
|
|
501
386
|
/// `primary/check` client group the struct suite drives by hand).
|
|
502
387
|
pub all: Json,
|
|
503
|
-
/// The resolved section.
|
|
504
388
|
pub spec: Json,
|
|
505
389
|
pub failures: Vec<String>,
|
|
506
390
|
pub passed: usize,
|
|
@@ -515,7 +399,6 @@ pub struct Run {
|
|
|
515
399
|
}
|
|
516
400
|
|
|
517
401
|
impl Run {
|
|
518
|
-
/// A runner over one named section of the shared corpus.
|
|
519
402
|
pub fn section(name: &str) -> Run {
|
|
520
403
|
Run::over(corpus(), name)
|
|
521
404
|
}
|
|
@@ -540,7 +423,6 @@ impl Run {
|
|
|
540
423
|
}
|
|
541
424
|
}
|
|
542
425
|
|
|
543
|
-
/// A named group of the resolved section.
|
|
544
426
|
pub fn set(&self, keys: &[&str]) -> Json {
|
|
545
427
|
jpath(&self.spec, keys)
|
|
546
428
|
}
|
|
@@ -594,7 +476,6 @@ impl Run {
|
|
|
594
476
|
});
|
|
595
477
|
}
|
|
596
478
|
|
|
597
|
-
/// Hand one group to omni and record the outcome.
|
|
598
479
|
fn drive<F>(&mut self, set: &Json, nullflag: bool, label: &str, subject: F)
|
|
599
480
|
where
|
|
600
481
|
F: Fn(&mut [Json]) -> Result<Json, String> + 'static,
|
|
@@ -642,14 +523,10 @@ impl Run {
|
|
|
642
523
|
}
|
|
643
524
|
|
|
644
525
|
/// Every `<category>-<group>` in this section that carries a non-empty
|
|
645
|
-
/// `set` — the groups a suite over this section is expected to drive.
|
|
646
|
-
///
|
|
647
|
-
/// Shape-specific: it assumes the `struct` section's two levels
|
|
648
526
|
/// (`<category>.<group>.set`) and the `"<category>-<group>"` labels the
|
|
649
527
|
/// struct suite passes to `run_set`. The `primary` section nests
|
|
650
528
|
/// differently (`primary.<name>.basic`) and labels its groups `<name>`,
|
|
651
529
|
/// so it guards zero-case runs in `runsection` instead — see
|
|
652
|
-
/// tests/primary_utility_test.rs.
|
|
653
530
|
pub fn corpus_groups(&self) -> Vec<(String, usize)> {
|
|
654
531
|
let mut found: Vec<(String, usize)> = Vec::new();
|
|
655
532
|
let categories = match self.spec.asmap() {
|
|
@@ -660,7 +537,6 @@ impl Run {
|
|
|
660
537
|
let groups = match node.asmap() {
|
|
661
538
|
Some(map) => map,
|
|
662
539
|
// `<category>.name` is a string and `<category>.set` an empty
|
|
663
|
-
// list; neither is a group.
|
|
664
540
|
None => continue,
|
|
665
541
|
};
|
|
666
542
|
for (name, group) in groups.iter() {
|
|
@@ -673,14 +549,6 @@ impl Run {
|
|
|
673
549
|
found
|
|
674
550
|
}
|
|
675
551
|
|
|
676
|
-
/// Fail the test with every accumulated failure, or report the count.
|
|
677
|
-
///
|
|
678
|
-
/// `expectedskips` names the groups THIS SDK's corpus subset does not
|
|
679
|
-
/// carry. It is exhaustive in both directions: a group that goes absent
|
|
680
|
-
/// without being listed fails, and a listed group that is no longer
|
|
681
|
-
/// absent fails too. Without that a renamed or deleted group would take
|
|
682
|
-
/// its whole check count with it and the suite would still say `ok` —
|
|
683
|
-
/// the exact silence the shared oracle exists to prevent.
|
|
684
552
|
pub fn report(&self, what: &str, expectedskips: &[&str]) {
|
|
685
553
|
let mut problems: Vec<String> = self.failures.clone();
|
|
686
554
|
|
|
@@ -749,7 +617,6 @@ fn writeback(args: &mut [Json], index: usize, val: &Value) {
|
|
|
749
617
|
|
|
750
618
|
/// Retarget `match: {ctx: ...}` onto `match: {args: {"0": ...}}` — decision 3.
|
|
751
619
|
/// Only when the entry HAS a ctx or args (so args[0] is that map) and the
|
|
752
|
-
/// check does not already assert on `args`.
|
|
753
620
|
fn retargetctx(testspec: &Json) -> Json {
|
|
754
621
|
let set = match testspec.get("set") {
|
|
755
622
|
Json::List(list) => list,
|
|
@@ -768,8 +635,6 @@ fn retargetctx(testspec: &Json) -> Json {
|
|
|
768
635
|
let mut newcheck = BTreeMap::new();
|
|
769
636
|
if let Json::Map(fields) = &check {
|
|
770
637
|
for (key, val) in fields.iter() {
|
|
771
|
-
// Drop the original leaf: it would read the stale
|
|
772
|
-
// pre-call copy omni keeps in `entry.ctx`.
|
|
773
638
|
if "ctx" != key {
|
|
774
639
|
newcheck.insert(key.clone(), val.clone());
|
|
775
640
|
}
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
// Smoke tests for the vendored omni runner itself: a runner that cannot FAIL
|
|
2
|
-
// a bad entry would turn every corpus suite vacuously green, so pin the
|
|
3
|
-
// failure paths, not just the happy one. (The Rust peer of
|
|
4
|
-
// tm/ts/test/omni.test.ts and tm/go/test/omnismoke_test.go.)
|
|
5
|
-
//
|
|
6
|
-
// The resolver accumulates group failures rather than panicking, so these
|
|
7
|
-
// tests can assert that a failure HAPPENED without failing themselves.
|
|
8
1
|
|
|
9
2
|
mod omni_resolver;
|
|
10
3
|
|
|
@@ -193,14 +186,6 @@ fn omni_absent_group_is_named_not_silent() {
|
|
|
193
186
|
assert_eq!(vec!["smoke-missing".to_string()], run.skipped);
|
|
194
187
|
}
|
|
195
188
|
|
|
196
|
-
// Decision 5's tripwire: omni's BTreeMap sorts map keys, so an out-of-order
|
|
197
|
-
// map in the corpus would be silently reordered on the way into a subject.
|
|
198
|
-
//
|
|
199
|
-
// It reads the corpus FILE. Going through `corpus()` would hand the check a
|
|
200
|
-
// `Json::Map`, which is a `BTreeMap` — already sorted by the parse — so the
|
|
201
|
-
// comparison would be a sorted list against itself and the tripwire could
|
|
202
|
-
// never fire. `key_order_scan_fires_on_an_out_of_order_map` below is the
|
|
203
|
-
// proof that this one can.
|
|
204
189
|
#[test]
|
|
205
190
|
fn corpus_maps_are_in_sorted_key_order() {
|
|
206
191
|
let path = spec_path();
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
// Direct unit tests for the operation-pipeline utilities (mirrors
|
|
2
|
-
// tm/go/test/pipeline_test.go). The generated entity tests exercise the
|
|
3
|
-
// happy path; these drive the error and edge branches (missing
|
|
4
|
-
// spec/response/result, 4xx handling, transport failures, feature add
|
|
5
|
-
// semantics, auth header shaping) that a normal success-path op never
|
|
6
|
-
// reaches.
|
|
7
1
|
|
|
8
2
|
mod common;
|
|
9
3
|
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
// Primary utility tests — run the shared `primary` subtree of
|
|
2
|
-
// ../.sdk/test/test.json against the SDK pipeline utilities (mirrors
|
|
3
|
-
// tm/go/test/primary_utility_test.go).
|
|
4
|
-
//
|
|
5
|
-
// The corpus is driven by the VENDORED omni runner through the adapter in
|
|
6
|
-
// tests/omni_resolver/mod.rs. Subjects receive omni's native argument list:
|
|
7
|
-
// a `ctx` entry arrives as args[0], a MAP — `make_ctx_from_map` builds the
|
|
8
|
-
// typed context a generated utility takes, and the subject writes the
|
|
9
|
-
// observable ctx state back into that same map, which is what a
|
|
10
|
-
// `match: {ctx: ...}` assertion reads (see the resolver's decision 3).
|
|
11
1
|
|
|
12
2
|
mod common;
|
|
13
3
|
mod omni_resolver;
|
|
@@ -25,9 +15,6 @@ use RUSTCRATE::{
|
|
|
25
15
|
ProjectNameError, ProjectNameSDK, SdkResult, Spec, Utility, Value,
|
|
26
16
|
};
|
|
27
17
|
|
|
28
|
-
// Sections deliberately left empty in the shared corpus
|
|
29
|
-
// (.sdk/test/primary/<name>.aon carries a PENDING header). Everything else
|
|
30
|
-
// MUST contribute cases.
|
|
31
18
|
const PENDING_SECTIONS: &[&str] = &[
|
|
32
19
|
"fetcher", "makeFetchDef", "makeResult", "featureAdd",
|
|
33
20
|
"featureHook", "featureInit",
|
|
@@ -42,13 +29,6 @@ fn primary_run() -> Run {
|
|
|
42
29
|
run
|
|
43
30
|
}
|
|
44
31
|
|
|
45
|
-
/// Run one corpus section, failing loudly when it would run ZERO cases.
|
|
46
|
-
///
|
|
47
|
-
/// A renamed section, a fixture that failed to compile, or an empty set used
|
|
48
|
-
/// to report PASS while running zero assertions — the whole point of a shared
|
|
49
|
-
/// oracle lost without a single red test. The guard lives here rather than in
|
|
50
|
-
/// the runner, which is vendored verbatim; the shared corpus is a v0 spec,
|
|
51
|
-
/// and v0 tolerates an empty set.
|
|
52
32
|
fn runsection<F>(run: &mut Run, name: &str, subject: F)
|
|
53
33
|
where
|
|
54
34
|
F: FnMut(&mut Vec<Value>) -> Result<Value, ProjectNameError> + 'static,
|
|
@@ -749,7 +729,6 @@ fn primary_param_basic() {
|
|
|
749
729
|
|
|
750
730
|
// Write the resolved spec alias back into args[0] — the map a
|
|
751
731
|
// `match: {ctx: {spec: {alias: ...}}}` assertion reads (resolver
|
|
752
|
-
// decision 3 retargets it onto `args.0`).
|
|
753
732
|
if let Some(spec) = ctx.spec.borrow().clone() {
|
|
754
733
|
setp(
|
|
755
734
|
&ctxmap,
|
|
@@ -837,7 +816,6 @@ fn primary_prepare_params_basic() {
|
|
|
837
816
|
});
|
|
838
817
|
}
|
|
839
818
|
|
|
840
|
-
// Was two hand-written cases that had drifted out of the shared corpus (the
|
|
841
819
|
// preparePath fixture shipped as an empty `set: []`). Now driven by the
|
|
842
820
|
// corpus like every other section, so all ports assert the same separator /
|
|
843
821
|
// blank-segment behaviour.
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
// Struct utility tests — run the shared `struct` corpus subtree from
|
|
2
|
-
// ../.sdk/test/test.json against the vendored voxgig struct port.
|
|
3
|
-
//
|
|
4
|
-
// The corpus is driven by the VENDORED omni runner through the adapter in
|
|
5
|
-
// tests/omni_resolver/mod.rs (which superseded the hand-written
|
|
6
|
-
// tests/struct_runner/mod.rs). Group labels, null flags and subjects are
|
|
7
|
-
// unchanged; the engine underneath them is now the shared one.
|
|
8
1
|
|
|
9
2
|
mod omni_resolver;
|
|
10
3
|
|
|
@@ -18,18 +11,6 @@ use RUSTCRATE::utility::voxgigstruct::value::Value;
|
|
|
18
11
|
use RUSTCRATE::utility::voxgigstruct::*;
|
|
19
12
|
|
|
20
13
|
|
|
21
|
-
/// Groups this SDK's corpus subset does not carry, so a run over it reports
|
|
22
|
-
/// zero checks for them BY DESIGN.
|
|
23
|
-
///
|
|
24
|
-
/// `Run::report` holds this list to the corpus in both directions: a group
|
|
25
|
-
/// that goes absent without being named here fails the suite, and a name
|
|
26
|
-
/// here that is no longer absent fails it too. Nothing else stops a renamed
|
|
27
|
-
/// or deleted group from taking its whole check count away while `cargo
|
|
28
|
-
/// test` still prints `ok`.
|
|
29
|
-
///
|
|
30
|
-
/// `sentinels` is the Group A null-unification block (UNDEF_SPEC.md): the
|
|
31
|
-
/// subjects below are wired and ready, and the entries arrive with the
|
|
32
|
-
/// corpus refresh that adds `struct.sentinels`.
|
|
33
14
|
const EXPECTED_SKIPS: &[&str] = &[
|
|
34
15
|
"sentinels-getprop_unify",
|
|
35
16
|
"sentinels-getelem_absent",
|
|
@@ -271,7 +252,6 @@ fn struct_utility() {
|
|
|
271
252
|
};
|
|
272
253
|
walk(vin, Some(&mut walkpath), None, None)
|
|
273
254
|
});
|
|
274
|
-
// walk.log — three runs (after-only / before-only / both) of a logging callback.
|
|
275
255
|
{
|
|
276
256
|
let log_spec = tostruct(&jpath(&s, &["walk", "log"]));
|
|
277
257
|
let input = clone(&vget(&log_spec, "in"));
|
|
@@ -650,9 +630,6 @@ fn struct_utility() {
|
|
|
650
630
|
);
|
|
651
631
|
}
|
|
652
632
|
|
|
653
|
-
// -------- primary / SDK ------------------------------------------
|
|
654
|
-
// A tiny mock SDK (mirrors ts/test/sdk.ts): check(ctx) ->
|
|
655
|
-
// { zed: 'ZED' + (opts.foo ?? '') + '_' + (ctx.meta?.bar ?? '0') }
|
|
656
633
|
fn sdk_check(opts: &Value, ctx: &Value) -> Value {
|
|
657
634
|
let foo = get_prop(opts, &Value::str("foo"), Value::Noval);
|
|
658
635
|
let foo_s = if foo.is_nullish() {
|
|
@@ -711,8 +688,6 @@ fn struct_utility() {
|
|
|
711
688
|
run.report("corpus", EXPECTED_SKIPS);
|
|
712
689
|
}
|
|
713
690
|
|
|
714
|
-
// Function values embedded in data: `get_elem` with a callable `alt`, and
|
|
715
|
-
// `$APPLY` / a user `$FORMAT` formatter — see rs/README.md "Function values".
|
|
716
691
|
#[test]
|
|
717
692
|
fn function_values() {
|
|
718
693
|
// get_elem: absent element + callable alt -> alt is invoked
|
|
@@ -19,11 +19,6 @@ fn default_http_fetch(fullurl: &str, fetchdef: &Value) -> Result<Value, ProjectN
|
|
|
19
19
|
builder = builder.proxy(p);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
// A `redirect: "manual"` annotation (set by the station feature when a
|
|
23
|
-
// hosts policy is active - the same in-band channel as `proxy` above)
|
|
24
|
-
// disables automatic redirect following, so a 3xx rides back as a normal
|
|
25
|
-
// response: a Location pointing off an egress allowlist must never pull
|
|
26
|
-
// an automatic credentialed follow-up request.
|
|
27
22
|
if get_str(fetchdef, "redirect").as_deref() == Some("manual") {
|
|
28
23
|
builder = builder.redirects(0);
|
|
29
24
|
}
|