@voxgig/sdkgen 4.21.0 → 4.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/voxgig-sdkgen +1 -1
- package/dist/action/action.js +0 -65
- package/dist/action/action.js.map +1 -1
- package/dist/action/check.js +0 -88
- package/dist/action/check.js.map +1 -1
- package/dist/action/dispatch.js +0 -27
- package/dist/action/dispatch.js.map +1 -1
- package/dist/action/doctor.d.ts +1 -0
- package/dist/action/doctor.js +55 -321
- package/dist/action/doctor.js.map +1 -1
- package/dist/action/edition.js +1 -87
- package/dist/action/edition.js.map +1 -1
- package/dist/action/feature.js +0 -48
- package/dist/action/feature.js.map +1 -1
- package/dist/action/kind.js +0 -132
- package/dist/action/kind.js.map +1 -1
- package/dist/action/package.js +0 -221
- package/dist/action/package.js.map +1 -1
- package/dist/action/resolve.js +0 -145
- package/dist/action/resolve.js.map +1 -1
- package/dist/action/target.js +0 -177
- package/dist/action/target.js.map +1 -1
- package/dist/cmp/AgentGuide.js +0 -7
- package/dist/cmp/AgentGuide.js.map +1 -1
- package/dist/cmp/AgentGuideContent.js +0 -24
- package/dist/cmp/AgentGuideContent.js.map +1 -1
- package/dist/cmp/AgentGuideTop.js +0 -7
- package/dist/cmp/AgentGuideTop.js.map +1 -1
- package/dist/cmp/Changelog.js +0 -14
- package/dist/cmp/Changelog.js.map +1 -1
- package/dist/cmp/Deploy.js +1 -31
- package/dist/cmp/Deploy.js.map +1 -1
- package/dist/cmp/Entity.js +0 -4
- package/dist/cmp/Entity.js.map +1 -1
- package/dist/cmp/ExternalTarget.js +0 -36
- package/dist/cmp/ExternalTarget.js.map +1 -1
- package/dist/cmp/Feature.js +0 -14
- package/dist/cmp/Feature.js.map +1 -1
- package/dist/cmp/FeatureDocs.js +0 -25
- package/dist/cmp/FeatureDocs.js.map +1 -1
- package/dist/cmp/PublishWorkflow.js +0 -60
- package/dist/cmp/PublishWorkflow.js.map +1 -1
- package/dist/cmp/ReadmeErrors.js +0 -2
- package/dist/cmp/ReadmeErrors.js.map +1 -1
- package/dist/cmp/ReadmeExplanation.js +0 -5
- package/dist/cmp/ReadmeExplanation.js.map +1 -1
- package/dist/cmp/ReadmeFeatures.js +0 -10
- package/dist/cmp/ReadmeFeatures.js.map +1 -1
- package/dist/cmp/ReadmeRefFeatures.js +0 -19
- package/dist/cmp/ReadmeRefFeatures.js.map +1 -1
- package/dist/cmp/ReadmeStation.js +0 -19
- package/dist/cmp/ReadmeStation.js.map +1 -1
- package/dist/cmp/ReadmeTop.js +0 -80
- package/dist/cmp/ReadmeTop.js.map +1 -1
- package/dist/cmp/ReadmeUnions.js +0 -15
- package/dist/cmp/ReadmeUnions.js.map +1 -1
- package/dist/cmp/Registered.js +0 -30
- package/dist/cmp/Registered.js.map +1 -1
- package/dist/cmp/Security.js +0 -2
- package/dist/cmp/Security.js.map +1 -1
- package/dist/cmp/Test.js +2 -1
- package/dist/cmp/Test.js.map +1 -1
- package/dist/cmp/TestControl.js +0 -25
- package/dist/cmp/TestControl.js.map +1 -1
- package/dist/helpers/applicability.js +0 -60
- package/dist/helpers/applicability.js.map +1 -1
- package/dist/helpers/buildIdNames.js +0 -12
- package/dist/helpers/buildIdNames.js.map +1 -1
- package/dist/helpers/canonSpec.js +0 -114
- package/dist/helpers/canonSpec.js.map +1 -1
- package/dist/helpers/canonType.js +0 -87
- package/dist/helpers/canonType.js.map +1 -1
- package/dist/helpers/collectDeps.js +0 -27
- package/dist/helpers/collectDeps.js.map +1 -1
- package/dist/helpers/definition.js +0 -29
- package/dist/helpers/definition.js.map +1 -1
- package/dist/helpers/dryrun.js +0 -8
- package/dist/helpers/dryrun.js.map +1 -1
- package/dist/helpers/featureSource.js +0 -145
- package/dist/helpers/featureSource.js.map +1 -1
- package/dist/helpers/getMatchEntries.js +0 -4
- package/dist/helpers/getMatchEntries.js.map +1 -1
- package/dist/helpers/junk.js +9 -85
- package/dist/helpers/junk.js.map +1 -1
- package/dist/helpers/manifest.js +0 -138
- package/dist/helpers/manifest.js.map +1 -1
- package/dist/helpers/modelNames.js +0 -78
- package/dist/helpers/modelNames.js.map +1 -1
- package/dist/helpers/modelcheck.js +0 -106
- package/dist/helpers/modelcheck.js.map +1 -1
- package/dist/helpers/naming.d.ts +0 -1
- package/dist/helpers/naming.js +0 -303
- package/dist/helpers/naming.js.map +1 -1
- package/dist/helpers/opExample.js +0 -51
- package/dist/helpers/opExample.js.map +1 -1
- package/dist/helpers/opShape.js +0 -198
- package/dist/helpers/opShape.js.map +1 -1
- package/dist/helpers/optspec.js +0 -77
- package/dist/helpers/optspec.js.map +1 -1
- package/dist/helpers/packageMeta.js +1 -200
- package/dist/helpers/packageMeta.js.map +1 -1
- package/dist/helpers/pointPath.js +0 -55
- package/dist/helpers/pointPath.js.map +1 -1
- package/dist/helpers/resolved.d.ts +6 -0
- package/dist/helpers/resolved.js +49 -0
- package/dist/helpers/resolved.js.map +1 -0
- package/dist/helpers/semver.js +0 -61
- package/dist/helpers/semver.js.map +1 -1
- package/dist/helpers/serverVars.js +0 -44
- package/dist/helpers/serverVars.js.map +1 -1
- package/dist/helpers/shipped.js +0 -14
- package/dist/helpers/shipped.js.map +1 -1
- package/dist/helpers/station.js +0 -32
- package/dist/helpers/station.js.map +1 -1
- package/dist/helpers/stdrep.js +0 -26
- package/dist/helpers/stdrep.js.map +1 -1
- package/dist/helpers/testPolicy.js +0 -4
- package/dist/helpers/testPolicy.js.map +1 -1
- package/dist/sdkgen.d.ts +2 -1
- package/dist/sdkgen.js +13 -242
- package/dist/sdkgen.js.map +1 -1
- package/dist/testkit.js +6 -266
- package/dist/testkit.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utility.js +0 -243
- package/dist/utility.js.map +1 -1
- package/model/sdkgen.aon +12 -489
- package/package.json +4 -4
- package/project/.sdk/model/feature/audit.aon +0 -7
- package/project/.sdk/model/feature/cache.aon +0 -7
- package/project/.sdk/model/feature/clienttrack.aon +0 -7
- package/project/.sdk/model/feature/cost.aon +0 -13
- package/project/.sdk/model/feature/debug.aon +0 -7
- package/project/.sdk/model/feature/idempotency.aon +0 -7
- package/project/.sdk/model/feature/log.aon +0 -7
- package/project/.sdk/model/feature/metrics.aon +0 -7
- package/project/.sdk/model/feature/netsim.aon +0 -10
- package/project/.sdk/model/feature/paging.aon +0 -7
- package/project/.sdk/model/feature/proxy.aon +0 -7
- package/project/.sdk/model/feature/ratelimit.aon +0 -7
- package/project/.sdk/model/feature/retry.aon +0 -7
- package/project/.sdk/model/feature/secrets.aon +0 -482
- package/project/.sdk/model/feature/streaming.aon +0 -7
- package/project/.sdk/model/feature/telemetry.aon +0 -7
- package/project/.sdk/model/feature/test.aon +1 -8
- package/project/.sdk/model/feature/timeout.aon +0 -7
- package/project/.sdk/model/feature/validate.aon +0 -32
- package/project/.sdk/model/target/c.aon +0 -41
- package/project/.sdk/model/target/clojure.aon +0 -36
- package/project/.sdk/model/target/cpp.aon +0 -42
- package/project/.sdk/model/target/csharp.aon +0 -26
- package/project/.sdk/model/target/elixir.aon +0 -22
- package/project/.sdk/model/target/go-cli.aon +0 -30
- package/project/.sdk/model/target/go-mcp.aon +0 -21
- package/project/.sdk/model/target/go.aon +0 -9
- package/project/.sdk/model/target/java.aon +0 -29
- package/project/.sdk/model/target/js.aon +2 -21
- package/project/.sdk/model/target/kotlin.aon +0 -31
- package/project/.sdk/model/target/lua.aon +0 -32
- package/project/.sdk/model/target/ocaml.aon +0 -64
- package/project/.sdk/model/target/perl.aon +0 -20
- package/project/.sdk/model/target/php.aon +0 -17
- package/project/.sdk/model/target/py-data.aon +0 -33
- package/project/.sdk/model/target/py.aon +0 -17
- package/project/.sdk/model/target/rb.aon +0 -17
- package/project/.sdk/model/target/rust.aon +0 -25
- package/project/.sdk/model/target/scala.aon +0 -74
- package/project/.sdk/model/target/swift.aon +0 -41
- package/project/.sdk/model/target/ts.aon +3 -25
- package/project/.sdk/model/target/zig.aon +0 -50
- package/project/.sdk/src/cmp/c/Config_c.ts +0 -100
- package/project/.sdk/src/cmp/c/EntityTypes_c.ts +0 -36
- package/project/.sdk/src/cmp/c/Main_c.ts +0 -44
- package/project/.sdk/src/cmp/c/Package_c.ts +0 -14
- package/project/.sdk/src/cmp/c/PrepareAuth_c.ts +0 -85
- package/project/.sdk/src/cmp/c/ReadmeExamplesTest_c.ts +0 -20
- package/project/.sdk/src/cmp/c/ReadmeRef_c.ts +2 -5
- package/project/.sdk/src/cmp/c/ReadmeTopQuick_c.ts +0 -2
- package/project/.sdk/src/cmp/c/Schema_c.ts +0 -19
- package/project/.sdk/src/cmp/c/utility_c.ts +0 -47
- package/project/.sdk/src/cmp/clojure/Config_clojure.ts +0 -63
- package/project/.sdk/src/cmp/clojure/Entity_clojure.ts +0 -1
- package/project/.sdk/src/cmp/clojure/Main_clojure.ts +0 -41
- package/project/.sdk/src/cmp/clojure/Package_clojure.ts +0 -20
- package/project/.sdk/src/cmp/clojure/PrepareAuth_clojure.ts +0 -130
- package/project/.sdk/src/cmp/clojure/ReadmeExamplesTest_clojure.ts +0 -16
- package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +2 -5
- package/project/.sdk/src/cmp/clojure/Schema_clojure.ts +0 -20
- package/project/.sdk/src/cmp/clojure/TestDirect_clojure.ts +0 -6
- package/project/.sdk/src/cmp/clojure/TestEntity_clojure.ts +0 -10
- package/project/.sdk/src/cmp/clojure/Test_clojure.ts +0 -8
- package/project/.sdk/src/cmp/clojure/featureextra_clojure.ts +0 -34
- package/project/.sdk/src/cmp/clojure/utility_clojure.ts +0 -47
- package/project/.sdk/src/cmp/cpp/Config_cpp.ts +0 -109
- package/project/.sdk/src/cmp/cpp/EntityTypes_cpp.ts +0 -36
- package/project/.sdk/src/cmp/cpp/Main_cpp.ts +0 -47
- package/project/.sdk/src/cmp/cpp/Package_cpp.ts +0 -14
- package/project/.sdk/src/cmp/cpp/PrepareAuth_cpp.ts +0 -125
- package/project/.sdk/src/cmp/cpp/ReadmeExamplesTest_cpp.ts +0 -19
- package/project/.sdk/src/cmp/cpp/ReadmeQuick_cpp.ts +0 -7
- package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +2 -5
- package/project/.sdk/src/cmp/cpp/Schema_cpp.ts +0 -21
- package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +0 -3
- package/project/.sdk/src/cmp/cpp/Test_cpp.ts +0 -3
- package/project/.sdk/src/cmp/cpp/utility_cpp.ts +0 -28
- package/project/.sdk/src/cmp/csharp/Config_csharp.ts +0 -79
- package/project/.sdk/src/cmp/csharp/EntityOperation_csharp.ts +0 -3
- package/project/.sdk/src/cmp/csharp/EntityTypes_csharp.ts +0 -50
- package/project/.sdk/src/cmp/csharp/Entity_csharp.ts +0 -1
- package/project/.sdk/src/cmp/csharp/Main_csharp.ts +0 -24
- package/project/.sdk/src/cmp/csharp/Package_csharp.ts +0 -20
- package/project/.sdk/src/cmp/csharp/PrepareAuth_csharp.ts +0 -81
- package/project/.sdk/src/cmp/csharp/ReadmeEntity_csharp.ts +0 -1
- package/project/.sdk/src/cmp/csharp/ReadmeExamplesTest_csharp.ts +0 -23
- package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +2 -5
- package/project/.sdk/src/cmp/csharp/ReadmeTopQuick_csharp.ts +0 -2
- package/project/.sdk/src/cmp/csharp/Schema_csharp.ts +0 -18
- package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +0 -4
- package/project/.sdk/src/cmp/csharp/utility_csharp.ts +0 -72
- package/project/.sdk/src/cmp/elixir/Config_elixir.ts +0 -78
- package/project/.sdk/src/cmp/elixir/EntityTypes_elixir.ts +0 -38
- package/project/.sdk/src/cmp/elixir/Main_elixir.ts +0 -40
- package/project/.sdk/src/cmp/elixir/Package_elixir.ts +0 -13
- package/project/.sdk/src/cmp/elixir/PrepareAuth_elixir.ts +0 -123
- package/project/.sdk/src/cmp/elixir/ReadmeExamplesTest_elixir.ts +0 -19
- package/project/.sdk/src/cmp/elixir/ReadmeRef_elixir.ts +2 -5
- package/project/.sdk/src/cmp/elixir/Schema_elixir.ts +0 -24
- package/project/.sdk/src/cmp/elixir/utility_elixir.ts +0 -34
- package/project/.sdk/src/cmp/go/Config_go.ts +0 -41
- package/project/.sdk/src/cmp/go/EntityTypes_go.ts +0 -71
- package/project/.sdk/src/cmp/go/Entity_go.ts +0 -5
- package/project/.sdk/src/cmp/go/Main_go.ts +0 -28
- package/project/.sdk/src/cmp/go/Package_go.ts +0 -7
- package/project/.sdk/src/cmp/go/PrepareAuth_go.ts +0 -64
- package/project/.sdk/src/cmp/go/ReadmeEntity_go.ts +0 -5
- package/project/.sdk/src/cmp/go/ReadmeExamplesTest_go.ts +0 -30
- package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +0 -3
- package/project/.sdk/src/cmp/go/ReadmeIntro_go.ts +0 -7
- package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +0 -11
- package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +0 -21
- package/project/.sdk/src/cmp/go/ReadmeRef_go.ts +2 -14
- package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +0 -9
- package/project/.sdk/src/cmp/go/Schema_go.ts +0 -21
- package/project/.sdk/src/cmp/go/TestDirect_go.ts +0 -23
- package/project/.sdk/src/cmp/go/TestEntity_go.ts +0 -8
- package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +0 -21
- package/project/.sdk/src/cmp/go/fragment/Main.fragment.go +0 -12
- package/project/.sdk/src/cmp/go/utility_go.ts +0 -70
- package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +0 -49
- package/project/.sdk/src/cmp/go-cli/fragment/words.fragment.go +0 -12
- package/project/.sdk/src/cmp/go-mcp/Main_go-mcp.ts +0 -36
- package/project/.sdk/src/cmp/go-mcp/fragment/main.fragment.go +0 -20
- package/project/.sdk/src/cmp/go-mcp/fragment/tools.fragment.go +0 -3
- package/project/.sdk/src/cmp/java/Config_java.ts +0 -63
- package/project/.sdk/src/cmp/java/EntityTypes_java.ts +0 -50
- package/project/.sdk/src/cmp/java/Entity_java.ts +0 -6
- package/project/.sdk/src/cmp/java/Main_java.ts +0 -24
- package/project/.sdk/src/cmp/java/PrepareAuth_java.ts +0 -55
- package/project/.sdk/src/cmp/java/ReadmeEntity_java.ts +0 -1
- package/project/.sdk/src/cmp/java/ReadmeExamplesTest_java.ts +0 -20
- package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +0 -4
- package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +2 -5
- package/project/.sdk/src/cmp/java/ReadmeTopQuick_java.ts +0 -7
- package/project/.sdk/src/cmp/java/Schema_java.ts +0 -19
- package/project/.sdk/src/cmp/java/TestDirect_java.ts +0 -7
- package/project/.sdk/src/cmp/java/TestEntity_java.ts +0 -4
- package/project/.sdk/src/cmp/java/Test_java.ts +0 -6
- package/project/.sdk/src/cmp/java/utility_java.ts +0 -33
- package/project/.sdk/src/cmp/js/Config_js.ts +0 -46
- package/project/.sdk/src/cmp/js/EntityTypes_js.ts +0 -33
- package/project/.sdk/src/cmp/js/Main_js.ts +0 -33
- package/project/.sdk/src/cmp/js/Package_js.ts +2 -7
- package/project/.sdk/src/cmp/js/PrepareAuth_js.ts +0 -57
- package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +0 -9
- package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +0 -2
- package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +0 -15
- package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +2 -7
- package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +0 -7
- package/project/.sdk/src/cmp/js/Schema_js.ts +0 -21
- package/project/.sdk/src/cmp/js/TestDirect_js.ts +2 -16
- package/project/.sdk/src/cmp/js/TestEntity_js.ts +3 -13
- package/project/.sdk/src/cmp/js/TestLive_js.ts +10 -3
- package/project/.sdk/src/cmp/js/utility_js.ts +0 -58
- package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +0 -46
- package/project/.sdk/src/cmp/kotlin/EntityOperation_kotlin.ts +0 -2
- package/project/.sdk/src/cmp/kotlin/EntityTypes_kotlin.ts +0 -53
- package/project/.sdk/src/cmp/kotlin/Entity_kotlin.ts +0 -4
- package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +0 -46
- package/project/.sdk/src/cmp/kotlin/PrepareAuth_kotlin.ts +0 -113
- package/project/.sdk/src/cmp/kotlin/ReadmeEntity_kotlin.ts +0 -1
- package/project/.sdk/src/cmp/kotlin/ReadmeExamplesTest_kotlin.ts +0 -20
- package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +2 -5
- package/project/.sdk/src/cmp/kotlin/ReadmeTopQuick_kotlin.ts +0 -5
- package/project/.sdk/src/cmp/kotlin/Schema_kotlin.ts +0 -19
- package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +0 -4
- package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +0 -6
- package/project/.sdk/src/cmp/kotlin/utility_kotlin.ts +0 -33
- package/project/.sdk/src/cmp/lua/Config_lua.ts +0 -56
- package/project/.sdk/src/cmp/lua/EntityTypes_lua.ts +0 -30
- package/project/.sdk/src/cmp/lua/Entity_lua.ts +0 -7
- package/project/.sdk/src/cmp/lua/Main_lua.ts +0 -58
- package/project/.sdk/src/cmp/lua/Package_lua.ts +0 -20
- package/project/.sdk/src/cmp/lua/PrepareAuth_lua.ts +0 -61
- package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +0 -8
- package/project/.sdk/src/cmp/lua/ReadmeExamplesTest_lua.ts +0 -24
- package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +0 -10
- package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +0 -21
- package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +2 -12
- package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +0 -3
- package/project/.sdk/src/cmp/lua/Schema_lua.ts +0 -16
- package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +0 -2
- package/project/.sdk/src/cmp/lua/utility_lua.ts +0 -30
- package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +0 -98
- package/project/.sdk/src/cmp/ocaml/EntityOperation_ocaml.ts +0 -6
- package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +0 -78
- package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +0 -13
- package/project/.sdk/src/cmp/ocaml/PrepareAuth_ocaml.ts +0 -145
- package/project/.sdk/src/cmp/ocaml/ReadmeExamplesTest_ocaml.ts +0 -17
- package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +2 -5
- package/project/.sdk/src/cmp/ocaml/Schema_ocaml.ts +0 -23
- package/project/.sdk/src/cmp/ocaml/SdkError_ocaml.ts +0 -4
- package/project/.sdk/src/cmp/ocaml/TestEntity_ocaml.ts +0 -5
- package/project/.sdk/src/cmp/ocaml/utility_ocaml.ts +0 -27
- package/project/.sdk/src/cmp/perl/Config_perl.ts +0 -52
- package/project/.sdk/src/cmp/perl/Entity_perl.ts +0 -3
- package/project/.sdk/src/cmp/perl/Main_perl.ts +0 -33
- package/project/.sdk/src/cmp/perl/Package_perl.ts +0 -8
- package/project/.sdk/src/cmp/perl/PrepareAuth_perl.ts +0 -84
- package/project/.sdk/src/cmp/perl/ReadmeEntity_perl.ts +0 -3
- package/project/.sdk/src/cmp/perl/ReadmeExamplesTest_perl.ts +0 -27
- package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +2 -5
- package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +0 -2
- package/project/.sdk/src/cmp/perl/Schema_perl.ts +0 -18
- package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +0 -2
- package/project/.sdk/src/cmp/perl/utility_perl.ts +0 -26
- package/project/.sdk/src/cmp/php/Config_php.ts +0 -76
- package/project/.sdk/src/cmp/php/EntityTypes_php.ts +0 -51
- package/project/.sdk/src/cmp/php/MainEntity_php.ts +0 -6
- package/project/.sdk/src/cmp/php/Main_php.ts +0 -15
- package/project/.sdk/src/cmp/php/PrepareAuth_php.ts +0 -73
- package/project/.sdk/src/cmp/php/ReadmeEntity_php.ts +0 -4
- package/project/.sdk/src/cmp/php/ReadmeExamplesTest_php.ts +0 -33
- package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +0 -1
- package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +0 -19
- package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +2 -7
- package/project/.sdk/src/cmp/php/Schema_php.ts +0 -15
- package/project/.sdk/src/cmp/php/TestEntity_php.ts +0 -9
- package/project/.sdk/src/cmp/php/utility_php.ts +0 -22
- package/project/.sdk/src/cmp/py/Config_py.ts +0 -53
- package/project/.sdk/src/cmp/py/EntityTypes_py.ts +0 -55
- package/project/.sdk/src/cmp/py/Entity_py.ts +0 -16
- package/project/.sdk/src/cmp/py/Main_py.ts +1 -61
- package/project/.sdk/src/cmp/py/Package_py.ts +0 -3
- package/project/.sdk/src/cmp/py/PrepareAuth_py.ts +0 -69
- package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +0 -13
- package/project/.sdk/src/cmp/py/ReadmeExamplesTest_py.ts +0 -31
- package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +0 -3
- package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +0 -28
- package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +2 -16
- package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +0 -14
- package/project/.sdk/src/cmp/py/Schema_py.ts +0 -19
- package/project/.sdk/src/cmp/py/TestDirect_py.ts +0 -2
- package/project/.sdk/src/cmp/py/utility_py.ts +0 -22
- package/project/.sdk/src/cmp/py-data/Main_py-data.ts +9 -43
- package/project/.sdk/src/cmp/rb/Config_rb.ts +0 -56
- package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +0 -58
- package/project/.sdk/src/cmp/rb/Entity_rb.ts +0 -3
- package/project/.sdk/src/cmp/rb/Main_rb.ts +0 -10
- package/project/.sdk/src/cmp/rb/Package_rb.ts +0 -5
- package/project/.sdk/src/cmp/rb/PrepareAuth_rb.ts +0 -81
- package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +0 -7
- package/project/.sdk/src/cmp/rb/ReadmeExamplesTest_rb.ts +0 -32
- package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +0 -9
- package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +0 -23
- package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +2 -10
- package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +0 -5
- package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +0 -3
- package/project/.sdk/src/cmp/rb/Schema_rb.ts +0 -15
- package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +0 -2
- package/project/.sdk/src/cmp/rb/utility_rb.ts +0 -22
- package/project/.sdk/src/cmp/rust/Config_rust.ts +0 -35
- package/project/.sdk/src/cmp/rust/EntityTypes_rust.ts +0 -34
- package/project/.sdk/src/cmp/rust/Entity_rust.ts +0 -9
- package/project/.sdk/src/cmp/rust/Main_rust.ts +0 -58
- package/project/.sdk/src/cmp/rust/Package_rust.ts +0 -30
- package/project/.sdk/src/cmp/rust/PrepareAuth_rust.ts +0 -84
- package/project/.sdk/src/cmp/rust/ReadmeExamplesTest_rust.ts +0 -16
- package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +2 -5
- package/project/.sdk/src/cmp/rust/Schema_rust.ts +0 -18
- package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +0 -7
- package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +0 -9
- package/project/.sdk/src/cmp/rust/fragment/Entity.fragment.rs +0 -14
- package/project/.sdk/src/cmp/rust/fragment/EntityRemoveOp.fragment.rs +0 -4
- package/project/.sdk/src/cmp/rust/fragment/Main.fragment.rs +0 -20
- package/project/.sdk/src/cmp/rust/fragment/SdkError.fragment.rs +0 -6
- package/project/.sdk/src/cmp/rust/utility_rust.ts +0 -47
- package/project/.sdk/src/cmp/scala/Config_scala.ts +0 -31
- package/project/.sdk/src/cmp/scala/EntityTypes_scala.ts +0 -51
- package/project/.sdk/src/cmp/scala/Main_scala.ts +0 -78
- package/project/.sdk/src/cmp/scala/PrepareAuth_scala.ts +0 -102
- package/project/.sdk/src/cmp/scala/ReadmeEntity_scala.ts +0 -1
- package/project/.sdk/src/cmp/scala/ReadmeExamplesTest_scala.ts +0 -23
- package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +2 -5
- package/project/.sdk/src/cmp/scala/ReadmeTopQuick_scala.ts +0 -5
- package/project/.sdk/src/cmp/scala/Schema_scala.ts +0 -19
- package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +0 -8
- package/project/.sdk/src/cmp/scala/Test_scala.ts +0 -3
- package/project/.sdk/src/cmp/scala/utility_scala.ts +0 -31
- package/project/.sdk/src/cmp/swift/Config_swift.ts +0 -62
- package/project/.sdk/src/cmp/swift/EntityOperation_swift.ts +0 -3
- package/project/.sdk/src/cmp/swift/EntityTypes_swift.ts +0 -39
- package/project/.sdk/src/cmp/swift/Main_swift.ts +0 -42
- package/project/.sdk/src/cmp/swift/Package_swift.ts +0 -69
- package/project/.sdk/src/cmp/swift/PrepareAuth_swift.ts +0 -134
- package/project/.sdk/src/cmp/swift/ReadmeEntity_swift.ts +0 -2
- package/project/.sdk/src/cmp/swift/ReadmeExamplesTest_swift.ts +0 -22
- package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +2 -5
- package/project/.sdk/src/cmp/swift/Schema_swift.ts +0 -18
- package/project/.sdk/src/cmp/swift/TestEntity_swift.ts +0 -4
- package/project/.sdk/src/cmp/swift/utility_swift.ts +0 -51
- package/project/.sdk/src/cmp/ts/Config_ts.ts +0 -46
- package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +0 -34
- package/project/.sdk/src/cmp/ts/Entity_ts.ts +0 -6
- package/project/.sdk/src/cmp/ts/Main_ts.ts +0 -28
- package/project/.sdk/src/cmp/ts/Package_ts.ts +2 -26
- package/project/.sdk/src/cmp/ts/PrepareAuth_ts.ts +0 -55
- package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +0 -9
- package/project/.sdk/src/cmp/ts/ReadmeExampleTest_ts.ts +0 -6
- package/project/.sdk/src/cmp/ts/ReadmeExamplesTest_ts.ts +0 -25
- package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +4 -9
- package/project/.sdk/src/cmp/ts/ReadmeIntro_ts.ts +0 -7
- package/project/.sdk/src/cmp/ts/ReadmeModel_ts.ts +0 -3
- package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +0 -43
- package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +2 -20
- package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +0 -11
- package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +6 -9
- package/project/.sdk/src/cmp/ts/Schema_ts.ts +0 -21
- package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +2 -53
- package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +3 -31
- package/project/.sdk/src/cmp/ts/TestLive_ts.ts +10 -4
- package/project/.sdk/src/cmp/ts/Test_ts.ts +0 -4
- package/project/.sdk/src/cmp/ts/fragment/Config.data.fragment.ts +0 -27
- package/project/.sdk/src/cmp/ts/fragment/Config.fragment.ts +0 -7
- package/project/.sdk/src/cmp/ts/fragment/Direct.test.fragment.ts +0 -7
- package/project/.sdk/src/cmp/ts/fragment/Entity.fragment.ts +0 -1
- package/project/.sdk/src/cmp/ts/fragment/Entity.test.fragment.ts +0 -4
- package/project/.sdk/src/cmp/ts/fragment/EntityBase.fragment.ts +0 -20
- package/project/.sdk/src/cmp/ts/fragment/EntityCreateOp.fragment.ts +0 -6
- package/project/.sdk/src/cmp/ts/fragment/EntityLoadOp.fragment.ts +0 -6
- package/project/.sdk/src/cmp/ts/fragment/EntityRemoveOp.fragment.ts +0 -15
- package/project/.sdk/src/cmp/ts/fragment/EntityUpdateOp.fragment.ts +0 -6
- package/project/.sdk/src/cmp/ts/fragment/Main.fragment.ts +0 -15
- package/project/.sdk/src/cmp/ts/fragment/MainStation.fragment.ts +0 -12
- package/project/.sdk/src/cmp/ts/fragment/SdkError.fragment.ts +0 -9
- package/project/.sdk/src/cmp/ts/utility_ts.ts +0 -59
- package/project/.sdk/src/cmp/zig/Config_zig.ts +0 -70
- package/project/.sdk/src/cmp/zig/Entity_zig.ts +0 -3
- package/project/.sdk/src/cmp/zig/Main_zig.ts +0 -83
- package/project/.sdk/src/cmp/zig/Package_zig.ts +0 -22
- package/project/.sdk/src/cmp/zig/PrepareAuth_zig.ts +0 -136
- package/project/.sdk/src/cmp/zig/ReadmeExamplesTest_zig.ts +0 -18
- package/project/.sdk/src/cmp/zig/ReadmeQuick_zig.ts +0 -3
- package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +2 -5
- package/project/.sdk/src/cmp/zig/Schema_zig.ts +0 -23
- package/project/.sdk/src/cmp/zig/TestDirect_zig.ts +0 -11
- package/project/.sdk/src/cmp/zig/TestEntity_zig.ts +0 -8
- package/project/.sdk/src/cmp/zig/Test_zig.ts +0 -11
- package/project/.sdk/src/cmp/zig/utility_zig.ts +0 -47
- package/project/.sdk/tm/csharp/feature/FeatureOptions.cs +18 -5
- package/project/.sdk/tm/go/core/context.go +0 -9
- package/project/.sdk/tm/go/core/types.go +0 -3
- package/project/.sdk/tm/go/feature/audit_feature.go +0 -9
- package/project/.sdk/tm/go/feature/cache_feature.go +0 -8
- package/project/.sdk/tm/go/feature/clienttrack_feature.go +0 -7
- package/project/.sdk/tm/go/feature/cost_feature.go +0 -51
- package/project/.sdk/tm/go/feature/debug_feature.go +0 -6
- package/project/.sdk/tm/go/feature/feature_options.go +108 -21
- package/project/.sdk/tm/go/feature/idempotency_feature.go +0 -6
- package/project/.sdk/tm/go/feature/metrics_feature.go +0 -6
- package/project/.sdk/tm/go/feature/netsim_feature.go +0 -8
- package/project/.sdk/tm/go/feature/paging_feature.go +0 -9
- package/project/.sdk/tm/go/feature/proxy_feature.go +0 -7
- package/project/.sdk/tm/go/feature/ratelimit_feature.go +0 -6
- package/project/.sdk/tm/go/feature/rbac_feature.go +0 -10
- package/project/.sdk/tm/go/feature/retry_feature.go +0 -6
- package/project/.sdk/tm/go/feature/secrets_feature.go +0 -173
- package/project/.sdk/tm/go/feature/streaming_feature.go +0 -7
- package/project/.sdk/tm/go/feature/telemetry_feature.go +0 -8
- package/project/.sdk/tm/go/feature/test_feature.go +0 -23
- package/project/.sdk/tm/go/feature/validate_feature.go +0 -66
- package/project/.sdk/tm/go/test/custom_utility_test.go +0 -29
- package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +0 -100
- package/project/.sdk/tm/go/test/feature_corpus_test.go +1 -60
- package/project/.sdk/tm/go/test/feature_harness_test.go +0 -10
- package/project/.sdk/tm/go/test/feature_test.go +107 -9
- package/project/.sdk/tm/go/test/omniresolver_test.go +0 -74
- package/project/.sdk/tm/go/test/omnismoke_test.go +0 -4
- package/project/.sdk/tm/go/test/pipeline_test.go +0 -10
- package/project/.sdk/tm/go/test/primary_utility_test.go +0 -32
- package/project/.sdk/tm/go/test/struct_utility_test.go +0 -38
- package/project/.sdk/tm/go/test/testsupport_test.go +0 -25
- package/project/.sdk/tm/go/utility/feature_add.go +0 -6
- package/project/.sdk/tm/go/utility/fetcher.go +0 -6
- package/project/.sdk/tm/go/utility/graphql.go +1 -31
- package/project/.sdk/tm/go/utility/make_options.go +38 -49
- package/project/.sdk/tm/go/utility/make_point.go +0 -11
- package/project/.sdk/tm/go/utility/make_spec.go +0 -15
- package/project/.sdk/tm/go/utility/register.go +0 -28
- package/project/.sdk/tm/go/utility/transform_request.go +0 -20
- package/project/.sdk/tm/go/utility/transform_response.go +0 -8
- package/project/.sdk/tm/js/src/feature/test/TestFeature.js +12 -4
- package/project/.sdk/tm/rust/core/context.rs +0 -5
- package/project/.sdk/tm/rust/core/control.rs +0 -1
- package/project/.sdk/tm/rust/core/helpers.rs +0 -15
- package/project/.sdk/tm/rust/core/operation.rs +0 -1
- package/project/.sdk/tm/rust/core/point.rs +0 -3
- package/project/.sdk/tm/rust/core/response.rs +0 -2
- package/project/.sdk/tm/rust/core/result.rs +0 -1
- package/project/.sdk/tm/rust/core/spec.rs +0 -1
- package/project/.sdk/tm/rust/core/types.rs +0 -20
- package/project/.sdk/tm/rust/core/utility_type.rs +0 -5
- package/project/.sdk/tm/rust/feature/audit.rs +0 -9
- package/project/.sdk/tm/rust/feature/base.rs +0 -3
- package/project/.sdk/tm/rust/feature/cache.rs +0 -9
- package/project/.sdk/tm/rust/feature/clienttrack.rs +0 -7
- package/project/.sdk/tm/rust/feature/cost.rs +0 -48
- package/project/.sdk/tm/rust/feature/debug.rs +0 -7
- package/project/.sdk/tm/rust/feature/idempotency.rs +0 -7
- package/project/.sdk/tm/rust/feature/log.rs +0 -3
- package/project/.sdk/tm/rust/feature/metrics.rs +0 -7
- package/project/.sdk/tm/rust/feature/netsim.rs +0 -9
- package/project/.sdk/tm/rust/feature/paging.rs +0 -10
- package/project/.sdk/tm/rust/feature/proxy.rs +0 -8
- package/project/.sdk/tm/rust/feature/ratelimit.rs +0 -6
- package/project/.sdk/tm/rust/feature/rbac.rs +0 -10
- package/project/.sdk/tm/rust/feature/retry.rs +0 -6
- package/project/.sdk/tm/rust/feature/secrets.rs +1 -187
- package/project/.sdk/tm/rust/feature/streaming.rs +0 -7
- package/project/.sdk/tm/rust/feature/support.rs +0 -6
- package/project/.sdk/tm/rust/feature/telemetry.rs +0 -9
- package/project/.sdk/tm/rust/feature/test.rs +0 -19
- package/project/.sdk/tm/rust/feature/timeout.rs +0 -7
- package/project/.sdk/tm/rust/feature/validate.rs +0 -81
- package/project/.sdk/tm/rust/tests/common/mod.rs +0 -35
- package/project/.sdk/tm/rust/tests/custom_utility_test.rs +0 -2
- package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +0 -95
- package/project/.sdk/tm/rust/tests/feature_test.rs +0 -16
- package/project/.sdk/tm/rust/tests/netsim_test.rs +0 -6
- package/project/.sdk/tm/rust/tests/omni_resolver/mod.rs +0 -135
- package/project/.sdk/tm/rust/tests/omni_smoke_test.rs +0 -15
- package/project/.sdk/tm/rust/tests/pipeline_test.rs +0 -6
- package/project/.sdk/tm/rust/tests/primary_utility_test.rs +0 -22
- package/project/.sdk/tm/rust/tests/struct_utility_test.rs +0 -25
- package/project/.sdk/tm/rust/utility/fetcher.rs +0 -5
- package/project/.sdk/tm/rust/utility/graphql.rs +1 -30
- package/project/.sdk/tm/rust/utility/make_error.rs +0 -2
- package/project/.sdk/tm/rust/utility/make_options.rs +0 -46
- package/project/.sdk/tm/rust/utility/make_point.rs +0 -12
- package/project/.sdk/tm/rust/utility/make_spec.rs +0 -4
- package/project/.sdk/tm/rust/utility/voxgigstruct/consts.rs +14 -20
- package/project/.sdk/tm/rust/utility/voxgigstruct/major.rs +0 -13
- package/project/.sdk/tm/rust/utility/voxgigstruct/mini.rs +0 -14
- package/project/.sdk/tm/rust/utility/voxgigstruct/mod.rs +0 -2
- package/project/.sdk/tm/rust/utility/voxgigstruct/ordered_map.rs +0 -18
- package/project/.sdk/tm/rust/utility/voxgigstruct/re.rs +0 -11
- package/project/.sdk/tm/rust/utility/voxgigstruct/value.rs +0 -3
- package/project/.sdk/tm/ts/src/Context.ts +0 -5
- package/project/.sdk/tm/ts/src/feature/audit/AuditFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/cache/CacheFeature.ts +0 -8
- package/project/.sdk/tm/ts/src/feature/clienttrack/ClienttrackFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/cost/CostFeature.ts +0 -52
- package/project/.sdk/tm/ts/src/feature/debug/DebugFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/metrics/MetricsFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/netsim/NetsimFeature.ts +0 -8
- package/project/.sdk/tm/ts/src/feature/paging/PagingFeature.ts +0 -13
- package/project/.sdk/tm/ts/src/feature/proxy/ProxyFeature.ts +0 -8
- package/project/.sdk/tm/ts/src/feature/ratelimit/RatelimitFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/rbac/RbacFeature.ts +0 -9
- package/project/.sdk/tm/ts/src/feature/retry/RetryFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +0 -136
- package/project/.sdk/tm/ts/src/feature/streaming/StreamingFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/telemetry/TelemetryFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +13 -88
- package/project/.sdk/tm/ts/src/feature/validate/ValidateFeature.ts +0 -87
- package/project/.sdk/tm/ts/src/utility/CleanUtility.ts +0 -12
- package/project/.sdk/tm/ts/src/utility/FeatureAddUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/GraphqlUtility.ts +2 -30
- package/project/.sdk/tm/ts/src/utility/MakeErrorUtility.ts +0 -4
- package/project/.sdk/tm/ts/src/utility/MakeOptionsUtility.ts +0 -46
- package/project/.sdk/tm/ts/src/utility/MakePointUtility.ts +0 -34
- package/project/.sdk/tm/ts/src/utility/MakeRequestUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/MakeSpecUtility.ts +0 -5
- package/project/.sdk/tm/ts/src/utility/MakeUrlUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/ParamUtility.ts +0 -8
- package/project/.sdk/tm/ts/src/utility/PrepareBodyUtility.ts +0 -3
- package/project/.sdk/tm/ts/src/utility/PrepareParamsUtility.ts +0 -6
- package/project/.sdk/tm/ts/src/utility/ResultBasicUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/TransformRequestUtility.ts +0 -20
- package/project/.sdk/tm/ts/src/utility/TransformResponseUtility.ts +0 -4
- package/project/.sdk/tm/ts/test/exists.test.ts +0 -10
- package/project/.sdk/tm/ts/test/feature/Corpus.test.ts +0 -56
- package/project/.sdk/tm/ts/test/feature/harness.ts +0 -9
- package/project/.sdk/tm/ts/test/feature/secrets/Secrets.test.ts +0 -106
- package/project/.sdk/tm/ts/test/live-contract.ts +0 -2
- package/project/.sdk/tm/ts/test/omni.ts +0 -32
- package/project/.sdk/tm/ts/test/pipeline.test.ts +45 -28
- package/project/.sdk/tm/ts/test/utility/Corpus.test.ts +0 -13
- package/project/.sdk/tm/ts/test/utility/PrimaryUtility.test.ts +56 -29
- package/project/.sdk/tm/ts/test/utility/StructUtility.test.ts +0 -7
- package/project/.sdk/tm/ts/test/utility.ts +0 -55
- package/project/sdkgen-package.json +1 -1
- package/src/action/action.ts +0 -65
- package/src/action/check.ts +0 -88
- package/src/action/dispatch.ts +0 -27
- package/src/action/doctor.ts +69 -329
- package/src/action/edition.ts +1 -87
- package/src/action/feature.ts +1 -49
- package/src/action/kind.ts +0 -149
- package/src/action/package.ts +0 -228
- package/src/action/resolve.ts +0 -148
- package/src/action/target.ts +0 -177
- package/src/cmp/AgentGuide.ts +0 -7
- package/src/cmp/AgentGuideContent.ts +0 -24
- package/src/cmp/AgentGuideTop.ts +0 -7
- package/src/cmp/Changelog.ts +0 -14
- package/src/cmp/Deploy.ts +1 -31
- package/src/cmp/Entity.ts +0 -4
- package/src/cmp/ExternalTarget.ts +0 -36
- package/src/cmp/Feature.ts +0 -14
- package/src/cmp/FeatureDocs.ts +0 -37
- package/src/cmp/PublishWorkflow.ts +0 -60
- package/src/cmp/ReadmeErrors.ts +0 -17
- package/src/cmp/ReadmeExplanation.ts +2 -11
- package/src/cmp/ReadmeFeatures.ts +0 -10
- package/src/cmp/ReadmeRefFeatures.ts +0 -19
- package/src/cmp/ReadmeStation.ts +0 -19
- package/src/cmp/ReadmeTop.ts +0 -80
- package/src/cmp/ReadmeUnions.ts +0 -15
- package/src/cmp/Registered.ts +0 -30
- package/src/cmp/Security.ts +0 -2
- package/src/cmp/Test.ts +3 -1
- package/src/cmp/TestControl.ts +0 -25
- package/src/helpers/applicability.ts +0 -60
- package/src/helpers/buildIdNames.ts +0 -12
- package/src/helpers/canonSpec.ts +0 -114
- package/src/helpers/canonType.ts +0 -87
- package/src/helpers/collectDeps.ts +0 -27
- package/src/helpers/definition.ts +0 -29
- package/src/helpers/dryrun.ts +0 -8
- package/src/helpers/featureSource.ts +0 -152
- package/src/helpers/getMatchEntries.ts +0 -4
- package/src/helpers/junk.ts +13 -89
- package/src/helpers/manifest.ts +0 -169
- package/src/helpers/modelNames.ts +0 -81
- package/src/helpers/modelcheck.ts +0 -106
- package/src/helpers/naming.ts +0 -303
- package/src/helpers/opExample.ts +0 -56
- package/src/helpers/opShape.ts +0 -200
- package/src/helpers/optspec.ts +0 -77
- package/src/helpers/packageMeta.ts +1 -200
- package/src/helpers/pointPath.ts +0 -55
- package/src/helpers/resolved.ts +50 -0
- package/src/helpers/semver.ts +0 -61
- package/src/helpers/serverVars.ts +0 -44
- package/src/helpers/shipped.ts +0 -14
- package/src/helpers/station.ts +0 -32
- package/src/helpers/stdrep.ts +0 -52
- package/src/helpers/testPolicy.ts +0 -4
- package/src/sdkgen.ts +15 -263
- package/src/testkit.ts +6 -312
- package/src/types.ts +1 -30
- package/src/utility.ts +0 -243
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
// Single source of truth for a generated SDK's PUBLISHED identity and its
|
|
2
|
-
// descriptive metadata, shared by the per-language Package_<lang>.ts manifest
|
|
3
|
-
// generators AND the README install/heading components — so the install
|
|
4
|
-
// command a README prints can never drift from the real published package name
|
|
5
|
-
// (the #1 defect the publishing recommendations call out).
|
|
6
|
-
//
|
|
7
|
-
// The recommendations require, for every package:
|
|
8
|
-
// - install commands that match the real package name EXACTLY;
|
|
9
|
-
// - description "Unofficial generated <Lang> SDK for the <API> public API.";
|
|
10
|
-
// - a generic non-affiliation statement (upstream owner names are unreliable);
|
|
11
|
-
// - homepage / repository / issues under github.com/<origin>/<slug>-sdk;
|
|
12
|
-
// - the fixed keyword set [voxgig sdk generated-sdk openapi api-client <slug>].
|
|
13
|
-
//
|
|
14
|
-
// Every value here is derived from the resolved model (model.name, model.origin,
|
|
15
|
-
// main.kit.info.title) — no new inputs required.
|
|
16
1
|
|
|
17
2
|
import { each } from 'jostraca'
|
|
18
3
|
|
|
@@ -43,40 +28,11 @@ function langLabel(target: string): string {
|
|
|
43
28
|
}
|
|
44
29
|
|
|
45
30
|
|
|
46
|
-
// THE NAME WHOSE LANGUAGE RULES APPLY.
|
|
47
|
-
//
|
|
48
|
-
// A target name does two unrelated jobs in this file, and conflating them is
|
|
49
|
-
// the defect this exists to end. `go~go2` installs a SECOND Go SDK: its
|
|
50
|
-
// CONFIG lives under `main.kit.target.go2` (its own module path, its own
|
|
51
|
-
// registry state), but it is still Go — the same go.mod shape, the same
|
|
52
|
-
// `go get` install line, the same "Go" label.
|
|
53
|
-
//
|
|
54
|
-
// So: look config up by the target's OWN name, and select behaviour by this.
|
|
55
|
-
// `origname` is stamped at add time precisely for aliased installs and is
|
|
56
|
-
// empty when a target was installed under its own name, which makes the
|
|
57
|
-
// unaliased case identical to what it was.
|
|
58
|
-
//
|
|
59
|
-
// Ecosystem keys ('npm', 'gem', 'composer') pass through untouched: there is
|
|
60
|
-
// no target node under those names, so they answer for themselves.
|
|
61
31
|
function originName(model: any, target: string): string {
|
|
62
32
|
const orig = model?.main?.[KIT]?.target?.[target]?.origname
|
|
63
33
|
return (null != orig && '' !== orig) ? String(orig) : target
|
|
64
34
|
}
|
|
65
35
|
|
|
66
|
-
// Git host, org/repo path, and the canonical repo URLs.
|
|
67
|
-
//
|
|
68
|
-
// `<origin>/<slug>-sdk` is a DERIVATION, not a law. A project whose repo is
|
|
69
|
-
// named anything else — `voxgig-sdk/voxgig-solardemo-sdk`, say, where the slug
|
|
70
|
-
// is `solardemo` — used to have no way to say so, and got a `go.mod` module
|
|
71
|
-
// path that 404s on `go get` plus `homepage`/`repository`/`bugs` URLs pointing
|
|
72
|
-
// at a repo that does not exist. The only escape was renaming the slug, which
|
|
73
|
-
// also renames the SDK classes: a public-API break, and no help at all to a
|
|
74
|
-
// project that has already published.
|
|
75
|
-
//
|
|
76
|
-
// main: kit: repo: {
|
|
77
|
-
// path: 'voxgig-sdk/voxgig-solardemo-sdk' # overrides <origin>/<slug>-sdk
|
|
78
|
-
// host: 'github.com' # default
|
|
79
|
-
// }
|
|
80
36
|
function repoInfo(model: any) {
|
|
81
37
|
const slug = model.name
|
|
82
38
|
const origin = model.origin || 'voxgig-sdk'
|
|
@@ -86,8 +42,6 @@ function repoInfo(model: any) {
|
|
|
86
42
|
const host = '' === (declared.host || '') ? 'github.com' : (declared.host || 'github.com')
|
|
87
43
|
const path = '' === (declared.path || '') ? `${origin}/${slug}-sdk` : String(declared.path)
|
|
88
44
|
|
|
89
|
-
// Last segment is the repo; everything before it is the org (which may
|
|
90
|
-
// itself contain slashes on hosts that allow subgroups, e.g. GitLab).
|
|
91
45
|
const seg = path.split('/')
|
|
92
46
|
const repo = seg[seg.length - 1]
|
|
93
47
|
|
|
@@ -97,47 +51,17 @@ function repoInfo(model: any) {
|
|
|
97
51
|
slug,
|
|
98
52
|
origin,
|
|
99
53
|
host,
|
|
100
|
-
// 'org/repo' — the path under the host, and the base of a go module path.
|
|
101
54
|
path,
|
|
102
55
|
repo,
|
|
103
56
|
repoUrl,
|
|
104
57
|
issuesUrl: `${repoUrl}/issues`,
|
|
105
58
|
changelogUrl: `${repoUrl}/blob/main/CHANGELOG.md`,
|
|
106
|
-
// The Releases page. Honest where a link is LABELLED "Releases", which is
|
|
107
|
-
// what the twenty per-target ReadmeInstall components do with it. Those
|
|
108
|
-
// are project-owned and install-once, so this key has to keep existing:
|
|
109
|
-
// dropping it stops every already-generated SDK compiling.
|
|
110
59
|
releasesUrl: `${repoUrl}/releases`,
|
|
111
|
-
// The TAGS page: where the `<target>/vX.Y.Z` tags a pending
|
|
112
|
-
// (not-yet-on-registry) package is installed from actually live.
|
|
113
|
-
//
|
|
114
|
-
// SEPARATE FROM `releasesUrl`, because they are separate pages and only
|
|
115
|
-
// one of them holds tags. A GitHub Release is an object a human publishes;
|
|
116
|
-
// a tag is not one. This fleet pushes tags and cuts no Releases, so every
|
|
117
|
-
// pending target told the reader to install from a git tag and then linked
|
|
118
|
-
// a page reading "There aren't any releases" -- on a repository carrying
|
|
119
|
-
// 72 of them. Use this wherever the sentence promises a tag.
|
|
120
60
|
tagsUrl: `${repoUrl}/tags`,
|
|
121
61
|
}
|
|
122
62
|
}
|
|
123
63
|
|
|
124
64
|
|
|
125
|
-
// THE GENERATED DOCUMENTATION SITE, when this project publishes one.
|
|
126
|
-
//
|
|
127
|
-
// `docs_url` in the OpenAPI info block is the UPSTREAM API's documentation —
|
|
128
|
-
// docs.nofrixion.com and its like — so nothing in a generated README ever
|
|
129
|
-
// pointed at the site docgen builds from the same model. The repository was
|
|
130
|
-
// therefore the one place the documentation could not be found from: no link
|
|
131
|
-
// in the README, and GitHub's `homepage` field is not ours to set.
|
|
132
|
-
//
|
|
133
|
-
// Derived, not declared, because a GitHub project page has exactly one
|
|
134
|
-
// address: `https://<org>.github.io/<repo>/`. Reading it from the model would
|
|
135
|
-
// mean a second place for it to be wrong.
|
|
136
|
-
//
|
|
137
|
-
// NOTHING IS RETURNED UNLESS THE SITE WILL EXIST. The edition has to be
|
|
138
|
-
// declared, of kind `github-pages`, and not switched off; and the host has to
|
|
139
|
-
// be github.com, since the derivation is GitHub's and holds nowhere else. A
|
|
140
|
-
// link to a Pages site that was never deployed is worse than no link.
|
|
141
65
|
function docsSiteUrl(model: any): string {
|
|
142
66
|
const { host, path } = repoInfo(model)
|
|
143
67
|
|
|
@@ -161,16 +85,6 @@ function docsSiteUrl(model: any): string {
|
|
|
161
85
|
}
|
|
162
86
|
|
|
163
87
|
|
|
164
|
-
// The go module path for a go-family target: the declared override, else the
|
|
165
|
-
// repo path plus the target's subdirectory.
|
|
166
|
-
//
|
|
167
|
-
// main: kit: target: go: module: path: 'github.com/acme/legacy-sdk/go'
|
|
168
|
-
//
|
|
169
|
-
// THE ONLY implementation. Twelve go components used to re-derive
|
|
170
|
-
// `github.com/${origin}/${name}-sdk/go` inline, so fixing the path in one
|
|
171
|
-
// place fixed nothing — and `ReadmeTop`, which prints the module in the root
|
|
172
|
-
// README's package table, lives inside node_modules where a consumer cannot
|
|
173
|
-
// patch it at all.
|
|
174
88
|
function goModule(model: any, target: string): string {
|
|
175
89
|
const declared = model?.main?.[KIT]?.target?.[target]?.module?.path
|
|
176
90
|
if (null != declared && '' !== declared) {
|
|
@@ -182,30 +96,12 @@ function goModule(model: any, target: string): string {
|
|
|
182
96
|
}
|
|
183
97
|
|
|
184
98
|
|
|
185
|
-
// The SDK's OWN release version, for this target's manifest and release tag.
|
|
186
|
-
//
|
|
187
|
-
// main: kit: target: ts: publish: version: '0.0.2'
|
|
188
|
-
//
|
|
189
|
-
// Defaults to '0.0.1' (the schema default), which is what every manifest
|
|
190
|
-
// emitter used to HARDCODE. That is why regeneration reset a published
|
|
191
|
-
// version: the value lived only in the generated output, so overwriting the
|
|
192
|
-
// output threw it away, and a project that had shipped 0.0.2 silently got a
|
|
193
|
-
// 0.0.1 manifest back. Declaring it in the model makes the manifest, the
|
|
194
|
-
// install docs and the port's VERSION file agree, and survive.
|
|
195
99
|
function packageVersion(model: any, target: string): string {
|
|
196
100
|
const declared = model?.main?.[KIT]?.target?.[target]?.publish?.version
|
|
197
101
|
return null != declared && '' !== declared ? String(declared) : '0.0.1'
|
|
198
102
|
}
|
|
199
103
|
|
|
200
104
|
|
|
201
|
-
// The Go language version for a go-family target's go.mod.
|
|
202
|
-
//
|
|
203
|
-
// main: kit: target: go: module: goversion: '1.23'
|
|
204
|
-
//
|
|
205
|
-
// Defaults to 1.21, the release that introduced `log/slog` — which sdkgen's
|
|
206
|
-
// own `log` feature template imports. The previous hardcoded `go 1.20` meant a
|
|
207
|
-
// generated SDK could not compile the feature source sdkgen had just written
|
|
208
|
-
// into it.
|
|
209
105
|
function goVersion(model: any, target: string, fallback?: string): string {
|
|
210
106
|
const declared = model?.main?.[KIT]?.target?.[target]?.module?.goversion
|
|
211
107
|
if (null != declared && '' !== declared) {
|
|
@@ -215,21 +111,6 @@ function goVersion(model: any, target: string, fallback?: string): string {
|
|
|
215
111
|
}
|
|
216
112
|
|
|
217
113
|
|
|
218
|
-
// The root Go package IDENTIFIER — `package voxgigsolardemosdk`. Go requires
|
|
219
|
-
// a plain identifier here, so unlike the module path it must be concatenated
|
|
220
|
-
// from the slug rather than taken from the repo.
|
|
221
|
-
//
|
|
222
|
-
// main: kit: target: go: module: package: 'acmesdk'
|
|
223
|
-
//
|
|
224
|
-
// The default concatenates `<origin><slug>sdk`, which DOUBLES the org prefix
|
|
225
|
-
// whenever the slug already carries it: slug `voxgig-solardemo` under origin
|
|
226
|
-
// `voxgig-sdk` produced `package voxgigvoxgigsolardemosdk`. A slug repeating
|
|
227
|
-
// its org is the natural shape for a repo named `<org>-<product>`, so the
|
|
228
|
-
// default now drops a leading origin prefix instead of restating it.
|
|
229
|
-
//
|
|
230
|
-
// This was the last of the four things the slug derives that had no override,
|
|
231
|
-
// and the only one that came out wrong — see the identity note at the top of
|
|
232
|
-
// model/sdkgen.aon.
|
|
233
114
|
function goPackageIdent(model: any, target: string): string {
|
|
234
115
|
const declared = model?.main?.[KIT]?.target?.[target]?.module?.package
|
|
235
116
|
if (null != declared && '' !== declared) {
|
|
@@ -249,23 +130,12 @@ function goPackageIdent(model: any, target: string): string {
|
|
|
249
130
|
}
|
|
250
131
|
|
|
251
132
|
|
|
252
|
-
// Publication state of a target's package registry, tri-state + tag-only:
|
|
253
|
-
// 'tag' — no registry (the go family); resolved from the git tag.
|
|
254
|
-
// 'pending' — registry declared but the package is not uploaded yet
|
|
255
|
-
// (the fleet default): install from the git tag.
|
|
256
|
-
// 'active' — package is live on the registry: show the real install cmd.
|
|
257
|
-
// 'inactive' — registry deliberately disabled (tag-only, like pending).
|
|
258
|
-
// Reads main.kit.target.<t>.publish.registry.state (default 'pending').
|
|
259
|
-
// The legacy boolean `registry.active: true` is honoured as a back-compat
|
|
260
|
-
// alias for state === 'active'.
|
|
261
133
|
function registryState(model: any, target: string): 'tag' | 'pending' | 'active' | 'inactive' {
|
|
262
|
-
// Tag-only is a property of the Go toolchain, not of one target name, so
|
|
263
|
-
// an aliased `go~go2` must be tag-only too.
|
|
264
134
|
const eco = originName(model, target)
|
|
265
135
|
if ('go' === eco || 'go-cli' === eco || 'go-mcp' === eco) return 'tag'
|
|
266
136
|
const reg = model?.main?.[KIT]?.target?.[target]?.publish?.registry
|
|
267
137
|
if (null == reg || '' === (reg.name || '')) return 'tag'
|
|
268
|
-
if (true === reg.active) return 'active'
|
|
138
|
+
if (true === reg.active) return 'active'
|
|
269
139
|
const s = reg.state
|
|
270
140
|
if ('active' === s || 'inactive' === s || 'pending' === s) return s
|
|
271
141
|
return 'pending'
|
|
@@ -309,10 +179,6 @@ function vendorCommand(model: any, target: string): string {
|
|
|
309
179
|
}
|
|
310
180
|
}
|
|
311
181
|
|
|
312
|
-
// API display name for descriptions, e.g. "Aare.guru". Uses the OpenAPI
|
|
313
|
-
// info.title (present for ~98% of the fleet), stripping a trailing " API" so
|
|
314
|
-
// we don't render "... Aare.guru API public API". Falls back to the normalised
|
|
315
|
-
// SDK Name, then the slug.
|
|
316
182
|
function apiName(model: any): string {
|
|
317
183
|
const info = (model.main && model.main[KIT] && model.main[KIT].info) || {}
|
|
318
184
|
const raw = (null != info.title ? String(info.title) : '').trim()
|
|
@@ -320,23 +186,12 @@ function apiName(model: any): string {
|
|
|
320
186
|
return stripped || nom(model, 'Name') || model.name
|
|
321
187
|
}
|
|
322
188
|
|
|
323
|
-
// The REAL published package name per ecosystem — mirrors the exact formula in
|
|
324
|
-
// each Package_<lang>.ts. This is the one canonical implementation.
|
|
325
189
|
function packageName(model: any, eco: string): string {
|
|
326
190
|
const slug = model.name
|
|
327
191
|
const origin = model.origin || 'voxgig-sdk'
|
|
328
192
|
const base = origin.endsWith('-sdk') ? slug : `${slug}-sdk`
|
|
329
193
|
const npmScoped = `@${origin}/${slug}${origin.endsWith('-sdk') ? '' : '-sdk'}`
|
|
330
194
|
|
|
331
|
-
// A target may name its published package outright — the escape hatch for a
|
|
332
|
-
// project whose registry name is not what the slug derives, and which cannot
|
|
333
|
-
// rename the slug without renaming its SDK classes:
|
|
334
|
-
//
|
|
335
|
-
// main: kit: target: ts: publish: registry: package: '@acme/legacy-client'
|
|
336
|
-
//
|
|
337
|
-
// The key already existed in the schema ("registry package name ('' ->
|
|
338
|
-
// derived)") and was simply never read. Keyed by TARGET, so the ecosystem
|
|
339
|
-
// aliases ('npm', 'pypi', ...) resolve to the target that publishes to them.
|
|
340
195
|
const ECO_TARGET: Record<string, string> = {
|
|
341
196
|
npm: 'ts', pypi: 'py', gem: 'rb', luarocks: 'lua', composer: 'php',
|
|
342
197
|
}
|
|
@@ -374,8 +229,6 @@ function packageName(model: any, eco: string): string {
|
|
|
374
229
|
case 'go-cli':
|
|
375
230
|
case 'go-mcp':
|
|
376
231
|
return goModule(model, eco)
|
|
377
|
-
// The notebook/analyst package layered on `py`. Distinct PyPI name so it
|
|
378
|
-
// can version and publish independently of the SDK it wraps.
|
|
379
232
|
case 'py-data':
|
|
380
233
|
return `${origin}-${base}-data`
|
|
381
234
|
default:
|
|
@@ -392,12 +245,6 @@ function installCommand(model: any, target: string): string {
|
|
|
392
245
|
if (!isPublished(model, target)) {
|
|
393
246
|
return vendorCommand(model, target)
|
|
394
247
|
}
|
|
395
|
-
// WHICH package manager is the language's business, so the switch follows
|
|
396
|
-
// the origin; WHICH package name is this target's own, so every arm passes
|
|
397
|
-
// `target` rather than a hardcoded ecosystem key. Before, an aliased
|
|
398
|
-
// `ts~ts2` matched no case and returned '' — a README with an empty install
|
|
399
|
-
// line — and even had it matched, `packageName(model, 'npm')` would have
|
|
400
|
-
// printed the ORIGIN's package.
|
|
401
248
|
switch (originName(model, target)) {
|
|
402
249
|
case 'ts':
|
|
403
250
|
case 'js':
|
|
@@ -420,8 +267,6 @@ function installCommand(model: any, target: string): string {
|
|
|
420
267
|
}
|
|
421
268
|
}
|
|
422
269
|
|
|
423
|
-
// The standard one-line package description (with the generic non-affiliation
|
|
424
|
-
// statement inline) used in every manifest.
|
|
425
270
|
function pkgDescription(model: any, target: string): string {
|
|
426
271
|
return `Unofficial generated ${langLabel(originName(model, target))} SDK` +
|
|
427
272
|
` for the ${apiName(model)} public API.` +
|
|
@@ -442,29 +287,6 @@ function keywords(model: any): string[] {
|
|
|
442
287
|
}
|
|
443
288
|
|
|
444
289
|
|
|
445
|
-
// WHO WROTE THE PACKAGE — `main: kit: author` / `main: kit: contributor`.
|
|
446
|
-
//
|
|
447
|
-
// Attribution cannot be derived: it is not a function of the slug, the repo or
|
|
448
|
-
// the API. And because generated output is OVERWRITTEN, a name hand-edited
|
|
449
|
-
// into a manifest is deleted by the next regeneration — silently, because no
|
|
450
|
-
// build step can tell that a person is missing. The seneca-provider target
|
|
451
|
-
// dropped a hand-written provider's author and both its named contributors
|
|
452
|
-
// exactly that way. So attribution is declared in the model and read here.
|
|
453
|
-
//
|
|
454
|
-
// An unset author is the PUBLISHER, which is what every generated SDK manifest
|
|
455
|
-
// has always carried (Package_ts hardcoded it); a project that has never
|
|
456
|
-
// thought about authorship keeps the previous behaviour.
|
|
457
|
-
//
|
|
458
|
-
// PER TARGET, falling back to the model-wide value. One model can produce
|
|
459
|
-
// packages with different authors: the SDK is a generated artefact of the
|
|
460
|
-
// publisher, while a Seneca provider is an independently released package with
|
|
461
|
-
// its own human maintainers. A single model-wide name cannot be right for
|
|
462
|
-
// both — and it was not: the solardemo model named a person, the target that
|
|
463
|
-
// read it credited them, and the SDK's own manifest went on saying Voxgig
|
|
464
|
-
// because it read nothing at all.
|
|
465
|
-
//
|
|
466
|
-
// main: kit: author: { ... } # every package from this model
|
|
467
|
-
// main: kit: target: ts: author: { ... } # ...except this one
|
|
468
290
|
function authorInfo(model: any, target?: string): { name: string, url: string } {
|
|
469
291
|
const perTarget = null == target ? null :
|
|
470
292
|
model?.main?.[KIT]?.target?.[target]?.author
|
|
@@ -475,8 +297,6 @@ function authorInfo(model: any, target?: string): { name: string, url: string }
|
|
|
475
297
|
const name = null != declared.name && '' !== declared.name ?
|
|
476
298
|
String(declared.name) : PUBLISHER
|
|
477
299
|
|
|
478
|
-
// A declared author with no url gets none — inventing PUBLISHER_URL for a
|
|
479
|
-
// named human would credit them to Voxgig's homepage.
|
|
480
300
|
const url = null != declared.url && '' !== declared.url ? String(declared.url) :
|
|
481
301
|
(PUBLISHER === name ? PUBLISHER_URL : '')
|
|
482
302
|
|
|
@@ -484,13 +304,6 @@ function authorInfo(model: any, target?: string): { name: string, url: string }
|
|
|
484
304
|
}
|
|
485
305
|
|
|
486
306
|
|
|
487
|
-
// Contributors, in sorted-key order so the manifest is byte-stable. `each`
|
|
488
|
-
// rather than Object.keys: the model is an aontu map and carries metadata
|
|
489
|
-
// keys alongside its entries.
|
|
490
|
-
//
|
|
491
|
-
// An entry with no name is DROPPED rather than rendered as `{}` — the schema
|
|
492
|
-
// makes `name` required, but a partially-unified model can still reach here
|
|
493
|
-
// during a dry run.
|
|
494
307
|
function contributorList(model: any): { name: string, url: string }[] {
|
|
495
308
|
return each(model?.main?.[KIT]?.contributor || {})
|
|
496
309
|
.filter((c: any) => null != c && null != c.name && '' !== c.name)
|
|
@@ -500,23 +313,11 @@ function contributorList(model: any): { name: string, url: string }[] {
|
|
|
500
313
|
}))
|
|
501
314
|
}
|
|
502
315
|
|
|
503
|
-
// A VALID uppercase env-var token: 'unsolicited-advice' -> 'UNSOLICITED_ADVICE'.
|
|
504
|
-
//
|
|
505
|
-
// THE ONLY WAY to build an env-var name segment. There used to be three
|
|
506
|
-
// spellings of this in the components — `envToken(name)`,
|
|
507
|
-
// `nom(x, 'NAME')` (the camel form uppercased, which SWALLOWS the hyphen) and
|
|
508
|
-
// `x.name.toUpperCase().replace(...)` — and they agree only while the name has
|
|
509
|
-
// no hyphen in it. A slug like `voxgig-solardemo` produced both
|
|
510
|
-
// `VOXGIG_SOLARDEMO_TEST_LIVE` and `VOXGIGSOLARDEMO_TEST_LIVE` in the SAME
|
|
511
|
-
// generated SDK: `test/utility.ts` read one, `PlanetEntity.test.ts` the other,
|
|
512
|
-
// so setting either sent half the suite live and left the rest mocked — with
|
|
513
|
-
// the suite reporting green either way.
|
|
514
316
|
function envToken(name: any): string {
|
|
515
317
|
return String(name || '').toUpperCase().replace(/[^A-Z0-9]+/g, '_').replace(/^_+|_+$/g, '')
|
|
516
318
|
}
|
|
517
319
|
|
|
518
320
|
|
|
519
|
-
// The env-var base for this SDK: <NAME>_APIKEY, <NAME>_TEST_LIVE, ...
|
|
520
321
|
function envName(model: any): string {
|
|
521
322
|
return envToken(model.name)
|
|
522
323
|
}
|
package/src/helpers/pointPath.ts
CHANGED
|
@@ -1,17 +1,5 @@
|
|
|
1
1
|
/* Copyright (c) 2024-2025 Voxgig, MIT License */
|
|
2
2
|
|
|
3
|
-
// A point's path, as apidef resolves it.
|
|
4
|
-
//
|
|
5
|
-
// apidef ADR-003: the model carries the path as a typed segment vector —
|
|
6
|
-
// `[{ lit: 'element' }, { var: 'id' }]` — and no brace-templated string. A
|
|
7
|
-
// `var` names one of the point's `args.params` directly, so a consumer walks
|
|
8
|
-
// the vector instead of parsing anything.
|
|
9
|
-
//
|
|
10
|
-
// The generated SDK runtimes still speak the older braced-string form
|
|
11
|
-
// (`['element', '{id}']`), which this file reconstructs in ONE place. Every
|
|
12
|
-
// generation-time consumer and the embedded config go through here, so when
|
|
13
|
-
// the runtimes move onto segments there is a single call site to retire —
|
|
14
|
-
// rather than the twenty-odd hand-written brace parsers ADR-003 is about.
|
|
15
3
|
|
|
16
4
|
|
|
17
5
|
import { SdkGenError } from '../utility'
|
|
@@ -23,22 +11,6 @@ type PathSegment = {
|
|
|
23
11
|
}
|
|
24
12
|
|
|
25
13
|
|
|
26
|
-
// The segment vector, defensively. GraphQL points address the single endpoint
|
|
27
|
-
// and carry no path, so an empty vector is normal, not a fault.
|
|
28
|
-
//
|
|
29
|
-
// A point carrying the OLD `parts` and no `segments` is a different thing
|
|
30
|
-
// entirely: a model generated by apidef <= 8.1, checked in under a project's
|
|
31
|
-
// `.sdk/model/`, that has not been regenerated. Treating it as pathless
|
|
32
|
-
// would emit an SDK whose every request goes to the API ROOT — silently,
|
|
33
|
-
// because an empty path is indistinguishable from a GraphQL point here.
|
|
34
|
-
//
|
|
35
|
-
// THIS is where the check belongs. apidef 8.2.0 tried it in the schema
|
|
36
|
-
// (`parts?: null`) and that bricked the upgrade instead: the stale model is
|
|
37
|
-
// the INPUT to the tool that rewrites it, and voxgig-model unifies before it
|
|
38
|
-
// runs apidef's build, so the file blocked its own regeneration. Here the
|
|
39
|
-
// model unifies, apidef regenerates it, and a stale point only ever reaches
|
|
40
|
-
// this helper when that regeneration did NOT happen — exactly when the
|
|
41
|
-
// project needs to be told.
|
|
42
14
|
function pointSegments(point: any): PathSegment[] {
|
|
43
15
|
const segments = point && point.segments
|
|
44
16
|
|
|
@@ -58,37 +30,12 @@ function pointSegments(point: any): PathSegment[] {
|
|
|
58
30
|
}
|
|
59
31
|
|
|
60
32
|
|
|
61
|
-
// The braced-string form the SDK runtimes still consume. A `lit` is emitted
|
|
62
|
-
// verbatim — including one that contains braces, which apidef leaves literal
|
|
63
|
-
// (a compound element like `{a}.{b}` names no single parameter). That is the
|
|
64
|
-
// lossiness ADR-003 removed from the model, and it survives here only because
|
|
65
|
-
// this is the OLD representation being reconstructed on the way out.
|
|
66
33
|
function pointParts(point: any): string[] {
|
|
67
34
|
return pointSegments(point).map((seg: PathSegment) =>
|
|
68
35
|
null == seg.var ? String(seg.lit ?? '') : '{' + seg.var + '}')
|
|
69
36
|
}
|
|
70
37
|
|
|
71
38
|
|
|
72
|
-
// Does the path end in a parameter?
|
|
73
|
-
//
|
|
74
|
-
// DELIBERATELY asked of the reconstructed part, not of the vector, even
|
|
75
|
-
// though the vector states it directly and more accurately.
|
|
76
|
-
//
|
|
77
|
-
// The same rule runs at RUNTIME, in all 21 languages' makePoint template
|
|
78
|
-
// (`0 === last.indexOf('{')` over `parts`), to pick a fallback route when no
|
|
79
|
-
// point's `select.exist` matches. Those templates ship standalone, outside
|
|
80
|
-
// this package, so the rule is written twice on purpose and BOTH SIDES MUST
|
|
81
|
-
// MOVE TOGETHER — see the note in opShape.ts and in each template.
|
|
82
|
-
//
|
|
83
|
-
// Reading the vector here would break that. A path ending in a LITERAL that
|
|
84
|
-
// contains braces (`/reports/{id}.json`) is not a terminal parameter by the
|
|
85
|
-
// vector, but every runtime still says it is, because from the reconstructed
|
|
86
|
-
// string it cannot tell. Generation-time `ownPoint` would then pick a
|
|
87
|
-
// different route than the SDK picks at request time — for the same model.
|
|
88
|
-
//
|
|
89
|
-
// So this stays bug-compatible with the runtimes until they move onto
|
|
90
|
-
// segments, at which point this becomes `null != last.var` and all 21 change
|
|
91
|
-
// with it.
|
|
92
39
|
function pointTerminalParam(point: any): boolean {
|
|
93
40
|
const parts = pointParts(point)
|
|
94
41
|
const last = 0 < parts.length ? parts[parts.length - 1] : ''
|
|
@@ -96,8 +43,6 @@ function pointTerminalParam(point: any): boolean {
|
|
|
96
43
|
}
|
|
97
44
|
|
|
98
45
|
|
|
99
|
-
// Do two points describe the same route? Compares the vectors, so a literal
|
|
100
|
-
// containing braces cannot be mistaken for a parameter of the same spelling.
|
|
101
46
|
function pointPathKey(point: any): string {
|
|
102
47
|
return pointSegments(point)
|
|
103
48
|
.map((seg: PathSegment) =>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/* Copyright (c) 2024-2026 Voxgig Ltd, MIT License */
|
|
2
|
+
|
|
3
|
+
import type { ResolvedSpec } from '@voxgig/apidef'
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
// The resolved definition apidef published for this build, as a
|
|
7
|
+
// component sees it.
|
|
8
|
+
function resolvedFor(ctx$: any): ResolvedSpec | undefined {
|
|
9
|
+
return ctx$?.meta?.apidef
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
// A point's live-scenario hint. apidef sets `point.live` from the guide; a
|
|
17
|
+
// model built before it did carries the hint only inside the contract.
|
|
18
|
+
function liveHint(point: any): any {
|
|
19
|
+
if (null == point) return undefined
|
|
20
|
+
if (undefined !== point.live) return point.live
|
|
21
|
+
if (null == point.contract?.json) return undefined
|
|
22
|
+
try { return JSON.parse(point.contract.json).live } catch { return undefined }
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
function hasLiveScenarios(model: any): boolean {
|
|
27
|
+
return Object.values(model?.main?.kit?.entity || {}).some((e: any) =>
|
|
28
|
+
Object.values(e.op || {}).some((o: any) =>
|
|
29
|
+
(o.points || []).some((p: any) => liveHint(p))))
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
// A point's resolved specification facts. Prefers the capability apidef
|
|
34
|
+
// publishes; falls back to the contract for a model built before it, or a
|
|
35
|
+
// generation not driven through a model build.
|
|
36
|
+
function pointFacts(ctx$: any, point: any): any {
|
|
37
|
+
const resolved = resolvedFor(ctx$)
|
|
38
|
+
const facts = resolved?.operation(point?.method, point?.orig)
|
|
39
|
+
if (null != facts) return facts
|
|
40
|
+
if (null == point?.contract?.json) return {}
|
|
41
|
+
try { return JSON.parse(point.contract.json) } catch { return {} }
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
export {
|
|
46
|
+
resolvedFor,
|
|
47
|
+
liveHint,
|
|
48
|
+
pointFacts,
|
|
49
|
+
hasLiveScenarios,
|
|
50
|
+
}
|
package/src/helpers/semver.ts
CHANGED
|
@@ -1,32 +1,3 @@
|
|
|
1
|
-
// A DELIBERATELY SMALL semver range check, for `engines.sdkgen`.
|
|
2
|
-
//
|
|
3
|
-
// WHY NOT node-semver
|
|
4
|
-
//
|
|
5
|
-
// This package has no runtime dependencies (`dependencies: {}`), and adding
|
|
6
|
-
// one to read a single optional manifest field is a poor trade. What the field
|
|
7
|
-
// actually carries is a floor — `">=3.5"` — so the subset below covers the
|
|
8
|
-
// spellings that occur, and REFUSES TO GUESS at anything else.
|
|
9
|
-
//
|
|
10
|
-
// THE FAILURE DIRECTION MATTERS MORE THAN THE COVERAGE
|
|
11
|
-
//
|
|
12
|
-
// Getting this wrong in the strict direction refuses a package that would
|
|
13
|
-
// have worked, which is worse than the incompatibility it is trying to
|
|
14
|
-
// prevent. So `satisfies` has three outcomes, not two: yes, no, and
|
|
15
|
-
// `undefined` for "this range is outside the subset I understand". A caller
|
|
16
|
-
// that gets `undefined` must let the install proceed and say so, never treat
|
|
17
|
-
// it as a failure.
|
|
18
|
-
//
|
|
19
|
-
// SUPPORTED
|
|
20
|
-
// * x X '' any version
|
|
21
|
-
// >=1.2.3 >1.2 <=2 <2 =1.2.3 1.2.3
|
|
22
|
-
// ^1.2.3 ~1.2.3
|
|
23
|
-
// space-separated conjunction: ">=3.5 <4"
|
|
24
|
-
// ||-separated alternatives: "^3 || ^4"
|
|
25
|
-
//
|
|
26
|
-
// NOT SUPPORTED (returns undefined)
|
|
27
|
-
// hyphen ranges (`1.2.3 - 2.3.4`), prerelease/build metadata comparison,
|
|
28
|
-
// and anything else. Prereleases are compared by their numeric core only,
|
|
29
|
-
// which is why a range mentioning one is rejected rather than mishandled.
|
|
30
1
|
|
|
31
2
|
|
|
32
3
|
type Parts = [number, number, number]
|
|
@@ -37,9 +8,6 @@ const COMPARATOR_RE = /^(>=|<=|>|<|=|\^|~)?v?(\d+)(?:\.(\d+))?(?:\.(\d+))?$/
|
|
|
37
8
|
const ANY_RE = /^(\*|x|X)$/
|
|
38
9
|
|
|
39
10
|
|
|
40
|
-
// A version as three numbers, or undefined if it is not a plain `X.Y.Z`.
|
|
41
|
-
// A prerelease or build suffix returns undefined deliberately: comparing them
|
|
42
|
-
// properly is most of what makes semver hard, and this subset does not.
|
|
43
11
|
function parseVersion(v: string): Parts | undefined {
|
|
44
12
|
const m = /^v?(\d+)\.(\d+)\.(\d+)$/.exec(String(v).trim())
|
|
45
13
|
|
|
@@ -58,14 +26,6 @@ function compare(a: Parts, b: Parts): number {
|
|
|
58
26
|
}
|
|
59
27
|
|
|
60
28
|
|
|
61
|
-
// The upper bound `^` and `~` imply, exclusive.
|
|
62
|
-
//
|
|
63
|
-
// ^1.2.3 -> <2.0.0 ^0.2.3 -> <0.3.0 ^0.0.3 -> <0.0.4
|
|
64
|
-
// ~1.2.3 -> <1.3.0 ~1.2 -> <1.3.0 ~1 -> <2.0.0
|
|
65
|
-
//
|
|
66
|
-
// `^0.x` is the case worth stating: npm treats a leading zero as unstable, so
|
|
67
|
-
// the caret narrows to the first NON-ZERO component. Getting that wrong would
|
|
68
|
-
// admit `0.3.0` for `^0.2.3`, which is a breaking change by that convention.
|
|
69
29
|
function caretBound(p: Parts): Parts {
|
|
70
30
|
if (0 !== p[0]) return [p[0] + 1, 0, 0]
|
|
71
31
|
if (0 !== p[1]) return [0, p[1] + 1, 0]
|
|
@@ -78,17 +38,11 @@ function tildeBound(p: Parts, given: number): Parts {
|
|
|
78
38
|
}
|
|
79
39
|
|
|
80
40
|
|
|
81
|
-
// The version just past everything a PARTIAL version covers: `3.4` covers all
|
|
82
|
-
// of 3.4.x, so the next bound is 3.5.0; `3` covers all of 3.x, so 4.0.0.
|
|
83
|
-
// Shared by `~` and by the two strict comparators that need it, so they
|
|
84
|
-
// cannot disagree about where a partial version ends.
|
|
85
41
|
function nextBound(p: Parts, given: number): Parts {
|
|
86
42
|
return 1 === given ? [p[0] + 1, 0, 0] : [p[0], p[1] + 1, 0]
|
|
87
43
|
}
|
|
88
44
|
|
|
89
45
|
|
|
90
|
-
// One comparator against one version. `undefined` if the comparator is
|
|
91
|
-
// outside the subset.
|
|
92
46
|
function satisfiesOne(version: Parts, comparator: string): boolean | undefined {
|
|
93
47
|
const c = comparator.trim()
|
|
94
48
|
|
|
@@ -111,16 +65,6 @@ function satisfiesOne(version: Parts, comparator: string): boolean | undefined {
|
|
|
111
65
|
|
|
112
66
|
const cmp = compare(version, p)
|
|
113
67
|
|
|
114
|
-
// A PARTIAL version is a RANGE, not a version with zeroes in it, and two of
|
|
115
|
-
// the four strict comparators have to move their bound to say so:
|
|
116
|
-
//
|
|
117
|
-
// >3.4 means ">= all of 3.4.x" -> >=3.5.0 (not >3.4.0)
|
|
118
|
-
// <=3.4 means "<= all of 3.4.x" -> <3.5.0 (not <=3.4.0)
|
|
119
|
-
// >=3.4 -> >=3.4.0 <3.4 -> <3.4.0 (already right)
|
|
120
|
-
//
|
|
121
|
-
// Read as literal zeroes, `>3.4` admitted 3.4.8 (an incompatible package
|
|
122
|
-
// let through) and `<=3.4` rejected it (a compatible one refused) — the two
|
|
123
|
-
// failures this module's whole shape is meant to avoid, in one comparator.
|
|
124
68
|
const bound = 3 === given ? p : nextBound(p, given)
|
|
125
69
|
|
|
126
70
|
if ('>=' === op) return 0 <= cmp
|
|
@@ -136,8 +80,6 @@ function satisfiesOne(version: Parts, comparator: string): boolean | undefined {
|
|
|
136
80
|
return 0 <= cmp && 0 > compare(version, tildeBound(p, given))
|
|
137
81
|
}
|
|
138
82
|
|
|
139
|
-
// `=` / bare. A partial version is a PREFIX match: `1.2` admits any 1.2.x,
|
|
140
|
-
// which is what every other tool means by it.
|
|
141
83
|
if (3 === given) return 0 === cmp
|
|
142
84
|
if (2 === given) return version[0] === p[0] && version[1] === p[1]
|
|
143
85
|
return version[0] === p[0]
|
|
@@ -161,9 +103,6 @@ function satisfies(version: string, range: string): boolean | undefined {
|
|
|
161
103
|
return true
|
|
162
104
|
}
|
|
163
105
|
|
|
164
|
-
// A hyphen range is not supported, and its parts would otherwise be read as
|
|
165
|
-
// a conjunction of two bare versions — which is never satisfiable, i.e. a
|
|
166
|
-
// false REFUSAL. Rejected explicitly rather than by accident.
|
|
167
106
|
if (/\s-\s/.test(text)) {
|
|
168
107
|
return undefined
|
|
169
108
|
}
|
|
@@ -1,28 +1,3 @@
|
|
|
1
|
-
// OpenAPI server-variable support (templated server URLs).
|
|
2
|
-
//
|
|
3
|
-
// A spec may declare its server URL as a template over named variables:
|
|
4
|
-
//
|
|
5
|
-
// servers:
|
|
6
|
-
// - url: https://{tenant_id}.hanko.io
|
|
7
|
-
// variables:
|
|
8
|
-
// tenant_id: { default: '', description: '...' }
|
|
9
|
-
//
|
|
10
|
-
// The generated SDKs carry the template verbatim in `options.base` and
|
|
11
|
-
// resolve it AT CONSTRUCTION via the `server` options block:
|
|
12
|
-
//
|
|
13
|
-
// new SDK({ server: { tenant_id: 'my-tenant' } })
|
|
14
|
-
//
|
|
15
|
-
// Resolution rules (identical in every target runtime):
|
|
16
|
-
// - each `{name}` in base is replaced with options.server[name],
|
|
17
|
-
// falling back to the spec default emitted into the SDK's Config;
|
|
18
|
-
// - a variable that resolves to '' is an ERROR at construction — the
|
|
19
|
-
// URL cannot work without it — EXCEPT in test mode, where the
|
|
20
|
-
// deterministic value `test-<name>` is substituted so offline tests
|
|
21
|
-
// never require configuration.
|
|
22
|
-
//
|
|
23
|
-
// This module is the emission-side half: it parses the spec's variables
|
|
24
|
-
// out of the model so Config emitters can write the `server` defaults
|
|
25
|
-
// block, and docs can name the required variables.
|
|
26
1
|
|
|
27
2
|
// One declared server variable. `required` is true when the spec gives no
|
|
28
3
|
// usable default — the caller MUST supply it for live use.
|
|
@@ -40,12 +15,6 @@ type ServerVar = {
|
|
|
40
15
|
const SERVER_VAR_RE = /\{([A-Za-z0-9_]+)\}/g
|
|
41
16
|
|
|
42
17
|
|
|
43
|
-
// Parse the server variables declared on servers[0] of the model
|
|
44
|
-
// (main.<KIT>.info.servers.0). Variables are returned in URL order —
|
|
45
|
-
// the order their placeholders appear in the template — with declared
|
|
46
|
-
// variables that never appear in the URL appended after (harmless, but
|
|
47
|
-
// kept so docs can still describe them). Returns [] when the URL has no
|
|
48
|
-
// placeholders.
|
|
49
18
|
function serverVariables(model: any): ServerVar[] {
|
|
50
19
|
const info = model?.main?.kit?.info || model?.main?.KIT?.info
|
|
51
20
|
const server = info?.servers?.[0]
|
|
@@ -88,19 +57,6 @@ function serverVariables(model: any): ServerVar[] {
|
|
|
88
57
|
}
|
|
89
58
|
|
|
90
59
|
|
|
91
|
-
// The environment variable a generated LIVE test reads one server variable
|
|
92
|
-
// from: `<PROJ>_SERVER_<NAME>`, e.g. ELEMENTDEMO_SERVER_ACCOUNT_ID.
|
|
93
|
-
//
|
|
94
|
-
// A live client CANNOT BE CONSTRUCTED without every required server
|
|
95
|
-
// variable — makeOptions raises rather than issue requests to a URL with a
|
|
96
|
-
// literal `{account_id}` in it — so an SDK whose spec templates its server
|
|
97
|
-
// URL had no runnable live suite at all until the generated tests could be
|
|
98
|
-
// told the values. The apikey has had `<PROJ>_APIKEY` since the beginning;
|
|
99
|
-
// this is the same idea for the other half of "where do I point".
|
|
100
|
-
//
|
|
101
|
-
// One variable per NAME rather than one JSON blob: the names come from the
|
|
102
|
-
// spec, they are few, and a shell export per name is what a CI secret store
|
|
103
|
-
// and a .env file both hold naturally.
|
|
104
60
|
function serverVarEnv(projenvname: string, name: string): string {
|
|
105
61
|
return projenvname + '_SERVER_' + String(name).toUpperCase()
|
|
106
62
|
}
|