@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
|
@@ -8,11 +8,6 @@ import {
|
|
|
8
8
|
} from '@voxgig/apidef'
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
// A `list()` on a NESTED entity needs its parent path params. The
|
|
12
|
-
// quickstart used to emit `client.Moon().list()` for an entity at
|
|
13
|
-
// `/planet/{planet_id}/moon`, which 404s against a live server from a
|
|
14
|
-
// half-built URL — indistinguishable from "no such record". The model
|
|
15
|
-
// already marks those params `reqd: true`; matchArg renders exactly them.
|
|
16
11
|
function listMatchArg(ent: any): string {
|
|
17
12
|
const idF = entityIdField(ent)
|
|
18
13
|
return matchArg('py', ent, 'list', idF, idLiteral(ent, 'list', idF))
|
|
@@ -26,9 +21,6 @@ const ReadmeQuick = cmp(function ReadmeQuick(props: any) {
|
|
|
26
21
|
|
|
27
22
|
const exampleEntity = Object.values(entity).find((e: any) => e.active !== false) as any
|
|
28
23
|
|
|
29
|
-
// Find a nested entity if available: one with a parent chain
|
|
30
|
-
// (relations.ancestors), an active load op, and a required non-id load
|
|
31
|
-
// param to demonstrate (the parent key, e.g. page_id).
|
|
32
24
|
const nestedEntity = Object.values(entity).find((e: any) =>
|
|
33
25
|
e.active !== false &&
|
|
34
26
|
e.relations && e.relations.ancestors && 0 < e.relations.ancestors.length &&
|
|
@@ -39,10 +31,6 @@ const ReadmeQuick = cmp(function ReadmeQuick(props: any) {
|
|
|
39
31
|
|
|
40
32
|
const authActive = isAuthActive(model)
|
|
41
33
|
|
|
42
|
-
// Server variables (a templated server URL) are REQUIRED at construction
|
|
43
|
-
// - the SDK refuses rather than request a URL with a literal
|
|
44
|
-
// {account_id} in it - so a quickstart that omits them is a quickstart
|
|
45
|
-
// that fails on its first line.
|
|
46
34
|
const svars = serverVariables(model)
|
|
47
35
|
const pyServerField = 0 === svars.length ? '' :
|
|
48
36
|
`\n "server": {` +
|
|
@@ -117,9 +105,6 @@ except Exception as err:
|
|
|
117
105
|
const neArticle = /^[aeiou]/i.test(neName) ? 'an' : 'a'
|
|
118
106
|
const neVar = exampleVarName(neName.toLowerCase(), 'py')
|
|
119
107
|
|
|
120
|
-
// Model-driven match: every REQUIRED load-match key — the same shape
|
|
121
|
-
// the runtime resolves path params from, so the example always works.
|
|
122
|
-
// Parent keys (e.g. page_id) first, the entity's own id last.
|
|
123
108
|
const neIdF = entityIdField(nestedEntity)
|
|
124
109
|
const neRequired = opRequestShape(nestedEntity, 'load').items
|
|
125
110
|
.filter((it: any) => !it.optional)
|
|
@@ -148,9 +133,6 @@ except Exception as err:
|
|
|
148
133
|
`)
|
|
149
134
|
}
|
|
150
135
|
else if (opnames.includes('load')) {
|
|
151
|
-
// Every REQUIRED load-match key (id first, then parent path params like
|
|
152
|
-
// page_id) — the same shape the runtime resolves path params from, so
|
|
153
|
-
// the example always works.
|
|
154
136
|
const loadRequired = opRequestShape(exampleEntity, 'load').items
|
|
155
137
|
.filter((it: any) => !it.optional || it.name === idF)
|
|
156
138
|
.sort((a: any, b: any) =>
|
|
@@ -176,20 +158,12 @@ except Exception as err:
|
|
|
176
158
|
`)
|
|
177
159
|
}
|
|
178
160
|
|
|
179
|
-
// Model-driven example fields: derive the create/update body from the op
|
|
180
|
-
// shape (opRequestShape) so the docs reference REAL writable fields, not a
|
|
181
|
-
// hardcoded "name" the entity may not have. Literals are Python-typed by
|
|
182
|
-
// the field's canonical type. ids are rendered separately as the match key
|
|
183
|
-
// for update/remove; a REQUIRED create id stays (the call is invalid
|
|
184
|
-
// without it).
|
|
185
161
|
const examplePairs = (opname: string): string[] => {
|
|
186
162
|
const items = opRequestShape(exampleEntity, opname).items
|
|
187
163
|
.filter((it: any) => (it.name !== idF && it.name !== 'id') ||
|
|
188
164
|
('create' === opname && !it.optional))
|
|
189
165
|
const required = items.filter((it: any) => !it.optional)
|
|
190
166
|
const optional = items.filter((it: any) => it.optional)
|
|
191
|
-
// create needs ALL required fields; update is a patch, so the required
|
|
192
|
-
// members plus a sample optional field or two suffice.
|
|
193
167
|
const chosen = 'create' === opname
|
|
194
168
|
? (required.length ? required : items.slice(0, 2))
|
|
195
169
|
: required.concat(optional).slice(0, Math.max(2, required.length))
|
|
@@ -227,8 +201,6 @@ client.${eName}().update({${updatePairs.join(', ')}})
|
|
|
227
201
|
`)
|
|
228
202
|
}
|
|
229
203
|
if (opnames.includes('remove')) {
|
|
230
|
-
// Every REQUIRED remove-match key: the id (off the created record
|
|
231
|
-
// when possible) plus parent keys like page_id.
|
|
232
204
|
const removePairs = opRequestShape(exampleEntity, 'remove').items
|
|
233
205
|
.filter((it: any) => !it.optional || it.name === idF)
|
|
234
206
|
.sort((a: any, b: any) =>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { cmp, each, Content, canonToType, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape, safeVarName, exampleVarName, matchArg, idLiteral } from '@voxgig/sdkgen'
|
|
2
|
+
import { cmp, each, Content, canonToType, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape, safeVarName, exampleVarName, matchArg, idLiteral, targetFeatures } from '@voxgig/sdkgen'
|
|
3
3
|
import { ReadmeRefFeatures } from '@voxgig/sdkgen'
|
|
4
4
|
|
|
5
5
|
import {
|
|
@@ -21,11 +21,6 @@ function pyLit(type: any, placeholder: string = 'example'): string {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
// A `list()` on a NESTED entity needs its parent path params. The
|
|
25
|
-
// quickstart used to emit `client.Moon().list()` for an entity at
|
|
26
|
-
// `/planet/{planet_id}/moon`, which 404s against a live server from a
|
|
27
|
-
// half-built URL — indistinguishable from "no such record". The model
|
|
28
|
-
// already marks those params `reqd: true`; matchArg renders exactly them.
|
|
29
24
|
function listMatchArg(ent: any): string {
|
|
30
25
|
const idF = entityIdField(ent)
|
|
31
26
|
return matchArg('py', ent, 'list', idF, idLiteral(ent, 'list', idF))
|
|
@@ -66,7 +61,7 @@ const ReadmeRef = cmp(function ReadmeRef(props: any) {
|
|
|
66
61
|
const { model } = props.ctx$
|
|
67
62
|
|
|
68
63
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
69
|
-
const feature =
|
|
64
|
+
const feature = targetFeatures(model, target)
|
|
70
65
|
|
|
71
66
|
const publishedEntities = each(entity).filter((e: any) => e.active !== false)
|
|
72
67
|
|
|
@@ -129,7 +124,6 @@ client = ${model.const.Name}SDK.test()
|
|
|
129
124
|
`)
|
|
130
125
|
|
|
131
126
|
|
|
132
|
-
// Entity factory methods
|
|
133
127
|
publishedEntities.map((ent: any) => {
|
|
134
128
|
Content(`#### \`${ent.Name}(data=None)\`
|
|
135
129
|
|
|
@@ -171,7 +165,6 @@ Prepare a fetch definition without sending. Returns the \`fetchdef\` and raises
|
|
|
171
165
|
`)
|
|
172
166
|
|
|
173
167
|
|
|
174
|
-
// Entity reference sections
|
|
175
168
|
publishedEntities.map((ent: any) => {
|
|
176
169
|
const opnames = Object.keys(ent.op || {})
|
|
177
170
|
const fields = ent.fields || []
|
|
@@ -202,7 +195,6 @@ ${eVar} = client.${ent.Name}()
|
|
|
202
195
|
`)
|
|
203
196
|
|
|
204
197
|
|
|
205
|
-
// Field schema
|
|
206
198
|
if (fields.length > 0) {
|
|
207
199
|
Content(`### Fields
|
|
208
200
|
|
|
@@ -249,7 +241,6 @@ ${eVar} = client.${ent.Name}()
|
|
|
249
241
|
}
|
|
250
242
|
|
|
251
243
|
|
|
252
|
-
// Operation details
|
|
253
244
|
if (opnames.length > 0) {
|
|
254
245
|
Content(`### Operations
|
|
255
246
|
|
|
@@ -337,7 +328,6 @@ ${updateLines} # Fields to update
|
|
|
337
328
|
}
|
|
338
329
|
|
|
339
330
|
|
|
340
|
-
// Common methods
|
|
341
331
|
Content(`### Common Methods
|
|
342
332
|
|
|
343
333
|
#### \`data_get() -> dict\`
|
|
@@ -368,7 +358,6 @@ Return the entity name.
|
|
|
368
358
|
})
|
|
369
359
|
|
|
370
360
|
|
|
371
|
-
// Features section
|
|
372
361
|
const activeFeatures = each(feature).filter((f: any) => f.active)
|
|
373
362
|
if (activeFeatures.length > 0) {
|
|
374
363
|
Content(`
|
|
@@ -404,9 +393,6 @@ client = ${model.const.Name}SDK({
|
|
|
404
393
|
\`\`\`
|
|
405
394
|
|
|
406
395
|
`)
|
|
407
|
-
// The shared feature reference: options, defaults, usage and the
|
|
408
|
-
// considerations. Model facts, identical in every target, so they are
|
|
409
|
-
// written once in cmp/ReadmeRefFeatures.ts rather than here.
|
|
410
396
|
ReadmeRefFeatures({ target })
|
|
411
397
|
}
|
|
412
398
|
|
|
@@ -22,11 +22,6 @@ function pyLit(type: any, placeholder: string = 'example'): string {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
// A `list()` on a NESTED entity needs its parent path params. The
|
|
26
|
-
// quickstart used to emit `client.Moon().list()` for an entity at
|
|
27
|
-
// `/planet/{planet_id}/moon`, which 404s against a live server from a
|
|
28
|
-
// half-built URL — indistinguishable from "no such record". The model
|
|
29
|
-
// already marks those params `reqd: true`; matchArg renders exactly them.
|
|
30
25
|
function listMatchArg(ent: any): string {
|
|
31
26
|
const idF = entityIdField(ent)
|
|
32
27
|
return matchArg('py', ent, 'list', idF, idLiteral(ent, 'list', idF))
|
|
@@ -42,10 +37,6 @@ const ReadmeTopQuick = cmp(function ReadmeTopQuick(props: any) {
|
|
|
42
37
|
|
|
43
38
|
const authActive = isAuthActive(model)
|
|
44
39
|
|
|
45
|
-
// Server variables (a templated server URL) are REQUIRED at construction
|
|
46
|
-
// - the SDK refuses rather than request a URL with a literal
|
|
47
|
-
// {account_id} in it - so a quickstart that omits them is a quickstart
|
|
48
|
-
// that fails on its first line.
|
|
49
40
|
const svars = serverVariables(model)
|
|
50
41
|
const pyServerField = 0 === svars.length ? '' :
|
|
51
42
|
`\n "server": {` +
|
|
@@ -72,8 +63,6 @@ client = ${ctor}
|
|
|
72
63
|
// Python keyword (e.g. `class`) would otherwise emit uncompilable code.
|
|
73
64
|
const eVar = exampleVarName(eName.toLowerCase(), 'py')
|
|
74
65
|
const opnames = Object.keys(exampleEntity.op || {})
|
|
75
|
-
// Model-driven id key: null when the entity has no id-like field, in which
|
|
76
|
-
// case the load example takes no match argument.
|
|
77
66
|
const idF = entityIdField(exampleEntity)
|
|
78
67
|
|
|
79
68
|
let hasCall = false
|
|
@@ -88,9 +77,6 @@ for ${eVar} in ${eVar}s:
|
|
|
88
77
|
}
|
|
89
78
|
|
|
90
79
|
if (opnames.includes('load')) {
|
|
91
|
-
// Every REQUIRED load-match key (id first, then parent path params like
|
|
92
|
-
// page_id) — the same shape the runtime resolves path params from, so
|
|
93
|
-
// the example always works.
|
|
94
80
|
const loadItems = opRequestShape(exampleEntity, 'load').items
|
|
95
81
|
.filter((it: any) => !it.optional || it.name === idF)
|
|
96
82
|
.sort((a: any, b: any) =>
|
|
@@ -12,25 +12,6 @@ import {
|
|
|
12
12
|
} from '@voxgig/apidef'
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
// THE GENERATED SCHEMA MODULE: the model's schemas, as data the SDK can run.
|
|
16
|
-
//
|
|
17
|
-
// The python peer of src/cmp/ts/Schema_ts.ts. Same two exports, same source:
|
|
18
|
-
// OPTSPEC from `main.kit.optspec` plus each feature's own `config.options`,
|
|
19
|
-
// ENTITYSPEC from the entity field sentinels — both built by the shared
|
|
20
|
-
// helpers, so what python validates against and what ts validates against
|
|
21
|
-
// cannot drift.
|
|
22
|
-
//
|
|
23
|
-
// EMBEDDED AS JSON, PARSED AT IMPORT, the same mechanism config.py already
|
|
24
|
-
// uses for the model above the size threshold. A python dict literal would
|
|
25
|
-
// also work here, but `json.loads` (the C accelerator) builds it from one
|
|
26
|
-
// string constant rather than making the byte-compiler walk several hundred
|
|
27
|
-
// literal nodes, and it is the one mechanism every ported target shares.
|
|
28
|
-
//
|
|
29
|
-
// The round-trip is exact because the spec holds only strings and booleans —
|
|
30
|
-
// pinned by "strings and booleans only, so the JSON round-trip is lossless"
|
|
31
|
-
// in ts/test/optspec.test.ts. JSON's single number type is the hazard that
|
|
32
|
-
// test exists for: `true`/`false` and `null` differ between JSON and python
|
|
33
|
-
// source, which is why this is a parsed string and not a literal paste.
|
|
34
15
|
const Schema = cmp(async function Schema(props: any) {
|
|
35
16
|
const ctx$ = props.ctx$
|
|
36
17
|
const target = props.target
|
|
@@ -127,8 +127,6 @@ const TestDirect = cmp(function TestDirect(props: any) {
|
|
|
127
127
|
const listPath = listPoint ? normalizePathParams(pointParts(listPoint), listPoint?.args?.params || [], listPoint?.rename?.param) : ''
|
|
128
128
|
const listParams = listPoint?.args?.params || []
|
|
129
129
|
|
|
130
|
-
// Required query params with spec-provided examples — needed in live mode
|
|
131
|
-
// to satisfy API contracts (e.g. /v2018/history requires city/start/end).
|
|
132
130
|
const loadQuery = loadPoint?.args?.query || []
|
|
133
131
|
const loadLiveQueryEntries = loadQuery
|
|
134
132
|
.filter((q: any) => q.reqd && undefined !== q.example && null !== q.example)
|
|
@@ -66,28 +66,6 @@ function formatPyValue(val: any, indent: number = 0): string {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
|
|
69
|
-
// Emission-time normalisation of a model subtree (L0).
|
|
70
|
-
//
|
|
71
|
-
// Always drops jostraca's iteration metadata (`$`-suffixed keys: index$,
|
|
72
|
-
// key$, val$). With `dropDefaults`, also drops keys whose value IS the
|
|
73
|
-
// default the runtime already assumes when the key is absent, which is pure
|
|
74
|
-
// payload — see CONFIG_DEFAULT.
|
|
75
|
-
//
|
|
76
|
-
// Rebuilds the tree rather than mutating during a walk. The previous
|
|
77
|
-
// implementation walked a clone calling `delete p[k]`, but walk() assigns its
|
|
78
|
-
// callback's result back over the child (`setprop(out, ckey, walk(...))`), so
|
|
79
|
-
// the delete was undone on the way out and the helper silently did nothing.
|
|
80
|
-
// Returning `undefined` from the callback does not fix it either: setprop
|
|
81
|
-
// stores undefined rather than removing the key, which then emits as a null.
|
|
82
|
-
//
|
|
83
|
-
// `dropDefaults` is opt-in and must be passed ONLY for the entity subtree.
|
|
84
|
-
// `active` means something different in feature config, where absent reads as
|
|
85
|
-
// INACTIVE (see feature_init) — dropping `active: true` there would silently
|
|
86
|
-
// disable the feature.
|
|
87
|
-
// jostraca's iteration metadata, injected by each()/names() while it walks the
|
|
88
|
-
// model. Listed explicitly rather than matched by trailing-dollar suffix: a
|
|
89
|
-
// trailing dollar is not exclusive to jostraca -- Seneca uses entity$ as real
|
|
90
|
-
// data -- so a blanket suffix match can silently drop a legitimate API field.
|
|
91
69
|
const MODEL_META = ['index$', 'key$', 'val$']
|
|
92
70
|
|
|
93
71
|
// Keys whose value IS the default the runtime already assumes when the key is
|
|
@@ -14,26 +14,8 @@ import {
|
|
|
14
14
|
} from '@voxgig/apidef'
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
// the same repo. It is a consumer target in the go-cli / go-mcp mould — every
|
|
20
|
-
// standard generation phase is switched off in model/target/py-data.aon and
|
|
21
|
-
// this component emits the whole package.
|
|
22
|
-
//
|
|
23
|
-
// The deliverable an analyst wants is not "a client", it is TABLES: one line
|
|
24
|
-
// from API to a typed pandas DataFrame, discovered by tab-completion rather
|
|
25
|
-
// than by reading reference docs.
|
|
26
|
-
//
|
|
27
|
-
// Layered, NOT forked from `py`: the dependency arrow points one way
|
|
28
|
-
// (py-data -> py) and `py` must never learn this target exists. A fork would
|
|
29
|
-
// duplicate the entity/feature machinery and drift, which is the known
|
|
30
|
-
// failure mode.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
// Accessors are generated only for entities exposing these ops. `list` gives
|
|
34
|
-
// a DataFrame; `load` gives a Series. Everything else (create/update/remove)
|
|
35
|
-
// is a write path and deliberately out of scope — see the README's
|
|
36
|
-
// "What this package does not do".
|
|
17
|
+
|
|
18
|
+
|
|
37
19
|
const FRAME_OP = 'list'
|
|
38
20
|
const SERIES_OP = 'load'
|
|
39
21
|
|
|
@@ -42,9 +24,6 @@ const Main = cmp(function Main(props: any) {
|
|
|
42
24
|
const { target, ctx$ } = props
|
|
43
25
|
const { model, log } = ctx$
|
|
44
26
|
|
|
45
|
-
// HARD REQUIREMENT: this package imports the sibling py SDK. Generating it
|
|
46
|
-
// without `py` produces a package whose every import fails at runtime, so
|
|
47
|
-
// fail at GENERATE time with an actionable message instead.
|
|
48
27
|
const targets = model.main[KIT].target || {}
|
|
49
28
|
if (null == targets.py) {
|
|
50
29
|
throw new SdkGenError(
|
|
@@ -54,12 +33,12 @@ const Main = cmp(function Main(props: any) {
|
|
|
54
33
|
'then regenerate.')
|
|
55
34
|
}
|
|
56
35
|
|
|
57
|
-
const name = model.const.Name
|
|
58
|
-
const lower = String(name).toLowerCase()
|
|
59
|
-
const ENV = envName(model)
|
|
60
|
-
const sdkModule = `${lower}_sdk`
|
|
61
|
-
const sdkClass = `${name}SDK`
|
|
62
|
-
const dataModule = `${lower}_data`
|
|
36
|
+
const name = model.const.Name
|
|
37
|
+
const lower = String(name).toLowerCase()
|
|
38
|
+
const ENV = envName(model)
|
|
39
|
+
const sdkModule = `${lower}_sdk`
|
|
40
|
+
const sdkClass = `${name}SDK`
|
|
41
|
+
const dataModule = `${lower}_data`
|
|
63
42
|
|
|
64
43
|
// Multi-tenant APIs (a server URL carrying an unresolved {variable}, e.g.
|
|
65
44
|
// https://{instance}.example.com/api) have no single host, so base_url
|
|
@@ -80,25 +59,12 @@ const Main = cmp(function Main(props: any) {
|
|
|
80
59
|
note: `frames:${frameEnts.length} series:${seriesEnts.length} of ${ents.length}`,
|
|
81
60
|
})
|
|
82
61
|
|
|
83
|
-
// Root-level statics: Makefile, LICENSE, the template-side tests.
|
|
84
62
|
Copy({
|
|
85
63
|
from: 'tm/' + target.name,
|
|
86
64
|
exclude: [/src\//, /pkg\//],
|
|
87
65
|
replace: { ...ctx$.stdrep },
|
|
88
66
|
})
|
|
89
67
|
|
|
90
|
-
// The runtime modules live INSIDE the package, not at the top level.
|
|
91
|
-
//
|
|
92
|
-
// They were originally emitted flat as auth.py / fetch.py / frames.py, which
|
|
93
|
-
// is actively dangerous here: `auth`, `fetch`, `frames`, `core`, `entity`
|
|
94
|
-
// and `utility` are all real PyPI distributions AND exactly the names an
|
|
95
|
-
// analyst leaves lying around next to a notebook. In Colab the working
|
|
96
|
-
// directory is on sys.path, so one stray auth.py shadowed ours and `data()`
|
|
97
|
-
// died with `module 'auth' has no attribute 'resolve'`. A package keeps
|
|
98
|
-
// every internal module behind the distinctive `<name>_data.` prefix.
|
|
99
|
-
//
|
|
100
|
-
// The folder name is model-derived, so it comes from the component; the file
|
|
101
|
-
// contents are the same for every API, so they stay in tm/py-data/pkg.
|
|
102
68
|
Folder({ name: dataModule }, () => {
|
|
103
69
|
Copy({
|
|
104
70
|
from: 'tm/' + target.name + '/pkg',
|
|
@@ -436,7 +402,7 @@ function fieldDoc(fields: any[], indent: string): string {
|
|
|
436
402
|
|
|
437
403
|
function frameAccessor(ent: any): string {
|
|
438
404
|
const acc = pluralAccessor(ent)
|
|
439
|
-
const entMethod = ent.Name
|
|
405
|
+
const entMethod = ent.Name
|
|
440
406
|
const fields = entFields(ent)
|
|
441
407
|
const dtypes = pyDict(fields.map((f) => [f.name, f.dtype] as [string, string]), ' ')
|
|
442
408
|
const order = pyList(fields.map((f) => f.name), ' ')
|
|
@@ -36,30 +36,7 @@ import {
|
|
|
36
36
|
} from './utility_rb'
|
|
37
37
|
|
|
38
38
|
|
|
39
|
-
// PLUGIN DEFINITION REQUIRES AND THE FEATURE_PLUGINS MAP (the ruby peer of
|
|
40
|
-
// cmp/py/Config_py.ts's pluginImports/pluginDefs).
|
|
41
|
-
//
|
|
42
|
-
// Upstream sekreto replaced its self-registration registry with
|
|
43
|
-
// voxgig/plugin definitions: a provider kind the caller did not pass in via
|
|
44
|
-
// `plugins: [...]` is unknown to that Sekreto. So config requires each
|
|
45
|
-
// active plugin's module and names its exported definition CONSTANT (the
|
|
46
|
-
// model's `def.rb` map), handing the list to the feature through
|
|
47
|
-
// FEATURE_PLUGINS.
|
|
48
|
-
//
|
|
49
|
-
// The `def` map is declared in the model rather than derived from filenames
|
|
50
|
-
// because one module may export several definitions (sekreto's aws.rb
|
|
51
|
-
// exports AWSSECRETS and AWSPARAMS) - hence the de-duplication by path, so
|
|
52
|
-
// a two-definition module yields ONE require. A def value is the module's
|
|
53
|
-
// path under tm/rb, which is this target's root, so the require_relative is
|
|
54
|
-
// that path without its extension.
|
|
55
|
-
//
|
|
56
|
-
// GATED, unlike go and py: the whole block is emitted only when an active
|
|
57
|
-
// feature DECLARES a plugin catalogue for this target. An SDK that does not
|
|
58
|
-
// carry the secrets feature must be byte-identical to what it was before
|
|
59
|
-
// the feature existed, and an unread constant is not a thing a simple SDK
|
|
60
|
-
// should have to explain.
|
|
61
39
|
function rbPlugins(model: any, feature: any) {
|
|
62
|
-
// path -> [constant, ...], so one require serves a two-definition module.
|
|
63
40
|
const bypath: Record<string, string[]> = {}
|
|
64
41
|
const defs: Record<string, string[]> = {}
|
|
65
42
|
let declared = false
|
|
@@ -111,24 +88,12 @@ const Config = cmp(async function Config(props: any) {
|
|
|
111
88
|
const model: Model = ctx$.model
|
|
112
89
|
|
|
113
90
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
114
|
-
// Gated by the applicability tags, so this target never imports or
|
|
115
|
-
// registers a feature it has no source for. One rule, one place:
|
|
116
|
-
// helpers/applicability.
|
|
117
91
|
const feature = targetFeatures(model, target)
|
|
118
92
|
|
|
119
93
|
const headers = getModelPath(model, `main.${KIT}.config.headers`) || {}
|
|
120
94
|
|
|
121
95
|
const authActive = isAuthActive(model)
|
|
122
|
-
// config.auth.prefix override -> spec-derived info.security.prefix -> 'Bearer'
|
|
123
96
|
const authPrefix = resolveAuthPrefix(model)
|
|
124
|
-
// `in` and `name` travel with the prefix now. They were resolved by
|
|
125
|
-
// apidef all along and dropped here, so an apiKey-in-query API got an
|
|
126
|
-
// `authorization` header it does not read. `basic` joins them because
|
|
127
|
-
// PrepareAuth_rb only emits its HTTP Basic branch for a basic scheme, and
|
|
128
|
-
// that branch reads this option at runtime.
|
|
129
|
-
//
|
|
130
|
-
// Each is emitted ONLY when it differs from the default, so an SDK with a
|
|
131
|
-
// plain header/Authorization bearer scheme regenerates byte-identical.
|
|
132
97
|
const authBasic = isHttpBasicAuth(model)
|
|
133
98
|
const authIn = resolveAuthIn(model)
|
|
134
99
|
const authName = resolveAuthName(model)
|
|
@@ -155,13 +120,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
155
120
|
},\n`
|
|
156
121
|
: ''
|
|
157
122
|
|
|
158
|
-
// The same config as an OBJECT, built by the shared helper so this target's
|
|
159
|
-
// literal and the data that replaces it above the threshold are the same
|
|
160
|
-
// config by construction. The JSON is what the threshold is measured on -
|
|
161
|
-
// emitted source size varies by language, the model does not.
|
|
162
|
-
// Passing the target name opts in to the main slug/version/target identity
|
|
163
|
-
// fields (station descriptor inputs) - the literal path below emits them
|
|
164
|
-
// too, keeping data and literal reps in step.
|
|
165
123
|
const { def: configDef, json: configJson } = configDefinition(model, target.name)
|
|
166
124
|
const asData = isConfigData(configJson, configReprSetting(model))
|
|
167
125
|
|
|
@@ -170,9 +128,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
170
128
|
const pluginRequireBlock = 0 === requires.length ? '' :
|
|
171
129
|
'\n' + requires.join('\n') + '\n'
|
|
172
130
|
|
|
173
|
-
// Emitted whenever a catalogue is declared, even with every group off:
|
|
174
|
-
// the feature module reads the map unconditionally, and an SDK whose
|
|
175
|
-
// chain is all built-ins still has to answer with an empty list.
|
|
176
131
|
const featurePluginsBlock = !declared ? '' :
|
|
177
132
|
` # The sekreto plugin DEFINITIONS the model selected per feature,
|
|
178
133
|
# required above from the modules the catalogue's active \`plugin.def\`
|
|
@@ -205,17 +160,6 @@ ${featurePluginsBlock} # Return the process-wide config, built once on first us
|
|
|
205
160
|
|
|
206
161
|
`)
|
|
207
162
|
|
|
208
|
-
// ABOVE THE THRESHOLD: emit the model as DATA.
|
|
209
|
-
//
|
|
210
|
-
// A hash literal makes the Ruby parser build a node per entry and the VM
|
|
211
|
-
// execute an instruction per entry on every load. A string constant is one
|
|
212
|
-
// token, and `JSON.parse` (a C extension) builds the hash far faster.
|
|
213
|
-
//
|
|
214
|
-
// `JSON.parse` yields exactly what the literal did - String keys, Integer
|
|
215
|
-
// for whole numbers, true/false/nil - so make_config's result is unchanged.
|
|
216
|
-
//
|
|
217
|
-
// A SINGLE-quoted literal, so the JSON survives verbatim: a double-quoted
|
|
218
|
-
// Ruby string would interpolate any `#{` the model happens to contain.
|
|
219
163
|
if (asData) {
|
|
220
164
|
Content(` # THE API MODEL, EMBEDDED AS DATA (sdkgen rung L1).
|
|
221
165
|
#
|
|
@@ -1,29 +1,5 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
// Typed-model generator (Ruby target).
|
|
4
|
-
//
|
|
5
|
-
// Ported from the TypeScript reference EntityTypes_ts.ts. Reads
|
|
6
|
-
// main.<KIT>.entity.<e>.fields[] and per-op params (op.<name>.points[].args.params[])
|
|
7
|
-
// and emits one file, <Sdk>_types.rb, containing a keyword-init Struct per active
|
|
8
|
-
// entity plus a request/match Struct per active op. Ruby has no enforced static
|
|
9
|
-
// types, so each member carries a YARD `@!attribute`/`@return` annotation whose
|
|
10
|
-
// element type comes from the canonical sentinels via the shared sdkgen helper
|
|
11
|
-
// `canonToType` (source of truth: @voxgig/apidef VALID_CANON):
|
|
12
|
-
// $STRING -> String, $INTEGER -> Integer, $NUMBER -> Float, $BOOLEAN -> Boolean,
|
|
13
|
-
// $OBJECT -> Hash, $ARRAY -> Array, unknown -> Object.
|
|
14
|
-
//
|
|
15
|
-
// Type-name scheme (as TS, with one Ruby-only guard): data type = <Name>,
|
|
16
|
-
// except where Ruby core already owns that constant — `File`, `Time`, `Data`,
|
|
17
|
-
// … — which would be silently REPLACED by the assignment; those become
|
|
18
|
-
// <Name>Type (see rbSafeTypeName). Per-op request
|
|
19
|
-
// <Name>LoadMatch / <Name>ListMatch / <Name>RemoveMatch (query/id ops),
|
|
20
|
-
// <Name>CreateData / <Name>UpdateData (body ops). An op WITH params -> a Struct of
|
|
21
|
-
// those params (reqd:false -> annotated `[Type, nil]`). An op WITHOUT params -> a
|
|
22
|
-
// Struct over the entity fields (Struct members are always optional/nil, so this is
|
|
23
|
-
// the Ruby stand-in for TS `Partial<Name>`; callers may equally pass a plain Hash).
|
|
24
|
-
//
|
|
25
|
-
// Struct.new(keyword_init: true) gives value objects usable as `Advice.new(id: ...)`.
|
|
26
|
-
// The file is required by the main SDK module so these constants are always loaded.
|
|
27
3
|
|
|
28
4
|
import {
|
|
29
5
|
cmp, each, names,
|
|
@@ -47,17 +23,6 @@ function symName(name: string): string {
|
|
|
47
23
|
}
|
|
48
24
|
|
|
49
25
|
|
|
50
|
-
// Emit one typed value class: a YARD @!attribute block plus a keyword-init
|
|
51
|
-
// Struct. Ruby's `Struct.new` rejects zero members, so an empty shape falls
|
|
52
|
-
// back to a plain empty class (keeps the type name available).
|
|
53
|
-
//
|
|
54
|
-
// A member with an EMPTY name is dropped first. `Struct.new(:"")` raises
|
|
55
|
-
// `NameError: cannot make operator ID : attrset` when the file loads, which
|
|
56
|
-
// takes the whole SDK down rather than just that type -- and quoting does
|
|
57
|
-
// not help, since the empty symbol is the one Ruby will not accept (`:"a-b"`
|
|
58
|
-
// and `:"1x"` are both fine). A model should not carry a nameless field, so
|
|
59
|
-
// upstream is where it gets fixed; this keeps one bad field from costing the
|
|
60
|
-
// target everything.
|
|
61
26
|
function emitStruct(
|
|
62
27
|
typeName: string,
|
|
63
28
|
doc: string,
|
|
@@ -92,24 +57,12 @@ function emitStruct(
|
|
|
92
57
|
const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
93
58
|
const { model, log } = props.ctx$
|
|
94
59
|
|
|
95
|
-
// only_active:false — getModelPath DROPS active:false entries by default,
|
|
96
|
-
// but the consumer scaffold (create-sdkgen Root.ts) iterates the RAW entity
|
|
97
|
-
// collection, so inactive entities still get generated entity code that
|
|
98
|
-
// references these typed names. The typed model must cover them too.
|
|
99
60
|
const entity = getModelPath(model, `main.${KIT}.entity`, { only_active: false, required: false })
|
|
100
|
-
// Emit for EVERY entity that gets generated entity code: the consumer
|
|
101
|
-
// scaffold (create-sdkgen Root.ts) iterates entities WITHOUT an active
|
|
102
|
-
// filter, so inactive entities still get class files referencing these
|
|
103
|
-
// typed names. Filter on `name` (always present), NOT `active` — parity
|
|
104
|
-
// with the go emitter's fix.
|
|
105
61
|
const entityList = deriveEntityNames(entity)
|
|
106
62
|
// Derive the PascalCase Name up-front — it is set LAZILY by names(), so an
|
|
107
63
|
// entity not yet named (e.g. a fieldless placeholder) would otherwise read
|
|
108
64
|
// `Name = undefined` below. Parity with the go emitter's fix.
|
|
109
65
|
|
|
110
|
-
// Surface duplicate generated type names (two entities with the same
|
|
111
|
-
// PascalCase Name) — they would redeclare a type in statically-typed
|
|
112
|
-
// targets. Detection only; renaming is a model-level decision.
|
|
113
66
|
warnEntityTypeCollisions(entity, log, LANG)
|
|
114
67
|
|
|
115
68
|
File({ name: model.const.Name + '_types.' + LANG }, () => {
|
|
@@ -128,27 +81,16 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
128
81
|
|
|
129
82
|
entityList.forEach((ent: any) => {
|
|
130
83
|
const Name = ent.Name
|
|
131
|
-
// Ruby constants share ONE namespace with the core classes, and
|
|
132
|
-
// assigning one silently replaces it — an entity named `File` emitting
|
|
133
|
-
// `File = Struct.new(...)` clobbers ::File and every later `File.join`
|
|
134
|
-
// raises NoMethodError. Only the bare data-type constant needs the
|
|
135
|
-
// guard; the per-op names below always carry a suffix that no core
|
|
136
|
-
// constant matches. The `client.File(...)` accessor is a METHOD, a
|
|
137
|
-
// separate namespace, so the public surface is unchanged.
|
|
138
84
|
const TypeName = rbSafeTypeName(Name)
|
|
139
85
|
const fields = (ent.fields ? each(ent.fields) : [])
|
|
140
86
|
.filter((f: any) => f.active !== false)
|
|
141
87
|
|
|
142
|
-
// Entity data model: one member per field (`req:false` -> nilable).
|
|
143
88
|
emitStruct(
|
|
144
89
|
TypeName,
|
|
145
90
|
`${Name} entity data model.`,
|
|
146
91
|
fields.map((f: any) => ({ name: f.name, type: f.type, optional: false === f.req })),
|
|
147
92
|
)
|
|
148
93
|
|
|
149
|
-
// Per active op: a request/match Struct. Members and their optionality
|
|
150
|
-
// come from the shared partiality policy (opRequestShape); this file only
|
|
151
|
-
// renders them as a keyword-init Struct.
|
|
152
94
|
const ops = ent.op || {}
|
|
153
95
|
;['load', 'list', 'create', 'update', 'remove'].forEach((opname: string) => {
|
|
154
96
|
if (null == ops[opname]) {
|
|
@@ -33,7 +33,6 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
33
33
|
|
|
34
34
|
const ff = Path.normalize(__dirname + '/../../../src/cmp/rb/fragment/')
|
|
35
35
|
|
|
36
|
-
// Entity files go to entity/ folder
|
|
37
36
|
Folder({ name: 'entity' }, () => {
|
|
38
37
|
|
|
39
38
|
File({ name: entity.name + '_entity.' + target.ext }, () => {
|
|
@@ -56,8 +55,6 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
56
55
|
EntityName: entity.Name,
|
|
57
56
|
entityname: entity.name,
|
|
58
57
|
|
|
59
|
-
// Class token decoupled from the EntityName data-type token in
|
|
60
|
-
// Entity.fragment.rb so the class can be renamed independently.
|
|
61
58
|
EntyClass: cls,
|
|
62
59
|
|
|
63
60
|
// Feature-hook markers. jostraca's built-in `#Name-Tag` pattern is
|
|
@@ -59,7 +59,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
59
59
|
}
|
|
60
60
|
})
|
|
61
61
|
|
|
62
|
-
// Generate main SDK file
|
|
63
62
|
File({ name: model.const.Name + '_sdk.' + target.ext }, () => {
|
|
64
63
|
|
|
65
64
|
Fragment(
|
|
@@ -83,7 +82,6 @@ utility.feature_hook.call(@_rootctx, "${name}")
|
|
|
83
82
|
}
|
|
84
83
|
},
|
|
85
84
|
|
|
86
|
-
// Entities - injected at SLOT
|
|
87
85
|
() => {
|
|
88
86
|
each(entity, (entity: ModelEntity) => {
|
|
89
87
|
const entitySDK = getModelPath(model, `main.${KIT}.entity.${entity.name}`)
|
|
@@ -93,19 +91,11 @@ utility.feature_hook.call(@_rootctx, "${name}")
|
|
|
93
91
|
})
|
|
94
92
|
})
|
|
95
93
|
|
|
96
|
-
// Generate config module
|
|
97
94
|
Folder({ name: '.' }, () => {
|
|
98
95
|
Config({ target })
|
|
99
96
|
Schema({ target })
|
|
100
97
|
})
|
|
101
98
|
|
|
102
|
-
// GENERATED, NOT COPIED. Where the credential goes is a fact about the
|
|
103
|
-
// API, and tm/ can only hold one answer. See PrepareAuth_rb.
|
|
104
|
-
//
|
|
105
|
-
// At the TARGET ROOT, not inside the `.` folder above and not inside any
|
|
106
|
-
// `src`: rb's tree is flat (utility/, core/, feature/ sit at the root),
|
|
107
|
-
// the component opens the one `utility` folder it needs, and that
|
|
108
|
-
// reproduces tm/rb/utility/prepare_auth.rb's old path exactly.
|
|
109
99
|
PrepareAuth({ target })
|
|
110
100
|
|
|
111
101
|
// Generate typed models (<Sdk>_types.rb) — required by the main SDK file.
|
|
@@ -28,9 +28,6 @@ const Package = cmp(async function Package(props: any) {
|
|
|
28
28
|
// constant here did.
|
|
29
29
|
const author = authorInfo(model, target.name)
|
|
30
30
|
|
|
31
|
-
// Gem name is namespaced to model.origin (e.g. "voxgig-sdk"). RubyGems
|
|
32
|
-
// names can't contain "/", so the parts are hyphen-joined. The require
|
|
33
|
-
// path (`${model.name}_sdk`) is unchanged.
|
|
34
31
|
const ns = model.origin || 'voxgig-sdk'
|
|
35
32
|
const pkgBase = ns.endsWith('-sdk') ? model.name : `${model.name}-sdk`
|
|
36
33
|
const gemName = packageName(model, target.name)
|
|
@@ -39,7 +36,6 @@ const Package = cmp(async function Package(props: any) {
|
|
|
39
36
|
const versionOf = (d: { version: string; source: 'feature' | 'target' }) =>
|
|
40
37
|
d.source === 'target' ? (d.version || '0.0') : d.version
|
|
41
38
|
|
|
42
|
-
// Generate Gemfile
|
|
43
39
|
File({ name: 'Gemfile' }, () => {
|
|
44
40
|
Content(`source "https://rubygems.org"
|
|
45
41
|
|
|
@@ -53,7 +49,6 @@ gemspec
|
|
|
53
49
|
}
|
|
54
50
|
})
|
|
55
51
|
|
|
56
|
-
// Generate gemspec
|
|
57
52
|
File({ name: model.const.Name + '_sdk.gemspec' }, () => {
|
|
58
53
|
// RubyGems rejects a gemspec that declares the same runtime dependency
|
|
59
54
|
// twice (Gem::InvalidSpecificationException at `gem build`), so the
|