@voxgig/sdkgen 4.21.0 → 4.22.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 +0 -80
- package/dist/cmp/ReadmeTop.js.map +1 -1
- package/dist/cmp/ReadmeUnions.js +0 -15
- 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 +2 -1
- 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.js +0 -12
- package/dist/helpers/buildIdNames.js.map +1 -1
- package/dist/helpers/canonSpec.js +0 -114
- 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 +0 -4
- 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 +0 -78
- 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 +0 -198
- 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 +0 -55
- package/dist/helpers/pointPath.js.map +1 -1
- package/dist/helpers/resolved.d.ts +6 -0
- package/dist/helpers/resolved.js +49 -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 +2 -1
- package/dist/sdkgen.js +13 -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 +0 -243
- 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 +0 -36
- 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/ReadmeExamplesTest_c.ts +0 -20
- package/project/.sdk/src/cmp/c/ReadmeRef_c.ts +2 -5
- package/project/.sdk/src/cmp/c/ReadmeTopQuick_c.ts +0 -2
- package/project/.sdk/src/cmp/c/Schema_c.ts +0 -19
- 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/ReadmeExamplesTest_clojure.ts +0 -16
- package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +2 -5
- package/project/.sdk/src/cmp/clojure/Schema_clojure.ts +0 -20
- 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 +0 -36
- 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/ReadmeExamplesTest_cpp.ts +0 -19
- package/project/.sdk/src/cmp/cpp/ReadmeQuick_cpp.ts +0 -7
- package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +2 -5
- package/project/.sdk/src/cmp/cpp/Schema_cpp.ts +0 -21
- package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +0 -3
- 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 +0 -50
- 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 +0 -1
- package/project/.sdk/src/cmp/csharp/ReadmeExamplesTest_csharp.ts +0 -23
- package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +2 -5
- package/project/.sdk/src/cmp/csharp/ReadmeTopQuick_csharp.ts +0 -2
- package/project/.sdk/src/cmp/csharp/Schema_csharp.ts +0 -18
- package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +0 -4
- 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 +0 -38
- 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/ReadmeExamplesTest_elixir.ts +0 -19
- package/project/.sdk/src/cmp/elixir/ReadmeRef_elixir.ts +2 -5
- package/project/.sdk/src/cmp/elixir/Schema_elixir.ts +0 -24
- 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 +0 -71
- 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 +0 -5
- 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 +0 -11
- package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +0 -21
- package/project/.sdk/src/cmp/go/ReadmeRef_go.ts +2 -14
- package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +0 -9
- package/project/.sdk/src/cmp/go/Schema_go.ts +0 -21
- package/project/.sdk/src/cmp/go/TestDirect_go.ts +0 -23
- package/project/.sdk/src/cmp/go/TestEntity_go.ts +0 -8
- 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 +0 -70
- 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 +0 -50
- 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 +0 -1
- package/project/.sdk/src/cmp/java/ReadmeExamplesTest_java.ts +0 -20
- package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +0 -4
- package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +2 -5
- package/project/.sdk/src/cmp/java/ReadmeTopQuick_java.ts +0 -7
- package/project/.sdk/src/cmp/java/Schema_java.ts +0 -19
- package/project/.sdk/src/cmp/java/TestDirect_java.ts +0 -7
- package/project/.sdk/src/cmp/java/TestEntity_java.ts +0 -4
- 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 +0 -33
- 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 +0 -9
- package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +0 -2
- package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +0 -15
- package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +2 -7
- package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +0 -7
- package/project/.sdk/src/cmp/js/Schema_js.ts +0 -21
- package/project/.sdk/src/cmp/js/TestDirect_js.ts +2 -16
- package/project/.sdk/src/cmp/js/TestEntity_js.ts +3 -13
- package/project/.sdk/src/cmp/js/TestLive_js.ts +10 -3
- package/project/.sdk/src/cmp/js/utility_js.ts +0 -58
- 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 +0 -53
- 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 +0 -1
- package/project/.sdk/src/cmp/kotlin/ReadmeExamplesTest_kotlin.ts +0 -20
- package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +2 -5
- package/project/.sdk/src/cmp/kotlin/ReadmeTopQuick_kotlin.ts +0 -5
- package/project/.sdk/src/cmp/kotlin/Schema_kotlin.ts +0 -19
- package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +0 -4
- 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 +0 -30
- 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 +0 -8
- package/project/.sdk/src/cmp/lua/ReadmeExamplesTest_lua.ts +0 -24
- package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +0 -10
- package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +0 -21
- package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +2 -12
- package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +0 -3
- package/project/.sdk/src/cmp/lua/Schema_lua.ts +0 -16
- package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +0 -2
- 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/ReadmeExamplesTest_ocaml.ts +0 -17
- package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +2 -5
- package/project/.sdk/src/cmp/ocaml/Schema_ocaml.ts +0 -23
- 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 +0 -3
- package/project/.sdk/src/cmp/perl/ReadmeExamplesTest_perl.ts +0 -27
- package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +2 -5
- package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +0 -2
- package/project/.sdk/src/cmp/perl/Schema_perl.ts +0 -18
- package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +0 -2
- 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 +0 -51
- 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 +0 -4
- 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/ReadmeQuick_php.ts +0 -19
- package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +2 -7
- package/project/.sdk/src/cmp/php/Schema_php.ts +0 -15
- package/project/.sdk/src/cmp/php/TestEntity_php.ts +0 -9
- 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 +0 -55
- 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 +0 -13
- 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/ReadmeQuick_py.ts +0 -28
- package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +2 -16
- package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +0 -14
- package/project/.sdk/src/cmp/py/Schema_py.ts +0 -19
- package/project/.sdk/src/cmp/py/TestDirect_py.ts +0 -2
- package/project/.sdk/src/cmp/py/utility_py.ts +0 -22
- package/project/.sdk/src/cmp/py-data/Main_py-data.ts +9 -43
- package/project/.sdk/src/cmp/rb/Config_rb.ts +0 -56
- package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +0 -58
- 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 +0 -7
- 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/ReadmeQuick_rb.ts +0 -23
- package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +2 -10
- 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 +0 -15
- package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +0 -2
- 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 +0 -34
- 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/ReadmeExamplesTest_rust.ts +0 -16
- package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +2 -5
- package/project/.sdk/src/cmp/rust/Schema_rust.ts +0 -18
- package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +0 -7
- package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +0 -9
- 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 +0 -51
- 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 +0 -1
- package/project/.sdk/src/cmp/scala/ReadmeExamplesTest_scala.ts +0 -23
- package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +2 -5
- package/project/.sdk/src/cmp/scala/ReadmeTopQuick_scala.ts +0 -5
- package/project/.sdk/src/cmp/scala/Schema_scala.ts +0 -19
- package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +0 -8
- 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 +0 -39
- 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 +0 -2
- package/project/.sdk/src/cmp/swift/ReadmeExamplesTest_swift.ts +0 -22
- package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +2 -5
- package/project/.sdk/src/cmp/swift/Schema_swift.ts +0 -18
- 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 +0 -34
- 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 +0 -9
- 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 +0 -3
- package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +0 -43
- package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +2 -20
- 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 +0 -21
- package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +2 -53
- package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +3 -31
- package/project/.sdk/src/cmp/ts/TestLive_ts.ts +10 -4
- 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 +0 -59
- 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/ReadmeExamplesTest_zig.ts +0 -18
- package/project/.sdk/src/cmp/zig/ReadmeQuick_zig.ts +0 -3
- package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +2 -5
- package/project/.sdk/src/cmp/zig/Schema_zig.ts +0 -23
- 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/csharp/feature/FeatureOptions.cs +18 -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/js/src/feature/test/TestFeature.js +12 -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 +0 -19
- 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/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/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/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 +0 -80
- package/src/cmp/ReadmeUnions.ts +0 -15
- package/src/cmp/Registered.ts +0 -30
- package/src/cmp/Security.ts +0 -2
- package/src/cmp/Test.ts +3 -1
- package/src/cmp/TestControl.ts +0 -25
- package/src/helpers/applicability.ts +0 -60
- package/src/helpers/buildIdNames.ts +0 -12
- package/src/helpers/canonSpec.ts +0 -114
- 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 +0 -4
- package/src/helpers/junk.ts +13 -89
- package/src/helpers/manifest.ts +0 -169
- package/src/helpers/modelNames.ts +0 -81
- 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 +0 -200
- package/src/helpers/optspec.ts +0 -77
- package/src/helpers/packageMeta.ts +1 -200
- package/src/helpers/pointPath.ts +0 -55
- package/src/helpers/resolved.ts +50 -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 +15 -263
- package/src/testkit.ts +6 -312
- package/src/types.ts +1 -30
- package/src/utility.ts +0 -243
|
@@ -29,15 +29,6 @@ import { MainEntity } from './MainEntity_lua'
|
|
|
29
29
|
import { EntityTypes } from './EntityTypes_lua'
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
// Features whose source is a CONTAINER under the top-level feature/ dir,
|
|
33
|
-
// beside the flat `<name>_feature.lua` every other lua feature is. Today
|
|
34
|
-
// that is `secrets`: its folder holds a vendored @voxgig/sekreto port, the
|
|
35
|
-
// voxgig/plugin runtime and the C transport helper - some forty files of
|
|
36
|
-
// key-store, request-signing and child-process code that an SDK which never
|
|
37
|
-
// asked for secrets must not ship. Anything named here is EXCLUDED from the
|
|
38
|
-
// verbatim copy unless the model SELECTS the feature (see the Copy below);
|
|
39
|
-
// its shipped test suite under test/feature/<name>/ goes with it. The
|
|
40
|
-
// clojure target gates its container the same way (Main_clojure.ts).
|
|
41
32
|
const CONTAINED = ['secrets']
|
|
42
33
|
|
|
43
34
|
|
|
@@ -56,12 +47,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
56
47
|
|
|
57
48
|
Gitignore({})
|
|
58
49
|
|
|
59
|
-
// THE feature/<name>/ CONTAINER IS GATED HERE, at generate time - the
|
|
60
|
-
// top-level-container peer of the `srcFeatureExcludes` gate ts and js
|
|
61
|
-
// apply to src/feature/<name>/. `target add` keeps an unselected
|
|
62
|
-
// feature out of a project's tm/ in the first place; this covers a
|
|
63
|
-
// feature switched off after it was added, and the generator suite,
|
|
64
|
-
// which copies the whole scaffold tree.
|
|
65
50
|
const containerExcludes = CONTAINED
|
|
66
51
|
.filter((name: string) => null == feature[name])
|
|
67
52
|
.flatMap((name: string) => [
|
|
@@ -70,13 +55,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
70
55
|
new RegExp('(^|/)test/feature/' + name + '/'),
|
|
71
56
|
])
|
|
72
57
|
|
|
73
|
-
// Copy tm/lua files with replacements.
|
|
74
|
-
//
|
|
75
|
-
// pluginExcludes: the generate-time plugin trim (an ACTIVE feature's
|
|
76
|
-
// INACTIVE plugin group's declared files stay out of the tree). The
|
|
77
|
-
// model's lua `path` entries are target-root-relative, which is this
|
|
78
|
-
// Copy's root - helpers/featureSource documents that getting the root
|
|
79
|
-
// wrong makes the trim a silent no-op.
|
|
80
58
|
Copy({
|
|
81
59
|
from: 'tm/' + target.name,
|
|
82
60
|
exclude: [/src\//, TEST_CONTROL_EXCLUDE,
|
|
@@ -86,29 +64,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
86
64
|
}
|
|
87
65
|
})
|
|
88
66
|
|
|
89
|
-
// THE NATIVE BUILD SEAM. sekreto's lua PLUGIN kinds (hashicorp, aws, ...)
|
|
90
|
-
// run a small compiled transport helper, because Lua 5.4 has no sockets
|
|
91
|
-
// and no TLS; the four built-in kinds never reach it. The helper's
|
|
92
|
-
// source is vendored with the feature (feature/secrets/native/
|
|
93
|
-
// sekretonet.c) and the template Makefile `-include`s this fragment, so
|
|
94
|
-
// it is compiled - and OpenSSL linked - ONLY when the model activates a
|
|
95
|
-
// plugin group that lua has definitions for. An SDK without secrets, or
|
|
96
|
-
// with the built-in chain alone, gets no fragment, no compiler run and
|
|
97
|
-
// no OpenSSL dependency.
|
|
98
|
-
//
|
|
99
|
-
// The vendored file opens with the vendoring tool's three-line `--`
|
|
100
|
-
// provenance header (every file under tm/lua is stamped in lua's comment
|
|
101
|
-
// syntax; the guard holds that), which the C compiler cannot read - so
|
|
102
|
-
// the rule feeds the compiler from line four. Line numbers in a compiler
|
|
103
|
-
// diagnostic are therefore three lower than in the file.
|
|
104
|
-
//
|
|
105
|
-
// TWO HELPERS, NOT ONE, AND THEY ARE BUILT DIFFERENTLY. The transport
|
|
106
|
-
// helper is a PROGRAM the plugins run; the mini vault's crypto is a
|
|
107
|
-
// LOADABLE MODULE the interpreter opens with package.loadlib, so it is
|
|
108
|
-
// compiled -shared -fPIC and keeps its `.so` name. Each is emitted only
|
|
109
|
-
// for the groups that actually use it: a chain of `[hashicorp]` builds
|
|
110
|
-
// no vault, and a chain of `[minivault]` opens no socket and links no
|
|
111
|
-
// TLS.
|
|
112
67
|
const nativeGroups: string[] = []
|
|
113
68
|
let wantsVault = false
|
|
114
69
|
each(feature, (f: any) => {
|
|
@@ -178,7 +133,6 @@ feature/secrets/native/sekretovault.so: feature/secrets/native/sekretovault.c
|
|
|
178
133
|
})
|
|
179
134
|
}
|
|
180
135
|
|
|
181
|
-
// Generate main SDK file
|
|
182
136
|
File({ name: model.name + '_sdk.' + target.ext }, () => {
|
|
183
137
|
|
|
184
138
|
Fragment(
|
|
@@ -190,15 +144,12 @@ feature/secrets/native/sekretovault.so: feature/secrets/native/sekretovault.c
|
|
|
190
144
|
// Load the LuaLS typed-model annotations module so it is part of
|
|
191
145
|
// the loaded program (module body is empty — no runtime effect) and
|
|
192
146
|
// does not depend on workspace-wide language-server scanning.
|
|
193
|
-
// NOTE: plain marker keys must EMBED the lua comment prefix
|
|
194
147
|
// (`-- #X`) — jostraca's bare `#X` form only matches `//`-style
|
|
195
148
|
// comment lines (cf. the `'-- #LoadOp'` keys in Entity_lua.ts).
|
|
196
149
|
'-- #TypesRequire': ({ indent }: any) => Content({ indent },
|
|
197
150
|
`-- Typed-model annotations (LuaLS ---@class); empty at runtime.\n` +
|
|
198
151
|
`require("${model.name}_types")`),
|
|
199
152
|
|
|
200
|
-
// Same embedded `-- ` prefix requirement as above (the bare
|
|
201
|
-
// '#BuildFeatures' key never matched the lua comment line).
|
|
202
153
|
'-- #BuildFeatures': ({ indent }: any) => {
|
|
203
154
|
each(feature, (feat: any) => {
|
|
204
155
|
const fname = feat.name.charAt(0).toUpperCase() + feat.name.slice(1)
|
|
@@ -214,7 +165,6 @@ self._utility.feature_hook(self._rootctx, "${name}")
|
|
|
214
165
|
}
|
|
215
166
|
},
|
|
216
167
|
|
|
217
|
-
// Entities - injected at SLOT
|
|
218
168
|
() => {
|
|
219
169
|
each(entity, (entity: ModelEntity) => {
|
|
220
170
|
const entitySDK = getModelPath(model, `main.${KIT}.entity.${entity.name}`)
|
|
@@ -224,10 +174,8 @@ self._utility.feature_hook(self._rootctx, "${name}")
|
|
|
224
174
|
})
|
|
225
175
|
})
|
|
226
176
|
|
|
227
|
-
// Generate typed-model annotations (LuaLS ---@class / ---@field)
|
|
228
177
|
EntityTypes({ target })
|
|
229
178
|
|
|
230
|
-
// Generate config module
|
|
231
179
|
Folder({ name: '.' }, () => {
|
|
232
180
|
Config({ target })
|
|
233
181
|
Schema({ target })
|
|
@@ -235,15 +183,10 @@ self._utility.feature_hook(self._rootctx, "${name}")
|
|
|
235
183
|
|
|
236
184
|
// GENERATED, NOT COPIED. Where the credential goes is a fact about the
|
|
237
185
|
// API - header, query or cookie, under the name the spec gives - and tm/
|
|
238
|
-
// can only hold one answer. See PrepareAuth_lua.
|
|
239
|
-
//
|
|
240
186
|
// Called at the TARGET ROOT, like Config above (that Folder({name:'.'})
|
|
241
187
|
// is the root itself), because the lua tree has no src/ wrapper: the
|
|
242
|
-
// component opens the one `utility` folder that
|
|
243
|
-
// require("utility.prepare_auth") needs.
|
|
244
188
|
PrepareAuth({ target })
|
|
245
189
|
|
|
246
|
-
// Generate feature factory module
|
|
247
190
|
File({ name: 'features.' + target.ext }, () => {
|
|
248
191
|
Content(`-- ${model.const.Name} SDK feature factory
|
|
249
192
|
|
|
@@ -285,7 +228,6 @@ return features
|
|
|
285
228
|
})
|
|
286
229
|
|
|
287
230
|
// Generate _make_feature function referenced by Main.fragment.lua
|
|
288
|
-
// This is part of the main SDK class, inserted via the slot
|
|
289
231
|
|
|
290
232
|
})
|
|
291
233
|
|
|
@@ -33,9 +33,6 @@ const SECRETS_CORE_MODULES = [
|
|
|
33
33
|
'feature/secrets/sekreto/err',
|
|
34
34
|
'feature/secrets/sekreto/name',
|
|
35
35
|
'feature/secrets/sekreto/providers',
|
|
36
|
-
// The shared plugin helpers, in no group: httpjson (eight kinds), net
|
|
37
|
-
// (httpjson, boru, secretspec), json and support (every kind), crypto
|
|
38
|
-
// (aws AND gcpsecrets - two groups, so neither may own it).
|
|
39
36
|
'feature/secrets/sekreto/plugins/crypto',
|
|
40
37
|
'feature/secrets/sekreto/plugins/httpjson',
|
|
41
38
|
'feature/secrets/sekreto/plugins/json',
|
|
@@ -110,23 +107,6 @@ dependencies = {
|
|
|
110
107
|
`)
|
|
111
108
|
}
|
|
112
109
|
|
|
113
|
-
// Feature modules must be listed too, or an install-from-rock ships a
|
|
114
|
-
// features.lua whose requires cannot resolve. Emitted from the model
|
|
115
|
-
// (each = sorted order, byte-stable), plus the base feature every
|
|
116
|
-
// factory falls back to. The station feature additionally carries the
|
|
117
|
-
// VENDORED voxgig_station library beside its adapter (no voxgig-station
|
|
118
|
-
// rock exists to depend on - station design 9.2's registry-less tier).
|
|
119
|
-
// Gated: a feature that does not apply to lua must not be listed
|
|
120
|
-
// as a rockspec module — the require would not resolve.
|
|
121
|
-
//
|
|
122
|
-
// The secrets feature carries the VENDORED sekreto core, the
|
|
123
|
-
// voxgig/plugin runtime and the shared plugin helpers (no sekreto or
|
|
124
|
-
// plugin rock exists to depend on); the plugin KINDS themselves are
|
|
125
|
-
// listed from the model's active `def.lua` entries, so a trimmed
|
|
126
|
-
// group's modules are not claimed. The compiled transport helper the
|
|
127
|
-
// plugin kinds run is NOT a rock module: `build.type = "builtin"`
|
|
128
|
-
// cannot produce an executable, so an install-from-rock carries the
|
|
129
|
-
// helper's source and `make build` compiles it where the SDK runs.
|
|
130
110
|
const feature = targetFeatures(model, target)
|
|
131
111
|
let featureModules = ` ["feature.base_feature"] = "feature/base_feature.lua",\n`
|
|
132
112
|
each(feature, (f: any) => {
|
|
@@ -12,64 +12,18 @@ import {
|
|
|
12
12
|
} from '@voxgig/sdkgen'
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
// WHERE THE CREDENTIAL GOES IS A FACT ABOUT THE API, so it is generated
|
|
16
|
-
// rather than templated. The lua peer of PrepareAuth_ts.
|
|
17
|
-
//
|
|
18
|
-
// This was a static file at tm/lua/utility/prepare_auth.lua that hardcoded
|
|
19
|
-
// a lower-case "authorization" HEADER. apidef has always resolved the
|
|
20
|
-
// scheme's "in" and "name" into main.kit.info.security - joplin's says
|
|
21
|
-
// in: "query", name: "token" - and generation dropped both. The result was
|
|
22
|
-
// an SDK that sent a header the API does not read and never sent the query
|
|
23
|
-
// parameter it does, so it could not authenticate at all. Four repos in
|
|
24
|
-
// the cedar fleet shipped that way: joplin (token), pipedrive (api_token),
|
|
25
|
-
// trello (key), lm-umbrella (apiKey).
|
|
26
|
-
//
|
|
27
|
-
// A template cannot fix this, because the three placements need three
|
|
28
|
-
// different bodies and a template has to pick one. A component emits the
|
|
29
|
-
// branch this API actually uses and nothing else - no dead query code in a
|
|
30
|
-
// bearer-token SDK, and no runtime branch on a value that is fixed at
|
|
31
|
-
// generation time.
|
|
32
|
-
//
|
|
33
|
-
// The header placement renders BYTE-FOR-BYTE what the template rendered,
|
|
34
|
-
// so every header-based lua SDK regenerates with a zero diff.
|
|
35
15
|
const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
36
16
|
const { target } = props
|
|
37
17
|
const { model } = props.ctx$
|
|
38
18
|
|
|
39
|
-
// `!isAuthSuppressed`, NOT `isAuthActive`. The latter is also false when
|
|
40
|
-
// the SPEC merely declares no security scheme (`main.kit.info.auth:
|
|
41
|
-
// false`), and those SDKs still carry a credential: optspec always
|
|
42
|
-
// declares `apikey` and makeOptions fills `options.auth` from its
|
|
43
|
-
// defaults, so the runtime guard never fired and they have always sent
|
|
44
|
-
// it. Only an explicit `main.kit.config.auth.active: false` means "no
|
|
45
|
-
// credential, ever", which is what isAuthSuppressed reads.
|
|
46
19
|
const active = !isAuthSuppressed(model)
|
|
47
20
|
const where = resolveAuthIn(model)
|
|
48
21
|
const prefix = resolveAuthPrefix(model)
|
|
49
22
|
const basic = isHttpBasicAuth(model)
|
|
50
23
|
|
|
51
|
-
// A HEADER NAME IS LOWER-CASED HERE; A QUERY OR COOKIE NAME IS NOT.
|
|
52
|
-
// Every header key the lua SDK writes is lower case (make_spec's
|
|
53
|
-
// "content-type", the secrets feature's "authorization", fetcher's
|
|
54
|
-
// lower-casing of the response headers), and HTTP header names are
|
|
55
|
-
// case-insensitive on the wire - so "Authorization" must arrive here as
|
|
56
|
-
// the "authorization" the rest of the SDK looks up. A query parameter
|
|
57
|
-
// and a cookie name are case-SENSITIVE: lm-umbrella's "apiKey" is not
|
|
58
|
-
// "apikey", and lower-casing it would break exactly the APIs this
|
|
59
|
-
// change exists to fix.
|
|
60
24
|
const cred = resolveAuthName(model)
|
|
61
25
|
const name = 'header' === where ? cred.toLowerCase() : cred
|
|
62
26
|
|
|
63
|
-
// FOLDER NESTING. Main_lua opens NO folder around this call: its
|
|
64
|
-
// Folder({name:'.'}) around Config is the target root itself, and the
|
|
65
|
-
// lua tree has no src/ wrapper (tm/lua/src holds only feature
|
|
66
|
-
// placeholders and Main's Copy excludes it). The template lived at
|
|
67
|
-
// tm/lua/utility/prepare_auth.lua, which the blanket Copy lands at
|
|
68
|
-
// <root>/utility/prepare_auth.lua - the one path
|
|
69
|
-
// require("utility.prepare_auth") in utility/register.lua resolves. So
|
|
70
|
-
// this component opens the single "utility" folder that path needs.
|
|
71
|
-
// Opening a second one would write <root>/utility/utility/, where
|
|
72
|
-
// nothing requires it.
|
|
73
27
|
Folder({ name: 'utility' }, () => {
|
|
74
28
|
File({ name: 'prepare_auth.' + target.ext }, () => {
|
|
75
29
|
Content(render({
|
|
@@ -91,8 +45,6 @@ function render(spec: {
|
|
|
91
45
|
}): string {
|
|
92
46
|
const head = `-- ${spec.project} SDK utility: prepare_auth\n`
|
|
93
47
|
|
|
94
|
-
// NO AUTH AT ALL. A public API's SDK gets a prepare_auth that is honest
|
|
95
|
-
// about it rather than one that deletes a header nobody set.
|
|
96
48
|
if (!spec.active) {
|
|
97
49
|
return head + `
|
|
98
50
|
-- This API declares no authentication, so there is no credential to place.
|
|
@@ -166,8 +118,6 @@ return prepare_auth_util
|
|
|
166
118
|
}
|
|
167
119
|
|
|
168
120
|
|
|
169
|
-
// The constant the credential name is bound to, named for where it goes -
|
|
170
|
-
// a reader of the generated file should not have to ask.
|
|
171
121
|
function credConst(where: string): string {
|
|
172
122
|
return 'query' === where ? 'QUERY_AUTH' :
|
|
173
123
|
'cookie' === where ? 'COOKIE_AUTH' : 'HEADER_AUTH'
|
|
@@ -200,9 +150,6 @@ function clear(where: string, indent: number): string {
|
|
|
200
150
|
|
|
201
151
|
function place(where: string): string {
|
|
202
152
|
if ('query' === where) {
|
|
203
|
-
// NO PREFIX IN A QUERY STRING. "?token=Bearer%20abc" is not a thing any
|
|
204
|
-
// API reads; the prefix is a header-value convention and is dropped
|
|
205
|
-
// here deliberately rather than silently concatenated.
|
|
206
153
|
return ` -- NO PREFIX IN A QUERY STRING: "?token=Bearer%20abc" is not a thing
|
|
207
154
|
-- any API reads, so the auth.prefix a header placement space-joins is
|
|
208
155
|
-- dropped here deliberately rather than concatenated.
|
|
@@ -223,8 +170,6 @@ function place(where: string): string {
|
|
|
223
170
|
cookie_set(headers, apikey_val)`
|
|
224
171
|
}
|
|
225
172
|
|
|
226
|
-
// BYTE-FOR-BYTE the template's body, so a header-based SDK regenerates
|
|
227
|
-
// unchanged.
|
|
228
173
|
return ` local auth_prefix = ""
|
|
229
174
|
local ap = vs.getpath(options, "auth.prefix")
|
|
230
175
|
if type(ap) == "string" then
|
|
@@ -243,8 +188,6 @@ function place(where: string): string {
|
|
|
243
188
|
}
|
|
244
189
|
|
|
245
190
|
|
|
246
|
-
// True HTTP Basic Auth: two credentials, base64-joined. Emitted only for a
|
|
247
|
-
// header placement (see render).
|
|
248
191
|
const BASIC = `
|
|
249
192
|
-- True HTTP Basic Auth needs TWO credentials, base64-joined - a single
|
|
250
193
|
-- token in the header (the branch below) can never authenticate against
|
|
@@ -322,10 +265,6 @@ end
|
|
|
322
265
|
`
|
|
323
266
|
|
|
324
267
|
|
|
325
|
-
// A cookie header is SHARED: any other cookie the caller set rides in the
|
|
326
|
-
// same string, so the credential pair is rewritten in place and everything
|
|
327
|
-
// else is kept. A plain assignment would throw the caller's cookies away.
|
|
328
|
-
// A nil value removes just our pair.
|
|
329
268
|
const COOKIE_SET = `
|
|
330
269
|
local function cookie_set(headers, value)
|
|
331
270
|
local kept = {}
|
|
@@ -19,12 +19,8 @@ function luaLit(type: any, placeholder: string = 'example'): string {
|
|
|
19
19
|
return `"${placeholder}"`
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
// Non-identifier table keys use bracket syntax.
|
|
23
22
|
|
|
24
23
|
|
|
25
|
-
// Operation method spelling differs between Go and other languages — Go
|
|
26
|
-
// uses PascalCase methods with explicit ctrl arg, others use lowercase
|
|
27
|
-
// methods with optional ctrl. The op descriptions are language-agnostic.
|
|
28
24
|
const OP_DESC: Record<string, { method: string, desc: string }> = {
|
|
29
25
|
load: { method: 'load(match)', desc: 'Load a single entity by match criteria.' },
|
|
30
26
|
list: { method: 'list(match)', desc: 'List entities matching the criteria.' },
|
|
@@ -56,7 +52,6 @@ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
|
56
52
|
publishedEntities.map((entity: any) => {
|
|
57
53
|
const opnames = Object.keys(entity.op || {})
|
|
58
54
|
const fields = entity.fields || []
|
|
59
|
-
// Model-driven id key: null when this entity has no id-like field.
|
|
60
55
|
const idF = entityIdField(entity)
|
|
61
56
|
// Sanitise the local variable name — an entity whose lowercased name is a
|
|
62
57
|
// Lua keyword (e.g. `end`) would otherwise emit uncompilable code.
|
|
@@ -113,9 +108,6 @@ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
|
113
108
|
}
|
|
114
109
|
|
|
115
110
|
if (opnames.includes('load')) {
|
|
116
|
-
// The id key plus every REQUIRED match key (parent path params like
|
|
117
|
-
// page_id) — the same shape the runtime resolves path params from, so
|
|
118
|
-
// the example always works.
|
|
119
111
|
const loadItems = opRequestShape(entity, 'load').items
|
|
120
112
|
.filter((it: any) => !it.optional || it.name === idF)
|
|
121
113
|
.sort((a: any, b: any) =>
|
|
@@ -6,30 +6,6 @@ import {
|
|
|
6
6
|
} from '@voxgig/apidef'
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
// Emits lua/test/readme_examples_test.lua — a busted spec that is a
|
|
10
|
-
// COMPLETENESS GATE over every ```lua block in ALL THREE docs that ship
|
|
11
|
-
// lua examples:
|
|
12
|
-
// - the root README.md (top-level, multi-language quick start)
|
|
13
|
-
// - the per-language lua/README.md
|
|
14
|
-
// - the per-language lua/REFERENCE.md
|
|
15
|
-
//
|
|
16
|
-
// For every ```lua block, tagged by (source doc, index):
|
|
17
|
-
// 1. Syntax: it must compile with Lua's load() — catches malformed
|
|
18
|
-
// example code (missing end, bad token, ...).
|
|
19
|
-
// 2. Offline run: every RUNNABLE block (one that builds a client via
|
|
20
|
-
// sdk.new/sdk.test or references `client`) is EXECUTED with the mock
|
|
21
|
-
// transport (no network). Each client constructor is rewritten to the
|
|
22
|
-
// seeded test-mode form, and fragments that only use `client` get a
|
|
23
|
-
// seeded test client injected. A call to a method that does not exist
|
|
24
|
-
// — e.g. a lowercase entity accessor after the API capitalised it to
|
|
25
|
-
// client:Entity() — raises "call a nil value" and FAILS the test.
|
|
26
|
-
// Entity operations return a (value, err) tuple, so a seeded-fixture
|
|
27
|
-
// miss surfaces as a tolerated (nil, err) not-found domain error.
|
|
28
|
-
// 3. Completeness: every block is partitioned into {executed, illustration}
|
|
29
|
-
// and total == executed + illustration is asserted per doc. A block that
|
|
30
|
-
// is neither runnable nor a NARROW explicit illustration (a comment-only
|
|
31
|
-
// / --[[ ]] placeholder) is a silently-untested example and FAILS the
|
|
32
|
-
// gate — "illustration" is never a catch-all.
|
|
33
9
|
const ReadmeExamplesTest = cmp(function ReadmeExamplesTest(props: any) {
|
|
34
10
|
const { ctx$: { model } } = props
|
|
35
11
|
|
|
@@ -13,10 +13,6 @@ const ReadmeModel = cmp(function ReadmeModel(props: any) {
|
|
|
13
13
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
14
14
|
const entityList = each(entity).filter((e: any) => e.active !== false)
|
|
15
15
|
|
|
16
|
-
// Model-driven op rows for the shared entity interface: emit a
|
|
17
|
-
// load/list/create/update/remove row only for operations at least one active
|
|
18
|
-
// entity actually exposes (a read-only entity has just list+load) — never
|
|
19
|
-
// document an operation no entity has.
|
|
20
16
|
const opUnion = new Set<string>()
|
|
21
17
|
entityList.forEach((e: any) => Object.keys(e.op || {})
|
|
22
18
|
.forEach((o: string) => { if (e.op[o] && e.op[o].active !== false) opUnion.add(o) }))
|
|
@@ -30,9 +26,6 @@ const ReadmeModel = cmp(function ReadmeModel(props: any) {
|
|
|
30
26
|
const opRows = ['load', 'list', 'create', 'update', 'remove']
|
|
31
27
|
.filter((o) => opUnion.has(o)).map((o) => opRowDefs[o]).join('\n')
|
|
32
28
|
|
|
33
|
-
// Model-driven Result-shape rows: only describe the operations that
|
|
34
|
-
// actually exist. Record-returning ops (load/create/update/remove) share
|
|
35
|
-
// one row; list has its own — never name a missing op.
|
|
36
29
|
const recordOps = ['load', 'create', 'update', 'remove'].filter((o) => opUnion.has(o))
|
|
37
30
|
.map((o) => '`' + o + '`')
|
|
38
31
|
const resultRows: string[] = []
|
|
@@ -50,8 +43,6 @@ const ReadmeModel = cmp(function ReadmeModel(props: any) {
|
|
|
50
43
|
const eName = exEnt.Name || 'Entity'
|
|
51
44
|
const eLower = String(exEnt.name || 'entity').toLowerCase()
|
|
52
45
|
const hasLoad = null != (exEnt.op || {}).load
|
|
53
|
-
// Model-driven id key: null when the example entity has no id-like field, so
|
|
54
|
-
// the Result-shape load illustration takes no match argument.
|
|
55
46
|
const idF = entityIdField(exEnt)
|
|
56
47
|
|
|
57
48
|
const apikeyOptionRow = isAuthActive(model)
|
|
@@ -136,7 +127,6 @@ Only \`direct()\` returns a response envelope — a \`table\` with \`ok\`,
|
|
|
136
127
|
|
|
137
128
|
`)
|
|
138
129
|
|
|
139
|
-
// Entities summary
|
|
140
130
|
Content(`### Entities
|
|
141
131
|
|
|
142
132
|
`)
|
|
@@ -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 &&
|
|
@@ -108,9 +105,6 @@ end
|
|
|
108
105
|
const neArticle = /^[aeiou]/i.test(neName) ? "an" : "a"
|
|
109
106
|
const neVar = exampleVarName(neName.toLowerCase(), 'lua')
|
|
110
107
|
|
|
111
|
-
// Model-driven match: every REQUIRED load-match key — the same shape
|
|
112
|
-
// the runtime resolves path params from, so the example always works.
|
|
113
|
-
// Parent keys (e.g. page_id) first, the entity's own id last.
|
|
114
108
|
const neIdF = entityIdField(nestedEntity)
|
|
115
109
|
const neRequired = opRequestShape(nestedEntity, 'load').items
|
|
116
110
|
.filter((it: any) => !it.optional)
|
|
@@ -136,9 +130,6 @@ print(${neVar})
|
|
|
136
130
|
`)
|
|
137
131
|
}
|
|
138
132
|
else if (opnames.includes('load')) {
|
|
139
|
-
// Every REQUIRED load-match key (id first, then parent path params like
|
|
140
|
-
// page_id) — the same shape the runtime resolves path params from, so
|
|
141
|
-
// the example always works.
|
|
142
133
|
const loadRequired = opRequestShape(exampleEntity, 'load').items
|
|
143
134
|
.filter((it: any) => !it.optional || it.name === idF)
|
|
144
135
|
.sort((a: any, b: any) =>
|
|
@@ -160,20 +151,12 @@ print(${eVar})
|
|
|
160
151
|
`)
|
|
161
152
|
}
|
|
162
153
|
|
|
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 Lua-typed by the
|
|
166
|
-
// field's canonical type; non-identifier keys use bracket syntax. ids are
|
|
167
|
-
// rendered separately as the match key for update/remove; a REQUIRED
|
|
168
|
-
// create id stays (the call is invalid without it).
|
|
169
154
|
const examplePairs = (opname: string): string[] => {
|
|
170
155
|
const items = opRequestShape(exampleEntity, opname).items
|
|
171
156
|
.filter((it: any) => !idNames.has(it.name) ||
|
|
172
157
|
('create' === opname && !it.optional))
|
|
173
158
|
const required = items.filter((it: any) => !it.optional)
|
|
174
159
|
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
160
|
const chosen = 'create' === opname
|
|
178
161
|
? (required.length ? required : items.slice(0, 2))
|
|
179
162
|
: required.concat(optional).slice(0, Math.max(2, required.length))
|
|
@@ -181,8 +164,6 @@ print(${eVar})
|
|
|
181
164
|
`${luaKey(it.name)} = ${luaLit(it.type, 'example_' + it.name)}`)
|
|
182
165
|
}
|
|
183
166
|
|
|
184
|
-
// The id VALUE for an update/remove match: off the returned `created` record
|
|
185
|
-
// only when its data type carries the id AND a create ran, else a literal.
|
|
186
167
|
const idParamType = (opname: string): any => {
|
|
187
168
|
const it = opRequestShape(exampleEntity, opname).items.find((x: any) => x.name === idF)
|
|
188
169
|
return it && it.type
|
|
@@ -211,8 +192,6 @@ client:${eName}():update({ ${updatePairs.join(', ')} })
|
|
|
211
192
|
`)
|
|
212
193
|
}
|
|
213
194
|
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
195
|
const removePairs = opRequestShape(exampleEntity, 'remove').items
|
|
217
196
|
.filter((it: any) => !it.optional || it.name === idF)
|
|
218
197
|
.sort((a: any, b: any) =>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { cmp, each, Content, canonToType, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape, safeVarName, exampleVarName, luaKey } from '@voxgig/sdkgen'
|
|
2
|
+
import { cmp, each, Content, canonToType, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape, safeVarName, exampleVarName, luaKey , targetFeatures } from '@voxgig/sdkgen'
|
|
3
3
|
import { ReadmeRefFeatures } from '@voxgig/sdkgen'
|
|
4
4
|
|
|
5
5
|
import {
|
|
@@ -57,7 +57,7 @@ const ReadmeRef = cmp(function ReadmeRef(props: any) {
|
|
|
57
57
|
const { model } = props.ctx$
|
|
58
58
|
|
|
59
59
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
60
|
-
const feature =
|
|
60
|
+
const feature = targetFeatures(model, target)
|
|
61
61
|
|
|
62
62
|
const publishedEntities = each(entity).filter((e: any) => e.active !== false)
|
|
63
63
|
|
|
@@ -119,7 +119,6 @@ local client = sdk.test()
|
|
|
119
119
|
`)
|
|
120
120
|
|
|
121
121
|
|
|
122
|
-
// Entity factory methods
|
|
123
122
|
publishedEntities.map((ent: any) => {
|
|
124
123
|
Content(`#### \`${ent.Name}(data)\`
|
|
125
124
|
|
|
@@ -165,7 +164,6 @@ same parameters as \`direct()\`.
|
|
|
165
164
|
`)
|
|
166
165
|
|
|
167
166
|
|
|
168
|
-
// Entity reference sections
|
|
169
167
|
publishedEntities.map((ent: any) => {
|
|
170
168
|
const opnames = Object.keys(ent.op || {})
|
|
171
169
|
const fields = ent.fields || []
|
|
@@ -196,7 +194,6 @@ local ${eVar} = client:${ent.Name}(nil)
|
|
|
196
194
|
`)
|
|
197
195
|
|
|
198
196
|
|
|
199
|
-
// Field schema
|
|
200
197
|
if (fields.length > 0) {
|
|
201
198
|
Content(`### Fields
|
|
202
199
|
|
|
@@ -243,7 +240,6 @@ local ${eVar} = client:${ent.Name}(nil)
|
|
|
243
240
|
}
|
|
244
241
|
|
|
245
242
|
|
|
246
|
-
// Operation details
|
|
247
243
|
if (opnames.length > 0) {
|
|
248
244
|
Content(`### Operations
|
|
249
245
|
|
|
@@ -259,7 +255,6 @@ ${info.desc}
|
|
|
259
255
|
|
|
260
256
|
`)
|
|
261
257
|
|
|
262
|
-
// Show example
|
|
263
258
|
if ('load' === opname || 'remove' === opname) {
|
|
264
259
|
// The id key plus every REQUIRED match key (parent path params
|
|
265
260
|
// like page_id) — the same shape the runtime resolves path
|
|
@@ -328,7 +323,6 @@ ${updateLines} -- Fields to update
|
|
|
328
323
|
}
|
|
329
324
|
|
|
330
325
|
|
|
331
|
-
// Common methods
|
|
332
326
|
Content(`### Common Methods
|
|
333
327
|
|
|
334
328
|
#### \`data_get() -> table\`
|
|
@@ -360,7 +354,6 @@ Return the entity name.
|
|
|
360
354
|
})
|
|
361
355
|
|
|
362
356
|
|
|
363
|
-
// Features section
|
|
364
357
|
const activeFeatures = each(feature).filter((f: any) => f.active)
|
|
365
358
|
if (activeFeatures.length > 0) {
|
|
366
359
|
Content(`
|
|
@@ -396,9 +389,6 @@ local client = sdk.new({
|
|
|
396
389
|
\`\`\`
|
|
397
390
|
|
|
398
391
|
`)
|
|
399
|
-
// The shared feature reference: options, defaults, usage and the
|
|
400
|
-
// considerations. Model facts, identical in every target, so they are
|
|
401
|
-
// written once in cmp/ReadmeRefFeatures.ts rather than here.
|
|
402
392
|
ReadmeRefFeatures({ target })
|
|
403
393
|
}
|
|
404
394
|
|
|
@@ -19,7 +19,6 @@ function luaLit(type: any, placeholder: string = 'example'): string {
|
|
|
19
19
|
return `"${placeholder}"`
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
// Non-identifier table keys use bracket syntax.
|
|
23
22
|
|
|
24
23
|
|
|
25
24
|
const ReadmeTopQuick = cmp(function ReadmeTopQuick(props: any) {
|
|
@@ -47,8 +46,6 @@ local client = ${ctor}
|
|
|
47
46
|
// Lua keyword (e.g. `end`) would otherwise emit uncompilable code.
|
|
48
47
|
const eVar = exampleVarName(eName.toLowerCase(), 'lua')
|
|
49
48
|
const opnames = Object.keys(exampleEntity.op || {})
|
|
50
|
-
// Model-driven id key: null when the entity has no id-like field, in which
|
|
51
|
-
// case the load example takes no match argument.
|
|
52
49
|
const idF = entityIdField(exampleEntity)
|
|
53
50
|
|
|
54
51
|
let hasCall = false
|
|
@@ -17,22 +17,6 @@ import {
|
|
|
17
17
|
} from './utility_lua'
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
// THE GENERATED SCHEMA MODULE: the model's schemas, as data the SDK can run.
|
|
21
|
-
//
|
|
22
|
-
// The lua peer of src/cmp/ts/Schema_ts.ts. Same two exports, same source —
|
|
23
|
-
// OPTSPEC from `main.kit.optspec` plus each feature's own `config.options`,
|
|
24
|
-
// ENTITYSPEC from the entity field sentinels — built by the shared helpers,
|
|
25
|
-
// so what lua validates against and what ts validates against cannot drift.
|
|
26
|
-
//
|
|
27
|
-
// EMBEDDED AS JSON IN A LONG BRACKET, PARSED AT LOAD: the mechanism
|
|
28
|
-
// config.lua already uses for the model above the size threshold.
|
|
29
|
-
// `luaLongString` picks a bracket level no `]]` in the content can close, so
|
|
30
|
-
// the sentinels' backticks and the JSON's own quoting survive verbatim with
|
|
31
|
-
// no escaping at all.
|
|
32
|
-
//
|
|
33
|
-
// The round-trip is exact because the spec holds only strings and booleans —
|
|
34
|
-
// pinned by "strings and booleans only, so the JSON round-trip is lossless"
|
|
35
|
-
// in ts/test/optspec.test.ts.
|
|
36
20
|
const Schema = cmp(async function Schema(props: any) {
|
|
37
21
|
const ctx$ = props.ctx$
|
|
38
22
|
const target = props.target
|
|
@@ -251,8 +251,6 @@ ${listSkipBlock} local client = setup.client
|
|
|
251
251
|
}
|
|
252
252
|
|
|
253
253
|
if (hasLoad && loadPoint) {
|
|
254
|
-
// Skip live direct-load only when we can't fill path params:
|
|
255
|
-
// no spec examples and no list-bootstrap. Spec examples win first.
|
|
256
254
|
const loadSkipBlock = (loadParams.length > 0 && !loadAllHaveExamples)
|
|
257
255
|
? ` if setup.live then
|
|
258
256
|
pending("live direct-load needs real ID — set *_ENTID env var with real IDs to run")
|
|
@@ -66,28 +66,6 @@ function formatLuaValue(val: any, indent: number = 0): string {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
|
|
69
|
-
// Emission-time normalisation of a model subtree (L0).
|
|
70
|
-
//
|
|
71
|
-
// Always drops jostraca's iteration metadata (`$`-suffixed keys: index$,
|
|
72
|
-
// key$, val$). With `dropDefaults`, also drops keys whose value IS the
|
|
73
|
-
// default the runtime already assumes when the key is absent, which is pure
|
|
74
|
-
// payload — see CONFIG_DEFAULT.
|
|
75
|
-
//
|
|
76
|
-
// Rebuilds the tree rather than mutating during a walk. The previous
|
|
77
|
-
// implementation walked a clone calling `delete p[k]`, but walk() assigns its
|
|
78
|
-
// callback's result back over the child (`setprop(out, ckey, walk(...))`), so
|
|
79
|
-
// the delete was undone on the way out and the helper silently did nothing.
|
|
80
|
-
// Returning `undefined` from the callback does not fix it either: setprop
|
|
81
|
-
// stores undefined rather than removing the key, which then emits as a null.
|
|
82
|
-
//
|
|
83
|
-
// `dropDefaults` is opt-in and must be passed ONLY for the entity subtree.
|
|
84
|
-
// `active` means something different in feature config, where absent reads as
|
|
85
|
-
// INACTIVE (see feature_init) — dropping `active: true` there would silently
|
|
86
|
-
// disable the feature.
|
|
87
|
-
// jostraca's iteration metadata, injected by each()/names() while it walks the
|
|
88
|
-
// model. Listed explicitly rather than matched by trailing-dollar suffix: a
|
|
89
|
-
// trailing dollar is not exclusive to jostraca -- Seneca uses entity$ as real
|
|
90
|
-
// data -- so a blanket suffix match can silently drop a legitimate API field.
|
|
91
69
|
const MODEL_META = ['index$', 'key$', 'val$']
|
|
92
70
|
|
|
93
71
|
// Keys whose value IS the default the runtime already assumes when the key is
|
|
@@ -128,14 +106,6 @@ function clean(o: any, dropDefaults?: boolean): any {
|
|
|
128
106
|
|
|
129
107
|
|
|
130
108
|
|
|
131
|
-
// A Lua LONG-BRACKET string holding `s` verbatim.
|
|
132
|
-
//
|
|
133
|
-
// Lua's quoted strings process escapes, so the JSON's own `\n` and `\uXXXX`
|
|
134
|
-
// would be consumed by the Lua lexer before the JSON decoder ever saw them -
|
|
135
|
-
// turning an escaped newline into a real one inside a JSON string (invalid
|
|
136
|
-
// JSON), and failing outright on `\uXXXX`, which Lua 5.1/5.2 do not accept at
|
|
137
|
-
// all. A long bracket processes nothing, so the JSON text survives byte for
|
|
138
|
-
// byte. The level is raised until its terminator does not occur in the text.
|
|
139
109
|
function luaLongString(s: string): string {
|
|
140
110
|
let level = 0
|
|
141
111
|
while (s.includes(']' + '='.repeat(level) + ']')) {
|