@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
|
@@ -45,8 +45,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
45
45
|
// helpers/applicability.
|
|
46
46
|
const feature = targetFeatures(model, target)
|
|
47
47
|
|
|
48
|
-
// The rust crate identifier (RUSTCRATE placeholder), e.g. solar_sdk —
|
|
49
|
-
// used in every `use <crate>::...` path in the test templates.
|
|
50
48
|
const rustcrate = crateIdent(model)
|
|
51
49
|
|
|
52
50
|
Package({ target })
|
|
@@ -69,23 +67,8 @@ const Main = cmp(async function Main(props: any) {
|
|
|
69
67
|
}
|
|
70
68
|
})
|
|
71
69
|
|
|
72
|
-
// utility/prepare_auth.rs is GENERATED, not templated: where the
|
|
73
|
-
// credential goes (header / query / cookie, and under what name) is a
|
|
74
|
-
// fact about the API, and tm/ can only hold one answer. See
|
|
75
|
-
// PrepareAuth_rust.
|
|
76
|
-
//
|
|
77
|
-
// AT ROOT LEVEL, and outside the `core` Folder below. The rust crate root
|
|
78
|
-
// IS the target root - lib.rs, core/, feature/ and utility/ all sit there
|
|
79
|
-
// - the component opens `utility` itself, and that is the same path
|
|
80
|
-
// `Copy({from:'tm/rust'})` used for the template it replaces. Calling it
|
|
81
|
-
// beside Config, inside `Folder({name:'core'})`, would emit
|
|
82
|
-
// core/utility/prepare_auth.rs instead: a file no module declares, so
|
|
83
|
-
// rustc never compiles it, while utility/mod.rs's `pub mod prepare_auth;`
|
|
84
|
-
// keeps binding whatever utility/ actually holds.
|
|
85
70
|
PrepareAuth({ target })
|
|
86
71
|
|
|
87
|
-
// Generated core files: the client (sdk.rs), the API config and the
|
|
88
|
-
// branded error type.
|
|
89
72
|
Folder({ name: 'core' }, () => {
|
|
90
73
|
|
|
91
74
|
File({ name: 'sdk.' + target.ext }, () => {
|
|
@@ -98,7 +81,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
98
81
|
}
|
|
99
82
|
},
|
|
100
83
|
|
|
101
|
-
// Entity accessors - injected at SLOT
|
|
102
84
|
() => {
|
|
103
85
|
each(entity, (entity: ModelEntity) => {
|
|
104
86
|
const entitySDK = getModelPath(model, `main.${KIT}.entity.${entity.name}`)
|
|
@@ -115,12 +97,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
115
97
|
SdkError({ target })
|
|
116
98
|
})
|
|
117
99
|
|
|
118
|
-
// feature/mod.rs — the feature module index.
|
|
119
|
-
//
|
|
120
|
-
// GENERATED, not templated: rust needs every module declared, and
|
|
121
|
-
// `target add` only copies source for the features the model selects. A
|
|
122
|
-
// static index listing all eighteen shipped features stops the crate from
|
|
123
|
-
// compiling the moment the set is trimmed.
|
|
124
100
|
Folder({ name: 'feature' }, () => {
|
|
125
101
|
File({ name: 'mod.' + target.ext }, () => {
|
|
126
102
|
Content(`// ${model.const.Name} SDK feature modules (mirrors tm/go/feature).
|
|
@@ -134,29 +110,7 @@ pub mod base;
|
|
|
134
110
|
each(feature, (feat: any) => Content(`pub mod ${feat.name};\n`))
|
|
135
111
|
})
|
|
136
112
|
|
|
137
|
-
// feature/<name>/plugins.rs - a feature's PLUGIN module index.
|
|
138
|
-
//
|
|
139
|
-
// GENERATED, and it has no go/py analogue: rust compiles only the
|
|
140
|
-
// modules a parent DECLARES, and the declared set varies with the
|
|
141
|
-
// plugin trim, so a static index would either name a file the trim
|
|
142
|
-
// just deleted or leave an active kind out of the build.
|
|
143
|
-
//
|
|
144
|
-
// It sits one level ABOVE the vendored `plugins/` directory on
|
|
145
|
-
// purpose: the vendoring guard fails any non-vendored file inside a
|
|
146
|
-
// vendor dir. Nothing is lost by that - an .rs file no module
|
|
147
|
-
// declares is not compiled at all, so an inactive group's vendored
|
|
148
|
-
// file left on disk is inert whether or not the trim reached it.
|
|
149
|
-
//
|
|
150
|
-
// This is rust's replacement for go's core-emitted FeaturePlugins map
|
|
151
|
-
// (Config_go), and it is better placed: core/config.rs never has to
|
|
152
|
-
// name a feature's types.
|
|
153
113
|
each(feature, (feat: any) => {
|
|
154
|
-
// `only_active: false`, the same subtlety pluginExcludesFor
|
|
155
|
-
// documents: the feature object a component is handed has already
|
|
156
|
-
// been filtered, so a feature whose plugins are ALL inactive would
|
|
157
|
-
// arrive with nothing here and the index would not be emitted at
|
|
158
|
-
// all - leaving `pub mod plugins;` in the feature source pointing
|
|
159
|
-
// at a file that does not exist.
|
|
160
114
|
const declared = getModelPath(model,
|
|
161
115
|
`main.${KIT}.feature.${feat.name}.plugin`,
|
|
162
116
|
{ required: false, only_active: false }) || {}
|
|
@@ -175,18 +129,11 @@ pub mod base;
|
|
|
175
129
|
if (true !== plugin.active) return
|
|
176
130
|
|
|
177
131
|
for (const [sym, one] of Object.entries(plugin.def?.rust || {})) {
|
|
178
|
-
// 'feature/secrets/plugins/aws.rs' -> the module `aws`.
|
|
179
132
|
mods.add(String(one).replace(/^.*\//, '').replace(/\.rs$/, ''))
|
|
180
133
|
syms.add(sym)
|
|
181
134
|
}
|
|
182
135
|
})
|
|
183
136
|
|
|
184
|
-
// The shared HTTP client the vendored vault kinds import
|
|
185
|
-
// (`use super::httpjson::...`) belongs to NO plugin group - trimming
|
|
186
|
-
// it with any one group would delete a file the others compile
|
|
187
|
-
// against - so it ships with the feature core and is DECLARED here
|
|
188
|
-
// only when something reaches for it. That is what keeps rustls out
|
|
189
|
-
// of a chain that is [dotenv, env] or [secretspec].
|
|
190
137
|
const NOHTTP = ['secretspec']
|
|
191
138
|
const http = Array.from(mods).some((m: string) => !NOHTTP.includes(m))
|
|
192
139
|
|
|
@@ -228,15 +175,10 @@ pub fn definitions() -> Vec<Definition> {
|
|
|
228
175
|
})
|
|
229
176
|
})
|
|
230
177
|
|
|
231
|
-
// entity/mod.rs — the entity module index.
|
|
232
178
|
EntityBase({ target })
|
|
233
179
|
|
|
234
|
-
// entity/types.rs — the documentary typed models (one struct per entity +
|
|
235
|
-
// per op). Declared as a module by EntityBase so it compiles with the crate.
|
|
236
180
|
EntityTypes({ target })
|
|
237
181
|
|
|
238
|
-
// lib.rs — the crate root: module declarations plus the public API
|
|
239
|
-
// re-exports (twin of the go root package file).
|
|
240
182
|
File({ name: 'lib.' + target.ext }, () => {
|
|
241
183
|
Content(`// ${model.const.Name} SDK for Rust (generated by @voxgig/sdkgen).
|
|
242
184
|
//
|
|
@@ -17,12 +17,6 @@ import type {
|
|
|
17
17
|
import { crateIdent, crateName } from './utility_rust'
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
// Cargo.toml (the rust manifest). Dependencies come from the target model
|
|
21
|
-
// (`deps` block, kind prod|dev) plus any feature-declared rust deps, via
|
|
22
|
-
// the shared collectDeps helper. The vendored voxgig struct port needs no
|
|
23
|
-
// external crate. The lib path is the crate root `lib.rs` (the generated
|
|
24
|
-
// SDK mirrors the go layout: core/, feature/, utility/, entity/ at the
|
|
25
|
-
// repo root rather than under src/).
|
|
26
20
|
const Package = cmp(async function Package(props: any) {
|
|
27
21
|
const ctx$ = props.ctx$
|
|
28
22
|
const target = props.target
|
|
@@ -74,21 +68,6 @@ path = "lib.rs"
|
|
|
74
68
|
}
|
|
75
69
|
}
|
|
76
70
|
|
|
77
|
-
// [[test]] stanzas for the feature suites.
|
|
78
|
-
//
|
|
79
|
-
// cargo auto-discovers `tests/*.rs` and `tests/<dir>/main.rs`, but NOT
|
|
80
|
-
// `tests/<dir>/<dir>/main.rs` - and the two-level path is not
|
|
81
|
-
// negotiable: a feature's tests must live inside a `feature/`
|
|
82
|
-
// container so `target add` trims them WITH the feature
|
|
83
|
-
// (helpers/featureSource), exactly as go's tm/go/test/feature/secrets/
|
|
84
|
-
// and py's tm/py/test/feature/secrets/ do. A one-level
|
|
85
|
-
// tests/secrets/main.rs would auto-discover and then be left behind in
|
|
86
|
-
// a project that does not select the feature, carrying a suite that
|
|
87
|
-
// cannot compile.
|
|
88
|
-
//
|
|
89
|
-
// So the suite is DECLARED, and only for a feature that both applies
|
|
90
|
-
// to this target and is active in the model - which is also exactly
|
|
91
|
-
// when `target add` kept its directory.
|
|
92
71
|
const suites = Object.keys(targetFeatures(model, target))
|
|
93
72
|
.filter((name: string) => null != FEATURE_TESTS[name])
|
|
94
73
|
.sort()
|
|
@@ -113,15 +92,6 @@ const FEATURE_TESTS: Record<string, string> = {
|
|
|
113
92
|
}
|
|
114
93
|
|
|
115
94
|
|
|
116
|
-
// One Cargo dependency's value: the bare version string, or the TABLE form
|
|
117
|
-
// when the model asks for anything more.
|
|
118
|
-
//
|
|
119
|
-
// `default: false` and `features: [...]` are not decoration. The secrets
|
|
120
|
-
// feature's vendored HTTP helper speaks rustls, and `rustls = "0.23"` with
|
|
121
|
-
// DEFAULT features pulls aws-lc-rs/aws-lc-sys and a cmake C build, while
|
|
122
|
-
// the ring feature set is what the target's existing `ureq` dep already
|
|
123
|
-
// compiles. Without the table form, turning on one feature would add a
|
|
124
|
-
// native toolchain requirement to every SDK that selected it.
|
|
125
95
|
function depValue(version: string, raw: any): string {
|
|
126
96
|
const features: string[] = Array.isArray(raw?.features) ? raw.features : []
|
|
127
97
|
const nodefault = false === raw?.default
|
|
@@ -12,26 +12,6 @@ import {
|
|
|
12
12
|
} from '@voxgig/sdkgen'
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
// WHERE THE CREDENTIAL GOES IS A FACT ABOUT THE API, so it is generated
|
|
16
|
-
// rather than templated. This is the rust peer of PrepareAuth_ts; read that
|
|
17
|
-
// one first, it carries the full account of the defect.
|
|
18
|
-
//
|
|
19
|
-
// This was a static file at `tm/rust/utility/prepare_auth.rs` that hardcoded
|
|
20
|
-
//
|
|
21
|
-
// const HEADER_AUTH: &str = "authorization";
|
|
22
|
-
//
|
|
23
|
-
// apidef has always resolved the scheme's `in` and `name` into
|
|
24
|
-
// `main.kit.info.security` — joplin's says `in: "query", name: "token"` —
|
|
25
|
-
// and generation dropped both, so the SDK sent a header the API does not
|
|
26
|
-
// read and never sent the query parameter it does.
|
|
27
|
-
//
|
|
28
|
-
// A template cannot fix this, because the three placements need three
|
|
29
|
-
// different bodies and a template has to pick one. A component emits the
|
|
30
|
-
// branch this API actually uses and nothing else — no dead query code in a
|
|
31
|
-
// bearer-token SDK, and no runtime `if` on a value that is fixed at
|
|
32
|
-
// generation time. Rust makes that worth doing carefully: an import the
|
|
33
|
-
// emitted body never reaches is a warning on every build of the crate, so
|
|
34
|
-
// the `use` lines are chosen per placement too.
|
|
35
15
|
const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
36
16
|
const { target } = props
|
|
37
17
|
const { model } = props.ctx$
|
|
@@ -42,41 +22,12 @@ const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
|
42
22
|
// the way Main_rust spells it in lib.rs's re-exports.
|
|
43
23
|
const errtype = model.const.Name + 'Error'
|
|
44
24
|
|
|
45
|
-
// `!isAuthSuppressed`, NOT `isAuthActive`. The latter is also false when
|
|
46
|
-
// the SPEC merely declares no security scheme (`main.kit.info.auth:
|
|
47
|
-
// false`), and those SDKs still carry a credential: optspec always
|
|
48
|
-
// declares `apikey` and makeOptions fills `options.auth` from its
|
|
49
|
-
// defaults, so the runtime guard never fired and they have always sent
|
|
50
|
-
// it. Only an explicit `main.kit.config.auth.active: false` means "no
|
|
51
|
-
// credential, ever", which is what isAuthSuppressed reads.
|
|
52
25
|
const active = !isAuthSuppressed(model)
|
|
53
26
|
const where = resolveAuthIn(model)
|
|
54
27
|
const name = resolveAuthName(model)
|
|
55
|
-
// Resolved, and deliberately NOT baked into the source: the prefix is a
|
|
56
|
-
// runtime option (`options.auth.prefix`), and the template this replaces
|
|
57
|
-
// read it from the options map so a caller could override it per client.
|
|
58
|
-
// Only the PLACEMENT is fixed at generation time.
|
|
59
28
|
const prefix = resolveAuthPrefix(model)
|
|
60
29
|
const basic = isHttpBasicAuth(model)
|
|
61
30
|
|
|
62
|
-
// FOLDER NESTING. Main_rust opens NO folder around this call: the rust
|
|
63
|
-
// crate root IS the target root (lib.rs, core/, feature/, utility/ all sit
|
|
64
|
-
// there — see the `[lib] path` in tm/rust/Cargo.toml), the template this
|
|
65
|
-
// replaces lived at `tm/rust/utility/prepare_auth.rs`, and
|
|
66
|
-
// `Copy({from:'tm/rust'})` lands it at `<root>/utility/`. So the `utility`
|
|
67
|
-
// folder is opened HERE, exactly as EntityBase_rust opens `entity`.
|
|
68
|
-
//
|
|
69
|
-
// The call site matters as much. Config_rust runs inside
|
|
70
|
-
// `Folder({name:'core'})`, and putting PrepareAuth beside it would write
|
|
71
|
-
// `core/utility/prepare_auth.rs` — a path no module declares, so rustc
|
|
72
|
-
// never compiles it, while `utility/mod.rs`'s `pub mod prepare_auth;`
|
|
73
|
-
// keeps binding whatever `utility/` actually holds. Main_rust calls this
|
|
74
|
-
// at ROOT level.
|
|
75
|
-
//
|
|
76
|
-
// The file NAME is not free either: `utility/mod.rs` declares the module
|
|
77
|
-
// `prepare_auth`, and `make_spec` calls
|
|
78
|
-
// `crate::utility::prepare_auth::prepare_auth_util`. The generated file
|
|
79
|
-
// has to answer to that name.
|
|
80
31
|
Folder({ name: 'utility' }, () => {
|
|
81
32
|
File({ name: 'prepare_auth.' + target.ext }, () => {
|
|
82
33
|
Content(render({ errtype, active, where, name, prefix, basic }))
|
|
@@ -97,10 +48,6 @@ type AuthSpec = {
|
|
|
97
48
|
|
|
98
49
|
function render(spec: AuthSpec): string {
|
|
99
50
|
|
|
100
|
-
// NO AUTH AT ALL. A public API's SDK gets a prepare_auth that is honest
|
|
101
|
-
// about it rather than one that deletes a header nobody set. `vs`, `Value`
|
|
102
|
-
// and the helpers are left out of the imports deliberately — rustc warns
|
|
103
|
-
// on an unused import, on every build, forever.
|
|
104
51
|
if (!spec.active) {
|
|
105
52
|
return `// prepare_auth utility.
|
|
106
53
|
//
|
|
@@ -134,9 +81,6 @@ pub fn prepare_auth_util(ctx: &Rc<Context>) -> Result<Rc<RefCell<Spec>>, ${spec.
|
|
|
134
81
|
// where it can mean something.
|
|
135
82
|
const withBasic = spec.basic && 'header' === spec.where
|
|
136
83
|
|
|
137
|
-
// `getpath` reads `options.auth.prefix`, and only a header placement has a
|
|
138
|
-
// prefix to read: a query parameter drops it, and a cookie pair has no
|
|
139
|
-
// room for one.
|
|
140
84
|
const withGetpath = 'header' === spec.where
|
|
141
85
|
|
|
142
86
|
const bag = bagName(spec.where)
|
|
@@ -248,8 +192,6 @@ ${place(spec.where)}
|
|
|
248
192
|
}
|
|
249
193
|
`
|
|
250
194
|
|
|
251
|
-
// The encoder goes AFTER prepare_auth_util, so the function a reader opens
|
|
252
|
-
// this file for is the first one they meet.
|
|
253
195
|
const encoder = !withBasic ? '' : `
|
|
254
196
|
/// Standard base64, for the \`Authorization: Basic base64(user:pass)\` value.
|
|
255
197
|
///
|
|
@@ -294,19 +236,6 @@ fn base64_encode(input: &[u8]) -> String {
|
|
|
294
236
|
}
|
|
295
237
|
|
|
296
238
|
|
|
297
|
-
// The credential's key, as it goes into the bag.
|
|
298
|
-
//
|
|
299
|
-
// A HEADER name is lowercased. HTTP header names are case-insensitive
|
|
300
|
-
// (RFC 9110 5.1) and the fetcher writes them out as given, so nothing
|
|
301
|
-
// changes on the wire — but this SDK's own header map is keyed in lowercase
|
|
302
|
-
// throughout (`content-type`, and the `authorization` that tm/rust/tests/
|
|
303
|
-
// pipeline_test.rs asserts on), and the shipped `prepare_auth.rs` said
|
|
304
|
-
// `"authorization"`. Emitting the resolver's title-cased default here would
|
|
305
|
-
// have left every header SDK's own test suite failing on a purely cosmetic
|
|
306
|
-
// difference.
|
|
307
|
-
//
|
|
308
|
-
// A QUERY parameter and a COOKIE name are case-SENSITIVE, so those go in
|
|
309
|
-
// verbatim: `?token=` is not `?Token=`.
|
|
310
239
|
function credLiteral(where: string, name: string): string {
|
|
311
240
|
return 'header' === where ? String(name).toLowerCase() : String(name)
|
|
312
241
|
}
|
|
@@ -323,29 +252,18 @@ function credComment(where: string): string {
|
|
|
323
252
|
}
|
|
324
253
|
|
|
325
254
|
|
|
326
|
-
// The bag the credential lands in, per placement — and, in rust, the `Spec`
|
|
327
|
-
// field it is read from, which is spelled the same. Cookies ride the header
|
|
328
|
-
// bag because a cookie IS a header.
|
|
329
255
|
function bagName(where: string): string {
|
|
330
256
|
return 'query' === where ? 'query' : 'headers'
|
|
331
257
|
}
|
|
332
258
|
|
|
333
259
|
|
|
334
260
|
function clear(where: string): string {
|
|
335
|
-
// COOKIE clears the header named for the credential, NOT the cookie
|
|
336
|
-
// header: the cookie header may carry pairs this SDK never set, and
|
|
337
|
-
// deleting it to remove one pair would drop them all. Removing a header
|
|
338
|
-
// that placement never writes is a no-op, which is the honest outcome
|
|
339
|
-
// when there is no credential to place.
|
|
340
261
|
return `vs::del_prop(${bagName(where)}, &Value::str(CRED_NAME))`
|
|
341
262
|
}
|
|
342
263
|
|
|
343
264
|
|
|
344
265
|
function place(where: string): string {
|
|
345
266
|
if ('query' === where) {
|
|
346
|
-
// NO PREFIX IN A QUERY STRING. `?token=Bearer%20abc` is not a thing any
|
|
347
|
-
// API reads; the prefix is a header convention and is dropped here
|
|
348
|
-
// deliberately rather than silently concatenated.
|
|
349
267
|
return ` let apikey_val = match &apikey {
|
|
350
268
|
Value::Str(s) => s.clone(),
|
|
351
269
|
_ => String::new(),
|
|
@@ -355,8 +273,6 @@ function place(where: string): string {
|
|
|
355
273
|
}
|
|
356
274
|
|
|
357
275
|
if ('cookie' === where) {
|
|
358
|
-
// Append, never replace: the cookie header may already carry pairs this
|
|
359
|
-
// SDK did not set, and clobbering it would drop them.
|
|
360
276
|
return ` let apikey_val = match &apikey {
|
|
361
277
|
Value::Str(s) => s.clone(),
|
|
362
278
|
_ => String::new(),
|
|
@@ -1,22 +1,6 @@
|
|
|
1
1
|
import { cmp, Content, File } from '@voxgig/sdkgen'
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
// Emits rust/tests/readme_examples_test.rs — a structural gate over every
|
|
5
|
-
// ```rust fenced block in the three docs that ship rust examples:
|
|
6
|
-
// - the root README.md (top-level, multi-language quick start)
|
|
7
|
-
// - the per-language rust/README.md
|
|
8
|
-
// - the per-language rust/REFERENCE.md
|
|
9
|
-
//
|
|
10
|
-
// DESIGN NOTE vs the go gate (ReadmeExamplesTest_go.ts): the go version shells
|
|
11
|
-
// out to `go build`/`go run` to COMPILE and RUN every block. A faithful rust
|
|
12
|
-
// port would shell out to `cargo`/`rustc` against extracted snippets — a large,
|
|
13
|
-
// environment-sensitive harness that cannot be authored safely without a build
|
|
14
|
-
// to validate it. This rust gate instead validates that every documented rust
|
|
15
|
-
// block is PRESENT and STRUCTURALLY well-formed (balanced delimiters,
|
|
16
|
-
// non-empty). It is a real, always-passing test that keeps the docs honest
|
|
17
|
-
// about block structure; upgrading it to a true compile gate (a temp crate that
|
|
18
|
-
// `cargo build`s each block against the generated SDK) is left as a follow-up.
|
|
19
|
-
// Missing docs are tolerated (a run may generate a subset of phases).
|
|
20
4
|
const ReadmeExamplesTest = cmp(function ReadmeExamplesTest(props: any) {
|
|
21
5
|
const { ctx$: { model } } = props
|
|
22
6
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { cmp, each, Content, canonToType, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape } from '@voxgig/sdkgen'
|
|
2
|
+
import { cmp, each, Content, canonToType, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape , targetFeatures } from '@voxgig/sdkgen'
|
|
3
3
|
import { ReadmeRefFeatures } from '@voxgig/sdkgen'
|
|
4
4
|
|
|
5
5
|
import {
|
|
@@ -29,7 +29,7 @@ const ReadmeRef = cmp(function ReadmeRef(props: any) {
|
|
|
29
29
|
|
|
30
30
|
const rustcrate = crateIdent(model)
|
|
31
31
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
32
|
-
const feature =
|
|
32
|
+
const feature = targetFeatures(model, target)
|
|
33
33
|
|
|
34
34
|
const publishedEntities = each(entity).filter((e: any) => e.active !== false)
|
|
35
35
|
|
|
@@ -374,9 +374,6 @@ let client = ${model.const.Name}SDK::new(jo(vec![
|
|
|
374
374
|
\`\`\`
|
|
375
375
|
|
|
376
376
|
`)
|
|
377
|
-
// The shared feature reference: options, defaults, usage and the
|
|
378
|
-
// considerations. Model facts, identical in every target, so they are
|
|
379
|
-
// written once in cmp/ReadmeRefFeatures.ts rather than here.
|
|
380
377
|
ReadmeRefFeatures({ target })
|
|
381
378
|
}
|
|
382
379
|
|
|
@@ -17,24 +17,6 @@ import {
|
|
|
17
17
|
} from './utility_rust'
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
// THE GENERATED SCHEMA MODULE: the model's schemas, as data the SDK can run.
|
|
21
|
-
//
|
|
22
|
-
// The rust peer of src/cmp/ts/Schema_ts.ts. Same two members, same source:
|
|
23
|
-
// optspec from `main.kit.optspec` plus each feature's own `config.options`,
|
|
24
|
-
// entityspec from the entity field sentinels — both built by the shared
|
|
25
|
-
// helpers, so what rust validates against and what ts validates against
|
|
26
|
-
// cannot drift.
|
|
27
|
-
//
|
|
28
|
-
// EMBEDDED AS JSON, PARSED AT LOAD, where ts emits an object literal: JSON is
|
|
29
|
-
// a subset of TypeScript's own literal syntax and is not a subset of rust's.
|
|
30
|
-
// A raw string, exactly as config.rs carries its data rep above the size
|
|
31
|
-
// threshold; the spec has no threshold because it is bounded by the option
|
|
32
|
-
// list and the feature set rather than by the API.
|
|
33
|
-
//
|
|
34
|
-
// No number-type question here, unlike Go: `Value::Num` is f64 whichever way
|
|
35
|
-
// it is built. The spec holds only strings and booleans anyway, pinned by
|
|
36
|
-
// "strings and booleans only, so the JSON round-trip is lossless" in
|
|
37
|
-
// ts/test/optspec.test.ts.
|
|
38
20
|
const Schema = cmp(async function Schema(props: any) {
|
|
39
21
|
const ctx$ = props.ctx$
|
|
40
22
|
const target = props.target
|
|
@@ -76,13 +76,6 @@ const TestDirect = cmp(function TestDirect(props: any) {
|
|
|
76
76
|
? `("apikey", getp(&env, "${PROJECTNAME}_APIKEY"))`
|
|
77
77
|
: ''
|
|
78
78
|
|
|
79
|
-
// A templated server URL (OpenAPI server variables) makes a LIVE client
|
|
80
|
-
// impossible to construct without values: makeOptions raises rather than
|
|
81
|
-
// request a URL with a literal `{account_id}` in it. So the live suite
|
|
82
|
-
// takes them from the environment the same way it takes the apikey.
|
|
83
|
-
//
|
|
84
|
-
// Emitted as a jo() tuple entry, so it carries its own leading comma only
|
|
85
|
-
// when an apikey entry precedes it - otherwise `jo(vec![, ...])`.
|
|
86
79
|
const svars = serverVariables(model)
|
|
87
80
|
const serverEnvEntry = svars
|
|
88
81
|
.map((v: any) => `\n ("${serverVarEnv(PROJECTNAME, v.name)}", Value::str(${JSON.stringify(v.dflt)})),`).join('')
|
|
@@ -26,8 +26,6 @@ import {
|
|
|
26
26
|
import { rustVarName, rustMethodName } from './utility_rust'
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
// Rust's GenCtx mirrors the shared shape (see TestEntity_ts.ts) plus the
|
|
30
|
-
// crate ident used to build qualified paths in emitted code.
|
|
31
29
|
type GenCtx = {
|
|
32
30
|
model: Model
|
|
33
31
|
entity: ModelEntity
|
|
@@ -64,13 +62,6 @@ const TestEntity = cmp(function TestEntity(props: any) {
|
|
|
64
62
|
? `("apikey", getp(&env, "${PROJUPPER}_APIKEY"))`
|
|
65
63
|
: ''
|
|
66
64
|
|
|
67
|
-
// A templated server URL (OpenAPI server variables) makes a LIVE client
|
|
68
|
-
// impossible to construct without values: makeOptions raises rather than
|
|
69
|
-
// request a URL with a literal `{account_id}` in it. So the live suite
|
|
70
|
-
// takes them from the environment the same way it takes the apikey.
|
|
71
|
-
//
|
|
72
|
-
// Emitted as a jo() tuple entry, so it carries its own leading comma only
|
|
73
|
-
// when an apikey entry precedes it - otherwise `jo(vec![, ...])`.
|
|
74
65
|
const svars = serverVariables(model)
|
|
75
66
|
const serverEnvEntry = svars
|
|
76
67
|
.map((v: any) => `\n ("${serverVarEnv(PROJUPPER, v.name)}", Value::str(${JSON.stringify(v.dflt)})),`).join('')
|
|
@@ -132,17 +132,6 @@ impl EntyClass {
|
|
|
132
132
|
utility.done(ctx)
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
-
/// Streaming operation. Runs `action` through the full pipeline and
|
|
136
|
-
/// returns an iterator over the result items, so the `streaming`
|
|
137
|
-
/// feature's incremental output is reachable from a generated entity (a
|
|
138
|
-
/// normal op call materialises the whole result). This runtime is
|
|
139
|
-
/// synchronous, so the returned iterator is a lazy cursor over items the
|
|
140
|
-
/// pipeline produced. `callopts` parameterises the call:
|
|
141
|
-
/// - inbound (download): iterate items/chunks from the streaming
|
|
142
|
-
/// feature when active, else the materialised items;
|
|
143
|
-
/// - outbound (upload): a `body` in `callopts` is attached to the
|
|
144
|
-
/// request (reqdata `body$`) so the transport can stream a payload;
|
|
145
|
-
/// - `ctrl` (pipeline control) threads pipeline options.
|
|
146
135
|
pub fn stream(
|
|
147
136
|
&self,
|
|
148
137
|
action: &str,
|
|
@@ -239,9 +228,6 @@ impl Entity for EntyClass {
|
|
|
239
228
|
self.name.clone()
|
|
240
229
|
}
|
|
241
230
|
|
|
242
|
-
// `remove` resolves to the entity, marked. The instance KEEPS the data
|
|
243
|
-
// it held — a caller can still read what was deleted — but it is no
|
|
244
|
-
// longer a live record.
|
|
245
231
|
fn mark_deleted(&self) {
|
|
246
232
|
*self.deleted.borrow_mut() = true;
|
|
247
233
|
}
|
|
@@ -31,10 +31,6 @@ fn remove(self: &Rc<Self>, reqmatch: Value, ctrl: Value) -> Result<Rc<Self>, Pro
|
|
|
31
31
|
}
|
|
32
32
|
})?;
|
|
33
33
|
|
|
34
|
-
// The operation resolves to THIS entity: `run_op` has just absorbed the
|
|
35
|
-
// result into it, and the caller reaches the record through `.data(None)`.
|
|
36
|
-
// See AGENTS.md "Entity operations return ENTITIES". A removed entity
|
|
37
|
-
// keeps its data but is no longer a live record.
|
|
38
34
|
self.mark_deleted();
|
|
39
35
|
|
|
40
36
|
Ok(self.clone())
|
|
@@ -57,12 +57,6 @@ impl ProjectNameSDK {
|
|
|
57
57
|
*rootctx.options.borrow_mut() = opts.clone();
|
|
58
58
|
*sdk.rootctx.borrow_mut() = Some(rootctx.clone());
|
|
59
59
|
|
|
60
|
-
// Add features in the resolved order (make_options puts an explicit
|
|
61
|
-
// List order first, else defaults to test-first). Ordering matters:
|
|
62
|
-
// the `test` feature installs the base mock transport and the
|
|
63
|
-
// transport features (retry/cache/netsim/proxy/ratelimit) wrap
|
|
64
|
-
// whatever is current, so `test` must be added before them to sit at
|
|
65
|
-
// the base of the transport wrapper chain.
|
|
66
60
|
let feature_opts = to_map(&getp(&opts, "feature"));
|
|
67
61
|
if let Value::List(order) = getpath(&["__derived__", "featureorder"], &opts) {
|
|
68
62
|
let names: Vec<String> = order
|
|
@@ -302,18 +296,6 @@ impl ProjectNameSDK {
|
|
|
302
296
|
]))
|
|
303
297
|
}
|
|
304
298
|
|
|
305
|
-
// Raw GraphQL access: the pressure valve that makes the generated
|
|
306
|
-
// surface's deliberate omissions (per-call selection sets, typed filter
|
|
307
|
-
// builders, batching, subscriptions) livable — the whole schema stays
|
|
308
|
-
// reachable.
|
|
309
|
-
//
|
|
310
|
-
// Thin wrapper over the same prepare/fetch path direct uses, with the one
|
|
311
|
-
// thing raw direct cannot do for GraphQL: a GraphQL failure rides HTTP
|
|
312
|
-
// 200 as a top-level `errors` array, so status alone would report a
|
|
313
|
-
// failed query as ok.
|
|
314
|
-
//
|
|
315
|
-
// NOTE: like direct, this bypasses the feature pipeline — no retry,
|
|
316
|
-
// ratelimit or paging features apply.
|
|
317
299
|
pub fn graphql(
|
|
318
300
|
&self, query: &str, variables: Value, ctrl: Value,
|
|
319
301
|
) -> Result<Value, ProjectNameError> {
|
|
@@ -342,7 +324,6 @@ impl ProjectNameSDK {
|
|
|
342
324
|
// { errors: [...] } body, and the raw path represents a non-2xx as
|
|
343
325
|
// ok:false with no err — so returning early on status would discard
|
|
344
326
|
// the server's own diagnostics, which are the only useful part of
|
|
345
|
-
// that response.
|
|
346
327
|
let errors = getpath(&["data", "errors"], &res);
|
|
347
328
|
|
|
348
329
|
if let Value::List(items) = &errors {
|
|
@@ -377,7 +358,6 @@ pub fn test_sdk(testopts: Value, sdkopts: Value) -> Rc<ProjectNameSDK> {
|
|
|
377
358
|
setp(&testopts, "active", Value::Bool(true));
|
|
378
359
|
|
|
379
360
|
// set_path mutates `sdkopts` in place and returns the inner parent node;
|
|
380
|
-
// discard the return so we pass the full options root (mirrors go's
|
|
381
361
|
// vs.SetPath(sdkopts, ...) which does not rebind).
|
|
382
362
|
vs::set_path(
|
|
383
363
|
&sdkopts,
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// ProjectNameError: the SDK error type (mirrors go core/error.go). The
|
|
2
|
-
// pipeline error discipline is Result<T, ProjectNameError> throughout.
|
|
3
1
|
|
|
4
2
|
use crate::utility::voxgigstruct::Value;
|
|
5
3
|
|
|
@@ -11,10 +9,6 @@ pub struct ProjectNameError {
|
|
|
11
9
|
// Cleaned snapshots attached by makeError (Noval until then).
|
|
12
10
|
pub result: Value,
|
|
13
11
|
pub spec: Value,
|
|
14
|
-
// HTTP status of the response that caused this error, or -1 when the
|
|
15
|
-
// request never got one. PROMOTED to the top level: it used to be
|
|
16
|
-
// reachable only inside `result`, so every consumer coupled itself to
|
|
17
|
-
// the internal shape of that snapshot.
|
|
18
12
|
pub status: i64,
|
|
19
13
|
}
|
|
20
14
|
|
|
@@ -18,17 +18,6 @@ const RUST_RESERVED = new Set<string>([
|
|
|
18
18
|
])
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
// Method names on a generated struct that must never be an entity accessor.
|
|
22
|
-
//
|
|
23
|
-
// An entity called `clone` generated `pub fn clone(&self, Value)` on the SDK
|
|
24
|
-
// struct, which SHADOWS Clone::clone — so every `sdk.clone()` the generated
|
|
25
|
-
// code makes elsewhere resolved to the entity accessor and the crate failed
|
|
26
|
-
// with "this method takes 1 argument but 0 arguments were supplied", 16 times
|
|
27
|
-
// over, pointing at the call sites and never at the entity that caused it.
|
|
28
|
-
// `new` would collide with the struct's own constructor the same way.
|
|
29
|
-
//
|
|
30
|
-
// These are not Rust keywords, so RUST_RESERVED does not catch them; they are
|
|
31
|
-
// inherent or std-trait methods the generated code actually calls.
|
|
32
21
|
const RUST_METHOD_RESERVED = new Set<string>([
|
|
33
22
|
'clone', 'new', 'default', 'drop', 'from', 'into', 'to_string',
|
|
34
23
|
'as_ref', 'as_mut', 'borrow', 'borrow_mut', 'deref', 'deref_mut',
|
|
@@ -44,13 +33,8 @@ function rustMethodName(name: string): string {
|
|
|
44
33
|
}
|
|
45
34
|
|
|
46
35
|
|
|
47
|
-
// A collision-free snake_case rust identifier for a model name.
|
|
48
36
|
function rustVarName(name: string): string {
|
|
49
37
|
let snake = name.replace(/[^a-zA-Z0-9_]/g, '_').toLowerCase()
|
|
50
|
-
// No Rust identifier may begin with a digit. A `3d_id` field became
|
|
51
|
-
// `pub 3_d_id: String`, which does not compile ("expected identifier, found
|
|
52
|
-
// `3_d_id`") and took the whole crate with it. Prefixed with an underscore,
|
|
53
|
-
// the convention cmp/c/utility_c.ts already applies.
|
|
54
38
|
if (/^[0-9]/.test(snake)) {
|
|
55
39
|
snake = '_' + snake
|
|
56
40
|
}
|
|
@@ -58,8 +42,6 @@ function rustVarName(name: string): string {
|
|
|
58
42
|
}
|
|
59
43
|
|
|
60
44
|
|
|
61
|
-
// The Cargo package name, e.g. voxgig-solar-sdk (mirrors the go module
|
|
62
|
-
// naming: org prefix from model.origin).
|
|
63
45
|
function crateName(model: any): string {
|
|
64
46
|
const org = (model.origin || 'voxgig-sdk').replace(/-sdk$/, '')
|
|
65
47
|
return `${org}-${model.name}-sdk`.toLowerCase().replace(/[^a-z0-9-]/g, '-')
|
|
@@ -117,29 +99,6 @@ function formatRustValue(val: any, indent: number = 0): string {
|
|
|
117
99
|
}
|
|
118
100
|
|
|
119
101
|
|
|
120
|
-
// Deep-remove meta keys (`foo$`) from a model subtree (twin of go's clean).
|
|
121
|
-
// Emission-time normalisation of a model subtree (L0).
|
|
122
|
-
//
|
|
123
|
-
// Always drops jostraca's iteration metadata (`$`-suffixed keys: index$,
|
|
124
|
-
// key$, val$). With `dropDefaults`, also drops keys whose value IS the
|
|
125
|
-
// default the runtime already assumes when the key is absent, which is pure
|
|
126
|
-
// payload — see CONFIG_DEFAULT.
|
|
127
|
-
//
|
|
128
|
-
// Rebuilds the tree rather than mutating during a walk. The previous
|
|
129
|
-
// implementation walked a clone calling `delete p[k]`, but walk() assigns its
|
|
130
|
-
// callback's result back over the child (`setprop(out, ckey, walk(...))`), so
|
|
131
|
-
// the delete was undone on the way out and the helper silently did nothing.
|
|
132
|
-
// Returning `undefined` from the callback does not fix it either: setprop
|
|
133
|
-
// stores undefined rather than removing the key, which then emits as a null.
|
|
134
|
-
//
|
|
135
|
-
// `dropDefaults` is opt-in and must be passed ONLY for the entity subtree.
|
|
136
|
-
// `active` means something different in feature config, where absent reads as
|
|
137
|
-
// INACTIVE (see feature_init) — dropping `active: true` there would silently
|
|
138
|
-
// disable the feature.
|
|
139
|
-
// jostraca's iteration metadata, injected by each()/names() while it walks the
|
|
140
|
-
// model. Listed explicitly rather than matched by trailing-dollar suffix: a
|
|
141
|
-
// trailing dollar is not exclusive to jostraca -- Seneca uses entity$ as real
|
|
142
|
-
// data -- so a blanket suffix match can silently drop a legitimate API field.
|
|
143
102
|
const MODEL_META = ['index$', 'key$', 'val$']
|
|
144
103
|
|
|
145
104
|
// Keys whose value IS the default the runtime already assumes when the key is
|
|
@@ -180,12 +139,6 @@ function clean(o: any, dropDefaults?: boolean): any {
|
|
|
180
139
|
|
|
181
140
|
|
|
182
141
|
|
|
183
|
-
// The JSON as a Rust RAW string literal.
|
|
184
|
-
//
|
|
185
|
-
// A raw string processes no escapes, so the JSON's own `\n` and `\uXXXX`
|
|
186
|
-
// survive byte for byte and reach the JSON parser as written - which a normal
|
|
187
|
-
// Rust string would not, having consumed them itself. The hash level is raised
|
|
188
|
-
// until its terminator does not occur in the text.
|
|
189
142
|
function rustRawString(s: string): string {
|
|
190
143
|
let level = 0
|
|
191
144
|
while (s.includes('"' + '#'.repeat(level))) {
|