@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
package/src/helpers/naming.ts
CHANGED
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
// Reserved-word sanitiser for generated doc-example variable names.
|
|
2
|
-
//
|
|
3
|
-
// A doc example binds a variable named after the lowercased entity name
|
|
4
|
-
// (e.g. `const delete = await client.Delete().load()`). When that name is a
|
|
5
|
-
// reserved word in the target language the snippet does not compile
|
|
6
|
-
// (TS1109/TS1389 for `delete`). `safeVarName` appends `_` to any reserved
|
|
7
|
-
// name so the example still reads clearly and compiles.
|
|
8
|
-
//
|
|
9
|
-
// Only languages whose build/vet actually rejects the name are listed. JS and
|
|
10
|
-
// TS share the ECMAScript reserved set (plus the strict-mode / contextual
|
|
11
|
-
// words a `const` binding trips on). Go lists its 25 keywords — a var named
|
|
12
|
-
// `type`/`func`/`range` fails `go build`; Go builtins like `delete`/`len` are
|
|
13
|
-
// NOT keywords and are legal identifiers, so they are intentionally omitted.
|
|
14
|
-
// rb/py/lua list the keywords that are illegal as a local-variable binding
|
|
15
|
-
// (e.g. a `Self` entity -> `self = client.Self` is a Ruby SyntaxError, an
|
|
16
|
-
// `End` entity -> `end = ...` a Lua one). PHP variables are `$`-prefixed so a
|
|
17
|
-
// lowercased entity name never collides (only `$this` is special, and no
|
|
18
|
-
// entity is named `this`), so PHP is not treated.
|
|
19
1
|
|
|
20
2
|
const JS_RESERVED = new Set<string>([
|
|
21
3
|
'break', 'case', 'catch', 'class', 'const', 'continue', 'debugger',
|
|
@@ -23,7 +5,6 @@ const JS_RESERVED = new Set<string>([
|
|
|
23
5
|
'finally', 'for', 'function', 'if', 'import', 'in', 'instanceof', 'new',
|
|
24
6
|
'null', 'return', 'super', 'switch', 'this', 'throw', 'true', 'try',
|
|
25
7
|
'typeof', 'var', 'void', 'while', 'with', 'yield',
|
|
26
|
-
// strict-mode / contextual words that are invalid as a `const`/`let` binding
|
|
27
8
|
'await', 'implements', 'interface', 'let', 'package', 'private',
|
|
28
9
|
'protected', 'public', 'static',
|
|
29
10
|
])
|
|
@@ -35,7 +16,6 @@ const GO_RESERVED = new Set<string>([
|
|
|
35
16
|
'var',
|
|
36
17
|
])
|
|
37
18
|
|
|
38
|
-
// Ruby keywords — illegal as a local-variable name (e.g. `self`, `end`).
|
|
39
19
|
const RB_RESERVED = new Set<string>([
|
|
40
20
|
'alias', 'and', 'begin', 'break', 'case', 'class', 'def', 'defined?',
|
|
41
21
|
'do', 'else', 'elsif', 'end', 'ensure', 'false', 'for', 'if', 'in',
|
|
@@ -44,7 +24,6 @@ const RB_RESERVED = new Set<string>([
|
|
|
44
24
|
'while', 'yield', '__FILE__', '__LINE__', '__ENCODING__', 'BEGIN', 'END',
|
|
45
25
|
])
|
|
46
26
|
|
|
47
|
-
// Python keywords — illegal as a variable name.
|
|
48
27
|
const PY_RESERVED = new Set<string>([
|
|
49
28
|
'False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break',
|
|
50
29
|
'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally',
|
|
@@ -69,92 +48,35 @@ const RESERVED: Record<string, Set<string>> = {
|
|
|
69
48
|
}
|
|
70
49
|
|
|
71
50
|
|
|
72
|
-
// Ruby CORE CONSTANTS — a different hazard from the keyword sets above.
|
|
73
|
-
//
|
|
74
|
-
// The keyword sets guard local-variable BINDINGS. This set guards generated
|
|
75
|
-
// top-level CONSTANTS. Ruby constants share one namespace with the core
|
|
76
|
-
// classes, and reassigning one is not an error — it silently replaces it:
|
|
77
|
-
//
|
|
78
|
-
// File = Struct.new(:name) # ::File is now a Struct
|
|
79
|
-
// File.join('a', 'b') # NoMethodError — every later caller breaks
|
|
80
|
-
//
|
|
81
|
-
// The typed model emits `<Name> = Struct.new(...)` per entity, so an API with
|
|
82
|
-
// a `/files` collection (entity `File`) used to clobber Ruby's File class and
|
|
83
|
-
// take the whole SDK down with it — the generated test runner calls
|
|
84
|
-
// `File.join` to locate `.env.local`, so `rb` failed at require time.
|
|
85
|
-
//
|
|
86
|
-
// Only names Ruby itself defines at top level are listed: reassigning any of
|
|
87
|
-
// them breaks working code somewhere. Names that merely LOOK builtin but are
|
|
88
|
-
// not core constants (e.g. `Response`, `Record`) are safe and stay untouched,
|
|
89
|
-
// which keeps the rename off every SDK that does not actually collide.
|
|
90
51
|
const RB_CORE_CONSTANTS = new Set<string>([
|
|
91
|
-
// classes an entity name plausibly lands on
|
|
92
52
|
'Array', 'Binding', 'Class', 'Comparable', 'Complex', 'Data', 'Dir',
|
|
93
53
|
'Encoding', 'Enumerator', 'Exception', 'Fiber', 'File', 'Float', 'Hash',
|
|
94
54
|
'IO', 'Integer', 'Method', 'Module', 'Mutex', 'Numeric', 'Object', 'Proc',
|
|
95
55
|
'Queue', 'Random', 'Range', 'Rational', 'Regexp', 'Set', 'Signal', 'String',
|
|
96
56
|
'Struct', 'Symbol', 'Thread', 'Time', 'UnboundMethod',
|
|
97
|
-
// modules / singletons
|
|
98
57
|
'Enumerable', 'GC', 'Kernel', 'Marshal', 'Math', 'ObjectSpace', 'Process',
|
|
99
58
|
'Warning',
|
|
100
|
-
// the rest of the exception hierarchy an API might name an entity after
|
|
101
59
|
'ArgumentError', 'IndexError', 'IOError', 'KeyError', 'NameError',
|
|
102
60
|
'NotImplementedError', 'RangeError', 'RuntimeError', 'StandardError',
|
|
103
61
|
'StopIteration', 'SystemExit', 'TypeError', 'ZeroDivisionError',
|
|
104
|
-
// literal singletons
|
|
105
62
|
'FalseClass', 'NilClass', 'TrueClass',
|
|
106
63
|
])
|
|
107
64
|
|
|
108
65
|
|
|
109
|
-
// Is `Name` a constant Ruby already defines at top level?
|
|
110
66
|
function isRbCoreConstant(Name: string): boolean {
|
|
111
67
|
return RB_CORE_CONSTANTS.has(Name)
|
|
112
68
|
}
|
|
113
69
|
|
|
114
70
|
|
|
115
|
-
// RUBY SDK-OWNED CONSTANTS — the OTHER half of "already taken".
|
|
116
|
-
//
|
|
117
|
-
// `RB_CORE_CONSTANTS` guards names the LANGUAGE owns. This guards names the
|
|
118
|
-
// GENERATED SCAFFOLDING claims for itself, which is a distinct hazard and the
|
|
119
|
-
// one that stayed open: an entity named `Runner` produced `class Runner` in
|
|
120
|
-
// `<Sdk>_types.rb`, and the generated harness then does
|
|
121
|
-
//
|
|
122
|
-
// Runner = ProjectNameTestRunner # tm/rb/test/runner.rb
|
|
123
|
-
//
|
|
124
|
-
// so inside the test process the entity TYPE silently *is* the test runner.
|
|
125
|
-
// Ruby warns (`already initialized constant Runner`) and carries on, which is
|
|
126
|
-
// why it survived: nothing in the suite exercises the type, so `rb` passed.
|
|
127
|
-
// Reported on gitlab-sdk, which has a `Runner` entity (issue #64).
|
|
128
|
-
//
|
|
129
|
-
// EVERYTHING SHARES ONE NAMESPACE HERE, unlike swift. Swift's Tests module is
|
|
130
|
-
// separate from the SDK module, so `SWIFT_SDK_TYPES` can exclude test-only
|
|
131
|
-
// declarations. Ruby has no such split — the types file and the test files are
|
|
132
|
-
// all required into one process when the suite runs, which is exactly the
|
|
133
|
-
// reported symptom — so test-declared names belong in this set.
|
|
134
|
-
//
|
|
135
|
-
// PREFIXED DECLARATIONS ARE DELIBERATELY ABSENT. `ProjectNameUtility` and
|
|
136
|
-
// friends substitute to `<Sdk>Utility`, and a generated entity type is the
|
|
137
|
-
// bare entity name, so those cannot collide. Only the UNPREFIXED declarations
|
|
138
|
-
// are reachable.
|
|
139
|
-
//
|
|
140
|
-
// `rb-sdk-constants.test.ts` re-derives this list from the templates AND the
|
|
141
|
-
// components and fails on drift — the same discipline as
|
|
142
|
-
// `swift-sdk-types.test.ts`, and for the same reason: the first cut of that
|
|
143
|
-
// list was collected by hand and missed three names, one of them declared by
|
|
144
|
-
// a component rather than a template.
|
|
145
71
|
const RB_SDK_CONSTANTS = new Set<string>([
|
|
146
|
-
// module-level aliases the test harness defines for convenience
|
|
147
72
|
'Helpers', 'Runner', 'Vs',
|
|
148
|
-
// vendored struct library and its test scaffolding
|
|
149
73
|
'StructRunner', 'StructTestClient', 'StructUtilityTest', 'VoxgigStruct',
|
|
150
74
|
'STRUCT_TEST_JSON_FILE',
|
|
151
|
-
// vendored omni runner and its smoke test (vendor-tag rollout)
|
|
152
75
|
'VoxgigOmni', 'OmniSmokeTest',
|
|
153
76
|
// vendored sekreto and its plugin host — the `secrets` feature's library,
|
|
154
77
|
// shipped only when that feature is selected, but declared at the top
|
|
155
78
|
// level when it is
|
|
156
79
|
'VoxgigSekreto', 'VoxgigPlugin',
|
|
157
|
-
// the generated/templated test classes
|
|
158
80
|
'ExistsTest', 'FeatureCorpusTest', 'FeatureTest', 'NetsimTest',
|
|
159
81
|
'PipelineTest', 'PrimaryUtilityTest', 'ReadmeExamplesTest',
|
|
160
82
|
'SecretsFeatureTest',
|
|
@@ -168,64 +90,18 @@ function isRbSdkConstant(Name: string): boolean {
|
|
|
168
90
|
}
|
|
169
91
|
|
|
170
92
|
|
|
171
|
-
// A top-level-safe Ruby constant name for a generated type: the name
|
|
172
|
-
// unchanged, unless it is ALREADY TAKEN — by Ruby core, or by the SDK's own
|
|
173
|
-
// scaffolding — in which case `Type` is appended (`File` -> `FileType`,
|
|
174
|
-
// `Runner` -> `RunnerType`). Applied ONLY to the bare entity data type: the
|
|
175
|
-
// per-op type names always carry a suffix (`FileCreateData`,
|
|
176
|
-
// `FileLoadMatch`), which nothing in either set matches.
|
|
177
|
-
//
|
|
178
|
-
// The entity ACCESSOR keeps its original name (`client.File(...)`): methods
|
|
179
|
-
// and constants live in separate namespaces in Ruby, so the accessor never
|
|
180
|
-
// collided and the public surface is unchanged.
|
|
181
93
|
function rbSafeTypeName(Name: string): string {
|
|
182
94
|
return isRbCoreConstant(Name) || isRbSdkConstant(Name) ? Name + 'Type' : Name
|
|
183
95
|
}
|
|
184
96
|
|
|
185
97
|
|
|
186
|
-
// Swift SDK-OWNED TYPE NAMES — a third hazard, distinct from both sets above.
|
|
187
|
-
//
|
|
188
|
-
// The keyword sets guard local bindings; the Ruby set guards clobbering the
|
|
189
|
-
// LANGUAGE's core. This set guards clobbering OUR OWN runtime, because Swift
|
|
190
|
-
// has no namespacing WITHIN a module: every type the swift templates declare
|
|
191
|
-
// and every generated entity type land in the same module. Two declarations
|
|
192
|
-
// of one name is a hard error, not a silent override:
|
|
193
|
-
//
|
|
194
|
-
// // core/Response.swift (template)
|
|
195
|
-
// public final class Response { ... } // transport wrapper
|
|
196
|
-
// // entity/<Prefix>Types.swift (generated from a spec schema named Response)
|
|
197
|
-
// public struct Response { ... }
|
|
198
|
-
// -> error: invalid redeclaration of 'Response'
|
|
199
|
-
// -> error: 'Response' is ambiguous for type lookup (every core file)
|
|
200
|
-
//
|
|
201
|
-
// Found 2026-08-07: the Hook0 spec has a `Response` schema, which took the
|
|
202
|
-
// whole swift target down. `Response` is merely the first collision to be
|
|
203
|
-
// hit — every name below is equally exposed.
|
|
204
|
-
//
|
|
205
|
-
// Sourced by scanning BOTH `tm/swift/Sources/*/` (templates) and
|
|
206
|
-
// `src/cmp/swift/*.ts` (components) for top-level type declarations —
|
|
207
|
-
// regardless of access level. `internal` is Swift's default and is still
|
|
208
|
-
// module-wide, and `open class BaseFeature` is not `public` either, so an
|
|
209
|
-
// access-level filter under-collects and silently reopens the bug.
|
|
210
|
-
//
|
|
211
|
-
// Nested types (a `typealias Element` inside a struct) and the separate Tests
|
|
212
|
-
// module (`ReadmeExamplesTest`) do NOT share this namespace and are excluded.
|
|
213
|
-
//
|
|
214
|
-
// `swift-sdk-types.test.ts` re-derives this list from the templates and fails
|
|
215
|
-
// on drift, so adding a public type to a swift template cannot silently
|
|
216
|
-
// reopen the bug.
|
|
217
98
|
const SWIFT_SDK_TYPES = new Set<string>([
|
|
218
|
-
// core runtime
|
|
219
99
|
'Context', 'Control', 'Entity', 'Operation', 'Point', 'Response', 'Result',
|
|
220
100
|
'SdkConfig', 'SdkSchema', 'Spec', 'Utility',
|
|
221
|
-
// struct library
|
|
222
101
|
'Injection', 'Injector', 'JSON', 'JSONParseError', 'Modify',
|
|
223
102
|
'OrderedDictionary', 'Sentinel', 'Value', 'VList', 'VMap', 'WalkApply',
|
|
224
|
-
// function/callback aliases
|
|
225
103
|
'FetcherFunc', 'Formatter', 'NativeCall0', 'NativeRef', 'SystemFetch',
|
|
226
|
-
// transport plumbing
|
|
227
104
|
'ManualRedirectDelegate',
|
|
228
|
-
// features
|
|
229
105
|
'AuditFeature', 'BaseFeature', 'CacheFeature', 'ClienttrackFeature',
|
|
230
106
|
'CostBucket', 'CostBudget', 'CostFeature', 'CostPending', 'CostRecord',
|
|
231
107
|
'CostTotal', 'DebugFeature', 'IdempotencyFeature', 'LogFeature',
|
|
@@ -236,57 +112,17 @@ const SWIFT_SDK_TYPES = new Set<string>([
|
|
|
236
112
|
])
|
|
237
113
|
|
|
238
114
|
|
|
239
|
-
// Does `Name` collide with a type the swift SDK runtime already declares?
|
|
240
115
|
function isSwiftSdkType(Name: string): boolean {
|
|
241
116
|
return SWIFT_SDK_TYPES.has(Name)
|
|
242
117
|
}
|
|
243
118
|
|
|
244
119
|
|
|
245
|
-
// A module-safe Swift type name for a generated type: unchanged, unless the
|
|
246
|
-
// swift runtime already declares it, in which case `Type` is appended
|
|
247
|
-
// (`Response` -> `ResponseType`). Mirrors rbSafeTypeName deliberately — same
|
|
248
|
-
// suffix, same "only rename on an actual collision" rule, so SDKs that do not
|
|
249
|
-
// collide are byte-identical to before.
|
|
250
|
-
//
|
|
251
|
-
// Applied ONLY to the bare entity data type. Per-op type names already carry
|
|
252
|
-
// their own suffix (`ResponseCreateData`, `ResponseLoadMatch`) and the entity
|
|
253
|
-
// CLASS is separately suffixed (`ResponseEntity`), so neither ever collided.
|
|
254
120
|
function swiftSafeTypeName(Name: string): string {
|
|
255
121
|
return isSwiftSdkType(Name) ? Name + 'Type' : Name
|
|
256
122
|
}
|
|
257
123
|
|
|
258
124
|
|
|
259
|
-
// PHP RESERVED WORDS THAT CANNOT BE A CLASS NAME — a fifth hazard, and the
|
|
260
|
-
// only one of the five where the check must be CASE-INSENSITIVE.
|
|
261
|
-
//
|
|
262
|
-
// PHP's grammar refuses a reserved word where a class name is expected, so a
|
|
263
|
-
// spec with a `Namespace` entity emitted a file that does not parse at all:
|
|
264
|
-
//
|
|
265
|
-
// /** Namespace entity data model. */
|
|
266
|
-
// class Namespace
|
|
267
|
-
// {
|
|
268
|
-
// }
|
|
269
|
-
// -> PHP Parse error: syntax error, unexpected token "namespace",
|
|
270
|
-
// expecting identifier
|
|
271
|
-
//
|
|
272
|
-
// Found on gitlab-sdk (issue #64), and LATENT in the worst way: `types/` is on
|
|
273
|
-
// the composer classmap but nothing references the file, so PHP never loads it
|
|
274
|
-
// and the php lane passed for as long as the target has existed. It would
|
|
275
|
-
// fatal the moment anything required it, and the documented type is unusable
|
|
276
|
-
// either way.
|
|
277
|
-
//
|
|
278
|
-
// CASE-INSENSITIVITY IS THE WHOLE TRICK. Class and function names in PHP are
|
|
279
|
-
// case-insensitive, so `Namespace`, `NAMESPACE` and `namespace` are one
|
|
280
|
-
// identifier — and the generated name is PascalCase while the reserved word is
|
|
281
|
-
// lowercase. A case-sensitive `Set.has('Namespace')` against a lowercase list
|
|
282
|
-
// therefore matches NOTHING and reopens the bug silently. Entries are stored
|
|
283
|
-
// folded, and the lookup folds too.
|
|
284
|
-
//
|
|
285
|
-
// Taken from the PHP manual's reserved-words tables wholesale rather than
|
|
286
|
-
// grown one collision at a time: the list is fixed by the language, and
|
|
287
|
-
// picking from it by hand is how the second `Namespace` gets shipped.
|
|
288
125
|
const PHP_RESERVED_TYPES = new Set<string>([
|
|
289
|
-
// keywords
|
|
290
126
|
'abstract', 'and', 'array', 'as', 'break', 'callable', 'case', 'catch',
|
|
291
127
|
'class', 'clone', 'const', 'continue', 'declare', 'default', 'do', 'echo',
|
|
292
128
|
'else', 'elseif', 'empty', 'enddeclare', 'endfor', 'endforeach', 'endif',
|
|
@@ -297,7 +133,6 @@ const PHP_RESERVED_TYPES = new Set<string>([
|
|
|
297
133
|
'private', 'protected', 'public', 'readonly', 'require', 'require_once',
|
|
298
134
|
'return', 'static', 'switch', 'throw', 'trait', 'try', 'unset', 'use',
|
|
299
135
|
'var', 'while', 'xor', 'yield',
|
|
300
|
-
// compile-time constants
|
|
301
136
|
'__class__', '__dir__', '__file__', '__function__', '__line__',
|
|
302
137
|
'__method__', '__namespace__', '__trait__',
|
|
303
138
|
// reserved as type names / cannot be declared as a class
|
|
@@ -306,93 +141,40 @@ const PHP_RESERVED_TYPES = new Set<string>([
|
|
|
306
141
|
])
|
|
307
142
|
|
|
308
143
|
|
|
309
|
-
// Does `Name` collide with a word PHP reserves, ignoring case as PHP does?
|
|
310
144
|
function isPhpReservedType(Name: string): boolean {
|
|
311
145
|
return PHP_RESERVED_TYPES.has(String(Name).toLowerCase())
|
|
312
146
|
}
|
|
313
147
|
|
|
314
148
|
|
|
315
|
-
// CLASSES THE GENERATED PHP SDK ITSELF DECLARES — the second half of "already
|
|
316
|
-
// taken", exactly as RB_SDK_CONSTANTS is for ruby. `PHP_RESERVED_TYPES` covers
|
|
317
|
-
// what the LANGUAGE owns; this covers what OUR OWN scaffolding claims, which a
|
|
318
|
-
// keyword list can never catch.
|
|
319
|
-
//
|
|
320
|
-
// The generated PHP SDK uses NO NAMESPACES, and composer classmaps both the
|
|
321
|
-
// runtime (`types/`) and the tests (`autoload-dev`: `test/`). An entity named
|
|
322
|
-
// `feature_test` emits `class FeatureTest` in `<Sdk>Types.php` while
|
|
323
|
-
// `tm/php/test/FeatureTest.php` declares one too: composer maps one name to
|
|
324
|
-
// two files, and loading both fatals on redeclaration. Ruby's equivalent only
|
|
325
|
-
// warns; PHP does not.
|
|
326
|
-
//
|
|
327
|
-
// Only UNPREFIXED, UNNAMESPACED declarations are listed. `ProjectNameUtility`
|
|
328
|
-
// substitutes to `<Sdk>Utility`, which no bare entity type can equal, and
|
|
329
|
-
// `utility/struct/Struct.php` and `test/StructRunner.php` declare inside a
|
|
330
|
-
// namespace — neither is reachable from the global name an entity type takes.
|
|
331
|
-
//
|
|
332
|
-
// `php-sdk-classes.test.ts` re-derives this from the templates AND the
|
|
333
|
-
// components and fails on drift, the same discipline as the rb and swift
|
|
334
|
-
// guards, and for the same reason: a hand-collected list rots.
|
|
335
|
-
//
|
|
336
|
-
// Folded, and matched folded: PHP class names are case-insensitive, so
|
|
337
|
-
// `FeatureTest` and `featuretest` are one identifier.
|
|
338
149
|
const PHP_SDK_CLASSES = new Set<string>([
|
|
339
|
-
// the generated/templated test classes
|
|
340
150
|
'existstest', 'featurecorpustest', 'featuretest', 'netsimtest',
|
|
341
151
|
'omnismoketest', 'pipelinetest', 'primaryutilitytest',
|
|
342
152
|
'readmeexamplestest', 'structutilitytest',
|
|
343
|
-
// helper classes those suites declare beside them
|
|
344
153
|
'ftclient', 'ftclock', 'ftctrl', 'ftentity', 'ftharness', 'ftrecorder',
|
|
345
154
|
'plclient', 'plentity', 'plentityitem',
|
|
346
155
|
])
|
|
347
156
|
|
|
348
157
|
|
|
349
|
-
// Does `Name` collide with a class the generated PHP SDK already declares?
|
|
350
158
|
function isPhpSdkClass(Name: string): boolean {
|
|
351
159
|
return PHP_SDK_CLASSES.has(String(Name).toLowerCase())
|
|
352
160
|
}
|
|
353
161
|
|
|
354
162
|
|
|
355
|
-
// A declarable PHP class name for a generated type: unchanged, unless the name
|
|
356
|
-
// is ALREADY TAKEN — by PHP itself, or by the SDK's own scaffolding — in which
|
|
357
|
-
// case `Type` is appended (`Namespace` -> `NamespaceType`). Mirrors
|
|
358
|
-
// rbSafeTypeName and swiftSafeTypeName deliberately — same suffix, same "only
|
|
359
|
-
// rename on an actual collision" rule, so every SDK that does not collide is
|
|
360
|
-
// byte-identical to before.
|
|
361
|
-
//
|
|
362
|
-
// Applied ONLY to the bare entity data class. Per-op type names already carry
|
|
363
|
-
// their own suffix (`NamespaceLoadData`, `NamespaceCreateData`), which neither
|
|
364
|
-
// set matches, and the entity ACCESSOR is a method rather than a class — PHP
|
|
365
|
-
// resolves those separately — so the public surface is unchanged.
|
|
366
163
|
function phpSafeTypeName(Name: string): string {
|
|
367
164
|
return isPhpReservedType(Name) || isPhpSdkClass(Name) ? Name + 'Type' : Name
|
|
368
165
|
}
|
|
369
166
|
|
|
370
167
|
|
|
371
|
-
// TypeScript GLOBAL TYPE NAMES — a fourth hazard, same shape as the Ruby and
|
|
372
|
-
// Swift ones above but for TS/JS builtins, which are in scope everywhere
|
|
373
|
-
// with no import. An entity named `Record` emitted `export interface Record
|
|
374
|
-
// {...}` and canonToType's own generic-object mapping (`Record<string,
|
|
375
|
-
// any>`) then resolved to that flat interface INSIDE THE SAME FILE instead
|
|
376
|
-
// of the builtin: `error TS2315: Type 'Record' is not generic` — on a
|
|
377
|
-
// field of the `Record` entity itself.
|
|
378
|
-
//
|
|
379
|
-
// Utility types (`Record`, `Partial`, ...) and common global constructors
|
|
380
|
-
// (`Array`, `Map`, `Promise`, ...) that a REST entity name plausibly lands
|
|
381
|
-
// on. Mirrors RB_CORE_CONSTANTS / SWIFT_SDK_TYPES: only real builtins are
|
|
382
|
-
// listed, so a non-colliding SDK stays byte-identical to before.
|
|
383
168
|
const TS_RESERVED_TYPES = new Set<string>([
|
|
384
|
-
// utility types
|
|
385
169
|
'Record', 'Partial', 'Required', 'Readonly', 'Pick', 'Omit', 'Exclude',
|
|
386
170
|
'Extract', 'NonNullable', 'Parameters', 'ReturnType', 'InstanceType',
|
|
387
171
|
'Awaited', 'ConstructorParameters',
|
|
388
|
-
// global constructors / builtins
|
|
389
172
|
'Array', 'Object', 'Map', 'Set', 'WeakMap', 'WeakSet', 'Date', 'Error',
|
|
390
173
|
'Function', 'Promise', 'RegExp', 'String', 'Number', 'Boolean', 'Symbol',
|
|
391
174
|
'ArrayBuffer', 'Proxy', 'Reflect', 'JSON', 'Math',
|
|
392
175
|
])
|
|
393
176
|
|
|
394
177
|
|
|
395
|
-
// Does `Name` collide with a TS/JS global type?
|
|
396
178
|
function isTsReservedType(Name: string): boolean {
|
|
397
179
|
return TS_RESERVED_TYPES.has(Name)
|
|
398
180
|
}
|
|
@@ -407,7 +189,6 @@ function tsSafeTypeName(Name: string): string {
|
|
|
407
189
|
}
|
|
408
190
|
|
|
409
191
|
|
|
410
|
-
// Is `name` a reserved word (an illegal identifier) in the target language?
|
|
411
192
|
function isReservedName(name: string, lang: string): boolean {
|
|
412
193
|
const set = RESERVED[lang]
|
|
413
194
|
return !!set && set.has(name)
|
|
@@ -421,21 +202,6 @@ function safeVarName(name: string, lang: string): string {
|
|
|
421
202
|
}
|
|
422
203
|
|
|
423
204
|
|
|
424
|
-
// Members the generated PHP SDK class already declares (see the php target's
|
|
425
|
-
// fragment/Main.fragment.php). An entity accessor or backing field reusing one
|
|
426
|
-
// is a FATAL redeclare — PHP will not parse the file, so the SDK yields zero
|
|
427
|
-
// working tests rather than a degraded one.
|
|
428
|
-
//
|
|
429
|
-
// PHP method names are CASE-INSENSITIVE at declaration time, hence the
|
|
430
|
-
// lowercased comparison: an entity `graph_ql` derives the accessor `GraphQl()`,
|
|
431
|
-
// the same declaration as the SDK's own `graphql()`.
|
|
432
|
-
//
|
|
433
|
-
// This lives here, not in the php component, because the ACCESSOR NAME has to
|
|
434
|
-
// agree across the SDK class and every doc/example component that calls it.
|
|
435
|
-
// It did not: MainEntity_php emitted `Test_()` for an entity named `test`
|
|
436
|
-
// while eight readme components emitted `Test()`, so the generated examples
|
|
437
|
-
// called the static test-mode constructor and died with
|
|
438
|
-
// "Call to undefined method <Name>SDK::load()".
|
|
439
205
|
const PHP_SDK_METHODS = new Set([
|
|
440
206
|
'construct', '__construct', 'direct', 'get_root_ctx', 'get_utility',
|
|
441
207
|
'graphql', 'op_allowed', 'op_denied', 'options_map', 'prepare',
|
|
@@ -450,7 +216,6 @@ const PHP_SDK_METHODS = new Set([
|
|
|
450
216
|
const SDK_FIELDS = new Set(['rootctx', 'utility', 'client', 'entctx'])
|
|
451
217
|
|
|
452
218
|
|
|
453
|
-
/** The PHP accessor method for an entity: `$client-><Name>()`. */
|
|
454
219
|
function phpEntityAccessor(Name: string): string {
|
|
455
220
|
return PHP_SDK_METHODS.has(String(Name).toLowerCase()) ? Name + '_' : Name
|
|
456
221
|
}
|
|
@@ -466,17 +231,6 @@ function entityCacheField(name: string): string {
|
|
|
466
231
|
}
|
|
467
232
|
|
|
468
233
|
|
|
469
|
-
// Symbols a doc example CALLS, which a same-named example variable would
|
|
470
|
-
// shadow. The variable is syntactically fine; the example then fails at
|
|
471
|
-
// RUNTIME, which is far harder to read than a compile error:
|
|
472
|
-
//
|
|
473
|
-
// const consoles = await client.Console().list()
|
|
474
|
-
// for (const console of consoles) { console.log(console) }
|
|
475
|
-
// -> "console.log is not a function" (nexarda, an API with a Console entity)
|
|
476
|
-
//
|
|
477
|
-
// Only languages where a plain variable can capture the symbol are listed.
|
|
478
|
-
// php is absent on purpose: its variables carry a `$` sigil, so `$echo` can
|
|
479
|
-
// never shadow `echo`.
|
|
480
234
|
const EXAMPLE_GLOBALS: Record<string, string[]> = {
|
|
481
235
|
ts: ['console', 'process', 'globalThis'],
|
|
482
236
|
js: ['console', 'process', 'globalThis'],
|
|
@@ -487,14 +241,6 @@ const EXAMPLE_GLOBALS: Record<string, string[]> = {
|
|
|
487
241
|
}
|
|
488
242
|
|
|
489
243
|
|
|
490
|
-
// A variable name for a doc EXAMPLE entity. Doc examples bind the SDK instance
|
|
491
|
-
// to `client` (e.g. `const client = ...SDK.test()`), so an entity whose
|
|
492
|
-
// lowercased name is also `client` — an API with a `Client` entity — would
|
|
493
|
-
// shadow it: `const client = client.Client()...` is self-referential (TS2448/
|
|
494
|
-
// TS7022) and breaks the readme_examples type-check. Append `_` to keep the
|
|
495
|
-
// example variable distinct from the SDK instance. The same applies to any
|
|
496
|
-
// symbol the example itself calls (EXAMPLE_GLOBALS). Also applies the normal
|
|
497
|
-
// language-reserved-word guard.
|
|
498
244
|
function exampleVarName(name: string, lang: string): string {
|
|
499
245
|
const v = safeVarName(name, lang)
|
|
500
246
|
if ('client' === v) return v + '_'
|
|
@@ -503,33 +249,6 @@ function exampleVarName(name: string, lang: string): string {
|
|
|
503
249
|
}
|
|
504
250
|
|
|
505
251
|
|
|
506
|
-
// LEADING DIGITS — the one hazard on this page that is not about a word being
|
|
507
|
-
// taken. Every other guard here asks "is this name already claimed?"; this one
|
|
508
|
-
// asks whether the name is an identifier at all. No target language permits
|
|
509
|
-
// one that starts with a digit, and ordinary resources produce one:
|
|
510
|
-
//
|
|
511
|
-
// /3ds-sessions -> entity `3ds_session` -> Name `3dsSession`
|
|
512
|
-
// /2fa-tokens -> entity `2fa_token` -> Name `2faToken`
|
|
513
|
-
//
|
|
514
|
-
// `Name` feeds the class name, the SDK accessor and every generated type
|
|
515
|
-
// name, so the SDK does not compile at all — it is not a degraded SDK, it is
|
|
516
|
-
// no SDK (issue #124).
|
|
517
|
-
//
|
|
518
|
-
// The prefix takes the case of the name it guards — lower for `3ds_session`,
|
|
519
|
-
// upper for `3DSecure` — so the result stays in whatever casing convention
|
|
520
|
-
// the caller works in. Applied to the STEM before PascalCasing, which is why
|
|
521
|
-
// `Name` comes out `N3dsSession` and not `n3dsSession`.
|
|
522
|
-
//
|
|
523
|
-
// This is deliberately the SAME rule, spelled the same way, as apidef's
|
|
524
|
-
// `prefixLeadingDigit`. A model that came through apidef is already guarded,
|
|
525
|
-
// so this is a no-op on it; a hand-authored `.sdk/model` entity gets the
|
|
526
|
-
// identical name apidef would have given it. Idempotent by construction.
|
|
527
|
-
//
|
|
528
|
-
// The rule is applied ONCE, to the model's own entity name, by
|
|
529
|
-
// `guardModelNames` — never to a derived form. Guarding `Name` alone does not
|
|
530
|
-
// survive: a consumer's scaffolded `Root.ts` runs its own
|
|
531
|
-
// `names(entity, entity.name)` per target, which re-derives `Name` from the
|
|
532
|
-
// unguarded name and silently undoes the correction.
|
|
533
252
|
function prefixLeadingDigit(s: string): string {
|
|
534
253
|
if (null == s || '' === s) return s
|
|
535
254
|
const first = s.charCodeAt(0)
|
|
@@ -540,17 +259,9 @@ function prefixLeadingDigit(s: string): string {
|
|
|
540
259
|
}
|
|
541
260
|
|
|
542
261
|
|
|
543
|
-
// A valid ECMAScript identifier — the only shape `obj.name` can express.
|
|
544
262
|
const JS_IDENT = /^[A-Za-z_$][A-Za-z0-9_$]*$/
|
|
545
263
|
|
|
546
264
|
|
|
547
|
-
// A safe JS/TS property-access expression for a SPEC-DERIVED key: dot
|
|
548
|
-
// notation when the key is a valid identifier, bracket notation otherwise.
|
|
549
|
-
// OpenAPI path/query parameter names are not constrained to identifiers —
|
|
550
|
-
// e.g. Evervault's `/payments/3ds-sessions/{3ds_session_id}` yields
|
|
551
|
-
// `3ds_session_id`, and `params.3ds_session_id` is a syntax error (TS1434).
|
|
552
|
-
// The other language targets already quote these keys (`params["..."]`);
|
|
553
|
-
// this keeps ts/js in parity.
|
|
554
265
|
function jsProp(obj: string, name: string): string {
|
|
555
266
|
return JS_IDENT.test(name) ? `${obj}.${name}` : `${obj}[${JSON.stringify(name)}]`
|
|
556
267
|
}
|
|
@@ -567,20 +278,6 @@ function jsKey(name: string): string {
|
|
|
567
278
|
const LUA_IDENT = /^[A-Za-z_][A-Za-z0-9_]*$/
|
|
568
279
|
|
|
569
280
|
|
|
570
|
-
// A safe Lua TABLE-CONSTRUCTOR key for a spec-derived field name: bare when the
|
|
571
|
-
// name is a valid identifier that is not a keyword, bracketed and quoted
|
|
572
|
-
// otherwise.
|
|
573
|
-
//
|
|
574
|
-
// Unlike `jsKey`, this MUST consult the keyword list. A reserved word is a legal
|
|
575
|
-
// JS object key (`{ end: 1 }` is fine) but not a legal Lua one — `{ end = 1 }`
|
|
576
|
-
// is a syntax error, because `end` closes a block. The trap is that a keyword
|
|
577
|
-
// also matches the identifier pattern, so a shape-only test passes it through
|
|
578
|
-
// looking correct.
|
|
579
|
-
//
|
|
580
|
-
// Real case: aareguru's /v2018 range query takes a parameter named `end`, so
|
|
581
|
-
// every generated lua doc example emitted `{ ..., end = "end", ... }` and the
|
|
582
|
-
// readme-examples test could not compile the block. 13 of the 626 freepublicapis
|
|
583
|
-
// specs name a parameter with a lua reserved word.
|
|
584
281
|
function luaKey(name: string): string {
|
|
585
282
|
return LUA_IDENT.test(name) && !isReservedName(name, 'lua')
|
|
586
283
|
? name
|
package/src/helpers/opExample.ts
CHANGED
|
@@ -1,20 +1,3 @@
|
|
|
1
|
-
// Renders a single, type-correct entity-op CALL for the neutral doc
|
|
2
|
-
// components (ReadmeErrors, ReadmeExplanation) that illustrate a convention
|
|
3
|
-
// (throw-on-error, stateful entities) with one representative operation.
|
|
4
|
-
//
|
|
5
|
-
// Two model traps this centralises:
|
|
6
|
-
// 1. OP-AWARENESS — the illustrated op must be one the entity actually
|
|
7
|
-
// exposes. A create-only entity has no `load` method, so these components
|
|
8
|
-
// pick the entity's PRIMARY op (entityPrimaryOp) rather than hardcoding
|
|
9
|
-
// `load`, and this module renders whatever op that is.
|
|
10
|
-
// 2. TYPE-CORRECT MATCH ID — an entity can carry its id ONLY in the
|
|
11
|
-
// load-match params (no `id` data field). The example id literal is
|
|
12
|
-
// therefore derived from the OP's param type (opRequestShape), not the
|
|
13
|
-
// entity fields, so a numeric match id renders `1` and not `"example_id"`
|
|
14
|
-
// (which would be a TS2322 against a `number` match).
|
|
15
|
-
//
|
|
16
|
-
// Output is the invocation EXPRESSION and its result binding; the surrounding
|
|
17
|
-
// prose / try-catch scaffolding stays in each component's per-language table.
|
|
18
1
|
|
|
19
2
|
import { each } from 'jostraca'
|
|
20
3
|
import { canonKey } from './canonType'
|
|
@@ -54,8 +37,6 @@ function litFor(lang: ExampleLang, type: any): string {
|
|
|
54
37
|
}
|
|
55
38
|
|
|
56
39
|
|
|
57
|
-
// The example id literal for an op's match key, typed from the op's declared
|
|
58
|
-
// param (falling back to the entity field) so a numeric id is never quoted.
|
|
59
40
|
function idLiteral(ent: any, op: string, idF: string | null): string {
|
|
60
41
|
if (null == idF) return '"example_id"'
|
|
61
42
|
const item = opRequestShape(ent, op).items.find((it: any) => it.name === idF)
|
|
@@ -64,18 +45,9 @@ function idLiteral(ent: any, op: string, idF: string | null): string {
|
|
|
64
45
|
}
|
|
65
46
|
|
|
66
47
|
|
|
67
|
-
// Render a match object `{ idF: idLit }` (or empty when the entity has no id
|
|
68
|
-
// key) in the target language's object syntax.
|
|
69
|
-
// Spec-derived field names are NOT constrained to be identifiers — e.g.
|
|
70
|
-
// Evervault's `/payments/3ds-sessions/{3ds_session_id}` yields the match key
|
|
71
|
-
// `3ds_session_id`. py/php/rb/go quote every literal key already, but ts/js
|
|
72
|
-
// (`{ key: v }`) and lua (`{ key = v }`) write them bare, and a leading digit
|
|
73
|
-
// or a `-` makes that a syntax error (TS1351 / Lua "'}' expected"). Quote
|
|
74
|
-
// exactly those, leaving ordinary keys in the idiomatic bare form.
|
|
75
48
|
const JS_IDENT = /^[A-Za-z_$][A-Za-z0-9_$]*$/
|
|
76
49
|
const LUA_IDENT = /^[A-Za-z_][A-Za-z0-9_]*$/
|
|
77
50
|
|
|
78
|
-
// A `key<sep>value` literal pair in the target language's object syntax.
|
|
79
51
|
function litPair(lang: ExampleLang, name: string, value: string): string {
|
|
80
52
|
switch (lang) {
|
|
81
53
|
case 'py': return `"${name}": ${value}`
|
|
@@ -90,12 +62,6 @@ function litPair(lang: ExampleLang, name: string, value: string): string {
|
|
|
90
62
|
}
|
|
91
63
|
|
|
92
64
|
|
|
93
|
-
// The match argument for a load/remove — ALL required match params, not just
|
|
94
|
-
// the primary id. A composite-match entity (e.g. Umbrella's FlatPermission,
|
|
95
|
-
// `/public/database/{id}/permission/{msisdn}`) has two required path params
|
|
96
|
-
// (database_id + id); emitting only `{ id }` fails the typed <Name>LoadMatch.
|
|
97
|
-
// The idF field takes the specific id literal; other required fields take a
|
|
98
|
-
// type-correct example value (mirrors dataArg).
|
|
99
65
|
function matchArg(
|
|
100
66
|
lang: ExampleLang, ent: any, op: string, idF: string | null, idLit: string
|
|
101
67
|
): string {
|
|
@@ -112,25 +78,11 @@ function matchArg(
|
|
|
112
78
|
}
|
|
113
79
|
|
|
114
80
|
|
|
115
|
-
// The entity's required writable fields for a create/update body, rendered as
|
|
116
|
-
// `key: value` pairs (capped) in the target language's object syntax. Ensures
|
|
117
|
-
// the body satisfies a typed CreateData/UpdateData (required fields present).
|
|
118
81
|
function dataArg(lang: ExampleLang, ent: any, op: string, idF: string | null): string {
|
|
119
|
-
// The id is normally server-assigned on create, so it is dropped from the
|
|
120
|
-
// example body. But it is only safe to drop when the request shape says it is
|
|
121
|
-
// OPTIONAL: an op whose id comes from a PATH PARAMETER requires it, and a
|
|
122
|
-
// typed CreateData then rejects a body without it.
|
|
123
|
-
//
|
|
124
|
-
// Conecto's `/integrations/{slug}/actions/{action}/run/` is the case — the
|
|
125
|
-
// guide renames the `action` param to `id`, so ActionCreateData is
|
|
126
|
-
// `{id, slug, ok}` and the generated snippet emitted only `{slug, ok}`,
|
|
127
|
-
// failing to compile with "Property 'id' is missing".
|
|
128
82
|
const items = opRequestShape(ent, op).items
|
|
129
83
|
.filter((it: any) =>
|
|
130
84
|
(it.name !== idF && it.name !== 'id') || !it.optional)
|
|
131
85
|
const required = items.filter((it: any) => !it.optional)
|
|
132
|
-
// ALL required fields must appear (a typed CreateData rejects a partial); cap
|
|
133
|
-
// only the optional fallback used when the op declares no required field.
|
|
134
86
|
const chosen = required.length ? required : items.slice(0, 3)
|
|
135
87
|
const pairs = chosen.map((it: any) => litPair(lang, it.name, litFor(lang, it.type)))
|
|
136
88
|
switch (lang) {
|
|
@@ -143,13 +95,8 @@ function dataArg(lang: ExampleLang, ent: any, op: string, idF: string | null): s
|
|
|
143
95
|
|
|
144
96
|
|
|
145
97
|
type PrimaryCall = {
|
|
146
|
-
// The full invocation expression, e.g. `client.Advice().load({ id: 1 })`
|
|
147
|
-
// (ts) or `client.Generate(nil).Create(map[string]any{...}, nil)` (go).
|
|
148
98
|
expr: string
|
|
149
|
-
// The natural result-variable name (`advice`, `advices`, `generate`).
|
|
150
99
|
resultVar: string
|
|
151
|
-
// True when the op returns no value (remove) — callers that print the
|
|
152
|
-
// result should skip it.
|
|
153
100
|
isVoid: boolean
|
|
154
101
|
}
|
|
155
102
|
|
|
@@ -171,7 +118,6 @@ function primaryOpCall(
|
|
|
171
118
|
const isData = 'create' === op || 'update' === op
|
|
172
119
|
const idLit = idLiteral(ent, op, idF)
|
|
173
120
|
|
|
174
|
-
// Factory + method spelling per language.
|
|
175
121
|
const method = 'go' === lang ? cap(op) : op
|
|
176
122
|
let factory: string
|
|
177
123
|
let sep: string
|
|
@@ -184,7 +130,6 @@ function primaryOpCall(
|
|
|
184
130
|
else if ('php' === lang) { factory = `$client->${phpEntityAccessor(eName)}()`; sep = '->' }
|
|
185
131
|
else { factory = `client.${eName}()`; sep = '.' }
|
|
186
132
|
|
|
187
|
-
// Argument string per op + language.
|
|
188
133
|
let arg: string
|
|
189
134
|
if (isList) {
|
|
190
135
|
arg = 'go' === lang ? 'nil' : ''
|
|
@@ -195,7 +140,6 @@ function primaryOpCall(
|
|
|
195
140
|
} else {
|
|
196
141
|
arg = 'go' === lang ? 'nil' : ''
|
|
197
142
|
}
|
|
198
|
-
// Go passes a trailing ctrl arg on every entity method.
|
|
199
143
|
if ('go' === lang) {
|
|
200
144
|
arg = arg + ', nil'
|
|
201
145
|
}
|