@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
|
flatten,
|
|
@@ -33,9 +34,6 @@ import {
|
|
|
33
34
|
import { formatPhpValue } from './utility_php'
|
|
34
35
|
|
|
35
36
|
|
|
36
|
-
// PHP's GenCtx mirrors the shared shape (see TestEntity_ts.ts) plus an
|
|
37
|
-
// `accessor` slot used to mangle the entity factory name when it collides
|
|
38
|
-
// with PHP's case-insensitive `test()` static constructor.
|
|
39
37
|
type GenCtx = {
|
|
40
38
|
model: Model
|
|
41
39
|
entity: ModelEntity
|
|
@@ -66,12 +64,6 @@ const TestEntity = cmp(function TestEntity(props: any) {
|
|
|
66
64
|
return
|
|
67
65
|
}
|
|
68
66
|
|
|
69
|
-
// The accessor may be mangled to avoid colliding with an SDK class member.
|
|
70
|
-
// This used to carry its own copy of the rule, which only knew about `test`
|
|
71
|
-
// — so an entity named `graph_ql` emitted `$client->GraphQl(null)` here,
|
|
72
|
-
// which PHP resolves (case-insensitively) to the SDK's own
|
|
73
|
-
// `graphql(string $query)` and fails with "Argument #1 must be of type
|
|
74
|
-
// string, null given". One helper, one answer.
|
|
75
67
|
const entName = nom(entity, 'Name')
|
|
76
68
|
const accessor = phpEntityAccessor(entName)
|
|
77
69
|
|
|
@@ -101,10 +93,10 @@ const TestEntity = cmp(function TestEntity(props: any) {
|
|
|
101
93
|
const idnames = buildIdNames(entity, basicflow)
|
|
102
94
|
const idnamesStr = idnames.map(n => `"${n}"`).join(', ')
|
|
103
95
|
|
|
104
|
-
const allSteps = Object.values(basicflow
|
|
105
|
-
const updateStep = allSteps.find((s: any) => s.
|
|
106
|
-
const updateData = updateStep?.
|
|
107
|
-
? Object.entries(updateStep.
|
|
96
|
+
const allSteps = Object.values(flowSteps(basicflow)) as any[]
|
|
97
|
+
const updateStep = allSteps.find((s: any) => s.o === 'update')
|
|
98
|
+
const updateData = updateStep?.d
|
|
99
|
+
? Object.entries(updateStep.d).filter(([k]: any) => k !== 'id' && !k.endsWith('$'))
|
|
108
100
|
: []
|
|
109
101
|
const aliases = updateData.map(([k, v]: any) => [k, v])
|
|
110
102
|
|
|
@@ -176,7 +168,7 @@ ${hasList ? `
|
|
|
176
168
|
$setup = ${entity.name}_basic_setup(null);
|
|
177
169
|
// Per-op sdk-test-control.json skip.
|
|
178
170
|
$_live = !empty($setup["live"]);
|
|
179
|
-
foreach ([${(Array.from(new Set((allSteps as any[]).map((s: any) => s.
|
|
171
|
+
foreach ([${(Array.from(new Set((allSteps as any[]).map((s: any) => s.o).filter(Boolean)))).map(o => `"${o}"`).join(', ')}] as $_op) {
|
|
180
172
|
[$_shouldSkip, $_reason] = Runner::is_control_skipped("entityOp", "${entity.name}." . $_op, $_live ? "live" : "unit");
|
|
181
173
|
if ($_shouldSkip) {
|
|
182
174
|
$this->markTestSkipped($_reason ?? "skipped via sdk-test-control.json");
|
|
@@ -194,7 +186,7 @@ ${hasList ? `
|
|
|
194
186
|
`)
|
|
195
187
|
|
|
196
188
|
// Check if the flow has a create step
|
|
197
|
-
const flowHasCreate = allSteps.some((s: any) => s.
|
|
189
|
+
const flowHasCreate = allSteps.some((s: any) => s.o === 'create')
|
|
198
190
|
if (!flowHasCreate) {
|
|
199
191
|
Content(` // Bootstrap entity data from existing test data.
|
|
200
192
|
$${entity.name}_ref01_data_raw = Vs::items(Helpers::to_map(
|
|
@@ -208,16 +200,16 @@ ${hasList ? `
|
|
|
208
200
|
}
|
|
209
201
|
|
|
210
202
|
// Model-driven step iteration
|
|
211
|
-
each(basicflow
|
|
203
|
+
each(flowSteps(basicflow), (step: any, index: any) => {
|
|
212
204
|
// Never emit a REMOVE (or its removed-item verify LIST) without a
|
|
213
205
|
// preceding CREATE: a coherent CRUD flow only removes what it created,
|
|
214
206
|
// so a create-less remove would mutate pre-existing (live) data.
|
|
215
207
|
if (!flowHasCreate) {
|
|
216
|
-
if ('remove' === step.
|
|
217
|
-
if ('list' === step.
|
|
218
|
-
(step.
|
|
208
|
+
if ('remove' === step.o) { return }
|
|
209
|
+
if ('list' === step.o &&
|
|
210
|
+
(step.v || []).some((v: any) => 'ItemNotExists' === v.apply)) { return }
|
|
219
211
|
}
|
|
220
|
-
const opgen: OpGen = GENERATE_OP[step.
|
|
212
|
+
const opgen: OpGen = GENERATE_OP[step.o]
|
|
221
213
|
if (opgen) {
|
|
222
214
|
opgen(genCtx, step, index)
|
|
223
215
|
Content('\n')
|
|
@@ -325,18 +317,18 @@ ${hasList ? `
|
|
|
325
317
|
|
|
326
318
|
const generateCreate: OpGen = (ctx, step, index) => {
|
|
327
319
|
const { entity, flow, accessor } = ctx
|
|
328
|
-
const ref = step.
|
|
329
|
-
const entvar = step.
|
|
330
|
-
const datavar = step.
|
|
320
|
+
const ref = step.i.ref ?? entity.name + '_ref01'
|
|
321
|
+
const entvar = step.i.entvar ?? ref + '_ent'
|
|
322
|
+
const datavar = step.i.datavar ?? (ref + '_data' + (step.i.suffix ?? ''))
|
|
331
323
|
|
|
332
|
-
const priorSteps = Object.values(flow
|
|
324
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
333
325
|
const needsEnt = !priorSteps.some((s: any) =>
|
|
334
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
326
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
335
327
|
|
|
336
328
|
const hasDatvar = priorSteps.some((s: any) => {
|
|
337
|
-
if ('create' === s.
|
|
338
|
-
const priorRef = s.
|
|
339
|
-
const priorDatvar = s.
|
|
329
|
+
if ('create' === s.o) {
|
|
330
|
+
const priorRef = s.i.ref ?? entity.name + '_ref01'
|
|
331
|
+
const priorDatvar = s.i.datavar ?? (priorRef + '_data' + (s.i.suffix ?? ''))
|
|
340
332
|
return priorDatvar === datavar
|
|
341
333
|
}
|
|
342
334
|
return false
|
|
@@ -380,14 +372,14 @@ const generateCreate: OpGen = (ctx, step, index) => {
|
|
|
380
372
|
const generateList: OpGen = (ctx, step, index) => {
|
|
381
373
|
const { entity, flow, accessor } = ctx
|
|
382
374
|
const hasDataId = null != entityDataIdField(entity)
|
|
383
|
-
const ref = step.
|
|
384
|
-
const entvar = step.
|
|
385
|
-
const matchvar = step.
|
|
386
|
-
const listvar = step.
|
|
375
|
+
const ref = step.i.ref ?? entity.name + '_ref01'
|
|
376
|
+
const entvar = step.i.entvar ?? ref + '_ent'
|
|
377
|
+
const matchvar = step.i.matchvar ?? (ref + '_match' + (step.i.suffix ?? ''))
|
|
378
|
+
const listvar = step.i.listvar ?? (ref + '_list' + (step.i.suffix ?? ''))
|
|
387
379
|
|
|
388
|
-
const priorSteps = Object.values(flow
|
|
380
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
389
381
|
const needsEnt = !priorSteps.some((s: any) =>
|
|
390
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
382
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
391
383
|
|
|
392
384
|
Content(` // LIST
|
|
393
385
|
`)
|
|
@@ -417,12 +409,12 @@ const generateList: OpGen = (ctx, step, index) => {
|
|
|
417
409
|
`)
|
|
418
410
|
|
|
419
411
|
// Handle validators
|
|
420
|
-
const allSteps = Object.values(flow
|
|
421
|
-
if (step.
|
|
422
|
-
for (const validator of step.
|
|
412
|
+
const allSteps = Object.values(flowSteps(flow)) as any[]
|
|
413
|
+
if (step.v) {
|
|
414
|
+
for (const validator of step.v) {
|
|
423
415
|
const validRef = validator.def?.ref
|
|
424
|
-
const hasRefData = validRef && allSteps.some((s: any) => 'create' === s.
|
|
425
|
-
((s.
|
|
416
|
+
const hasRefData = validRef && allSteps.some((s: any) => 'create' === s.o &&
|
|
417
|
+
((s.i.ref ?? entity.name + '_ref01') === validRef))
|
|
426
418
|
|
|
427
419
|
if ('ItemExists' === validator.apply && hasRefData && hasDataId) {
|
|
428
420
|
const refDataVar = validRef + '_data'
|
|
@@ -448,16 +440,16 @@ const generateList: OpGen = (ctx, step, index) => {
|
|
|
448
440
|
|
|
449
441
|
const generateUpdate: OpGen = (ctx, step, index) => {
|
|
450
442
|
const { entity, flow, accessor } = ctx
|
|
451
|
-
const ref = step.
|
|
452
|
-
const entvar = step.
|
|
453
|
-
const datavar = step.
|
|
454
|
-
const resdatavar = step.
|
|
455
|
-
const markdefvar = step.
|
|
456
|
-
const srcdatavar = step.
|
|
457
|
-
|
|
458
|
-
const priorSteps = Object.values(flow
|
|
443
|
+
const ref = step.i.ref ?? entity.name + '_ref01'
|
|
444
|
+
const entvar = step.i.entvar ?? ref + '_ent'
|
|
445
|
+
const datavar = step.i.datavar ?? (ref + '_data' + (step.i.suffix ?? ''))
|
|
446
|
+
const resdatavar = step.i.resdatavar ?? (ref + '_resdata' + (step.i.suffix ?? ''))
|
|
447
|
+
const markdefvar = step.i.markdefvar ?? (ref + '_markdef' + (step.i.suffix ?? ''))
|
|
448
|
+
const srcdatavar = step.i.srcdatavar ?? (ref + '_data' + (step.i.suffix ?? ''))
|
|
449
|
+
|
|
450
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
459
451
|
const needsEnt = !priorSteps.some((s: any) =>
|
|
460
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
452
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
461
453
|
|
|
462
454
|
const hasEntIdU = null != entity.id
|
|
463
455
|
|
|
@@ -474,8 +466,8 @@ const generateUpdate: OpGen = (ctx, step, index) => {
|
|
|
474
466
|
`)
|
|
475
467
|
}
|
|
476
468
|
|
|
477
|
-
if (step.
|
|
478
|
-
const dataEntries = Object.entries(step.
|
|
469
|
+
if (step.d) {
|
|
470
|
+
const dataEntries = Object.entries(step.d).filter(([k]: any) => k !== 'id' && !k.endsWith('$'))
|
|
479
471
|
for (const [key] of dataEntries) {
|
|
480
472
|
Content(` "${key}" => $setup["idmap"]["${key}"],
|
|
481
473
|
`)
|
|
@@ -485,10 +477,10 @@ const generateUpdate: OpGen = (ctx, step, index) => {
|
|
|
485
477
|
Content(` ];
|
|
486
478
|
`)
|
|
487
479
|
|
|
488
|
-
if (step.
|
|
489
|
-
for (const spec of step.
|
|
490
|
-
if ('TextFieldMark' === spec.apply && null != step.
|
|
491
|
-
const fieldname = step.
|
|
480
|
+
if (step.s) {
|
|
481
|
+
for (const spec of step.s) {
|
|
482
|
+
if ('TextFieldMark' === spec.apply && null != step.i.textfield) {
|
|
483
|
+
const fieldname = step.i.textfield
|
|
492
484
|
const fieldvalue = spec.def?.mark ?? `Mark01-${ref}`
|
|
493
485
|
Content(`
|
|
494
486
|
$${markdefvar}_name = "${fieldname}";
|
|
@@ -509,9 +501,9 @@ const generateUpdate: OpGen = (ctx, step, index) => {
|
|
|
509
501
|
`)
|
|
510
502
|
}
|
|
511
503
|
|
|
512
|
-
if (step.
|
|
513
|
-
for (const spec of step.
|
|
514
|
-
if ('TextFieldMark' === spec.apply && null != step.
|
|
504
|
+
if (step.s) {
|
|
505
|
+
for (const spec of step.s) {
|
|
506
|
+
if ('TextFieldMark' === spec.apply && null != step.i.textfield) {
|
|
515
507
|
Content(` $this->assertEquals($${resdatavar}[$${markdefvar}_name], $${markdefvar}_value);
|
|
516
508
|
`)
|
|
517
509
|
}
|
|
@@ -522,23 +514,23 @@ const generateUpdate: OpGen = (ctx, step, index) => {
|
|
|
522
514
|
|
|
523
515
|
const generateLoad: OpGen = (ctx, step, index) => {
|
|
524
516
|
const { entity, flow, accessor } = ctx
|
|
525
|
-
const ref = step.
|
|
526
|
-
const entvar = step.
|
|
527
|
-
const matchvar = step.
|
|
528
|
-
const datavar = step.
|
|
529
|
-
const srcdatavar = step.
|
|
517
|
+
const ref = step.i.ref ?? entity.name + '_ref01'
|
|
518
|
+
const entvar = step.i.entvar ?? ref + '_ent'
|
|
519
|
+
const matchvar = step.i.matchvar ?? (ref + '_match' + (step.i.suffix ?? ''))
|
|
520
|
+
const datavar = step.i.datavar ?? (ref + '_data' + (step.i.suffix ?? ''))
|
|
521
|
+
const srcdatavar = step.i.srcdatavar ?? (ref + '_data' + (step.i.suffix ?? ''))
|
|
530
522
|
|
|
531
|
-
const priorSteps = Object.values(flow
|
|
523
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
532
524
|
const hasEntVar = priorSteps.some((s: any) =>
|
|
533
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
525
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
534
526
|
|
|
535
|
-
const flowHasCreate = Object.values(flow
|
|
527
|
+
const flowHasCreate = Object.values(flowSteps(flow)).some((s: any) => (s as any).o === 'create')
|
|
536
528
|
const preambleRef = entity.name + '_ref01'
|
|
537
529
|
const hasSrcData = (!flowHasCreate && srcdatavar === (preambleRef + '_data')) ||
|
|
538
530
|
priorSteps.some((s: any) => {
|
|
539
|
-
if ('create' === s.
|
|
540
|
-
const priorRef = s.
|
|
541
|
-
const priorDatvar = s.
|
|
531
|
+
if ('create' === s.o) {
|
|
532
|
+
const priorRef = s.i.ref ?? entity.name + '_ref01'
|
|
533
|
+
const priorDatvar = s.i.datavar ?? (priorRef + '_data' + (s.i.suffix ?? ''))
|
|
542
534
|
return priorDatvar === srcdatavar
|
|
543
535
|
}
|
|
544
536
|
return false
|
|
@@ -585,14 +577,14 @@ const generateRemove: OpGen = (ctx, step, index) => {
|
|
|
585
577
|
if (null == entityDataIdField(entity)) {
|
|
586
578
|
return
|
|
587
579
|
}
|
|
588
|
-
const ref = step.
|
|
589
|
-
const entvar = step.
|
|
590
|
-
const matchvar = step.
|
|
591
|
-
const srcdatavar = step.
|
|
580
|
+
const ref = step.i.ref ?? entity.name + '_ref01'
|
|
581
|
+
const entvar = step.i.entvar ?? ref + '_ent'
|
|
582
|
+
const matchvar = step.i.matchvar ?? (ref + '_match' + (step.i.suffix ?? ''))
|
|
583
|
+
const srcdatavar = step.i.srcdatavar ?? (ref + '_data')
|
|
592
584
|
|
|
593
|
-
const priorSteps = Object.values(flow
|
|
585
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
594
586
|
const needsEnt = !priorSteps.some((s: any) =>
|
|
595
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
587
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
596
588
|
|
|
597
589
|
Content(` // REMOVE
|
|
598
590
|
`)
|
|
@@ -67,28 +67,6 @@ function formatPhpValue(val: any, indent: number = 0): string {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
|
|
70
|
-
// Emission-time normalisation of a model subtree (L0).
|
|
71
|
-
//
|
|
72
|
-
// Always drops jostraca's iteration metadata (`$`-suffixed keys: index$,
|
|
73
|
-
// key$, val$). With `dropDefaults`, also drops keys whose value IS the
|
|
74
|
-
// default the runtime already assumes when the key is absent, which is pure
|
|
75
|
-
// payload — see CONFIG_DEFAULT.
|
|
76
|
-
//
|
|
77
|
-
// Rebuilds the tree rather than mutating during a walk. The previous
|
|
78
|
-
// implementation walked a clone calling `delete p[k]`, but walk() assigns its
|
|
79
|
-
// callback's result back over the child (`setprop(out, ckey, walk(...))`), so
|
|
80
|
-
// the delete was undone on the way out and the helper silently did nothing.
|
|
81
|
-
// Returning `undefined` from the callback does not fix it either: setprop
|
|
82
|
-
// stores undefined rather than removing the key, which then emits as a null.
|
|
83
|
-
//
|
|
84
|
-
// `dropDefaults` is opt-in and must be passed ONLY for the entity subtree.
|
|
85
|
-
// `active` means something different in feature config, where absent reads as
|
|
86
|
-
// INACTIVE (see feature_init) — dropping `active: true` there would silently
|
|
87
|
-
// disable the feature.
|
|
88
|
-
// jostraca's iteration metadata, injected by each()/names() while it walks the
|
|
89
|
-
// model. Listed explicitly rather than matched by trailing-dollar suffix: a
|
|
90
|
-
// trailing dollar is not exclusive to jostraca -- Seneca uses entity$ as real
|
|
91
|
-
// data -- so a blanket suffix match can silently drop a legitimate API field.
|
|
92
70
|
const MODEL_META = ['index$', 'key$', 'val$']
|
|
93
71
|
|
|
94
72
|
// Keys whose value IS the default the runtime already assumes when the key is
|
|
@@ -34,32 +34,11 @@ import {
|
|
|
34
34
|
} from './utility_py'
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
// PLUGIN DEFINITION IMPORTS AND THE FEATURE_PLUGINS MAP (mirrors
|
|
38
|
-
// cmp/ts/Config_ts.ts).
|
|
39
|
-
//
|
|
40
|
-
// Upstream sekreto replaced its self-registration registry with
|
|
41
|
-
// voxgig/plugin definitions: a provider kind the caller did not pass in
|
|
42
|
-
// via `plugins: [...]` is unknown to that Sekreto. So config imports each
|
|
43
|
-
// active plugin's exported definition BY NAME (the model's `def.py` map)
|
|
44
|
-
// and hands the list to the feature through FEATURE_PLUGINS.
|
|
45
|
-
//
|
|
46
|
-
// The `def` map is declared in the model rather than derived from
|
|
47
|
-
// filenames because one module may export several definitions (sekreto's
|
|
48
|
-
// aws.py exports awssecrets AND awsparams). A def value is the module's
|
|
49
|
-
// path under tm/py ('pkg/feature/.../aws.py'); Main copies tm/py/pkg INTO
|
|
50
|
-
// the <name>_sdk package, so the import module is the path with `pkg/`
|
|
51
|
-
// swapped for the package name and slashes for dots.
|
|
52
37
|
function pluginImports(feature: any, pkg: string) {
|
|
53
38
|
each(feature, (f: any) => {
|
|
54
|
-
// path -> [symbol, ...], so one import line serves a two-definition
|
|
55
|
-
// module.
|
|
56
39
|
const bypath: Record<string, string[]> = {}
|
|
57
40
|
|
|
58
41
|
each(f.plugin, (plugin: any) => {
|
|
59
|
-
// Filter on `active` HERE rather than trusting the feature object
|
|
60
|
-
// to arrive filtered: getting it wrong in this direction emits an
|
|
61
|
-
// import for a module the plugin trim just deleted - an SDK that
|
|
62
|
-
// does not import, rather than one that merely carries too much.
|
|
63
42
|
if (false === plugin.active || null == plugin.active) return
|
|
64
43
|
|
|
65
44
|
for (const [sym, one] of Object.entries(plugin.def?.py || {})) {
|
|
@@ -76,8 +55,6 @@ function pluginImports(feature: any, pkg: string) {
|
|
|
76
55
|
})
|
|
77
56
|
}
|
|
78
57
|
|
|
79
|
-
// The FEATURE_PLUGINS entries: one line per feature that has any active
|
|
80
|
-
// plugin definitions, listing the imported symbols.
|
|
81
58
|
function pluginDefs(feature: any) {
|
|
82
59
|
each(feature, (f: any) => {
|
|
83
60
|
const syms: string[] = []
|
|
@@ -99,15 +76,11 @@ const Config = cmp(async function Config(props: any) {
|
|
|
99
76
|
const model: Model = ctx$.model
|
|
100
77
|
|
|
101
78
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
102
|
-
// Gated by the applicability tags, so this target never imports or
|
|
103
|
-
// registers a feature it has no source for. One rule, one place:
|
|
104
|
-
// helpers/applicability.
|
|
105
79
|
const feature = targetFeatures(model, target)
|
|
106
80
|
|
|
107
81
|
const headers = getModelPath(model, `main.${KIT}.config.headers`) || {}
|
|
108
82
|
|
|
109
83
|
const authActive = isAuthActive(model)
|
|
110
|
-
// config.auth.prefix override -> spec-derived info.security.prefix -> 'Bearer'
|
|
111
84
|
const authPrefix = resolveAuthPrefix(model)
|
|
112
85
|
// `in` and `name` travel with the prefix now. They were resolved by
|
|
113
86
|
// apidef all along and dropped here, so an apiKey-in-query API got an
|
|
@@ -120,8 +93,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
120
93
|
let baseUrl = ''
|
|
121
94
|
try { baseUrl = getModelPath(model, `main.${KIT}.info.servers.0.url`) } catch (_e) { }
|
|
122
95
|
|
|
123
|
-
// Templated server URL: emit the spec's server-variable defaults so the
|
|
124
|
-
// runtime can substitute {name} placeholders in base (see make_options).
|
|
125
96
|
const svars = serverVariables(model)
|
|
126
97
|
const serverBlock = 0 === svars.length ? '' :
|
|
127
98
|
' "server": {\n' +
|
|
@@ -136,12 +107,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
136
107
|
},\n`
|
|
137
108
|
: ''
|
|
138
109
|
|
|
139
|
-
// The same config as an OBJECT, built by the shared helper so this target's
|
|
140
|
-
// literal and the data that replaces it above the threshold are the same
|
|
141
|
-
// config by construction. The JSON is what the threshold is measured on -
|
|
142
|
-
// emitted source size varies by language, the model does not. Passing the
|
|
143
|
-
// target name opts in to the main.slug/version/target identity fields -
|
|
144
|
-
// the literal path below emits them too, keeping the two reps in step.
|
|
145
110
|
const { def: configDef, json: configJson } = configDefinition(model, target.name)
|
|
146
111
|
const asData = isConfigData(configJson, configReprSetting(model))
|
|
147
112
|
|
|
@@ -193,20 +158,6 @@ def shared_config():
|
|
|
193
158
|
|
|
194
159
|
`)
|
|
195
160
|
|
|
196
|
-
// ABOVE THE THRESHOLD: emit the model as DATA.
|
|
197
|
-
//
|
|
198
|
-
// A dict literal makes CPython build the whole structure opcode by opcode
|
|
199
|
-
// at import, and the compiler hold the entire literal in memory to produce
|
|
200
|
-
// that bytecode. A string constant is one object, and `json.loads` (the C
|
|
201
|
-
// scanner) builds the dict far faster than the equivalent literal.
|
|
202
|
-
//
|
|
203
|
-
// `json.loads` yields exactly what the literal did - str keys, int for
|
|
204
|
-
// whole numbers, True/False/None - so make_config's result is unchanged.
|
|
205
|
-
//
|
|
206
|
-
// JSON.stringify output is a valid Python string literal: every escape it
|
|
207
|
-
// emits (\\", \\\\, \\n, \\uXXXX) means the same thing in Python, it never emits
|
|
208
|
-
// \\/ (which Python would not treat as an escape), and Python 3 source is
|
|
209
|
-
// UTF-8 so non-ASCII needs no escaping.
|
|
210
161
|
if (asData) {
|
|
211
162
|
Content(`# THE API MODEL, EMBEDDED AS DATA (sdkgen rung L1).
|
|
212
163
|
#
|
|
@@ -227,10 +178,6 @@ def make_config():
|
|
|
227
178
|
return
|
|
228
179
|
}
|
|
229
180
|
|
|
230
|
-
// Identity values from configDefinition's def, not re-derived here, so
|
|
231
|
-
// the literal rep and the data rep cannot disagree on identity (the
|
|
232
|
-
// slug is CARRIED, never derived from the camel name - station's
|
|
233
|
-
// descriptor reads all three; see cmp/ts/Config_ts.ts #MainMeta).
|
|
234
181
|
Content(`def make_config():
|
|
235
182
|
"""Build a fresh, fully materialised config dict.
|
|
236
183
|
|
|
@@ -1,35 +1,5 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
// Typed-model generator (Python target). Port of EntityTypes_ts.ts.
|
|
4
|
-
//
|
|
5
|
-
// Reads main.<KIT>.entity.<e>.fields[] and per-op params
|
|
6
|
-
// (op.<name>.points[].args.params[]) and emits one module, <sdk>_types.py,
|
|
7
|
-
// with a `class <Name>(TypedDict):` per active entity plus a request/match type
|
|
8
|
-
// per active op. Field/param sentinels ($STRING, $INTEGER, ...) are turned into
|
|
9
|
-
// real Python types by the shared sdkgen helper `canonToType` (source of truth:
|
|
10
|
-
// @voxgig/apidef VALID_CANON).
|
|
11
|
-
//
|
|
12
|
-
// TYPE CHOICE: `TypedDict`, not `@dataclass`. The generated ops return/accept
|
|
13
|
-
// plain runtime dicts (data_get/match_get return `vs.clone(self._data)`; ops
|
|
14
|
-
// take/return dicts), so a `@dataclass` annotation is only aspirational — a
|
|
15
|
-
// strict checker at a call site would see dict-vs-dataclass. A TypedDict *is* a
|
|
16
|
-
// dict shape, so annotating these dict-returning/-accepting ops with TypedDict
|
|
17
|
-
// makes the TYPES MATCH the runtime. Runtime behaviour is unchanged.
|
|
18
|
-
//
|
|
19
|
-
// OPTIONAL FIELDS: a `req:false` field/param is a key that MAY be absent, which
|
|
20
|
-
// is exactly TypedDict `total=False` (key optionality), not `Optional[T]` (a
|
|
21
|
-
// None value). To express required AND optional keys on py>=3.8 WITHOUT a
|
|
22
|
-
// typing_extensions dependency (no `NotRequired`), a type with both splits into
|
|
23
|
-
// a required base `class <Name>Required(TypedDict): ...` and a `total=False`
|
|
24
|
-
// subclass `class <Name>(<Name>Required, total=False): ...` that carries the
|
|
25
|
-
// public name and adds the optional keys. Degenerate shapes collapse to a
|
|
26
|
-
// single class (all-required, all-optional, or empty). The all-optional
|
|
27
|
-
// collapse also serves the match-mirror types (the Python analogue of TS
|
|
28
|
-
// `Partial<${Name}>`).
|
|
29
|
-
//
|
|
30
|
-
// Keep the SAME type-name scheme as every other language: <Name>,
|
|
31
|
-
// <Name>LoadMatch, <Name>ListMatch, <Name>CreateData, <Name>UpdateData,
|
|
32
|
-
// <Name>RemoveMatch.
|
|
33
3
|
|
|
34
4
|
import {
|
|
35
5
|
cmp, each, names,
|
|
@@ -56,25 +26,11 @@ const PY_KEYWORDS = new Set([
|
|
|
56
26
|
])
|
|
57
27
|
|
|
58
28
|
|
|
59
|
-
// A name usable as a class-syntax TypedDict key (valid identifier, not a
|
|
60
|
-
// keyword). Non-identifier/keyword field names have no safe class-syntax
|
|
61
|
-
// rendering, so they are skipped (they remain reachable via the runtime dict).
|
|
62
29
|
function pyIdent(name: string): boolean {
|
|
63
30
|
return /^[A-Za-z_][A-Za-z0-9_]*$/.test(name) && !PY_KEYWORDS.has(name)
|
|
64
31
|
}
|
|
65
32
|
|
|
66
33
|
|
|
67
|
-
// Emit a TypedDict named `typeName` from a list of {name, type, optional}
|
|
68
|
-
// items (optionality already decided by the caller — the shared partiality
|
|
69
|
-
// policy for op types, or `req` for the entity data type). Required items
|
|
70
|
-
// become required keys; optional items become not-required keys via a
|
|
71
|
-
// `total=False` extension.
|
|
72
|
-
//
|
|
73
|
-
// Shape selection (see file header for the rationale):
|
|
74
|
-
// both required + optional -> `<typeName>Required` base + `total=False` sub
|
|
75
|
-
// only required -> single `class <typeName>(TypedDict):`
|
|
76
|
-
// only optional -> single `class <typeName>(TypedDict, total=False):`
|
|
77
|
-
// no usable keys -> single `class <typeName>(TypedDict): pass`
|
|
78
34
|
function emitTypedDict(typeName: string, items: any[], log?: any): void {
|
|
79
35
|
const usable = items.filter((it: any) => it && null != it.name && pyIdent(it.name))
|
|
80
36
|
|
|
@@ -132,10 +88,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
132
88
|
const target = props.target || {}
|
|
133
89
|
const ext = target.ext || LANG
|
|
134
90
|
|
|
135
|
-
// only_active:false — getModelPath DROPS active:false entries by default,
|
|
136
|
-
// but the consumer scaffold (create-sdkgen Root.ts) iterates the RAW entity
|
|
137
|
-
// collection, so inactive entities still get generated entity code that
|
|
138
|
-
// references these typed names. The typed model must cover them too.
|
|
139
91
|
const entity = getModelPath(model, `main.${KIT}.entity`, { only_active: false, required: false })
|
|
140
92
|
// Emit for EVERY entity that gets generated entity code: the consumer
|
|
141
93
|
// scaffold (create-sdkgen Root.ts) iterates entities WITHOUT an active
|
|
@@ -147,17 +99,14 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
147
99
|
// entity not yet named (e.g. a fieldless placeholder) would otherwise read
|
|
148
100
|
// `Name = undefined` below. Parity with the go emitter's fix.
|
|
149
101
|
|
|
150
|
-
// Surface duplicate generated type names (two entities with the same
|
|
151
|
-
// PascalCase Name) — they would redeclare a type in statically-typed
|
|
152
|
-
// targets. Detection only; renaming is a model-level decision.
|
|
153
102
|
warnEntityTypeCollisions(entity, log, LANG)
|
|
154
103
|
|
|
155
104
|
File({ name: model.const.Name.toLowerCase() + '_types.' + ext }, () => {
|
|
156
105
|
|
|
157
106
|
Content(`# Typed models for the ${model.const.Name} SDK.
|
|
158
107
|
#
|
|
159
|
-
# GENERATED from the API model: main.${KIT}.entity.<e>.fields
|
|
160
|
-
# params (op.<name>.points[].
|
|
108
|
+
# GENERATED from the API model: main.${KIT}.entity.<e>.fields{} and per-op
|
|
109
|
+
# params (op.<name>.points[].g.params[]). Field/param types come from the
|
|
161
110
|
# canonical type sentinels via @voxgig/sdkgen canonToType (source of truth:
|
|
162
111
|
# @voxgig/apidef VALID_CANON). Do not edit by hand.
|
|
163
112
|
#
|
|
@@ -175,19 +124,15 @@ from typing import TypedDict, Any
|
|
|
175
124
|
entityList.forEach((ent: any) => {
|
|
176
125
|
const Name = ent.Name
|
|
177
126
|
const fields = (ent.fields ? each(ent.fields) : [])
|
|
178
|
-
.filter((f: any) => f.
|
|
127
|
+
.filter((f: any) => f.a !== false)
|
|
179
128
|
|
|
180
|
-
// Entity data model: one key per field, `req:false` -> optional key.
|
|
181
129
|
Content(`
|
|
182
130
|
|
|
183
131
|
`)
|
|
184
132
|
emitTypedDict(Name, fields.map((f: any) => ({
|
|
185
|
-
name: f.
|
|
133
|
+
name: f.n, type: f.t, optional: false === f.r,
|
|
186
134
|
})), log)
|
|
187
135
|
|
|
188
|
-
// Per active op: a request/match type. Members and their optionality come
|
|
189
|
-
// from the shared partiality policy (opRequestShape); this file only
|
|
190
|
-
// renders them as a TypedDict.
|
|
191
136
|
const ops = ent.op || {}
|
|
192
137
|
;['load', 'list', 'create', 'update', 'remove'].forEach((opname: string) => {
|
|
193
138
|
if (null == ops[opname]) {
|
|
@@ -19,10 +19,6 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
19
19
|
const { model, stdrep } = props.ctx$
|
|
20
20
|
const { target, entity } = props
|
|
21
21
|
|
|
22
|
-
// Collision-free entity CLASS name (see entityClassName): normally
|
|
23
|
-
// `<Name>Entity`, disambiguated when it would clash with another entity's
|
|
24
|
-
// data-type name. The DATA type stays `<Name>`. The snake-cased source-file
|
|
25
|
-
// name is unaffected; only the class identifier changes.
|
|
26
22
|
const entityColl = entityCollection(model)
|
|
27
23
|
const cls = entityClassName(entity, entityColl)
|
|
28
24
|
|
|
@@ -32,8 +28,6 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
32
28
|
|
|
33
29
|
names(entrep, entity.Name, 'EntityName')
|
|
34
30
|
|
|
35
|
-
// Import exactly the typed models this entity references: its data type plus
|
|
36
|
-
// one request type per ACTIVE op (matches what EntityTypes_py.ts emits).
|
|
37
31
|
const typeNames = [entity.Name]
|
|
38
32
|
const opnamesAll = Object.keys(entity.op || {})
|
|
39
33
|
;['load', 'list', 'create', 'update', 'remove'].forEach((opname: string) => {
|
|
@@ -41,8 +35,6 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
41
35
|
typeNames.push(opTypeName(entity.Name, opname))
|
|
42
36
|
}
|
|
43
37
|
})
|
|
44
|
-
// The generated dataclasses live inside the SDK package alongside
|
|
45
|
-
// everything else, so the import is package-qualified.
|
|
46
38
|
const typesModule = model.const.Name.toLowerCase() + '_sdk.' +
|
|
47
39
|
model.const.Name.toLowerCase() + '_types'
|
|
48
40
|
const typeImport =
|
|
@@ -51,9 +43,6 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
51
43
|
|
|
52
44
|
const ff = Path.normalize(__dirname + '/../../../src/cmp/py/fragment/')
|
|
53
45
|
|
|
54
|
-
// Entity files go to <name>_sdk/entity/ — inside the SDK package, not at
|
|
55
|
-
// the language root. See the note in Main_py.ts: a top-level `entity`
|
|
56
|
-
// package is shadowable by any entity.py sitting beside the caller.
|
|
57
46
|
Folder({ name: model.const.Name.toLowerCase() + '_sdk' }, () => {
|
|
58
47
|
Folder({ name: 'entity' }, () => {
|
|
59
48
|
|
|
@@ -77,13 +66,8 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
77
66
|
EntityName: entity.Name,
|
|
78
67
|
entityname: entity.name,
|
|
79
68
|
|
|
80
|
-
// Class token decoupled from the EntityName data-type token in
|
|
81
|
-
// Entity.fragment.py so the class can be renamed independently.
|
|
82
69
|
EntyClass: cls,
|
|
83
70
|
|
|
84
|
-
// Literal-marker slot (jostraca's `#Name` tag pattern is hardcoded to
|
|
85
|
-
// `//` comments, so Python uses a `# #`-prefixed literal like the op
|
|
86
|
-
// frag slots) — fills in the typed-model import for this entity.
|
|
87
71
|
'# #TypeImports': typeImport,
|
|
88
72
|
|
|
89
73
|
// Feature-hook markers. jostraca's built-in `#Name-Tag` pattern is
|