@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
|
@@ -40,9 +40,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
40
40
|
const kotlinpackage = kotlinPackage(model)
|
|
41
41
|
|
|
42
42
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
43
|
-
// Gated by the applicability tags, so this target never imports or
|
|
44
|
-
// registers a feature it has no source for. One rule, one place:
|
|
45
|
-
// helpers/applicability.
|
|
46
43
|
const feature = targetFeatures(model, target)
|
|
47
44
|
|
|
48
45
|
const headers = getModelPath(model, `main.${KIT}.config.headers`) || {}
|
|
@@ -50,24 +47,12 @@ const Config = cmp(async function Config(props: any) {
|
|
|
50
47
|
const authActive = isAuthActive(model)
|
|
51
48
|
const authPrefix = resolveAuthPrefix(model)
|
|
52
49
|
const authBasic = isHttpBasicAuth(model)
|
|
53
|
-
// `in` and `name` travel with the prefix now. apidef resolved both all
|
|
54
|
-
// along, into main.kit.info.security, and this emitter dropped them - so
|
|
55
|
-
// an apiKey-in-query API got an Authorization header it does not read.
|
|
56
|
-
// The generated utility/PrepareAuth.kt is built from the same two values.
|
|
57
|
-
//
|
|
58
|
-
// Emitted only when they DIFFER from the defaults, so a
|
|
59
|
-
// header/Authorization SDK's Config.kt is byte-identical to what it
|
|
60
|
-
// generated before.
|
|
61
50
|
const authIn = resolveAuthIn(model)
|
|
62
51
|
const authName = resolveAuthName(model)
|
|
63
52
|
|
|
64
53
|
let baseUrl = ''
|
|
65
54
|
try { baseUrl = getModelPath(model, `main.${KIT}.info.servers.0.url`) } catch (_e) { }
|
|
66
55
|
|
|
67
|
-
// Identity comes from configDefinition's def, not re-derived here, so
|
|
68
|
-
// this target cannot disagree with the shared emitter on main.slug /
|
|
69
|
-
// main.version / main.target (the three station descriptor fields,
|
|
70
|
-
// station design §4) — passing target.name is what opts this target in.
|
|
71
56
|
const { def: configDef } = configDefinition(model, target.name)
|
|
72
57
|
|
|
73
58
|
// The feature block comes from configDefinition's def, not from
|
|
@@ -101,48 +86,17 @@ const Config = cmp(async function Config(props: any) {
|
|
|
101
86
|
options.headers = headers
|
|
102
87
|
options.entity = optionsEntity
|
|
103
88
|
|
|
104
|
-
// configDefinition's `def.entity` verbatim, NOT rebuilt here. This reduce
|
|
105
|
-
// was one of fourteen copies of that function's entityDefs loop, and when
|
|
106
|
-
// configDefinition started reconstructing a point's `parts` from apidef's
|
|
107
|
-
// segment vector (its ADR-003), only the copies that read `configDef` got
|
|
108
|
-
// it — this target's literal config emitted paths with no parts at all
|
|
109
|
-
// while its data config had them. One rule, one place.
|
|
110
89
|
const entityConfig = configDef.entity
|
|
111
90
|
|
|
112
|
-
// THE PLUGIN DEFINITIONS the model selected, per feature.
|
|
113
|
-
//
|
|
114
|
-
// sekreto's contract since the registry was retired: a kind not passed
|
|
115
|
-
// in `plugins` is unknown to that Sekreto, so the model's choice of
|
|
116
|
-
// plugin groups IS the SDK's provider vocabulary. This walks the
|
|
117
|
-
// catalogue's active `plugin.def.kotlin` entries and hands the list to
|
|
118
|
-
// the feature through `Config.featurePlugins`.
|
|
119
|
-
//
|
|
120
|
-
// Kotlin's Definition symbols are PLAIN TOP-LEVEL VALS
|
|
121
|
-
// (`val hashicorp: Definition = providerplugin("hashicorp") {...}`), so
|
|
122
|
-
// the def key is the val name and the import is that name qualified by
|
|
123
|
-
// the file's package - DERIVED from the def path (`feature/secrets/
|
|
124
|
-
// sekreto/plugins/Hashicorp.kt` -> `feature.secrets.sekreto.plugins`)
|
|
125
|
-
// rather than hardcoding `secrets`, exactly as the go emitter does.
|
|
126
|
-
//
|
|
127
|
-
// Emitted in core, which already names KOTLINPACKAGE.feature classes in
|
|
128
|
-
// makeFeature - Kotlin has no package-cycle rule, so nothing here can
|
|
129
|
-
// introduce one. The feature reads it back as List<Any?> and filters by
|
|
130
|
-
// type, so a tree with the feature present but no group selected still
|
|
131
|
-
// compiles with no import at all.
|
|
132
91
|
const pluginImports = new Set<string>()
|
|
133
92
|
const featurePlugins: Record<string, string[]> = {}
|
|
134
93
|
|
|
135
94
|
each(feature, (f: any) => {
|
|
136
95
|
const syms: string[] = []
|
|
137
96
|
each(f.plugin, (plugin: any) => {
|
|
138
|
-
// Filter on `active` HERE rather than trusting the feature object to
|
|
139
|
-
// arrive filtered: getting this wrong emits an import for a file the
|
|
140
|
-
// plugin trim just deleted, and the SDK does not compile.
|
|
141
97
|
if (false === plugin.active || null == plugin.active) return
|
|
142
98
|
for (const [sym, one] of Object.entries(plugin.def?.kotlin || {})) {
|
|
143
99
|
const dir = String(one).replace(/\/[^/]+$/, '').replace(/\//g, '.')
|
|
144
|
-
// A dotted symbol (another language's class-qualified spelling)
|
|
145
|
-
// imports its HEAD; kotlin's own keys are bare val names.
|
|
146
100
|
pluginImports.add(
|
|
147
101
|
kotlinpackage + '.' + dir + '.' + String(sym).split('.')[0])
|
|
148
102
|
syms.push(sym)
|
|
@@ -29,8 +29,6 @@ const EntityOperation = cmp(function Operation(props: any) {
|
|
|
29
29
|
EntityName: entity.Name,
|
|
30
30
|
entityname: entity.name,
|
|
31
31
|
|
|
32
|
-
// Class tokens are decoupled from the EntityName data-type token so the
|
|
33
|
-
// class can be renamed independently (collision handling).
|
|
34
32
|
EntyClass: cls,
|
|
35
33
|
|
|
36
34
|
'#Feature-Hook': ({ name, indent }: any) =>
|
|
@@ -1,38 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
// Typed-model generator (Kotlin target). Port of EntityTypes_java.ts /
|
|
3
|
-
// EntityTypes_py.ts.
|
|
4
|
-
//
|
|
5
|
-
// Reads main.<KIT>.entity.<e>.fields[] and per-op params
|
|
6
|
-
// (op.<name>.points[].args.params[]) and emits ONE file, core/<Name>Types.kt,
|
|
7
|
-
// holding a container `object <Name>Types` with a nested `data class` per
|
|
8
|
-
// active entity plus a request/match type per active op.
|
|
9
|
-
//
|
|
10
|
-
// WHY A CONTAINER OBJECT: parity with the java/csharp emitters — every
|
|
11
|
-
// generated reference type lives inside a single `object <Name>Types`, so the
|
|
12
|
-
// whole reference model is in one file (<Name>Types.kt) whatever the entity
|
|
13
|
-
// count. Kotlin has no one-public-type-per-file rule, but the single-file
|
|
14
|
-
// convention is kept for cross-language consistency.
|
|
15
|
-
//
|
|
16
|
-
// TYPE CHOICE: reference types with BOXED (nullable) component types, NOT the
|
|
17
|
-
// wired runtime type. The generated ops take/return the loose object model
|
|
18
|
-
// (MutableMap<String, Any?> / Any?), so these types are NOT wired into the op
|
|
19
|
-
// signatures — they are documentation/DX reference shapes a caller may use to
|
|
20
|
-
// describe a payload before converting it to a map. This mirrors the JS
|
|
21
|
-
// target's JSDoc typedefs (annotation only, no runtime effect). Emitting unused
|
|
22
|
-
// types is harmless — they compile and have no runtime effect.
|
|
23
|
-
//
|
|
24
|
-
// OPTIONAL FIELDS: every component is a nullable reference type, so a
|
|
25
|
-
// `req:false` field/param needs no distinct rendering in Kotlin.
|
|
26
|
-
//
|
|
27
|
-
// EMPTY SHAPES: Kotlin forbids a `data class` with zero components, so an
|
|
28
|
-
// empty shape is emitted as a plain marker `class <Name>` instead.
|
|
29
|
-
//
|
|
30
|
-
// Sentinels map to Kotlin types via the SHARED canonToType 'kotlin' column
|
|
31
|
-
// (the single source of truth per language — do not keep a local table here).
|
|
32
|
-
//
|
|
33
|
-
// Keep the SAME type-name scheme as every other language: <Name>,
|
|
34
|
-
// <Name>LoadMatch, <Name>ListMatch, <Name>CreateData, <Name>UpdateData,
|
|
35
|
-
// <Name>RemoveMatch (via the shared opTypeName helper).
|
|
36
2
|
|
|
37
3
|
import {
|
|
38
4
|
cmp, each, names,
|
|
@@ -58,9 +24,6 @@ const KOTLIN_KEYWORDS = new Set<string>([
|
|
|
58
24
|
])
|
|
59
25
|
|
|
60
26
|
|
|
61
|
-
// A field/param name that has a safe Kotlin identifier rendering. Names that
|
|
62
|
-
// are not valid identifiers (hyphens, leading digits) have no clean component
|
|
63
|
-
// form and are skipped — they remain reachable via the runtime map.
|
|
64
27
|
function kotlinIdent(name: string): boolean {
|
|
65
28
|
return /^[A-Za-z_][A-Za-z0-9_]*$/.test(name) && !KOTLIN_KEYWORDS.has(name)
|
|
66
29
|
}
|
|
@@ -69,12 +32,6 @@ function kotlinIdent(name: string): boolean {
|
|
|
69
32
|
const LANG = 'kotlin'
|
|
70
33
|
|
|
71
34
|
|
|
72
|
-
// Emit a nested `data class <typeName>(...)` from {name, type} items. An item
|
|
73
|
-
// whose name is not a legal identifier is skipped (WITH a warning — the key
|
|
74
|
-
// stays reachable via the runtime map, but its absence from the typed model
|
|
75
|
-
// should be visible, not silent); a duplicate component name (after the
|
|
76
|
-
// identifier filter) is dropped. An empty shape becomes a plain marker
|
|
77
|
-
// `class <typeName>` (Kotlin forbids a zero-component data class).
|
|
78
35
|
function emitRecord(typeName: string, items: any[], log?: any): void {
|
|
79
36
|
const seen = new Set<string>()
|
|
80
37
|
const usable = items.filter((it: any) => {
|
|
@@ -122,10 +79,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
122
79
|
|
|
123
80
|
const kotlinpackage = props.kotlinpackage || kotlinPackage(model)
|
|
124
81
|
|
|
125
|
-
// only_active:false — getModelPath DROPS active:false entries by default,
|
|
126
|
-
// but the consumer scaffold (create-sdkgen Root.ts) iterates the RAW entity
|
|
127
|
-
// collection, so inactive entities still get generated entity code that
|
|
128
|
-
// references these typed names. The typed model must cover them too.
|
|
129
82
|
const entity = getModelPath(model, `main.${KIT}.entity`, { only_active: false, required: false })
|
|
130
83
|
// Emit for EVERY entity that gets generated entity code: the consumer
|
|
131
84
|
// scaffold (create-sdkgen Root.ts) iterates entities WITHOUT an active
|
|
@@ -137,9 +90,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
137
90
|
// entity not yet named (e.g. a fieldless placeholder) would otherwise read
|
|
138
91
|
// `Name = undefined` below. Parity with the go/py/csharp/java emitter's fix.
|
|
139
92
|
|
|
140
|
-
// Surface duplicate generated type names (two entities with the same
|
|
141
|
-
// PascalCase Name) — they would redeclare a type in statically-typed
|
|
142
|
-
// targets. Detection only; renaming is a model-level decision.
|
|
143
93
|
warnEntityTypeCollisions(entity, log, LANG)
|
|
144
94
|
|
|
145
95
|
File({ name: model.const.Name + 'Types.' + ext }, () => {
|
|
@@ -148,8 +98,8 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
148
98
|
|
|
149
99
|
// Typed reference models for the ${model.const.Name} SDK.
|
|
150
100
|
//
|
|
151
|
-
// GENERATED from the API model: main.${KIT}.entity.<e>.fields
|
|
152
|
-
// params (op.<name>.points[].
|
|
101
|
+
// GENERATED from the API model: main.${KIT}.entity.<e>.fields{} and per-op
|
|
102
|
+
// params (op.<name>.points[].g.params[]). Field/param types come from the
|
|
153
103
|
// canonical type sentinels (source of truth: @voxgig/apidef VALID_CANON). Do
|
|
154
104
|
// not edit by hand.
|
|
155
105
|
//
|
|
@@ -167,15 +117,12 @@ object ${model.const.Name}Types {
|
|
|
167
117
|
entityList.forEach((ent: any) => {
|
|
168
118
|
const Name = ent.Name
|
|
169
119
|
const fields = (ent.fields ? each(ent.fields) : [])
|
|
170
|
-
.filter((f: any) => f.
|
|
120
|
+
.filter((f: any) => f.a !== false)
|
|
171
121
|
|
|
172
|
-
// Entity data model: one component per field.
|
|
173
122
|
emitRecord(Name, fields.map((f: any) => ({
|
|
174
|
-
name: f.
|
|
123
|
+
name: f.n, type: f.t,
|
|
175
124
|
})), log)
|
|
176
125
|
|
|
177
|
-
// Per active op: a request/match type. Members come from the shared
|
|
178
|
-
// partiality policy (opRequestShape).
|
|
179
126
|
const ops = ent.op || {}
|
|
180
127
|
;['load', 'list', 'create', 'update', 'remove'].forEach((opname: string) => {
|
|
181
128
|
if (null == ops[opname]) {
|
|
@@ -43,10 +43,6 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
43
43
|
|
|
44
44
|
const opnames = Object.keys(entity.op || {})
|
|
45
45
|
|
|
46
|
-
// For each CRUD op: if the spec defines it, splice in the real
|
|
47
|
-
// implementation. Otherwise emit a stub that satisfies the SdkEntity
|
|
48
|
-
// interface (so the package compiles) but errors at runtime if the
|
|
49
|
-
// caller invokes an unsupported op.
|
|
50
46
|
const opfrags =
|
|
51
47
|
(['load', 'list', 'create', 'update', 'remove']
|
|
52
48
|
.reduce((a: any, opname: string) =>
|
|
@@ -51,62 +51,17 @@ const Main = cmp(async function Main(props: any) {
|
|
|
51
51
|
// token used throughout the templates (package/import statements).
|
|
52
52
|
Copy({
|
|
53
53
|
from: 'tm/' + target.name,
|
|
54
|
-
// pluginExcludes: the generate-time plugin trim (an INACTIVE plugin
|
|
55
|
-
// group's declared files stay out of the tree - the model's `path`
|
|
56
|
-
// entries are target-root-relative, which is this Copy's root). Without
|
|
57
|
-
// it every plugin group ships regardless of the model and the def maps
|
|
58
|
-
// decide nothing; an exclude that matches nothing is indistinguishable
|
|
59
|
-
// from no exclude at all, which is how this went wrong before.
|
|
60
54
|
exclude: [/src\//, TEST_CONTROL_EXCLUDE, ...pluginExcludes(model)],
|
|
61
55
|
replace: {
|
|
62
56
|
...props.ctx$.stdrep,
|
|
63
57
|
KOTLINPACKAGE: kotlinpackage,
|
|
64
58
|
|
|
65
|
-
// The vendored sekreto port carries upstream's own package root, and
|
|
66
|
-
// a generated SDK must not publish classes in it: a Maven artifact
|
|
67
|
-
// declaring `com.voxgig.sekreto` collides with the real library on
|
|
68
|
-
// any consumer classpath. It would not COMPILE either - the vendor
|
|
69
|
-
// route's `adapt` for this library matches only Sekreto.kt and
|
|
70
|
-
// Support.kt, so the other fifteen sekreto files still declare
|
|
71
|
-
// `package com.voxgig.sekreto` while those two moved, and every
|
|
72
|
-
// cross-file reference is unresolved.
|
|
73
|
-
//
|
|
74
|
-
// Done HERE, the way Main_go rewrites the placeholder
|
|
75
|
-
// `github.com/voxgig/struct` import, because this Copy is the one
|
|
76
|
-
// seam every vendored file crosses on its way into an SDK. It is a
|
|
77
|
-
// NO-OP for a file the vendor route already rewrote, so widening
|
|
78
|
-
// that route's `adapt.match` to the whole `feature/secrets/`
|
|
79
|
-
// directory simply retires this line.
|
|
80
|
-
//
|
|
81
|
-
// (The sibling `voxgig.plugin` rewrite is NOT needed: that route's
|
|
82
|
-
// adapt already matches the whole `feature/secrets/plugin/` tree,
|
|
83
|
-
// and the token appears nowhere in tm/kotlin. A replace that matches
|
|
84
|
-
// nothing is indistinguishable from no replace at all, so it is not
|
|
85
|
-
// carried "just in case".)
|
|
86
59
|
'com.voxgig.sekreto': kotlinpackage + '.feature.secrets.sekreto',
|
|
87
60
|
}
|
|
88
61
|
})
|
|
89
62
|
|
|
90
|
-
// Shared entity runtime (entity/EntityBase.kt).
|
|
91
63
|
EntityBase({ target })
|
|
92
64
|
|
|
93
|
-
// utility/PrepareAuth.kt. GENERATED, NOT COPIED: where the credential
|
|
94
|
-
// goes - header, query parameter or cookie, under the name the spec gives
|
|
95
|
-
// - is a fact about the API, and tm/ can only hold one answer. It was
|
|
96
|
-
// embedded in tm/kotlin/utility/Prepare.kt among the other prepare*
|
|
97
|
-
// helpers, hardcoding an `authorization` header; that one function has
|
|
98
|
-
// moved out into its own compilation unit in the same package, so
|
|
99
|
-
// Register.kt's `u.prepareAuth = ::prepareAuth` binds it unchanged.
|
|
100
|
-
//
|
|
101
|
-
// Called HERE, at Main's TOP LEVEL, and deliberately NOT inside the
|
|
102
|
-
// `core` Folder below. The kotlin tree is FLAT: build.gradle.kts declares
|
|
103
|
-
// core/, utility/, feature/ and entity/ as four sibling source roots, and
|
|
104
|
-
// the Copy above lands tm/kotlin/utility/* at <out>/utility/. The
|
|
105
|
-
// component opens `utility` itself, exactly as EntityBase opens `entity`.
|
|
106
|
-
// Nested in `core` it would write core/utility/PrepareAuth.kt - which
|
|
107
|
-
// still COMPILES, because core/ is scanned recursively and the package
|
|
108
|
-
// declaration is what resolves the symbol, so the misfiling would be
|
|
109
|
-
// invisible to every check. See PrepareAuth_kotlin.
|
|
110
65
|
PrepareAuth({ target })
|
|
111
66
|
|
|
112
67
|
// Generate the client class and config in core/.
|
|
@@ -126,7 +81,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
126
81
|
}
|
|
127
82
|
},
|
|
128
83
|
|
|
129
|
-
// Entities - injected at SLOT
|
|
130
84
|
() => {
|
|
131
85
|
each(entity, (entity: ModelEntity) => {
|
|
132
86
|
const entitySDK = getModelPath(model, `main.${KIT}.entity.${entity.name}`)
|
|
@@ -15,39 +15,6 @@ import {
|
|
|
15
15
|
import { kotlinPackage } from './utility_kotlin'
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
// WHERE THE CREDENTIAL GOES IS A FACT ABOUT THE API, so it is generated
|
|
19
|
-
// rather than templated.
|
|
20
|
-
//
|
|
21
|
-
// apidef has always resolved the scheme's `in` and `name` into
|
|
22
|
-
// `main.kit.info.security` — joplin's says `in: "query", name: "token"` —
|
|
23
|
-
// and generation dropped both, hardcoding an `authorization` header. The
|
|
24
|
-
// result was an SDK that sent a header the API does not read and never
|
|
25
|
-
// sent the query parameter it does, so it could not authenticate at all.
|
|
26
|
-
// Four repos in the cedar fleet shipped that way: joplin (`token`),
|
|
27
|
-
// pipedrive (`api_token`), trello (`key`), lm-umbrella (`apiKey`).
|
|
28
|
-
//
|
|
29
|
-
// A template cannot fix this, because the three placements need three
|
|
30
|
-
// different bodies and a template has to pick one. A component emits the
|
|
31
|
-
// branch this API actually uses and nothing else — no dead query code in a
|
|
32
|
-
// bearer-token SDK, and no runtime `if` on a value that is fixed at
|
|
33
|
-
// generation time. The ts port (PrepareAuth_ts) is the donor.
|
|
34
|
-
//
|
|
35
|
-
// KOTLIN IS AN EXTRACTION, NOT A REPLACEMENT. The other twelve targets had
|
|
36
|
-
// a `prepare_auth` template of their own to delete; kotlin did not — the
|
|
37
|
-
// function lived among eight unrelated `prepare*` helpers in
|
|
38
|
-
// `tm/kotlin/utility/Prepare.kt`. So `prepareAuth` (and only it, with the
|
|
39
|
-
// three constants nothing else in that file used) MOVES here, into its own
|
|
40
|
-
// compilation unit in the SAME package.
|
|
41
|
-
//
|
|
42
|
-
// That is a pure move as far as every caller is concerned, because a
|
|
43
|
-
// Kotlin top-level function is visible to the whole package without an
|
|
44
|
-
// import: `utility/Register.kt` keeps binding `u.prepareAuth = ::prepareAuth`
|
|
45
|
-
// unchanged, `core/Utility.kt` keeps its `lateinit var prepareAuth:
|
|
46
|
-
// (Context) -> Spec` and its `u.prepareAuth = this.prepareAuth` copy, and
|
|
47
|
-
// `core/SdkClient.kt` and `utility/MakeSpecUrl.kt` keep calling
|
|
48
|
-
// `utility.prepareAuth(ctx)` through that binding. Nothing is renamed and
|
|
49
|
-
// nothing is re-wired. The three constants were `private` (file-scoped), so
|
|
50
|
-
// carrying them here cannot collide with what stays behind.
|
|
51
18
|
const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
52
19
|
const { target } = props
|
|
53
20
|
const { model } = props.ctx$
|
|
@@ -56,46 +23,13 @@ const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
|
56
23
|
|
|
57
24
|
const where = resolveAuthIn(model)
|
|
58
25
|
|
|
59
|
-
// LOWERCASED FOR A HEADER, VERBATIM OTHERWISE. `spec.headers` is a
|
|
60
|
-
// LinkedHashMap<String, Any?> — case-SENSITIVE — and every other writer
|
|
61
|
-
// and reader of an auth header in this target spells it lower case: the
|
|
62
|
-
// deleted template's own `HEADER_AUTH = "authorization"`, SecretsFeature's
|
|
63
|
-
// `headers["authorization"]` rewrite and removal, DebugFeature's redact
|
|
64
|
-
// list, PipelineTest's assertions, and the shared corpus's
|
|
65
|
-
// `ctx:spec:headers:authorization`. apidef writes `name: "Authorization"`,
|
|
66
|
-
// so emitting it verbatim would put the credential under a key none of
|
|
67
|
-
// those touch — a second header beside the one they manage rather than
|
|
68
|
-
// the one they manage. Header names are case-insensitive on the wire
|
|
69
|
-
// (RFC 7230) and lower case on HTTP/2, so nothing is lost. Query
|
|
70
|
-
// parameters and cookies ARE case-sensitive and keep the spec's spelling.
|
|
71
26
|
const resolved = resolveAuthName(model)
|
|
72
27
|
const name = 'header' === where ? resolved.toLowerCase() : resolved
|
|
73
28
|
|
|
74
29
|
const basic = isHttpBasicAuth(model)
|
|
75
30
|
|
|
76
|
-
// Read so the resolution is visible at generation time even though the
|
|
77
|
-
// emitted code takes the prefix from options at runtime (the secrets
|
|
78
|
-
// feature rewrites it there).
|
|
79
31
|
const prefix = resolveAuthPrefix(model)
|
|
80
32
|
|
|
81
|
-
// FOLDER NESTING, worked out from the template's own path and from
|
|
82
|
-
// Main_kotlin's call site.
|
|
83
|
-
//
|
|
84
|
-
// Main_kotlin's `Copy({ from: 'tm/kotlin', exclude: [/src\//] })` runs at
|
|
85
|
-
// Main's TOP LEVEL, so `tm/kotlin/utility/Prepare.kt` lands at
|
|
86
|
-
// `<out>/utility/Prepare.kt` — and `build.gradle.kts` declares
|
|
87
|
-
// `sourceSets["main"].kotlin.setSrcDirs(listOf("core", "utility",
|
|
88
|
-
// "feature", "entity"))`, four SIBLING roots at the target root. So this
|
|
89
|
-
// component opens exactly ONE segment, `utility`, and Main must call it
|
|
90
|
-
// from its top level — NOT from inside `Folder({ name: 'core' })`, where
|
|
91
|
-
// Config and SdkError are written.
|
|
92
|
-
//
|
|
93
|
-
// Nested there it would write `core/utility/PrepareAuth.kt`, and that
|
|
94
|
-
// mistake is INVISIBLE to a compile: `core` is itself a source root and
|
|
95
|
-
// gradle scans it recursively, so the misplaced file would still be
|
|
96
|
-
// compiled and its `package <pkg>.utility` declaration would still make
|
|
97
|
-
// `::prepareAuth` resolve. The tree would simply be wrong — a utility
|
|
98
|
-
// file filed under core — with nothing to report it.
|
|
99
33
|
Folder({ name: 'utility' }, () => {
|
|
100
34
|
File({ name: 'PrepareAuth.' + target.ext }, () => {
|
|
101
35
|
Content(render({
|
|
@@ -122,31 +56,6 @@ type AuthSpec = {
|
|
|
122
56
|
|
|
123
57
|
|
|
124
58
|
function render(spec: AuthSpec): string {
|
|
125
|
-
// NOT `isAuthActive`, AND THE DIFFERENCE IS LOAD-BEARING.
|
|
126
|
-
//
|
|
127
|
-
// `isAuthActive` answers two different questions with one boolean:
|
|
128
|
-
//
|
|
129
|
-
// 1. `main.kit.config.auth.active: false` — this SDK is deliberately
|
|
130
|
-
// built WITHOUT auth. A per-SDK decision by the project.
|
|
131
|
-
// 2. `main.kit.info.auth: false` — the SPEC declares no
|
|
132
|
-
// security scheme. A fact about the API definition.
|
|
133
|
-
//
|
|
134
|
-
// Only (1) may silence prepareAuth. (2) says nothing about whether the
|
|
135
|
-
// CALLER holds a credential, and kotlin has always let one through: the
|
|
136
|
-
// optspec in `tm/kotlin/utility/MakeOptions.kt` supplies an
|
|
137
|
-
// `"auth": { "prefix": "" }` default whether or not the generated Config
|
|
138
|
-
// carries one, so `options["auth"]` is non-null at runtime, the
|
|
139
|
-
// template's `options["auth"] == null` guard never fired, and the
|
|
140
|
-
// credential was placed regardless of what the spec declared. The
|
|
141
|
-
// generated secrets feature depends on exactly that — it resolves a
|
|
142
|
-
// secret into `options.apikey` and expects prepareAuth to place it — and
|
|
143
|
-
// so does generatedcompile's `kotlin: auth null beats an explicit apikey`
|
|
144
|
-
// lane, whose baseline ("an ordinary apikey IS sent") is unsatisfiable
|
|
145
|
-
// the moment the wider gate is used.
|
|
146
|
-
//
|
|
147
|
-
// `isAuthSuppressed` is the narrow one: `main.kit.config.auth.active ===
|
|
148
|
-
// false` and nothing else. A spec that is merely silent keeps the
|
|
149
|
-
// credential path it has always had.
|
|
150
59
|
if (spec.suppressed) {
|
|
151
60
|
return head(spec) + `import ${spec.kotlinpackage}.core.Context
|
|
152
61
|
import ${spec.kotlinpackage}.core.Spec
|
|
@@ -176,9 +85,6 @@ function head(spec: AuthSpec): string {
|
|
|
176
85
|
}
|
|
177
86
|
|
|
178
87
|
|
|
179
|
-
// The credential-absent test, identical in all three placements and
|
|
180
|
-
// identical to the template's. Kept as one string so a placement cannot
|
|
181
|
-
// drift from the others on what "no credential" means.
|
|
182
88
|
const SKIP = ` var skip = false
|
|
183
89
|
if (apikey == null) {
|
|
184
90
|
skip = true
|
|
@@ -246,15 +152,6 @@ fun prepareAuth(ctx: Context): Spec {
|
|
|
246
152
|
}
|
|
247
153
|
|
|
248
154
|
|
|
249
|
-
// HTTP BASIC IS HEADER-ONLY BY DEFINITION: the scheme is
|
|
250
|
-
// `Authorization: Basic base64(user:pass)`. It cannot be expressed as a
|
|
251
|
-
// query parameter or a cookie, so the branch is emitted only from
|
|
252
|
-
// renderHeader, and only when the model says this API actually uses it — a
|
|
253
|
-
// bearer SDK carries none of it.
|
|
254
|
-
//
|
|
255
|
-
// `Struct.getpath` returns the UNDEF sentinel, not null, for a path the map
|
|
256
|
-
// does not have, so the switch is read with `is Boolean` rather than
|
|
257
|
-
// compared against `true`: the sentinel is neither.
|
|
258
155
|
function basicBlock(spec: AuthSpec): string {
|
|
259
156
|
if (!spec.basic) return ''
|
|
260
157
|
|
|
@@ -293,10 +190,6 @@ function basicBlock(spec: AuthSpec): string {
|
|
|
293
190
|
}
|
|
294
191
|
|
|
295
192
|
|
|
296
|
-
// QUERY. MakeSpecUrl fills `spec.query` (prepareQuery) BEFORE it calls
|
|
297
|
-
// prepareAuth, and makeUrl reads `spec.query` afterwards, url-escaping every
|
|
298
|
-
// key and value onto the URL — so the credential placed here reaches the
|
|
299
|
-
// wire as `?name=value`. The headers are never touched.
|
|
300
193
|
function renderQuery(spec: AuthSpec): string {
|
|
301
194
|
return head(spec) + `import ${spec.kotlinpackage}.core.Context
|
|
302
195
|
import ${spec.kotlinpackage}.core.Spec
|
|
@@ -339,12 +232,6 @@ fun prepareAuth(ctx: Context): Spec {
|
|
|
339
232
|
}
|
|
340
233
|
|
|
341
234
|
|
|
342
|
-
// COOKIE. A cookie IS a header, so the credential rides the header bag —
|
|
343
|
-
// but the `cookie` header is SHARED with whatever cookies options.headers
|
|
344
|
-
// (or an earlier feature) put there, so our pair is SPLICED in and out
|
|
345
|
-
// rather than the header assigned over. Splicing also makes this
|
|
346
|
-
// idempotent: a retried request cannot end up carrying the credential
|
|
347
|
-
// twice.
|
|
348
235
|
function renderCookie(spec: AuthSpec): string {
|
|
349
236
|
return head(spec) + `import ${spec.kotlinpackage}.core.Context
|
|
350
237
|
import ${spec.kotlinpackage}.core.Spec
|
|
@@ -11,7 +11,6 @@ import { kotlinVarName } from './utility_kotlin'
|
|
|
11
11
|
|
|
12
12
|
// Type names come from the shared canonToType 'kotlin' column (single source of truth).
|
|
13
13
|
|
|
14
|
-
// A type-correct Kotlin literal for a field's canonical type.
|
|
15
14
|
function kotlinLit(type: any, placeholder: string = 'example'): string {
|
|
16
15
|
const k = canonScalarKey(type)
|
|
17
16
|
if ('INTEGER' === k) return '1L'
|
|
@@ -55,7 +54,7 @@ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
|
55
54
|
|
|
56
55
|
publishedEntities.map((entity: any) => {
|
|
57
56
|
const opnames = Object.keys(entity.op || {})
|
|
58
|
-
const fields = entity.fields ||
|
|
57
|
+
const fields = Object.values(entity.fields || {})
|
|
59
58
|
// Model-driven id key: null when this entity has no id-like field.
|
|
60
59
|
const idF = entityIdField(entity)
|
|
61
60
|
// Sanitise the local variable name — a camelCased Kotlin keyword gets a
|
|
@@ -104,8 +103,8 @@ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
|
104
103
|
`)
|
|
105
104
|
|
|
106
105
|
each(fields, (field: any) => {
|
|
107
|
-
const desc = field.
|
|
108
|
-
Content(`| \`${field.
|
|
106
|
+
const desc = field.sh || ''
|
|
107
|
+
Content(`| \`${field.n}\` | \`${canonToType(field.t, target.name)}\` | ${desc} |
|
|
109
108
|
`)
|
|
110
109
|
})
|
|
111
110
|
|
|
@@ -4,26 +4,6 @@ import { cmp, File, Content } from '@voxgig/sdkgen'
|
|
|
4
4
|
import { kotlinPackage } from './utility_kotlin'
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
// Emits test/ReadmeExamplesTest.kt — a JUnit PRESENCE + STRUCTURE gate over
|
|
8
|
-
// every ```kotlin fenced block in the repository ROOT README.md, the
|
|
9
|
-
// per-language kotlin/README.md, AND the per-language kotlin/REFERENCE.md.
|
|
10
|
-
//
|
|
11
|
-
// SCOPE NOTE (deliberate, documented): the Python/TS/Go equivalents EXECUTE and
|
|
12
|
-
// type-check every documented block. That is infeasible here — the generated
|
|
13
|
-
// Kotlin SDK compiles with Gradle/kotlinc only (no in-process Kotlin compiler
|
|
14
|
-
// dependency wired into the test classpath), so a test cannot compile-and-run
|
|
15
|
-
// arbitrary doc snippets at test time. This gate therefore guarantees the
|
|
16
|
-
// weaker-but-real invariant that keeps the docs honest as the generator evolves:
|
|
17
|
-
// 1. every doc exists and contains at least one ```kotlin block (nothing was
|
|
18
|
-
// dropped);
|
|
19
|
-
// 2. every ```kotlin block is structurally well-formed — its braces,
|
|
20
|
-
// parentheses and brackets balance (catches a truncated or malformed
|
|
21
|
-
// generated snippet).
|
|
22
|
-
// A per-doc summary line makes the coverage visible in the test output.
|
|
23
|
-
//
|
|
24
|
-
// The emitted Kotlin is written WITHOUT literal backticks (the fence marker is
|
|
25
|
-
// built at runtime as 96.toChar().toString().repeat(3)) so this TS template
|
|
26
|
-
// literal stays clean.
|
|
27
7
|
const ReadmeExamplesTest = cmp(function ReadmeExamplesTest(props: any) {
|
|
28
8
|
const { target, ctx$: { model } } = props
|
|
29
9
|
|
|
@@ -116,13 +116,13 @@ On error, \`ok\` is \`false\` and \`err\` contains 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\` contains 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, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape } from '@voxgig/sdkgen'
|
|
2
|
+
import { cmp, each, Content, canonToType, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape , targetFeatures } from '@voxgig/sdkgen'
|
|
3
3
|
import { ReadmeRefFeatures } from '@voxgig/sdkgen'
|
|
4
4
|
|
|
5
5
|
import {
|
|
@@ -60,7 +60,7 @@ const ReadmeRef = cmp(function ReadmeRef(props: any) {
|
|
|
60
60
|
const SDK = model.const.Name + 'SDK'
|
|
61
61
|
|
|
62
62
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
63
|
-
const feature =
|
|
63
|
+
const feature = targetFeatures(model, target)
|
|
64
64
|
|
|
65
65
|
const publishedEntities = each(entity).filter((e: any) => e.active !== false)
|
|
66
66
|
|
|
@@ -170,7 +170,7 @@ Prepare a fetch definition without sending. Returns the \`fetchdef\` and raises
|
|
|
170
170
|
// Entity reference sections
|
|
171
171
|
publishedEntities.map((ent: any) => {
|
|
172
172
|
const opnames = Object.keys(ent.op || {})
|
|
173
|
-
const fields = ent.fields ||
|
|
173
|
+
const fields = Object.values(ent.fields || {})
|
|
174
174
|
// Model-driven id key: null when this entity has no id-like field.
|
|
175
175
|
const idF = entityIdField(ent)
|
|
176
176
|
// Sanitise the local variable name — kotlinVarName guards Kotlin keywords.
|
|
@@ -205,9 +205,9 @@ val ${eVar} = client.${accessor}(null)
|
|
|
205
205
|
| --- | --- | --- | --- |
|
|
206
206
|
`)
|
|
207
207
|
each(fields, (field: any) => {
|
|
208
|
-
const req = field.
|
|
209
|
-
const desc = field.
|
|
210
|
-
Content(`| \`${field.
|
|
208
|
+
const req = field.r ? 'Yes' : 'No'
|
|
209
|
+
const desc = field.sh || ''
|
|
210
|
+
Content(`| \`${field.n}\` | \`${canonToType(field.t, target.name)}\` | ${req} | ${desc} |
|
|
211
211
|
`)
|
|
212
212
|
})
|
|
213
213
|
|
|
@@ -232,7 +232,7 @@ val ${eVar} = client.${accessor}(null)
|
|
|
232
232
|
if (fop.active === false) return '-'
|
|
233
233
|
return 'Yes'
|
|
234
234
|
})
|
|
235
|
-
Content(`| \`${field.
|
|
235
|
+
Content(`| \`${field.n}\` | ${cols.join(' | ')} |
|
|
236
236
|
`)
|
|
237
237
|
})
|
|
238
238
|
|
|
@@ -377,9 +377,6 @@ val client = ${SDK}(mutableMapOf<String, Any?>("feature" to feature))
|
|
|
377
377
|
\`\`\`
|
|
378
378
|
|
|
379
379
|
`)
|
|
380
|
-
// The shared feature reference: options, defaults, usage and the
|
|
381
|
-
// considerations. Model facts, identical in every target, so they are
|
|
382
|
-
// written once in cmp/ReadmeRefFeatures.ts rather than here.
|
|
383
380
|
ReadmeRefFeatures({ target })
|
|
384
381
|
}
|
|
385
382
|
|
|
@@ -54,15 +54,10 @@ import ${kotlinPackage(model)}.core.${SDK}
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
if (exampleEntity) {
|
|
57
|
-
// Sanitise the local variable name — an entity whose camelCased name is a
|
|
58
|
-
// Kotlin keyword gets a trailing underscore (kotlinVarName) so the snippet
|
|
59
|
-
// compiles.
|
|
60
57
|
const eVar = kotlinVarName(exampleEntity.name)
|
|
61
58
|
const accessor = kotlinVarName(exampleEntity.name)
|
|
62
59
|
const eNameLower = nom(exampleEntity, 'Name').toLowerCase()
|
|
63
60
|
const opnames = Object.keys(exampleEntity.op || {})
|
|
64
|
-
// Model-driven id key: null when the entity has no id-like field, in which
|
|
65
|
-
// case the load example takes an empty match.
|
|
66
61
|
const idF = entityIdField(exampleEntity)
|
|
67
62
|
|
|
68
63
|
if (opnames.includes('list')) {
|
|
@@ -18,25 +18,6 @@ import {
|
|
|
18
18
|
} from './utility_kotlin'
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
// THE GENERATED SCHEMA MODULE: the model's schemas, as data the SDK can run.
|
|
22
|
-
//
|
|
23
|
-
// The kotlin peer of src/cmp/ts/Schema_ts.ts. Same two members, same source:
|
|
24
|
-
// optspec from `main.kit.optspec` plus each feature's own `config.options`,
|
|
25
|
-
// entityspec from the entity field sentinels — both built by the shared
|
|
26
|
-
// helpers, so what kotlin validates against and what ts validates against
|
|
27
|
-
// cannot drift.
|
|
28
|
-
//
|
|
29
|
-
// EMBEDDED AS JSON, PARSED AT LOAD, where ts emits an object literal: JSON is
|
|
30
|
-
// a subset of TypeScript's own literal syntax and is not a subset of
|
|
31
|
-
// kotlin's. Chunked StringBuilder appends, exactly as Config.kt carries its
|
|
32
|
-
// config, keep every string constant far below the JVM's 64KB limit no matter
|
|
33
|
-
// how many features or entities the model grows.
|
|
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. That is not incidental — Json.parse decodes a
|
|
38
|
-
// JSON number to one kotlin type and struct reads a spec BY EXAMPLE, so one
|
|
39
|
-
// number in here would mean something different in kotlin than in ts.
|
|
40
21
|
const Schema = cmp(async function Schema(props: any) {
|
|
41
22
|
const ctx$ = props.ctx$
|
|
42
23
|
const target = props.target
|
|
@@ -59,7 +40,7 @@ import ${kotlinpackage}.utility.Json
|
|
|
59
40
|
* ${model.const.Name} ${target.Name} SDK: generated schemas. Do not edit.
|
|
60
41
|
*
|
|
61
42
|
* Generated from the model: \`main.kit.optspec\` and each feature's
|
|
62
|
-
* \`config.options\` for the option spec; entity \`fields
|
|
43
|
+
* \`config.options\` for the option spec; entity \`fields{}.type\` for the
|
|
63
44
|
* entity specs.
|
|
64
45
|
*/
|
|
65
46
|
@Suppress("UNCHECKED_CAST")
|