@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
|
@@ -15,39 +15,6 @@ import {
|
|
|
15
15
|
import { kotlinPackage } from './utility_kotlin'
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
// WHERE THE CREDENTIAL GOES IS A FACT ABOUT THE API, so it is generated
|
|
19
|
-
// rather than templated.
|
|
20
|
-
//
|
|
21
|
-
// apidef has always resolved the scheme's `in` and `name` into
|
|
22
|
-
// `main.kit.info.security` — joplin's says `in: "query", name: "token"` —
|
|
23
|
-
// and generation dropped both, hardcoding an `authorization` header. The
|
|
24
|
-
// result was an SDK that sent a header the API does not read and never
|
|
25
|
-
// sent the query parameter it does, so it could not authenticate at all.
|
|
26
|
-
// Four repos in the cedar fleet shipped that way: joplin (`token`),
|
|
27
|
-
// pipedrive (`api_token`), trello (`key`), lm-umbrella (`apiKey`).
|
|
28
|
-
//
|
|
29
|
-
// A template cannot fix this, because the three placements need three
|
|
30
|
-
// different bodies and a template has to pick one. A component emits the
|
|
31
|
-
// branch this API actually uses and nothing else — no dead query code in a
|
|
32
|
-
// bearer-token SDK, and no runtime `if` on a value that is fixed at
|
|
33
|
-
// generation time. The ts port (PrepareAuth_ts) is the donor.
|
|
34
|
-
//
|
|
35
|
-
// KOTLIN IS AN EXTRACTION, NOT A REPLACEMENT. The other twelve targets had
|
|
36
|
-
// a `prepare_auth` template of their own to delete; kotlin did not — the
|
|
37
|
-
// function lived among eight unrelated `prepare*` helpers in
|
|
38
|
-
// `tm/kotlin/utility/Prepare.kt`. So `prepareAuth` (and only it, with the
|
|
39
|
-
// three constants nothing else in that file used) MOVES here, into its own
|
|
40
|
-
// compilation unit in the SAME package.
|
|
41
|
-
//
|
|
42
|
-
// That is a pure move as far as every caller is concerned, because a
|
|
43
|
-
// Kotlin top-level function is visible to the whole package without an
|
|
44
|
-
// import: `utility/Register.kt` keeps binding `u.prepareAuth = ::prepareAuth`
|
|
45
|
-
// unchanged, `core/Utility.kt` keeps its `lateinit var prepareAuth:
|
|
46
|
-
// (Context) -> Spec` and its `u.prepareAuth = this.prepareAuth` copy, and
|
|
47
|
-
// `core/SdkClient.kt` and `utility/MakeSpecUrl.kt` keep calling
|
|
48
|
-
// `utility.prepareAuth(ctx)` through that binding. Nothing is renamed and
|
|
49
|
-
// nothing is re-wired. The three constants were `private` (file-scoped), so
|
|
50
|
-
// carrying them here cannot collide with what stays behind.
|
|
51
18
|
const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
52
19
|
const { target } = props
|
|
53
20
|
const { model } = props.ctx$
|
|
@@ -56,46 +23,13 @@ const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
|
56
23
|
|
|
57
24
|
const where = resolveAuthIn(model)
|
|
58
25
|
|
|
59
|
-
// LOWERCASED FOR A HEADER, VERBATIM OTHERWISE. `spec.headers` is a
|
|
60
|
-
// LinkedHashMap<String, Any?> — case-SENSITIVE — and every other writer
|
|
61
|
-
// and reader of an auth header in this target spells it lower case: the
|
|
62
|
-
// deleted template's own `HEADER_AUTH = "authorization"`, SecretsFeature's
|
|
63
|
-
// `headers["authorization"]` rewrite and removal, DebugFeature's redact
|
|
64
|
-
// list, PipelineTest's assertions, and the shared corpus's
|
|
65
|
-
// `ctx:spec:headers:authorization`. apidef writes `name: "Authorization"`,
|
|
66
|
-
// so emitting it verbatim would put the credential under a key none of
|
|
67
|
-
// those touch — a second header beside the one they manage rather than
|
|
68
|
-
// the one they manage. Header names are case-insensitive on the wire
|
|
69
|
-
// (RFC 7230) and lower case on HTTP/2, so nothing is lost. Query
|
|
70
|
-
// parameters and cookies ARE case-sensitive and keep the spec's spelling.
|
|
71
26
|
const resolved = resolveAuthName(model)
|
|
72
27
|
const name = 'header' === where ? resolved.toLowerCase() : resolved
|
|
73
28
|
|
|
74
29
|
const basic = isHttpBasicAuth(model)
|
|
75
30
|
|
|
76
|
-
// Read so the resolution is visible at generation time even though the
|
|
77
|
-
// emitted code takes the prefix from options at runtime (the secrets
|
|
78
|
-
// feature rewrites it there).
|
|
79
31
|
const prefix = resolveAuthPrefix(model)
|
|
80
32
|
|
|
81
|
-
// FOLDER NESTING, worked out from the template's own path and from
|
|
82
|
-
// Main_kotlin's call site.
|
|
83
|
-
//
|
|
84
|
-
// Main_kotlin's `Copy({ from: 'tm/kotlin', exclude: [/src\//] })` runs at
|
|
85
|
-
// Main's TOP LEVEL, so `tm/kotlin/utility/Prepare.kt` lands at
|
|
86
|
-
// `<out>/utility/Prepare.kt` — and `build.gradle.kts` declares
|
|
87
|
-
// `sourceSets["main"].kotlin.setSrcDirs(listOf("core", "utility",
|
|
88
|
-
// "feature", "entity"))`, four SIBLING roots at the target root. So this
|
|
89
|
-
// component opens exactly ONE segment, `utility`, and Main must call it
|
|
90
|
-
// from its top level — NOT from inside `Folder({ name: 'core' })`, where
|
|
91
|
-
// Config and SdkError are written.
|
|
92
|
-
//
|
|
93
|
-
// Nested there it would write `core/utility/PrepareAuth.kt`, and that
|
|
94
|
-
// mistake is INVISIBLE to a compile: `core` is itself a source root and
|
|
95
|
-
// gradle scans it recursively, so the misplaced file would still be
|
|
96
|
-
// compiled and its `package <pkg>.utility` declaration would still make
|
|
97
|
-
// `::prepareAuth` resolve. The tree would simply be wrong — a utility
|
|
98
|
-
// file filed under core — with nothing to report it.
|
|
99
33
|
Folder({ name: 'utility' }, () => {
|
|
100
34
|
File({ name: 'PrepareAuth.' + target.ext }, () => {
|
|
101
35
|
Content(render({
|
|
@@ -122,31 +56,6 @@ type AuthSpec = {
|
|
|
122
56
|
|
|
123
57
|
|
|
124
58
|
function render(spec: AuthSpec): string {
|
|
125
|
-
// NOT `isAuthActive`, AND THE DIFFERENCE IS LOAD-BEARING.
|
|
126
|
-
//
|
|
127
|
-
// `isAuthActive` answers two different questions with one boolean:
|
|
128
|
-
//
|
|
129
|
-
// 1. `main.kit.config.auth.active: false` — this SDK is deliberately
|
|
130
|
-
// built WITHOUT auth. A per-SDK decision by the project.
|
|
131
|
-
// 2. `main.kit.info.auth: false` — the SPEC declares no
|
|
132
|
-
// security scheme. A fact about the API definition.
|
|
133
|
-
//
|
|
134
|
-
// Only (1) may silence prepareAuth. (2) says nothing about whether the
|
|
135
|
-
// CALLER holds a credential, and kotlin has always let one through: the
|
|
136
|
-
// optspec in `tm/kotlin/utility/MakeOptions.kt` supplies an
|
|
137
|
-
// `"auth": { "prefix": "" }` default whether or not the generated Config
|
|
138
|
-
// carries one, so `options["auth"]` is non-null at runtime, the
|
|
139
|
-
// template's `options["auth"] == null` guard never fired, and the
|
|
140
|
-
// credential was placed regardless of what the spec declared. The
|
|
141
|
-
// generated secrets feature depends on exactly that — it resolves a
|
|
142
|
-
// secret into `options.apikey` and expects prepareAuth to place it — and
|
|
143
|
-
// so does generatedcompile's `kotlin: auth null beats an explicit apikey`
|
|
144
|
-
// lane, whose baseline ("an ordinary apikey IS sent") is unsatisfiable
|
|
145
|
-
// the moment the wider gate is used.
|
|
146
|
-
//
|
|
147
|
-
// `isAuthSuppressed` is the narrow one: `main.kit.config.auth.active ===
|
|
148
|
-
// false` and nothing else. A spec that is merely silent keeps the
|
|
149
|
-
// credential path it has always had.
|
|
150
59
|
if (spec.suppressed) {
|
|
151
60
|
return head(spec) + `import ${spec.kotlinpackage}.core.Context
|
|
152
61
|
import ${spec.kotlinpackage}.core.Spec
|
|
@@ -176,9 +85,6 @@ function head(spec: AuthSpec): string {
|
|
|
176
85
|
}
|
|
177
86
|
|
|
178
87
|
|
|
179
|
-
// The credential-absent test, identical in all three placements and
|
|
180
|
-
// identical to the template's. Kept as one string so a placement cannot
|
|
181
|
-
// drift from the others on what "no credential" means.
|
|
182
88
|
const SKIP = ` var skip = false
|
|
183
89
|
if (apikey == null) {
|
|
184
90
|
skip = true
|
|
@@ -246,15 +152,6 @@ fun prepareAuth(ctx: Context): Spec {
|
|
|
246
152
|
}
|
|
247
153
|
|
|
248
154
|
|
|
249
|
-
// HTTP BASIC IS HEADER-ONLY BY DEFINITION: the scheme is
|
|
250
|
-
// `Authorization: Basic base64(user:pass)`. It cannot be expressed as a
|
|
251
|
-
// query parameter or a cookie, so the branch is emitted only from
|
|
252
|
-
// renderHeader, and only when the model says this API actually uses it — a
|
|
253
|
-
// bearer SDK carries none of it.
|
|
254
|
-
//
|
|
255
|
-
// `Struct.getpath` returns the UNDEF sentinel, not null, for a path the map
|
|
256
|
-
// does not have, so the switch is read with `is Boolean` rather than
|
|
257
|
-
// compared against `true`: the sentinel is neither.
|
|
258
155
|
function basicBlock(spec: AuthSpec): string {
|
|
259
156
|
if (!spec.basic) return ''
|
|
260
157
|
|
|
@@ -293,10 +190,6 @@ function basicBlock(spec: AuthSpec): string {
|
|
|
293
190
|
}
|
|
294
191
|
|
|
295
192
|
|
|
296
|
-
// QUERY. MakeSpecUrl fills `spec.query` (prepareQuery) BEFORE it calls
|
|
297
|
-
// prepareAuth, and makeUrl reads `spec.query` afterwards, url-escaping every
|
|
298
|
-
// key and value onto the URL — so the credential placed here reaches the
|
|
299
|
-
// wire as `?name=value`. The headers are never touched.
|
|
300
193
|
function renderQuery(spec: AuthSpec): string {
|
|
301
194
|
return head(spec) + `import ${spec.kotlinpackage}.core.Context
|
|
302
195
|
import ${spec.kotlinpackage}.core.Spec
|
|
@@ -339,12 +232,6 @@ fun prepareAuth(ctx: Context): Spec {
|
|
|
339
232
|
}
|
|
340
233
|
|
|
341
234
|
|
|
342
|
-
// COOKIE. A cookie IS a header, so the credential rides the header bag —
|
|
343
|
-
// but the `cookie` header is SHARED with whatever cookies options.headers
|
|
344
|
-
// (or an earlier feature) put there, so our pair is SPLICED in and out
|
|
345
|
-
// rather than the header assigned over. Splicing also makes this
|
|
346
|
-
// idempotent: a retried request cannot end up carrying the credential
|
|
347
|
-
// twice.
|
|
348
235
|
function renderCookie(spec: AuthSpec): string {
|
|
349
236
|
return head(spec) + `import ${spec.kotlinpackage}.core.Context
|
|
350
237
|
import ${spec.kotlinpackage}.core.Spec
|
|
@@ -11,7 +11,6 @@ import { kotlinVarName } from './utility_kotlin'
|
|
|
11
11
|
|
|
12
12
|
// Type names come from the shared canonToType 'kotlin' column (single source of truth).
|
|
13
13
|
|
|
14
|
-
// A type-correct Kotlin literal for a field's canonical type.
|
|
15
14
|
function kotlinLit(type: any, placeholder: string = 'example'): string {
|
|
16
15
|
const k = canonScalarKey(type)
|
|
17
16
|
if ('INTEGER' === k) return '1L'
|
|
@@ -4,26 +4,6 @@ import { cmp, File, Content } from '@voxgig/sdkgen'
|
|
|
4
4
|
import { kotlinPackage } from './utility_kotlin'
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
// Emits test/ReadmeExamplesTest.kt — a JUnit PRESENCE + STRUCTURE gate over
|
|
8
|
-
// every ```kotlin fenced block in the repository ROOT README.md, the
|
|
9
|
-
// per-language kotlin/README.md, AND the per-language kotlin/REFERENCE.md.
|
|
10
|
-
//
|
|
11
|
-
// SCOPE NOTE (deliberate, documented): the Python/TS/Go equivalents EXECUTE and
|
|
12
|
-
// type-check every documented block. That is infeasible here — the generated
|
|
13
|
-
// Kotlin SDK compiles with Gradle/kotlinc only (no in-process Kotlin compiler
|
|
14
|
-
// dependency wired into the test classpath), so a test cannot compile-and-run
|
|
15
|
-
// arbitrary doc snippets at test time. This gate therefore guarantees the
|
|
16
|
-
// weaker-but-real invariant that keeps the docs honest as the generator evolves:
|
|
17
|
-
// 1. every doc exists and contains at least one ```kotlin block (nothing was
|
|
18
|
-
// dropped);
|
|
19
|
-
// 2. every ```kotlin block is structurally well-formed — its braces,
|
|
20
|
-
// parentheses and brackets balance (catches a truncated or malformed
|
|
21
|
-
// generated snippet).
|
|
22
|
-
// A per-doc summary line makes the coverage visible in the test output.
|
|
23
|
-
//
|
|
24
|
-
// The emitted Kotlin is written WITHOUT literal backticks (the fence marker is
|
|
25
|
-
// built at runtime as 96.toChar().toString().repeat(3)) so this TS template
|
|
26
|
-
// literal stays clean.
|
|
27
7
|
const ReadmeExamplesTest = cmp(function ReadmeExamplesTest(props: any) {
|
|
28
8
|
const { target, ctx$: { model } } = props
|
|
29
9
|
|
|
@@ -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
|
|
|
@@ -377,9 +377,6 @@ val client = ${SDK}(mutableMapOf<String, Any?>("feature" to feature))
|
|
|
377
377
|
\`\`\`
|
|
378
378
|
|
|
379
379
|
`)
|
|
380
|
-
// The shared feature reference: options, defaults, usage and the
|
|
381
|
-
// considerations. Model facts, identical in every target, so they are
|
|
382
|
-
// written once in cmp/ReadmeRefFeatures.ts rather than here.
|
|
383
380
|
ReadmeRefFeatures({ target })
|
|
384
381
|
}
|
|
385
382
|
|
|
@@ -54,15 +54,10 @@ import ${kotlinPackage(model)}.core.${SDK}
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
if (exampleEntity) {
|
|
57
|
-
// Sanitise the local variable name — an entity whose camelCased name is a
|
|
58
|
-
// Kotlin keyword gets a trailing underscore (kotlinVarName) so the snippet
|
|
59
|
-
// compiles.
|
|
60
57
|
const eVar = kotlinVarName(exampleEntity.name)
|
|
61
58
|
const accessor = kotlinVarName(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_kotlin'
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
// THE GENERATED SCHEMA MODULE: the model's schemas, as data the SDK can run.
|
|
22
|
-
//
|
|
23
|
-
// The kotlin 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 kotlin 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
|
|
31
|
-
// kotlin's. Chunked StringBuilder appends, exactly as Config.kt carries its
|
|
32
|
-
// config, keep every string constant far below the JVM's 64KB limit no matter
|
|
33
|
-
// how 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 kotlin type and struct reads a spec BY EXAMPLE, so one
|
|
39
|
-
// number in here would mean something different in kotlin 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
|
|
@@ -152,10 +152,6 @@ ${allSteps.length > 0 ? ` val client = setup.client\n\n` : ''}`)
|
|
|
152
152
|
|
|
153
153
|
`)
|
|
154
154
|
|
|
155
|
-
// Stream test (PR #4): the entity `stream` method runs the op pipeline and
|
|
156
|
-
// returns a Sequence. With the streaming feature active it yields from the
|
|
157
|
-
// feature's incremental iterator; otherwise it falls back to the
|
|
158
|
-
// materialised items. Only emitted for entities whose flow lists.
|
|
159
155
|
const flowHasList = allSteps.some((s: any) => s.op === 'list')
|
|
160
156
|
if (flowHasList) {
|
|
161
157
|
Content(` @Test
|
|
@@ -24,12 +24,6 @@ const Test = cmp(function Test(props: any) {
|
|
|
24
24
|
// Write-once: a project's edited control file survives regeneration.
|
|
25
25
|
TestControl({ target, dir: 'test' })
|
|
26
26
|
|
|
27
|
-
// The shared test infrastructure (RunnerSupport, the vendored omni
|
|
28
|
-
// runner under test/vendor/omni with its OmniResolver/OmniSmokeTest,
|
|
29
|
-
// FeatureHarness, PipelineTest, FeatureTest, NetsimTest,
|
|
30
|
-
// PrimaryUtilityTest, CustomUtilityTest, StructCorpusTest, ExistsTest
|
|
31
|
-
// and sdk-test-control.json) ships as templates in tm/kotlin/test/ and
|
|
32
|
-
// is copied by Main_kotlin. Here we generate only the API-specific tests.
|
|
33
27
|
const entity = each(entityCollection(model))
|
|
34
28
|
.filter((e: any) => false !== e.active)
|
|
35
29
|
each(entity, (entity: ModelEntity) => {
|
|
@@ -34,7 +34,6 @@ function kotlinPackage(model: any): string {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
// Maven/Gradle group coordinates for the generated SDK (used by Package_kotlin).
|
|
38
37
|
function gradleGroup(model: any): string {
|
|
39
38
|
const org = String(model.origin || 'voxgig-sdk')
|
|
40
39
|
.replace(/-sdk$/, '')
|
|
@@ -45,7 +44,6 @@ function gradleGroup(model: any): string {
|
|
|
45
44
|
|
|
46
45
|
|
|
47
46
|
const KOTLIN_KEYWORDS = new Set([
|
|
48
|
-
// hard keywords
|
|
49
47
|
'as', 'break', 'class', 'continue', 'do', 'else', 'false', 'for', 'fun',
|
|
50
48
|
'if', 'in', 'interface', 'is', 'null', 'object', 'package', 'return',
|
|
51
49
|
'super', 'this', 'throw', 'true', 'try', 'typealias', 'typeof', 'val',
|
|
@@ -53,9 +51,6 @@ const KOTLIN_KEYWORDS = new Set([
|
|
|
53
51
|
])
|
|
54
52
|
|
|
55
53
|
|
|
56
|
-
// A camelCase Kotlin identifier for a snake_case model name
|
|
57
|
-
// (`status_embed_config` -> `statusEmbedConfig`), with a reserved-word
|
|
58
|
-
// guard (a `fun`/`class` entity must not bind a Kotlin keyword).
|
|
59
54
|
function kotlinVarName(name: string): string {
|
|
60
55
|
const pascal = camelify(name)
|
|
61
56
|
const out = pascal.charAt(0).toLowerCase() + pascal.slice(1)
|
|
@@ -63,42 +58,14 @@ function kotlinVarName(name: string): string {
|
|
|
63
58
|
}
|
|
64
59
|
|
|
65
60
|
|
|
66
|
-
// Strip model bookkeeping keys (ending in $) from a config subtree.
|
|
67
|
-
// Emission-time normalisation of a model subtree (L0).
|
|
68
|
-
//
|
|
69
|
-
// Always drops jostraca's iteration metadata (`$`-suffixed keys: index$,
|
|
70
|
-
// key$, val$). With `dropDefaults`, also drops keys whose value IS the
|
|
71
|
-
// default the runtime already assumes when the key is absent, which is pure
|
|
72
|
-
// payload — see CONFIG_DEFAULT.
|
|
73
|
-
//
|
|
74
|
-
// Rebuilds the tree rather than mutating during a walk. The previous
|
|
75
|
-
// implementation walked a clone calling `delete p[k]`, but walk() assigns its
|
|
76
|
-
// callback's result back over the child (`setprop(out, ckey, walk(...))`), so
|
|
77
|
-
// the delete was undone on the way out and the helper silently did nothing.
|
|
78
|
-
// Returning `undefined` from the callback does not fix it either: setprop
|
|
79
|
-
// stores undefined rather than removing the key, which then emits as a null.
|
|
80
|
-
//
|
|
81
|
-
// `dropDefaults` is opt-in and must be passed ONLY for the entity subtree.
|
|
82
|
-
// `active` means something different in feature config, where absent reads as
|
|
83
|
-
// INACTIVE (see feature_init) — dropping `active: true` there would silently
|
|
84
|
-
// disable the feature.
|
|
85
|
-
// jostraca's iteration metadata, injected by each()/names() while it walks the
|
|
86
|
-
// model. Listed explicitly rather than matched by trailing-dollar suffix: a
|
|
87
|
-
// trailing dollar is not exclusive to jostraca -- Seneca uses entity$ as real
|
|
88
|
-
// data -- so a blanket suffix match can silently drop a legitimate API field.
|
|
89
61
|
const MODEL_META = ['index$', 'key$', 'val$']
|
|
90
62
|
|
|
91
|
-
// Keys whose value IS the default the runtime already assumes when the key is
|
|
92
|
-
// absent, so emitting them is pure payload.
|
|
93
63
|
const CONFIG_DEFAULT: Record<string, any> = {
|
|
94
64
|
active: true,
|
|
95
65
|
req: false,
|
|
96
66
|
reqd: false,
|
|
97
67
|
}
|
|
98
68
|
|
|
99
|
-
// Subtrees carrying user payload rather than schema. An active:true inside an
|
|
100
|
-
// OpenAPI example is DATA, not a default, so default-pruning stops at these
|
|
101
|
-
// keys and everything below them is passed through untouched.
|
|
102
69
|
const PAYLOAD_KEYS = ['default', 'example', 'examples']
|
|
103
70
|
|
|
104
71
|
function cleanModel(o: any, dropDefaults?: boolean): any {
|
|
@@ -35,21 +35,6 @@ import {
|
|
|
35
35
|
} from './utility_lua'
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
// PLUGIN DEFINITION REQUIRES AND THE FEATURE PLUGINS TABLE (the lua peer
|
|
39
|
-
// of cmp/py/Config_py.ts's pluginImports/pluginDefs).
|
|
40
|
-
//
|
|
41
|
-
// Upstream sekreto replaced its self-registration registry with
|
|
42
|
-
// voxgig/plugin definitions: a provider kind the caller did not pass in via
|
|
43
|
-
// `plugins = { ... }` is unknown to that Sekreto. So the generated
|
|
44
|
-
// config_plugins module requires each active plugin's module and names the
|
|
45
|
-
// FIELD it exports (the model's `def.lua` map - `hashicorp` on
|
|
46
|
-
// plugins/hashicorp.lua, `awssecrets` AND `awsparams` on plugins/aws.lua),
|
|
47
|
-
// handing the list to the feature.
|
|
48
|
-
//
|
|
49
|
-
// A def value is the module's path under tm/lua, this target's root; the
|
|
50
|
-
// require is that path with `.lua` stripped and slashes turned to dots,
|
|
51
|
-
// resolved by the plain `?.lua` searcher every generated lua SDK relies on.
|
|
52
|
-
// One `local` per module, so a two-definition module is required once.
|
|
53
38
|
function pluginRequires(feature: any): { locals: string[], defs: Record<string, string[]> } {
|
|
54
39
|
const bypath: Record<string, { local: string, syms: string[] }> = {}
|
|
55
40
|
const defs: Record<string, string[]> = {}
|
|
@@ -94,36 +79,22 @@ const Config = cmp(async function Config(props: any) {
|
|
|
94
79
|
const model: Model = ctx$.model
|
|
95
80
|
|
|
96
81
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
97
|
-
// Gated by the applicability tags, so this target never imports or
|
|
98
|
-
// registers a feature it has no source for. One rule, one place:
|
|
99
|
-
// helpers/applicability.
|
|
100
82
|
const feature = targetFeatures(model, target)
|
|
101
83
|
|
|
102
84
|
const headers = getModelPath(model, `main.${KIT}.config.headers`) || {}
|
|
103
85
|
|
|
104
86
|
const authActive = isAuthActive(model)
|
|
105
|
-
// config.auth.prefix override -> spec-derived info.security.prefix -> 'Bearer'
|
|
106
87
|
const authPrefix = resolveAuthPrefix(model)
|
|
107
88
|
|
|
108
89
|
let baseUrl = ''
|
|
109
90
|
try { baseUrl = getModelPath(model, `main.${KIT}.info.servers.0.url`) } catch (_e) { }
|
|
110
91
|
|
|
111
|
-
// Templated server URL: emit the spec's server-variable defaults so the
|
|
112
|
-
// runtime can substitute {name} placeholders in base (see make_options).
|
|
113
92
|
const svars = serverVariables(model)
|
|
114
93
|
const serverBlock = 0 === svars.length ? '' :
|
|
115
94
|
' server = {\n' +
|
|
116
95
|
svars.map((v: any) => ` [${JSON.stringify(v.name)}] = ${JSON.stringify(v.dflt)},\n`).join('') +
|
|
117
96
|
' },\n'
|
|
118
97
|
|
|
119
|
-
// WHERE the credential goes and UNDER WHAT NAME. apidef resolved both
|
|
120
|
-
// from the spec's securityScheme all along and generation dropped them,
|
|
121
|
-
// so an apiKey-in-query API got an authorization header it does not read.
|
|
122
|
-
// Emitted only when they differ from the defaults, so a
|
|
123
|
-
// header/Authorization SDK is byte-identical to what it generated before.
|
|
124
|
-
//
|
|
125
|
-
// `in` is a RESERVED WORD in lua, so the key is bracketed - a bare
|
|
126
|
-
// `in = "query"` does not parse.
|
|
127
98
|
const authIn = resolveAuthIn(model)
|
|
128
99
|
const authName = resolveAuthName(model)
|
|
129
100
|
const authBlock = authActive
|
|
@@ -134,13 +105,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
134
105
|
},\n`
|
|
135
106
|
: ''
|
|
136
107
|
|
|
137
|
-
// The same config as an OBJECT, built by the shared helper so this target's
|
|
138
|
-
// literal and the data that replaces it above the threshold are the same
|
|
139
|
-
// config by construction. The JSON is what the threshold is measured on -
|
|
140
|
-
// emitted source size varies by language, the model does not. Passing the
|
|
141
|
-
// target name opts this target into the main slug/version/target identity
|
|
142
|
-
// fields (station descriptor v1 reads all three) - the literal branch
|
|
143
|
-
// below emits them too, so the two representations cannot diverge.
|
|
144
108
|
const { def: configDef, json: configJson } = configDefinition(model, target.name)
|
|
145
109
|
const asData = isConfigData(configJson, configReprSetting(model))
|
|
146
110
|
|
|
@@ -150,18 +114,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
150
114
|
|
|
151
115
|
`)
|
|
152
116
|
|
|
153
|
-
// ABOVE THE THRESHOLD: emit the model as DATA.
|
|
154
|
-
//
|
|
155
|
-
// A table constructor makes the Lua parser emit a SETTABLE per entry and
|
|
156
|
-
// the VM run them all on every load; a long-bracket string is one token,
|
|
157
|
-
// and dkjson's decoder builds the table from it.
|
|
158
|
-
//
|
|
159
|
-
// dkjson is already a runtime dependency - `utility/fetcher.lua` decodes
|
|
160
|
-
// every HTTP response with it - so this adds nothing to the SDK.
|
|
161
|
-
//
|
|
162
|
-
// Null handling agrees between the branches by construction: dkjson maps
|
|
163
|
-
// JSON null to nil, and assigning nil to a table key removes it, which is
|
|
164
|
-
// exactly what the literal branch does when `formatLuaTable` emits `nil`.
|
|
165
117
|
if (asData) {
|
|
166
118
|
Content(`local json = require("dkjson")
|
|
167
119
|
|
|
@@ -253,14 +205,6 @@ return make_config
|
|
|
253
205
|
`)
|
|
254
206
|
})
|
|
255
207
|
|
|
256
|
-
// The plugin definitions the model selected per feature, as a module of
|
|
257
|
-
// the config family. ALWAYS emitted, even with nothing declared: the
|
|
258
|
-
// secrets feature requires it (a missing module and a broken one must
|
|
259
|
-
// read differently there), and a feature source arrives in the tree by
|
|
260
|
-
// Main's blanket copy whether or not the model declares the feature.
|
|
261
|
-
//
|
|
262
|
-
// A sibling module rather than a member of `config`, for the reason
|
|
263
|
-
// config_shared is: `config` returns a bare function.
|
|
264
208
|
const plugins = pluginRequires(feature)
|
|
265
209
|
|
|
266
210
|
File({ name: 'config_plugins.' + target.ext }, () => {
|
|
@@ -1,20 +1,5 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
// Typed-model generator (Lua target).
|
|
4
|
-
//
|
|
5
|
-
// Lua is dynamically typed, so the "types" are LuaLS annotations
|
|
6
|
-
// (---@class / ---@field) for editor/tooling DX only — no runtime effect.
|
|
7
|
-
//
|
|
8
|
-
// Reads main.<KIT>.entity.<e>.fields[] and per-op params
|
|
9
|
-
// (op.<name>.points[].args.params[]) and emits one file, <sdk>_types.lua,
|
|
10
|
-
// with a `---@class <Name>` per active entity plus a request/match ---@class
|
|
11
|
-
// per active op. Field/param sentinels ($STRING, $INTEGER, ...) are turned
|
|
12
|
-
// into LuaLS types by the shared sdkgen helper `canonToType` ('lua' column).
|
|
13
|
-
//
|
|
14
|
-
// Keeps the SAME type-name scheme as the TS reference (<Name>,
|
|
15
|
-
// <Name>LoadMatch, <Name>ListMatch, <Name>CreateData, <Name>UpdateData,
|
|
16
|
-
// <Name>RemoveMatch). The op fragments reference these class names via
|
|
17
|
-
// ---@param / ---@return.
|
|
18
3
|
|
|
19
4
|
import {
|
|
20
5
|
cmp, each, names,
|
|
@@ -32,8 +17,6 @@ import {
|
|
|
32
17
|
const LANG = 'lua'
|
|
33
18
|
|
|
34
19
|
|
|
35
|
-
// A bare LuaLS field key, or a bracketed string literal for anything that is
|
|
36
|
-
// not a plain Lua identifier.
|
|
37
20
|
function propKey(name: string): string {
|
|
38
21
|
return /^[A-Za-z_][A-Za-z0-9_]*$/.test(name) ? name : '[' + JSON.stringify(name) + ']'
|
|
39
22
|
}
|
|
@@ -43,10 +26,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
43
26
|
const { target } = props
|
|
44
27
|
const { model, log } = props.ctx$
|
|
45
28
|
|
|
46
|
-
// only_active:false — getModelPath DROPS active:false entries by default,
|
|
47
|
-
// but the consumer scaffold (create-sdkgen Root.ts) iterates the RAW entity
|
|
48
|
-
// collection, so inactive entities still get generated entity code that
|
|
49
|
-
// references these typed names. The typed model must cover them too.
|
|
50
29
|
const entity = getModelPath(model, `main.${KIT}.entity`, { only_active: false, required: false })
|
|
51
30
|
// Emit for EVERY entity that gets generated entity code: the consumer
|
|
52
31
|
// scaffold (create-sdkgen Root.ts) iterates entities WITHOUT an active
|
|
@@ -58,9 +37,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
58
37
|
// entity not yet named (e.g. a fieldless placeholder) would otherwise read
|
|
59
38
|
// `Name = undefined` below. Parity with the go emitter's fix.
|
|
60
39
|
|
|
61
|
-
// Surface duplicate generated type names (two entities with the same
|
|
62
|
-
// PascalCase Name) — they would redeclare a type in statically-typed
|
|
63
|
-
// targets. Detection only; renaming is a model-level decision.
|
|
64
40
|
warnEntityTypeCollisions(entity, log, LANG)
|
|
65
41
|
|
|
66
42
|
File({ name: model.name + '_types.' + (target.ext || LANG) }, () => {
|
|
@@ -80,7 +56,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
80
56
|
const fields = (ent.fields ? each(ent.fields) : [])
|
|
81
57
|
.filter((f: any) => f.active !== false)
|
|
82
58
|
|
|
83
|
-
// Entity data model: one ---@field per field, `req:false` -> optional (?).
|
|
84
59
|
Content(`---@class ${Name}
|
|
85
60
|
`)
|
|
86
61
|
fields.forEach((f: any) => {
|
|
@@ -91,9 +66,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
91
66
|
Content(`
|
|
92
67
|
`)
|
|
93
68
|
|
|
94
|
-
// Per active op: a request/match class. Members and their optionality
|
|
95
|
-
// come from the shared partiality policy (opRequestShape); this file only
|
|
96
|
-
// renders them as LuaLS ---@field lines.
|
|
97
69
|
const ops = ent.op || {}
|
|
98
70
|
;['load', 'list', 'create', 'update', 'remove'].forEach((opname: string) => {
|
|
99
71
|
if (null == ops[opname]) {
|
|
@@ -115,8 +87,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
115
87
|
})
|
|
116
88
|
})
|
|
117
89
|
|
|
118
|
-
// Make the file a require-able (empty) module. The blank line above keeps
|
|
119
|
-
// LuaLS from binding the last ---@class to this local.
|
|
120
90
|
Content(`local M = {}
|
|
121
91
|
|
|
122
92
|
return M
|
|
@@ -35,7 +35,6 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
35
35
|
|
|
36
36
|
const ff = Path.normalize(__dirname + '/../../../src/cmp/lua/fragment/')
|
|
37
37
|
|
|
38
|
-
// Entity files go to entity/ folder
|
|
39
38
|
Folder({ name: 'entity' }, () => {
|
|
40
39
|
|
|
41
40
|
File({ name: entity.name + '_entity.' + target.ext }, () => {
|
|
@@ -58,14 +57,8 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
58
57
|
EntityName: entity.Name,
|
|
59
58
|
entityname: entity.name,
|
|
60
59
|
|
|
61
|
-
// Class token decoupled from the EntityName data-type token in
|
|
62
|
-
// Entity.fragment.lua so the class can be renamed independently.
|
|
63
60
|
EntyClass: cls,
|
|
64
61
|
|
|
65
|
-
// Feature-hook wiring: the built-in `#Name-Hook` tag replacement
|
|
66
|
-
// is hardwired to `//` line comments, so Lua's `-- #PrePoint-Hook`
|
|
67
|
-
// markers were never matched and no pipeline hooks fired in
|
|
68
|
-
// generated code. Match the Lua-comment hook tags explicitly.
|
|
69
62
|
'/(?<indent>[ \\t]*)-- #(?<name>[A-Za-z0-9]+)-Hook[ \\t]*\\n?/':
|
|
70
63
|
({ name, indent }: any) =>
|
|
71
64
|
`${indent}utility.feature_hook(ctx, "${name}")\n`,
|