@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
|
@@ -19,12 +19,6 @@ const MainEntity = cmp(async function MainEntity(props: any) {
|
|
|
19
19
|
// (below) is unchanged so callers still write $client->${entity.Name}().
|
|
20
20
|
const cls = entityClassName(entity, entityCollection(model))
|
|
21
21
|
|
|
22
|
-
// Canonical facade method name is the PascalCase entity Name
|
|
23
|
-
// (`$client->${entity.Name}()`). PHP method names are case-insensitive, so
|
|
24
|
-
// the lowercase spelling `$client->${entity.name}()` still resolves here as
|
|
25
|
-
// a convenience — we declare it ONCE under the PascalCase name. An entity
|
|
26
|
-
// literally named 'test' would collide (case-insensitively) with the static
|
|
27
|
-
// `test()` test-mode constructor, so mangle to `<Name>_` in that case.
|
|
28
22
|
const accessor = phpEntityAccessor(entity.Name)
|
|
29
23
|
|
|
30
24
|
// The backing field is mangled independently of the accessor: the two are
|
|
@@ -48,27 +48,12 @@ const Main = cmp(async function Main(props: any) {
|
|
|
48
48
|
// Copy tm/php files with replacements
|
|
49
49
|
Copy({
|
|
50
50
|
from: 'tm/' + target.name,
|
|
51
|
-
// ANCHORED at the template root. Copy's exclude matches the
|
|
52
|
-
// SOURCE-RELATIVE path, so the old unanchored /src\// also pruned
|
|
53
|
-
// `feature/secrets/sekreto/src/` - the vendored sekreto core, whose
|
|
54
|
-
// directory depth is fixed by upstream and by the vendoring guard. The
|
|
55
|
-
// anchored form prunes the same top-level `tm/php/src/` placeholder
|
|
56
|
-
// tree (a `src` directory entry matches on the `$` arm, so the whole
|
|
57
|
-
// subtree is still pruned at the directory) and nothing else.
|
|
58
|
-
//
|
|
59
|
-
// pluginExcludes: the generate-time plugin trim (an INACTIVE plugin
|
|
60
|
-
// group's declared files stay out of the tree - the model's `path`
|
|
61
|
-
// entries are target-root-relative, which is this Copy's root). With
|
|
62
|
-
// no active feature declaring a plugin catalogue it is EMPTY, so a
|
|
63
|
-
// simple SDK's output is unchanged. The FEATURE-level trim for php
|
|
64
|
-
// stays an add-time concern (vendor-tag rollout, Decision 5).
|
|
65
51
|
exclude: [/^src(\/|$)/, TEST_CONTROL_EXCLUDE, ...pluginExcludes(model)],
|
|
66
52
|
replace: {
|
|
67
53
|
...props.ctx$.stdrep,
|
|
68
54
|
}
|
|
69
55
|
})
|
|
70
56
|
|
|
71
|
-
// Generate main SDK file
|
|
72
57
|
File({ name: model.const.Name.toLowerCase() + '_sdk.' + target.ext }, () => {
|
|
73
58
|
|
|
74
59
|
Fragment(
|
|
@@ -17,38 +17,10 @@ import {
|
|
|
17
17
|
} from '@voxgig/apidef'
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
// WHERE THE CREDENTIAL GOES IS A FACT ABOUT THE API, so it is generated
|
|
21
|
-
// rather than templated.
|
|
22
|
-
//
|
|
23
|
-
// This was a static file in `tm/php/utility/` that hardcoded an
|
|
24
|
-
// `authorization` HEADER. apidef has always resolved the scheme's `in` and
|
|
25
|
-
// `name` into `main.kit.info.security` — joplin's says
|
|
26
|
-
// `in: "query", name: "token"` — and generation dropped both. The result
|
|
27
|
-
// was an SDK that sent a header the API does not read and never sent the
|
|
28
|
-
// query parameter it does, so it could not authenticate at all. Four repos
|
|
29
|
-
// in the cedar fleet shipped that way: joplin (`token`), pipedrive
|
|
30
|
-
// (`api_token`), trello (`key`), lm-umbrella (`apiKey`).
|
|
31
|
-
//
|
|
32
|
-
// A template cannot fix this, because the three placements need three
|
|
33
|
-
// different bodies and a template has to pick one. A component emits the
|
|
34
|
-
// branch this API actually uses and nothing else — no dead query code in a
|
|
35
|
-
// bearer-token SDK, and no runtime `if` on a value that is fixed at
|
|
36
|
-
// generation time.
|
|
37
|
-
//
|
|
38
|
-
// The php peer of cmp/ts/PrepareAuth_ts.ts.
|
|
39
20
|
const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
40
21
|
const { target } = props
|
|
41
22
|
const { model } = props.ctx$
|
|
42
23
|
|
|
43
|
-
// FOLDER NESTING. Main_php opens NO folder around its children — it
|
|
44
|
-
// writes `<sdk>_sdk.php`, `features.php` and (inside `Folder('.')`)
|
|
45
|
-
// `config.php` straight into the target root, and each sibling component
|
|
46
|
-
// opens its own single level (EntityTypes -> `types/`, Entity ->
|
|
47
|
-
// `entity/`, Test -> `test/`). The template this replaces lived at
|
|
48
|
-
// `tm/php/utility/PrepareAuth.php` and the blanket Copy puts `tm/php/*`
|
|
49
|
-
// at the target root, so the generated file belongs at `utility/`, one
|
|
50
|
-
// folder deep. (This is NOT the ts layout: there Main already opens
|
|
51
|
-
// `src`, so PrepareAuth_ts must not open a second one.)
|
|
52
24
|
Folder({ name: 'utility' }, () => {
|
|
53
25
|
File({ name: 'PrepareAuth.' + target.ext }, () => {
|
|
54
26
|
Content(render({
|
|
@@ -57,9 +29,6 @@ const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
|
57
29
|
where: resolveAuthIn(model),
|
|
58
30
|
name: resolveAuthName(model),
|
|
59
31
|
basic: isHttpBasicAuth(model),
|
|
60
|
-
// Read so the resolution is exercised here too, even though the
|
|
61
|
-
// prefix is a RUNTIME option (`options.auth.prefix`, emitted by
|
|
62
|
-
// Config_php) rather than something baked into this file.
|
|
63
32
|
prefix: resolveAuthPrefix(model),
|
|
64
33
|
}))
|
|
65
34
|
})
|
|
@@ -67,28 +36,6 @@ const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
|
67
36
|
})
|
|
68
37
|
|
|
69
38
|
|
|
70
|
-
// NOT `isAuthActive`, AND THE DIFFERENCE IS LOAD-BEARING (the py port found
|
|
71
|
-
// this first; same reasoning, same fix, and php's own lane proves it here).
|
|
72
|
-
//
|
|
73
|
-
// `isAuthActive` is false whenever the SPEC declares no security scheme
|
|
74
|
-
// (`main.kit.info.auth: false`). That is a statement about the DEFINITION,
|
|
75
|
-
// not a ban on ever sending a credential: apidef writes it for every spec
|
|
76
|
-
// with no securitySchemes block, GitHub's official OpenAPI included, and
|
|
77
|
-
// those SDKs are still expected to honour an `apikey` the caller passes.
|
|
78
|
-
// The template placed the credential unconditionally, so they did.
|
|
79
|
-
//
|
|
80
|
-
// Gating the body on `isAuthActive` therefore does not trim dead code, it
|
|
81
|
-
// deletes working authentication. MEASURED, not assumed: with the wider gate
|
|
82
|
-
// this component emitted the no-op for generatedcompile's own fixture
|
|
83
|
-
// (`main: kit: info: { ... auth: false }`) and the php lane went red —
|
|
84
|
-
//
|
|
85
|
-
// php: auth null beats an explicit apikey
|
|
86
|
-
// FAIL: baseline broken: an ordinary apikey was not sent
|
|
87
|
-
//
|
|
88
|
-
// So the no-op is emitted only when the PROJECT says so:
|
|
89
|
-
// `config.auth.active: false`, an explicit per-SDK switch nobody sets by
|
|
90
|
-
// accident. A spec that is merely silent keeps the credential path it has
|
|
91
|
-
// always had.
|
|
92
39
|
function authSwitchedOn(model: any): boolean {
|
|
93
40
|
const auth = getModelPath(model, `main.${KIT}.config.auth`,
|
|
94
41
|
{ only_active: false, required: false })
|
|
@@ -116,9 +63,6 @@ declare(strict_types=1);
|
|
|
116
63
|
|
|
117
64
|
`
|
|
118
65
|
|
|
119
|
-
// AUTH SWITCHED OFF BY THE PROJECT (see authSwitchedOn for why only an
|
|
120
|
-
// EXPLICIT switch counts). The SDK gets a prepare_auth that is honest
|
|
121
|
-
// about it rather than one that deletes a header nobody set.
|
|
122
66
|
if (!spec.active) {
|
|
123
67
|
return head + `// This SDK is configured with authentication off, so there is no
|
|
124
68
|
// credential to place. The class stays in the pipeline because make_spec
|
|
@@ -174,20 +118,12 @@ function bagVar(where: string): string {
|
|
|
174
118
|
}
|
|
175
119
|
|
|
176
120
|
|
|
177
|
-
// The constant holding the credential's NAME, per placement. `HEADER_AUTH`
|
|
178
|
-
// keeps the name the template used, so a header SDK regenerates unchanged.
|
|
179
121
|
function credConst(where: string): string {
|
|
180
122
|
return 'query' === where ? 'QUERY_AUTH' : 'cookie' === where ? 'COOKIE_AUTH' : 'HEADER_AUTH'
|
|
181
123
|
}
|
|
182
124
|
|
|
183
125
|
|
|
184
126
|
function constants(spec: AuthSpec): string {
|
|
185
|
-
// A HEADER NAME GOES IN LOWERCASE, as every target's template has always
|
|
186
|
-
// written it (`authorization`): request header names are case-insensitive,
|
|
187
|
-
// and this SDK's own response headers are lowercased by the fetcher, so
|
|
188
|
-
// lowercasing here keeps one spelling throughout — and keeps the default
|
|
189
|
-
// byte-identical to the template this replaces. A query parameter and a
|
|
190
|
-
// cookie name are CASE-SENSITIVE, so those go in verbatim.
|
|
191
127
|
const name = 'header' === spec.where ? spec.name.toLowerCase() : spec.name
|
|
192
128
|
|
|
193
129
|
const cookieConst = 'cookie' === spec.where ?
|
|
@@ -203,8 +139,6 @@ ${secretConst} private const NOT_FOUND = '__NOTFOUND__';
|
|
|
203
139
|
}
|
|
204
140
|
|
|
205
141
|
|
|
206
|
-
// The `options.auth` block is absent (`auth: null`) — drop any stale
|
|
207
|
-
// credential the caller's own options put in the bag.
|
|
208
142
|
function suppressed(where: string): string {
|
|
209
143
|
if ('cookie' === where) {
|
|
210
144
|
// NOTHING TO CLEAR. The cookie header may carry the caller's own
|
|
@@ -260,8 +194,6 @@ function placeBlock(spec: AuthSpec): string {
|
|
|
260
194
|
|| $apikey === null`
|
|
261
195
|
|
|
262
196
|
if ('cookie' === spec.where) {
|
|
263
|
-
// A MISSING CREDENTIAL CLEARS NOTHING HERE, for the reason `suppressed`
|
|
264
|
-
// gives: the cookie header is shared with the caller's own cookies.
|
|
265
197
|
return `
|
|
266
198
|
$missing = ${missing};
|
|
267
199
|
|
|
@@ -309,8 +241,6 @@ function placeBlock(spec: AuthSpec): string {
|
|
|
309
241
|
}
|
|
310
242
|
|
|
311
243
|
|
|
312
|
-
// A PHP single-quoted string literal: only the backslash and the quote
|
|
313
|
-
// itself need escaping, and single quotes never interpolate a `$name`.
|
|
314
244
|
function phpstr(s: string): string {
|
|
315
245
|
return "'" + String(s).replace(/\\/g, '\\\\').replace(/'/g, "\\'") + "'"
|
|
316
246
|
}
|
|
@@ -318,8 +248,5 @@ function phpstr(s: string): string {
|
|
|
318
248
|
|
|
319
249
|
export {
|
|
320
250
|
PrepareAuth,
|
|
321
|
-
// Exported so the emitted PHP can be exercised directly (tests, and a
|
|
322
|
-
// one-line check of what a given placement renders) without standing up a
|
|
323
|
-
// full generation run.
|
|
324
251
|
render,
|
|
325
252
|
}
|
|
@@ -53,8 +53,7 @@ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
|
53
53
|
|
|
54
54
|
publishedEntities.map((entity: any) => {
|
|
55
55
|
const opnames = Object.keys(entity.op || {})
|
|
56
|
-
const fields = entity.fields ||
|
|
57
|
-
// Model-driven id key: null when this entity has no id-like field.
|
|
56
|
+
const fields = Object.values(entity.fields || {})
|
|
58
57
|
const idF = entityIdField(entity)
|
|
59
58
|
|
|
60
59
|
Content(`
|
|
@@ -98,8 +97,8 @@ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
|
98
97
|
`)
|
|
99
98
|
|
|
100
99
|
each(fields, (field: any) => {
|
|
101
|
-
const desc = field.
|
|
102
|
-
Content(`| \`${field.
|
|
100
|
+
const desc = field.sh || ''
|
|
101
|
+
Content(`| \`${field.n}\` | \`${canonToType(field.t, target.name)}\` | ${desc} |
|
|
103
102
|
`)
|
|
104
103
|
})
|
|
105
104
|
|
|
@@ -108,9 +107,6 @@ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
|
108
107
|
}
|
|
109
108
|
|
|
110
109
|
if (opnames.includes('load')) {
|
|
111
|
-
// The id key plus every REQUIRED match key (parent path params like
|
|
112
|
-
// page_id) — the same shape the runtime resolves path params from, so
|
|
113
|
-
// the example always works.
|
|
114
110
|
const loadItems = opRequestShape(entity, 'load').items
|
|
115
111
|
.filter((it: any) => !it.optional || it.name === idF)
|
|
116
112
|
.sort((a: any, b: any) =>
|
|
@@ -7,39 +7,6 @@ import {
|
|
|
7
7
|
} from '@voxgig/apidef'
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
// Emits test/ReadmeExamplesTest.php — a PHPUnit COMPLETENESS GATE that
|
|
11
|
-
// guarantees every fenced php code example in the package docs is unit-tested.
|
|
12
|
-
// It reads ALL THREE docs — the root (multi-language) ../../README.md, the
|
|
13
|
-
// PHP-specific ../README.md, and ../REFERENCE.md — extracts every fenced php
|
|
14
|
-
// block (tagged by source doc + index) and enforces four properties:
|
|
15
|
-
//
|
|
16
|
-
// 1. SYNTAX — `php -l` on every block (a leading <?php is prepended when the
|
|
17
|
-
// snippet omits one). Every documented example must parse.
|
|
18
|
-
// 2. RUN — every RUNNABLE block (one that constructs the SDK, drives
|
|
19
|
-
// $client->, or performs an entity op) is EXECUTED offline in seeded test
|
|
20
|
-
// mode against the real SDK. The captured stdout+stderr is scanned for
|
|
21
|
-
// FATAL programming-error markers REGARDLESS of exit code, so a bug that a
|
|
22
|
-
// documented try/catch swallows and echoes via getMessage() is still
|
|
23
|
-
// caught. Only a not-found / domain error is tolerated.
|
|
24
|
-
// 3. COMPLETENESS — every block is partitioned into exactly one of
|
|
25
|
-
// {executed, syntaxchecked-nonrunnable, illustration} and the counts must
|
|
26
|
-
// sum to the total. "illustration" is a NARROW explicit class (a
|
|
27
|
-
// signature / method-table block that names the SDK class or a documented
|
|
28
|
-
// method but never uses a live client) — never a catch-all. A
|
|
29
|
-
// runnable-looking block that was NOT executed lands in neither bucket and
|
|
30
|
-
// FAILS the gate: no runnable example can be silently skipped.
|
|
31
|
-
// 4. A per-doc summary (total / executed / syntaxchecked / illustration) is
|
|
32
|
-
// printed to STDERR.
|
|
33
|
-
//
|
|
34
|
-
// A runnable block is rewritten so its client is a test-mode client
|
|
35
|
-
// (<Sdk>SDK::test) seeded with an in-memory fixture for every entity it
|
|
36
|
-
// references; any real constructor is rewritten and the doc's own require of
|
|
37
|
-
// the SDK file is stripped (we require it by absolute path). A block that only
|
|
38
|
-
// *uses* $client (constructed in an earlier fenced block) gets a test client
|
|
39
|
-
// prepended.
|
|
40
|
-
//
|
|
41
|
-
// The emitted PHP builds the ``` fence via chr(96) so this generator string
|
|
42
|
-
// contains no backticks of its own.
|
|
43
10
|
const ReadmeExamplesTest = cmp(function ReadmeExamplesTest(props: any) {
|
|
44
11
|
const { target } = props
|
|
45
12
|
const { model } = props.ctx$
|
|
@@ -4,7 +4,6 @@ import { cmp, Content, isAuthActive, envName, canonKey, canonScalarKey, entityId
|
|
|
4
4
|
import { KIT, getModelPath, nom } from '@voxgig/apidef'
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
// A type-correct PHP literal for a field's canonical type.
|
|
8
7
|
function phpLit(type: any): string {
|
|
9
8
|
const k = canonScalarKey(type)
|
|
10
9
|
if ('INTEGER' === k || 'NUMBER' === k) return '1'
|
|
@@ -116,13 +116,13 @@ On error, \`ok\` is \`false\` and \`$err\` contains the error value.
|
|
|
116
116
|
|
|
117
117
|
`)
|
|
118
118
|
each(entityList, (ent: any) => {
|
|
119
|
-
const fields = ent.fields ||
|
|
119
|
+
const fields = Object.values(ent.fields || {})
|
|
120
120
|
const opnames = Object.keys(ent.op || {})
|
|
121
121
|
const ops = ent.op || {}
|
|
122
122
|
const points = each(ops).map((op: any) =>
|
|
123
123
|
op.points ? each(op.points) : []
|
|
124
124
|
).flat()
|
|
125
|
-
const path = points.length > 0 ? (points[0] as any).
|
|
125
|
+
const path = points.length > 0 ? (points[0] as any).o || '' : ''
|
|
126
126
|
|
|
127
127
|
Content(`#### ${ent.Name}
|
|
128
128
|
|
|
@@ -130,7 +130,7 @@ On error, \`ok\` is \`false\` and \`$err\` contains the error value.
|
|
|
130
130
|
| --- | --- |
|
|
131
131
|
`)
|
|
132
132
|
each(fields, (field: any) => {
|
|
133
|
-
Content(`| \`${field.
|
|
133
|
+
Content(`| \`${field.n}\` | ${field.sh || ''} |
|
|
134
134
|
`)
|
|
135
135
|
})
|
|
136
136
|
|
|
@@ -15,9 +15,6 @@ const ReadmeQuick = cmp(function ReadmeQuick(props: any) {
|
|
|
15
15
|
|
|
16
16
|
const exampleEntity = Object.values(entity).find((e: any) => e.active !== false) as any
|
|
17
17
|
|
|
18
|
-
// Find a nested entity if available: one with a parent chain
|
|
19
|
-
// (relations.ancestors), an active load op, and a required non-id load
|
|
20
|
-
// param to demonstrate (the parent key, e.g. page_id).
|
|
21
18
|
const nestedEntity = Object.values(entity).find((e: any) =>
|
|
22
19
|
e.active !== false &&
|
|
23
20
|
e.relations && e.relations.ancestors && 0 < e.relations.ancestors.length &&
|
|
@@ -67,13 +64,13 @@ $client = ${ctor};
|
|
|
67
64
|
// Model-driven display field: the entity's first non-id string field
|
|
68
65
|
// (falling back to any non-id field), so the list example prints a real
|
|
69
66
|
// column instead of a hardcoded "name" the entity may not have.
|
|
70
|
-
const fields = exampleEntity.fields ||
|
|
67
|
+
const fields: any[] = Object.values(exampleEntity.fields || {})
|
|
71
68
|
const displayField =
|
|
72
|
-
fields.find((f: any) => f && f.
|
|
73
|
-
fields.find((f: any) => f && f.
|
|
69
|
+
fields.find((f: any) => f && f.n !== 'id' && f.t === '$STRING') ||
|
|
70
|
+
fields.find((f: any) => f && f.n !== 'id') ||
|
|
74
71
|
null
|
|
75
72
|
const idCol = dataIdF ? `$item[${JSON.stringify(dataIdF)}]` : null
|
|
76
|
-
const dispCol = displayField ? `$item[${JSON.stringify(displayField.
|
|
73
|
+
const dispCol = displayField ? `$item[${JSON.stringify(displayField.n)}]` : null
|
|
77
74
|
const itemPrint = [idCol, dispCol].filter(Boolean).join(' . " " . ') || 'json_encode($item)'
|
|
78
75
|
|
|
79
76
|
if (opnames.includes('list')) {
|
|
@@ -132,9 +129,6 @@ try {
|
|
|
132
129
|
`)
|
|
133
130
|
}
|
|
134
131
|
else if (opnames.includes('load')) {
|
|
135
|
-
// Every REQUIRED load-match key (id first, then parent path params like
|
|
136
|
-
// page_id) — the same shape the runtime resolves path params from, so
|
|
137
|
-
// the example always works.
|
|
138
132
|
const loadRequired = opRequestShape(exampleEntity, 'load').items
|
|
139
133
|
.filter((it: any) => !it.optional || it.name === idF)
|
|
140
134
|
.sort((a: any, b: any) =>
|
|
@@ -160,29 +154,18 @@ try {
|
|
|
160
154
|
`)
|
|
161
155
|
}
|
|
162
156
|
|
|
163
|
-
// Model-driven example fields: derive the create/update body from the op
|
|
164
|
-
// shape (opRequestShape) so the docs reference REAL writable fields, not a
|
|
165
|
-
// hardcoded "name" the entity may not have. Literals are PHP-typed by the
|
|
166
|
-
// field's canonical type. ids are rendered separately as the match key for
|
|
167
|
-
// update/remove; a REQUIRED create id stays (the call is invalid without
|
|
168
|
-
// it).
|
|
169
157
|
const examplePairs = (opname: string): string[] => {
|
|
170
158
|
const items = opRequestShape(exampleEntity, opname).items
|
|
171
159
|
.filter((it: any) => (it.name !== idF && it.name !== 'id') ||
|
|
172
160
|
('create' === opname && !it.optional))
|
|
173
161
|
const required = items.filter((it: any) => !it.optional)
|
|
174
162
|
const optional = items.filter((it: any) => it.optional)
|
|
175
|
-
// create needs ALL required fields; update is a patch, so the required
|
|
176
|
-
// members plus a sample optional field or two suffice.
|
|
177
163
|
const chosen = 'create' === opname
|
|
178
164
|
? (required.length ? required : items.slice(0, 2))
|
|
179
165
|
: required.concat(optional).slice(0, Math.max(2, required.length))
|
|
180
166
|
return chosen.map((it: any) => `"${it.name}" => ${phpLit(it.type, 'example_' + it.name)}`)
|
|
181
167
|
}
|
|
182
168
|
|
|
183
|
-
// The id VALUE for an update/remove match: off the returned `$created`
|
|
184
|
-
// record only when its data type carries the id AND a create ran, else a
|
|
185
|
-
// type-correct literal.
|
|
186
169
|
const idParamType = (opname: string): any => {
|
|
187
170
|
const it = opRequestShape(exampleEntity, opname).items.find((x: any) => x.name === idF)
|
|
188
171
|
return it && it.type
|
|
@@ -211,8 +194,6 @@ $client->${phpEntityAccessor(eName)}()->update([${updatePairs.join(', ')}]);
|
|
|
211
194
|
`)
|
|
212
195
|
}
|
|
213
196
|
if (opnames.includes('remove')) {
|
|
214
|
-
// Every REQUIRED remove-match key: the id (off the created record
|
|
215
|
-
// when possible) plus parent keys like page_id.
|
|
216
197
|
const removePairs = opRequestShape(exampleEntity, 'remove').items
|
|
217
198
|
.filter((it: any) => !it.optional || it.name === idF)
|
|
218
199
|
.sort((a: any, b: any) =>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { cmp, each, Content, canonToType, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape, phpEntityAccessor } from '@voxgig/sdkgen'
|
|
2
|
+
import { cmp, each, Content, canonToType, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape, phpEntityAccessor , targetFeatures } from '@voxgig/sdkgen'
|
|
3
3
|
import { ReadmeRefFeatures } from '@voxgig/sdkgen'
|
|
4
4
|
|
|
5
5
|
import {
|
|
@@ -55,7 +55,7 @@ const ReadmeRef = cmp(function ReadmeRef(props: any) {
|
|
|
55
55
|
const { model } = props.ctx$
|
|
56
56
|
|
|
57
57
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
58
|
-
const feature =
|
|
58
|
+
const feature = targetFeatures(model, target)
|
|
59
59
|
|
|
60
60
|
const publishedEntities = each(entity).filter((e: any) => e.active !== false)
|
|
61
61
|
|
|
@@ -168,7 +168,7 @@ Prepare a fetch definition without sending the request. Returns the
|
|
|
168
168
|
// Entity reference sections
|
|
169
169
|
publishedEntities.map((ent: any) => {
|
|
170
170
|
const opnames = Object.keys(ent.op || {})
|
|
171
|
-
const fields = ent.fields ||
|
|
171
|
+
const fields = Object.values(ent.fields || {})
|
|
172
172
|
// Model-driven id key: null when this entity has no id-like field, in
|
|
173
173
|
// which case load/remove match on no argument and update omits the id.
|
|
174
174
|
const idF = entityIdField(ent)
|
|
@@ -193,7 +193,6 @@ $${ent.name} = $client->${phpEntityAccessor(ent.Name)}();
|
|
|
193
193
|
`)
|
|
194
194
|
|
|
195
195
|
|
|
196
|
-
// Field schema
|
|
197
196
|
if (fields.length > 0) {
|
|
198
197
|
Content(`### Fields
|
|
199
198
|
|
|
@@ -201,9 +200,9 @@ $${ent.name} = $client->${phpEntityAccessor(ent.Name)}();
|
|
|
201
200
|
| --- | --- | --- | --- |
|
|
202
201
|
`)
|
|
203
202
|
each(fields, (field: any) => {
|
|
204
|
-
const req = field.
|
|
205
|
-
const desc = field.
|
|
206
|
-
Content(`| \`${field.
|
|
203
|
+
const req = field.r ? 'Yes' : 'No'
|
|
204
|
+
const desc = field.sh || ''
|
|
205
|
+
Content(`| \`${field.n}\` | \`${canonToType(field.t, target.name)}\` | ${req} | ${desc} |
|
|
207
206
|
`)
|
|
208
207
|
})
|
|
209
208
|
|
|
@@ -230,7 +229,7 @@ $${ent.name} = $client->${phpEntityAccessor(ent.Name)}();
|
|
|
230
229
|
if (fop.active === false) return '-'
|
|
231
230
|
return 'Yes'
|
|
232
231
|
})
|
|
233
|
-
Content(`| \`${field.
|
|
232
|
+
Content(`| \`${field.n}\` | ${cols.join(' | ')} |
|
|
234
233
|
`)
|
|
235
234
|
})
|
|
236
235
|
|
|
@@ -256,7 +255,6 @@ ${info.desc}
|
|
|
256
255
|
|
|
257
256
|
`)
|
|
258
257
|
|
|
259
|
-
// Show example
|
|
260
258
|
if ('load' === opname || 'remove' === opname) {
|
|
261
259
|
// The id key plus every REQUIRED match key (parent path params
|
|
262
260
|
// like page_id) — the same shape the runtime resolves path
|
|
@@ -391,9 +389,6 @@ $client = new ${model.const.Name}SDK([
|
|
|
391
389
|
\`\`\`
|
|
392
390
|
|
|
393
391
|
`)
|
|
394
|
-
// The shared feature reference: options, defaults, usage and the
|
|
395
|
-
// considerations. Model facts, identical in every target, so they are
|
|
396
|
-
// written once in cmp/ReadmeRefFeatures.ts rather than here.
|
|
397
392
|
ReadmeRefFeatures({ target })
|
|
398
393
|
}
|
|
399
394
|
|
|
@@ -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 php 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 php validates against and what ts validates against cannot drift.
|
|
22
|
-
//
|
|
23
|
-
// EMBEDDED AS JSON, DECODED ON FIRST USE, the mechanism config.php already
|
|
24
|
-
// uses for the model above the size threshold, and SINGLE-quoted for the
|
|
25
|
-
// reason recorded there: a double-quoted php string would interpolate a `$`,
|
|
26
|
-
// and the spec is made almost entirely of `$SENTINEL` strings.
|
|
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
|
|
@@ -44,7 +29,7 @@ declare(strict_types=1);
|
|
|
44
29
|
// ${model.const.Name} ${target.Name} SDK: generated schemas. Do not edit.
|
|
45
30
|
//
|
|
46
31
|
// Generated from the model: \`main.kit.optspec\` and each feature's
|
|
47
|
-
// \`config.options\` for OPTSPEC; entity \`fields
|
|
32
|
+
// \`config.options\` for OPTSPEC; entity \`fields{}.type\` for ENTITYSPEC.
|
|
48
33
|
|
|
49
34
|
class ${model.const.Name}Schema
|
|
50
35
|
{
|
|
@@ -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`
|
|
@@ -163,9 +163,9 @@ class ${entity.Name}DirectTest extends TestCase
|
|
|
163
163
|
|
|
164
164
|
if (hasList && listPoint) {
|
|
165
165
|
const listLiveIdKeys: string[] = listParams.map((lp: any) => {
|
|
166
|
-
return lp.
|
|
166
|
+
return lp.n === 'id'
|
|
167
167
|
? entity.name + '01'
|
|
168
|
-
: lp.
|
|
168
|
+
: lp.n.replace(/_id$/, '') + '01'
|
|
169
169
|
})
|
|
170
170
|
const listSkipBlock = listLiveIdKeys.length > 0
|
|
171
171
|
? ` if ($setup["live"]) {
|
|
@@ -197,13 +197,13 @@ ${listSkipBlock} $client = $setup["client"];
|
|
|
197
197
|
Content(` $params = [];
|
|
198
198
|
`)
|
|
199
199
|
for (const lp of listParams) {
|
|
200
|
-
const key = lp.
|
|
200
|
+
const key = lp.n === 'id'
|
|
201
201
|
? entity.name + '01'
|
|
202
|
-
: lp.
|
|
202
|
+
: lp.n.replace(/_id$/, '') + '01'
|
|
203
203
|
Content(` if ($setup["live"]) {
|
|
204
|
-
$params["${lp.
|
|
204
|
+
$params["${lp.n}"] = $setup["idmap"]["${key}"];
|
|
205
205
|
} else {
|
|
206
|
-
$params["${lp.
|
|
206
|
+
$params["${lp.n}"] = "direct01";
|
|
207
207
|
}
|
|
208
208
|
`)
|
|
209
209
|
}
|
|
@@ -289,7 +289,7 @@ ${loadSkipBlock} $client = $setup["client"];
|
|
|
289
289
|
Content(` } else {
|
|
290
290
|
`)
|
|
291
291
|
for (let i = 0; i < loadParams.length; i++) {
|
|
292
|
-
Content(` $params["${loadParams[i].
|
|
292
|
+
Content(` $params["${loadParams[i].n}"] = "direct0${i + 1}";
|
|
293
293
|
`)
|
|
294
294
|
}
|
|
295
295
|
Content(` }
|
|
@@ -304,7 +304,7 @@ ${loadLiveQueryLines}
|
|
|
304
304
|
Content(` if (!$setup["live"]) {
|
|
305
305
|
`)
|
|
306
306
|
for (let i = 0; i < loadParams.length; i++) {
|
|
307
|
-
Content(` $params["${loadParams[i].
|
|
307
|
+
Content(` $params["${loadParams[i].n}"] = "direct0${i + 1}";
|
|
308
308
|
`)
|
|
309
309
|
}
|
|
310
310
|
Content(` }
|