@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
|
@@ -29,42 +29,10 @@ const Config = cmp(async function Config(props: any) {
|
|
|
29
29
|
|
|
30
30
|
const model: Model = ctx$.model
|
|
31
31
|
|
|
32
|
-
// Gated by the applicability tags, so this target never imports or
|
|
33
|
-
// registers a feature it has no source for. One rule, one place:
|
|
34
|
-
// helpers/applicability.
|
|
35
32
|
const feature = targetFeatures(model, target)
|
|
36
33
|
|
|
37
|
-
// The config as data, built by the shared helper so every target embeds
|
|
38
|
-
// the same model by construction. Passing target.name opts this target
|
|
39
|
-
// into main.slug / main.version / main.target (the three station
|
|
40
|
-
// descriptor identity fields, station design §4); swift has only the
|
|
41
|
-
// JSON-literal rep, so that one call covers every rep this target emits.
|
|
42
|
-
//
|
|
43
|
-
// `def` rather than the helper's own `json`, because `in` and `name` are
|
|
44
|
-
// added to the auth block below and the JSON has to be re-serialised over
|
|
45
|
-
// that. When nothing is added, `JSON.stringify(def)` IS the helper's
|
|
46
|
-
// `json` - same object, same key order - so a header SDK's config is
|
|
47
|
-
// byte-identical to what it was.
|
|
48
34
|
const { def } = configDefinition(model, target.name)
|
|
49
35
|
|
|
50
|
-
// `in` and `name` TRAVEL WITH THE PREFIX NOW. apidef resolved both from
|
|
51
|
-
// the spec's securityScheme all along (main.kit.info.security - joplin's
|
|
52
|
-
// says `in: "query", name: "token"`) and generation dropped them, so an
|
|
53
|
-
// apiKey-in-query API got an Authorization header it does not read.
|
|
54
|
-
//
|
|
55
|
-
// Emitted ONLY when they differ from the header/Authorization defaults, so
|
|
56
|
-
// every header-based SDK regenerates byte-identical. The generated
|
|
57
|
-
// prepareAuth bakes the placement in at generation time (see
|
|
58
|
-
// PrepareAuth_swift); these carry it in the config so a running SDK, and
|
|
59
|
-
// anything reading its descriptor, can say what its scheme actually is.
|
|
60
|
-
//
|
|
61
|
-
// THE OPTSPEC HAS TO NAME THEM TOO. `main.kit.optspec.auth` does, but
|
|
62
|
-
// swift does not read the model for its option spec - buildOptSpec() in
|
|
63
|
-
// tm/swift/Sources/ProjectNameSDK/utility/MakeOptions.swift is written out
|
|
64
|
-
// by hand - so both were added there in the same change. Without that this
|
|
65
|
-
// block is inert at best: makeOptions merges the config's options and
|
|
66
|
-
// validates the result against that spec, and a key the spec does not name
|
|
67
|
-
// is dropped or rejected.
|
|
68
36
|
const authIn = resolveAuthIn(model)
|
|
69
37
|
const authName = resolveAuthName(model)
|
|
70
38
|
const authOpt: any = (def as any)?.options?.auth
|
|
@@ -75,42 +43,12 @@ const Config = cmp(async function Config(props: any) {
|
|
|
75
43
|
|
|
76
44
|
const json = JSON.stringify(def)
|
|
77
45
|
|
|
78
|
-
// Model-data defaults may carry the ProjectName placeholder (e.g. the
|
|
79
|
-
// clienttrack clientName); resolve it to the API name so the embedded JSON
|
|
80
|
-
// matches the token-replaced runtime.
|
|
81
46
|
const configJson = json.replace(/ProjectName/g, model.const.Name)
|
|
82
47
|
|
|
83
|
-
// PLUGIN DEFINITIONS AND THE featurePlugins MAP (the swift peer of
|
|
84
|
-
// Config_go's featurePlugins / Config_ts's pluginDefs).
|
|
85
|
-
//
|
|
86
|
-
// Upstream sekreto replaced its self-registration registry with
|
|
87
|
-
// voxgig/plugin definitions: a provider kind the caller did not pass in
|
|
88
|
-
// via `plugins:` is unknown to that Sekreto. So the config names each
|
|
89
|
-
// active plugin's exported Definition BY SYMBOL (the model's per-target
|
|
90
|
-
// `def.swift` map - `hashicorp`, a top-level `let` in the vendored
|
|
91
|
-
// SekretoPlugins module) and hands the list to the feature through
|
|
92
|
-
// SdkConfig.featurePlugins.
|
|
93
|
-
//
|
|
94
|
-
// Typed `[String: [Any]]`, as go types it `[]any`, so Config never has to
|
|
95
|
-
// name `Definition` - and so needs `import SekretoPlugins` only when a
|
|
96
|
-
// definition is actually listed. The feature reads the list back and
|
|
97
|
-
// downcasts.
|
|
98
|
-
//
|
|
99
|
-
// The ACCESSOR IS EMITTED UNCONDITIONALLY (empty map when nothing is
|
|
100
|
-
// selected). Its caller, feature/SecretsFeature.swift, ships whenever the
|
|
101
|
-
// feature is active, and java gated the accessor on "a feature declares a
|
|
102
|
-
// plugin block" - which a project that never selected secrets does not
|
|
103
|
-
// have - and shipped an SDK that did not compile (.handover-briefs/
|
|
104
|
-
// fixb-java.md). One rule: what a template may reference, Config always
|
|
105
|
-
// declares.
|
|
106
48
|
const featurePlugins: Record<string, string[]> = {}
|
|
107
49
|
each(feature, (f: any) => {
|
|
108
50
|
const syms: string[] = []
|
|
109
51
|
each(f.plugin, (plugin: any) => {
|
|
110
|
-
// Filter on `active` HERE rather than trusting the feature object to
|
|
111
|
-
// arrive filtered (see Config_ts.pluginImports: getting this wrong
|
|
112
|
-
// names a definition the trim just deleted, and swiftc fails the
|
|
113
|
-
// whole module on the unresolved symbol).
|
|
114
52
|
if (false === plugin.active || null == plugin.active) return
|
|
115
53
|
for (const sym of Object.keys(plugin.def?.swift || {})) {
|
|
116
54
|
syms.push(sym)
|
|
@@ -9,9 +9,6 @@ const EntityOperation = cmp(function Operation(props: any) {
|
|
|
9
9
|
const { model } = props.ctx$
|
|
10
10
|
const { ff, opname, entity, entrep, cls } = props
|
|
11
11
|
|
|
12
|
-
// The op markers sit inside the class body; the captured indent (2-space
|
|
13
|
-
// class-member indent) is applied to the whole spliced EJECT region, which
|
|
14
|
-
// is written at column 0.
|
|
15
12
|
const { indent } = props
|
|
16
13
|
|
|
17
14
|
Fragment({
|
|
@@ -1,24 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
// Typed-model generator (Swift target). Port of EntityTypes_rust.ts /
|
|
3
|
-
// EntityTypes_go.ts.
|
|
4
|
-
//
|
|
5
|
-
// Reads main.<KIT>.entity.<e>.fields[] and per-op params
|
|
6
|
-
// (op.<name>.points[].args.params[]) and emits one file,
|
|
7
|
-
// Sources/ProjectNameSDK/entity/<Name>Types.swift, with a `struct <Name>` per
|
|
8
|
-
// entity plus a request/match struct per active op. Field/param sentinels
|
|
9
|
-
// ($STRING, $INTEGER, ...) map to Swift types via the SHARED canonToType
|
|
10
|
-
// 'swift' column (the single source of truth per language — do not keep a
|
|
11
|
-
// local table here).
|
|
12
|
-
//
|
|
13
|
-
// DESIGN NOTE: the Swift runtime is fully DYNAMIC — every op takes and returns
|
|
14
|
-
// the vendored `Value` enum (throws on error) and the op fragments emit no
|
|
15
|
-
// typed wrappers. These typed models are therefore DOCUMENTARY: they mirror the
|
|
16
|
-
// entity/op shapes for reference and IDE support, but are not wired into the op
|
|
17
|
-
// signatures. They compile as part of the SwiftPM target (every .swift under
|
|
18
|
-
// Sources/ProjectNameSDK is built) so they stay in sync with the model.
|
|
19
|
-
// * Optional (req:false) member -> `T?`.
|
|
20
|
-
// * Unknown/missing sentinel -> the dynamic `Value` (never fails), matching
|
|
21
|
-
// the runtime's open shape.
|
|
22
2
|
|
|
23
3
|
import {
|
|
24
4
|
cmp, each,
|
|
@@ -48,9 +28,6 @@ function propLine(name: string, sentinel: any, optional: boolean): string {
|
|
|
48
28
|
}
|
|
49
29
|
|
|
50
30
|
|
|
51
|
-
// Emit a `struct <typeName>` from {name, type, optional} items, dropping
|
|
52
|
-
// duplicate Swift identifiers (two model names can collapse to one ident). An
|
|
53
|
-
// empty struct is a valid, zero-property shape.
|
|
54
31
|
function emitStruct(comment: string, typeName: string, items: any[]): void {
|
|
55
32
|
Content(`${comment}
|
|
56
33
|
public struct ${typeName} {
|
|
@@ -78,14 +55,8 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
78
55
|
// collection, so inactive entities still get generated entity code that
|
|
79
56
|
// references these typed names. The typed model must cover them too.
|
|
80
57
|
const entity = getModelPath(model, `main.${KIT}.entity`, { only_active: false, required: false })
|
|
81
|
-
// Emit for every entity that gets an entity file (filter on `name`, always
|
|
82
|
-
// present; derive `Name` here so the struct set is deterministic — parity
|
|
83
|
-
// with the rust/go emitter's fix).
|
|
84
58
|
const entityList = deriveEntityNames(entity)
|
|
85
59
|
|
|
86
|
-
// Surface duplicate generated type names (two entities with the same
|
|
87
|
-
// PascalCase Name) — they would redeclare a type in statically-typed
|
|
88
|
-
// targets. Detection only; renaming is a model-level decision.
|
|
89
60
|
warnEntityTypeCollisions(entity, log, LANG)
|
|
90
61
|
|
|
91
62
|
Folder({ name: 'Sources' }, () => {
|
|
@@ -113,13 +84,6 @@ import Foundation
|
|
|
113
84
|
const fields = (ent.fields ? each(ent.fields) : [])
|
|
114
85
|
.filter((f: any) => f.active !== false)
|
|
115
86
|
|
|
116
|
-
// Entity data model: one property per field. req:false -> optional.
|
|
117
|
-
//
|
|
118
|
-
// Swift has no intra-module namespacing, so a spec schema named
|
|
119
|
-
// after one of our own runtime types (e.g. `Response`) would be a
|
|
120
|
-
// redeclaration and fail the build. swiftSafeTypeName appends
|
|
121
|
-
// `Type` on collision only — `Response` -> `ResponseType` — so
|
|
122
|
-
// non-colliding SDKs generate byte-identical output to before.
|
|
123
87
|
const TypeName = swiftSafeTypeName(Name)
|
|
124
88
|
emitStruct(
|
|
125
89
|
`/// ${TypeName} is the typed data model for the ${ent.name} entity.`,
|
|
@@ -127,9 +91,6 @@ import Foundation
|
|
|
127
91
|
fields.map((f: any) => ({ name: f.name, type: f.type, optional: false === f.req }))
|
|
128
92
|
)
|
|
129
93
|
|
|
130
|
-
// Per active op: a request/match struct. Members and their
|
|
131
|
-
// optionality come from the shared partiality policy
|
|
132
|
-
// (opRequestShape).
|
|
133
94
|
const ops = ent.op || {}
|
|
134
95
|
;['load', 'list', 'create', 'update', 'remove'].forEach((opname: string) => {
|
|
135
96
|
if (null == ops[opname]) {
|
|
@@ -39,19 +39,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
39
39
|
|
|
40
40
|
const entity: ModelEntity = getModelPath(model, `main.${KIT}.entity`)
|
|
41
41
|
|
|
42
|
-
// THE SECRETS TRIM, at generate time, and swift NEEDS it where go, py and
|
|
43
|
-
// dart leave the feature-level trim to `target add` (vendor-tag rollout,
|
|
44
|
-
// Decision 5). DELIBERATE DIVERGENCE, and the reason is the build: the
|
|
45
|
-
// feature's three vendored trees are separate SwiftPM MODULES that
|
|
46
|
-
// Package_swift declares only when the feature is active (see the note
|
|
47
|
-
// there). With the feature off, a tree still in Sources/<Name>Sdk/ would
|
|
48
|
-
// be folded into the SDK target and fail it on five redeclarations, and
|
|
49
|
-
// feature/SecretsFeature.swift would fail on `import Sekreto` naming a
|
|
50
|
-
// module the manifest never declared. Every other swift feature is a
|
|
51
|
-
// single file the SDK module compiles regardless, so it needs no such
|
|
52
|
-
// exclude. Keyed on the SAME predicate the manifest uses, so the two
|
|
53
|
-
// cannot disagree. The gated suite under Tests/.../feature/secrets/ goes
|
|
54
|
-
// with it: it imports Sekreto too.
|
|
55
42
|
const secrets = swiftSecretsActive(model, target)
|
|
56
43
|
const secretsSourceExcludes: RegExp[] = secrets ? [] : [
|
|
57
44
|
/(^|\/)feature\/SecretsFeature\.swift$/,
|
|
@@ -65,19 +52,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
65
52
|
|
|
66
53
|
Gitignore({})
|
|
67
54
|
|
|
68
|
-
// Copy tm/swift files with replacements. `src/` holds only the per-feature
|
|
69
|
-
// extension folders (not shipped into the SDK output).
|
|
70
|
-
// THE COPIED TREE HAS TO CARRY THE API NAME TOO.
|
|
71
|
-
//
|
|
72
|
-
// Copy substitutes file CONTENTS, never path components, so a blanket copy
|
|
73
|
-
// of tm/swift landed the runtime in a directory literally called
|
|
74
|
-
// ProjectNameSDK. Package.swift papered over it with an explicit `path:`,
|
|
75
|
-
// so it compiled and every swift suite passed — while every published SDK
|
|
76
|
-
// shipped `Sources/ProjectNameSDK/`, and SwiftPM's own convention
|
|
77
|
-
// (Sources/<target>) was broken in all of them.
|
|
78
|
-
//
|
|
79
|
-
// Copy's `to` prop names the destination, so the two placeholder subtrees
|
|
80
|
-
// are copied explicitly and the rest of tm/swift blanket-copied as before.
|
|
81
55
|
Copy({
|
|
82
56
|
from: 'tm/' + target.name,
|
|
83
57
|
exclude: [/src\//, /Sources\//, /Tests\//],
|
|
@@ -91,15 +65,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
91
65
|
Copy({
|
|
92
66
|
from: 'tm/' + target.name + '/Sources/ProjectNameSDK',
|
|
93
67
|
to: swiftTargetDir(model),
|
|
94
|
-
// pluginExcludes: the generate-time plugin trim (an ACTIVE feature's
|
|
95
|
-
// INACTIVE plugin group's declared files stay out of the tree). The
|
|
96
|
-
// model's swift `path` entries are relative to THIS Copy's root
|
|
97
|
-
// (`feature/secrets/plugins/Aws.swift`, not `Sources/ProjectNameSDK/
|
|
98
|
-
// ...`), as py's are to its pkg copy - helpers/featureSource documents
|
|
99
|
-
// that getting the root wrong makes the trim a silent no-op. No
|
|
100
|
-
// verbatim carve-out is needed for the vendored trees: none of the
|
|
101
|
-
// upstream swift files carries a ProjectName/PROJECTENV token, so the
|
|
102
|
-
// blanket replace is inert over them.
|
|
103
68
|
exclude: [...secretsSourceExcludes, ...pluginExcludes(model)],
|
|
104
69
|
replace: {
|
|
105
70
|
...props.ctx$.stdrep,
|
|
@@ -171,13 +136,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
171
136
|
})
|
|
172
137
|
})
|
|
173
138
|
|
|
174
|
-
// utility/PrepareAuth.swift — GENERATED, NOT COPIED. Where the credential
|
|
175
|
-
// goes (header, query or cookie, and under what name) is a fact about the
|
|
176
|
-
// API, and tm/ can only hold one answer; the function was extracted from
|
|
177
|
-
// the copied utility/Prepare.swift, which no longer declares it. Called at
|
|
178
|
-
// THIS level, not inside the `core` folder above: the component opens the
|
|
179
|
-
// whole `Sources/<Name>Sdk/utility` path itself, exactly as EntityTypes
|
|
180
|
-
// does for `entity`. See PrepareAuth_swift.
|
|
181
139
|
PrepareAuth({ target })
|
|
182
140
|
|
|
183
141
|
// entity/<Name>Types.swift — documentary typed models (one struct per entity
|
|
@@ -13,73 +13,6 @@ import type {
|
|
|
13
13
|
} from '@voxgig/apidef'
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
// Emits Package.swift (the SwiftPM manifest; the Swift twin of Package_go's
|
|
17
|
-
// go.mod / Package_csharp's csproj). The library target compiles everything
|
|
18
|
-
// under Sources/<Name>Sdk (the copied runtime + generated sources); the test
|
|
19
|
-
// target compiles Tests/<Name>SdkTests. Both directories carry the API name:
|
|
20
|
-
// Copy does not rewrite path components, so Main_swift copies the two
|
|
21
|
-
// placeholder subtrees explicitly via Copy's `to` prop rather than letting a
|
|
22
|
-
// blanket copy ship them as ProjectNameSDK.
|
|
23
|
-
//
|
|
24
|
-
// Dependencies: the runtime itself is dependency-free (Foundation + the
|
|
25
|
-
// vendored struct), but declared target/feature deps flow into the manifest
|
|
26
|
-
// via collectDeps. SwiftPM cannot name a package by product alone, so a
|
|
27
|
-
// swift deps entry carries its coordinates in a documented convention:
|
|
28
|
-
//
|
|
29
|
-
// deps: swift: {
|
|
30
|
-
// 'VoxgigStation': { active: true, version: '0.0.1', kind: prod,
|
|
31
|
-
// url: 'https://github.com/voxgig/station-swift' }
|
|
32
|
-
// }
|
|
33
|
-
//
|
|
34
|
-
// - the entry KEY is the SwiftPM PRODUCT name (also the module the
|
|
35
|
-
// generated source imports);
|
|
36
|
-
// - the extra `url` field is the git repository SwiftPM resolves
|
|
37
|
-
// (`.package(url:from:)`); the package identity SwiftPM derives from it
|
|
38
|
-
// is the URL's last path component (minus any .git), which is what the
|
|
39
|
-
// `.product(name:package:)` reference must use;
|
|
40
|
-
// - `version` feeds `from:` - a plain semver (any leading range operator
|
|
41
|
-
// like '>=' is stripped, since `from:` already means >=).
|
|
42
|
-
//
|
|
43
|
-
// An entry WITHOUT a `url` is not expressible in a SwiftPM manifest (no
|
|
44
|
-
// registry-less by-name dependencies), so it is skipped - unadorned entries
|
|
45
|
-
// keep today's zero-dependency output.
|
|
46
|
-
//
|
|
47
|
-
// The `Omni` target is the VENDORED corpus test engine (Tests/vendor/omni,
|
|
48
|
-
// @voxgig/omni at the shared tag). It has to be its own MODULE, not files
|
|
49
|
-
// folded into the test target: the port calls `Omni.errify` by module name,
|
|
50
|
-
// and its top-level `clone`/`getpath`/`walk`/`stringify`/`pathify` collide
|
|
51
|
-
// head-on with the struct utility's functions of the same names. It is
|
|
52
|
-
// declared as a .testTarget rather than a .target so `swift build` - a
|
|
53
|
-
// consumer's library build - never compiles the test engine; `swift test`
|
|
54
|
-
// builds it and the suite target depends on it.
|
|
55
|
-
//
|
|
56
|
-
// THE SECRETS FEATURE ADDS THREE MORE MODULES, and this is the same
|
|
57
|
-
// precedent, load-bearing rather than tidy. The vendored @voxgig/plugin
|
|
58
|
-
// host, the @voxgig/sekreto core and its plugins live under
|
|
59
|
-
// Sources/<Name>Sdk/feature/secrets/{plugin,sekreto,plugins} and are
|
|
60
|
-
// compiled as VoxgigPlugin, Sekreto and SekretoPlugins - upstream's own
|
|
61
|
-
// three-module boundary (sekreto's swift Makefile builds exactly these). A
|
|
62
|
-
// flat layout collides on five names: plugin's `Value` and `Point` against
|
|
63
|
-
// the SDK's, sekreto's `Json` against plugin's, and `dropsuffix`/`getenv`,
|
|
64
|
-
// which sekreto declares in BOTH src/ and plugins/ because upstream never
|
|
65
|
-
// compiles them as one module. So, when the feature is active for this
|
|
66
|
-
// target:
|
|
67
|
-
//
|
|
68
|
-
// - three `.target`s are declared over the three directories;
|
|
69
|
-
// - the SDK target gains them as dependencies and `exclude: ["feature/
|
|
70
|
-
// secrets"]`, so SwiftPM does not ALSO fold the files into the SDK
|
|
71
|
-
// module (`exclude:` must come AFTER `path:` in the argument list, or
|
|
72
|
-
// the manifest itself fails to compile);
|
|
73
|
-
// - the library product vends all four, because `SecretsFeature.sekreto()`
|
|
74
|
-
// is public API returning a `Sekreto`, and a downstream package may only
|
|
75
|
-
// `import Sekreto` if the product exposes it;
|
|
76
|
-
// - the test target depends on Sekreto and VoxgigPlugin as well, since
|
|
77
|
-
// the gated suite builds providers against Sekreto's `Provider`
|
|
78
|
-
// protocol and reads the selected `Definition`s' kinds back.
|
|
79
|
-
//
|
|
80
|
-
// Keyed on swiftSecretsActive - the SAME predicate Main_swift's Copy uses
|
|
81
|
-
// to ship or withhold the trees - so the manifest and the tree agree by
|
|
82
|
-
// construction (a manifest naming a missing path fails the whole package).
|
|
83
16
|
const Package = cmp(async function Package(props: any) {
|
|
84
17
|
const ctx$ = props.ctx$
|
|
85
18
|
const target = props.target
|
|
@@ -109,8 +42,6 @@ const Package = cmp(async function Package(props: any) {
|
|
|
109
42
|
const secrets = swiftSecretsActive(model, target)
|
|
110
43
|
const srcdir = `Sources/${swiftTargetDir(model)}`
|
|
111
44
|
|
|
112
|
-
// The SDK target's dependency list: declared package products, then the
|
|
113
|
-
// three vendored secrets modules when the feature is active.
|
|
114
45
|
const sdkdeps: string[] = deps.map((d) =>
|
|
115
46
|
`.product(name: "${d.product}", package: "${d.identity}")`)
|
|
116
47
|
if (secrets) {
|
|
@@ -14,131 +14,21 @@ import {
|
|
|
14
14
|
import { swiftString, swiftTargetDir } from './utility_swift'
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
// WHERE THE CREDENTIAL GOES IS A FACT ABOUT THE API, so it is generated
|
|
18
|
-
// rather than templated. The swift peer of cmp/ts/PrepareAuth_ts.ts; read
|
|
19
|
-
// that one first, it carries the full account of the defect.
|
|
20
|
-
//
|
|
21
|
-
// apidef has always resolved the scheme's `in` and `name` into
|
|
22
|
-
// `main.kit.info.security` — joplin's says `in: "query", name: "token"` —
|
|
23
|
-
// and generation dropped both, so the SDK sent a header the API does not
|
|
24
|
-
// read and never sent the query parameter it does. Four repos in the cedar
|
|
25
|
-
// fleet ship SDKs that cannot authenticate for this reason: joplin
|
|
26
|
-
// (`token`), pipedrive (`api_token`), trello (`key`), lm-umbrella
|
|
27
|
-
// (`apiKey`).
|
|
28
|
-
//
|
|
29
|
-
// A template cannot fix this, because the three placements need three
|
|
30
|
-
// different bodies and a template has to pick one. A component emits the
|
|
31
|
-
// branch this API actually uses and nothing else — no dead query code in a
|
|
32
|
-
// bearer-token SDK, and no runtime `if` on a value that is fixed at
|
|
33
|
-
// generation time.
|
|
34
|
-
//
|
|
35
|
-
// SWIFT WAS THE ODD ONE OUT: it had no prepare_auth template to delete.
|
|
36
|
-
// `prepareAuthUtil` was one function among eight in
|
|
37
|
-
// `tm/swift/Sources/ProjectNameSDK/utility/Prepare.swift`, beside
|
|
38
|
-
// prepareMethod/Path/Params/Query/Headers/Body and paramUtil — none of
|
|
39
|
-
// which is model-dependent. So the EXTRACTION is the move, not a rewrite of
|
|
40
|
-
// the module: `prepareAuthUtil` and its three private constants move out of
|
|
41
|
-
// Prepare.swift into this generated `utility/PrepareAuth.swift`, and the
|
|
42
|
-
// other seven functions stay templated where they are.
|
|
43
|
-
//
|
|
44
|
-
// SWIFT LETS THAT WORK WITH NO REWIRING AT ALL. Every .swift file in the
|
|
45
|
-
// SwiftPM target is one MODULE, and a top-level `func` is `internal` by
|
|
46
|
-
// default — visible to the whole module, importable by nothing, declared
|
|
47
|
-
// once. So moving the function to another file in the same target changes
|
|
48
|
-
// no name and no import:
|
|
49
|
-
//
|
|
50
|
-
// core/Utility.swift `public var prepareAuth: ((Context) throws -> Spec)!`
|
|
51
|
-
// utility/Register.swift `u.prepareAuth = prepareAuthUtil` <- resolves here
|
|
52
|
-
// utility/Make.swift `let spec = try utility.prepareAuth(ctx)`
|
|
53
|
-
// cmp/swift/fragment/Main.fragment.swift `_ = try utility.prepareAuth(ctx)`
|
|
54
|
-
//
|
|
55
|
-
// all stand unchanged. The one thing swift does NOT tolerate is the
|
|
56
|
-
// function existing in BOTH files — same module, same name, "invalid
|
|
57
|
-
// redeclaration of 'prepareAuthUtil'", which fails the whole target — so
|
|
58
|
-
// the template copy is deleted in the same change. That is the check that
|
|
59
|
-
// makes a stale copy impossible here, and it is a compile error rather than
|
|
60
|
-
// the silent double-life the ts port hit (see the folder note below).
|
|
61
17
|
const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
62
18
|
const { target } = props
|
|
63
19
|
const { model } = props.ctx$
|
|
64
20
|
|
|
65
|
-
// AUTH SWITCHED OFF BY THE PROJECT — and ONLY by that.
|
|
66
|
-
//
|
|
67
|
-
// NOT `isAuthActive`, and the difference is load-bearing. That helper is
|
|
68
|
-
// false whenever `main.kit.info.auth` is false, which only says the SPEC
|
|
69
|
-
// declared no security scheme; such an SDK still carries a credential,
|
|
70
|
-
// because `optspec` always declares `apikey` and makeOptions fills
|
|
71
|
-
// `options.auth` from the optspec defaults — so the runtime
|
|
72
|
-
// `isNil(auth)` guard below never fires and these SDKs have ALWAYS sent
|
|
73
|
-
// `options.apikey`. Emitting a no-op for them silently breaks working
|
|
74
|
-
// authentication and takes the secrets feature with it (it resolves a
|
|
75
|
-
// secret into `options.apikey`, and prepareAuth then places nothing).
|
|
76
|
-
//
|
|
77
|
-
// `main.kit.config.auth.active: false` is the project saying "this SDK
|
|
78
|
-
// sends no credential, ever" — the only signal that can honestly be
|
|
79
|
-
// honoured before runtime. `isAuthSuppressed` in @voxgig/sdkgen IS that
|
|
80
|
-
// predicate (utility.ts), so it is used here rather than re-derived: the
|
|
81
|
-
// py port wrote its own `isAuthActive_py` before the shared helper
|
|
82
|
-
// existed, and two copies of one rule is how they drift.
|
|
83
21
|
const suppressed = isAuthSuppressed(model)
|
|
84
22
|
|
|
85
23
|
const where = resolveAuthIn(model)
|
|
86
24
|
|
|
87
|
-
// LOWERCASED FOR A HEADER, VERBATIM OTHERWISE. HTTP header names are
|
|
88
|
-
// case-insensitive on the wire (RFC 9110 5.1), but this SDK's header bag
|
|
89
|
-
// is a plain `VMap` keyed in lower case throughout: the code being
|
|
90
|
-
// extracted said `private let headerAuth = "authorization"`, the shared
|
|
91
|
-
// corpus asserts `ctx:spec:headers:authorization`, the shipped
|
|
92
|
-
// PipelineTest reads `headers.entries["authorization"]`, and
|
|
93
|
-
// SecretsFeature.swift writes `headers.entries["authorization"]` as the
|
|
94
|
-
// other credential writer. apidef writes `name: "Authorization"`, so
|
|
95
|
-
// emitting it verbatim would put the credential under a key nothing in
|
|
96
|
-
// this SDK reads. A query parameter and a cookie ARE case-sensitive
|
|
97
|
-
// (`?token=` is not `?Token=`), so those keep the spec's spelling.
|
|
98
25
|
const resolvedName = resolveAuthName(model)
|
|
99
26
|
const name = 'header' === where ? resolvedName.toLowerCase() : resolvedName
|
|
100
27
|
|
|
101
|
-
// Resolved, and deliberately NOT baked into the emitted source: the
|
|
102
|
-
// prefix is a RUNTIME option (`options.auth.prefix`) and the code being
|
|
103
|
-
// extracted read it from the options map, so a caller — and the secrets
|
|
104
|
-
// feature, which rewrites it there — can still override it per client.
|
|
105
|
-
// Only the PLACEMENT is fixed at generation time.
|
|
106
28
|
const prefix = resolveAuthPrefix(model)
|
|
107
29
|
|
|
108
30
|
const basic = isHttpBasicAuth(model)
|
|
109
31
|
|
|
110
|
-
// FOLDER NESTING, worked out from the template's own path and from
|
|
111
|
-
// Main_swift, not guessed.
|
|
112
|
-
//
|
|
113
|
-
// The file being replaced lives at
|
|
114
|
-
// `tm/swift/Sources/ProjectNameSDK/utility/Prepare.swift`, and Main_swift
|
|
115
|
-
// copies that tree with `Folder({name:'Sources'})` +
|
|
116
|
-
// `Copy({from:'tm/swift/Sources/ProjectNameSDK', to: swiftTargetDir(model)})`
|
|
117
|
-
// — note the `to`, which is why the runtime lands under the API's own
|
|
118
|
-
// name (`Sources/<Name>Sdk/utility/`) rather than under the placeholder
|
|
119
|
-
// directory. So the full destination is
|
|
120
|
-
// `Sources/<Name>Sdk/utility/PrepareAuth.swift`.
|
|
121
|
-
//
|
|
122
|
-
// ALL THREE SEGMENTS ARE OPENED HERE, and Main calls this at its TOP
|
|
123
|
-
// level, beside `EntityTypes({ target })` — which is the swift precedent
|
|
124
|
-
// for exactly this (EntityTypes_swift opens
|
|
125
|
-
// `Sources`/`swiftTargetDir`/`entity` itself). Two other call sites were
|
|
126
|
-
// available and both are wrong:
|
|
127
|
-
//
|
|
128
|
-
// * inside Main's generated-sources block, beside `Config({target})`.
|
|
129
|
-
// That block sits inside `Folder({name:'core'})`, so this would write
|
|
130
|
-
// `Sources/<Name>Sdk/core/utility/PrepareAuth.swift`.
|
|
131
|
-
// * inside that block but one level out, opening only `utility`. That
|
|
132
|
-
// is correct TODAY and breaks the moment the surrounding folders
|
|
133
|
-
// move; self-contained is what EntityTypes_swift chose.
|
|
134
|
-
//
|
|
135
|
-
// Getting it wrong is not merely a misplaced file: SwiftPM compiles
|
|
136
|
-
// EVERY .swift under `Sources/<target>/`, so a stray copy at the wrong
|
|
137
|
-
// path is still in the module and still collides with the real one. Here
|
|
138
|
-
// that is a hard build failure — which is the good case, and the reason
|
|
139
|
-
// the ts port's `src/src/utility/` accident (a second `Folder('src')`,
|
|
140
|
-
// the stale file still imported, invisible to the suite) cannot repeat on
|
|
141
|
-
// swift.
|
|
142
32
|
Folder({ name: 'Sources' }, () => {
|
|
143
33
|
Folder({ name: swiftTargetDir(model) }, () => {
|
|
144
34
|
Folder({ name: 'utility' }, () => {
|
|
@@ -165,12 +55,6 @@ type AuthSpec = {
|
|
|
165
55
|
|
|
166
56
|
|
|
167
57
|
function render(spec: AuthSpec): string {
|
|
168
|
-
// Foundation on every file is the tm/swift convention (Prepare.swift,
|
|
169
|
-
// Make.swift, MakeOptions.swift, Spec.swift all open with it), and the
|
|
170
|
-
// basic and cookie branches genuinely need it — `base64EncodedString()`
|
|
171
|
-
// and `trimmingCharacters(in:)` are Foundation. Swift does not warn on an
|
|
172
|
-
// unused import, so the header branch carrying it costs nothing and keeps
|
|
173
|
-
// the file shaped like its neighbours.
|
|
174
58
|
const head = `// ${spec.Name} SDK utility: prepareAuth - place the API credential.
|
|
175
59
|
//
|
|
176
60
|
// GENERATED, not templated: WHERE the credential goes - header, query or
|
|
@@ -186,9 +70,6 @@ import Foundation
|
|
|
186
70
|
`
|
|
187
71
|
|
|
188
72
|
if (spec.suppressed) {
|
|
189
|
-
// The project set `main.kit.config.auth.active: false`. No credential,
|
|
190
|
-
// ever — so the SDK gets a prepareAuth that is honest about it rather
|
|
191
|
-
// than one that pops a header nobody set.
|
|
192
73
|
return head + `
|
|
193
74
|
// This SDK is configured with authentication OFF
|
|
194
75
|
// (main.kit.config.auth.active is false), so there is no credential to
|
|
@@ -211,11 +92,6 @@ func prepareAuthUtil(_ ctx: Context) throws -> Spec {
|
|
|
211
92
|
}
|
|
212
93
|
|
|
213
94
|
|
|
214
|
-
// HEADER. Byte-for-byte the function that was in Prepare.swift when the
|
|
215
|
-
// scheme resolves to the defaults (header / Authorization) and is not
|
|
216
|
-
// Basic — same constant names, same `skip` shape, same removeValue /
|
|
217
|
-
// entries[...] idioms, same error. Only the constant's VALUE moves with the
|
|
218
|
-
// model, plus the Basic block, which is emitted only for a basic scheme.
|
|
219
95
|
function renderHeader(spec: AuthSpec): string {
|
|
220
96
|
const basicConst = spec.basic ? `
|
|
221
97
|
private let optionSecret = "secret"` : ''
|
|
@@ -300,11 +176,6 @@ function basicBlock(spec: AuthSpec): string {
|
|
|
300
176
|
}
|
|
301
177
|
|
|
302
178
|
|
|
303
|
-
// QUERY. The credential is a query parameter, so it goes in `spec.query` and
|
|
304
|
-
// the headers are never touched. `spec.query` is the bag makeUrl builds the
|
|
305
|
-
// query string from (utility/Make.swift), and prepareAuth runs AFTER
|
|
306
|
-
// prepareQuery in makeSpec, so the credential joins the op's own arguments
|
|
307
|
-
// rather than being overwritten by them.
|
|
308
179
|
function renderQuery(spec: AuthSpec): string {
|
|
309
180
|
return `
|
|
310
181
|
private let queryAuth = ${swiftString(spec.name)}
|
|
@@ -349,11 +220,6 @@ func prepareAuthUtil(_ ctx: Context) throws -> Spec {
|
|
|
349
220
|
}
|
|
350
221
|
|
|
351
222
|
|
|
352
|
-
// COOKIE. A cookie IS a header, so the credential rides the header bag -
|
|
353
|
-
// but the `cookie` header is SHARED with whatever cookies the caller set, so
|
|
354
|
-
// the pair is spliced in and out rather than the header assigned over.
|
|
355
|
-
// Splicing is also what makes it idempotent: a retried request cannot end up
|
|
356
|
-
// carrying the credential twice.
|
|
357
223
|
function renderCookie(spec: AuthSpec): string {
|
|
358
224
|
return `
|
|
359
225
|
private let cookieHeader = "cookie"
|
|
@@ -11,7 +11,6 @@ import { swiftVarName } from './utility_swift'
|
|
|
11
11
|
|
|
12
12
|
// Type names come from the shared canonToType 'swift' column (single source of truth).
|
|
13
13
|
|
|
14
|
-
// A type-correct Swift `Value` literal for a field's canonical type.
|
|
15
14
|
function swiftLit(type: any, placeholder: string = 'example'): string {
|
|
16
15
|
const k = canonScalarKey(type)
|
|
17
16
|
if ('INTEGER' === k) return '.int(1)'
|
|
@@ -57,7 +56,6 @@ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
|
57
56
|
publishedEntities.map((entity: any) => {
|
|
58
57
|
const opnames = Object.keys(entity.op || {})
|
|
59
58
|
const fields = entity.fields || []
|
|
60
|
-
// Model-driven id key: null when this entity has no id-like field.
|
|
61
59
|
const idF = entityIdField(entity)
|
|
62
60
|
// Sanitise the local variable name — a camelCased Swift keyword gets a
|
|
63
61
|
// trailing underscore (swiftVarName) so the snippet compiles.
|
|
@@ -2,28 +2,6 @@
|
|
|
2
2
|
import { cmp, File, Content } from '@voxgig/sdkgen'
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
// Emits Tests/ProjectNameSDKTests/ReadmeExamplesTest.swift — a PRESENCE +
|
|
6
|
-
// STRUCTURE gate over every swift fenced block in the repository ROOT
|
|
7
|
-
// README.md, the per-language swift/README.md, AND swift/REFERENCE.md. It is a
|
|
8
|
-
// plain XCTestCase (no @testable import — it only reads the doc files off
|
|
9
|
-
// disk), resolved relative to the test file via #filePath.
|
|
10
|
-
//
|
|
11
|
-
// SCOPE NOTE (deliberate, documented): the Python/TS/Go equivalents EXECUTE and
|
|
12
|
-
// type-check every documented block. That is infeasible here — the generated
|
|
13
|
-
// Swift SDK compiles with SwiftPM only (no in-process Swift compiler wired into
|
|
14
|
-
// the test runtime), so a test cannot compile-and-run arbitrary doc snippets at
|
|
15
|
-
// test time. This gate therefore guarantees the weaker-but-real invariant that
|
|
16
|
-
// keeps the docs honest as the generator evolves:
|
|
17
|
-
// 1. PRESENCE: every scanned doc that exists holds at least one swift block
|
|
18
|
-
// (nothing was dropped);
|
|
19
|
-
// 2. STRUCTURE: every swift block's braces / parens / brackets balance
|
|
20
|
-
// (ignoring string literals and line comments), catching a truncated or
|
|
21
|
-
// malformed generated snippet.
|
|
22
|
-
//
|
|
23
|
-
// The emitted Swift is written WITHOUT literal backticks (the fence marker is
|
|
24
|
-
// built at runtime as String(repeating: "\u{60}", count: 3)) so this TS
|
|
25
|
-
// template literal stays clean, and uses string concatenation instead of Swift
|
|
26
|
-
// interpolation to keep backslash-escaping in this template minimal.
|
|
27
5
|
const ReadmeExamplesTest = cmp(function ReadmeExamplesTest(props: any) {
|
|
28
6
|
const { ctx$: { model } } = props
|
|
29
7
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { cmp, each, Content, canonToType, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape } from '@voxgig/sdkgen'
|
|
2
|
+
import { cmp, each, Content, canonToType, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape , targetFeatures } from '@voxgig/sdkgen'
|
|
3
3
|
import { ReadmeRefFeatures } from '@voxgig/sdkgen'
|
|
4
4
|
|
|
5
5
|
import {
|
|
@@ -60,7 +60,7 @@ const ReadmeRef = cmp(function ReadmeRef(props: any) {
|
|
|
60
60
|
const SDK = model.const.Name + 'SDK'
|
|
61
61
|
|
|
62
62
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
63
|
-
const feature =
|
|
63
|
+
const feature = targetFeatures(model, target)
|
|
64
64
|
|
|
65
65
|
const publishedEntities = each(entity).filter((e: any) => e.active !== false)
|
|
66
66
|
|
|
@@ -377,9 +377,6 @@ let client = ${SDK}(options)
|
|
|
377
377
|
\`\`\`
|
|
378
378
|
|
|
379
379
|
`)
|
|
380
|
-
// The shared feature reference: options, defaults, usage and the
|
|
381
|
-
// considerations. Model facts, identical in every target, so they are
|
|
382
|
-
// written once in cmp/ReadmeRefFeatures.ts rather than here.
|
|
383
380
|
ReadmeRefFeatures({ target })
|
|
384
381
|
}
|
|
385
382
|
|
|
@@ -12,24 +12,6 @@ import {
|
|
|
12
12
|
} from '@voxgig/apidef'
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
// THE GENERATED SCHEMA MODULE: the model's schemas, as data the SDK can run.
|
|
16
|
-
//
|
|
17
|
-
// The swift peer of src/cmp/ts/Schema_ts.ts. Same two members, same source:
|
|
18
|
-
// optspec from `main.kit.optspec` plus each feature's own `config.options`,
|
|
19
|
-
// entityspec from the entity field sentinels — both built by the shared
|
|
20
|
-
// helpers, so what swift validates against and what ts validates against
|
|
21
|
-
// cannot drift.
|
|
22
|
-
//
|
|
23
|
-
// EMBEDDED AS JSON, PARSED AT LOAD, where ts emits an object literal: JSON is
|
|
24
|
-
// a subset of TypeScript's own literal syntax and is not a subset of swift's.
|
|
25
|
-
// A raw string literal, exactly as Config.swift carries its config — raw
|
|
26
|
-
// (`#"""`) so the spec's own backslashes and quotes need no re-escaping.
|
|
27
|
-
//
|
|
28
|
-
// The round-trip is exact because the spec holds only strings and booleans:
|
|
29
|
-
// pinned by "strings and booleans only, so the JSON round-trip is lossless"
|
|
30
|
-
// in ts/test/optspec.test.ts. That is not incidental — JSON.parse decodes a
|
|
31
|
-
// JSON number to one Value case and struct reads a spec BY EXAMPLE, so one
|
|
32
|
-
// number in here would mean something different in swift than in ts.
|
|
33
15
|
const Schema = cmp(async function Schema(props: any) {
|
|
34
16
|
const ctx$ = props.ctx$
|
|
35
17
|
const target = props.target
|
|
@@ -33,10 +33,6 @@ final class ${entity.Name}EntityTest: XCTestCase {
|
|
|
33
33
|
}
|
|
34
34
|
`)
|
|
35
35
|
|
|
36
|
-
// Stream test (PR #4): the entity `stream` method runs the op pipeline and
|
|
37
|
-
// returns an AsyncStream. With the streaming feature active it yields from
|
|
38
|
-
// the feature's incremental iterator; otherwise it falls back to the
|
|
39
|
-
// materialised items. Only emitted for entities that support list.
|
|
40
36
|
if (hasList) {
|
|
41
37
|
Content(`
|
|
42
38
|
func testStream() async throws {
|