@voxgig/sdkgen 4.21.0 → 4.23.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 +1 -81
- package/dist/cmp/ReadmeTop.js.map +1 -1
- package/dist/cmp/ReadmeUnions.js +1 -16
- 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 +3 -2
- 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.d.ts +3 -1
- package/dist/helpers/buildIdNames.js +15 -19
- package/dist/helpers/buildIdNames.js.map +1 -1
- package/dist/helpers/canonSpec.js +2 -116
- 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 +2 -6
- 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 +5 -79
- 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 +33 -231
- 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 +5 -65
- package/dist/helpers/pointPath.js.map +1 -1
- package/dist/helpers/resolved.d.ts +6 -0
- package/dist/helpers/resolved.js +22 -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 +3 -2
- package/dist/sdkgen.js +15 -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 +15 -250
- 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 +4 -40
- 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/ReadmeEntity_c.ts +3 -3
- package/project/.sdk/src/cmp/c/ReadmeExamplesTest_c.ts +0 -20
- package/project/.sdk/src/cmp/c/ReadmeModel_c.ts +3 -3
- package/project/.sdk/src/cmp/c/ReadmeRef_c.ts +7 -10
- package/project/.sdk/src/cmp/c/ReadmeTopQuick_c.ts +0 -2
- package/project/.sdk/src/cmp/c/Schema_c.ts +1 -20
- package/project/.sdk/src/cmp/c/TestDirect_c.ts +12 -12
- 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/ReadmeEntity_clojure.ts +3 -3
- package/project/.sdk/src/cmp/clojure/ReadmeExamplesTest_clojure.ts +0 -16
- package/project/.sdk/src/cmp/clojure/ReadmeModel_clojure.ts +3 -3
- package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +7 -10
- package/project/.sdk/src/cmp/clojure/Schema_clojure.ts +1 -21
- 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 +3 -39
- 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/ReadmeEntity_cpp.ts +3 -3
- package/project/.sdk/src/cmp/cpp/ReadmeExamplesTest_cpp.ts +0 -19
- package/project/.sdk/src/cmp/cpp/ReadmeModel_cpp.ts +3 -3
- package/project/.sdk/src/cmp/cpp/ReadmeQuick_cpp.ts +0 -7
- package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +7 -10
- package/project/.sdk/src/cmp/cpp/Schema_cpp.ts +1 -22
- package/project/.sdk/src/cmp/cpp/TestDirect_cpp.ts +14 -14
- package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +51 -53
- 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 +4 -54
- 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 +3 -4
- package/project/.sdk/src/cmp/csharp/ReadmeExamplesTest_csharp.ts +0 -23
- package/project/.sdk/src/cmp/csharp/ReadmeModel_csharp.ts +3 -3
- package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +7 -10
- package/project/.sdk/src/cmp/csharp/ReadmeTopQuick_csharp.ts +0 -2
- package/project/.sdk/src/cmp/csharp/Schema_csharp.ts +1 -19
- package/project/.sdk/src/cmp/csharp/TestDirect_csharp.ts +30 -30
- package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +66 -69
- 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 +4 -42
- 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/ReadmeEntity_elixir.ts +3 -3
- package/project/.sdk/src/cmp/elixir/ReadmeExamplesTest_elixir.ts +0 -19
- package/project/.sdk/src/cmp/elixir/ReadmeModel_elixir.ts +3 -3
- package/project/.sdk/src/cmp/elixir/ReadmeRef_elixir.ts +6 -9
- package/project/.sdk/src/cmp/elixir/Schema_elixir.ts +1 -25
- 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 +4 -75
- 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 +3 -8
- 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 +3 -14
- package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +0 -21
- package/project/.sdk/src/cmp/go/ReadmeRef_go.ts +7 -19
- package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +0 -9
- package/project/.sdk/src/cmp/go/Schema_go.ts +1 -22
- package/project/.sdk/src/cmp/go/TestDirect_go.ts +38 -61
- package/project/.sdk/src/cmp/go/TestEntity_go.ts +75 -82
- 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 +5 -75
- 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 +4 -54
- 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 +3 -4
- package/project/.sdk/src/cmp/java/ReadmeExamplesTest_java.ts +0 -20
- package/project/.sdk/src/cmp/java/ReadmeModel_java.ts +3 -3
- package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +0 -4
- package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +7 -10
- package/project/.sdk/src/cmp/java/ReadmeTopQuick_java.ts +0 -7
- package/project/.sdk/src/cmp/java/Schema_java.ts +1 -20
- package/project/.sdk/src/cmp/java/TestDirect_java.ts +30 -37
- package/project/.sdk/src/cmp/java/TestEntity_java.ts +69 -72
- 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 +5 -38
- 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 +3 -12
- package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +0 -2
- package/project/.sdk/src/cmp/js/ReadmeModel_js.ts +3 -3
- package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +0 -15
- package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +7 -12
- package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +0 -7
- package/project/.sdk/src/cmp/js/Schema_js.ts +1 -22
- package/project/.sdk/src/cmp/js/TestDirect_js.ts +29 -43
- package/project/.sdk/src/cmp/js/TestEntity_js.ts +69 -82
- package/project/.sdk/src/cmp/js/TestLive_js.ts +12 -5
- package/project/.sdk/src/cmp/js/utility_js.ts +5 -63
- 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 +4 -57
- 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 +3 -4
- package/project/.sdk/src/cmp/kotlin/ReadmeExamplesTest_kotlin.ts +0 -20
- package/project/.sdk/src/cmp/kotlin/ReadmeModel_kotlin.ts +3 -3
- package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +7 -10
- package/project/.sdk/src/cmp/kotlin/ReadmeTopQuick_kotlin.ts +0 -5
- package/project/.sdk/src/cmp/kotlin/Schema_kotlin.ts +1 -20
- package/project/.sdk/src/cmp/kotlin/TestDirect_kotlin.ts +30 -30
- package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +67 -70
- 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 +5 -35
- 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 +3 -11
- package/project/.sdk/src/cmp/lua/ReadmeExamplesTest_lua.ts +0 -24
- package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +3 -13
- package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +4 -25
- package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +7 -17
- package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +0 -3
- package/project/.sdk/src/cmp/lua/Schema_lua.ts +1 -17
- package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +25 -27
- package/project/.sdk/src/cmp/lua/TestEntity_lua.ts +66 -65
- 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/ReadmeEntity_ocaml.ts +3 -3
- package/project/.sdk/src/cmp/ocaml/ReadmeExamplesTest_ocaml.ts +0 -17
- package/project/.sdk/src/cmp/ocaml/ReadmeModel_ocaml.ts +3 -3
- package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +7 -10
- package/project/.sdk/src/cmp/ocaml/Schema_ocaml.ts +1 -24
- 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 +3 -6
- package/project/.sdk/src/cmp/perl/ReadmeExamplesTest_perl.ts +0 -27
- package/project/.sdk/src/cmp/perl/ReadmeModel_perl.ts +3 -3
- package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +7 -10
- package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +0 -2
- package/project/.sdk/src/cmp/perl/Schema_perl.ts +1 -19
- package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +25 -27
- package/project/.sdk/src/cmp/perl/TestEntity_perl.ts +60 -59
- 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 +5 -56
- 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 +3 -7
- 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/ReadmeModel_php.ts +3 -3
- package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +4 -23
- package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +7 -12
- package/project/.sdk/src/cmp/php/Schema_php.ts +1 -16
- package/project/.sdk/src/cmp/php/TestDirect_php.ts +25 -25
- package/project/.sdk/src/cmp/php/TestEntity_php.ts +66 -74
- 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 +4 -59
- 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 +3 -16
- 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/ReadmeModel_py.ts +3 -3
- package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +0 -28
- package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +7 -21
- package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +0 -14
- package/project/.sdk/src/cmp/py/Schema_py.ts +1 -20
- package/project/.sdk/src/cmp/py/TestDirect_py.ts +25 -27
- package/project/.sdk/src/cmp/py/TestEntity_py.ts +66 -65
- package/project/.sdk/src/cmp/py/utility_py.ts +0 -22
- package/project/.sdk/src/cmp/py-data/Main_py-data.ts +13 -47
- package/project/.sdk/src/cmp/rb/Config_rb.ts +0 -56
- package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +4 -62
- 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 +3 -10
- 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/ReadmeModel_rb.ts +3 -3
- package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +4 -27
- package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +7 -15
- 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 +1 -16
- package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +25 -27
- package/project/.sdk/src/cmp/rb/TestEntity_rb.ts +66 -65
- 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 +4 -38
- 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/ReadmeEntity_rust.ts +3 -3
- package/project/.sdk/src/cmp/rust/ReadmeExamplesTest_rust.ts +0 -16
- package/project/.sdk/src/cmp/rust/ReadmeModel_rust.ts +3 -3
- package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +7 -10
- package/project/.sdk/src/cmp/rust/Schema_rust.ts +1 -19
- package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +18 -25
- package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +63 -71
- 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 +4 -55
- 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 +3 -4
- package/project/.sdk/src/cmp/scala/ReadmeExamplesTest_scala.ts +0 -23
- package/project/.sdk/src/cmp/scala/ReadmeModel_scala.ts +3 -3
- package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +7 -10
- package/project/.sdk/src/cmp/scala/ReadmeTopQuick_scala.ts +0 -5
- package/project/.sdk/src/cmp/scala/Schema_scala.ts +1 -20
- package/project/.sdk/src/cmp/scala/TestDirect_scala.ts +14 -14
- package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +60 -67
- 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 +5 -44
- 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 +3 -5
- package/project/.sdk/src/cmp/swift/ReadmeExamplesTest_swift.ts +0 -22
- package/project/.sdk/src/cmp/swift/ReadmeModel_swift.ts +3 -3
- package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +7 -10
- package/project/.sdk/src/cmp/swift/Schema_swift.ts +1 -19
- 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 +5 -39
- 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 +3 -12
- 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 +3 -6
- package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +1 -44
- package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +7 -25
- 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 +1 -22
- package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +42 -93
- package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +76 -107
- package/project/.sdk/src/cmp/ts/TestLive_ts.ts +12 -6
- 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 +5 -64
- 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/ReadmeEntity_zig.ts +3 -3
- package/project/.sdk/src/cmp/zig/ReadmeExamplesTest_zig.ts +0 -18
- package/project/.sdk/src/cmp/zig/ReadmeModel_zig.ts +3 -3
- package/project/.sdk/src/cmp/zig/ReadmeQuick_zig.ts +0 -3
- package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +7 -10
- package/project/.sdk/src/cmp/zig/Schema_zig.ts +1 -24
- 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/c/feature/test.c +20 -4
- package/project/.sdk/tm/clojure/src/sdk/features.clj +6 -4
- package/project/.sdk/tm/cpp/feature/test.hpp +17 -6
- package/project/.sdk/tm/csharp/feature/FeatureOptions.cs +18 -5
- package/project/.sdk/tm/csharp/feature/TestFeature.cs +10 -4
- package/project/.sdk/tm/elixir/lib/projectname/feature/test.ex +11 -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/java/feature/TestFeature.java +11 -6
- package/project/.sdk/tm/js/src/feature/test/TestFeature.js +12 -4
- package/project/.sdk/tm/js/test/live-entity.js +29 -29
- package/project/.sdk/tm/js/test/live-scenarios.js +4 -4
- package/project/.sdk/tm/kotlin/feature/TestFeature.kt +8 -4
- package/project/.sdk/tm/ocaml/sdk_features.ml +6 -4
- package/project/.sdk/tm/perl/feature/test_feature.pm +6 -4
- package/project/.sdk/tm/rb/feature/test_feature.rb +6 -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 +8 -23
- 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/scala/feature/TestFeature.scala +10 -6
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/TestFeature.swift +10 -6
- 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/live-entity.ts +26 -26
- package/project/.sdk/tm/ts/test/live-scenarios.ts +3 -3
- 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/.sdk/tm/zig/feature/test.zig +11 -4
- 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 +1 -81
- package/src/cmp/ReadmeUnions.ts +1 -16
- package/src/cmp/Registered.ts +0 -30
- package/src/cmp/Security.ts +0 -2
- package/src/cmp/Test.ts +4 -2
- package/src/cmp/TestControl.ts +0 -25
- package/src/helpers/applicability.ts +0 -60
- package/src/helpers/buildIdNames.ts +17 -19
- package/src/helpers/canonSpec.ts +2 -116
- 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 +2 -6
- package/src/helpers/junk.ts +13 -89
- package/src/helpers/manifest.ts +0 -169
- package/src/helpers/modelNames.ts +6 -82
- 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 +33 -233
- package/src/helpers/optspec.ts +0 -77
- package/src/helpers/packageMeta.ts +1 -200
- package/src/helpers/pointPath.ts +5 -65
- package/src/helpers/resolved.ts +39 -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 +18 -264
- package/src/testkit.ts +6 -312
- package/src/types.ts +1 -30
- package/src/utility.ts +16 -250
|
@@ -15,12 +15,6 @@ import type {
|
|
|
15
15
|
} from '@voxgig/apidef'
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
// Generate mix.exs for the Elixir SDK. The vendored struct library has zero
|
|
19
|
-
// third-party runtime deps, so a bare SDK ships with none - but dependencies
|
|
20
|
-
// declared by the model DO flow: the target's own `deps` block plus any
|
|
21
|
-
// feature-declared elixir deps (e.g. the station feature's voxgig_station),
|
|
22
|
-
// via the shared collectDeps helper, exactly like rust/dart/go. A model with
|
|
23
|
-
// no deps emits the byte-identical `defp deps, do: []` it always has.
|
|
24
18
|
const Package = cmp(async function Package(props: any) {
|
|
25
19
|
const ctx$ = props.ctx$
|
|
26
20
|
const target = props.target
|
|
@@ -32,13 +26,6 @@ const Package = cmp(async function Package(props: any) {
|
|
|
32
26
|
const app = String(model.const.name).replace(/-/g, '_')
|
|
33
27
|
const { repoUrl } = repoInfo(model)
|
|
34
28
|
|
|
35
|
-
// Render one mix deps entry per collected dependency. Hex package names
|
|
36
|
-
// share the atom alphabet, but a hyphen in a model dep name is mapped to
|
|
37
|
-
// '_' rather than emitted broken. Version -> Mix requirement: an explicit
|
|
38
|
-
// operator is kept (spaced, the mix convention: '>=0.0.1' -> '>= 0.0.1');
|
|
39
|
-
// a bare version gets hex's customary '~>'; a target dep with no version
|
|
40
|
-
// accepts anything. kind: 'dev' scopes to [:dev, :test]; 'peer'/'prod'
|
|
41
|
-
// (and anything else) are runtime deps - mix has no peer notion.
|
|
42
29
|
const entries: string[] = []
|
|
43
30
|
for (const d of collectDeps(model, target.name, target.deps, ctx$.log)) {
|
|
44
31
|
const atom = String(d.name).replace(/-/g, '_')
|
|
@@ -22,78 +22,10 @@ import {
|
|
|
22
22
|
} from './utility_elixir'
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
// WHERE THE CREDENTIAL GOES IS A FACT ABOUT THE API, so it is generated
|
|
26
|
-
// rather than templated. The elixir port of cmp/ts/PrepareAuth_ts.ts; see
|
|
27
|
-
// that file for the full account, and cmp/rb/PrepareAuth_rb.ts for the
|
|
28
|
-
// cookie-splice and basic-auth shapes this one follows.
|
|
29
|
-
//
|
|
30
|
-
// apidef has always resolved the scheme's `in` and `name` into
|
|
31
|
-
// `main.kit.info.security` — joplin's says `in: "query", name: "token"` —
|
|
32
|
-
// and generation dropped both. The result was an SDK that sent a header the
|
|
33
|
-
// API does not read and never sent the query parameter it does, so it could
|
|
34
|
-
// not authenticate at all. Four repos in the cedar fleet shipped that way:
|
|
35
|
-
// joplin (`token`), pipedrive (`api_token`), trello (`key`),
|
|
36
|
-
// lm-umbrella (`apiKey`).
|
|
37
|
-
//
|
|
38
|
-
// A template cannot fix this, because the three placements need three
|
|
39
|
-
// different bodies and a template has to pick one. A component emits the
|
|
40
|
-
// branch this API actually uses and nothing else — no dead query code in a
|
|
41
|
-
// bearer-token SDK, and no runtime `if` on a value that is fixed at
|
|
42
|
-
// generation time.
|
|
43
|
-
//
|
|
44
|
-
// ELIXIR IS THE ODD ONE OUT: it had NO prepare_auth template. The logic was
|
|
45
|
-
// embedded in `tm/elixir/lib/projectname/utility.ex` as `prepare_auth_impl/1`,
|
|
46
|
-
// one clause among thirty in the 1670-line runtime module. So this is an
|
|
47
|
-
// EXTRACTION as well as a port, and the extraction is into the function's
|
|
48
|
-
// OWN compilation unit — the PREFERRED shape — because Elixir has no reason
|
|
49
|
-
// to need the fallback:
|
|
50
|
-
//
|
|
51
|
-
// * mix compiles every `.ex` under `lib/`, with no manifest, include list
|
|
52
|
-
// or import to keep in step. A new file in lib/<app>/ is compiled by
|
|
53
|
-
// virtue of existing.
|
|
54
|
-
// * Elixir resolves modules by their `defmodule`, never by path, so a
|
|
55
|
-
// module in its own file is indistinguishable at every call site from
|
|
56
|
-
// the same code inlined elsewhere.
|
|
57
|
-
// * THE BINDING IS A VALUE, NOT A LEXICAL REFERENCE. utility.ex builds the
|
|
58
|
-
// utility node by setprop-ing a function into each slot
|
|
59
|
-
// (`{"prepare_auth", &prepare_auth_impl/1}`), and every caller reaches it
|
|
60
|
-
// through `u(ctx, "prepare_auth").(ctx)`. A remote capture
|
|
61
|
-
// `&PrepareAuth.prepare_auth_impl/1` is the same kind of value, so the
|
|
62
|
-
// registrar, the feature-override contract (a feature setprops over the
|
|
63
|
-
// slot on the reference-stable node) and the `Utility.prepare_auth/1`
|
|
64
|
-
// dispatch wrapper are all untouched. `Utility.prepare_auth(ctx)` —
|
|
65
|
-
// which is what Main.fragment.ex, make_spec_impl, pipeline_test.exs and
|
|
66
|
-
// primary_utility_test.exs all call — still resolves, still dispatches
|
|
67
|
-
// through the node, and still honours an override.
|
|
68
25
|
const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
69
26
|
const { target } = props
|
|
70
27
|
const { model } = props.ctx$
|
|
71
28
|
|
|
72
|
-
// FOLDER NESTING, worked out from the template's own path rather than
|
|
73
|
-
// guessed. utility.ex lives at `tm/elixir/lib/projectname/utility.ex`, and
|
|
74
|
-
// Main_elixir copies that directory with
|
|
75
|
-
//
|
|
76
|
-
// Folder({name:'lib'}, () => Copy({from:'tm/elixir/lib/projectname',
|
|
77
|
-
// to: model.const.name}))
|
|
78
|
-
//
|
|
79
|
-
// so the runtime lands at `lib/<name>/`. This component is CALLED from
|
|
80
|
-
// inside Main's second `Folder({ name: 'lib' })` block — the one that
|
|
81
|
-
// writes the generated (as opposed to copied) lib files — so `lib` is
|
|
82
|
-
// ALREADY OPEN at the call site and only `<name>` is opened here. The
|
|
83
|
-
// result is `lib/<name>/prepare_auth.ex`, beside the utility.ex that
|
|
84
|
-
// registers it.
|
|
85
|
-
//
|
|
86
|
-
// Opening `lib` again here would write `lib/lib/<name>/prepare_auth.ex`.
|
|
87
|
-
// That is the ts port's `src/src/utility/` trap, and it is WORSE in elixir
|
|
88
|
-
// than anywhere else: mix compiles everything under lib/ regardless of
|
|
89
|
-
// depth, so the module would still compile, still be found by name, and
|
|
90
|
-
// the mistake would be invisible to every test — only the published tree
|
|
91
|
-
// would look wrong. (Main_elixir carries the same warning about
|
|
92
|
-
// lib/projectname/ for the same reason.)
|
|
93
|
-
//
|
|
94
|
-
// Main's two `Folder({ name: 'lib' })` blocks are SIBLINGS, not nested:
|
|
95
|
-
// jostraca folders are scoped to their callback, so both resolve to
|
|
96
|
-
// `lib/` and this component sees exactly one of them open.
|
|
97
29
|
Folder({ name: model.const.name }, () => {
|
|
98
30
|
File({ name: 'prepare_auth.' + target.ext }, () => {
|
|
99
31
|
Content(render({
|
|
@@ -139,8 +71,6 @@ defmodule ${spec.Name}.PrepareAuth do
|
|
|
139
71
|
|
|
140
72
|
`
|
|
141
73
|
|
|
142
|
-
// NO AUTH AT ALL — the project switched it off. See authSwitchedOn for why
|
|
143
|
-
// ONLY an explicit switch counts.
|
|
144
74
|
if (!spec.active) {
|
|
145
75
|
return head + ` # This SDK is configured with authentication off, so there is no
|
|
146
76
|
# credential to place. The function stays in the pipeline because
|
|
@@ -162,27 +92,8 @@ end
|
|
|
162
92
|
const query = 'query' === spec.where
|
|
163
93
|
const cookie = 'cookie' === spec.where
|
|
164
94
|
|
|
165
|
-
// HTTP Basic is header-only by definition: the scheme is
|
|
166
|
-
// `Authorization: Basic base64(user:pass)`. It cannot be expressed as a
|
|
167
|
-
// query parameter or a cookie, so the branch is emitted only where it can
|
|
168
|
-
// mean something — and only when the model says the scheme IS basic, so an
|
|
169
|
-
// ordinary bearer SDK carries no dead code and regenerates byte-identical
|
|
170
|
-
// to what utility.ex produced.
|
|
171
95
|
const basicHere = spec.basic && 'header' === spec.where
|
|
172
96
|
|
|
173
|
-
// HEADER NAMES ARE LOWER-CASED; QUERY AND COOKIE NAMES ARE NOT.
|
|
174
|
-
//
|
|
175
|
-
// `resolveAuthName` answers 'Authorization' by default, but the whole
|
|
176
|
-
// elixir runtime spells header names in lower case: the extracted code
|
|
177
|
-
// said `S.delprop(headers, "authorization")`, feature/secrets.ex rewrites
|
|
178
|
-
// `headers["authorization"]`, feature/debug.ex masks the same key, the
|
|
179
|
-
// shared corpus asserts `ctx:spec:headers:authorization`, and
|
|
180
|
-
// pipeline_test.exs reads it. A struct map key is case-sensitive, so
|
|
181
|
-
// emitting "Authorization" verbatim would put the credential under a key
|
|
182
|
-
// nothing reads and leave the secrets feature writing a SECOND header.
|
|
183
|
-
// HTTP header names are case-insensitive on the wire, so lower-casing
|
|
184
|
-
// costs nothing. A query parameter and a cookie ARE case-sensitive
|
|
185
|
-
// (`?Token=` is not `?token=`), so those keep the spec's spelling.
|
|
186
97
|
const credName = query || cookie ? spec.name : spec.name.toLowerCase()
|
|
187
98
|
|
|
188
99
|
const attrs = ` @cred_name ${elixirString(credName)}
|
|
@@ -203,9 +114,6 @@ end
|
|
|
203
114
|
? ` query = S.getprop(spec, "query")`
|
|
204
115
|
: ` headers = S.getprop(spec, "headers")`
|
|
205
116
|
|
|
206
|
-
// Clearing: a query parameter and a header are a plain delprop, but a
|
|
207
|
-
// cookie header is SHARED with whatever cookies the caller set, so only
|
|
208
|
-
// our own pair comes out.
|
|
209
117
|
const clear = query
|
|
210
118
|
? 'S.delprop(query, @cred_name)'
|
|
211
119
|
: cookie
|
|
@@ -266,8 +174,6 @@ ${indent(place(spec, clear), 1)}
|
|
|
266
174
|
}
|
|
267
175
|
|
|
268
176
|
|
|
269
|
-
// The one thing that actually differs between placements: where the
|
|
270
|
-
// credential is written, and whether the prefix travels with it.
|
|
271
177
|
function place(spec: AuthSpec, clear: string): string {
|
|
272
178
|
const guard = ` if (is_binary(apikey) and apikey == @not_found) or apikey == nil or apikey == "" do
|
|
273
179
|
${clear}
|
|
@@ -294,7 +200,6 @@ function place(spec: AuthSpec, clear: string): string {
|
|
|
294
200
|
`
|
|
295
201
|
}
|
|
296
202
|
|
|
297
|
-
// HEADER: the extracted body, unchanged.
|
|
298
203
|
return guard + ` ap = S.getpath(options, "auth.prefix")
|
|
299
204
|
auth_prefix = if is_binary(ap), do: ap, else: ""
|
|
300
205
|
apikey_val = if is_binary(apikey), do: apikey, else: ""
|
|
@@ -306,11 +211,6 @@ function place(spec: AuthSpec, clear: string): string {
|
|
|
306
211
|
}
|
|
307
212
|
|
|
308
213
|
|
|
309
|
-
// The private helpers the emitted body needs. `opts_map/1` is the one
|
|
310
|
-
// utility.ex keeps for itself (it is `defp` there, so it could not be
|
|
311
|
-
// called across the module boundary) - eight lines, reproduced rather than
|
|
312
|
-
// made public, because widening a private helper to export one caller is a
|
|
313
|
-
// bigger change to utility.ex than this extraction is.
|
|
314
214
|
function helpers(spec: AuthSpec): string {
|
|
315
215
|
const optsMap = ` # The client's options as a MAP, cloned. The clone is load-bearing: the
|
|
316
216
|
# secrets feature rewrites options.apikey on the live client, and
|
|
@@ -383,29 +283,6 @@ function indent(block: string, n: number): string {
|
|
|
383
283
|
}
|
|
384
284
|
|
|
385
285
|
|
|
386
|
-
// NOT `isAuthActive`, AND THE DIFFERENCE IS LOAD-BEARING (the py port found
|
|
387
|
-
// this first; same reasoning, same fix).
|
|
388
|
-
//
|
|
389
|
-
// `isAuthActive` is false whenever the SPEC declares no security scheme
|
|
390
|
-
// (`main.kit.info.auth: false`). That is a statement about the DEFINITION,
|
|
391
|
-
// not a ban on ever sending a credential: apidef writes it for every spec
|
|
392
|
-
// with no securitySchemes block, GitHub's official OpenAPI included, and
|
|
393
|
-
// those SDKs are still expected to honour an `apikey` the caller passes.
|
|
394
|
-
// `optspec` always declares `apikey` and make_options fills `options.auth`
|
|
395
|
-
// from its defaults, so the runtime `S.getprop(options, "auth") == nil`
|
|
396
|
-
// guard never fired and every such SDK has always sent `options.apikey`.
|
|
397
|
-
//
|
|
398
|
-
// Gating the body on `isAuthActive` therefore does not trim dead code, it
|
|
399
|
-
// deletes working authentication - and takes the secrets feature with it,
|
|
400
|
-
// since that resolves a secret into options.apikey and prepare_auth then
|
|
401
|
-
// places nothing. elixir is one of the three targets in generatedcompile's
|
|
402
|
-
// AUTHNULL_STANDALONE list, whose lane (`elixir: the secrets feature runs
|
|
403
|
-
// with the feature active`) runs the shipped secrets suite against a LIVE
|
|
404
|
-
// client on a real mix and names its two auth-nil cases.
|
|
405
|
-
//
|
|
406
|
-
// So the no-op is emitted only when the PROJECT says so: `config.auth.active:
|
|
407
|
-
// false`, an explicit per-SDK switch nobody sets by accident. A spec that is
|
|
408
|
-
// merely silent keeps the credential path it has always had.
|
|
409
286
|
function authSwitchedOn(model: any): boolean {
|
|
410
287
|
const auth = getModelPath(model, `main.${KIT}.config.auth`,
|
|
411
288
|
{ only_active: false, required: false })
|
|
@@ -49,7 +49,7 @@ takes an entity handle built from the client:
|
|
|
49
49
|
const EName = entity.Name
|
|
50
50
|
const eVar = entity.name
|
|
51
51
|
const opnames = Object.keys(entity.op || {})
|
|
52
|
-
const fields = entity.fields ||
|
|
52
|
+
const fields = Object.values(entity.fields || {})
|
|
53
53
|
const idF = entityIdField(entity)
|
|
54
54
|
|
|
55
55
|
Content(`
|
|
@@ -93,8 +93,8 @@ takes an entity handle built from the client:
|
|
|
93
93
|
`)
|
|
94
94
|
|
|
95
95
|
each(fields, (field: any) => {
|
|
96
|
-
const desc = field.
|
|
97
|
-
Content(`| \`${field.
|
|
96
|
+
const desc = field.sh || ''
|
|
97
|
+
Content(`| \`${field.n}\` | \`${canonToType(field.t, target.name)}\` | ${desc} |
|
|
98
98
|
`)
|
|
99
99
|
})
|
|
100
100
|
|
|
@@ -2,25 +2,6 @@
|
|
|
2
2
|
import { cmp, Content, File } from '@voxgig/sdkgen'
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
// Emits elixir/test/readme_examples_test.exs — an ExUnit SYNTAX + PRESENCE
|
|
6
|
-
// gate over every ```elixir fenced block in the three docs that ship elixir
|
|
7
|
-
// examples: the repository ROOT README.md, the per-language elixir/README.md,
|
|
8
|
-
// and the per-language elixir/REFERENCE.md.
|
|
9
|
-
//
|
|
10
|
-
// For each block, tagged by (source doc, index), the gate PARSES it with
|
|
11
|
-
// `Code.string_to_quoted/1` — catching malformed examples (a missing `end`, a
|
|
12
|
-
// bad token, an unbalanced `%{}`). It also asserts each doc that exists ships
|
|
13
|
-
// at least one elixir block.
|
|
14
|
-
//
|
|
15
|
-
// SCOPE NOTE: unlike the Python/Lua gates this does NOT execute blocks in a
|
|
16
|
-
// seeded offline subprocess. Elixir's compile model makes running a README
|
|
17
|
-
// fragment against the generated `<Name>` modules substantially heavier (each
|
|
18
|
-
// block would need the SDK compiled and loaded, and the narrative aliases
|
|
19
|
-
// resolved), so this port stops at the syntax gate — a real, useful guard that
|
|
20
|
-
// keeps documented examples parseable as the generator evolves.
|
|
21
|
-
//
|
|
22
|
-
// The emitted Elixir avoids backticks (chr 96 via <<96>>) so this TS template
|
|
23
|
-
// literal stays clean; the only interpolation is the SDK module name.
|
|
24
5
|
const ReadmeExamplesTest = cmp(function ReadmeExamplesTest(props: any) {
|
|
25
6
|
const { ctx$: { model } } = props
|
|
26
7
|
|
|
@@ -116,13 +116,13 @@ On error, \`ok\` is \`false\` and \`err\` carries the error value.
|
|
|
116
116
|
|
|
117
117
|
`)
|
|
118
118
|
each(entityList, (ent: any) => {
|
|
119
|
-
const fields = ent.fields ||
|
|
119
|
+
const fields = Object.values(ent.fields || {})
|
|
120
120
|
const opnames = Object.keys(ent.op || {})
|
|
121
121
|
const ops = ent.op || {}
|
|
122
122
|
const points = each(ops).map((op: any) =>
|
|
123
123
|
op.points ? each(op.points) : []
|
|
124
124
|
).flat()
|
|
125
|
-
const path = points.length > 0 ? (points[0] as any).
|
|
125
|
+
const path = points.length > 0 ? (points[0] as any).o || '' : ''
|
|
126
126
|
|
|
127
127
|
Content(`#### ${ent.Name}
|
|
128
128
|
|
|
@@ -130,7 +130,7 @@ On error, \`ok\` is \`false\` and \`err\` carries the error value.
|
|
|
130
130
|
| --- | --- |
|
|
131
131
|
`)
|
|
132
132
|
each(fields, (field: any) => {
|
|
133
|
-
Content(`| \`${field.
|
|
133
|
+
Content(`| \`${field.n}\` | ${field.sh || ''} |
|
|
134
134
|
`)
|
|
135
135
|
})
|
|
136
136
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { cmp, each, Content, canonToType, File, isAuthActive, entityIdField, opRequestShape } from '@voxgig/sdkgen'
|
|
2
|
+
import { cmp, each, Content, canonToType, File, isAuthActive, entityIdField, opRequestShape , targetFeatures } from '@voxgig/sdkgen'
|
|
3
3
|
import { ReadmeRefFeatures } from '@voxgig/sdkgen'
|
|
4
4
|
|
|
5
5
|
import {
|
|
@@ -41,7 +41,7 @@ const ReadmeRef = cmp(function ReadmeRef(props: any) {
|
|
|
41
41
|
|
|
42
42
|
const Name = model.const.Name
|
|
43
43
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
44
|
-
const feature =
|
|
44
|
+
const feature = targetFeatures(model, target)
|
|
45
45
|
|
|
46
46
|
const publishedEntities = each(entity).filter((e: any) => e.active !== false)
|
|
47
47
|
|
|
@@ -140,7 +140,7 @@ on error.
|
|
|
140
140
|
const EName = ent.Name
|
|
141
141
|
const eVar = ent.name
|
|
142
142
|
const opnames = Object.keys(ent.op || {})
|
|
143
|
-
const fields = ent.fields ||
|
|
143
|
+
const fields = Object.values(ent.fields || {})
|
|
144
144
|
const idF = entityIdField(ent)
|
|
145
145
|
|
|
146
146
|
Content(`
|
|
@@ -171,9 +171,9 @@ ${eVar} = ${Name}.${eVar}(sdk)
|
|
|
171
171
|
| --- | --- | --- | --- |
|
|
172
172
|
`)
|
|
173
173
|
each(fields, (field: any) => {
|
|
174
|
-
const req = field.
|
|
175
|
-
const desc = field.
|
|
176
|
-
Content(`| \`${field.
|
|
174
|
+
const req = field.r ? 'Yes' : 'No'
|
|
175
|
+
const desc = field.sh || ''
|
|
176
|
+
Content(`| \`${field.n}\` | \`${canonToType(field.t, target.name)}\` | ${req} | ${desc} |
|
|
177
177
|
`)
|
|
178
178
|
})
|
|
179
179
|
|
|
@@ -323,9 +323,6 @@ sdk = ${Name}.new(${Name}.Helpers.deep(%{
|
|
|
323
323
|
\`\`\`
|
|
324
324
|
|
|
325
325
|
`)
|
|
326
|
-
// The shared feature reference: options, defaults, usage and the
|
|
327
|
-
// considerations. Model facts, identical in every target, so they are
|
|
328
|
-
// written once in cmp/ReadmeRefFeatures.ts rather than here.
|
|
329
326
|
ReadmeRefFeatures({ target })
|
|
330
327
|
}
|
|
331
328
|
|
|
@@ -18,23 +18,6 @@ import {
|
|
|
18
18
|
} from './utility_elixir'
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
// THE GENERATED SCHEMA MODULE: the model's schemas, as data the SDK can run.
|
|
22
|
-
//
|
|
23
|
-
// The elixir peer of src/cmp/ts/Schema_ts.ts. Same two exports, same source —
|
|
24
|
-
// OPTSPEC from `main.kit.optspec` plus each feature's own `config.options`,
|
|
25
|
-
// ENTITYSPEC from the entity field sentinels — built by the shared helpers,
|
|
26
|
-
// so what elixir validates against and what ts validates against cannot
|
|
27
|
-
// drift.
|
|
28
|
-
//
|
|
29
|
-
// EMBEDDED AS JSON IN A MODULE ATTRIBUTE, PARSED AT COMPILE TIME, exactly as
|
|
30
|
-
// config.ex carries the model. `elixirString` escapes every `#` for the
|
|
31
|
-
// reason recorded there: elixir interpolates `#{...}` inside a double-quoted
|
|
32
|
-
// string, so an unescaped one would be evaluated as code rather than emitted
|
|
33
|
-
// as text.
|
|
34
|
-
//
|
|
35
|
-
// The round-trip is exact because the spec holds only strings and booleans —
|
|
36
|
-
// pinned by "strings and booleans only, so the JSON round-trip is lossless"
|
|
37
|
-
// in ts/test/optspec.test.ts.
|
|
38
21
|
const Schema = cmp(async function Schema(props: any) {
|
|
39
22
|
const ctx$ = props.ctx$
|
|
40
23
|
const target = props.target
|
|
@@ -45,20 +28,13 @@ const Schema = cmp(async function Schema(props: any) {
|
|
|
45
28
|
const optspec = optionSpec(model, target.name)
|
|
46
29
|
const entityspec = entitySpecMap(model, target.name) || {}
|
|
47
30
|
|
|
48
|
-
// UNDER lib/, like config.ex and for a reason that bites immediately: mix's
|
|
49
|
-
// `elixirc_paths` is ["lib"] (plus test/ under :test), so a module at the
|
|
50
|
-
// SDK ROOT is never compiled. This file used to be emitted there, and
|
|
51
|
-
// `Schema.optspec/0` was therefore undefined in every generated elixir SDK
|
|
52
|
-
// — make_options raised UndefinedFunctionError on the first client
|
|
53
|
-
// construction. The elixir compile lane skips where no toolchain is
|
|
54
|
-
// installed, so nothing caught it.
|
|
55
31
|
Folder({ name: 'lib' }, () => {
|
|
56
32
|
|
|
57
33
|
File({ name: 'schema.ex' }, () => {
|
|
58
34
|
Content(`# ${Name} ${target.Name} SDK: generated schemas. Do not edit.
|
|
59
35
|
#
|
|
60
36
|
# Generated from the model: \`main.kit.optspec\` and each feature's
|
|
61
|
-
# \`config.options\` for OPTSPEC; entity \`fields
|
|
37
|
+
# \`config.options\` for OPTSPEC; entity \`fields{}.type\` for ENTITYSPEC.
|
|
62
38
|
|
|
63
39
|
defmodule ${Name}.Schema do
|
|
64
40
|
@optspec_data ${elixirString(JSON.stringify(optspec))}
|
|
@@ -23,9 +23,6 @@ function elixirType(sentinel: unknown): string {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
// A type-correct, executable Elixir literal for a field/param of the given
|
|
27
|
-
// canonical type. Strings render the quoted placeholder; numeric/boolean/
|
|
28
|
-
// collection types render a real literal so example blocks parse and run.
|
|
29
26
|
function elixirLit(sentinel: unknown, placeholder: string = 'example'): string {
|
|
30
27
|
switch (canonScalarKey(sentinel)) {
|
|
31
28
|
case 'INTEGER':
|
|
@@ -43,10 +40,6 @@ function projectPath(suffix?: string): string {
|
|
|
43
40
|
}
|
|
44
41
|
|
|
45
42
|
|
|
46
|
-
// Render a JS value as an Elixir literal term (maps -> %{"k" => v}, lists ->
|
|
47
|
-
// [..], strings -> "..", booleans -> true/false, null -> nil). The result is
|
|
48
|
-
// fed to ProjectName.Helpers.deep/1 at runtime, which lifts native terms
|
|
49
|
-
// into the vendored struct's node representation.
|
|
50
43
|
function formatElixir(obj: any, indent: number = 0): string {
|
|
51
44
|
const pad = ' '.repeat(indent)
|
|
52
45
|
const padInner = ' '.repeat(indent + 1)
|
|
@@ -104,41 +97,14 @@ function elixirString(s: string): string {
|
|
|
104
97
|
}
|
|
105
98
|
|
|
106
99
|
|
|
107
|
-
// Emission-time normalisation of a model subtree (L0).
|
|
108
|
-
//
|
|
109
|
-
// Always drops jostraca's iteration metadata (`$`-suffixed keys: index$,
|
|
110
|
-
// key$, val$). With `dropDefaults`, also drops keys whose value IS the
|
|
111
|
-
// default the runtime already assumes when the key is absent, which is pure
|
|
112
|
-
// payload — see CONFIG_DEFAULT.
|
|
113
|
-
//
|
|
114
|
-
// Rebuilds the tree rather than mutating during a walk. The previous
|
|
115
|
-
// implementation walked a clone calling `delete p[k]`, but walk() assigns its
|
|
116
|
-
// callback's result back over the child (`setprop(out, ckey, walk(...))`), so
|
|
117
|
-
// the delete was undone on the way out and the helper silently did nothing.
|
|
118
|
-
// Returning `undefined` from the callback does not fix it either: setprop
|
|
119
|
-
// stores undefined rather than removing the key, which then emits as a null.
|
|
120
|
-
//
|
|
121
|
-
// `dropDefaults` is opt-in and must be passed ONLY for the entity subtree.
|
|
122
|
-
// `active` means something different in feature config, where absent reads as
|
|
123
|
-
// INACTIVE (see feature_init) — dropping `active: true` there would silently
|
|
124
|
-
// disable the feature.
|
|
125
|
-
// jostraca's iteration metadata, injected by each()/names() while it walks the
|
|
126
|
-
// model. Listed explicitly rather than matched by trailing-dollar suffix: a
|
|
127
|
-
// trailing dollar is not exclusive to jostraca -- Seneca uses entity$ as real
|
|
128
|
-
// data -- so a blanket suffix match can silently drop a legitimate API field.
|
|
129
100
|
const MODEL_META = ['index$', 'key$', 'val$']
|
|
130
101
|
|
|
131
|
-
// Keys whose value IS the default the runtime already assumes when the key is
|
|
132
|
-
// absent, so emitting them is pure payload.
|
|
133
102
|
const CONFIG_DEFAULT: Record<string, any> = {
|
|
134
103
|
active: true,
|
|
135
104
|
req: false,
|
|
136
105
|
reqd: false,
|
|
137
106
|
}
|
|
138
107
|
|
|
139
|
-
// Subtrees carrying user payload rather than schema. An active:true inside an
|
|
140
|
-
// OpenAPI example is DATA, not a default, so default-pruning stops at these
|
|
141
|
-
// keys and everything below them is passed through untouched.
|
|
142
108
|
const PAYLOAD_KEYS = ['default', 'example', 'examples']
|
|
143
109
|
|
|
144
110
|
function clean(o: any, dropDefaults?: boolean): any {
|
|
@@ -44,22 +44,16 @@ const Config = cmp(async function Config(props: any) {
|
|
|
44
44
|
const model: Model = ctx$.model
|
|
45
45
|
|
|
46
46
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
47
|
-
// Gated by the applicability tags, so this target never imports or
|
|
48
|
-
// registers a feature it has no source for. One rule, one place:
|
|
49
|
-
// helpers/applicability.
|
|
50
47
|
const feature = targetFeatures(model, target)
|
|
51
48
|
|
|
52
49
|
const headers = getModelPath(model, `main.${KIT}.config.headers`) || {}
|
|
53
50
|
|
|
54
51
|
const authActive = isAuthActive(model)
|
|
55
|
-
// config.auth.prefix override -> spec-derived info.security.prefix -> 'Bearer'
|
|
56
52
|
const authPrefix = resolveAuthPrefix(model)
|
|
57
53
|
|
|
58
54
|
let baseUrl = ''
|
|
59
55
|
try { baseUrl = getModelPath(model, `main.${KIT}.info.servers.0.url`) } catch (_e) { }
|
|
60
56
|
|
|
61
|
-
// Templated server URL: emit the spec's server-variable defaults so the
|
|
62
|
-
// runtime can substitute {name} placeholders in base (see make_options).
|
|
63
57
|
const svars = serverVariables(model)
|
|
64
58
|
const serverBlock = 0 === svars.length ? '' :
|
|
65
59
|
'\t\t\t"server": map[string]any{\n' +
|
|
@@ -81,27 +75,9 @@ const Config = cmp(async function Config(props: any) {
|
|
|
81
75
|
},\n`
|
|
82
76
|
: ''
|
|
83
77
|
|
|
84
|
-
// The same config as an OBJECT, built by the shared helper so this target's
|
|
85
|
-
// literal and the data that replaces it above the threshold are the same
|
|
86
|
-
// config by construction. The JSON is what the threshold is measured on -
|
|
87
|
-
// emitted source size varies by language, the model does not.
|
|
88
78
|
const { def: configDef, json: configJson } = configDefinition(model, target.name)
|
|
89
79
|
const asData = isConfigData(configJson, configReprSetting(model))
|
|
90
80
|
|
|
91
|
-
// PLUGIN DEFINITION IMPORTS AND THE FeaturePlugins MAP (the go peer of
|
|
92
|
-
// Config_ts's pluginImports/pluginDefs).
|
|
93
|
-
//
|
|
94
|
-
// Upstream sekreto replaced its self-registration registry with
|
|
95
|
-
// voxgig/plugin definitions: a provider kind the caller did not pass in
|
|
96
|
-
// via `Plugins: [...]` is unknown to that Sekreto. So the config imports
|
|
97
|
-
// each active plugin's exported Definition BY NAME (the model's
|
|
98
|
-
// per-target `def` map - `aws.Secrets`, a package-qualified go symbol)
|
|
99
|
-
// and hands the list to the feature through core.FeaturePlugins.
|
|
100
|
-
//
|
|
101
|
-
// Emitted in core (not in the feature package) so the dependency runs
|
|
102
|
-
// core -> plugins -> sekreto -> plugin with no cycle; the feature reads
|
|
103
|
-
// it back as []any and type-asserts, so a tree with the feature present
|
|
104
|
-
// but never selected still compiles.
|
|
105
81
|
const gomodule = goModule(model, target.name)
|
|
106
82
|
const pluginPaths = new Set<string>()
|
|
107
83
|
const featurePlugins: Record<string, string[]> = {}
|
|
@@ -109,12 +85,8 @@ const Config = cmp(async function Config(props: any) {
|
|
|
109
85
|
each(feature, (f: any) => {
|
|
110
86
|
const syms: string[] = []
|
|
111
87
|
each(f.plugin, (plugin: any) => {
|
|
112
|
-
// Filter on `active` HERE rather than trusting the feature object to
|
|
113
|
-
// arrive filtered (see Config_ts.pluginImports: getting this wrong
|
|
114
|
-
// emits an import for a package the trim just deleted).
|
|
115
88
|
if (false === plugin.active || null == plugin.active) return
|
|
116
89
|
for (const [sym, one] of Object.entries(plugin.def?.go || {})) {
|
|
117
|
-
// 'feature/secrets/plugins/aws/aws.go' -> its PACKAGE directory.
|
|
118
90
|
pluginPaths.add(String(one).replace(/\/[^/]+$/, ''))
|
|
119
91
|
syms.push(sym)
|
|
120
92
|
}
|
|
@@ -137,17 +109,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
137
109
|
|
|
138
110
|
File({ name: 'config.' + target.ext }, () => {
|
|
139
111
|
|
|
140
|
-
// ABOVE THE THRESHOLD: emit the model as DATA.
|
|
141
|
-
//
|
|
142
|
-
// A composite literal makes the compiler walk every node of the model;
|
|
143
|
-
// a string constant is one token. On the real gitlab model that is 30.8 s
|
|
144
|
-
// and 2.49 GB of compiler memory versus 0.34 s and 0.06 GB, and a binary
|
|
145
|
-
// 2.1x smaller. MakeConfig still returns the same map, so nothing
|
|
146
|
-
// downstream can tell which representation it got.
|
|
147
|
-
//
|
|
148
|
-
// JSON escapes work in Go interpreted strings; formatGoString also
|
|
149
|
-
// escapes BOM characters that Go forbids literally inside source files. A raw (backtick) literal could NOT be used - the model
|
|
150
|
-
// contains backticks in values like `$STRING`.
|
|
151
112
|
if (asData) {
|
|
152
113
|
Content(`package core
|
|
153
114
|
|
|
@@ -297,8 +258,6 @@ func makeFeature(name string) Feature {
|
|
|
297
258
|
`)
|
|
298
259
|
|
|
299
260
|
each(feature, (f: any) => {
|
|
300
|
-
// MUST match Main_go.ts, which DECLARES these identifiers in registry.go
|
|
301
|
-
// and the root init(); see goFeatureName.
|
|
302
261
|
const fname = goFeatureName(f)
|
|
303
262
|
if (f.name !== 'base') {
|
|
304
263
|
Content(` case "${f.name}":
|