@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
|
@@ -17,9 +17,6 @@ function projectPath(suffix?: string): string {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
// A lowerCamelCase Swift local-variable identifier for a snake_case model name
|
|
21
|
-
// (`planet_ref01` -> `planetRef01`). Swift keywords that are illegal as a plain
|
|
22
|
-
// binding get a trailing underscore.
|
|
23
20
|
function swiftVarName(name: string): string {
|
|
24
21
|
const pascal = camelify(name)
|
|
25
22
|
const lower = pascal.charAt(0).toLowerCase() + pascal.slice(1)
|
|
@@ -30,12 +27,6 @@ function swiftVarName(name: string): string {
|
|
|
30
27
|
}
|
|
31
28
|
|
|
32
29
|
|
|
33
|
-
// No Swift identifier may begin with a digit, but a model field may: a
|
|
34
|
-
// `3d_id` field camelifies to `3DId`, and `public var 3DId: String` does not
|
|
35
|
-
// merely fail to bind — the compiler reads it as a malformed number and the
|
|
36
|
-
// whole module dies on "'D' is not a valid digit in integer literal", naming
|
|
37
|
-
// nothing that leads back to the field. Prefixed with an underscore, the same
|
|
38
|
-
// convention cmp/c/utility_c.ts already applies.
|
|
39
30
|
function leadingDigitSafe(ident: string): string {
|
|
40
31
|
return /^[0-9]/.test(ident) ? '_' + ident : ident
|
|
41
32
|
}
|
|
@@ -71,29 +62,6 @@ function swiftString(val: string): string {
|
|
|
71
62
|
}
|
|
72
63
|
|
|
73
64
|
|
|
74
|
-
// Strip model-internal keys (ending in `$`) from a cloned value graph.
|
|
75
|
-
// Emission-time normalisation of a model subtree (L0).
|
|
76
|
-
//
|
|
77
|
-
// Always drops jostraca's iteration metadata (`$`-suffixed keys: index$,
|
|
78
|
-
// key$, val$). With `dropDefaults`, also drops keys whose value IS the
|
|
79
|
-
// default the runtime already assumes when the key is absent, which is pure
|
|
80
|
-
// payload — see CONFIG_DEFAULT.
|
|
81
|
-
//
|
|
82
|
-
// Rebuilds the tree rather than mutating during a walk. The previous
|
|
83
|
-
// implementation walked a clone calling `delete p[k]`, but walk() assigns its
|
|
84
|
-
// callback's result back over the child (`setprop(out, ckey, walk(...))`), so
|
|
85
|
-
// the delete was undone on the way out and the helper silently did nothing.
|
|
86
|
-
// Returning `undefined` from the callback does not fix it either: setprop
|
|
87
|
-
// stores undefined rather than removing the key, which then emits as a null.
|
|
88
|
-
//
|
|
89
|
-
// `dropDefaults` is opt-in and must be passed ONLY for the entity subtree.
|
|
90
|
-
// `active` means something different in feature config, where absent reads as
|
|
91
|
-
// INACTIVE (see feature_init) — dropping `active: true` there would silently
|
|
92
|
-
// disable the feature.
|
|
93
|
-
// jostraca's iteration metadata, injected by each()/names() while it walks the
|
|
94
|
-
// model. Listed explicitly rather than matched by trailing-dollar suffix: a
|
|
95
|
-
// trailing dollar is not exclusive to jostraca -- Seneca uses entity$ as real
|
|
96
|
-
// data -- so a blanket suffix match can silently drop a legitimate API field.
|
|
97
65
|
const MODEL_META = ['index$', 'key$', 'val$']
|
|
98
66
|
|
|
99
67
|
// Keys whose value IS the default the runtime already assumes when the key is
|
|
@@ -133,10 +101,6 @@ function clean(o: any, dropDefaults?: boolean): any {
|
|
|
133
101
|
}
|
|
134
102
|
|
|
135
103
|
|
|
136
|
-
// SwiftPM's convention is Sources/<target>/ and Tests/<target>Tests/, and the
|
|
137
|
-
// target is named <Name>Sdk in Package_swift. These name the two directories
|
|
138
|
-
// so the copied runtime lands under the API's own name rather than under the
|
|
139
|
-
// template's placeholder — see the note in Main_swift.
|
|
140
104
|
function swiftTargetDir(model: any): string {
|
|
141
105
|
return model.const.Name + 'Sdk'
|
|
142
106
|
}
|
|
@@ -147,21 +111,6 @@ function swiftTestDir(model: any): string {
|
|
|
147
111
|
}
|
|
148
112
|
|
|
149
113
|
|
|
150
|
-
// Is the `secrets` feature ACTIVE for this target - i.e. do the three
|
|
151
|
-
// vendored trees under Sources/ProjectNameSDK/feature/secrets/ ship, and
|
|
152
|
-
// does Package.swift declare them?
|
|
153
|
-
//
|
|
154
|
-
// ONE RULE, ONE PLACE: Package_swift (the manifest's three extra targets
|
|
155
|
-
// plus the SDK target's `exclude:`) and Main_swift (the Copy that ships or
|
|
156
|
-
// withholds the trees) both read this, so the manifest and the tree cannot
|
|
157
|
-
// disagree - a manifest naming a path that is not there fails the WHOLE
|
|
158
|
-
// SwiftPM package, not just the feature, and a tree without its manifest
|
|
159
|
-
// entries folds three modules' worth of colliding `Value`/`Point`/`Json`
|
|
160
|
-
// declarations into the SDK module.
|
|
161
|
-
//
|
|
162
|
-
// `targetFeatures` is the applicability gate (helpers/applicability): the
|
|
163
|
-
// feature counts only when the model activates it AND this target
|
|
164
|
-
// `provides: { sekreto: true }`.
|
|
165
114
|
function swiftSecretsActive(model: any, target: any): boolean {
|
|
166
115
|
return null != targetFeatures(model, target)['secrets']
|
|
167
116
|
}
|
|
@@ -43,9 +43,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
43
43
|
const model: Model = ctx$.model
|
|
44
44
|
|
|
45
45
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
46
|
-
// Gated by the applicability tags, so this target never imports or
|
|
47
|
-
// registers a feature it has no source for. One rule, one place:
|
|
48
|
-
// helpers/applicability.
|
|
49
46
|
const feature = targetFeatures(model, target)
|
|
50
47
|
|
|
51
48
|
const ff = Path.normalize(__dirname + '/../../../src/cmp/ts/fragment/')
|
|
@@ -53,7 +50,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
53
50
|
const headers = getModelPath(model, `main.${KIT}.config.headers`) || {}
|
|
54
51
|
|
|
55
52
|
const authActive = isAuthActive(model)
|
|
56
|
-
// config.auth.prefix override -> spec-derived info.security.prefix -> 'Bearer'
|
|
57
53
|
const authPrefix = resolveAuthPrefix(model)
|
|
58
54
|
const authBasic = isHttpBasicAuth(model)
|
|
59
55
|
// `in` and `name` travel with the prefix now. They were resolved by
|
|
@@ -74,30 +70,17 @@ const Config = cmp(async function Config(props: any) {
|
|
|
74
70
|
`
|
|
75
71
|
: ''
|
|
76
72
|
|
|
77
|
-
// Templated server URL: emit the spec's server-variable defaults so the
|
|
78
|
-
// runtime can substitute {name} placeholders in base (see makeOptions).
|
|
79
73
|
const svars = serverVariables(model)
|
|
80
74
|
const serverBlock = 0 === svars.length ? '' :
|
|
81
75
|
'server: {\n' +
|
|
82
76
|
svars.map((v: any) => ` ${JSON.stringify(v.name)}: ${JSON.stringify(v.dflt)},\n`).join('') +
|
|
83
77
|
' },\n\n '
|
|
84
78
|
|
|
85
|
-
// Read the base URL here rather than leaving it to a `$$...$$` stdrep
|
|
86
|
-
// placeholder in the fragment. stdrep can only substitute a path the model
|
|
87
|
-
// actually has: a model with no `info.servers` left the placeholder itself in
|
|
88
|
-
// the generated source, so `options.base` came out as the literal string
|
|
89
|
-
// '$main.kit.info.servers.0.url$'. Reading it explicitly yields '' in that
|
|
90
|
-
// case, which is what every other target already emits, and is identical to
|
|
91
|
-
// the old output whenever the model does define a server.
|
|
92
79
|
let baseUrl = ''
|
|
93
80
|
try {
|
|
94
81
|
baseUrl = getModelPath(model, `main.${KIT}.info.servers.0.url`)
|
|
95
82
|
} catch (_e) { }
|
|
96
83
|
|
|
97
|
-
// The same config as an OBJECT, built by the shared helper so this target's
|
|
98
|
-
// literal and the data that replaces it above the threshold are the same
|
|
99
|
-
// config by construction. The JSON is what the threshold is measured on -
|
|
100
|
-
// emitted source size varies by language, the model does not.
|
|
101
84
|
const { def: configDef, json: configJson } = configDefinition(model, target.name)
|
|
102
85
|
const asData = isConfigData(configJson, configReprSetting(model))
|
|
103
86
|
|
|
@@ -125,9 +108,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
125
108
|
|
|
126
109
|
'// #FeaturePlugins': () => pluginDefs(feature),
|
|
127
110
|
|
|
128
|
-
// A JS string literal, so the JSON survives verbatim. JSON.stringify
|
|
129
|
-
// escapes the quotes and backslashes the model contains (values like
|
|
130
|
-
// `$STRING` carry backticks, which a template literal could not).
|
|
131
111
|
"'CONFIGJSON'": JSON.stringify(configJson),
|
|
132
112
|
}
|
|
133
113
|
})
|
|
@@ -165,8 +145,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
165
145
|
|
|
166
146
|
'// #FeatureClasses': () => {
|
|
167
147
|
each(feature, (f: any) => {
|
|
168
|
-
// Trailing comma: the map has one entry per feature, so entries
|
|
169
|
-
// must be comma-separated (a single feature hid this until now).
|
|
170
148
|
Line(` ${f.name}: ${nom(f, 'Name')}Feature,`)
|
|
171
149
|
})
|
|
172
150
|
},
|
|
@@ -192,12 +170,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
192
170
|
})
|
|
193
171
|
},
|
|
194
172
|
|
|
195
|
-
// configDefinition's `def.entity` verbatim, NOT rebuilt here. This
|
|
196
|
-
// reduce was a second copy of that function's entityDefs loop, and
|
|
197
|
-
// when configDefinition started reconstructing a point's `parts`
|
|
198
|
-
// from apidef's segment vector (its ADR-003), only the data
|
|
199
|
-
// representation got it — the literal one emitted empty paths. The
|
|
200
|
-
// config-repr equivalence test caught it, which is what it is for.
|
|
201
173
|
"'ENTITYMAP'": formatJson(configDef.entity, { margin: 2 }).trim(),
|
|
202
174
|
}
|
|
203
175
|
})
|
|
@@ -206,24 +178,8 @@ const Config = cmp(async function Config(props: any) {
|
|
|
206
178
|
|
|
207
179
|
|
|
208
180
|
|
|
209
|
-
// PLUGIN DEFINITION IMPORTS AND THE FEATURE_PLUGINS MAP.
|
|
210
|
-
//
|
|
211
|
-
// Upstream sekreto replaced its self-registration registry with
|
|
212
|
-
// voxgig/plugin definitions: a provider kind the caller did not pass in
|
|
213
|
-
// via `plugins: [...]` is unknown to that Sekreto. So Config no longer
|
|
214
|
-
// imports provider modules for their side effects — it imports each
|
|
215
|
-
// active plugin's exported Definition BY NAME (the model's `def` map)
|
|
216
|
-
// and hands the list to the feature through FEATURE_PLUGINS.
|
|
217
|
-
//
|
|
218
|
-
// Emitted here because Config already imports every active feature from
|
|
219
|
-
// the model, and this is the same list one level down. The `def` map is
|
|
220
|
-
// declared in the model rather than derived from filenames because one
|
|
221
|
-
// file may export several definitions (sekreto's aws.ts exports
|
|
222
|
-
// awssecrets AND awsparams).
|
|
223
181
|
function pluginImports(feature: any) {
|
|
224
182
|
each(feature, (f: any) => {
|
|
225
|
-
// path -> [symbol, ...], so one import line serves a two-definition
|
|
226
|
-
// module.
|
|
227
183
|
const bypath: Record<string, string[]> = {}
|
|
228
184
|
|
|
229
185
|
each(f.plugin, (plugin: any) => {
|
|
@@ -247,8 +203,6 @@ function pluginImports(feature: any) {
|
|
|
247
203
|
})
|
|
248
204
|
}
|
|
249
205
|
|
|
250
|
-
// The FEATURE_PLUGINS entries: one line per feature that has any active
|
|
251
|
-
// plugin definitions, listing the imported symbols.
|
|
252
206
|
function pluginDefs(feature: any) {
|
|
253
207
|
each(feature, (f: any) => {
|
|
254
208
|
const syms: string[] = []
|
|
@@ -1,20 +1,5 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
// Typed-model generator (TypeScript reference target).
|
|
4
|
-
//
|
|
5
|
-
// Reads main.<KIT>.entity.<e>.fields[] and per-op params
|
|
6
|
-
// (op.<name>.points[].args.params[]) and emits one file, src/<Sdk>Types.ts,
|
|
7
|
-
// with a TS `interface <Name>` per active entity plus a request/match type per
|
|
8
|
-
// active op. Field/param sentinels ($STRING, $INTEGER, ...) are turned into
|
|
9
|
-
// real TS types by the shared sdkgen helper `canonToType` (source of truth:
|
|
10
|
-
// @voxgig/apidef VALID_CANON).
|
|
11
|
-
//
|
|
12
|
-
// PORT RECIPE (language X): copy this file to EntityTypes_<X>.ts, keep the SAME
|
|
13
|
-
// type-name scheme (<Name>, <Name>LoadMatch, <Name>ListMatch, <Name>CreateData,
|
|
14
|
-
// <Name>UpdateData, <Name>RemoveMatch), swap the interface syntax for X's
|
|
15
|
-
// struct/class/dataclass syntax, pass 'X' to canonToType, wire it into
|
|
16
|
-
// Main_<X>.ts next to EntityBase, and reference the same type names from the
|
|
17
|
-
// <X> op fragments + entity accessor.
|
|
18
3
|
|
|
19
4
|
import {
|
|
20
5
|
cmp, each, names,
|
|
@@ -32,7 +17,6 @@ import {
|
|
|
32
17
|
const LANG = 'ts'
|
|
33
18
|
|
|
34
19
|
|
|
35
|
-
// A valid TS property key, or a quoted string literal for anything else.
|
|
36
20
|
function propKey(name: string): string {
|
|
37
21
|
return /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(name) ? name : JSON.stringify(name)
|
|
38
22
|
}
|
|
@@ -41,10 +25,6 @@ function propKey(name: string): string {
|
|
|
41
25
|
const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
42
26
|
const { model, log } = props.ctx$
|
|
43
27
|
|
|
44
|
-
// only_active:false — getModelPath DROPS active:false entries by default,
|
|
45
|
-
// but the consumer scaffold (create-sdkgen Root.ts) iterates the RAW entity
|
|
46
|
-
// collection, so inactive entities still get generated entity code that
|
|
47
|
-
// references these typed names. The typed model must cover them too.
|
|
48
28
|
const entity = getModelPath(model, `main.${KIT}.entity`, { only_active: false, required: false })
|
|
49
29
|
// Emit for EVERY entity that gets generated entity code: the consumer
|
|
50
30
|
// scaffold (create-sdkgen Root.ts) iterates entities WITHOUT an active
|
|
@@ -56,9 +36,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
56
36
|
// entity not yet named (e.g. a fieldless placeholder) would otherwise read
|
|
57
37
|
// `Name = undefined` below. Parity with the go emitter's fix.
|
|
58
38
|
|
|
59
|
-
// Surface duplicate generated type names (two entities with the same
|
|
60
|
-
// PascalCase Name) — they would redeclare a type in statically-typed
|
|
61
|
-
// targets. Detection only; renaming is a model-level decision.
|
|
62
39
|
warnEntityTypeCollisions(entity, log, LANG)
|
|
63
40
|
|
|
64
41
|
File({ name: model.const.Name + 'Types.' + LANG }, () => {
|
|
@@ -74,13 +51,10 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
74
51
|
|
|
75
52
|
entityList.forEach((ent: any) => {
|
|
76
53
|
const Name = ent.Name
|
|
77
|
-
// A TS/JS global (Record, Array, Promise, ...) would shadow itself
|
|
78
|
-
// for the rest of the file — see tsSafeTypeName.
|
|
79
54
|
const TypeName = tsSafeTypeName(Name)
|
|
80
55
|
const fields = (ent.fields ? each(ent.fields) : [])
|
|
81
56
|
.filter((f: any) => f.active !== false)
|
|
82
57
|
|
|
83
|
-
// Entity data model: one property per field, `req:false` -> optional.
|
|
84
58
|
Content(`export interface ${TypeName} {
|
|
85
59
|
`)
|
|
86
60
|
fields.forEach((f: any) => {
|
|
@@ -92,9 +66,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
92
66
|
|
|
93
67
|
`)
|
|
94
68
|
|
|
95
|
-
// Per active op: a request/match type. The members and each member's
|
|
96
|
-
// required/optional decision come from the shared partiality policy
|
|
97
|
-
// (opRequestShape); this file only renders them as a TS interface.
|
|
98
69
|
const ops = ent.op || {}
|
|
99
70
|
;['load', 'list', 'create', 'update', 'remove'].forEach((opname: string) => {
|
|
100
71
|
if (null == ops[opname]) {
|
|
@@ -112,11 +83,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
112
83
|
`)
|
|
113
84
|
})
|
|
114
85
|
|
|
115
|
-
// Custom actions are selected with `$action` in the call's argument
|
|
116
|
-
// (see the Actions section of REFERENCE.md). Without it in the type,
|
|
117
|
-
// the ONLY documented way to reach those endpoints does not compile,
|
|
118
|
-
// and a TypeScript caller has to cast — which is how two of one API's
|
|
119
|
-
// six endpoints came to be unreachable from the typed interface.
|
|
120
86
|
const actions = opActions(ops[opname])
|
|
121
87
|
if (0 < actions.length) {
|
|
122
88
|
Content(`
|
|
@@ -13,7 +13,6 @@ import {
|
|
|
13
13
|
} from '@voxgig/apidef'
|
|
14
14
|
|
|
15
15
|
import { EntityOperation } from './EntityOperation_ts'
|
|
16
|
-
// import { EntityTest } from './EntityTest_ts'
|
|
17
16
|
|
|
18
17
|
|
|
19
18
|
const Entity = cmp(function Entity(props: any) {
|
|
@@ -38,8 +37,6 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
38
37
|
// string stays entity.Name; only the TYPE reference is ever renamed.
|
|
39
38
|
const dataType = tsSafeTypeName(entity.Name)
|
|
40
39
|
|
|
41
|
-
// Import exactly the typed models this entity references: its data type plus
|
|
42
|
-
// one request type per ACTIVE op (matches what EntityTypes_ts.ts emits).
|
|
43
40
|
const typeNames = [dataType]
|
|
44
41
|
const opnamesAll = Object.keys(entity.op || {})
|
|
45
42
|
;['load', 'list', 'create', 'update', 'remove'].forEach((opname: string) => {
|
|
@@ -76,8 +73,6 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
76
73
|
EntityName: entity.Name,
|
|
77
74
|
EntityDataType: dataType,
|
|
78
75
|
|
|
79
|
-
// Class token decoupled from the EntityName data-type token in
|
|
80
|
-
// Entity.fragment.ts so the class can be renamed independently.
|
|
81
76
|
EntyClass: cls,
|
|
82
77
|
|
|
83
78
|
'#TypeImports': ({ indent }: any) => Content({ indent }, typeImport),
|
|
@@ -95,7 +90,6 @@ if (fres instanceof Promise) { await fres }
|
|
|
95
90
|
})
|
|
96
91
|
})
|
|
97
92
|
|
|
98
|
-
// EntityTest({ target, entity, entrep, ff })
|
|
99
93
|
})
|
|
100
94
|
|
|
101
95
|
|
|
@@ -35,7 +35,6 @@ import { SdkError } from './SdkError_ts'
|
|
|
35
35
|
|
|
36
36
|
const Main = cmp(async function Main(props: any) {
|
|
37
37
|
|
|
38
|
-
// Needs type: target object
|
|
39
38
|
const { target } = props
|
|
40
39
|
const { model } = props.ctx$
|
|
41
40
|
|
|
@@ -82,8 +81,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
82
81
|
return Line(`import { ${cls} } from './entity/${cls}'`)
|
|
83
82
|
})
|
|
84
83
|
|
|
85
|
-
// Re-export the generated typed models so consumers can
|
|
86
|
-
// `import { Advice, AdviceLoadMatch } from '<pkg>'`.
|
|
87
84
|
Line(`export type * from './${model.const.Name}Types'\n`)
|
|
88
85
|
|
|
89
86
|
Fragment(
|
|
@@ -92,14 +89,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
92
89
|
replace: {
|
|
93
90
|
...props.ctx$.stdrep,
|
|
94
91
|
|
|
95
|
-
// SECRETS. All five slots are emitted only when the secrets
|
|
96
|
-
// feature applies to this target AND the model activates it.
|
|
97
|
-
// An unconditional edit here would land in every generated SDK
|
|
98
|
-
// and break the inactive-output gate: a model without the
|
|
99
|
-
// feature must generate byte-identically to pre-migration.
|
|
100
|
-
//
|
|
101
|
-
// `feature` is already gated by targetFeatures, so a target
|
|
102
|
-
// that does not provide 'sekreto' never reaches these.
|
|
103
92
|
'// #SecretsImport': () => secrets ?
|
|
104
93
|
Line(`import * as sekreto from './feature/secrets/sekreto'`) : undefined,
|
|
105
94
|
|
|
@@ -116,15 +105,6 @@ secrets() {
|
|
|
116
105
|
}
|
|
117
106
|
`) : undefined,
|
|
118
107
|
|
|
119
|
-
// prepare() bypasses the feature hook pipeline, so the PreSpec
|
|
120
|
-
// hook that resolves the secret for entity ops never runs on
|
|
121
|
-
// this path and the resolve has to be explicit.
|
|
122
|
-
//
|
|
123
|
-
// It RETURNS the Error rather than rejecting: _rawRequest
|
|
124
|
-
// awaits prepare() outside its try, and direct()/graphql() are
|
|
125
|
-
// documented to return a value or an Error, never reject. The
|
|
126
|
-
// prototype rejected here, which would have turned a broken
|
|
127
|
-
// vault into an unhandled rejection on the direct path.
|
|
128
108
|
'// #SecretsResolve': ({ indent }: any) => secrets ?
|
|
129
109
|
Content({ indent }, `
|
|
130
110
|
if (null != this._secrets) {
|
|
@@ -164,7 +144,6 @@ if (fres instanceof Promise) { await fres }
|
|
|
164
144
|
}
|
|
165
145
|
},
|
|
166
146
|
|
|
167
|
-
// Entities
|
|
168
147
|
() => {
|
|
169
148
|
each(entity, (entity: ModelEntity) => {
|
|
170
149
|
const entitySDK = getModelPath(model, `main.${KIT}.entity.${entity.name}`)
|
|
@@ -173,13 +152,6 @@ if (fres instanceof Promise) { await fres }
|
|
|
173
152
|
})
|
|
174
153
|
})
|
|
175
154
|
|
|
176
|
-
// Station self-registration (station design §6.2 path 1;
|
|
177
|
-
// station-declarative-config §11 item 2): emitted ONLY when the model
|
|
178
|
-
// carries an ACTIVE station feature (installed via
|
|
179
|
-
// `package add @voxgig/sdkgen-station`). The library package name
|
|
180
|
-
// comes from the feature model's own `deps.ts` block — the same entry
|
|
181
|
-
// collectDeps flows into package.json — so the manifest dependency
|
|
182
|
-
// and the emitted require cannot disagree.
|
|
183
155
|
const stationPkg = stationLibrary(model, target.name)
|
|
184
156
|
if (null != stationPkg) {
|
|
185
157
|
Fragment({
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
packageVersion,
|
|
15
15
|
authorInfo,
|
|
16
16
|
targetFeatures, envName,
|
|
17
|
+
hasLiveScenarios,
|
|
17
18
|
} from '@voxgig/sdkgen'
|
|
18
19
|
|
|
19
20
|
|
|
@@ -44,14 +45,11 @@ const Package = cmp(async function Package(props: any) {
|
|
|
44
45
|
const only = (kind: string, deps: any) =>
|
|
45
46
|
omap(deps, ([k, v]: any) => [v.active && kind === v.kind ? k : undefined, v.version])
|
|
46
47
|
|
|
47
|
-
// merge target and feature deps, by kind
|
|
48
48
|
const deps =
|
|
49
49
|
each(feature, (feature: any) =>
|
|
50
50
|
omap(feature.deps?.[target.name], ([k, v]: any) =>
|
|
51
51
|
[v.active ? k : undefined, v]))
|
|
52
52
|
|
|
53
|
-
// TODO: sort by version; rules for version choice?
|
|
54
|
-
// TODO: non-node dep kinds
|
|
55
53
|
.reduce((a: any, deps: any) => (each(deps, (dep: any) =>
|
|
56
54
|
a[dep.kind][dep.key$] = dep.version), a),
|
|
57
55
|
{
|
|
@@ -75,37 +73,18 @@ const Package = cmp(async function Package(props: any) {
|
|
|
75
73
|
type: 'commonjs',
|
|
76
74
|
types: `dist/${SdkName}SDK.d.ts`,
|
|
77
75
|
|
|
78
|
-
// What actually ships. Without `files`, `npm publish` packs everything
|
|
79
|
-
// not gitignored — the test suite, dist-test/, the Makefile, the agent
|
|
80
|
-
// guides — into the published tarball. `src` IS included: the emitted
|
|
81
|
-
// .js.map files point back at it, so shipping it is what makes stack
|
|
82
|
-
// traces in a consumer resolve to SDK source. README/LICENSE/package.json
|
|
83
|
-
// are always included by npm and need no entry.
|
|
84
76
|
files: ['dist', 'src'],
|
|
85
77
|
scripts: {
|
|
86
|
-
...(
|
|
78
|
+
...(hasLiveScenarios(model) ? {
|
|
87
79
|
'test:live': `npm run build && ${envName(model)}_TEST_LIVE=TRUE node --test dist-test/live.test.js`,
|
|
88
80
|
} : {}),
|
|
89
81
|
|
|
90
|
-
// `test` and `test-coverage` run the COMPILED suite in dist-test/, which
|
|
91
|
-
// a fresh clone does not have — the glob then matches nothing and the
|
|
92
|
-
// run reports "tests 0, pass 0, fail 0" and exits 0. A green suite that
|
|
93
|
-
// asserted nothing is worse than a red one, so build first. npm runs a
|
|
94
|
-
// `pre<script>` automatically, which keeps the test commands readable
|
|
95
|
-
// and cannot be forgotten by a caller invoking `npm test` directly.
|
|
96
82
|
'pretest': 'npm run build',
|
|
97
83
|
'test': 'node --enable-source-maps --test-concurrency=1 --test \'dist-test/**/*.test.js\'',
|
|
98
84
|
'test-some': 'node --enable-source-maps --experimental-test-isolation=none ' +
|
|
99
85
|
'--test-name-pattern=\"$TEST_PATTERN\" --test \'dist-test/**/*.test.js\'',
|
|
100
86
|
'test-utility': 'node --enable-source-maps --test test/utility/*.test.ts',
|
|
101
87
|
|
|
102
|
-
// Coverage gate. Runs the same suite with V8 coverage (no source-maps,
|
|
103
|
-
// so figures reflect true executed statements) over the SDK source
|
|
104
|
-
// only (test files excluded) and fails when coverage drops below the
|
|
105
|
-
// floor — protecting the runtime, utilities and features from silent
|
|
106
|
-
// regressions. Thresholds are a conservative floor (well under a
|
|
107
|
-
// healthy SDK's ~92% lines) so they hold across API shapes; raise them
|
|
108
|
-
// for a stricter local policy.
|
|
109
88
|
'pretest-coverage': 'npm run build',
|
|
110
89
|
'test-coverage': 'node --test-concurrency=1 --experimental-test-coverage ' +
|
|
111
90
|
'--test-coverage-exclude=\'**/dist-test/**\' ' +
|
|
@@ -122,7 +101,6 @@ const Package = cmp(async function Package(props: any) {
|
|
|
122
101
|
},
|
|
123
102
|
author,
|
|
124
103
|
|
|
125
|
-
// TODO: needs to be config
|
|
126
104
|
license: 'MIT',
|
|
127
105
|
|
|
128
106
|
dependencies: deps.prod,
|
|
@@ -131,8 +109,6 @@ const Package = cmp(async function Package(props: any) {
|
|
|
131
109
|
}
|
|
132
110
|
|
|
133
111
|
File({ name: 'package.json' }, () => {
|
|
134
|
-
// Trailing newline: POSIX wants one, and without it every diff of a
|
|
135
|
-
// regenerated package.json reports "".
|
|
136
112
|
Content(JSON.stringify(pkg, null, 2) + '\n')
|
|
137
113
|
})
|
|
138
114
|
})
|
|
@@ -12,51 +12,17 @@ import {
|
|
|
12
12
|
} from '@voxgig/sdkgen'
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
// WHERE THE CREDENTIAL GOES IS A FACT ABOUT THE API, so it is generated
|
|
16
|
-
// rather than templated.
|
|
17
|
-
//
|
|
18
|
-
// This was a static file in `tm/ts/src/utility/` that hardcoded
|
|
19
|
-
// `Authorization` and a header. apidef has always resolved the scheme's
|
|
20
|
-
// `in` and `name` into `main.kit.info.security` — joplin's says
|
|
21
|
-
// `in: "query", name: "token"` — and generation dropped both. The result
|
|
22
|
-
// was an SDK that sent a header the API does not read and never sent the
|
|
23
|
-
// query parameter it does, so it could not authenticate at all. Four
|
|
24
|
-
// repos in the cedar fleet shipped that way: joplin (`token`), pipedrive
|
|
25
|
-
// (`api_token`), trello (`key`), lm-umbrella (`apiKey`).
|
|
26
|
-
//
|
|
27
|
-
// A template cannot fix this, because the three placements need three
|
|
28
|
-
// different bodies and a template has to pick one. A component emits the
|
|
29
|
-
// branch this API actually uses and nothing else — no dead query code in
|
|
30
|
-
// a bearer-token SDK, and no runtime `if` on a value that is fixed at
|
|
31
|
-
// generation time.
|
|
32
15
|
const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
33
16
|
const { target } = props
|
|
34
17
|
const { model } = props.ctx$
|
|
35
18
|
|
|
36
|
-
// The ONE signal that can honestly be honoured before runtime: the
|
|
37
|
-
// project saying "this SDK sends no credential, ever". Not
|
|
38
|
-
// `isAuthActive`, which is also false when the SPEC merely declares no
|
|
39
|
-
// scheme — those SDKs have always sent options.apikey.
|
|
40
19
|
const suppressed = isAuthSuppressed(model)
|
|
41
20
|
const where = resolveAuthIn(model)
|
|
42
|
-
// LOWERCASED FOR A HEADER, VERBATIM OTHERWISE. HTTP header names are
|
|
43
|
-
// case-insensitive on the wire, but the SDK's header map is a plain
|
|
44
|
-
// object keyed in lower case: the old template hardcoded
|
|
45
|
-
// `'authorization'`, the shared corpus asserts
|
|
46
|
-
// `ctx:spec:headers:authorization`, and every generatedcompile probe
|
|
47
|
-
// reads the lower-case key. apidef writes `name: "Authorization"`, so
|
|
48
|
-
// emitting it verbatim puts the credential under a key nothing reads.
|
|
49
|
-
// A query parameter and a cookie ARE case-sensitive, so they keep the
|
|
50
|
-
// spec's spelling exactly.
|
|
51
21
|
const resolvedName = resolveAuthName(model)
|
|
52
22
|
const name = 'header' === where ? resolvedName.toLowerCase() : resolvedName
|
|
53
23
|
const prefix = resolveAuthPrefix(model)
|
|
54
24
|
const basic = isHttpBasicAuth(model)
|
|
55
25
|
|
|
56
|
-
// No `src` folder here: Main already opened it, and Config and SdkError
|
|
57
|
-
// write straight into it. Opening a second one puts the file at
|
|
58
|
-
// src/src/utility/ — where nothing imports it, and the stale copy at
|
|
59
|
-
// src/utility/ keeps being used.
|
|
60
26
|
Folder({ name: 'utility' }, () => {
|
|
61
27
|
File({ name: 'PrepareAuthUtility.' + target.ext }, () => {
|
|
62
28
|
Content(render({ suppressed, where, name, prefix, basic }))
|
|
@@ -73,22 +39,6 @@ import { Context, Spec } from '../types'
|
|
|
73
39
|
|
|
74
40
|
`
|
|
75
41
|
|
|
76
|
-
// NO GENERATION-TIME GATE ON WHETHER TO PLACE A CREDENTIAL AT ALL.
|
|
77
|
-
//
|
|
78
|
-
// The obvious move is to emit a no-op when `isAuthActive(model)` is
|
|
79
|
-
// false, and it is wrong. That is false whenever `main.kit.info.auth`
|
|
80
|
-
// is false — i.e. the SPEC declares no security scheme — but the SDK
|
|
81
|
-
// still carries a credential: `optspec` always declares `apikey`, and
|
|
82
|
-
// makeOptions fills `options.auth` from the optspec defaults, so the
|
|
83
|
-
// template's `null == options.auth` guard never actually fired and
|
|
84
|
-
// every such SDK has always sent `options.apikey`. Suppressing that at
|
|
85
|
-
// generation time silently breaks a working credential, which
|
|
86
|
-
// `auth null suppresses the credential` in generatedcompile catches,
|
|
87
|
-
// and takes the secrets feature down with it — the feature resolves a
|
|
88
|
-
// secret into options.apikey and prepareAuth then places nothing.
|
|
89
|
-
//
|
|
90
|
-
// `auth: null` is the DOCUMENTED suppression, it is a runtime value,
|
|
91
|
-
// and the runtime guard below is the one that honours it.
|
|
92
42
|
|
|
93
43
|
// Auth switched off outright by the project. The credential-placing
|
|
94
44
|
// body would be dead code, so it is not emitted — but the function
|
|
@@ -195,8 +145,6 @@ export {
|
|
|
195
145
|
}
|
|
196
146
|
|
|
197
147
|
|
|
198
|
-
// The bag the credential lands in, per placement. Cookies ride the header
|
|
199
|
-
// bag because a cookie IS a header.
|
|
200
148
|
function target(where: string): string {
|
|
201
149
|
return 'query' === where ? 'query' : 'headers'
|
|
202
150
|
}
|
|
@@ -209,9 +157,6 @@ function clear(where: string): string {
|
|
|
209
157
|
|
|
210
158
|
function place(where: string): string {
|
|
211
159
|
if ('query' === where) {
|
|
212
|
-
// NO PREFIX IN A QUERY STRING. `?token=Bearer%20abc` is not a thing any
|
|
213
|
-
// API reads; the prefix is a header convention and is dropped here
|
|
214
|
-
// deliberately rather than silently concatenated.
|
|
215
160
|
return ` setprop(query, CRED_name, apikey)`
|
|
216
161
|
}
|
|
217
162
|
|
|
@@ -9,14 +9,6 @@ import {
|
|
|
9
9
|
import { exampleValue } from './utility_ts'
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
// Operation method spelling differs between Go and other languages — Go
|
|
13
|
-
// uses PascalCase methods with explicit ctrl arg, others use lowercase
|
|
14
|
-
// methods with optional ctrl. The op descriptions are language-agnostic.
|
|
15
|
-
// A `list()` on a NESTED entity needs its parent path params. The
|
|
16
|
-
// quickstart used to emit `client.Moon().list()` for an entity at
|
|
17
|
-
// `/planet/{planet_id}/moon`, which 404s against a live server from a
|
|
18
|
-
// half-built URL — indistinguishable from "no such record". The model
|
|
19
|
-
// already marks those params `reqd: true`; matchArg renders exactly them.
|
|
20
12
|
function listMatchArg(ent: any): string {
|
|
21
13
|
const idF = entityIdField(ent)
|
|
22
14
|
return matchArg('ts', ent, 'list', idF, idLiteral(ent, 'list', idF))
|
|
@@ -56,7 +48,6 @@ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
|
56
48
|
const fields = entity.fields || []
|
|
57
49
|
// Model-driven id key: null when this entity has no id-like field.
|
|
58
50
|
const idF = entityIdField(entity)
|
|
59
|
-
// Variable-safe lowercase name (a `Delete` entity must not bind `delete`).
|
|
60
51
|
const eVar = exampleVarName(entity.name, target.name)
|
|
61
52
|
|
|
62
53
|
Content(`
|
|
@@ -2,12 +2,6 @@
|
|
|
2
2
|
import { cmp, Content, File } from '@voxgig/sdkgen'
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
// Generates ts/test/ReadmeExample.test.ts — a test that reads the
|
|
6
|
-
// repo's top-level README.md at runtime, extracts the first TS code
|
|
7
|
-
// block under "## Quickstart", transforms `new <Name>SDK(...)`
|
|
8
|
-
// to `<Name>SDK.test()` so it runs offline, evaluates the rest, and
|
|
9
|
-
// asserts no error. Catches drift between the README quickstart and
|
|
10
|
-
// the real SDK API.
|
|
11
5
|
const ReadmeExampleTest = cmp(function ReadmeExampleTest(props: any) {
|
|
12
6
|
const { ctx$: { model } } = props
|
|
13
7
|
const Name = model.const.Name
|
|
@@ -7,31 +7,6 @@ import {
|
|
|
7
7
|
} from '@voxgig/apidef'
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
// Generates ts/test/readme_examples.test.ts — a COMPLETENESS GATE that
|
|
11
|
-
// guarantees every fenced \`\`\`ts code example across all THREE docs (the
|
|
12
|
-
// repo root README.md, this target's per-language README.md, and its
|
|
13
|
-
// REFERENCE.md) is unit-tested. Every block from every doc is:
|
|
14
|
-
//
|
|
15
|
-
// (1) TYPE-CHECKED against the real SDK types with the repo's local
|
|
16
|
-
// \`tsc --noEmit\`. To stay robust against tsc suppressing all semantic
|
|
17
|
-
// diagnostics program-wide whenever one file has a syntax error, blocks
|
|
18
|
-
// are compiled one-file-per-block in a fixpoint: compile the batch, drop
|
|
19
|
-
// the ones that error, recompile the rest, until a pass is clean — so a
|
|
20
|
-
// real type bug can never hide behind a neighbouring illustration's
|
|
21
|
-
// syntax error.
|
|
22
|
-
// (2) EXECUTED, if RUNNABLE (constructs \`new <Sdk>SDK\` / \`<Sdk>SDK.test\`
|
|
23
|
-
// or drives \`client.\`), by rewriting it to a seeded test-mode client
|
|
24
|
-
// and running it offline. A programming error (undefined method, wrong
|
|
25
|
-
// arity, bad symbol) fails; only a 404 / "Not found" domain error for an
|
|
26
|
-
// unseeded id is tolerated. This now runs for ALL THREE docs (previously
|
|
27
|
-
// only the root README executed).
|
|
28
|
-
// (3) PARTITIONED into exactly one of { executed, typechecked-only,
|
|
29
|
-
// illustration } with the counts asserted to sum to the total. A block
|
|
30
|
-
// that does NOT type-check is only allowed if it matches the NARROW
|
|
31
|
-
// illustration allowlist (bare method-signature \`?:\`, \`/* placeholder */\`
|
|
32
|
-
// value, or a type-SHAPE block). Any other non-type-checking block FAILS
|
|
33
|
-
// the test, quoting the block — it is NEVER silently skipped. A per-doc
|
|
34
|
-
// summary line makes the coverage visible in the test output.
|
|
35
10
|
const ReadmeExamplesTest = cmp(function ReadmeExamplesTest(props: any) {
|
|
36
11
|
const { ctx$: { model } } = props
|
|
37
12
|
const Name = model.const.Name
|