@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
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { flowSteps } from '@voxgig/sdkgen'
|
|
1
2
|
|
|
2
3
|
import {
|
|
3
4
|
KIT,
|
|
@@ -54,16 +55,16 @@ const TestEntity = cmp(function TestEntity(props: any) {
|
|
|
54
55
|
const idnames = buildIdNames(entity, basicflow)
|
|
55
56
|
const idnamesStr = idnames.map(n => `Value("${n}")`).join(', ')
|
|
56
57
|
|
|
57
|
-
const allSteps = Object.values(basicflow
|
|
58
|
-
const updateStep = allSteps.find((s: any) => s.
|
|
59
|
-
const updateData = updateStep?.
|
|
60
|
-
? Object.entries(updateStep.
|
|
58
|
+
const allSteps = Object.values(flowSteps(basicflow)) as any[]
|
|
59
|
+
const updateStep = allSteps.find((s: any) => s.o === 'update')
|
|
60
|
+
const updateData = updateStep?.d
|
|
61
|
+
? Object.entries(updateStep.d).filter(([k]: any) => k !== 'id' && !k.endsWith('$'))
|
|
61
62
|
: []
|
|
62
63
|
const aliases = updateData.map(([k, v]: any) => [k, v])
|
|
63
64
|
|
|
64
65
|
const genCtx: GenCtx = { model, entity, flow: basicflow }
|
|
65
66
|
|
|
66
|
-
const opsList = Array.from(new Set(allSteps.map((s: any) => s.
|
|
67
|
+
const opsList = Array.from(new Set(allSteps.map((s: any) => s.o).filter(Boolean)))
|
|
67
68
|
.map(o => `"${o}"`).join(', ')
|
|
68
69
|
|
|
69
70
|
const method = cppVarName(entity.name)
|
|
@@ -133,7 +134,7 @@ static ${entity.Name}Setup ${evar}_basic_setup(const Value& extra) {
|
|
|
133
134
|
|
|
134
135
|
${entity.Name}Setup s;
|
|
135
136
|
s.client = client;
|
|
136
|
-
s.
|
|
137
|
+
s.d = entity_data;
|
|
137
138
|
s.idmap = idmap_resolved;
|
|
138
139
|
s.env = env;
|
|
139
140
|
s.live = live;
|
|
@@ -153,7 +154,7 @@ static void ${evar}_entity_instance() {
|
|
|
153
154
|
// The stream test drives the list op; only emit it when the entity has a
|
|
154
155
|
// list op (a create/load-only entity has no list endpoint, so
|
|
155
156
|
// stream("list") throws "Operation \"list\" has no endpoint definitions").
|
|
156
|
-
const flowHasList = allSteps.some((s: any) => 'list' === s.
|
|
157
|
+
const flowHasList = allSteps.some((s: any) => 'list' === s.o)
|
|
157
158
|
if (flowHasList) {
|
|
158
159
|
Content(`
|
|
159
160
|
static void ${evar}_entity_stream() {
|
|
@@ -192,7 +193,7 @@ static void ${evar}_entity_basic() {
|
|
|
192
193
|
`)
|
|
193
194
|
|
|
194
195
|
// No create step: bootstrap entity data from existing fixtures.
|
|
195
|
-
const flowHasCreate = allSteps.some((s: any) => s.
|
|
196
|
+
const flowHasCreate = allSteps.some((s: any) => s.o === 'create')
|
|
196
197
|
if (!flowHasCreate) {
|
|
197
198
|
const preambleVar = cppVarName(entity.name + '_ref01')
|
|
198
199
|
Content(`
|
|
@@ -211,8 +212,8 @@ static void ${evar}_entity_basic() {
|
|
|
211
212
|
}
|
|
212
213
|
|
|
213
214
|
// Model-driven step iteration.
|
|
214
|
-
each(basicflow
|
|
215
|
-
const opgen: OpGen = GENERATE_OP[step.
|
|
215
|
+
each(flowSteps(basicflow), (step: any, index: any) => {
|
|
216
|
+
const opgen: OpGen = GENERATE_OP[step.o]
|
|
216
217
|
if (opgen) {
|
|
217
218
|
opgen(genCtx, step, index)
|
|
218
219
|
Content('\n')
|
|
@@ -231,9 +232,6 @@ ${flowHasList ? ` T_RUN(${evar}_entity_stream);\n` : ''} T_RUN(${evar}_entity_
|
|
|
231
232
|
})
|
|
232
233
|
|
|
233
234
|
|
|
234
|
-
// declare a data var (C++ needs declaration); track declared vars per file is
|
|
235
|
-
// hard across generators, so each op declares with `Value` unless it's a known
|
|
236
|
-
// pre-declared ref. We use a simple convention: the first use declares it.
|
|
237
235
|
function decl(varname: string, declared: Set<string>): string {
|
|
238
236
|
if (declared.has(varname)) return ''
|
|
239
237
|
declared.add(varname)
|
|
@@ -246,9 +244,9 @@ const declaredVars = new Set<string>()
|
|
|
246
244
|
|
|
247
245
|
const generateCreate: OpGen = (ctx, step: any, index) => {
|
|
248
246
|
const { entity } = ctx
|
|
249
|
-
const ref = step.
|
|
250
|
-
const datavar = cppVarName(step.
|
|
251
|
-
const entvar = cppVarName(step.
|
|
247
|
+
const ref = step.i?.ref ?? entity.name + '_ref01'
|
|
248
|
+
const datavar = cppVarName(step.i?.datavar ?? (ref + '_data' + (step.i?.suffix ?? '')))
|
|
249
|
+
const entvar = cppVarName(step.i?.entvar ?? ref + '_ent')
|
|
252
250
|
|
|
253
251
|
Content(` // CREATE
|
|
254
252
|
auto ${entvar} = client->${cppVarName(entity.name)}();
|
|
@@ -280,14 +278,14 @@ const generateCreate: OpGen = (ctx, step: any, index) => {
|
|
|
280
278
|
|
|
281
279
|
const generateList: OpGen = (ctx, step: any, index) => {
|
|
282
280
|
const { entity, flow } = ctx
|
|
283
|
-
const ref = step.
|
|
284
|
-
const entvar = cppVarName(step.
|
|
285
|
-
const matchvar = cppVarName(step.
|
|
286
|
-
const listvar = cppVarName(step.
|
|
281
|
+
const ref = step.i?.ref ?? entity.name + '_ref01'
|
|
282
|
+
const entvar = cppVarName(step.i?.entvar ?? ref + '_ent')
|
|
283
|
+
const matchvar = cppVarName(step.i?.matchvar ?? (ref + '_match' + (step.i?.suffix ?? '')))
|
|
284
|
+
const listvar = cppVarName(step.i?.listvar ?? (ref + '_list' + (step.i?.suffix ?? '')))
|
|
287
285
|
|
|
288
|
-
const priorSteps = Object.values(flow
|
|
286
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
289
287
|
const needsEnt = !priorSteps.some((s: any) =>
|
|
290
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
288
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
291
289
|
|
|
292
290
|
Content(` // LIST
|
|
293
291
|
`)
|
|
@@ -309,12 +307,12 @@ const generateList: OpGen = (ctx, step: any, index) => {
|
|
|
309
307
|
ASSERT_TRUE(${listvar}.is_list(), "expected list result to be an array");
|
|
310
308
|
`)
|
|
311
309
|
|
|
312
|
-
const allSteps = Object.values(flow
|
|
313
|
-
if (step.
|
|
314
|
-
for (const validator of (step as any).
|
|
310
|
+
const allSteps = Object.values(flowSteps(flow)) as any[]
|
|
311
|
+
if (step.v) {
|
|
312
|
+
for (const validator of (step as any).v) {
|
|
315
313
|
const validRef = validator.def?.ref
|
|
316
|
-
const hasRefData = validRef && allSteps.some((s: any) => 'create' === s.
|
|
317
|
-
((s.
|
|
314
|
+
const hasRefData = validRef && allSteps.some((s: any) => 'create' === s.o &&
|
|
315
|
+
((s.i?.ref ?? entity.name + '_ref01') === validRef))
|
|
318
316
|
if ('ItemExists' === validator.apply && hasRefData) {
|
|
319
317
|
const refDataVar = cppVarName(validRef + '_data')
|
|
320
318
|
Content(` {
|
|
@@ -337,15 +335,15 @@ const generateList: OpGen = (ctx, step: any, index) => {
|
|
|
337
335
|
|
|
338
336
|
const generateUpdate: OpGen = (ctx, step: any, index) => {
|
|
339
337
|
const { entity, flow } = ctx
|
|
340
|
-
const ref = step.
|
|
341
|
-
const entvar = cppVarName(step.
|
|
342
|
-
const datavar = cppVarName(step.
|
|
343
|
-
const resdatavar = cppVarName(step.
|
|
344
|
-
const srcdatavar = cppVarName(step.
|
|
338
|
+
const ref = step.i?.ref ?? entity.name + '_ref01'
|
|
339
|
+
const entvar = cppVarName(step.i?.entvar ?? ref + '_ent')
|
|
340
|
+
const datavar = cppVarName(step.i?.datavar ?? (ref + '_data' + (step.i?.suffix ?? '')))
|
|
341
|
+
const resdatavar = cppVarName(step.i?.resdatavar ?? (ref + '_resdata' + (step.i?.suffix ?? '')))
|
|
342
|
+
const srcdatavar = cppVarName(step.i?.srcdatavar ?? (ref + '_data' + (step.i?.suffix ?? '')))
|
|
345
343
|
|
|
346
|
-
const priorSteps = Object.values(flow
|
|
344
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
347
345
|
const needsEnt = !priorSteps.some((s: any) =>
|
|
348
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
346
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
349
347
|
const hasEntIdU = null != entity.id
|
|
350
348
|
|
|
351
349
|
Content(` // UPDATE
|
|
@@ -360,8 +358,8 @@ const generateUpdate: OpGen = (ctx, step: any, index) => {
|
|
|
360
358
|
Content(` setp(${datavar}_up, "id", getp(${srcdatavar}, "id"));
|
|
361
359
|
`)
|
|
362
360
|
}
|
|
363
|
-
if (step.
|
|
364
|
-
const dataEntries = Object.entries(step.
|
|
361
|
+
if (step.d) {
|
|
362
|
+
const dataEntries = Object.entries(step.d).filter(([k]: any) => k !== 'id' && !k.endsWith('$'))
|
|
365
363
|
for (const [key] of dataEntries) {
|
|
366
364
|
Content(` setp(${datavar}_up, "${key}", getp(setup.idmap, "${key}"));
|
|
367
365
|
`)
|
|
@@ -369,10 +367,10 @@ const generateUpdate: OpGen = (ctx, step: any, index) => {
|
|
|
369
367
|
}
|
|
370
368
|
let markname = ''
|
|
371
369
|
let markval = ''
|
|
372
|
-
if (step.
|
|
373
|
-
for (const spec of (step as any).
|
|
374
|
-
if ('TextFieldMark' === spec.apply && null != step.
|
|
375
|
-
markname = step.
|
|
370
|
+
if (step.s) {
|
|
371
|
+
for (const spec of (step as any).s) {
|
|
372
|
+
if ('TextFieldMark' === spec.apply && null != step.i?.textfield) {
|
|
373
|
+
markname = step.i.textfield
|
|
376
374
|
const fieldvalue = spec.def?.mark ?? `Mark01-${ref}`
|
|
377
375
|
markval = `${fieldvalue}_`
|
|
378
376
|
Content(` std::string ${datavar}_markval = std::string("${fieldvalue}_") + std::to_string(setup.now);
|
|
@@ -399,15 +397,15 @@ const generateUpdate: OpGen = (ctx, step: any, index) => {
|
|
|
399
397
|
|
|
400
398
|
const generateLoad: OpGen = (ctx, step: any, index) => {
|
|
401
399
|
const { entity, flow } = ctx
|
|
402
|
-
const ref = step.
|
|
403
|
-
const entvar = cppVarName(step.
|
|
404
|
-
const matchvar = cppVarName(step.
|
|
405
|
-
const datavar = cppVarName(step.
|
|
406
|
-
const srcdatavar = cppVarName(step.
|
|
400
|
+
const ref = step.i?.ref ?? entity.name + '_ref01'
|
|
401
|
+
const entvar = cppVarName(step.i?.entvar ?? ref + '_ent')
|
|
402
|
+
const matchvar = cppVarName(step.i?.matchvar ?? (ref + '_match' + (step.i?.suffix ?? '')))
|
|
403
|
+
const datavar = cppVarName(step.i?.datavar ?? (ref + '_data' + (step.i?.suffix ?? '')))
|
|
404
|
+
const srcdatavar = cppVarName(step.i?.srcdatavar ?? (ref + '_data' + (step.i?.suffix ?? '')))
|
|
407
405
|
|
|
408
|
-
const priorSteps = Object.values(flow
|
|
406
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
409
407
|
const hasEntVar = priorSteps.some((s: any) =>
|
|
410
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
408
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
411
409
|
const hasEntId = null != entity.id
|
|
412
410
|
|
|
413
411
|
Content(` // LOAD
|
|
@@ -434,14 +432,14 @@ const generateLoad: OpGen = (ctx, step: any, index) => {
|
|
|
434
432
|
|
|
435
433
|
const generateRemove: OpGen = (ctx, step: any, index) => {
|
|
436
434
|
const { entity, flow } = ctx
|
|
437
|
-
const ref = step.
|
|
438
|
-
const entvar = cppVarName(step.
|
|
439
|
-
const matchvar = cppVarName(step.
|
|
440
|
-
const srcdatavar = cppVarName(step.
|
|
435
|
+
const ref = step.i?.ref ?? entity.name + '_ref01'
|
|
436
|
+
const entvar = cppVarName(step.i?.entvar ?? ref + '_ent')
|
|
437
|
+
const matchvar = cppVarName(step.i?.matchvar ?? (ref + '_match' + (step.i?.suffix ?? '')))
|
|
438
|
+
const srcdatavar = cppVarName(step.i?.srcdatavar ?? (ref + '_data'))
|
|
441
439
|
|
|
442
|
-
const priorSteps = Object.values(flow
|
|
440
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
443
441
|
const needsEnt = !priorSteps.some((s: any) =>
|
|
444
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
442
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
445
443
|
|
|
446
444
|
Content(` // REMOVE
|
|
447
445
|
`)
|
|
@@ -16,9 +16,6 @@ const Test = cmp(function Test(props: any) {
|
|
|
16
16
|
const { model } = props.ctx$
|
|
17
17
|
const { target } = props
|
|
18
18
|
|
|
19
|
-
// The static test suite (exists / pipeline / primary / feature / custom /
|
|
20
|
-
// netsim / struct corpus) ships as tm/cpp/test templates (copied verbatim).
|
|
21
|
-
// Here we generate the per-entity model-driven tests into test/.
|
|
22
19
|
Folder({ name: 'test' }, () => {
|
|
23
20
|
|
|
24
21
|
// Write-once: a project's edited control file survives regeneration.
|
|
@@ -5,7 +5,6 @@ import {
|
|
|
5
5
|
} from '@voxgig/struct'
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
// C++ reserved words illegal as identifiers.
|
|
9
8
|
const CPP_RESERVED = new Set<string>([
|
|
10
9
|
'alignas', 'alignof', 'and', 'and_eq', 'asm', 'auto', 'bitand', 'bitor',
|
|
11
10
|
'bool', 'break', 'case', 'catch', 'char', 'char16_t', 'char32_t', 'class',
|
|
@@ -22,40 +21,14 @@ const CPP_RESERVED = new Set<string>([
|
|
|
22
21
|
])
|
|
23
22
|
|
|
24
23
|
|
|
25
|
-
// A collision-free snake_case C++ identifier for a model name.
|
|
26
24
|
function cppVarName(name: string): string {
|
|
27
25
|
const snake = String(name).replace(/[^a-zA-Z0-9_]/g, '_').toLowerCase()
|
|
28
26
|
return CPP_RESERVED.has(snake) ? snake + '_' : snake
|
|
29
27
|
}
|
|
30
28
|
|
|
31
29
|
|
|
32
|
-
// Deep-remove meta keys (`foo$`) from a model subtree.
|
|
33
|
-
// Emission-time normalisation of a model subtree (L0).
|
|
34
|
-
//
|
|
35
|
-
// Always drops jostraca's iteration metadata (`$`-suffixed keys: index$,
|
|
36
|
-
// key$, val$). With `dropDefaults`, also drops keys whose value IS the
|
|
37
|
-
// default the runtime already assumes when the key is absent, which is pure
|
|
38
|
-
// payload — see CONFIG_DEFAULT.
|
|
39
|
-
//
|
|
40
|
-
// Rebuilds the tree rather than mutating during a walk. The previous
|
|
41
|
-
// implementation walked a clone calling `delete p[k]`, but walk() assigns its
|
|
42
|
-
// callback's result back over the child (`setprop(out, ckey, walk(...))`), so
|
|
43
|
-
// the delete was undone on the way out and the helper silently did nothing.
|
|
44
|
-
// Returning `undefined` from the callback does not fix it either: setprop
|
|
45
|
-
// stores undefined rather than removing the key, which then emits as a null.
|
|
46
|
-
//
|
|
47
|
-
// `dropDefaults` is opt-in and must be passed ONLY for the entity subtree.
|
|
48
|
-
// `active` means something different in feature config, where absent reads as
|
|
49
|
-
// INACTIVE (see feature_init) — dropping `active: true` there would silently
|
|
50
|
-
// disable the feature.
|
|
51
|
-
// jostraca's iteration metadata, injected by each()/names() while it walks the
|
|
52
|
-
// model. Listed explicitly rather than matched by trailing-dollar suffix: a
|
|
53
|
-
// trailing dollar is not exclusive to jostraca -- Seneca uses entity$ as real
|
|
54
|
-
// data -- so a blanket suffix match can silently drop a legitimate API field.
|
|
55
30
|
const MODEL_META = ['index$', 'key$', 'val$']
|
|
56
31
|
|
|
57
|
-
// Keys whose value IS the default the runtime already assumes when the key is
|
|
58
|
-
// absent, so emitting them is pure payload.
|
|
59
32
|
const CONFIG_DEFAULT: Record<string, any> = {
|
|
60
33
|
active: true,
|
|
61
34
|
req: false,
|
|
@@ -91,7 +64,6 @@ function cleanModel(o: any, dropDefaults?: boolean): any {
|
|
|
91
64
|
}
|
|
92
65
|
|
|
93
66
|
|
|
94
|
-
// Escape a string for embedding inside a C++ double-quoted string literal.
|
|
95
67
|
function cppEscape(s: string): string {
|
|
96
68
|
return s.replace(/\\/g, '\\\\').replace(/"/g, '\\"')
|
|
97
69
|
}
|
|
@@ -42,36 +42,8 @@ const Config = cmp(async function Config(props: any) {
|
|
|
42
42
|
// helpers/applicability.
|
|
43
43
|
const feature = targetFeatures(model, target)
|
|
44
44
|
|
|
45
|
-
// The same config as an OBJECT, built by the shared helper so this target's
|
|
46
|
-
// literal and the data that replaces it above the threshold are the same
|
|
47
|
-
// config by construction. The JSON is what the threshold is measured on -
|
|
48
|
-
// emitted source size varies by language, the model does not.
|
|
49
|
-
//
|
|
50
|
-
// Passing target.name opts this target into main.slug / main.version /
|
|
51
|
-
// main.target (the three station descriptor fields, station design §4):
|
|
52
|
-
// both reps flow from this one call - the literal via formatCsMap(configDef)
|
|
53
|
-
// and the data rep via csStringLiteral(configJson) - so they cannot
|
|
54
|
-
// disagree on identity (mirrors Config_ts's #MainMeta block).
|
|
55
45
|
const { def: configDef, json: baseJson } = configDefinition(model, target.name)
|
|
56
46
|
|
|
57
|
-
// `in` and `name` TRAVEL WITH THE PREFIX NOW.
|
|
58
|
-
//
|
|
59
|
-
// apidef resolved both from the spec's securityScheme all along and this
|
|
60
|
-
// generator dropped them, so an apiKey-in-query API got an Authorization
|
|
61
|
-
// header it does not read (see PrepareAuth_csharp). The generated
|
|
62
|
-
// prepareAuth is built from the same two values, and the config carries
|
|
63
|
-
// them so the placement is a visible, overridable runtime option beside
|
|
64
|
-
// auth.prefix - which is also what stops the SDK's own MakeOptions from
|
|
65
|
-
// rejecting its own config: the auth optspec in tm/csharp/utility/
|
|
66
|
-
// MakeOptions.cs is a CLOSED map, and an undeclared key there fails
|
|
67
|
-
// validate with "Unexpected keys at field auth".
|
|
68
|
-
//
|
|
69
|
-
// Emitted ONLY when they differ from header/Authorization, so a
|
|
70
|
-
// header-based SDK's Config.cs is byte-identical to what it generated
|
|
71
|
-
// before. Both representations are patched through the one object, so
|
|
72
|
-
// the literal (formatCsMap) and the data rep (csStringLiteral) cannot
|
|
73
|
-
// disagree - the json is re-derived from the def, exactly as
|
|
74
|
-
// configDefinition derives it.
|
|
75
47
|
const authIn = resolveAuthIn(model)
|
|
76
48
|
const authName = resolveAuthName(model)
|
|
77
49
|
let configJson = baseJson
|
|
@@ -93,19 +65,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
93
65
|
|
|
94
66
|
const asData = isConfigData(configJson, configReprSetting(model))
|
|
95
67
|
|
|
96
|
-
// THE FEATURE PLUGIN MAP (the csharp peer of Config_go's featurePlugins).
|
|
97
|
-
//
|
|
98
|
-
// Upstream sekreto replaced its self-registration registry with
|
|
99
|
-
// voxgig/plugin definitions: a provider kind the caller did not pass in
|
|
100
|
-
// via `Plugins: [...]` is unknown to that Sekreto. So the config names
|
|
101
|
-
// each active plugin's exported Definition (the model's per-target `def`
|
|
102
|
-
// map - `AwsPlugins.Secrets`, a C# static field) and hands the list to
|
|
103
|
-
// the feature through SdkConfig.FeaturePlugins.
|
|
104
|
-
//
|
|
105
|
-
// FULLY QUALIFIED with `global::`, which is what makes an inactive model
|
|
106
|
-
// cost nothing: no `using` is emitted, so a config for a project with no
|
|
107
|
-
// plugin groups names no sekreto type at all and the generated file is
|
|
108
|
-
// byte-identical to one from a tree that has never heard of the feature.
|
|
109
68
|
const featurePlugins: Record<string, string[]> = {}
|
|
110
69
|
|
|
111
70
|
each(feature, (f: any) => {
|
|
@@ -147,18 +106,6 @@ public static class SdkConfig
|
|
|
147
106
|
{
|
|
148
107
|
`)
|
|
149
108
|
|
|
150
|
-
// ABOVE THE THRESHOLD: emit the model as DATA.
|
|
151
|
-
//
|
|
152
|
-
// A composite Dictionary literal is a single expression the C# compiler
|
|
153
|
-
// must bind, type and lower node by node, and every entry becomes IL the
|
|
154
|
-
// JIT executes on first call. A string constant is one token, and
|
|
155
|
-
// System.Text.Json builds the same dictionary from it far faster.
|
|
156
|
-
//
|
|
157
|
-
// JSON.stringify output is ALMOST a valid C# string literal: every escape
|
|
158
|
-
// it emits (\\", \\\\, \\b, \\f, \\n, \\r, \\t, \\uXXXX) means the same thing in C#,
|
|
159
|
-
// and it never emits \\/ or \\0, neither of which C# would accept. What it
|
|
160
|
-
// does leave raw is U+0085/U+2028/U+2029, which C# counts as line
|
|
161
|
-
// terminators and forbids inside a quoted literal - hence csStringLiteral.
|
|
162
109
|
if (asData) {
|
|
163
110
|
Content(` // THE API MODEL, EMBEDDED AS DATA (sdkgen rung L1).
|
|
164
111
|
//
|
|
@@ -246,16 +193,6 @@ public static class SdkConfig
|
|
|
246
193
|
`)
|
|
247
194
|
}
|
|
248
195
|
|
|
249
|
-
// SHARED CONFIG (sdkgen rung L2).
|
|
250
|
-
//
|
|
251
|
-
// The SDK reads the config on every request and never writes to it, so one
|
|
252
|
-
// instance is shared by every client rather than rebuilt per client. Above
|
|
253
|
-
// the size threshold MakeConfig re-parses the whole embedded JSON, so this
|
|
254
|
-
// is the difference between parsing the model once per process and once
|
|
255
|
-
// per client.
|
|
256
|
-
//
|
|
257
|
-
// Lazy<T> defaults to ExecutionAndPublication, so concurrent first calls
|
|
258
|
-
// build it exactly once - the C# twin of go's sync.Once.
|
|
259
196
|
Content(`
|
|
260
197
|
private static readonly Lazy<Dictionary<string, object?>> SharedConfigVal =
|
|
261
198
|
new(MakeConfig);
|
|
@@ -270,22 +207,6 @@ public static class SdkConfig
|
|
|
270
207
|
}
|
|
271
208
|
`)
|
|
272
209
|
|
|
273
|
-
// ALWAYS EMITTED, even with no case at all - the same rule Config_py
|
|
274
|
-
// states for FEATURE_PLUGINS, and for the same reason. csharp's feature
|
|
275
|
-
// source is copied by Main's blanket `tm/<target>` copy whether or not
|
|
276
|
-
// the model declares the feature (only `target add` trims it, and only
|
|
277
|
-
// for a project that runs it), so SecretsFeature.cs can be present in a
|
|
278
|
-
// tree whose model has secrets switched off. Emitting this
|
|
279
|
-
// conditionally was tried and it breaks exactly there: `error CS0117:
|
|
280
|
-
// 'SdkConfig' does not contain a definition for 'FeaturePlugins'`,
|
|
281
|
-
// which takes the whole assembly down rather than leaving one unused
|
|
282
|
-
// class behind.
|
|
283
|
-
//
|
|
284
|
-
// The cost of always emitting is five inert lines and NO type
|
|
285
|
-
// reference: the return is List<object?>, so a Config.cs for a project
|
|
286
|
-
// with no plugin groups names nothing from the vendored trees and needs
|
|
287
|
-
// no `using`. The feature reads the list back and type-tests, which is
|
|
288
|
-
// go's shape too.
|
|
289
210
|
Content(`
|
|
290
211
|
public static List<object?> FeaturePlugins(string name)
|
|
291
212
|
{
|
|
@@ -9,9 +9,6 @@ const EntityOperation = cmp(function Operation(props: any) {
|
|
|
9
9
|
const { model } = props.ctx$
|
|
10
10
|
const { ff, opname, entity, entrep, cls } = props
|
|
11
11
|
|
|
12
|
-
// The op markers sit inside the class body, so the captured indent (the
|
|
13
|
-
// class-member indent, 4 spaces) is applied to the whole spliced
|
|
14
|
-
// fragment; the fragment's EJECT region is written at column 0.
|
|
15
12
|
const { indent } = props
|
|
16
13
|
|
|
17
14
|
Fragment({
|
|
@@ -1,33 +1,5 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
// Typed-model generator (C# target). Port of EntityTypes_py.ts / EntityTypes_js.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.cs,
|
|
7
|
-
// with a `public record <Name>` per active entity plus a request/match record
|
|
8
|
-
// per active op.
|
|
9
|
-
//
|
|
10
|
-
// TYPE CHOICE: reference `record` types with nullable `init` properties, NOT
|
|
11
|
-
// the wired runtime type. The generated ops take/return the loose object model
|
|
12
|
-
// (`Dictionary<string, object?>` / `object?`), so these records are NOT wired
|
|
13
|
-
// into the op signatures — they are documentation/DX reference shapes a caller
|
|
14
|
-
// may use to describe a payload before converting it to a dictionary. This
|
|
15
|
-
// mirrors the JS target's JSDoc typedefs (annotation only, no runtime effect):
|
|
16
|
-
// C# has no annotation-only type, so a `record` is the closest zero-behaviour
|
|
17
|
-
// analogue. Emitting unused records is harmless — they compile and have no
|
|
18
|
-
// runtime effect.
|
|
19
|
-
//
|
|
20
|
-
// OPTIONAL FIELDS: a `req:false` field/param becomes a nullable property
|
|
21
|
-
// (`T?`), a required one the plain type (`T`). Nullability warnings for
|
|
22
|
-
// uninitialised required reference properties (CS8618) are already suppressed
|
|
23
|
-
// by the generated csproj, so no initialisation is forced.
|
|
24
|
-
//
|
|
25
|
-
// Sentinels map to C# types via the SHARED canonToType 'csharp' column (the
|
|
26
|
-
// single source of truth per language — do not keep a local table here).
|
|
27
|
-
//
|
|
28
|
-
// Keep the SAME type-name scheme as every other language: <Name>,
|
|
29
|
-
// <Name>LoadMatch, <Name>ListMatch, <Name>CreateData, <Name>UpdateData,
|
|
30
|
-
// <Name>RemoveMatch (via the shared opTypeName helper).
|
|
31
3
|
|
|
32
4
|
import {
|
|
33
5
|
cmp, each, names,
|
|
@@ -45,7 +17,6 @@ import {
|
|
|
45
17
|
const LANG = 'csharp'
|
|
46
18
|
|
|
47
19
|
|
|
48
|
-
// C# keywords that need the `@` verbatim prefix to be legal identifiers.
|
|
49
20
|
const CS_KEYWORDS = new Set<string>([
|
|
50
21
|
'abstract', 'as', 'base', 'bool', 'break', 'byte', 'case', 'catch',
|
|
51
22
|
'char', 'checked', 'class', 'const', 'continue', 'decimal', 'default',
|
|
@@ -61,26 +32,16 @@ const CS_KEYWORDS = new Set<string>([
|
|
|
61
32
|
])
|
|
62
33
|
|
|
63
34
|
|
|
64
|
-
// A field/param name that has a safe C# property rendering (valid identifier).
|
|
65
|
-
// Names that are not valid identifiers (hyphens, leading digits) have no clean
|
|
66
|
-
// property form and are skipped — they remain reachable via the runtime dict.
|
|
67
35
|
function csIdent(name: string): boolean {
|
|
68
36
|
return /^[A-Za-z_][A-Za-z0-9_]*$/.test(name)
|
|
69
37
|
}
|
|
70
38
|
|
|
71
39
|
|
|
72
|
-
// A legal C# property identifier: keyword names get the `@` verbatim prefix.
|
|
73
40
|
function csProp(name: string): string {
|
|
74
41
|
return CS_KEYWORDS.has(name) ? '@' + name : name
|
|
75
42
|
}
|
|
76
43
|
|
|
77
44
|
|
|
78
|
-
// Emit `public record <typeName>` from {name, type, optional} items. Optional
|
|
79
|
-
// items become nullable properties (`T?`); required items the plain type. An
|
|
80
|
-
// item whose name is not a legal identifier is skipped (WITH a warning — the
|
|
81
|
-
// key stays reachable via the runtime dict, but its absence from the typed
|
|
82
|
-
// model should be visible, not silent). An empty record is a valid,
|
|
83
|
-
// zero-member shape.
|
|
84
45
|
function emitRecord(typeName: string, items: any[], log?: any): void {
|
|
85
46
|
const usable = items.filter((it: any) => it && null != it.name && csIdent(it.name))
|
|
86
47
|
|
|
@@ -107,7 +68,6 @@ function emitRecord(typeName: string, items: any[], log?: any): void {
|
|
|
107
68
|
`)
|
|
108
69
|
usable.forEach((it: any) => {
|
|
109
70
|
const base = canonToType(it.type, LANG)
|
|
110
|
-
// `object?` is already nullable; other types get a trailing `?` when optional.
|
|
111
71
|
const t = it.optional && !base.endsWith('?') ? base + '?' : base
|
|
112
72
|
Content(` public ${t} ${csProp(it.name)} { get; init; }
|
|
113
73
|
`)
|
|
@@ -123,10 +83,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
123
83
|
const target = props.target || {}
|
|
124
84
|
const ext = target.ext || 'cs'
|
|
125
85
|
|
|
126
|
-
// only_active:false — getModelPath DROPS active:false entries by default,
|
|
127
|
-
// but the consumer scaffold (create-sdkgen Root.ts) iterates the RAW entity
|
|
128
|
-
// collection, so inactive entities still get generated entity code that
|
|
129
|
-
// references these typed names. The typed model must cover them too.
|
|
130
86
|
const entity = getModelPath(model, `main.${KIT}.entity`, { only_active: false, required: false })
|
|
131
87
|
// Emit for EVERY entity that gets generated entity code: the consumer
|
|
132
88
|
// scaffold (create-sdkgen Root.ts) iterates entities WITHOUT an active
|
|
@@ -138,17 +94,14 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
138
94
|
// entity not yet named (e.g. a fieldless placeholder) would otherwise read
|
|
139
95
|
// `Name = undefined` below. Parity with the go/py emitter's fix.
|
|
140
96
|
|
|
141
|
-
// Surface duplicate generated type names (two entities with the same
|
|
142
|
-
// PascalCase Name) — they would redeclare a type in statically-typed
|
|
143
|
-
// targets. Detection only; renaming is a model-level decision.
|
|
144
97
|
warnEntityTypeCollisions(entity, log, LANG)
|
|
145
98
|
|
|
146
99
|
File({ name: model.const.Name + 'Types.' + ext }, () => {
|
|
147
100
|
|
|
148
101
|
Content(`// Typed reference models for the ${model.const.Name} SDK.
|
|
149
102
|
//
|
|
150
|
-
// GENERATED from the API model: main.${KIT}.entity.<e>.fields
|
|
151
|
-
// params (op.<name>.points[].
|
|
103
|
+
// GENERATED from the API model: main.${KIT}.entity.<e>.fields{} and per-op
|
|
104
|
+
// params (op.<name>.points[].g.params[]). Field/param types come from the
|
|
152
105
|
// canonical type sentinels (source of truth: @voxgig/apidef VALID_CANON). Do
|
|
153
106
|
// not edit by hand.
|
|
154
107
|
//
|
|
@@ -165,15 +118,12 @@ namespace ${model.const.Name}Sdk.Types;
|
|
|
165
118
|
entityList.forEach((ent: any) => {
|
|
166
119
|
const Name = ent.Name
|
|
167
120
|
const fields = (ent.fields ? each(ent.fields) : [])
|
|
168
|
-
.filter((f: any) => f.
|
|
121
|
+
.filter((f: any) => f.a !== false)
|
|
169
122
|
|
|
170
|
-
// Entity data model: one property per field, `req:false` -> nullable.
|
|
171
123
|
emitRecord(Name, fields.map((f: any) => ({
|
|
172
|
-
name: f.
|
|
124
|
+
name: f.n, type: f.t, optional: false === f.r,
|
|
173
125
|
})), log)
|
|
174
126
|
|
|
175
|
-
// Per active op: a request/match record. Members and their optionality
|
|
176
|
-
// come from the shared partiality policy (opRequestShape).
|
|
177
127
|
const ops = ent.op || {}
|
|
178
128
|
;['load', 'list', 'create', 'update', 'remove'].forEach((opname: string) => {
|
|
179
129
|
if (null == ops[opname]) {
|
|
@@ -33,7 +33,6 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
33
33
|
|
|
34
34
|
const ff = Path.normalize(__dirname + '/../../../src/cmp/csharp/fragment/')
|
|
35
35
|
|
|
36
|
-
// Entity files go to entity/ with PascalCase class-file names.
|
|
37
36
|
Folder({ name: 'entity' }, () => {
|
|
38
37
|
|
|
39
38
|
File({ name: cls + '.' + target.ext }, () => {
|
|
@@ -42,15 +42,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
42
42
|
|
|
43
43
|
Gitignore({})
|
|
44
44
|
|
|
45
|
-
// Copy tm/csharp files with replacements. `src/` holds only the
|
|
46
|
-
// per-feature extension folders (not shipped into the SDK output).
|
|
47
|
-
//
|
|
48
|
-
// pluginExcludes: the generate-time plugin trim (a DECLARED-but-INACTIVE
|
|
49
|
-
// plugin group's files are never copied). Without it every group's files
|
|
50
|
-
// ship regardless of the model, and an SDK whose chain is [dotenv, env]
|
|
51
|
-
// carries AWS request signing and seven HTTP vault clients - the whole
|
|
52
|
-
// point of the trim. Feature-level trimming happens at `target add`
|
|
53
|
-
// time; this is the per-plugin cut inside a feature that IS selected.
|
|
54
45
|
Copy({
|
|
55
46
|
from: 'tm/' + target.name,
|
|
56
47
|
exclude: [/src\//, TEST_CONTROL_EXCLUDE, ...pluginExcludes(model)],
|
|
@@ -59,21 +50,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
59
50
|
}
|
|
60
51
|
})
|
|
61
52
|
|
|
62
|
-
// GENERATED, NOT COPIED. Where the credential goes is a fact about the
|
|
63
|
-
// API, and tm/ can only hold one answer. See PrepareAuth_csharp.
|
|
64
|
-
//
|
|
65
|
-
// CALLED HERE, AT THE ROOT, and NOT inside the core/ Folder below. The
|
|
66
|
-
// template it replaces lived at `tm/csharp/utility/PrepareAuth.cs`, so
|
|
67
|
-
// the blanket Copy above put it at `<out>/utility/PrepareAuth.cs` -
|
|
68
|
-
// beside Register.cs, which wires `u.PrepareAuth = PrepareAuthUtil` from
|
|
69
|
-
// the same `partial class SdkUtility`. The component opens its own
|
|
70
|
-
// `utility` Folder; moving this call next to Config would nest it under
|
|
71
|
-
// core/ and write `core/utility/PrepareAuth.cs`, where nothing compiles
|
|
72
|
-
// it into the utility partial.
|
|
73
|
-
//
|
|
74
|
-
// The template MUST be deleted for the same reason it is generated: the
|
|
75
|
-
// Copy above and this component would otherwise both claim
|
|
76
|
-
// `utility/PrepareAuth.cs`, and jostraca refuses a duplicate output path.
|
|
77
53
|
PrepareAuth({ target })
|
|
78
54
|
|
|
79
55
|
// Generated files live in core/ beside the copied runtime.
|
|
@@ -22,12 +22,6 @@ import {
|
|
|
22
22
|
} from '@voxgig/apidef'
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
// Emits the two MSBuild project files (the C# twin of Package_go's go.mod):
|
|
26
|
-
// <Name>SDK.csproj - the library, compiling everything except test/
|
|
27
|
-
// test/<Name>SDKTest.csproj - the xunit test project (mirrors the
|
|
28
|
-
// voxgig/struct csharp two-csproj layout)
|
|
29
|
-
// PackageReference entries come from collectDeps (feature + target deps);
|
|
30
|
-
// the runtime itself is BCL-only.
|
|
31
25
|
const Package = cmp(async function Package(props: any) {
|
|
32
26
|
const ctx$ = props.ctx$
|
|
33
27
|
const target = props.target
|
|
@@ -50,20 +44,6 @@ const Package = cmp(async function Package(props: any) {
|
|
|
50
44
|
? ` <ItemGroup>\n${depRefs}\n </ItemGroup>\n`
|
|
51
45
|
: ''
|
|
52
46
|
|
|
53
|
-
// CS8619, and ONLY when the secrets feature's `aws` plugin group is
|
|
54
|
-
// selected. Upstream sekreto builds its plugin assembly with <Nullable>
|
|
55
|
-
// disabled; vendored into an SDK that enables it, plugins/Aws.cs:87
|
|
56
|
-
// reports one nullability mismatch on a tuple conversion. It is a
|
|
57
|
-
// VENDORED file, so it cannot be fixed here (a silent tweak to vendored
|
|
58
|
-
// source is exactly what the vendoring guard exists to prevent), and it
|
|
59
|
-
// is the only such warning in the whole vendored set.
|
|
60
|
-
//
|
|
61
|
-
// Gated rather than added to the standing list because the standing list
|
|
62
|
-
// is a promise about EVERY generated SDK: CS8619 catches a real class of
|
|
63
|
-
// bug in ordinary code, and switching it off for everyone to quiet one
|
|
64
|
-
// line in one vendored file would be paying for a feature that is off by
|
|
65
|
-
// default. `getModelPath` is active-filtered, so this reads as present
|
|
66
|
-
// only when the group is really on.
|
|
67
47
|
const awsPlugin = getModelPath(model,
|
|
68
48
|
`main.${KIT}.feature.secrets.plugin.aws`, { required: false })
|
|
69
49
|
const vendorNoWarn = null == awsPlugin ? '' : ';CS8619'
|