@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
|
@@ -41,29 +41,10 @@ const Config = cmp(async function Config(props: any) {
|
|
|
41
41
|
|
|
42
42
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
43
43
|
const { def: configDef } = configDefinition(model, target.name)
|
|
44
|
-
// Gated by the applicability tags, so this target never imports or
|
|
45
|
-
// registers a feature it has no source for. One rule, one place:
|
|
46
|
-
// helpers/applicability.
|
|
47
44
|
const feature = targetFeatures(model, target)
|
|
48
45
|
|
|
49
46
|
const headers = getModelPath(model, `main.${KIT}.config.headers`) || {}
|
|
50
47
|
|
|
51
|
-
// PLUGIN DEFINITIONS, per feature (the scala peer of Config_go's
|
|
52
|
-
// featurePlugins map and Config_ts's pluginDefs).
|
|
53
|
-
//
|
|
54
|
-
// Since sekreto retired its import-time registry, provider kinds are
|
|
55
|
-
// voxgig/plugin definitions: a kind the caller did not pass in via
|
|
56
|
-
// `plugins` is unknown to that Sekreto. So the config names each active
|
|
57
|
-
// plugin's exported Definition and hands the list to the feature.
|
|
58
|
-
//
|
|
59
|
-
// The scala symbols are fully-qualified top-level `val`s
|
|
60
|
-
// (`com.voxgig.sekreto.plugins.hashicorp`), so unlike go there is no
|
|
61
|
-
// import to emit - and an inactive group therefore leaves no reference at
|
|
62
|
-
// all behind for the generate-time plugin trim to dangle.
|
|
63
|
-
//
|
|
64
|
-
// Typed List[Any], never List[Definition]: core must not name a vendored
|
|
65
|
-
// type, or a tree carrying the feature source without the feature selected
|
|
66
|
-
// would fail to compile.
|
|
67
48
|
const featurePlugins: Record<string, string[]> = {}
|
|
68
49
|
each(feature, (f: any) => {
|
|
69
50
|
const syms: string[] = []
|
|
@@ -113,12 +94,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
113
94
|
}
|
|
114
95
|
if (authActive) {
|
|
115
96
|
const auth: Record<string, any> = { prefix: authPrefix }
|
|
116
|
-
// ONLY WHEN THEY DIFFER FROM THE DEFAULT. `in: 'header'` and
|
|
117
|
-
// `name: 'Authorization'` are what resolveAuthIn/resolveAuthName answer
|
|
118
|
-
// for a spec that says nothing, and what the generated
|
|
119
|
-
// utility/PrepareAuth.scala assumes, so emitting them would be pure
|
|
120
|
-
// payload AND would move every existing header SDK's Config.scala. An
|
|
121
|
-
// apiKey-in-query API (joplin's `?token=`) is the case that needs them.
|
|
122
97
|
if (authBasic) auth.basic = true
|
|
123
98
|
if ('header' !== authIn) auth.in = authIn
|
|
124
99
|
if ('Authorization' !== authName) auth.name = authName
|
|
@@ -127,12 +102,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
127
102
|
options.headers = headers
|
|
128
103
|
options.entity = optionsEntity
|
|
129
104
|
|
|
130
|
-
// configDefinition's `def.entity` verbatim, NOT rebuilt here. This reduce
|
|
131
|
-
// was one of fourteen copies of that function's entityDefs loop, and when
|
|
132
|
-
// configDefinition started reconstructing a point's `parts` from apidef's
|
|
133
|
-
// segment vector (its ADR-003), only the copies that read `configDef` got
|
|
134
|
-
// it — this target's literal config emitted paths with no parts at all
|
|
135
|
-
// while its data config had them. One rule, one place.
|
|
136
105
|
const entityConfig = configDef.entity
|
|
137
106
|
|
|
138
107
|
const config = {
|
|
@@ -1,37 +1,5 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
// Typed-model generator (Scala target). Port of EntityTypes_java.ts /
|
|
4
|
-
// EntityTypes_py.ts.
|
|
5
|
-
//
|
|
6
|
-
// Reads main.<KIT>.entity.<e>.fields[] and per-op params
|
|
7
|
-
// (op.<name>.points[].args.params[]) and emits ONE file, core/<Name>Types.scala,
|
|
8
|
-
// holding an `object <Name>Types` with a nested `final case class` per active
|
|
9
|
-
// entity plus a request/match case class per active op.
|
|
10
|
-
//
|
|
11
|
-
// WHY A CONTAINER OBJECT: keeps the whole reference model in one file whatever
|
|
12
|
-
// the entity count and matches the java target's single-container layout
|
|
13
|
-
// (<Name>Types.java). Scala permits multiple top-level types per file, but a
|
|
14
|
-
// container object mirrors the JVM sibling and keeps the generated core/ dir
|
|
15
|
-
// tidy.
|
|
16
|
-
//
|
|
17
|
-
// TYPE CHOICE: reference `case class` types with BOXED (nullable) component
|
|
18
|
-
// types, NOT the wired runtime type. The generated ops take/return the loose
|
|
19
|
-
// object model (java.util.Map[String, Object] / Object), so these case classes
|
|
20
|
-
// are NOT wired into the op signatures — they are documentation/DX reference
|
|
21
|
-
// shapes a caller may use to describe a payload before converting it to a map.
|
|
22
|
-
// This mirrors the java target's reference records and the JS target's JSDoc
|
|
23
|
-
// typedefs (annotation only, no runtime effect). Emitting unused case classes
|
|
24
|
-
// is harmless — they compile and have no runtime effect.
|
|
25
|
-
//
|
|
26
|
-
// OPTIONAL FIELDS: every component is a boxed reference type, hence inherently
|
|
27
|
-
// nullable, so a `req:false` field/param needs no distinct rendering in Scala.
|
|
28
|
-
//
|
|
29
|
-
// Sentinels map to Scala types via the SHARED canonToType 'scala' column (the
|
|
30
|
-
// single source of truth per language — do not keep a local table here).
|
|
31
|
-
//
|
|
32
|
-
// Keep the SAME type-name scheme as every other language: <Name>,
|
|
33
|
-
// <Name>LoadMatch, <Name>ListMatch, <Name>CreateData, <Name>UpdateData,
|
|
34
|
-
// <Name>RemoveMatch (via the shared opTypeName helper).
|
|
35
3
|
|
|
36
4
|
import {
|
|
37
5
|
cmp, each, names,
|
|
@@ -62,20 +30,11 @@ const SCALA_KEYWORDS = new Set<string>([
|
|
|
62
30
|
])
|
|
63
31
|
|
|
64
32
|
|
|
65
|
-
// A field/param name that has a safe Scala identifier rendering. Names that are
|
|
66
|
-
// not valid identifiers (hyphens, leading digits) have no clean parameter form
|
|
67
|
-
// and are skipped — they remain reachable via the runtime map.
|
|
68
33
|
function scalaIdent(name: string): boolean {
|
|
69
34
|
return /^[A-Za-z_][A-Za-z0-9_]*$/.test(name) && !SCALA_KEYWORDS.has(name)
|
|
70
35
|
}
|
|
71
36
|
|
|
72
37
|
|
|
73
|
-
// Emit a nested `final case class <typeName>(...)` from {name, type} items. An
|
|
74
|
-
// item whose name is not a legal identifier is skipped (WITH a warning — the
|
|
75
|
-
// key stays reachable via the runtime map, but its absence from the typed
|
|
76
|
-
// model should be visible, not silent); a duplicate component name (after the
|
|
77
|
-
// identifier filter) is dropped. An empty case class is a valid,
|
|
78
|
-
// zero-parameter shape.
|
|
79
38
|
function emitCaseClass(typeName: string, items: any[], log?: any): void {
|
|
80
39
|
const seen = new Set<string>()
|
|
81
40
|
const usable = items.filter((it: any) => {
|
|
@@ -123,10 +82,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
123
82
|
|
|
124
83
|
const scalapackage = props.scalapackage || scalaPackage(model)
|
|
125
84
|
|
|
126
|
-
// only_active:false — getModelPath DROPS active:false entries by default,
|
|
127
|
-
// but the consumer scaffold (create-sdkgen Root.ts) iterates the RAW entity
|
|
128
|
-
// collection, so inactive entities still get generated entity code that
|
|
129
|
-
// references these typed names. The typed model must cover them too.
|
|
130
85
|
const entity = getModelPath(model, `main.${KIT}.entity`, { only_active: false, required: false })
|
|
131
86
|
// Emit for EVERY entity that gets generated entity code: the consumer
|
|
132
87
|
// scaffold (create-sdkgen Root.ts) iterates entities WITHOUT an active
|
|
@@ -138,9 +93,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
138
93
|
// entity not yet named (e.g. a fieldless placeholder) would otherwise read
|
|
139
94
|
// `Name = undefined` below. Parity with the go/py/java/csharp emitter's fix.
|
|
140
95
|
|
|
141
|
-
// Surface duplicate generated type names (two entities with the same
|
|
142
|
-
// PascalCase Name) — they would redeclare a type in statically-typed
|
|
143
|
-
// targets. Detection only; renaming is a model-level decision.
|
|
144
96
|
warnEntityTypeCollisions(entity, log, LANG)
|
|
145
97
|
|
|
146
98
|
File({ name: model.const.Name + 'Types.' + ext }, () => {
|
|
@@ -170,13 +122,10 @@ object ${model.const.Name}Types {
|
|
|
170
122
|
const fields = (ent.fields ? each(ent.fields) : [])
|
|
171
123
|
.filter((f: any) => f.active !== false)
|
|
172
124
|
|
|
173
|
-
// Entity data model: one component per field.
|
|
174
125
|
emitCaseClass(Name, fields.map((f: any) => ({
|
|
175
126
|
name: f.name, type: f.type,
|
|
176
127
|
})), log)
|
|
177
128
|
|
|
178
|
-
// Per active op: a request/match case class. Members come from the shared
|
|
179
|
-
// partiality policy (opRequestShape).
|
|
180
129
|
const ops = ent.op || {}
|
|
181
130
|
;['load', 'list', 'create', 'update', 'remove'].forEach((opname: string) => {
|
|
182
131
|
if (null == ops[opname]) {
|
|
@@ -46,31 +46,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
46
46
|
// The Scala package root for every runtime piece (like GOMODULE for go).
|
|
47
47
|
const scalapackage = scalaPackage(model)
|
|
48
48
|
|
|
49
|
-
// THE PLUGIN TRIM, over the WHOLE model rather than its active half.
|
|
50
|
-
//
|
|
51
|
-
// pluginExcludes(model) walks only the model's ACTIVE features
|
|
52
|
-
// (helpers/featureSource), which is right for a target whose feature trim
|
|
53
|
-
// is on: an inactive feature's whole tree is already gone at `target add`,
|
|
54
|
-
// so it has no plugin files left to exclude. Scala's feature trim is OFF
|
|
55
|
-
// (see the Copy below), so the opposite holds - an inactive feature's tree
|
|
56
|
-
// is all still here, and its plugins are the part of it that costs the
|
|
57
|
-
// most. Before this, a scala SDK whose model never mentioned `secrets`
|
|
58
|
-
// shipped and compiled all nine vendored provider clients: the one trim
|
|
59
|
-
// the target has walked straight past the feature that owns them.
|
|
60
|
-
//
|
|
61
|
-
// EVERY declared group of an inactive feature goes, not just the groups
|
|
62
|
-
// marked inactive. A feature that is off has no active plugins whatever
|
|
63
|
-
// its `plugin` map says - `main: kit: feature: secrets: { active: false
|
|
64
|
-
// plugin: vault: active: true }` selects nothing, because targetFeatures
|
|
65
|
-
// drops the feature before Config ever reads a group - so shipping vault's
|
|
66
|
-
// files for it would leave a provider client in the tree that nothing in
|
|
67
|
-
// the SDK can reach. That is why this reads the declared paths directly
|
|
68
|
-
// rather than reusing pluginExcludesFor, whose rule (exclude the groups
|
|
69
|
-
// marked `active: false`) is the right one only for a LIVE feature.
|
|
70
|
-
//
|
|
71
|
-
// Rooting matches pluginExcludes': scala's declared paths are
|
|
72
|
-
// target-root-relative, which is this Copy's root, and the other targets'
|
|
73
|
-
// paths in the same list cannot match anything in a scala tree.
|
|
74
49
|
const esc = (s: string) => s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
|
|
75
50
|
const allfeature = getModelPath(model, `main.${KIT}.feature`,
|
|
76
51
|
{ required: false, only_active: false }) || {}
|
|
@@ -88,27 +63,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
88
63
|
}
|
|
89
64
|
}
|
|
90
65
|
|
|
91
|
-
// THE FEATURE THE MODEL NEVER MENTIONS AT ALL.
|
|
92
|
-
//
|
|
93
|
-
// inactivePluginExcludes above walks the model's DECLARED features and skips
|
|
94
|
-
// the active ones, which covers `secrets: { active: false }`. It cannot cover
|
|
95
|
-
// the case that actually shipped: a model that does not mention secrets
|
|
96
|
-
// anywhere. Then `main.kit.feature` has no `secrets` key, the loop never sees
|
|
97
|
-
// it, nothing is excluded, and all nine provider clients are copied and
|
|
98
|
-
// compiled — which is what `vocabulary.off.notrimmed` reports, and it failed
|
|
99
|
-
// on 12 of the 68 cedar SDKs.
|
|
100
|
-
//
|
|
101
|
-
// PRECISE, NOT THE WHOLE TREE. The first cut of this excluded
|
|
102
|
-
// `feature/<inactive>/` wholesale and broke the build: SecretsFeature.scala
|
|
103
|
-
// ships to every scala SDK regardless (this target's feature trim is off) and
|
|
104
|
-
// imports `com.voxgig.sekreto` and `voxgig.plugin`, so removing the vendored
|
|
105
|
-
// cores left it uncompilable — "value voxgig is not a member of com".
|
|
106
|
-
//
|
|
107
|
-
// What may go is exactly the nine provider clients under sekreto/plugins.
|
|
108
|
-
// Httpjson.scala and Sigv4.scala live there too and must STAY: both belong to
|
|
109
|
-
// no group and are shared, which model/feature/secrets.aon documents at
|
|
110
|
-
// length after a cloud-only trim once deleted Sigv4 and scalac failed with
|
|
111
|
-
// four "Not found: uriescape".
|
|
112
66
|
const SHARED_SEKRETO_PLUGINS = ['Httpjson.scala', 'Sigv4.scala']
|
|
113
67
|
const pluginDirExcludes: RegExp[] = []
|
|
114
68
|
if (null == (feature as any).secrets) {
|
|
@@ -126,25 +80,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
126
80
|
// ProjectName carries the SDK name into vendored template strings.
|
|
127
81
|
Copy({
|
|
128
82
|
from: 'tm/' + target.name,
|
|
129
|
-
// The generate-time plugin trim, in both halves: pluginExcludes for an
|
|
130
|
-
// ACTIVE feature's inactive groups, inactivePluginExcludes (above) for
|
|
131
|
-
// the groups of a feature that is itself off. An inactive group's
|
|
132
|
-
// declared files stay out of the tree - the model's `path` entries are
|
|
133
|
-
// target-root-relative, which is this Copy's root.
|
|
134
|
-
//
|
|
135
|
-
// Scala's FEATURE-level trim is off (model/target/scala.aon `feature: {
|
|
136
|
-
// trim: false }`, because the cross-feature tests are fused into one
|
|
137
|
-
// sdktest/SdkTestMain.scala, which constructs fifteen feature classes by
|
|
138
|
-
// name), so this is the ONLY trim the target has, and what it does NOT
|
|
139
|
-
// reach is worth stating rather than leaving to be discovered: every
|
|
140
|
-
// feature's own source ships to every scala SDK whatever the model says,
|
|
141
|
-
// secrets included, so a secrets-off SDK still carries SecretsFeature,
|
|
142
|
-
// the vendored sekreto and voxgig/plugin cores, and the two UNGROUPED
|
|
143
|
-
// plugin files (plugins/Sigv4.scala's HMAC-SHA256 signer and
|
|
144
|
-
// plugins/Httpjson.scala's fetch + ProcessBuilder helpers, which belong
|
|
145
|
-
// to no group because four and eight kinds respectively compile against
|
|
146
|
-
// them). What it DOES reach is the nine provider clients, and they are
|
|
147
|
-
// the bulk: measured on a feature-off SDK, 26 files rather than 35.
|
|
148
83
|
exclude: [
|
|
149
84
|
/src\//,
|
|
150
85
|
TEST_CONTROL_EXCLUDE,
|
|
@@ -162,20 +97,8 @@ const Main = cmp(async function Main(props: any) {
|
|
|
162
97
|
// Shared entity runtime (entity/EntityBase.scala).
|
|
163
98
|
EntityBase({ target })
|
|
164
99
|
|
|
165
|
-
// utility/PrepareAuth.scala. WHERE the credential goes (header, query or
|
|
166
|
-
// cookie) and under what name is a fact about THIS API, and
|
|
167
|
-
// tm/scala/utility/Prepare.scala can only hold one answer - which is why
|
|
168
|
-
// its `object PrepareAuth` was removed and this generates the object
|
|
169
|
-
// instead. See PrepareAuth_scala.
|
|
170
|
-
//
|
|
171
|
-
// CALLED AT THE TOP LEVEL, NOT INSIDE `Folder({ name: 'core' })` below:
|
|
172
|
-
// the component opens `utility` itself, reproducing the path the blanket
|
|
173
|
-
// Copy above gives every other tm/scala/utility file. Nested in core/ it
|
|
174
|
-
// would write core/utility/PrepareAuth.scala, contradicting its own
|
|
175
|
-
// package declaration while Register.scala bound nothing.
|
|
176
100
|
PrepareAuth({ target })
|
|
177
101
|
|
|
178
|
-
// Generate the client class and config in core/.
|
|
179
102
|
Folder({ name: 'core' }, () => {
|
|
180
103
|
|
|
181
104
|
File({ name: model.const.Name + 'SDK.' + target.ext }, () => {
|
|
@@ -190,7 +113,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
190
113
|
}
|
|
191
114
|
},
|
|
192
115
|
|
|
193
|
-
// Entities - injected at SLOT
|
|
194
116
|
() => {
|
|
195
117
|
each(entity, (entity: ModelEntity) => {
|
|
196
118
|
const entitySDK = getModelPath(model, `main.${KIT}.entity.${entity.name}`)
|
|
@@ -15,102 +15,23 @@ import {
|
|
|
15
15
|
import { scalaPackage } from './utility_scala'
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
// WHERE THE CREDENTIAL GOES IS A FACT ABOUT THE API, so it is generated
|
|
19
|
-
// rather than templated. The scala port of cmp/ts/PrepareAuth_ts.ts; see
|
|
20
|
-
// that file for the full account.
|
|
21
|
-
//
|
|
22
|
-
// scala had no prepare_auth template to delete. The logic was an `object
|
|
23
|
-
// PrepareAuth` EMBEDDED in `tm/scala/utility/Prepare.scala` alongside the
|
|
24
|
-
// six other prepare steps, hardcoding `val HEADER_AUTH = "authorization"`.
|
|
25
|
-
// apidef has always resolved the scheme's `in` and `name` into
|
|
26
|
-
// `main.kit.info.security` — joplin's says `in: "query", name: "token"` —
|
|
27
|
-
// and generation dropped both, so the SDK sent a header the API does not
|
|
28
|
-
// read and never sent the query parameter it does.
|
|
29
|
-
//
|
|
30
|
-
// EXTRACTED INTO ITS OWN FILE rather than generating the whole of
|
|
31
|
-
// Prepare.scala. A Scala `object` is not tied to a file name: the compiler
|
|
32
|
-
// resolves `PrepareAuth.prepareAuth` by PACKAGE, and every caller —
|
|
33
|
-
// utility/Register.scala's `u.prepareAuth = (ctx) => PrepareAuth
|
|
34
|
-
// .prepareAuth(ctx)`, which is the only binding — already names it
|
|
35
|
-
// unqualified from inside `package SCALAPACKAGE.utility`. So moving the
|
|
36
|
-
// object into `utility/PrepareAuth.scala` in the same package leaves
|
|
37
|
-
// Register, core/Utility.scala's `var prepareAuth` field, utility/MakeSpec
|
|
38
|
-
// .scala's `utility.prepareAuth(ctx)` and core/SdkClient.scala's call
|
|
39
|
-
// site all resolving exactly as before, with no edit to any of them. The
|
|
40
|
-
// other six objects in Prepare.scala (PreparePath, PrepareMethod,
|
|
41
|
-
// PrepareParams, PrepareQuery, PrepareHeaders, PrepareBody) are placement-
|
|
42
|
-
// independent and stay templated, so the generated surface is exactly the
|
|
43
|
-
// part that varies with the API.
|
|
44
|
-
//
|
|
45
|
-
// A template cannot fix this, because the three placements need three
|
|
46
|
-
// different bodies and a template has to pick one. A component emits the
|
|
47
|
-
// branch this API actually uses and nothing else — no dead query code in a
|
|
48
|
-
// bearer-token SDK, and no runtime `if` on a value that is fixed at
|
|
49
|
-
// generation time.
|
|
50
18
|
const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
51
19
|
const { target } = props
|
|
52
20
|
const { model } = props.ctx$
|
|
53
21
|
|
|
54
22
|
const where = resolveAuthIn(model)
|
|
55
23
|
|
|
56
|
-
// LOWERCASED FOR A HEADER, VERBATIM OTHERWISE. apidef writes
|
|
57
|
-
// `name: "Authorization"`, the deleted `object PrepareAuth` hardcoded
|
|
58
|
-
// `"authorization"`, and the whole scala runtime reads the lower-case
|
|
59
|
-
// key: the shared primary corpus asserts
|
|
60
|
-
// `ctx:spec:headers:authorization`, SecretsFeature.reauth rewrites
|
|
61
|
-
// `headers.put("authorization", ...)` in place on a token refresh, and
|
|
62
|
-
// spec.headers is a plain case-sensitive LinkedHashMap. Emitting
|
|
63
|
-
// `Authorization` verbatim would put the credential under a key nothing
|
|
64
|
-
// reads. A query parameter and a cookie ARE case-sensitive, so they keep
|
|
65
|
-
// the spec's spelling exactly.
|
|
66
24
|
const resolved = resolveAuthName(model)
|
|
67
25
|
const name = 'header' === where ? resolved.toLowerCase() : resolved
|
|
68
26
|
|
|
69
27
|
const basic = isHttpBasicAuth(model)
|
|
70
28
|
|
|
71
|
-
// Read so the resolution is visible at generation time even though the
|
|
72
|
-
// emitted code takes the prefix from options at runtime (the secrets
|
|
73
|
-
// feature rewrites it there).
|
|
74
29
|
const prefix = resolveAuthPrefix(model)
|
|
75
30
|
|
|
76
|
-
// NOT `isAuthActive`, AND THE DIFFERENCE IS LOAD-BEARING. See
|
|
77
|
-
// isAuthSuppressed in sdkgen's utility.ts: `isAuthActive` is ALSO false
|
|
78
|
-
// whenever `main.kit.info.auth` is false, which says only that the SPEC
|
|
79
|
-
// declared no security scheme — such an SDK still carries a credential,
|
|
80
|
-
// because Make.scala's optspec always declares `apikey` and fills
|
|
81
|
-
// `options.auth` from its `{ "prefix": "" }` default, so the runtime
|
|
82
|
-
// `options.get("auth") == null` guard never fires and every such SDK has
|
|
83
|
-
// always sent `options.apikey`. Emitting a no-op for those would
|
|
84
|
-
// silently remove working authentication and take the secrets feature
|
|
85
|
-
// with it (SecretsFeature resolves a secret into options.apikey and
|
|
86
|
-
// prepareAuth then places nothing).
|
|
87
|
-
//
|
|
88
|
-
// `main.kit.config.auth.active: false` is the project saying "this SDK
|
|
89
|
-
// sends no credential, ever" — the only signal that can honestly be
|
|
90
|
-
// honoured before runtime, so it is the only one used.
|
|
91
31
|
const active = !isAuthSuppressed(model)
|
|
92
32
|
|
|
93
33
|
const scalapackage = scalaPackage(model)
|
|
94
34
|
|
|
95
|
-
// FOLDER NESTING: exactly one segment, `utility`.
|
|
96
|
-
//
|
|
97
|
-
// Worked out from the deleted code's own path and from Main_scala's call
|
|
98
|
-
// site. Main_scala's blanket `Copy({ from: 'tm/scala' })` runs at the
|
|
99
|
-
// TARGET ROOT (its excludes and the scala tree are root-relative, and
|
|
100
|
-
// project.scala/Makefile sit beside core/, utility/, entity/), so
|
|
101
|
-
// `tm/scala/utility/Prepare.scala` lands at `<root>/utility/Prepare
|
|
102
|
-
// .scala`. Reproducing that path from Main's TOP LEVEL therefore needs
|
|
103
|
-
// `utility` and nothing above it — the same one-segment shape
|
|
104
|
-
// EntityBase_scala uses for `entity`.
|
|
105
|
-
//
|
|
106
|
-
// So this component must be invoked from Main_scala's top level and NOT
|
|
107
|
-
// from inside its `Folder({ name: 'core' })`, where Config and
|
|
108
|
-
// EntityTypes are written: nested there it would emit
|
|
109
|
-
// `core/utility/PrepareAuth.scala`, whose `package <pkg>.utility`
|
|
110
|
-
// declaration contradicts its directory, while Register.scala kept
|
|
111
|
-
// binding the stale object. There is no `src` folder in a scala SDK at
|
|
112
|
-
// all, so the ts port's `src/src/utility/` failure has no scala twin —
|
|
113
|
-
// the scala twin would be `core/`.
|
|
114
35
|
Folder({ name: 'utility' }, () => {
|
|
115
36
|
File({ name: 'PrepareAuth.' + target.ext }, () => {
|
|
116
37
|
Content(render({ scalapackage, active, where, name, prefix, basic }))
|
|
@@ -130,19 +51,10 @@ type AuthSpec = {
|
|
|
130
51
|
|
|
131
52
|
|
|
132
53
|
function render(spec: AuthSpec): string {
|
|
133
|
-
// The package line alone. Each placement emits its OWN import block,
|
|
134
|
-
// because they need different ones and the scala templates put the
|
|
135
|
-
// java.* imports first - Prepare.scala, Make.scala and Spec.scala all
|
|
136
|
-
// read `import java.util...` then the SDK's own packages.
|
|
137
54
|
const head = `package ${spec.scalapackage}.utility
|
|
138
55
|
|
|
139
56
|
`
|
|
140
57
|
|
|
141
|
-
// NO AUTH AT ALL - the project switched it off explicitly (see `active`
|
|
142
|
-
// above for why only an EXPLICIT switch counts). The SDK gets a
|
|
143
|
-
// prepareAuth that is honest about it rather than one that removes a
|
|
144
|
-
// header nobody set; Struct is not imported, because nothing here reads
|
|
145
|
-
// an option.
|
|
146
58
|
if (!spec.active) {
|
|
147
59
|
return head + `import ${spec.scalapackage}.core.{Context, Spec}
|
|
148
60
|
|
|
@@ -169,12 +81,6 @@ object PrepareAuth {
|
|
|
169
81
|
}
|
|
170
82
|
|
|
171
83
|
|
|
172
|
-
// HEADER. Behaviourally the deleted `object PrepareAuth` when the scheme
|
|
173
|
-
// resolves to the defaults (header / Authorization): the same option names,
|
|
174
|
-
// the same `skip` idiom for a missing credential, the same auth_no_spec
|
|
175
|
-
// error, the same empty-prefix rule. Only the constant's VALUE moves with
|
|
176
|
-
// the model, plus the HTTP Basic block, which is emitted only for a basic
|
|
177
|
-
// scheme.
|
|
178
84
|
function renderHeader(spec: AuthSpec, head: string): string {
|
|
179
85
|
return head + `${spec.basic ? `import java.nio.charset.StandardCharsets
|
|
180
86
|
import java.util.Base64
|
|
@@ -266,9 +172,6 @@ function basicBlock(spec: AuthSpec): string {
|
|
|
266
172
|
}
|
|
267
173
|
|
|
268
174
|
|
|
269
|
-
// QUERY. The credential is a query parameter, so it goes in spec.query and
|
|
270
|
-
// the headers are never touched. This is the placement joplin, pipedrive,
|
|
271
|
-
// trello and lm-umbrella declare and no generated SDK ever emitted.
|
|
272
175
|
function renderQuery(spec: AuthSpec, head: string): string {
|
|
273
176
|
return head + `import ${spec.scalapackage}.core.{Context, Spec}
|
|
274
177
|
import ${spec.scalapackage}.utility.struct.Struct
|
|
@@ -321,11 +224,6 @@ object PrepareAuth {
|
|
|
321
224
|
}
|
|
322
225
|
|
|
323
226
|
|
|
324
|
-
// COOKIE. A cookie IS a header, so the credential rides the header bag -
|
|
325
|
-
// but the `cookie` header is SHARED with whatever cookies the caller set,
|
|
326
|
-
// so the pair is spliced in and out rather than the header assigned over.
|
|
327
|
-
// Splicing also makes this idempotent: a retried request cannot end up
|
|
328
|
-
// carrying the credential twice.
|
|
329
227
|
function renderCookie(spec: AuthSpec, head: string): string {
|
|
330
228
|
return head + `import java.util.{Map => JMap}
|
|
331
229
|
|
|
@@ -11,7 +11,6 @@ import { scalaVarName } from './utility_scala'
|
|
|
11
11
|
|
|
12
12
|
// Type names come from the shared canonToType 'scala' column (single source of truth).
|
|
13
13
|
|
|
14
|
-
// A type-correct Scala literal for a field's canonical type.
|
|
15
14
|
function scalaLit(type: any, placeholder: string = 'example'): string {
|
|
16
15
|
const k = canonScalarKey(type)
|
|
17
16
|
if ('INTEGER' === k) return '1L'
|
|
@@ -2,29 +2,6 @@
|
|
|
2
2
|
import { cmp, File, Content } from '@voxgig/sdkgen'
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
// Emits sdktest/ReadmeExamplesTest.scala — a PRESENCE + STRUCTURE gate over
|
|
6
|
-
// every scala fenced block in the repository ROOT README.md, the per-language
|
|
7
|
-
// scala/README.md, AND the per-language scala/REFERENCE.md. It is a
|
|
8
|
-
// default-package scala-cli object exposing run(rep) and is driven by the
|
|
9
|
-
// generated SdkEntityTestMain aggregator (mirrors the generated per-entity
|
|
10
|
-
// test objects).
|
|
11
|
-
//
|
|
12
|
-
// SCOPE NOTE (deliberate, documented): the Python/TS/Go equivalents EXECUTE and
|
|
13
|
-
// type-check every documented block. That is infeasible here — the generated
|
|
14
|
-
// Scala SDK compiles with scala-cli only (no in-process Scala compiler wired
|
|
15
|
-
// into the test runtime), so a test cannot compile-and-run arbitrary doc
|
|
16
|
-
// snippets at test time. This gate therefore guarantees the weaker-but-real
|
|
17
|
-
// invariant that keeps the docs honest as the generator evolves:
|
|
18
|
-
// 1. every doc exists and contains at least one scala block (nothing was
|
|
19
|
-
// dropped);
|
|
20
|
-
// 2. every scala block is structurally well-formed — its braces, parentheses
|
|
21
|
-
// and brackets balance (catches a truncated or malformed generated
|
|
22
|
-
// snippet).
|
|
23
|
-
// A per-doc summary line makes the coverage visible in the test output.
|
|
24
|
-
//
|
|
25
|
-
// The emitted Scala is written WITHOUT literal backticks (the fence marker is
|
|
26
|
-
// built at runtime as 96.toChar.toString.repeat(3)) so this TS template literal
|
|
27
|
-
// stays clean.
|
|
28
5
|
const ReadmeExamplesTest = cmp(function ReadmeExamplesTest(props: any) {
|
|
29
6
|
const { target, ctx$: { model } } = props
|
|
30
7
|
|
|
@@ -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 {
|
|
@@ -60,7 +60,7 @@ const ReadmeRef = cmp(function ReadmeRef(props: any) {
|
|
|
60
60
|
const SDK = model.const.Name + 'SDK'
|
|
61
61
|
|
|
62
62
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
63
|
-
const feature =
|
|
63
|
+
const feature = targetFeatures(model, target)
|
|
64
64
|
|
|
65
65
|
const publishedEntities = each(entity).filter((e: any) => e.active !== false)
|
|
66
66
|
|
|
@@ -378,9 +378,6 @@ val client = new ${SDK}(options)
|
|
|
378
378
|
\`\`\`
|
|
379
379
|
|
|
380
380
|
`)
|
|
381
|
-
// The shared feature reference: options, defaults, usage and the
|
|
382
|
-
// considerations. Model facts, identical in every target, so they are
|
|
383
|
-
// written once in cmp/ReadmeRefFeatures.ts rather than here.
|
|
384
381
|
ReadmeRefFeatures({ target })
|
|
385
382
|
}
|
|
386
383
|
|
|
@@ -54,15 +54,10 @@ val client = new ${SDK}(options)
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
if (exampleEntity) {
|
|
57
|
-
// Sanitise the local variable name — an entity whose camelCased name is a
|
|
58
|
-
// Scala keyword gets a trailing underscore (scalaVarName) so the snippet
|
|
59
|
-
// compiles.
|
|
60
57
|
const eVar = scalaVarName(exampleEntity.name)
|
|
61
58
|
const accessor = scalaVarName(exampleEntity.name)
|
|
62
59
|
const eNameLower = nom(exampleEntity, 'Name').toLowerCase()
|
|
63
60
|
const opnames = Object.keys(exampleEntity.op || {})
|
|
64
|
-
// Model-driven id key: null when the entity has no id-like field, in which
|
|
65
|
-
// case the load example takes an empty match.
|
|
66
61
|
const idF = entityIdField(exampleEntity)
|
|
67
62
|
|
|
68
63
|
if (opnames.includes('list')) {
|
|
@@ -18,25 +18,6 @@ import {
|
|
|
18
18
|
} from './utility_scala'
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
// THE GENERATED SCHEMA MODULE: the model's schemas, as data the SDK can run.
|
|
22
|
-
//
|
|
23
|
-
// The scala peer of src/cmp/ts/Schema_ts.ts. Same two members, same source:
|
|
24
|
-
// optspec from `main.kit.optspec` plus each feature's own `config.options`,
|
|
25
|
-
// entityspec from the entity field sentinels — both built by the shared
|
|
26
|
-
// helpers, so what scala validates against and what ts validates against
|
|
27
|
-
// cannot drift.
|
|
28
|
-
//
|
|
29
|
-
// EMBEDDED AS JSON, PARSED AT LOAD, where ts emits an object literal: JSON is
|
|
30
|
-
// a subset of TypeScript's own literal syntax and is not a subset of scala's.
|
|
31
|
-
// Chunked StringBuilder appends, exactly as Config.scala carries its config,
|
|
32
|
-
// keep every string constant far below the JVM's 64KB limit no matter how
|
|
33
|
-
// many features or entities the model grows.
|
|
34
|
-
//
|
|
35
|
-
// The round-trip is exact because the spec holds only strings and booleans:
|
|
36
|
-
// pinned by "strings and booleans only, so the JSON round-trip is lossless"
|
|
37
|
-
// in ts/test/optspec.test.ts. That is not incidental — Json.parse decodes a
|
|
38
|
-
// JSON number to one scala type and struct reads a spec BY EXAMPLE, so one
|
|
39
|
-
// number in here would mean something different in scala than in ts.
|
|
40
21
|
const Schema = cmp(async function Schema(props: any) {
|
|
41
22
|
const ctx$ = props.ctx$
|
|
42
23
|
const target = props.target
|
|
@@ -24,11 +24,6 @@ import {
|
|
|
24
24
|
import { scalaVarName } from './utility_scala'
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
// Scala GenCtx mirrors the java donor's shape (see TestEntity_java.ts). The
|
|
28
|
-
// scala per-entity test is a dependency-free scala-cli object (default
|
|
29
|
-
// package) exposing run(rep) — driven by the generated SdkEntityTestMain
|
|
30
|
-
// aggregator. Only the offline unit path is emitted: the in-memory test
|
|
31
|
-
// transport serves the fixtures, so there is no live/env/synthetic machinery.
|
|
32
27
|
type GenCtx = {
|
|
33
28
|
model: Model
|
|
34
29
|
entity: ModelEntity
|
|
@@ -217,9 +212,6 @@ const generateList: OpGen = (ctx, step, index) => {
|
|
|
217
212
|
`)
|
|
218
213
|
}
|
|
219
214
|
|
|
220
|
-
// Select-by-id assertions require the DATA type to carry an id field
|
|
221
|
-
// (entityDataIdField); an entity keyed only on a load-MATCH id it does not
|
|
222
|
-
// return as data has no `.get("id")` to compare, so skip them.
|
|
223
215
|
const hasDataId = null != entityDataIdField(entity)
|
|
224
216
|
const allSteps = Object.values(flow.step) as any[]
|
|
225
217
|
const listvarUsed = hasDataId && !!step.valid?.some((v: any) => {
|
|
@@ -62,9 +62,6 @@ const Test = cmp(function Test(props: any) {
|
|
|
62
62
|
}
|
|
63
63
|
})
|
|
64
64
|
|
|
65
|
-
// Documentation scala-examples presence + structure gate over the root
|
|
66
|
-
// README, scala/README.md and scala/REFERENCE.md. Driven through the same
|
|
67
|
-
// shared report by the SdkEntityTestMain aggregator below.
|
|
68
65
|
ReadmeExamplesTest({ target, scalapackage })
|
|
69
66
|
|
|
70
67
|
// Aggregating main: run every generated per-entity test through one
|
|
@@ -17,12 +17,6 @@ function projectPath(suffix?: string): string {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
// The Scala package root for the generated SDK, mirroring how the go target
|
|
21
|
-
// derives GOMODULE and the java target derives its package: org segment from
|
|
22
|
-
// model.origin, name segment from the model name (e.g. origin voxgig-sdk +
|
|
23
|
-
// name solardemo -> voxgig.solardemosdk). Each runtime piece lives under it:
|
|
24
|
-
// <pkg>.core, <pkg>.utility, <pkg>.utility.struct, <pkg>.feature,
|
|
25
|
-
// <pkg>.entity, <pkg>.sdktest.
|
|
26
20
|
function scalaPackage(model: any): string {
|
|
27
21
|
const org = String(model.origin || 'voxgig-sdk')
|
|
28
22
|
.replace(/-sdk$/, '')
|
|
@@ -55,8 +49,6 @@ const SCALA_KEYWORDS = new Set([
|
|
|
55
49
|
])
|
|
56
50
|
|
|
57
51
|
|
|
58
|
-
// A camelCase Scala identifier for a snake_case model name
|
|
59
|
-
// (`status_embed_config` -> `statusEmbedConfig`), with a reserved-word guard.
|
|
60
52
|
function scalaVarName(name: string): string {
|
|
61
53
|
const pascal = camelify(name)
|
|
62
54
|
const out = pascal.charAt(0).toLowerCase() + pascal.slice(1)
|
|
@@ -64,29 +56,6 @@ function scalaVarName(name: string): string {
|
|
|
64
56
|
}
|
|
65
57
|
|
|
66
58
|
|
|
67
|
-
// Strip model bookkeeping keys (ending in $) from a config subtree.
|
|
68
|
-
// Emission-time normalisation of a model subtree (L0).
|
|
69
|
-
//
|
|
70
|
-
// Always drops jostraca's iteration metadata (`$`-suffixed keys: index$,
|
|
71
|
-
// key$, val$). With `dropDefaults`, also drops keys whose value IS the
|
|
72
|
-
// default the runtime already assumes when the key is absent, which is pure
|
|
73
|
-
// payload — see CONFIG_DEFAULT.
|
|
74
|
-
//
|
|
75
|
-
// Rebuilds the tree rather than mutating during a walk. The previous
|
|
76
|
-
// implementation walked a clone calling `delete p[k]`, but walk() assigns its
|
|
77
|
-
// callback's result back over the child (`setprop(out, ckey, walk(...))`), so
|
|
78
|
-
// the delete was undone on the way out and the helper silently did nothing.
|
|
79
|
-
// Returning `undefined` from the callback does not fix it either: setprop
|
|
80
|
-
// stores undefined rather than removing the key, which then emits as a null.
|
|
81
|
-
//
|
|
82
|
-
// `dropDefaults` is opt-in and must be passed ONLY for the entity subtree.
|
|
83
|
-
// `active` means something different in feature config, where absent reads as
|
|
84
|
-
// INACTIVE (see feature_init) — dropping `active: true` there would silently
|
|
85
|
-
// disable the feature.
|
|
86
|
-
// jostraca's iteration metadata, injected by each()/names() while it walks the
|
|
87
|
-
// model. Listed explicitly rather than matched by trailing-dollar suffix: a
|
|
88
|
-
// trailing dollar is not exclusive to jostraca -- Seneca uses entity$ as real
|
|
89
|
-
// data -- so a blanket suffix match can silently drop a legitimate API field.
|
|
90
59
|
const MODEL_META = ['index$', 'key$', 'val$']
|
|
91
60
|
|
|
92
61
|
// Keys whose value IS the default the runtime already assumes when the key is
|