@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
|
@@ -23,13 +23,6 @@ function cVarName(name: string): string {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
// The C project identifier used as a function-name prefix, e.g. solar. Must
|
|
27
|
-
// match the SQUASHED `projectname` token that the umbrella header/fragment use
|
|
28
|
-
// for the constructor (`<ident>_sdk_new`): a hyphenated slug
|
|
29
|
-
// (bluefin-decryptx-p2pe) squashes to `bluefindecryptxp2pe`, so drop every
|
|
30
|
-
// non-alphanumeric char rather than mapping them to `_` (which produced
|
|
31
|
-
// `bluefin_decryptx_p2pe_sdk_new` callers that never linked against the
|
|
32
|
-
// squashed definition). No-op for single-word names.
|
|
33
26
|
function cIdent(model: any): string {
|
|
34
27
|
return String(model.name).toLowerCase().replace(/[^a-z0-9]/g, '')
|
|
35
28
|
}
|
|
@@ -88,29 +81,6 @@ function formatCValue(val: any, indent: number = 0): string {
|
|
|
88
81
|
}
|
|
89
82
|
|
|
90
83
|
|
|
91
|
-
// Deep-remove meta keys (`foo$`) from a model subtree (twin of go/rust clean).
|
|
92
|
-
// Emission-time normalisation of a model subtree (L0).
|
|
93
|
-
//
|
|
94
|
-
// Always drops jostraca's iteration metadata (`$`-suffixed keys: index$,
|
|
95
|
-
// key$, val$). With `dropDefaults`, also drops keys whose value IS the
|
|
96
|
-
// default the runtime already assumes when the key is absent, which is pure
|
|
97
|
-
// payload — see CONFIG_DEFAULT.
|
|
98
|
-
//
|
|
99
|
-
// Rebuilds the tree rather than mutating during a walk. The previous
|
|
100
|
-
// implementation walked a clone calling `delete p[k]`, but walk() assigns its
|
|
101
|
-
// callback's result back over the child (`setprop(out, ckey, walk(...))`), so
|
|
102
|
-
// the delete was undone on the way out and the helper silently did nothing.
|
|
103
|
-
// Returning `undefined` from the callback does not fix it either: setprop
|
|
104
|
-
// stores undefined rather than removing the key, which then emits as a null.
|
|
105
|
-
//
|
|
106
|
-
// `dropDefaults` is opt-in and must be passed ONLY for the entity subtree.
|
|
107
|
-
// `active` means something different in feature config, where absent reads as
|
|
108
|
-
// INACTIVE (see feature_init) — dropping `active: true` there would silently
|
|
109
|
-
// disable the feature.
|
|
110
|
-
// jostraca's iteration metadata, injected by each()/names() while it walks the
|
|
111
|
-
// model. Listed explicitly rather than matched by trailing-dollar suffix: a
|
|
112
|
-
// trailing dollar is not exclusive to jostraca -- Seneca uses entity$ as real
|
|
113
|
-
// data -- so a blanket suffix match can silently drop a legitimate API field.
|
|
114
84
|
const MODEL_META = ['index$', 'key$', 'val$']
|
|
115
85
|
|
|
116
86
|
// Keys whose value IS the default the runtime already assumes when the key is
|
|
@@ -151,23 +121,6 @@ function clean(o: any, dropDefaults?: boolean): any {
|
|
|
151
121
|
|
|
152
122
|
|
|
153
123
|
|
|
154
|
-
// The JSON as a C string literal, split into ADJACENT literals.
|
|
155
|
-
//
|
|
156
|
-
// C99 only guarantees 4095 characters in a single string literal, and a real
|
|
157
|
-
// model runs to hundreds of kilobytes. Adjacent literals are concatenated by
|
|
158
|
-
// the translation phase before that limit applies, so this stays portable
|
|
159
|
-
// rather than relying on gcc/clang having no practical limit.
|
|
160
|
-
//
|
|
161
|
-
// Only `\` and `"` need escaping: JSON.stringify output contains no raw
|
|
162
|
-
// control characters (it writes them as the six TEXT characters \u00XX), and
|
|
163
|
-
// C string literals take UTF-8 bytes verbatim. Escaping the backslash also
|
|
164
|
-
// means no `\uXXXX` ever reaches the C lexer, which matters - a universal
|
|
165
|
-
// character name below 0xA0 is ill-formed C, so the JSON's own escapes would
|
|
166
|
-
// have been rejected if they had been passed through.
|
|
167
|
-
//
|
|
168
|
-
// Chunks are cut from the RAW text and escaped afterwards, so a cut can never
|
|
169
|
-
// land inside an escape sequence. Surrogate pairs are kept whole, or the cut
|
|
170
|
-
// would emit a lone surrogate as invalid UTF-8.
|
|
171
124
|
function cStringLiteral(json: string, chunkSize: number = 2000): string {
|
|
172
125
|
const parts: string[] = []
|
|
173
126
|
let i = 0
|
|
@@ -44,33 +44,8 @@ const Config = cmp(async function Config(props: any) {
|
|
|
44
44
|
|
|
45
45
|
const model: Model = ctx$.model
|
|
46
46
|
|
|
47
|
-
// The canonical config OBJECT and its JSON, from the shared helper. Both
|
|
48
|
-
// representations render from the same `def`, so they cannot describe
|
|
49
|
-
// different configs - and this target picks up `options.server` (the OpenAPI
|
|
50
|
-
// server-variable defaults), which the hand-rolled build here omitted.
|
|
51
|
-
// Passing target.name opts this target into the main slug/version/target
|
|
52
|
-
// identity fields (read by station's descriptor - see configDefinition).
|
|
53
47
|
const { def: config, json: baseJson } = configDefinition(model, target.name)
|
|
54
48
|
|
|
55
|
-
// WHERE THE CREDENTIAL GOES, AND UNDER WHAT NAME, travel with the prefix
|
|
56
|
-
// now. apidef resolved `in` and `name` from the spec's securityScheme all
|
|
57
|
-
// along and generation dropped them, so an apiKey-in-query API got an
|
|
58
|
-
// Authorization header it does not read.
|
|
59
|
-
//
|
|
60
|
-
// Emitted ONLY when they differ from the header/Authorization defaults, so
|
|
61
|
-
// a header-based SDK's config.clj is byte-identical to what it generated
|
|
62
|
-
// before - the `asData` threshold included, since that is measured on the
|
|
63
|
-
// JSON built here.
|
|
64
|
-
//
|
|
65
|
-
// Both representations still render from this ONE `def` (the literal
|
|
66
|
-
// through formatCljValue, the data rep through the JSON), so they cannot
|
|
67
|
-
// describe different configs. The shared configDefinition is deliberately
|
|
68
|
-
// NOT changed: it feeds every target, and this is the clojure rollout.
|
|
69
|
-
//
|
|
70
|
-
// core.clj's optspec had to learn the two keys as well ("auth" (vs/jm
|
|
71
|
-
// "prefix" "" "basic" false "in" "" "name" "")) - `vs/validate` refuses a
|
|
72
|
-
// key it does not name, so without that an SDK carrying this block could
|
|
73
|
-
// not be constructed at all.
|
|
74
49
|
const authIn = resolveAuthIn(model)
|
|
75
50
|
const authName = resolveAuthName(model)
|
|
76
51
|
const configAuth = config?.options?.auth
|
|
@@ -83,28 +58,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
83
58
|
|
|
84
59
|
const asData = isConfigData(configJson, configReprSetting(model))
|
|
85
60
|
|
|
86
|
-
// THE FEATURE WIRING (the clojure peer of Config_go's pluginImports /
|
|
87
|
-
// FeaturePlugins, and of Config_ts's pluginDefs).
|
|
88
|
-
//
|
|
89
|
-
// Two maps, both always emitted so sdk.features can name them without
|
|
90
|
-
// knowing whether this SDK selected anything:
|
|
91
|
-
//
|
|
92
|
-
// feature-plugins the voxgig/plugin DEFINITIONS the model's plugin
|
|
93
|
-
// groups selected, per feature. Upstream sekreto's
|
|
94
|
-
// contract since the registry was retired is that a
|
|
95
|
-
// provider kind not passed in is unknown to that
|
|
96
|
-
// Sekreto - so this map IS the SDK's provider
|
|
97
|
-
// vocabulary, and an inactive group leaves neither a
|
|
98
|
-
// require nor a reference behind.
|
|
99
|
-
//
|
|
100
|
-
// feature-extra the constructor for each feature whose source lives
|
|
101
|
-
// outside src/sdk/features.clj. make-feature consults
|
|
102
|
-
// it rather than requiring the container directly,
|
|
103
|
-
// which is what keeps the ~35 vendored namespaces out
|
|
104
|
-
// of every clojure SDK's load graph.
|
|
105
|
-
//
|
|
106
|
-
// Emitted HERE (not in the feature container) so the load order is
|
|
107
|
-
// core -> feature/secrets -> config -> features -> client, with no cycle.
|
|
108
61
|
const extra = extraFeatures(model, target)
|
|
109
62
|
const { requires: plugreq, plugins: featplugins } = pluginRequires(model, target)
|
|
110
63
|
|
|
@@ -126,17 +79,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
126
79
|
|
|
127
80
|
File({ name: 'config.clj' }, () => {
|
|
128
81
|
|
|
129
|
-
// ABOVE THE THRESHOLD: emit the model as DATA.
|
|
130
|
-
//
|
|
131
|
-
// The literal is one nested form the Clojure reader walks and the compiler
|
|
132
|
-
// turns into constructor calls at load; a string is one token, and
|
|
133
|
-
// `sdk.core/json-parse` builds the same LinkedHashMap/ArrayList nodes
|
|
134
|
-
// `vs/jm` and `vs/jt` produce. It is already the SDK's response decoder,
|
|
135
|
-
// so this adds no dependency.
|
|
136
|
-
//
|
|
137
|
-
// JSON.stringify output is a valid Clojure string literal: it escapes
|
|
138
|
-
// every backslash, so the JSON's own `\uXXXX` reaches the reader as
|
|
139
|
-
// `\\uXXXX` and no Clojure escape is ever formed from it.
|
|
140
82
|
if (asData) {
|
|
141
83
|
Content(`;; ${model.const.Name} SDK configuration (generated by @voxgig/sdkgen).
|
|
142
84
|
;;
|
|
@@ -166,11 +108,6 @@ ${wireBlock}`)
|
|
|
166
108
|
})
|
|
167
109
|
|
|
168
110
|
|
|
169
|
-
// The augmentation above must be a NO-OP for a header/Authorization SDK, and
|
|
170
|
-
// that is the whole byte-identity claim - so it is checked rather than
|
|
171
|
-
// asserted in a comment. A future change to configDefinition that starts
|
|
172
|
-
// emitting `in`/`name` itself would make this fire rather than silently
|
|
173
|
-
// double up.
|
|
174
111
|
function assertHeaderIdentity(now: string, before: string, authIn: string, authName: string) {
|
|
175
112
|
const defaults = 'header' === authIn && 'Authorization' === authName
|
|
176
113
|
if (defaults && now !== before) {
|
|
@@ -24,7 +24,6 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
24
24
|
|
|
25
25
|
const ff = Path.normalize(__dirname + '/../../../src/cmp/clojure/fragment/')
|
|
26
26
|
|
|
27
|
-
// Entity files go to src/sdk/entity/<name>.clj (ns sdk.entity.<name>).
|
|
28
27
|
Folder({ name: 'src' }, () => {
|
|
29
28
|
Folder({ name: 'sdk' }, () => {
|
|
30
29
|
Folder({ name: 'entity' }, () => {
|
|
@@ -26,11 +26,6 @@ import { MainEntity } from './MainEntity_clojure'
|
|
|
26
26
|
import { PrepareAuth } from './PrepareAuth_clojure'
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
// Features that ship a top-level `feature/<name>/` container in
|
|
30
|
-
// tm/clojure. Listed rather than discovered: a component cannot walk the
|
|
31
|
-
// template tree, and the list is short and changes with the templates it
|
|
32
|
-
// describes. Anything named here is EXCLUDED from the verbatim copy unless
|
|
33
|
-
// the model selects it (see the Copy below).
|
|
34
29
|
const CONTAINED = ['secrets']
|
|
35
30
|
|
|
36
31
|
|
|
@@ -45,33 +40,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
45
40
|
|
|
46
41
|
Gitignore({})
|
|
47
42
|
|
|
48
|
-
// Copy tm/clojure verbatim (runtime under src/, the test suite under test/,
|
|
49
|
-
// Makefile/LICENSE/VERSION). The feature-add scaffolding under src/feature
|
|
50
|
-
// is excluded — the clojure target does not use per-feature custom source.
|
|
51
|
-
//
|
|
52
|
-
// THE TOP-LEVEL feature/ CONTAINER IS GATED HERE, at generate time.
|
|
53
|
-
//
|
|
54
|
-
// clojure declares `feature: trim: false` (model/target/clojure.aon)
|
|
55
|
-
// because every ordinary feature lives in the single generated module
|
|
56
|
-
// src/sdk/features.clj, so `target add` copies the whole template tree.
|
|
57
|
-
// That was harmless while nothing per-feature existed. It stopped being
|
|
58
|
-
// harmless with `secrets`: its container holds a vendored
|
|
59
|
-
// @voxgig/sekreto port and the voxgig/plugin runtime, and an SDK that
|
|
60
|
-
// never asked for secrets would otherwise ship ~35 files of key-store,
|
|
61
|
-
// request-signing and child-process code. So the container is excluded
|
|
62
|
-
// unless the model SELECTS the feature — the top-level-container peer of
|
|
63
|
-
// the `srcFeatureExcludes` gate ts and js apply to src/feature/<name>/.
|
|
64
|
-
//
|
|
65
|
-
// pluginExcludes: one level deeper, the generate-time plugin trim. An
|
|
66
|
-
// INACTIVE plugin group's declared files stay out of the tree; the
|
|
67
|
-
// model's `path` entries are target-root-relative, which is this Copy's
|
|
68
|
-
// root. It runs independently of `feature.trim`, so the group trim works
|
|
69
|
-
// while that decision stands.
|
|
70
|
-
//
|
|
71
|
-
// The gated feature's own TEST suite goes with it, and is named
|
|
72
|
-
// separately: it lives at test/sdk/test/feature/<name>.clj (a file, so
|
|
73
|
-
// the container pattern's trailing slash does not reach it) because
|
|
74
|
-
// Clojure resolves `sdk.test.feature.<name>` to that exact path.
|
|
75
43
|
const featureGate = extraFeatures(model, target).map((f: any) => f.name)
|
|
76
44
|
const containerExcludes = CONTAINED
|
|
77
45
|
.filter((name: string) => !featureGate.includes(name))
|
|
@@ -88,15 +56,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
88
56
|
}
|
|
89
57
|
})
|
|
90
58
|
|
|
91
|
-
// Generated config namespace (src/sdk/config.clj), and the generated
|
|
92
|
-
// credential placement (src/sdk/prepare_auth.clj).
|
|
93
|
-
//
|
|
94
|
-
// BOTH SIT IN THIS ONE src/sdk PAIR, and neither opens a folder of its own.
|
|
95
|
-
// The Copy above roots tm/clojure at the target root, so the copied
|
|
96
|
-
// core.clj lands at src/sdk/core.clj; prepare_auth.clj has to be its
|
|
97
|
-
// SIBLING, because core.clj reads it with `(load "prepare_auth")` and that
|
|
98
|
-
// resolves to the classpath resource `sdk/prepare_auth.clj` under
|
|
99
|
-
// deps.edn's `:paths ["src"]`.
|
|
100
59
|
Folder({ name: 'src' }, () => {
|
|
101
60
|
Folder({ name: 'sdk' }, () => {
|
|
102
61
|
Config({ target })
|
|
@@ -16,26 +16,6 @@ import {
|
|
|
16
16
|
} from './featureextra_clojure'
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
// deps.edn — the tools.deps manifest. The vendored voxgig struct port needs no
|
|
20
|
-
// external dependency; the library itself only needs org.clojure/clojure. The
|
|
21
|
-
// tools.deps shim used to run the tests supports `-M:alias` reading :paths /
|
|
22
|
-
// :extra-paths / :main-opts, but NOT per-alias :extra-deps, so every dependency
|
|
23
|
-
// lives at the top-level :deps.
|
|
24
|
-
//
|
|
25
|
-
// `test/vendor/omni` is a SECOND test source root, not a subdirectory of the
|
|
26
|
-
// first: the vendored @voxgig/omni port declares `voxgig.omni.runner`, so its
|
|
27
|
-
// namespaces resolve only when the directory holding `voxgig/` is itself on
|
|
28
|
-
// the classpath. Rooting it at `test` instead would demand the namespace
|
|
29
|
-
// `vendor.omni.voxgig.omni.runner`, which the vendored file cannot carry -
|
|
30
|
-
// it is read-only, resynced from upstream.
|
|
31
|
-
//
|
|
32
|
-
// A feature whose source ships as its own tree - `secrets`, which vendors
|
|
33
|
-
// a whole @voxgig/sekreto port - needs the SAME treatment for the SAME
|
|
34
|
-
// reason: the vendored files declare `voxgig.sekreto.chain`, so they
|
|
35
|
-
// resolve only when the directory holding `voxgig/` is on the classpath.
|
|
36
|
-
// So `feature/<name>` joins :paths, and only when the model selects that
|
|
37
|
-
// feature: an SDK that did not ask for secrets gets the deps.edn it always
|
|
38
|
-
// had, naming no directory that is not there.
|
|
39
19
|
const Package = cmp(async function Package(props: any) {
|
|
40
20
|
const ctx$ = props.ctx$
|
|
41
21
|
const target = props.target
|
|
@@ -16,66 +16,10 @@ import {
|
|
|
16
16
|
} from '@voxgig/apidef'
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
// WHERE THE CREDENTIAL GOES IS A FACT ABOUT THE API, so it is generated
|
|
20
|
-
// rather than templated. The clojure port of cmp/ts/PrepareAuth_ts.ts; see
|
|
21
|
-
// that file for the full account of the defect.
|
|
22
|
-
//
|
|
23
|
-
// apidef has always resolved the scheme's `in` and `name` into
|
|
24
|
-
// `main.kit.info.security` — joplin's says `in: "query", name: "token"` —
|
|
25
|
-
// and generation dropped both, so the SDK sent a header the API does not
|
|
26
|
-
// read and never sent the query parameter it does. Four repos in the cedar
|
|
27
|
-
// fleet ship that way: joplin (`token`), pipedrive (`api_token`), trello
|
|
28
|
-
// (`key`), lm-umbrella (`apiKey`).
|
|
29
|
-
//
|
|
30
|
-
// CLOJURE HAD NO prepare_auth TEMPLATE TO REPLACE. The other twelve targets
|
|
31
|
-
// each had a standalone file; here the logic was EMBEDDED in
|
|
32
|
-
// tm/clojure/src/sdk/core.clj as `u-prepare-auth`, three constants above it,
|
|
33
|
-
// and the `:prepare-auth u-prepare-auth` entry in `base-utility-map`.
|
|
34
|
-
//
|
|
35
|
-
// THE EXTRACTION SHAPE: its own FILE, still inside the sdk.core NAMESPACE.
|
|
36
|
-
//
|
|
37
|
-
// A separate namespace is not available, and not for a stylistic reason.
|
|
38
|
-
// `u-prepare-auth` calls `oget`, `ctx-error` and `client-options-map`, all
|
|
39
|
-
// defined in sdk.core, while sdk.core's `base-utility-map` must reference
|
|
40
|
-
// `u-prepare-auth` — so `(:require [sdk.prepare-auth])` from sdk.core plus
|
|
41
|
-
// `(:require [sdk.core])` back is a load cycle, which Clojure refuses
|
|
42
|
-
// outright ("Cyclic load dependency"). The alternatives are worse: passing
|
|
43
|
-
// four core functions in as arguments, or late-binding through an atom the
|
|
44
|
-
// way kotlin's `lateinit var prepareAuth` does, would both restructure the
|
|
45
|
-
// runtime to work around a problem Clojure already has an answer for.
|
|
46
|
-
//
|
|
47
|
-
// That answer is `load`, the idiom clojure.core itself uses to split across
|
|
48
|
-
// files (core.clj does `(load "core_deftype")`, `(load "core_print")`, …).
|
|
49
|
-
// The generated file opens with `(in-ns 'sdk.core)` and is READ INTO sdk.core
|
|
50
|
-
// at the exact point the defn used to sit, so:
|
|
51
|
-
//
|
|
52
|
-
// - every helper it calls is already defined above it, unchanged;
|
|
53
|
-
// - the symbol `u-prepare-auth` resolves in `base-utility-map` exactly as
|
|
54
|
-
// before, so the `:prepare-auth` binding is untouched;
|
|
55
|
-
// - `core/HEADER-AUTH`, which feature/secrets/sdk/feature/secrets.clj
|
|
56
|
-
// reads, is still a public var of sdk.core;
|
|
57
|
-
// - and the call sites — `(ucall ctx :prepare-auth)` in core.clj's
|
|
58
|
-
// `u-make-spec`, `((core/uget ctx :prepare-auth) ctx)` in client.clj's
|
|
59
|
-
// `prepare`, and the same spelling in test/sdk/test/pipeline.clj and
|
|
60
|
-
// test/sdk/test/primary.clj — all still go through the utility map.
|
|
61
|
-
//
|
|
62
|
-
// A template cannot fix the defect, because the three placements need three
|
|
63
|
-
// different bodies and a template has to pick one. This emits the branch the
|
|
64
|
-
// API actually uses and nothing else — no dead query code in a bearer-token
|
|
65
|
-
// SDK, and no runtime `if` on a value that is fixed at generation time.
|
|
66
19
|
const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
67
20
|
const { target } = props
|
|
68
21
|
const model: Model = props.ctx$.model
|
|
69
22
|
|
|
70
|
-
// NO FOLDER IS OPENED HERE, and that is the whole of the placement
|
|
71
|
-
// decision. Main_clojure calls this inside its `Folder({name:'src'}) >
|
|
72
|
-
// Folder({name:'sdk'})` pair — the same pair Config sits in, and Config
|
|
73
|
-
// opens no folder of its own either. The file has to land beside the
|
|
74
|
-
// copied core.clj at `src/sdk/prepare_auth.clj`, because deps.edn declares
|
|
75
|
-
// `:paths ["src"]` and `(load "prepare_auth")` from the namespace sdk.core
|
|
76
|
-
// resolves to the CLASSPATH RESOURCE `sdk/prepare_auth.clj`. Opening a
|
|
77
|
-
// second `src`/`sdk` here would write `src/sdk/src/sdk/prepare_auth.clj`,
|
|
78
|
-
// which is not that resource.
|
|
79
23
|
File({ name: 'prepare_auth.' + target.ext }, () => {
|
|
80
24
|
Content(render({
|
|
81
25
|
Name: model.const.Name,
|
|
@@ -83,9 +27,6 @@ const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
|
83
27
|
where: resolveAuthIn(model),
|
|
84
28
|
name: resolveAuthName(model),
|
|
85
29
|
basic: isHttpBasicAuth(model),
|
|
86
|
-
// Read so the resolution is visible at generation time even though the
|
|
87
|
-
// emitted code takes the prefix from options at runtime (the secrets
|
|
88
|
-
// feature rewrites it there).
|
|
89
30
|
prefix: resolveAuthPrefix(model),
|
|
90
31
|
}))
|
|
91
32
|
})
|
|
@@ -122,45 +63,16 @@ function render(spec: AuthSpec): string {
|
|
|
122
63
|
}
|
|
123
64
|
|
|
124
65
|
|
|
125
|
-
// HEADER NAMES ARE LOWER-CASED; QUERY PARAMETER AND COOKIE NAMES ARE NOT.
|
|
126
|
-
//
|
|
127
|
-
// `resolveAuthName` answers 'Authorization' by default, but the whole clojure
|
|
128
|
-
// runtime spells header names in lower case: the template this replaces held
|
|
129
|
-
// `(def HEADER-AUTH "authorization")`, the shipped
|
|
130
|
-
// test/sdk/test/feature/secrets.clj reads `(vs/getprop headers
|
|
131
|
-
// "authorization")`, test/sdk/test/pipeline.clj asserts on the same key, and
|
|
132
|
-
// the shared corpus asserts `ctx:spec:headers:authorization`. The spec's
|
|
133
|
-
// headers are a java.util.LinkedHashMap, whose keys are case-SENSITIVE, so
|
|
134
|
-
// emitting "Authorization" would put the credential under a key nothing
|
|
135
|
-
// reads. HTTP header names are case-insensitive on the wire, so lower-casing
|
|
136
|
-
// costs nothing. A query parameter and a cookie ARE case-sensitive (`?Token=`
|
|
137
|
-
// is not `?token=`), so those go in verbatim.
|
|
138
66
|
function headerName(name: string): string {
|
|
139
67
|
return String(name).toLowerCase()
|
|
140
68
|
}
|
|
141
69
|
|
|
142
70
|
|
|
143
|
-
// `core/HEADER-AUTH` IS PART OF sdk.core's PUBLIC SURFACE, so it is emitted
|
|
144
|
-
// for every placement: feature/secrets/sdk/feature/secrets.clj writes the
|
|
145
|
-
// re-authenticated credential with `(.put ^java.util.Map headers
|
|
146
|
-
// core/HEADER-AUTH ...)`, and an SDK that resolves secrets would not compile
|
|
147
|
-
// without the var.
|
|
148
|
-
//
|
|
149
|
-
// For a header scheme it is the header this SDK actually uses, so the two
|
|
150
|
-
// writers agree by construction. For a query or cookie scheme the secrets
|
|
151
|
-
// feature has no header of its own to name — its re-auth is an Authorization
|
|
152
|
-
// rewrite, and the shipped suite asserts that literal — so the var keeps the
|
|
153
|
-
// value it has always had rather than being pointed at a query parameter
|
|
154
|
-
// name that means nothing in a header.
|
|
155
71
|
function headerAuthConst(spec: AuthSpec): string {
|
|
156
72
|
return 'header' === spec.where ? headerName(spec.name) : 'authorization'
|
|
157
73
|
}
|
|
158
74
|
|
|
159
75
|
|
|
160
|
-
// HEADER. Byte-for-byte the block that was in core.clj when the scheme
|
|
161
|
-
// resolves to the defaults (header / Authorization), so every header-based
|
|
162
|
-
// SDK regenerates unchanged — only the constant's VALUE moves with the model,
|
|
163
|
-
// plus the HTTP Basic branch, which is emitted only for a basic scheme.
|
|
164
76
|
function renderHeader(spec: AuthSpec, head: string): string {
|
|
165
77
|
return head + `(def HEADER-AUTH ${cljstr(headerName(spec.name))})
|
|
166
78
|
(def OPTION-APIKEY "apikey")
|
|
@@ -182,9 +94,6 @@ ${spec.basic ? basicBlock() : headerPlace(14)}
|
|
|
182
94
|
}
|
|
183
95
|
|
|
184
96
|
|
|
185
|
-
// The template's own body, unchanged: an empty prefix (a raw apiKey
|
|
186
|
-
// credential) must not add a leading space, and a missing credential deletes
|
|
187
|
-
// whatever was there rather than leaving a stale value behind.
|
|
188
97
|
function headerPlace(col: number): string {
|
|
189
98
|
const p = ' '.repeat(col)
|
|
190
99
|
return `${p}(if (or (nil? apikey) (and (string? apikey) (or (= apikey NOT-FOUND) (= apikey ""))))
|
|
@@ -196,11 +105,6 @@ ${p} (if (= auth-prefix "") apikey-val (str auth-prefix " " apikey-val)
|
|
|
196
105
|
}
|
|
197
106
|
|
|
198
107
|
|
|
199
|
-
// HTTP Basic is header-only by definition: the scheme is
|
|
200
|
-
// `Authorization: Basic base64(user:pass)`. It cannot be expressed as a query
|
|
201
|
-
// parameter or a cookie, so the branch is emitted only where it can mean
|
|
202
|
-
// something — and only when the model says the scheme IS basic, so an
|
|
203
|
-
// ordinary bearer SDK carries no dead code.
|
|
204
108
|
function basicBlock(): string {
|
|
205
109
|
return ` ;; True HTTP Basic Auth needs TWO credentials, base64-joined - a
|
|
206
110
|
;; single token in the header (the branch below) can never
|
|
@@ -221,9 +125,6 @@ ${headerPlace(16)})`
|
|
|
221
125
|
}
|
|
222
126
|
|
|
223
127
|
|
|
224
|
-
// QUERY. The credential is a query parameter, so it goes in the spec's query
|
|
225
|
-
// map (which u-make-url turns into the query string) and the headers are
|
|
226
|
-
// never touched.
|
|
227
128
|
function renderQuery(spec: AuthSpec, head: string): string {
|
|
228
129
|
return head + `;; Retained for feature/secrets, whose re-auth writes an Authorization
|
|
229
130
|
;; header; this SDK's own credential is a query parameter (see QUERY-AUTH).
|
|
@@ -253,11 +154,6 @@ function renderQuery(spec: AuthSpec, head: string): string {
|
|
|
253
154
|
}
|
|
254
155
|
|
|
255
156
|
|
|
256
|
-
// COOKIE. A cookie IS a header, so the credential rides the header bag — but
|
|
257
|
-
// the `cookie` header is SHARED with whatever cookies the caller set, so our
|
|
258
|
-
// own pair is spliced in and out rather than the header being assigned over.
|
|
259
|
-
// Splicing also makes this idempotent: a retried request cannot end up
|
|
260
|
-
// carrying the credential twice.
|
|
261
157
|
function renderCookie(spec: AuthSpec, head: string): string {
|
|
262
158
|
return head + `;; Retained for feature/secrets, whose re-auth writes an Authorization
|
|
263
159
|
;; header; this SDK's own credential is a cookie (see COOKIE-AUTH).
|
|
@@ -331,30 +227,6 @@ function renderInactive(spec: AuthSpec, head: string): string {
|
|
|
331
227
|
}
|
|
332
228
|
|
|
333
229
|
|
|
334
|
-
// NOT `isAuthActive`, AND THE DIFFERENCE IS LOAD-BEARING (the py and rb ports
|
|
335
|
-
// found this first; same reasoning, same fix).
|
|
336
|
-
//
|
|
337
|
-
// `isAuthActive` is false whenever the SPEC declares no security scheme
|
|
338
|
-
// (`main.kit.info.auth: false`). That is a statement about the DEFINITION,
|
|
339
|
-
// not a ban on ever sending a credential: apidef writes it for every spec
|
|
340
|
-
// with no securitySchemes block — GitHub's official OpenAPI included, and
|
|
341
|
-
// sdkgen's own generate fixture — and those SDKs are still expected to honour
|
|
342
|
-
// an `apikey` the caller passes. core.clj's optspec ALWAYS declares `apikey`
|
|
343
|
-
// and `auth`, and make-options fills `options.auth` from those defaults, so
|
|
344
|
-
// the runtime `(nil? (vs/getprop options "auth"))` guard never fires and the
|
|
345
|
-
// credential has always gone out.
|
|
346
|
-
//
|
|
347
|
-
// Gating the body on `isAuthActive` therefore does not trim dead code, it
|
|
348
|
-
// deletes working authentication — and takes the secrets feature with it,
|
|
349
|
-
// since that resolves a secret into `options.apikey` and prepare-auth then
|
|
350
|
-
// places nothing. The shipped tm/clojure/test/sdk/test/feature/secrets.clj
|
|
351
|
-
// suite, which sdkgen's own `clojure: the secrets feature runs with the
|
|
352
|
-
// feature active` lane runs, is what catches it.
|
|
353
|
-
//
|
|
354
|
-
// So the no-op is emitted only when the PROJECT says so:
|
|
355
|
-
// `main.kit.config.auth.active: false`, an explicit per-SDK switch nobody
|
|
356
|
-
// sets by accident. A spec that is merely silent keeps the credential path it
|
|
357
|
-
// has always had.
|
|
358
230
|
function authSwitchedOn(model: any): boolean {
|
|
359
231
|
const auth = getModelPath(model, `main.${KIT}.config.auth`,
|
|
360
232
|
{ only_active: false, required: false })
|
|
@@ -362,8 +234,6 @@ function authSwitchedOn(model: any): boolean {
|
|
|
362
234
|
}
|
|
363
235
|
|
|
364
236
|
|
|
365
|
-
// A Clojure string literal. The reader's escapes are backslash-led, so only
|
|
366
|
-
// the backslash and the double quote need handling.
|
|
367
237
|
function cljstr(s: string): string {
|
|
368
238
|
return '"' + String(s).replace(/\\/g, '\\\\').replace(/"/g, '\\"') + '"'
|
|
369
239
|
}
|
|
@@ -2,22 +2,6 @@
|
|
|
2
2
|
import { cmp, Content } from '@voxgig/sdkgen'
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
// Emit a documentation clojure-examples SYNTAX gate INTO the shared gentest run
|
|
6
|
-
// body (the clojure test runner drives a single sdk.gentest/run). For each doc
|
|
7
|
-
// that ships clojure examples — the repository ROOT README.md, the per-language
|
|
8
|
-
// README.md, and REFERENCE.md — every ```clojure fenced block is extracted and
|
|
9
|
-
// PARSED with read-string (all forms wrapped in a vector), catching a malformed
|
|
10
|
-
// documented example (an unbalanced paren, a bad token, an unclosed string).
|
|
11
|
-
//
|
|
12
|
-
// SCOPE NOTE: like the elixir gate, this stops at the syntax check rather than
|
|
13
|
-
// EXECUTING each block. Running a README fragment against the generated
|
|
14
|
-
// namespaces would need the SDK loaded and the narrative requires resolved for
|
|
15
|
-
// every block; the syntax gate is a real, useful guard that keeps documented
|
|
16
|
-
// examples parseable as the generator evolves. A doc that is absent at test
|
|
17
|
-
// time is skipped (passes), so the gate never hard-fails on a missing file.
|
|
18
|
-
//
|
|
19
|
-
// The emitted clojure builds the triple-backtick fence from (char 96) so this
|
|
20
|
-
// TS template literal needs no embedded backticks.
|
|
21
5
|
const ReadmeExamplesTest = cmp(function ReadmeExamplesTest(_props: any) {
|
|
22
6
|
|
|
23
7
|
Content(` (letfn [(fence-pat [] (re-pattern (apply str (repeat 3 (char 96)))))
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { cmp, each, Content, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape } from '@voxgig/sdkgen'
|
|
2
|
+
import { cmp, each, Content, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape , targetFeatures } from '@voxgig/sdkgen'
|
|
3
3
|
import { ReadmeRefFeatures } from '@voxgig/sdkgen'
|
|
4
4
|
|
|
5
5
|
import {
|
|
@@ -66,7 +66,7 @@ const ReadmeRef = cmp(function ReadmeRef(props: any) {
|
|
|
66
66
|
const { model } = props.ctx$
|
|
67
67
|
|
|
68
68
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
69
|
-
const feature =
|
|
69
|
+
const feature = targetFeatures(model, target)
|
|
70
70
|
|
|
71
71
|
const publishedEntities = each(entity).filter((e: any) => e.active !== false)
|
|
72
72
|
|
|
@@ -397,9 +397,6 @@ Features are activated via the \`feature\` option:
|
|
|
397
397
|
\`\`\`
|
|
398
398
|
|
|
399
399
|
`)
|
|
400
|
-
// The shared feature reference: options, defaults, usage and the
|
|
401
|
-
// considerations. Model facts, identical in every target, so they are
|
|
402
|
-
// written once in cmp/ReadmeRefFeatures.ts rather than here.
|
|
403
400
|
ReadmeRefFeatures({ target })
|
|
404
401
|
}
|
|
405
402
|
|
|
@@ -17,26 +17,6 @@ import {
|
|
|
17
17
|
} from './utility_clojure'
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
// THE GENERATED SCHEMA NAMESPACE: the model's schemas, as data the SDK runs.
|
|
21
|
-
//
|
|
22
|
-
// The clojure peer of src/cmp/ts/Schema_ts.ts. Same source — OPTSPEC from
|
|
23
|
-
// `main.kit.optspec` plus each feature's own `config.options`, ENTITYSPEC
|
|
24
|
-
// from the entity field sentinels — built by the shared helpers, so what
|
|
25
|
-
// clojure validates against and what ts validates against cannot drift.
|
|
26
|
-
//
|
|
27
|
-
// DATA ONLY, AND THAT IS STRUCTURAL. This namespace requires nothing and
|
|
28
|
-
// exposes the raw JSON strings; `sdk.core` parses them. The parse it would
|
|
29
|
-
// otherwise call, `json-parse`, is defined in sdk.core itself — and sdk.core
|
|
30
|
-
// is what reads the spec — so a schema ns that required core to parse its own
|
|
31
|
-
// data would close a require cycle. Holding the strings here and parsing
|
|
32
|
-
// there is the only arrangement that does not.
|
|
33
|
-
//
|
|
34
|
-
// Chunked the way config.clj chunks its model: the JVM caps a string literal
|
|
35
|
-
// at 64KB, so `cljStringChunks` splits and `str` rejoins at load.
|
|
36
|
-
//
|
|
37
|
-
// The round-trip is exact because the spec holds only strings and booleans —
|
|
38
|
-
// pinned by "strings and booleans only, so the JSON round-trip is lossless"
|
|
39
|
-
// in ts/test/optspec.test.ts.
|
|
40
20
|
const Schema = cmp(async function Schema(props: any) {
|
|
41
21
|
const ctx$ = props.ctx$
|
|
42
22
|
const target = props.target
|
|
@@ -6,12 +6,6 @@ import {
|
|
|
6
6
|
} from '@voxgig/sdkgen'
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
// Emit per-entity direct()/prepare() checks INTO the shared gentest run body
|
|
10
|
-
// (the clojure test runner drives a single sdk.gentest/run). Only entities
|
|
11
|
-
// with a read op get a check — matching the py/elixir TestDirect gate — so an
|
|
12
|
-
// op-less entity does not fabricate a request path. The checks exercise the
|
|
13
|
-
// raw-HTTP escape hatch: prepare() builds a fetchdef without sending, and
|
|
14
|
-
// direct() runs a live-mode client against an in-test mock system.fetch.
|
|
15
9
|
const TestDirect = cmp(function TestDirect(props: any) {
|
|
16
10
|
const { model } = props.ctx$
|
|
17
11
|
const entity = props.entity
|
|
@@ -2,13 +2,6 @@
|
|
|
2
2
|
import { cmp, Content } from '@voxgig/sdkgen'
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
// Emit per-entity model-driven checks INTO the shared gentest run body (the
|
|
6
|
-
// clojure test runner drives a single sdk.gentest/run). Covers: entity
|
|
7
|
-
// accessor existence, a create+list smoke run through the in-memory test-mode
|
|
8
|
-
// mock transport (exercising the full operation pipeline, hooks and run-op),
|
|
9
|
-
// and the streaming entity fn. API-agnostic behaviour (pipeline error
|
|
10
|
-
// branches, all features, netsim, primary utility, struct corpus) lives in the
|
|
11
|
-
// static template test namespaces.
|
|
12
5
|
const TestEntity = cmp(function TestEntity(props: any) {
|
|
13
6
|
const e = props.entity
|
|
14
7
|
|
|
@@ -46,9 +39,6 @@ const TestEntity = cmp(function TestEntity(props: any) {
|
|
|
46
39
|
`)
|
|
47
40
|
}
|
|
48
41
|
|
|
49
|
-
// stream(action, args, callopts): runs the op through the full pipeline and
|
|
50
|
-
// returns a lazy seq of items. Seeds three records via the test mock and
|
|
51
|
-
// streams them; needs only a list op.
|
|
52
42
|
if (hasList) {
|
|
53
43
|
Content(` (t/run-check rec "gen-stream-${e.name}"
|
|
54
44
|
(fn [] (let [seed (vs/jm "${e.name}" (vs/jm "S1" (vs/jm "id" "S1" "name" "a")
|
|
@@ -10,14 +10,6 @@ import { TestDirect } from './TestDirect_clojure'
|
|
|
10
10
|
import { ReadmeExamplesTest } from './ReadmeExamplesTest_clojure'
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
// Generates sdk/gentest.clj (ns sdk.gentest): the API-specific tests, driven by
|
|
14
|
-
// the model. Exposes (run rec) which the template test-runner invokes. This is
|
|
15
|
-
// the orchestrator: it emits the namespace form and the single (run rec) entry
|
|
16
|
-
// point, then delegates the per-entity checks to TestEntity (accessor +
|
|
17
|
-
// create/list smoke + stream) and TestDirect (prepare + direct escape hatch),
|
|
18
|
-
// and finally the documentation clojure-examples syntax gate (ReadmeExamples).
|
|
19
|
-
// API-agnostic behaviour (pipeline error branches, all features, netsim,
|
|
20
|
-
// primary utility, struct corpus) lives in the static template test namespaces.
|
|
21
13
|
const Test = cmp(function Test(props: any) {
|
|
22
14
|
const { model } = props.ctx$
|
|
23
15
|
const { target } = props
|
|
@@ -11,26 +11,6 @@ import {
|
|
|
11
11
|
} from '@voxgig/apidef'
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
// FEATURES WHOSE CLOJURE SOURCE LIVES OUTSIDE src/sdk/features.clj.
|
|
15
|
-
//
|
|
16
|
-
// Every ordinary feature is one arm of the hand-written `make-feature`
|
|
17
|
-
// factory in that single module. A feature that vendors a LIBRARY cannot
|
|
18
|
-
// be: `secrets` carries a whole @voxgig/sekreto port, and that port has to
|
|
19
|
-
// be droppable for a project that did not ask for it. So its
|
|
20
|
-
// implementation lives in the gated feature container instead
|
|
21
|
-
// (`feature/secrets/sdk/feature/secrets.clj`, namespace
|
|
22
|
-
// `sdk.feature.secrets`) and the generated config wires it in.
|
|
23
|
-
//
|
|
24
|
-
// The container is ALSO a classpath root. Clojure resolves
|
|
25
|
-
// `(require 'voxgig.sekreto.chain)` to `voxgig/sekreto/chain.clj` searched
|
|
26
|
-
// from each `:paths` entry - never by relative import - so the directory
|
|
27
|
-
// holding `voxgig/` must itself be on the classpath. Package_clojure adds
|
|
28
|
-
// `feature/<name>` to `:paths` for exactly the entries below that are
|
|
29
|
-
// active. (`test/vendor/omni` is the same rule, already in that file.)
|
|
30
|
-
//
|
|
31
|
-
// A map rather than a convention because both halves are decisions:
|
|
32
|
-
// WHICH namespace the container publishes, and WHAT the constructor is
|
|
33
|
-
// called. A new one is added here, and nowhere else.
|
|
34
14
|
const EXTRA: Record<string, { ns: string, ctor: string }> = {
|
|
35
15
|
secrets: { ns: 'sdk.feature.secrets', ctor: 'secrets-feature' },
|
|
36
16
|
}
|
|
@@ -64,20 +44,6 @@ function extraFeatures(model: Model, target: any): ExtraFeature[] {
|
|
|
64
44
|
}
|
|
65
45
|
|
|
66
46
|
|
|
67
|
-
// The plugin DEFINITIONS the model selected, per feature.
|
|
68
|
-
//
|
|
69
|
-
// `def.clojure` keys are FULLY-QUALIFIED vars
|
|
70
|
-
// (`voxgig.sekreto.plugins.aws/awssecrets`); the namespace is the part
|
|
71
|
-
// before the `/`, and one namespace may export several definitions (aws
|
|
72
|
-
// exports two). Emitted as `(:require [<ns> :as p-<tail>])` plus
|
|
73
|
-
// `p-<tail>/<var>` references, so an INACTIVE group leaves no require and
|
|
74
|
-
// no reference - which is what makes the generate-time file trim safe.
|
|
75
|
-
//
|
|
76
|
-
// `only_active: false` is NOT used here, deliberately: this reads the
|
|
77
|
-
// ACTIVE plugins, because these become references to files that must
|
|
78
|
-
// exist. The trim (pluginExcludes, in Main_clojure) reads the unfiltered
|
|
79
|
-
// map instead. Getting that backwards emits a require for a namespace the
|
|
80
|
-
// trim just deleted.
|
|
81
47
|
function pluginRequires(model: Model, target: any): {
|
|
82
48
|
requires: { ns: string, alias: string }[],
|
|
83
49
|
plugins: Record<string, string[]>,
|