@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
|
@@ -47,8 +47,6 @@ client = ${ctor}
|
|
|
47
47
|
// Ruby keyword (e.g. `self`) would otherwise emit uncompilable code.
|
|
48
48
|
const eVar = exampleVarName(eName.toLowerCase(), 'rb')
|
|
49
49
|
const opnames = Object.keys(exampleEntity.op || {})
|
|
50
|
-
// Model-driven id key: null when the entity has no id-like field, in which
|
|
51
|
-
// case the load example takes no match argument.
|
|
52
50
|
const idF = entityIdField(exampleEntity)
|
|
53
51
|
|
|
54
52
|
let hasCall = false
|
|
@@ -62,9 +60,6 @@ puts ${eVar}s
|
|
|
62
60
|
}
|
|
63
61
|
|
|
64
62
|
if (opnames.includes('load')) {
|
|
65
|
-
// Every REQUIRED load-match key (id first, then parent path params like
|
|
66
|
-
// page_id) — the same shape the runtime resolves path params from, so
|
|
67
|
-
// the example always works.
|
|
68
63
|
const loadItems = opRequestShape(exampleEntity, 'load').items
|
|
69
64
|
.filter((it: any) => !it.optional || it.name === idF)
|
|
70
65
|
.sort((a: any, b: any) =>
|
|
@@ -8,7 +8,6 @@ import {
|
|
|
8
8
|
} from '@voxgig/apidef'
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
// A type-correct Ruby literal for a field's canonical type.
|
|
12
11
|
function rbLit(type: any): string {
|
|
13
12
|
const k = canonScalarKey(type)
|
|
14
13
|
if ('INTEGER' === k || 'NUMBER' === k) return '1'
|
|
@@ -24,8 +23,6 @@ const ReadmeTopTest = cmp(function ReadmeTopTest(props: any) {
|
|
|
24
23
|
|
|
25
24
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
26
25
|
|
|
27
|
-
// Pick an entity with a real op (prefer a read op) — never fabricate a
|
|
28
|
-
// `load` on an op-less entity like Cloudsmith's `Abort`.
|
|
29
26
|
const { entity: exampleEntity, primaryOp } = pickExampleEntity(entity)
|
|
30
27
|
|
|
31
28
|
if (exampleEntity && primaryOp) {
|
|
@@ -13,21 +13,6 @@ import {
|
|
|
13
13
|
} from '@voxgig/apidef'
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
// THE GENERATED SCHEMA MODULE: the model's schemas, as data the SDK can run.
|
|
17
|
-
//
|
|
18
|
-
// The ruby peer of src/cmp/ts/Schema_ts.ts. Same two exports, same source —
|
|
19
|
-
// OPTSPEC from `main.kit.optspec` plus each feature's own `config.options`,
|
|
20
|
-
// ENTITYSPEC from the entity field sentinels — built by the shared helpers,
|
|
21
|
-
// so what ruby validates against and what ts validates against cannot drift.
|
|
22
|
-
//
|
|
23
|
-
// EMBEDDED AS JSON, PARSED AT LOAD, the mechanism config.rb already uses for
|
|
24
|
-
// the model above the size threshold, and SINGLE-quoted for the reason
|
|
25
|
-
// recorded there: a double-quoted ruby string would interpolate any `#{` the
|
|
26
|
-
// model happens to contain.
|
|
27
|
-
//
|
|
28
|
-
// The round-trip is exact because the spec holds only strings and booleans —
|
|
29
|
-
// pinned by "strings and booleans only, so the JSON round-trip is lossless"
|
|
30
|
-
// in ts/test/optspec.test.ts.
|
|
31
16
|
const Schema = cmp(async function Schema(props: any) {
|
|
32
17
|
const ctx$ = props.ctx$
|
|
33
18
|
const target = props.target
|
|
@@ -41,7 +26,7 @@ const Schema = cmp(async function Schema(props: any) {
|
|
|
41
26
|
Content(`# ${model.const.Name} ${target.Name} SDK: generated schemas. Do not edit.
|
|
42
27
|
#
|
|
43
28
|
# Generated from the model: \`main.kit.optspec\` and each feature's
|
|
44
|
-
# \`config.options\` for OPTSPEC; entity \`fields
|
|
29
|
+
# \`config.options\` for OPTSPEC; entity \`fields{}.type\` for ENTITYSPEC.
|
|
45
30
|
|
|
46
31
|
require 'json'
|
|
47
32
|
|
|
@@ -33,10 +33,10 @@ function normalizePathParams(
|
|
|
33
33
|
// original name was renamed to another param's current name (e.g. badge
|
|
34
34
|
// load: param 'group_id' has orig 'id', and another param has name 'id').
|
|
35
35
|
const param = params.find((p: any) =>
|
|
36
|
-
p.
|
|
36
|
+
p.n === snaked || p.n === depluralized) ||
|
|
37
37
|
params.find((p: any) =>
|
|
38
|
-
p.
|
|
39
|
-
if (param) return '{' + param.
|
|
38
|
+
p.or === snaked || p.or === depluralized)
|
|
39
|
+
if (param) return '{' + param.n + '}'
|
|
40
40
|
|
|
41
41
|
if (rename) {
|
|
42
42
|
for (const [origCamel, renamedTo] of Object.entries(rename)) {
|
|
@@ -44,10 +44,10 @@ function normalizePathParams(
|
|
|
44
44
|
const origSnaked = snakify(origCamel)
|
|
45
45
|
const origDepluralized = depluralize(origSnaked)
|
|
46
46
|
const renamedParam = params.find(
|
|
47
|
-
(p: any) => p.
|
|
48
|
-
p.
|
|
47
|
+
(p: any) => p.or === origSnaked || p.n === origSnaked ||
|
|
48
|
+
p.or === origDepluralized || p.n === origDepluralized
|
|
49
49
|
)
|
|
50
|
-
if (renamedParam) return '{' + renamedParam.
|
|
50
|
+
if (renamedParam) return '{' + renamedParam.n + '}'
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
}
|
|
@@ -100,8 +100,8 @@ const TestDirect = cmp(function TestDirect(props: any) {
|
|
|
100
100
|
const listOp = entity.op?.list
|
|
101
101
|
|
|
102
102
|
const loadPoint = loadOp?.points?.[0]
|
|
103
|
-
const loadPath = loadPoint ? normalizePathParams(pointParts(loadPoint), loadPoint?.
|
|
104
|
-
const allLoadParams = loadPoint?.
|
|
103
|
+
const loadPath = loadPoint ? normalizePathParams(pointParts(loadPoint), loadPoint?.g?.params || [], loadPoint?.r?.param) : ''
|
|
104
|
+
const allLoadParams = loadPoint?.g?.params || []
|
|
105
105
|
// Some upstream OpenAPI specs declare a parameter as `in: path` even when
|
|
106
106
|
// that path has no `{name}` placeholder for it. Only path params that
|
|
107
107
|
// actually appear in the URL template should drive direct-test path-param
|
|
@@ -113,7 +113,7 @@ const TestDirect = cmp(function TestDirect(props: any) {
|
|
|
113
113
|
_pathPlaceholders.add(part.slice(1, -1))
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
|
-
const _renameMap = (loadPoint?.
|
|
116
|
+
const _renameMap = (loadPoint?.r?.param || {}) as Record<string, string>
|
|
117
117
|
const _renamedPlaceholders = new Set<string>()
|
|
118
118
|
for (const ph of _pathPlaceholders) {
|
|
119
119
|
_renamedPlaceholders.add(ph)
|
|
@@ -122,25 +122,25 @@ const TestDirect = cmp(function TestDirect(props: any) {
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
const loadParams = allLoadParams.filter((p: any) =>
|
|
125
|
-
_renamedPlaceholders.has(p.
|
|
125
|
+
_renamedPlaceholders.has(p.n) || _renamedPlaceholders.has(p.or))
|
|
126
126
|
|
|
127
127
|
const listPoint = listOp?.points?.[0]
|
|
128
|
-
const listPath = listPoint ? normalizePathParams(pointParts(listPoint), listPoint?.
|
|
129
|
-
const listParams = listPoint?.
|
|
128
|
+
const listPath = listPoint ? normalizePathParams(pointParts(listPoint), listPoint?.g?.params || [], listPoint?.r?.param) : ''
|
|
129
|
+
const listParams = listPoint?.g?.params || []
|
|
130
130
|
|
|
131
131
|
// Required query params with spec-provided examples — needed in live mode.
|
|
132
|
-
const loadQuery = loadPoint?.
|
|
132
|
+
const loadQuery = loadPoint?.g?.query || []
|
|
133
133
|
const loadLiveQueryEntries = loadQuery
|
|
134
|
-
.filter((q: any) => q.
|
|
134
|
+
.filter((q: any) => q.r && undefined !== q.ex && null !== q.ex)
|
|
135
135
|
const loadLiveQueryLines = loadLiveQueryEntries
|
|
136
|
-
.map((q: any) => ` query["${q.
|
|
136
|
+
.map((q: any) => ` query["${q.n}"] = ${JSON.stringify(q.ex)}`)
|
|
137
137
|
.join('\n')
|
|
138
138
|
|
|
139
139
|
const loadAllHaveExamples =
|
|
140
140
|
loadParams.length > 0 &&
|
|
141
|
-
loadParams.every((p: any) => undefined !== p.
|
|
141
|
+
loadParams.every((p: any) => undefined !== p.ex && null !== p.ex)
|
|
142
142
|
const loadExampleLines = loadAllHaveExamples
|
|
143
|
-
? loadParams.map((p: any) => ` params["${p.
|
|
143
|
+
? loadParams.map((p: any) => ` params["${p.n}"] = ${JSON.stringify(p.ex)}`).join('\n')
|
|
144
144
|
: ''
|
|
145
145
|
|
|
146
146
|
const entidEnvVar = `${PROJECTNAME}_TEST_${envToken(entity.name)}_ENTID`
|
|
@@ -159,9 +159,9 @@ class ${entity.Name}DirectTest < Minitest::Test
|
|
|
159
159
|
|
|
160
160
|
if (hasList && listPoint) {
|
|
161
161
|
const listLiveIdKeys: string[] = listParams.map((lp: any) => {
|
|
162
|
-
return lp.
|
|
162
|
+
return lp.n === 'id'
|
|
163
163
|
? entity.name + '01'
|
|
164
|
-
: lp.
|
|
164
|
+
: lp.n.replace(/_id$/, '') + '01'
|
|
165
165
|
})
|
|
166
166
|
const listSkipBlock = listLiveIdKeys.length > 0
|
|
167
167
|
? ` if setup[:live]
|
|
@@ -192,13 +192,13 @@ ${listSkipBlock} client = setup[:client]
|
|
|
192
192
|
Content(` params = {}
|
|
193
193
|
`)
|
|
194
194
|
for (const lp of listParams) {
|
|
195
|
-
const key = lp.
|
|
195
|
+
const key = lp.n === 'id'
|
|
196
196
|
? entity.name + '01'
|
|
197
|
-
: lp.
|
|
197
|
+
: lp.n.replace(/_id$/, '') + '01'
|
|
198
198
|
Content(` if setup[:live]
|
|
199
|
-
params["${lp.
|
|
199
|
+
params["${lp.n}"] = setup[:idmap]["${key}"]
|
|
200
200
|
else
|
|
201
|
-
params["${lp.
|
|
201
|
+
params["${lp.n}"] = "direct01"
|
|
202
202
|
end
|
|
203
203
|
`)
|
|
204
204
|
}
|
|
@@ -250,8 +250,6 @@ ${listSkipBlock} client = setup[:client]
|
|
|
250
250
|
}
|
|
251
251
|
|
|
252
252
|
if (hasLoad && loadPoint) {
|
|
253
|
-
// Skip live direct-load only when we can't fill path params:
|
|
254
|
-
// no spec examples and no list-bootstrap. Spec examples win first.
|
|
255
253
|
const loadSkipBlock = (loadParams.length > 0 && !loadAllHaveExamples)
|
|
256
254
|
? ` if setup[:live]
|
|
257
255
|
skip "live direct-load needs real ID — set *_ENTID env var with real IDs to run"
|
|
@@ -283,7 +281,7 @@ ${loadSkipBlock} client = setup[:client]
|
|
|
283
281
|
Content(` else
|
|
284
282
|
`)
|
|
285
283
|
for (let i = 0; i < loadParams.length; i++) {
|
|
286
|
-
Content(` params["${loadParams[i].
|
|
284
|
+
Content(` params["${loadParams[i].n}"] = "direct0${i + 1}"
|
|
287
285
|
`)
|
|
288
286
|
}
|
|
289
287
|
Content(` end
|
|
@@ -298,7 +296,7 @@ ${loadLiveQueryLines}
|
|
|
298
296
|
Content(` unless setup[:live]
|
|
299
297
|
`)
|
|
300
298
|
for (let i = 0; i < loadParams.length; i++) {
|
|
301
|
-
Content(` params["${loadParams[i].
|
|
299
|
+
Content(` params["${loadParams[i].n}"] = "direct0${i + 1}"
|
|
302
300
|
`)
|
|
303
301
|
}
|
|
304
302
|
Content(` end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { flowSteps } from '@voxgig/sdkgen'
|
|
1
2
|
|
|
2
3
|
import {
|
|
3
4
|
flatten,
|
|
@@ -88,10 +89,10 @@ const TestEntity = cmp(function TestEntity(props: any) {
|
|
|
88
89
|
const idnames = buildIdNames(entity, basicflow)
|
|
89
90
|
const idnamesStr = idnames.map(n => `"${n}"`).join(', ')
|
|
90
91
|
|
|
91
|
-
const allSteps = Object.values(basicflow
|
|
92
|
-
const updateStep = allSteps.find((s: any) => s.
|
|
93
|
-
const updateData = updateStep?.
|
|
94
|
-
? Object.entries(updateStep.
|
|
92
|
+
const allSteps = Object.values(flowSteps(basicflow)) as any[]
|
|
93
|
+
const updateStep = allSteps.find((s: any) => s.o === 'update')
|
|
94
|
+
const updateData = updateStep?.d
|
|
95
|
+
? Object.entries(updateStep.d).filter(([k]: any) => k !== 'id' && !k.endsWith('$'))
|
|
95
96
|
: []
|
|
96
97
|
const aliases = updateData.map(([k, v]: any) => [k, v])
|
|
97
98
|
|
|
@@ -153,7 +154,7 @@ ${hasList ? `
|
|
|
153
154
|
setup = ${entity.name}_basic_setup(nil)
|
|
154
155
|
# Per-op sdk-test-control.json skip.
|
|
155
156
|
_live = setup[:live] || false
|
|
156
|
-
[${(Array.from(new Set((allSteps as any[]).map((s: any) => s.
|
|
157
|
+
[${(Array.from(new Set((allSteps as any[]).map((s: any) => s.o).filter(Boolean)))).map(o => `"${o}"`).join(', ')}].each do |_op|
|
|
157
158
|
_should_skip, _reason = Runner.is_control_skipped("entityOp", "${entity.name}." + _op, _live ? "live" : "unit")
|
|
158
159
|
if _should_skip
|
|
159
160
|
skip(_reason || "skipped via sdk-test-control.json")
|
|
@@ -171,7 +172,7 @@ ${hasList ? `
|
|
|
171
172
|
`)
|
|
172
173
|
|
|
173
174
|
// Check if the flow has a create step
|
|
174
|
-
const flowHasCreate = allSteps.some((s: any) => s.
|
|
175
|
+
const flowHasCreate = allSteps.some((s: any) => s.o === 'create')
|
|
175
176
|
if (!flowHasCreate) {
|
|
176
177
|
Content(` # Bootstrap entity data from existing test data.
|
|
177
178
|
${entity.name}_ref01_data_raw = Vs.items(Helpers.to_map(
|
|
@@ -185,16 +186,16 @@ ${hasList ? `
|
|
|
185
186
|
}
|
|
186
187
|
|
|
187
188
|
// Model-driven step iteration
|
|
188
|
-
each(basicflow
|
|
189
|
+
each(flowSteps(basicflow), (step: any, index: any) => {
|
|
189
190
|
// Never emit a REMOVE (or its removed-item verify LIST) without a
|
|
190
191
|
// preceding CREATE: a coherent CRUD flow only removes what it created,
|
|
191
192
|
// so a create-less remove would mutate pre-existing (live) data.
|
|
192
193
|
if (!flowHasCreate) {
|
|
193
|
-
if ('remove' === step.
|
|
194
|
-
if ('list' === step.
|
|
195
|
-
(step.
|
|
194
|
+
if ('remove' === step.o) { return }
|
|
195
|
+
if ('list' === step.o &&
|
|
196
|
+
(step.v || []).some((v: any) => 'ItemNotExists' === v.apply)) { return }
|
|
196
197
|
}
|
|
197
|
-
const opgen: OpGen = GENERATE_OP[step.
|
|
198
|
+
const opgen: OpGen = GENERATE_OP[step.o]
|
|
198
199
|
if (opgen) {
|
|
199
200
|
opgen(genCtx, step, index)
|
|
200
201
|
Content('\n')
|
|
@@ -294,18 +295,18 @@ end
|
|
|
294
295
|
|
|
295
296
|
const generateCreate: OpGen = (ctx, step, index) => {
|
|
296
297
|
const { entity, flow } = ctx
|
|
297
|
-
const ref = step.
|
|
298
|
-
const entvar = step.
|
|
299
|
-
const datavar = step.
|
|
298
|
+
const ref = step.i.ref ?? entity.name + '_ref01'
|
|
299
|
+
const entvar = step.i.entvar ?? ref + '_ent'
|
|
300
|
+
const datavar = step.i.datavar ?? (ref + '_data' + (step.i.suffix ?? ''))
|
|
300
301
|
|
|
301
|
-
const priorSteps = Object.values(flow
|
|
302
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
302
303
|
const needsEnt = !priorSteps.some((s: any) =>
|
|
303
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
304
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
304
305
|
|
|
305
306
|
const hasDatvar = priorSteps.some((s: any) => {
|
|
306
|
-
if ('create' === s.
|
|
307
|
-
const priorRef = s.
|
|
308
|
-
const priorDatvar = s.
|
|
307
|
+
if ('create' === s.o) {
|
|
308
|
+
const priorRef = s.i.ref ?? entity.name + '_ref01'
|
|
309
|
+
const priorDatvar = s.i.datavar ?? (priorRef + '_data' + (s.i.suffix ?? ''))
|
|
309
310
|
return priorDatvar === datavar
|
|
310
311
|
}
|
|
311
312
|
return false
|
|
@@ -349,14 +350,14 @@ const generateCreate: OpGen = (ctx, step, index) => {
|
|
|
349
350
|
const generateList: OpGen = (ctx, step, index) => {
|
|
350
351
|
const { entity, flow } = ctx
|
|
351
352
|
const hasDataId = null != entityDataIdField(entity)
|
|
352
|
-
const ref = step.
|
|
353
|
-
const entvar = step.
|
|
354
|
-
const matchvar = step.
|
|
355
|
-
const listvar = step.
|
|
353
|
+
const ref = step.i.ref ?? entity.name + '_ref01'
|
|
354
|
+
const entvar = step.i.entvar ?? ref + '_ent'
|
|
355
|
+
const matchvar = step.i.matchvar ?? (ref + '_match' + (step.i.suffix ?? ''))
|
|
356
|
+
const listvar = step.i.listvar ?? (ref + '_list' + (step.i.suffix ?? ''))
|
|
356
357
|
|
|
357
|
-
const priorSteps = Object.values(flow
|
|
358
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
358
359
|
const needsEnt = !priorSteps.some((s: any) =>
|
|
359
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
360
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
360
361
|
|
|
361
362
|
Content(` # LIST
|
|
362
363
|
`)
|
|
@@ -386,12 +387,12 @@ const generateList: OpGen = (ctx, step, index) => {
|
|
|
386
387
|
`)
|
|
387
388
|
|
|
388
389
|
// Handle validators
|
|
389
|
-
const allSteps = Object.values(flow
|
|
390
|
-
if (step.
|
|
391
|
-
for (const validator of step.
|
|
390
|
+
const allSteps = Object.values(flowSteps(flow)) as any[]
|
|
391
|
+
if (step.v) {
|
|
392
|
+
for (const validator of step.v) {
|
|
392
393
|
const validRef = validator.def?.ref
|
|
393
|
-
const hasRefData = validRef && allSteps.some((s: any) => 'create' === s.
|
|
394
|
-
((s.
|
|
394
|
+
const hasRefData = validRef && allSteps.some((s: any) => 'create' === s.o &&
|
|
395
|
+
((s.i.ref ?? entity.name + '_ref01') === validRef))
|
|
395
396
|
|
|
396
397
|
if ('ItemExists' === validator.apply && hasRefData && hasDataId) {
|
|
397
398
|
const refDataVar = validRef + '_data'
|
|
@@ -417,16 +418,16 @@ const generateList: OpGen = (ctx, step, index) => {
|
|
|
417
418
|
|
|
418
419
|
const generateUpdate: OpGen = (ctx, step, index) => {
|
|
419
420
|
const { entity, flow } = ctx
|
|
420
|
-
const ref = step.
|
|
421
|
-
const entvar = step.
|
|
422
|
-
const datavar = step.
|
|
423
|
-
const resdatavar = step.
|
|
424
|
-
const markdefvar = step.
|
|
425
|
-
const srcdatavar = step.
|
|
426
|
-
|
|
427
|
-
const priorSteps = Object.values(flow
|
|
421
|
+
const ref = step.i.ref ?? entity.name + '_ref01'
|
|
422
|
+
const entvar = step.i.entvar ?? ref + '_ent'
|
|
423
|
+
const datavar = step.i.datavar ?? (ref + '_data' + (step.i.suffix ?? ''))
|
|
424
|
+
const resdatavar = step.i.resdatavar ?? (ref + '_resdata' + (step.i.suffix ?? ''))
|
|
425
|
+
const markdefvar = step.i.markdefvar ?? (ref + '_markdef' + (step.i.suffix ?? ''))
|
|
426
|
+
const srcdatavar = step.i.srcdatavar ?? (ref + '_data' + (step.i.suffix ?? ''))
|
|
427
|
+
|
|
428
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
428
429
|
const needsEnt = !priorSteps.some((s: any) =>
|
|
429
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
430
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
430
431
|
|
|
431
432
|
const hasEntIdU = null != entity.id
|
|
432
433
|
|
|
@@ -443,8 +444,8 @@ const generateUpdate: OpGen = (ctx, step, index) => {
|
|
|
443
444
|
`)
|
|
444
445
|
}
|
|
445
446
|
|
|
446
|
-
if (step.
|
|
447
|
-
const dataEntries = Object.entries(step.
|
|
447
|
+
if (step.d) {
|
|
448
|
+
const dataEntries = Object.entries(step.d).filter(([k]: any) => k !== 'id' && !k.endsWith('$'))
|
|
448
449
|
for (const [key] of dataEntries) {
|
|
449
450
|
Content(` "${key}" => setup[:idmap]["${key}"],
|
|
450
451
|
`)
|
|
@@ -454,10 +455,10 @@ const generateUpdate: OpGen = (ctx, step, index) => {
|
|
|
454
455
|
Content(` }
|
|
455
456
|
`)
|
|
456
457
|
|
|
457
|
-
if (step.
|
|
458
|
-
for (const spec of step.
|
|
459
|
-
if ('TextFieldMark' === spec.apply && null != step.
|
|
460
|
-
const fieldname = step.
|
|
458
|
+
if (step.s) {
|
|
459
|
+
for (const spec of step.s) {
|
|
460
|
+
if ('TextFieldMark' === spec.apply && null != step.i.textfield) {
|
|
461
|
+
const fieldname = step.i.textfield
|
|
461
462
|
const fieldvalue = spec.def?.mark ?? `Mark01-${ref}`
|
|
462
463
|
Content(`
|
|
463
464
|
${markdefvar}_name = "${fieldname}"
|
|
@@ -478,9 +479,9 @@ const generateUpdate: OpGen = (ctx, step, index) => {
|
|
|
478
479
|
`)
|
|
479
480
|
}
|
|
480
481
|
|
|
481
|
-
if (step.
|
|
482
|
-
for (const spec of step.
|
|
483
|
-
if ('TextFieldMark' === spec.apply && null != step.
|
|
482
|
+
if (step.s) {
|
|
483
|
+
for (const spec of step.s) {
|
|
484
|
+
if ('TextFieldMark' === spec.apply && null != step.i.textfield) {
|
|
484
485
|
Content(` assert_equal ${resdatavar}[${markdefvar}_name], ${markdefvar}_value
|
|
485
486
|
`)
|
|
486
487
|
}
|
|
@@ -491,23 +492,23 @@ const generateUpdate: OpGen = (ctx, step, index) => {
|
|
|
491
492
|
|
|
492
493
|
const generateLoad: OpGen = (ctx, step, index) => {
|
|
493
494
|
const { entity, flow } = ctx
|
|
494
|
-
const ref = step.
|
|
495
|
-
const entvar = step.
|
|
496
|
-
const matchvar = step.
|
|
497
|
-
const datavar = step.
|
|
498
|
-
const srcdatavar = step.
|
|
495
|
+
const ref = step.i.ref ?? entity.name + '_ref01'
|
|
496
|
+
const entvar = step.i.entvar ?? ref + '_ent'
|
|
497
|
+
const matchvar = step.i.matchvar ?? (ref + '_match' + (step.i.suffix ?? ''))
|
|
498
|
+
const datavar = step.i.datavar ?? (ref + '_data' + (step.i.suffix ?? ''))
|
|
499
|
+
const srcdatavar = step.i.srcdatavar ?? (ref + '_data' + (step.i.suffix ?? ''))
|
|
499
500
|
|
|
500
|
-
const priorSteps = Object.values(flow
|
|
501
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
501
502
|
const hasEntVar = priorSteps.some((s: any) =>
|
|
502
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
503
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
503
504
|
|
|
504
|
-
const flowHasCreate = Object.values(flow
|
|
505
|
+
const flowHasCreate = Object.values(flowSteps(flow)).some((s: any) => (s as any).o === 'create')
|
|
505
506
|
const preambleRef = entity.name + '_ref01'
|
|
506
507
|
const hasSrcData = (!flowHasCreate && srcdatavar === (preambleRef + '_data')) ||
|
|
507
508
|
priorSteps.some((s: any) => {
|
|
508
|
-
if ('create' === s.
|
|
509
|
-
const priorRef = s.
|
|
510
|
-
const priorDatvar = s.
|
|
509
|
+
if ('create' === s.o) {
|
|
510
|
+
const priorRef = s.i.ref ?? entity.name + '_ref01'
|
|
511
|
+
const priorDatvar = s.i.datavar ?? (priorRef + '_data' + (s.i.suffix ?? ''))
|
|
511
512
|
return priorDatvar === srcdatavar
|
|
512
513
|
}
|
|
513
514
|
return false
|
|
@@ -554,14 +555,14 @@ const generateRemove: OpGen = (ctx, step, index) => {
|
|
|
554
555
|
if (null == entityDataIdField(entity)) {
|
|
555
556
|
return
|
|
556
557
|
}
|
|
557
|
-
const ref = step.
|
|
558
|
-
const entvar = step.
|
|
559
|
-
const matchvar = step.
|
|
560
|
-
const srcdatavar = step.
|
|
558
|
+
const ref = step.i.ref ?? entity.name + '_ref01'
|
|
559
|
+
const entvar = step.i.entvar ?? ref + '_ent'
|
|
560
|
+
const matchvar = step.i.matchvar ?? (ref + '_match' + (step.i.suffix ?? ''))
|
|
561
|
+
const srcdatavar = step.i.srcdatavar ?? (ref + '_data')
|
|
561
562
|
|
|
562
|
-
const priorSteps = Object.values(flow
|
|
563
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
563
564
|
const needsEnt = !priorSteps.some((s: any) =>
|
|
564
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
565
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
565
566
|
|
|
566
567
|
Content(` # REMOVE
|
|
567
568
|
`)
|
|
@@ -68,28 +68,6 @@ function formatRubyValue(val: any, indent: number = 0): string {
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
|
|
71
|
-
// Emission-time normalisation of a model subtree (L0).
|
|
72
|
-
//
|
|
73
|
-
// Always drops jostraca's iteration metadata (`$`-suffixed keys: index$,
|
|
74
|
-
// key$, val$). With `dropDefaults`, also drops keys whose value IS the
|
|
75
|
-
// default the runtime already assumes when the key is absent, which is pure
|
|
76
|
-
// payload — see CONFIG_DEFAULT.
|
|
77
|
-
//
|
|
78
|
-
// Rebuilds the tree rather than mutating during a walk. The previous
|
|
79
|
-
// implementation walked a clone calling `delete p[k]`, but walk() assigns its
|
|
80
|
-
// callback's result back over the child (`setprop(out, ckey, walk(...))`), so
|
|
81
|
-
// the delete was undone on the way out and the helper silently did nothing.
|
|
82
|
-
// Returning `undefined` from the callback does not fix it either: setprop
|
|
83
|
-
// stores undefined rather than removing the key, which then emits as a null.
|
|
84
|
-
//
|
|
85
|
-
// `dropDefaults` is opt-in and must be passed ONLY for the entity subtree.
|
|
86
|
-
// `active` means something different in feature config, where absent reads as
|
|
87
|
-
// INACTIVE (see feature_init) — dropping `active: true` there would silently
|
|
88
|
-
// disable the feature.
|
|
89
|
-
// jostraca's iteration metadata, injected by each()/names() while it walks the
|
|
90
|
-
// model. Listed explicitly rather than matched by trailing-dollar suffix: a
|
|
91
|
-
// trailing dollar is not exclusive to jostraca -- Seneca uses entity$ as real
|
|
92
|
-
// data -- so a blanket suffix match can silently drop a legitimate API field.
|
|
93
71
|
const MODEL_META = ['index$', 'key$', 'val$']
|
|
94
72
|
|
|
95
73
|
// Keys whose value IS the default the runtime already assumes when the key is
|
|
@@ -52,34 +52,8 @@ const Config = cmp(async function Config(props: any) {
|
|
|
52
52
|
let baseUrl = ''
|
|
53
53
|
try { baseUrl = getModelPath(model, `main.${KIT}.info.servers.0.url`) } catch (_e) { }
|
|
54
54
|
|
|
55
|
-
// The canonical config OBJECT and its JSON, from the shared helper. Both
|
|
56
|
-
// representations render from the same `def`, so they cannot describe
|
|
57
|
-
// different configs - and this target picks up `options.server` (the
|
|
58
|
-
// OpenAPI server-variable defaults), which the hand-rolled build here
|
|
59
|
-
// omitted entirely. Passing target.name opts into the main
|
|
60
|
-
// slug/version/target identity fields (station descriptor input, mirrors
|
|
61
|
-
// Config_ts) - both reps below render from this same def, so the data
|
|
62
|
-
// and literal branches pick the fields up together.
|
|
63
55
|
const { def: config, json: baseJson } = configDefinition(model, target.name)
|
|
64
56
|
|
|
65
|
-
// `in` and `name` TRAVEL WITH THE PREFIX NOW.
|
|
66
|
-
//
|
|
67
|
-
// apidef resolved both from the spec's securityScheme all along and this
|
|
68
|
-
// generator dropped them, so an apiKey-in-query API got an `authorization`
|
|
69
|
-
// header it does not read (see PrepareAuth_rust). The generated
|
|
70
|
-
// prepare_auth is built from the same two values, and the config carries
|
|
71
|
-
// them so the placement is a visible, overridable runtime option beside
|
|
72
|
-
// auth.prefix - which is also what keeps the SDK from rejecting its own
|
|
73
|
-
// config: the auth optspec in tm/rust/utility/make_options.rs is a CLOSED
|
|
74
|
-
// map, and an undeclared key there fails validate with "Unexpected keys at
|
|
75
|
-
// field auth".
|
|
76
|
-
//
|
|
77
|
-
// Emitted ONLY when they differ from header/Authorization, so a
|
|
78
|
-
// header-based SDK's config.rs is byte-identical to what it generated
|
|
79
|
-
// before. Both representations are patched through the one object, so the
|
|
80
|
-
// literal (formatRustValue) and the data rep (rustRawString) cannot
|
|
81
|
-
// disagree - the json is re-derived from the def, exactly as
|
|
82
|
-
// configDefinition derives it.
|
|
83
57
|
const authIn = resolveAuthIn(model)
|
|
84
58
|
const authName = resolveAuthName(model)
|
|
85
59
|
let configJson = baseJson
|
|
@@ -103,15 +77,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
103
77
|
|
|
104
78
|
File({ name: 'config.' + target.ext }, () => {
|
|
105
79
|
|
|
106
|
-
// ABOVE THE THRESHOLD: emit the model as DATA.
|
|
107
|
-
//
|
|
108
|
-
// The literal is one deeply nested expression. rustc type-checks and
|
|
109
|
-
// monomorphises it as a single item, so compile time and memory grow with
|
|
110
|
-
// the whole model at once; a string constant is one token, and json_parse
|
|
111
|
-
// builds the same Value tree at runtime.
|
|
112
|
-
//
|
|
113
|
-
// No number-type question here, unlike Go: `Value::Num` is f64 in both
|
|
114
|
-
// representations, so there is nothing for the two paths to disagree about.
|
|
115
80
|
if (asData) {
|
|
116
81
|
Content(`// Generated API configuration (mirrors go core/config.go).
|
|
117
82
|
|
|
@@ -1,28 +1,5 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
// Typed-model generator (Rust target). Port of EntityTypes_go.ts.
|
|
4
|
-
//
|
|
5
|
-
// Reads main.<KIT>.entity.<e>.fields[] and per-op params
|
|
6
|
-
// (op.<name>.points[].args.params[]) and emits one file, entity/types.rs, with
|
|
7
|
-
// a rust `struct <Name> { ... }` per entity plus a request/match struct per
|
|
8
|
-
// active op. Field/param sentinels ($STRING, $INTEGER, ...) map to rust types
|
|
9
|
-
// via the SHARED canonToType 'rust' column (the single source of truth per
|
|
10
|
-
// language — do not keep a local table here). Note OBJECT renders as
|
|
11
|
-
// std::collections::HashMap<String, Value> (fully qualified, no import
|
|
12
|
-
// needed).
|
|
13
|
-
//
|
|
14
|
-
// DESIGN NOTE (rust specifics vs the go reference):
|
|
15
|
-
// * The rust runtime is fully DYNAMIC: every op takes and returns the
|
|
16
|
-
// vendored `Value` enum (Result<Value, ...Error>), and the op fragments
|
|
17
|
-
// emit no typed wrappers. Go additionally emits `LoadTyped`/`ListTyped`
|
|
18
|
-
// wrappers plus json round-trip helpers; rust has no serde/json-derive
|
|
19
|
-
// dependency (only `ureq`), so these typed models are DOCUMENTARY: they
|
|
20
|
-
// mirror the entity/op shapes for reference and IDE support, but are not
|
|
21
|
-
// wired into the runtime. They compile as part of the crate (declared in
|
|
22
|
-
// entity/mod.rs) so they stay in sync with the model.
|
|
23
|
-
// * Optional (req:false) member -> `Option<T>`.
|
|
24
|
-
// * The module carries broad `#![allow(...)]` since nothing consumes the
|
|
25
|
-
// types yet (parity intent, not dead-code churn).
|
|
26
3
|
|
|
27
4
|
import {
|
|
28
5
|
cmp, each,
|
|
@@ -52,8 +29,6 @@ function fieldLine(name: string, sentinel: any, optional: boolean): string {
|
|
|
52
29
|
}
|
|
53
30
|
|
|
54
31
|
|
|
55
|
-
// Emit a struct named `typeName` from {name, type, optional} items, dropping
|
|
56
|
-
// duplicate rust identifiers (two model names can collapse to one ident).
|
|
57
32
|
function emitStruct(comment: string, typeName: string, items: any[]): void {
|
|
58
33
|
Content(`${comment}
|
|
59
34
|
#[derive(Debug, Clone)]
|
|
@@ -82,14 +57,8 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
82
57
|
// collection, so inactive entities still get generated entity code that
|
|
83
58
|
// references these typed names. The typed model must cover them too.
|
|
84
59
|
const entity = getModelPath(model, `main.${KIT}.entity`, { only_active: false, required: false })
|
|
85
|
-
// Emit for every entity that gets an entity file (filter on `name`, always
|
|
86
|
-
// present; derive `Name` here so the struct set is deterministic — parity
|
|
87
|
-
// with the go emitter's fix).
|
|
88
60
|
const entityList = deriveEntityNames(entity)
|
|
89
61
|
|
|
90
|
-
// Surface duplicate generated type names (two entities with the same
|
|
91
|
-
// PascalCase Name) — they would redeclare a type in statically-typed
|
|
92
|
-
// targets. Detection only; renaming is a model-level decision.
|
|
93
62
|
warnEntityTypeCollisions(entity, log, LANG)
|
|
94
63
|
|
|
95
64
|
Folder({ name: 'entity' }, () => {
|
|
@@ -98,8 +67,8 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
98
67
|
|
|
99
68
|
Content(`// Typed models for the ${model.const.Name} SDK.
|
|
100
69
|
//
|
|
101
|
-
// GENERATED from the API model: main.${KIT}.entity.<e>.fields
|
|
102
|
-
// params (op.<name>.points[].
|
|
70
|
+
// GENERATED from the API model: main.${KIT}.entity.<e>.fields{} and per-op
|
|
71
|
+
// params (op.<name>.points[].g.params[]). Field/param types are mapped
|
|
103
72
|
// from the canonical type sentinels. Do not edit by hand.
|
|
104
73
|
//
|
|
105
74
|
// These are DOCUMENTARY: the SDK runtime is dynamic (ops take/return the
|
|
@@ -114,17 +83,14 @@ use crate::utility::voxgigstruct::Value;
|
|
|
114
83
|
entityList.forEach((ent: any) => {
|
|
115
84
|
const Name = ent.Name
|
|
116
85
|
const fields = (ent.fields ? each(ent.fields) : [])
|
|
117
|
-
.filter((f: any) => f.
|
|
86
|
+
.filter((f: any) => f.a !== false)
|
|
118
87
|
|
|
119
|
-
// Entity data model: one field per model field. req:false -> Option.
|
|
120
88
|
emitStruct(
|
|
121
89
|
`/// ${Name} is the typed data model for the ${ent.name} entity.`,
|
|
122
90
|
Name,
|
|
123
|
-
fields.map((f: any) => ({ name: f.
|
|
91
|
+
fields.map((f: any) => ({ name: f.n, type: f.t, optional: false === f.r }))
|
|
124
92
|
)
|
|
125
93
|
|
|
126
|
-
// Per active op: a request/match struct. Members and their optionality
|
|
127
|
-
// come from the shared partiality policy (opRequestShape).
|
|
128
94
|
const ops = ent.op || {}
|
|
129
95
|
;['load', 'list', 'create', 'update', 'remove'].forEach((opname: string) => {
|
|
130
96
|
if (null == ops[opname]) {
|
|
@@ -32,19 +32,12 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
32
32
|
|
|
33
33
|
const ff = Path.normalize(__dirname + '/../../../src/cmp/rust/fragment/')
|
|
34
34
|
|
|
35
|
-
// Entity files go to entity/ as one module per entity.
|
|
36
35
|
Folder({ name: 'entity' }, () => {
|
|
37
36
|
|
|
38
37
|
File({ name: rustVarName(entity.name) + '.' + target.ext }, () => {
|
|
39
38
|
|
|
40
39
|
const opnames = Object.keys(entity.op || {})
|
|
41
40
|
|
|
42
|
-
// For each CRUD op: if the spec defines it, splice in the real
|
|
43
|
-
// implementation. Otherwise emit a stub that satisfies the static
|
|
44
|
-
// ProjectNameEntity trait (so the crate compiles) but errors at
|
|
45
|
-
// runtime if the caller invokes an unsupported op.
|
|
46
|
-
// Tag-form keys (`#LoadOp`) match the marker line `// #LoadOp` and
|
|
47
|
-
// capture its indent, so the spliced method nests inside the impl.
|
|
48
41
|
const opfrags =
|
|
49
42
|
(['load', 'list', 'create', 'update', 'remove']
|
|
50
43
|
.reduce((a: any, opname: string) =>
|
|
@@ -74,8 +67,6 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
74
67
|
EntityName: entity.Name,
|
|
75
68
|
entityname: entity.name,
|
|
76
69
|
|
|
77
|
-
// Class/constructor tokens are decoupled from the EntityName
|
|
78
|
-
// data-type token so the class can be renamed independently.
|
|
79
70
|
EntyClass: cls,
|
|
80
71
|
|
|
81
72
|
// Matches every `// #<Stage>-Hook` marker in the fragment (all of
|