@voxgig/sdkgen 4.21.0 → 4.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/voxgig-sdkgen +1 -1
- package/dist/action/action.js +0 -65
- package/dist/action/action.js.map +1 -1
- package/dist/action/check.js +0 -88
- package/dist/action/check.js.map +1 -1
- package/dist/action/dispatch.js +0 -27
- package/dist/action/dispatch.js.map +1 -1
- package/dist/action/doctor.d.ts +1 -0
- package/dist/action/doctor.js +55 -321
- package/dist/action/doctor.js.map +1 -1
- package/dist/action/edition.js +1 -87
- package/dist/action/edition.js.map +1 -1
- package/dist/action/feature.js +0 -48
- package/dist/action/feature.js.map +1 -1
- package/dist/action/kind.js +0 -132
- package/dist/action/kind.js.map +1 -1
- package/dist/action/package.js +0 -221
- package/dist/action/package.js.map +1 -1
- package/dist/action/resolve.js +0 -145
- package/dist/action/resolve.js.map +1 -1
- package/dist/action/target.js +0 -177
- package/dist/action/target.js.map +1 -1
- package/dist/cmp/AgentGuide.js +0 -7
- package/dist/cmp/AgentGuide.js.map +1 -1
- package/dist/cmp/AgentGuideContent.js +0 -24
- package/dist/cmp/AgentGuideContent.js.map +1 -1
- package/dist/cmp/AgentGuideTop.js +0 -7
- package/dist/cmp/AgentGuideTop.js.map +1 -1
- package/dist/cmp/Changelog.js +0 -14
- package/dist/cmp/Changelog.js.map +1 -1
- package/dist/cmp/Deploy.js +1 -31
- package/dist/cmp/Deploy.js.map +1 -1
- package/dist/cmp/Entity.js +0 -4
- package/dist/cmp/Entity.js.map +1 -1
- package/dist/cmp/ExternalTarget.js +0 -36
- package/dist/cmp/ExternalTarget.js.map +1 -1
- package/dist/cmp/Feature.js +0 -14
- package/dist/cmp/Feature.js.map +1 -1
- package/dist/cmp/FeatureDocs.js +0 -25
- package/dist/cmp/FeatureDocs.js.map +1 -1
- package/dist/cmp/PublishWorkflow.js +0 -60
- package/dist/cmp/PublishWorkflow.js.map +1 -1
- package/dist/cmp/ReadmeErrors.js +0 -2
- package/dist/cmp/ReadmeErrors.js.map +1 -1
- package/dist/cmp/ReadmeExplanation.js +0 -5
- package/dist/cmp/ReadmeExplanation.js.map +1 -1
- package/dist/cmp/ReadmeFeatures.js +0 -10
- package/dist/cmp/ReadmeFeatures.js.map +1 -1
- package/dist/cmp/ReadmeRefFeatures.js +0 -19
- package/dist/cmp/ReadmeRefFeatures.js.map +1 -1
- package/dist/cmp/ReadmeStation.js +0 -19
- package/dist/cmp/ReadmeStation.js.map +1 -1
- package/dist/cmp/ReadmeTop.js +1 -81
- package/dist/cmp/ReadmeTop.js.map +1 -1
- package/dist/cmp/ReadmeUnions.js +1 -16
- package/dist/cmp/ReadmeUnions.js.map +1 -1
- package/dist/cmp/Registered.js +0 -30
- package/dist/cmp/Registered.js.map +1 -1
- package/dist/cmp/Security.js +0 -2
- package/dist/cmp/Security.js.map +1 -1
- package/dist/cmp/Test.js +3 -2
- package/dist/cmp/Test.js.map +1 -1
- package/dist/cmp/TestControl.js +0 -25
- package/dist/cmp/TestControl.js.map +1 -1
- package/dist/helpers/applicability.js +0 -60
- package/dist/helpers/applicability.js.map +1 -1
- package/dist/helpers/buildIdNames.d.ts +3 -1
- package/dist/helpers/buildIdNames.js +15 -19
- package/dist/helpers/buildIdNames.js.map +1 -1
- package/dist/helpers/canonSpec.js +2 -116
- package/dist/helpers/canonSpec.js.map +1 -1
- package/dist/helpers/canonType.js +0 -87
- package/dist/helpers/canonType.js.map +1 -1
- package/dist/helpers/collectDeps.js +0 -27
- package/dist/helpers/collectDeps.js.map +1 -1
- package/dist/helpers/definition.js +0 -29
- package/dist/helpers/definition.js.map +1 -1
- package/dist/helpers/dryrun.js +0 -8
- package/dist/helpers/dryrun.js.map +1 -1
- package/dist/helpers/featureSource.js +0 -145
- package/dist/helpers/featureSource.js.map +1 -1
- package/dist/helpers/getMatchEntries.js +2 -6
- package/dist/helpers/getMatchEntries.js.map +1 -1
- package/dist/helpers/junk.js +9 -85
- package/dist/helpers/junk.js.map +1 -1
- package/dist/helpers/manifest.js +0 -138
- package/dist/helpers/manifest.js.map +1 -1
- package/dist/helpers/modelNames.js +5 -79
- package/dist/helpers/modelNames.js.map +1 -1
- package/dist/helpers/modelcheck.js +0 -106
- package/dist/helpers/modelcheck.js.map +1 -1
- package/dist/helpers/naming.d.ts +0 -1
- package/dist/helpers/naming.js +0 -303
- package/dist/helpers/naming.js.map +1 -1
- package/dist/helpers/opExample.js +0 -51
- package/dist/helpers/opExample.js.map +1 -1
- package/dist/helpers/opShape.js +33 -231
- package/dist/helpers/opShape.js.map +1 -1
- package/dist/helpers/optspec.js +0 -77
- package/dist/helpers/optspec.js.map +1 -1
- package/dist/helpers/packageMeta.js +1 -200
- package/dist/helpers/packageMeta.js.map +1 -1
- package/dist/helpers/pointPath.js +5 -65
- package/dist/helpers/pointPath.js.map +1 -1
- package/dist/helpers/resolved.d.ts +6 -0
- package/dist/helpers/resolved.js +22 -0
- package/dist/helpers/resolved.js.map +1 -0
- package/dist/helpers/semver.js +0 -61
- package/dist/helpers/semver.js.map +1 -1
- package/dist/helpers/serverVars.js +0 -44
- package/dist/helpers/serverVars.js.map +1 -1
- package/dist/helpers/shipped.js +0 -14
- package/dist/helpers/shipped.js.map +1 -1
- package/dist/helpers/station.js +0 -32
- package/dist/helpers/station.js.map +1 -1
- package/dist/helpers/stdrep.js +0 -26
- package/dist/helpers/stdrep.js.map +1 -1
- package/dist/helpers/testPolicy.js +0 -4
- package/dist/helpers/testPolicy.js.map +1 -1
- package/dist/sdkgen.d.ts +3 -2
- package/dist/sdkgen.js +15 -242
- package/dist/sdkgen.js.map +1 -1
- package/dist/testkit.js +6 -266
- package/dist/testkit.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utility.js +15 -250
- package/dist/utility.js.map +1 -1
- package/model/sdkgen.aon +12 -489
- package/package.json +4 -4
- package/project/.sdk/model/feature/audit.aon +0 -7
- package/project/.sdk/model/feature/cache.aon +0 -7
- package/project/.sdk/model/feature/clienttrack.aon +0 -7
- package/project/.sdk/model/feature/cost.aon +0 -13
- package/project/.sdk/model/feature/debug.aon +0 -7
- package/project/.sdk/model/feature/idempotency.aon +0 -7
- package/project/.sdk/model/feature/log.aon +0 -7
- package/project/.sdk/model/feature/metrics.aon +0 -7
- package/project/.sdk/model/feature/netsim.aon +0 -10
- package/project/.sdk/model/feature/paging.aon +0 -7
- package/project/.sdk/model/feature/proxy.aon +0 -7
- package/project/.sdk/model/feature/ratelimit.aon +0 -7
- package/project/.sdk/model/feature/retry.aon +0 -7
- package/project/.sdk/model/feature/secrets.aon +0 -482
- package/project/.sdk/model/feature/streaming.aon +0 -7
- package/project/.sdk/model/feature/telemetry.aon +0 -7
- package/project/.sdk/model/feature/test.aon +1 -8
- package/project/.sdk/model/feature/timeout.aon +0 -7
- package/project/.sdk/model/feature/validate.aon +0 -32
- package/project/.sdk/model/target/c.aon +0 -41
- package/project/.sdk/model/target/clojure.aon +0 -36
- package/project/.sdk/model/target/cpp.aon +0 -42
- package/project/.sdk/model/target/csharp.aon +0 -26
- package/project/.sdk/model/target/elixir.aon +0 -22
- package/project/.sdk/model/target/go-cli.aon +0 -30
- package/project/.sdk/model/target/go-mcp.aon +0 -21
- package/project/.sdk/model/target/go.aon +0 -9
- package/project/.sdk/model/target/java.aon +0 -29
- package/project/.sdk/model/target/js.aon +2 -21
- package/project/.sdk/model/target/kotlin.aon +0 -31
- package/project/.sdk/model/target/lua.aon +0 -32
- package/project/.sdk/model/target/ocaml.aon +0 -64
- package/project/.sdk/model/target/perl.aon +0 -20
- package/project/.sdk/model/target/php.aon +0 -17
- package/project/.sdk/model/target/py-data.aon +0 -33
- package/project/.sdk/model/target/py.aon +0 -17
- package/project/.sdk/model/target/rb.aon +0 -17
- package/project/.sdk/model/target/rust.aon +0 -25
- package/project/.sdk/model/target/scala.aon +0 -74
- package/project/.sdk/model/target/swift.aon +0 -41
- package/project/.sdk/model/target/ts.aon +3 -25
- package/project/.sdk/model/target/zig.aon +0 -50
- package/project/.sdk/src/cmp/c/Config_c.ts +0 -100
- package/project/.sdk/src/cmp/c/EntityTypes_c.ts +4 -40
- package/project/.sdk/src/cmp/c/Main_c.ts +0 -44
- package/project/.sdk/src/cmp/c/Package_c.ts +0 -14
- package/project/.sdk/src/cmp/c/PrepareAuth_c.ts +0 -85
- package/project/.sdk/src/cmp/c/ReadmeEntity_c.ts +3 -3
- package/project/.sdk/src/cmp/c/ReadmeExamplesTest_c.ts +0 -20
- package/project/.sdk/src/cmp/c/ReadmeModel_c.ts +3 -3
- package/project/.sdk/src/cmp/c/ReadmeRef_c.ts +7 -10
- package/project/.sdk/src/cmp/c/ReadmeTopQuick_c.ts +0 -2
- package/project/.sdk/src/cmp/c/Schema_c.ts +1 -20
- package/project/.sdk/src/cmp/c/TestDirect_c.ts +12 -12
- package/project/.sdk/src/cmp/c/utility_c.ts +0 -47
- package/project/.sdk/src/cmp/clojure/Config_clojure.ts +0 -63
- package/project/.sdk/src/cmp/clojure/Entity_clojure.ts +0 -1
- package/project/.sdk/src/cmp/clojure/Main_clojure.ts +0 -41
- package/project/.sdk/src/cmp/clojure/Package_clojure.ts +0 -20
- package/project/.sdk/src/cmp/clojure/PrepareAuth_clojure.ts +0 -130
- package/project/.sdk/src/cmp/clojure/ReadmeEntity_clojure.ts +3 -3
- package/project/.sdk/src/cmp/clojure/ReadmeExamplesTest_clojure.ts +0 -16
- package/project/.sdk/src/cmp/clojure/ReadmeModel_clojure.ts +3 -3
- package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +7 -10
- package/project/.sdk/src/cmp/clojure/Schema_clojure.ts +1 -21
- package/project/.sdk/src/cmp/clojure/TestDirect_clojure.ts +0 -6
- package/project/.sdk/src/cmp/clojure/TestEntity_clojure.ts +0 -10
- package/project/.sdk/src/cmp/clojure/Test_clojure.ts +0 -8
- package/project/.sdk/src/cmp/clojure/featureextra_clojure.ts +0 -34
- package/project/.sdk/src/cmp/clojure/utility_clojure.ts +0 -47
- package/project/.sdk/src/cmp/cpp/Config_cpp.ts +0 -109
- package/project/.sdk/src/cmp/cpp/EntityTypes_cpp.ts +3 -39
- package/project/.sdk/src/cmp/cpp/Main_cpp.ts +0 -47
- package/project/.sdk/src/cmp/cpp/Package_cpp.ts +0 -14
- package/project/.sdk/src/cmp/cpp/PrepareAuth_cpp.ts +0 -125
- package/project/.sdk/src/cmp/cpp/ReadmeEntity_cpp.ts +3 -3
- package/project/.sdk/src/cmp/cpp/ReadmeExamplesTest_cpp.ts +0 -19
- package/project/.sdk/src/cmp/cpp/ReadmeModel_cpp.ts +3 -3
- package/project/.sdk/src/cmp/cpp/ReadmeQuick_cpp.ts +0 -7
- package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +7 -10
- package/project/.sdk/src/cmp/cpp/Schema_cpp.ts +1 -22
- package/project/.sdk/src/cmp/cpp/TestDirect_cpp.ts +14 -14
- package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +51 -53
- package/project/.sdk/src/cmp/cpp/Test_cpp.ts +0 -3
- package/project/.sdk/src/cmp/cpp/utility_cpp.ts +0 -28
- package/project/.sdk/src/cmp/csharp/Config_csharp.ts +0 -79
- package/project/.sdk/src/cmp/csharp/EntityOperation_csharp.ts +0 -3
- package/project/.sdk/src/cmp/csharp/EntityTypes_csharp.ts +4 -54
- package/project/.sdk/src/cmp/csharp/Entity_csharp.ts +0 -1
- package/project/.sdk/src/cmp/csharp/Main_csharp.ts +0 -24
- package/project/.sdk/src/cmp/csharp/Package_csharp.ts +0 -20
- package/project/.sdk/src/cmp/csharp/PrepareAuth_csharp.ts +0 -81
- package/project/.sdk/src/cmp/csharp/ReadmeEntity_csharp.ts +3 -4
- package/project/.sdk/src/cmp/csharp/ReadmeExamplesTest_csharp.ts +0 -23
- package/project/.sdk/src/cmp/csharp/ReadmeModel_csharp.ts +3 -3
- package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +7 -10
- package/project/.sdk/src/cmp/csharp/ReadmeTopQuick_csharp.ts +0 -2
- package/project/.sdk/src/cmp/csharp/Schema_csharp.ts +1 -19
- package/project/.sdk/src/cmp/csharp/TestDirect_csharp.ts +30 -30
- package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +66 -69
- package/project/.sdk/src/cmp/csharp/utility_csharp.ts +0 -72
- package/project/.sdk/src/cmp/elixir/Config_elixir.ts +0 -78
- package/project/.sdk/src/cmp/elixir/EntityTypes_elixir.ts +4 -42
- package/project/.sdk/src/cmp/elixir/Main_elixir.ts +0 -40
- package/project/.sdk/src/cmp/elixir/Package_elixir.ts +0 -13
- package/project/.sdk/src/cmp/elixir/PrepareAuth_elixir.ts +0 -123
- package/project/.sdk/src/cmp/elixir/ReadmeEntity_elixir.ts +3 -3
- package/project/.sdk/src/cmp/elixir/ReadmeExamplesTest_elixir.ts +0 -19
- package/project/.sdk/src/cmp/elixir/ReadmeModel_elixir.ts +3 -3
- package/project/.sdk/src/cmp/elixir/ReadmeRef_elixir.ts +6 -9
- package/project/.sdk/src/cmp/elixir/Schema_elixir.ts +1 -25
- package/project/.sdk/src/cmp/elixir/utility_elixir.ts +0 -34
- package/project/.sdk/src/cmp/go/Config_go.ts +0 -41
- package/project/.sdk/src/cmp/go/EntityTypes_go.ts +4 -75
- package/project/.sdk/src/cmp/go/Entity_go.ts +0 -5
- package/project/.sdk/src/cmp/go/Main_go.ts +0 -28
- package/project/.sdk/src/cmp/go/Package_go.ts +0 -7
- package/project/.sdk/src/cmp/go/PrepareAuth_go.ts +0 -64
- package/project/.sdk/src/cmp/go/ReadmeEntity_go.ts +3 -8
- package/project/.sdk/src/cmp/go/ReadmeExamplesTest_go.ts +0 -30
- package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +0 -3
- package/project/.sdk/src/cmp/go/ReadmeIntro_go.ts +0 -7
- package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +3 -14
- package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +0 -21
- package/project/.sdk/src/cmp/go/ReadmeRef_go.ts +7 -19
- package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +0 -9
- package/project/.sdk/src/cmp/go/Schema_go.ts +1 -22
- package/project/.sdk/src/cmp/go/TestDirect_go.ts +38 -61
- package/project/.sdk/src/cmp/go/TestEntity_go.ts +75 -82
- package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +0 -21
- package/project/.sdk/src/cmp/go/fragment/Main.fragment.go +0 -12
- package/project/.sdk/src/cmp/go/utility_go.ts +5 -75
- package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +0 -49
- package/project/.sdk/src/cmp/go-cli/fragment/words.fragment.go +0 -12
- package/project/.sdk/src/cmp/go-mcp/Main_go-mcp.ts +0 -36
- package/project/.sdk/src/cmp/go-mcp/fragment/main.fragment.go +0 -20
- package/project/.sdk/src/cmp/go-mcp/fragment/tools.fragment.go +0 -3
- package/project/.sdk/src/cmp/java/Config_java.ts +0 -63
- package/project/.sdk/src/cmp/java/EntityTypes_java.ts +4 -54
- package/project/.sdk/src/cmp/java/Entity_java.ts +0 -6
- package/project/.sdk/src/cmp/java/Main_java.ts +0 -24
- package/project/.sdk/src/cmp/java/PrepareAuth_java.ts +0 -55
- package/project/.sdk/src/cmp/java/ReadmeEntity_java.ts +3 -4
- package/project/.sdk/src/cmp/java/ReadmeExamplesTest_java.ts +0 -20
- package/project/.sdk/src/cmp/java/ReadmeModel_java.ts +3 -3
- package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +0 -4
- package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +7 -10
- package/project/.sdk/src/cmp/java/ReadmeTopQuick_java.ts +0 -7
- package/project/.sdk/src/cmp/java/Schema_java.ts +1 -20
- package/project/.sdk/src/cmp/java/TestDirect_java.ts +30 -37
- package/project/.sdk/src/cmp/java/TestEntity_java.ts +69 -72
- package/project/.sdk/src/cmp/java/Test_java.ts +0 -6
- package/project/.sdk/src/cmp/java/utility_java.ts +0 -33
- package/project/.sdk/src/cmp/js/Config_js.ts +0 -46
- package/project/.sdk/src/cmp/js/EntityTypes_js.ts +5 -38
- package/project/.sdk/src/cmp/js/Main_js.ts +0 -33
- package/project/.sdk/src/cmp/js/Package_js.ts +2 -7
- package/project/.sdk/src/cmp/js/PrepareAuth_js.ts +0 -57
- package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +3 -12
- package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +0 -2
- package/project/.sdk/src/cmp/js/ReadmeModel_js.ts +3 -3
- package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +0 -15
- package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +7 -12
- package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +0 -7
- package/project/.sdk/src/cmp/js/Schema_js.ts +1 -22
- package/project/.sdk/src/cmp/js/TestDirect_js.ts +29 -43
- package/project/.sdk/src/cmp/js/TestEntity_js.ts +69 -82
- package/project/.sdk/src/cmp/js/TestLive_js.ts +12 -5
- package/project/.sdk/src/cmp/js/utility_js.ts +5 -63
- package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +0 -46
- package/project/.sdk/src/cmp/kotlin/EntityOperation_kotlin.ts +0 -2
- package/project/.sdk/src/cmp/kotlin/EntityTypes_kotlin.ts +4 -57
- package/project/.sdk/src/cmp/kotlin/Entity_kotlin.ts +0 -4
- package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +0 -46
- package/project/.sdk/src/cmp/kotlin/PrepareAuth_kotlin.ts +0 -113
- package/project/.sdk/src/cmp/kotlin/ReadmeEntity_kotlin.ts +3 -4
- package/project/.sdk/src/cmp/kotlin/ReadmeExamplesTest_kotlin.ts +0 -20
- package/project/.sdk/src/cmp/kotlin/ReadmeModel_kotlin.ts +3 -3
- package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +7 -10
- package/project/.sdk/src/cmp/kotlin/ReadmeTopQuick_kotlin.ts +0 -5
- package/project/.sdk/src/cmp/kotlin/Schema_kotlin.ts +1 -20
- package/project/.sdk/src/cmp/kotlin/TestDirect_kotlin.ts +30 -30
- package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +67 -70
- package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +0 -6
- package/project/.sdk/src/cmp/kotlin/utility_kotlin.ts +0 -33
- package/project/.sdk/src/cmp/lua/Config_lua.ts +0 -56
- package/project/.sdk/src/cmp/lua/EntityTypes_lua.ts +5 -35
- package/project/.sdk/src/cmp/lua/Entity_lua.ts +0 -7
- package/project/.sdk/src/cmp/lua/Main_lua.ts +0 -58
- package/project/.sdk/src/cmp/lua/Package_lua.ts +0 -20
- package/project/.sdk/src/cmp/lua/PrepareAuth_lua.ts +0 -61
- package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +3 -11
- package/project/.sdk/src/cmp/lua/ReadmeExamplesTest_lua.ts +0 -24
- package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +3 -13
- package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +4 -25
- package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +7 -17
- package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +0 -3
- package/project/.sdk/src/cmp/lua/Schema_lua.ts +1 -17
- package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +25 -27
- package/project/.sdk/src/cmp/lua/TestEntity_lua.ts +66 -65
- package/project/.sdk/src/cmp/lua/utility_lua.ts +0 -30
- package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +0 -98
- package/project/.sdk/src/cmp/ocaml/EntityOperation_ocaml.ts +0 -6
- package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +0 -78
- package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +0 -13
- package/project/.sdk/src/cmp/ocaml/PrepareAuth_ocaml.ts +0 -145
- package/project/.sdk/src/cmp/ocaml/ReadmeEntity_ocaml.ts +3 -3
- package/project/.sdk/src/cmp/ocaml/ReadmeExamplesTest_ocaml.ts +0 -17
- package/project/.sdk/src/cmp/ocaml/ReadmeModel_ocaml.ts +3 -3
- package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +7 -10
- package/project/.sdk/src/cmp/ocaml/Schema_ocaml.ts +1 -24
- package/project/.sdk/src/cmp/ocaml/SdkError_ocaml.ts +0 -4
- package/project/.sdk/src/cmp/ocaml/TestEntity_ocaml.ts +0 -5
- package/project/.sdk/src/cmp/ocaml/utility_ocaml.ts +0 -27
- package/project/.sdk/src/cmp/perl/Config_perl.ts +0 -52
- package/project/.sdk/src/cmp/perl/Entity_perl.ts +0 -3
- package/project/.sdk/src/cmp/perl/Main_perl.ts +0 -33
- package/project/.sdk/src/cmp/perl/Package_perl.ts +0 -8
- package/project/.sdk/src/cmp/perl/PrepareAuth_perl.ts +0 -84
- package/project/.sdk/src/cmp/perl/ReadmeEntity_perl.ts +3 -6
- package/project/.sdk/src/cmp/perl/ReadmeExamplesTest_perl.ts +0 -27
- package/project/.sdk/src/cmp/perl/ReadmeModel_perl.ts +3 -3
- package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +7 -10
- package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +0 -2
- package/project/.sdk/src/cmp/perl/Schema_perl.ts +1 -19
- package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +25 -27
- package/project/.sdk/src/cmp/perl/TestEntity_perl.ts +60 -59
- package/project/.sdk/src/cmp/perl/utility_perl.ts +0 -26
- package/project/.sdk/src/cmp/php/Config_php.ts +0 -76
- package/project/.sdk/src/cmp/php/EntityTypes_php.ts +5 -56
- package/project/.sdk/src/cmp/php/MainEntity_php.ts +0 -6
- package/project/.sdk/src/cmp/php/Main_php.ts +0 -15
- package/project/.sdk/src/cmp/php/PrepareAuth_php.ts +0 -73
- package/project/.sdk/src/cmp/php/ReadmeEntity_php.ts +3 -7
- package/project/.sdk/src/cmp/php/ReadmeExamplesTest_php.ts +0 -33
- package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +0 -1
- package/project/.sdk/src/cmp/php/ReadmeModel_php.ts +3 -3
- package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +4 -23
- package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +7 -12
- package/project/.sdk/src/cmp/php/Schema_php.ts +1 -16
- package/project/.sdk/src/cmp/php/TestDirect_php.ts +25 -25
- package/project/.sdk/src/cmp/php/TestEntity_php.ts +66 -74
- package/project/.sdk/src/cmp/php/utility_php.ts +0 -22
- package/project/.sdk/src/cmp/py/Config_py.ts +0 -53
- package/project/.sdk/src/cmp/py/EntityTypes_py.ts +4 -59
- package/project/.sdk/src/cmp/py/Entity_py.ts +0 -16
- package/project/.sdk/src/cmp/py/Main_py.ts +1 -61
- package/project/.sdk/src/cmp/py/Package_py.ts +0 -3
- package/project/.sdk/src/cmp/py/PrepareAuth_py.ts +0 -69
- package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +3 -16
- package/project/.sdk/src/cmp/py/ReadmeExamplesTest_py.ts +0 -31
- package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +0 -3
- package/project/.sdk/src/cmp/py/ReadmeModel_py.ts +3 -3
- package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +0 -28
- package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +7 -21
- package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +0 -14
- package/project/.sdk/src/cmp/py/Schema_py.ts +1 -20
- package/project/.sdk/src/cmp/py/TestDirect_py.ts +25 -27
- package/project/.sdk/src/cmp/py/TestEntity_py.ts +66 -65
- package/project/.sdk/src/cmp/py/utility_py.ts +0 -22
- package/project/.sdk/src/cmp/py-data/Main_py-data.ts +13 -47
- package/project/.sdk/src/cmp/rb/Config_rb.ts +0 -56
- package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +4 -62
- package/project/.sdk/src/cmp/rb/Entity_rb.ts +0 -3
- package/project/.sdk/src/cmp/rb/Main_rb.ts +0 -10
- package/project/.sdk/src/cmp/rb/Package_rb.ts +0 -5
- package/project/.sdk/src/cmp/rb/PrepareAuth_rb.ts +0 -81
- package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +3 -10
- package/project/.sdk/src/cmp/rb/ReadmeExamplesTest_rb.ts +0 -32
- package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +0 -9
- package/project/.sdk/src/cmp/rb/ReadmeModel_rb.ts +3 -3
- package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +4 -27
- package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +7 -15
- package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +0 -5
- package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +0 -3
- package/project/.sdk/src/cmp/rb/Schema_rb.ts +1 -16
- package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +25 -27
- package/project/.sdk/src/cmp/rb/TestEntity_rb.ts +66 -65
- package/project/.sdk/src/cmp/rb/utility_rb.ts +0 -22
- package/project/.sdk/src/cmp/rust/Config_rust.ts +0 -35
- package/project/.sdk/src/cmp/rust/EntityTypes_rust.ts +4 -38
- package/project/.sdk/src/cmp/rust/Entity_rust.ts +0 -9
- package/project/.sdk/src/cmp/rust/Main_rust.ts +0 -58
- package/project/.sdk/src/cmp/rust/Package_rust.ts +0 -30
- package/project/.sdk/src/cmp/rust/PrepareAuth_rust.ts +0 -84
- package/project/.sdk/src/cmp/rust/ReadmeEntity_rust.ts +3 -3
- package/project/.sdk/src/cmp/rust/ReadmeExamplesTest_rust.ts +0 -16
- package/project/.sdk/src/cmp/rust/ReadmeModel_rust.ts +3 -3
- package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +7 -10
- package/project/.sdk/src/cmp/rust/Schema_rust.ts +1 -19
- package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +18 -25
- package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +63 -71
- package/project/.sdk/src/cmp/rust/fragment/Entity.fragment.rs +0 -14
- package/project/.sdk/src/cmp/rust/fragment/EntityRemoveOp.fragment.rs +0 -4
- package/project/.sdk/src/cmp/rust/fragment/Main.fragment.rs +0 -20
- package/project/.sdk/src/cmp/rust/fragment/SdkError.fragment.rs +0 -6
- package/project/.sdk/src/cmp/rust/utility_rust.ts +0 -47
- package/project/.sdk/src/cmp/scala/Config_scala.ts +0 -31
- package/project/.sdk/src/cmp/scala/EntityTypes_scala.ts +4 -55
- package/project/.sdk/src/cmp/scala/Main_scala.ts +0 -78
- package/project/.sdk/src/cmp/scala/PrepareAuth_scala.ts +0 -102
- package/project/.sdk/src/cmp/scala/ReadmeEntity_scala.ts +3 -4
- package/project/.sdk/src/cmp/scala/ReadmeExamplesTest_scala.ts +0 -23
- package/project/.sdk/src/cmp/scala/ReadmeModel_scala.ts +3 -3
- package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +7 -10
- package/project/.sdk/src/cmp/scala/ReadmeTopQuick_scala.ts +0 -5
- package/project/.sdk/src/cmp/scala/Schema_scala.ts +1 -20
- package/project/.sdk/src/cmp/scala/TestDirect_scala.ts +14 -14
- package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +60 -67
- package/project/.sdk/src/cmp/scala/Test_scala.ts +0 -3
- package/project/.sdk/src/cmp/scala/utility_scala.ts +0 -31
- package/project/.sdk/src/cmp/swift/Config_swift.ts +0 -62
- package/project/.sdk/src/cmp/swift/EntityOperation_swift.ts +0 -3
- package/project/.sdk/src/cmp/swift/EntityTypes_swift.ts +5 -44
- package/project/.sdk/src/cmp/swift/Main_swift.ts +0 -42
- package/project/.sdk/src/cmp/swift/Package_swift.ts +0 -69
- package/project/.sdk/src/cmp/swift/PrepareAuth_swift.ts +0 -134
- package/project/.sdk/src/cmp/swift/ReadmeEntity_swift.ts +3 -5
- package/project/.sdk/src/cmp/swift/ReadmeExamplesTest_swift.ts +0 -22
- package/project/.sdk/src/cmp/swift/ReadmeModel_swift.ts +3 -3
- package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +7 -10
- package/project/.sdk/src/cmp/swift/Schema_swift.ts +1 -19
- package/project/.sdk/src/cmp/swift/TestEntity_swift.ts +0 -4
- package/project/.sdk/src/cmp/swift/utility_swift.ts +0 -51
- package/project/.sdk/src/cmp/ts/Config_ts.ts +0 -46
- package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +5 -39
- package/project/.sdk/src/cmp/ts/Entity_ts.ts +0 -6
- package/project/.sdk/src/cmp/ts/Main_ts.ts +0 -28
- package/project/.sdk/src/cmp/ts/Package_ts.ts +2 -26
- package/project/.sdk/src/cmp/ts/PrepareAuth_ts.ts +0 -55
- package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +3 -12
- package/project/.sdk/src/cmp/ts/ReadmeExampleTest_ts.ts +0 -6
- package/project/.sdk/src/cmp/ts/ReadmeExamplesTest_ts.ts +0 -25
- package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +4 -9
- package/project/.sdk/src/cmp/ts/ReadmeIntro_ts.ts +0 -7
- package/project/.sdk/src/cmp/ts/ReadmeModel_ts.ts +3 -6
- package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +1 -44
- package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +7 -25
- package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +0 -11
- package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +6 -9
- package/project/.sdk/src/cmp/ts/Schema_ts.ts +1 -22
- package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +42 -93
- package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +76 -107
- package/project/.sdk/src/cmp/ts/TestLive_ts.ts +12 -6
- package/project/.sdk/src/cmp/ts/Test_ts.ts +0 -4
- package/project/.sdk/src/cmp/ts/fragment/Config.data.fragment.ts +0 -27
- package/project/.sdk/src/cmp/ts/fragment/Config.fragment.ts +0 -7
- package/project/.sdk/src/cmp/ts/fragment/Direct.test.fragment.ts +0 -7
- package/project/.sdk/src/cmp/ts/fragment/Entity.fragment.ts +0 -1
- package/project/.sdk/src/cmp/ts/fragment/Entity.test.fragment.ts +0 -4
- package/project/.sdk/src/cmp/ts/fragment/EntityBase.fragment.ts +0 -20
- package/project/.sdk/src/cmp/ts/fragment/EntityCreateOp.fragment.ts +0 -6
- package/project/.sdk/src/cmp/ts/fragment/EntityLoadOp.fragment.ts +0 -6
- package/project/.sdk/src/cmp/ts/fragment/EntityRemoveOp.fragment.ts +0 -15
- package/project/.sdk/src/cmp/ts/fragment/EntityUpdateOp.fragment.ts +0 -6
- package/project/.sdk/src/cmp/ts/fragment/Main.fragment.ts +0 -15
- package/project/.sdk/src/cmp/ts/fragment/MainStation.fragment.ts +0 -12
- package/project/.sdk/src/cmp/ts/fragment/SdkError.fragment.ts +0 -9
- package/project/.sdk/src/cmp/ts/utility_ts.ts +5 -64
- package/project/.sdk/src/cmp/zig/Config_zig.ts +0 -70
- package/project/.sdk/src/cmp/zig/Entity_zig.ts +0 -3
- package/project/.sdk/src/cmp/zig/Main_zig.ts +0 -83
- package/project/.sdk/src/cmp/zig/Package_zig.ts +0 -22
- package/project/.sdk/src/cmp/zig/PrepareAuth_zig.ts +0 -136
- package/project/.sdk/src/cmp/zig/ReadmeEntity_zig.ts +3 -3
- package/project/.sdk/src/cmp/zig/ReadmeExamplesTest_zig.ts +0 -18
- package/project/.sdk/src/cmp/zig/ReadmeModel_zig.ts +3 -3
- package/project/.sdk/src/cmp/zig/ReadmeQuick_zig.ts +0 -3
- package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +7 -10
- package/project/.sdk/src/cmp/zig/Schema_zig.ts +1 -24
- package/project/.sdk/src/cmp/zig/TestDirect_zig.ts +0 -11
- package/project/.sdk/src/cmp/zig/TestEntity_zig.ts +0 -8
- package/project/.sdk/src/cmp/zig/Test_zig.ts +0 -11
- package/project/.sdk/src/cmp/zig/utility_zig.ts +0 -47
- package/project/.sdk/tm/c/feature/test.c +20 -4
- package/project/.sdk/tm/clojure/src/sdk/features.clj +6 -4
- package/project/.sdk/tm/cpp/feature/test.hpp +17 -6
- package/project/.sdk/tm/csharp/feature/FeatureOptions.cs +18 -5
- package/project/.sdk/tm/csharp/feature/TestFeature.cs +10 -4
- package/project/.sdk/tm/elixir/lib/projectname/feature/test.ex +11 -5
- package/project/.sdk/tm/go/core/context.go +0 -9
- package/project/.sdk/tm/go/core/types.go +0 -3
- package/project/.sdk/tm/go/feature/audit_feature.go +0 -9
- package/project/.sdk/tm/go/feature/cache_feature.go +0 -8
- package/project/.sdk/tm/go/feature/clienttrack_feature.go +0 -7
- package/project/.sdk/tm/go/feature/cost_feature.go +0 -51
- package/project/.sdk/tm/go/feature/debug_feature.go +0 -6
- package/project/.sdk/tm/go/feature/feature_options.go +108 -21
- package/project/.sdk/tm/go/feature/idempotency_feature.go +0 -6
- package/project/.sdk/tm/go/feature/metrics_feature.go +0 -6
- package/project/.sdk/tm/go/feature/netsim_feature.go +0 -8
- package/project/.sdk/tm/go/feature/paging_feature.go +0 -9
- package/project/.sdk/tm/go/feature/proxy_feature.go +0 -7
- package/project/.sdk/tm/go/feature/ratelimit_feature.go +0 -6
- package/project/.sdk/tm/go/feature/rbac_feature.go +0 -10
- package/project/.sdk/tm/go/feature/retry_feature.go +0 -6
- package/project/.sdk/tm/go/feature/secrets_feature.go +0 -173
- package/project/.sdk/tm/go/feature/streaming_feature.go +0 -7
- package/project/.sdk/tm/go/feature/telemetry_feature.go +0 -8
- package/project/.sdk/tm/go/feature/test_feature.go +0 -23
- package/project/.sdk/tm/go/feature/validate_feature.go +0 -66
- package/project/.sdk/tm/go/test/custom_utility_test.go +0 -29
- package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +0 -100
- package/project/.sdk/tm/go/test/feature_corpus_test.go +1 -60
- package/project/.sdk/tm/go/test/feature_harness_test.go +0 -10
- package/project/.sdk/tm/go/test/feature_test.go +107 -9
- package/project/.sdk/tm/go/test/omniresolver_test.go +0 -74
- package/project/.sdk/tm/go/test/omnismoke_test.go +0 -4
- package/project/.sdk/tm/go/test/pipeline_test.go +0 -10
- package/project/.sdk/tm/go/test/primary_utility_test.go +0 -32
- package/project/.sdk/tm/go/test/struct_utility_test.go +0 -38
- package/project/.sdk/tm/go/test/testsupport_test.go +0 -25
- package/project/.sdk/tm/go/utility/feature_add.go +0 -6
- package/project/.sdk/tm/go/utility/fetcher.go +0 -6
- package/project/.sdk/tm/go/utility/graphql.go +1 -31
- package/project/.sdk/tm/go/utility/make_options.go +38 -49
- package/project/.sdk/tm/go/utility/make_point.go +0 -11
- package/project/.sdk/tm/go/utility/make_spec.go +0 -15
- package/project/.sdk/tm/go/utility/register.go +0 -28
- package/project/.sdk/tm/go/utility/transform_request.go +0 -20
- package/project/.sdk/tm/go/utility/transform_response.go +0 -8
- package/project/.sdk/tm/java/feature/TestFeature.java +11 -6
- package/project/.sdk/tm/js/src/feature/test/TestFeature.js +12 -4
- package/project/.sdk/tm/js/test/live-entity.js +29 -29
- package/project/.sdk/tm/js/test/live-scenarios.js +4 -4
- package/project/.sdk/tm/kotlin/feature/TestFeature.kt +8 -4
- package/project/.sdk/tm/ocaml/sdk_features.ml +6 -4
- package/project/.sdk/tm/perl/feature/test_feature.pm +6 -4
- package/project/.sdk/tm/rb/feature/test_feature.rb +6 -4
- package/project/.sdk/tm/rust/core/context.rs +0 -5
- package/project/.sdk/tm/rust/core/control.rs +0 -1
- package/project/.sdk/tm/rust/core/helpers.rs +0 -15
- package/project/.sdk/tm/rust/core/operation.rs +0 -1
- package/project/.sdk/tm/rust/core/point.rs +0 -3
- package/project/.sdk/tm/rust/core/response.rs +0 -2
- package/project/.sdk/tm/rust/core/result.rs +0 -1
- package/project/.sdk/tm/rust/core/spec.rs +0 -1
- package/project/.sdk/tm/rust/core/types.rs +0 -20
- package/project/.sdk/tm/rust/core/utility_type.rs +0 -5
- package/project/.sdk/tm/rust/feature/audit.rs +0 -9
- package/project/.sdk/tm/rust/feature/base.rs +0 -3
- package/project/.sdk/tm/rust/feature/cache.rs +0 -9
- package/project/.sdk/tm/rust/feature/clienttrack.rs +0 -7
- package/project/.sdk/tm/rust/feature/cost.rs +0 -48
- package/project/.sdk/tm/rust/feature/debug.rs +0 -7
- package/project/.sdk/tm/rust/feature/idempotency.rs +0 -7
- package/project/.sdk/tm/rust/feature/log.rs +0 -3
- package/project/.sdk/tm/rust/feature/metrics.rs +0 -7
- package/project/.sdk/tm/rust/feature/netsim.rs +0 -9
- package/project/.sdk/tm/rust/feature/paging.rs +0 -10
- package/project/.sdk/tm/rust/feature/proxy.rs +0 -8
- package/project/.sdk/tm/rust/feature/ratelimit.rs +0 -6
- package/project/.sdk/tm/rust/feature/rbac.rs +0 -10
- package/project/.sdk/tm/rust/feature/retry.rs +0 -6
- package/project/.sdk/tm/rust/feature/secrets.rs +1 -187
- package/project/.sdk/tm/rust/feature/streaming.rs +0 -7
- package/project/.sdk/tm/rust/feature/support.rs +0 -6
- package/project/.sdk/tm/rust/feature/telemetry.rs +0 -9
- package/project/.sdk/tm/rust/feature/test.rs +8 -23
- package/project/.sdk/tm/rust/feature/timeout.rs +0 -7
- package/project/.sdk/tm/rust/feature/validate.rs +0 -81
- package/project/.sdk/tm/rust/tests/common/mod.rs +0 -35
- package/project/.sdk/tm/rust/tests/custom_utility_test.rs +0 -2
- package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +0 -95
- package/project/.sdk/tm/rust/tests/feature_test.rs +0 -16
- package/project/.sdk/tm/rust/tests/netsim_test.rs +0 -6
- package/project/.sdk/tm/rust/tests/omni_resolver/mod.rs +0 -135
- package/project/.sdk/tm/rust/tests/omni_smoke_test.rs +0 -15
- package/project/.sdk/tm/rust/tests/pipeline_test.rs +0 -6
- package/project/.sdk/tm/rust/tests/primary_utility_test.rs +0 -22
- package/project/.sdk/tm/rust/tests/struct_utility_test.rs +0 -25
- package/project/.sdk/tm/rust/utility/fetcher.rs +0 -5
- package/project/.sdk/tm/rust/utility/graphql.rs +1 -30
- package/project/.sdk/tm/rust/utility/make_error.rs +0 -2
- package/project/.sdk/tm/rust/utility/make_options.rs +0 -46
- package/project/.sdk/tm/rust/utility/make_point.rs +0 -12
- package/project/.sdk/tm/rust/utility/make_spec.rs +0 -4
- package/project/.sdk/tm/rust/utility/voxgigstruct/consts.rs +14 -20
- package/project/.sdk/tm/rust/utility/voxgigstruct/major.rs +0 -13
- package/project/.sdk/tm/rust/utility/voxgigstruct/mini.rs +0 -14
- package/project/.sdk/tm/rust/utility/voxgigstruct/mod.rs +0 -2
- package/project/.sdk/tm/rust/utility/voxgigstruct/ordered_map.rs +0 -18
- package/project/.sdk/tm/rust/utility/voxgigstruct/re.rs +0 -11
- package/project/.sdk/tm/rust/utility/voxgigstruct/value.rs +0 -3
- package/project/.sdk/tm/scala/feature/TestFeature.scala +10 -6
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/TestFeature.swift +10 -6
- package/project/.sdk/tm/ts/src/Context.ts +0 -5
- package/project/.sdk/tm/ts/src/feature/audit/AuditFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/cache/CacheFeature.ts +0 -8
- package/project/.sdk/tm/ts/src/feature/clienttrack/ClienttrackFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/cost/CostFeature.ts +0 -52
- package/project/.sdk/tm/ts/src/feature/debug/DebugFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/metrics/MetricsFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/netsim/NetsimFeature.ts +0 -8
- package/project/.sdk/tm/ts/src/feature/paging/PagingFeature.ts +0 -13
- package/project/.sdk/tm/ts/src/feature/proxy/ProxyFeature.ts +0 -8
- package/project/.sdk/tm/ts/src/feature/ratelimit/RatelimitFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/rbac/RbacFeature.ts +0 -9
- package/project/.sdk/tm/ts/src/feature/retry/RetryFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +0 -136
- package/project/.sdk/tm/ts/src/feature/streaming/StreamingFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/telemetry/TelemetryFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +13 -88
- package/project/.sdk/tm/ts/src/feature/validate/ValidateFeature.ts +0 -87
- package/project/.sdk/tm/ts/src/utility/CleanUtility.ts +0 -12
- package/project/.sdk/tm/ts/src/utility/FeatureAddUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/GraphqlUtility.ts +2 -30
- package/project/.sdk/tm/ts/src/utility/MakeErrorUtility.ts +0 -4
- package/project/.sdk/tm/ts/src/utility/MakeOptionsUtility.ts +0 -46
- package/project/.sdk/tm/ts/src/utility/MakePointUtility.ts +0 -34
- package/project/.sdk/tm/ts/src/utility/MakeRequestUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/MakeSpecUtility.ts +0 -5
- package/project/.sdk/tm/ts/src/utility/MakeUrlUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/ParamUtility.ts +0 -8
- package/project/.sdk/tm/ts/src/utility/PrepareBodyUtility.ts +0 -3
- package/project/.sdk/tm/ts/src/utility/PrepareParamsUtility.ts +0 -6
- package/project/.sdk/tm/ts/src/utility/ResultBasicUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/TransformRequestUtility.ts +0 -20
- package/project/.sdk/tm/ts/src/utility/TransformResponseUtility.ts +0 -4
- package/project/.sdk/tm/ts/test/exists.test.ts +0 -10
- package/project/.sdk/tm/ts/test/feature/Corpus.test.ts +0 -56
- package/project/.sdk/tm/ts/test/feature/harness.ts +0 -9
- package/project/.sdk/tm/ts/test/feature/secrets/Secrets.test.ts +0 -106
- package/project/.sdk/tm/ts/test/live-contract.ts +0 -2
- package/project/.sdk/tm/ts/test/live-entity.ts +26 -26
- package/project/.sdk/tm/ts/test/live-scenarios.ts +3 -3
- package/project/.sdk/tm/ts/test/omni.ts +0 -32
- package/project/.sdk/tm/ts/test/pipeline.test.ts +45 -28
- package/project/.sdk/tm/ts/test/utility/Corpus.test.ts +0 -13
- package/project/.sdk/tm/ts/test/utility/PrimaryUtility.test.ts +56 -29
- package/project/.sdk/tm/ts/test/utility/StructUtility.test.ts +0 -7
- package/project/.sdk/tm/ts/test/utility.ts +0 -55
- package/project/.sdk/tm/zig/feature/test.zig +11 -4
- package/project/sdkgen-package.json +1 -1
- package/src/action/action.ts +0 -65
- package/src/action/check.ts +0 -88
- package/src/action/dispatch.ts +0 -27
- package/src/action/doctor.ts +69 -329
- package/src/action/edition.ts +1 -87
- package/src/action/feature.ts +1 -49
- package/src/action/kind.ts +0 -149
- package/src/action/package.ts +0 -228
- package/src/action/resolve.ts +0 -148
- package/src/action/target.ts +0 -177
- package/src/cmp/AgentGuide.ts +0 -7
- package/src/cmp/AgentGuideContent.ts +0 -24
- package/src/cmp/AgentGuideTop.ts +0 -7
- package/src/cmp/Changelog.ts +0 -14
- package/src/cmp/Deploy.ts +1 -31
- package/src/cmp/Entity.ts +0 -4
- package/src/cmp/ExternalTarget.ts +0 -36
- package/src/cmp/Feature.ts +0 -14
- package/src/cmp/FeatureDocs.ts +0 -37
- package/src/cmp/PublishWorkflow.ts +0 -60
- package/src/cmp/ReadmeErrors.ts +0 -17
- package/src/cmp/ReadmeExplanation.ts +2 -11
- package/src/cmp/ReadmeFeatures.ts +0 -10
- package/src/cmp/ReadmeRefFeatures.ts +0 -19
- package/src/cmp/ReadmeStation.ts +0 -19
- package/src/cmp/ReadmeTop.ts +1 -81
- package/src/cmp/ReadmeUnions.ts +1 -16
- package/src/cmp/Registered.ts +0 -30
- package/src/cmp/Security.ts +0 -2
- package/src/cmp/Test.ts +4 -2
- package/src/cmp/TestControl.ts +0 -25
- package/src/helpers/applicability.ts +0 -60
- package/src/helpers/buildIdNames.ts +17 -19
- package/src/helpers/canonSpec.ts +2 -116
- package/src/helpers/canonType.ts +0 -87
- package/src/helpers/collectDeps.ts +0 -27
- package/src/helpers/definition.ts +0 -29
- package/src/helpers/dryrun.ts +0 -8
- package/src/helpers/featureSource.ts +0 -152
- package/src/helpers/getMatchEntries.ts +2 -6
- package/src/helpers/junk.ts +13 -89
- package/src/helpers/manifest.ts +0 -169
- package/src/helpers/modelNames.ts +6 -82
- package/src/helpers/modelcheck.ts +0 -106
- package/src/helpers/naming.ts +0 -303
- package/src/helpers/opExample.ts +0 -56
- package/src/helpers/opShape.ts +33 -233
- package/src/helpers/optspec.ts +0 -77
- package/src/helpers/packageMeta.ts +1 -200
- package/src/helpers/pointPath.ts +5 -65
- package/src/helpers/resolved.ts +39 -0
- package/src/helpers/semver.ts +0 -61
- package/src/helpers/serverVars.ts +0 -44
- package/src/helpers/shipped.ts +0 -14
- package/src/helpers/station.ts +0 -32
- package/src/helpers/stdrep.ts +0 -52
- package/src/helpers/testPolicy.ts +0 -4
- package/src/sdkgen.ts +18 -264
- package/src/testkit.ts +6 -312
- package/src/types.ts +1 -30
- package/src/utility.ts +16 -250
|
@@ -1,20 +1,5 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
// Typed-model generator (Lua target).
|
|
4
|
-
//
|
|
5
|
-
// Lua is dynamically typed, so the "types" are LuaLS annotations
|
|
6
|
-
// (---@class / ---@field) for editor/tooling DX only — no runtime effect.
|
|
7
|
-
//
|
|
8
|
-
// Reads main.<KIT>.entity.<e>.fields[] and per-op params
|
|
9
|
-
// (op.<name>.points[].args.params[]) and emits one file, <sdk>_types.lua,
|
|
10
|
-
// with a `---@class <Name>` per active entity plus a request/match ---@class
|
|
11
|
-
// per active op. Field/param sentinels ($STRING, $INTEGER, ...) are turned
|
|
12
|
-
// into LuaLS types by the shared sdkgen helper `canonToType` ('lua' column).
|
|
13
|
-
//
|
|
14
|
-
// Keeps the SAME type-name scheme as the TS reference (<Name>,
|
|
15
|
-
// <Name>LoadMatch, <Name>ListMatch, <Name>CreateData, <Name>UpdateData,
|
|
16
|
-
// <Name>RemoveMatch). The op fragments reference these class names via
|
|
17
|
-
// ---@param / ---@return.
|
|
18
3
|
|
|
19
4
|
import {
|
|
20
5
|
cmp, each, names,
|
|
@@ -32,8 +17,6 @@ import {
|
|
|
32
17
|
const LANG = 'lua'
|
|
33
18
|
|
|
34
19
|
|
|
35
|
-
// A bare LuaLS field key, or a bracketed string literal for anything that is
|
|
36
|
-
// not a plain Lua identifier.
|
|
37
20
|
function propKey(name: string): string {
|
|
38
21
|
return /^[A-Za-z_][A-Za-z0-9_]*$/.test(name) ? name : '[' + JSON.stringify(name) + ']'
|
|
39
22
|
}
|
|
@@ -43,10 +26,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
43
26
|
const { target } = props
|
|
44
27
|
const { model, log } = props.ctx$
|
|
45
28
|
|
|
46
|
-
// only_active:false — getModelPath DROPS active:false entries by default,
|
|
47
|
-
// but the consumer scaffold (create-sdkgen Root.ts) iterates the RAW entity
|
|
48
|
-
// collection, so inactive entities still get generated entity code that
|
|
49
|
-
// references these typed names. The typed model must cover them too.
|
|
50
29
|
const entity = getModelPath(model, `main.${KIT}.entity`, { only_active: false, required: false })
|
|
51
30
|
// Emit for EVERY entity that gets generated entity code: the consumer
|
|
52
31
|
// scaffold (create-sdkgen Root.ts) iterates entities WITHOUT an active
|
|
@@ -58,17 +37,14 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
58
37
|
// entity not yet named (e.g. a fieldless placeholder) would otherwise read
|
|
59
38
|
// `Name = undefined` below. Parity with the go emitter's fix.
|
|
60
39
|
|
|
61
|
-
// Surface duplicate generated type names (two entities with the same
|
|
62
|
-
// PascalCase Name) — they would redeclare a type in statically-typed
|
|
63
|
-
// targets. Detection only; renaming is a model-level decision.
|
|
64
40
|
warnEntityTypeCollisions(entity, log, LANG)
|
|
65
41
|
|
|
66
42
|
File({ name: model.name + '_types.' + (target.ext || LANG) }, () => {
|
|
67
43
|
|
|
68
44
|
Content(`-- Typed models for the ${model.const.Name} SDK (LuaLS annotations).
|
|
69
45
|
--
|
|
70
|
-
-- GENERATED from the API model: main.${KIT}.entity.<e>.fields
|
|
71
|
-
-- params (op.<name>.points[].
|
|
46
|
+
-- GENERATED from the API model: main.${KIT}.entity.<e>.fields{} and per-op
|
|
47
|
+
-- params (op.<name>.points[].g.params[]). Field/param types come from the
|
|
72
48
|
-- canonical type sentinels via @voxgig/sdkgen canonToType (source of truth:
|
|
73
49
|
-- @voxgig/apidef VALID_CANON). Annotations only — no runtime effect. Do not
|
|
74
50
|
-- edit by hand.
|
|
@@ -78,22 +54,18 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
78
54
|
entityList.forEach((ent: any) => {
|
|
79
55
|
const Name = ent.Name
|
|
80
56
|
const fields = (ent.fields ? each(ent.fields) : [])
|
|
81
|
-
.filter((f: any) => f.
|
|
57
|
+
.filter((f: any) => f.a !== false)
|
|
82
58
|
|
|
83
|
-
// Entity data model: one ---@field per field, `req:false` -> optional (?).
|
|
84
59
|
Content(`---@class ${Name}
|
|
85
60
|
`)
|
|
86
61
|
fields.forEach((f: any) => {
|
|
87
|
-
const opt = false === f.
|
|
88
|
-
Content(`---@field ${propKey(f.
|
|
62
|
+
const opt = false === f.r ? '?' : ''
|
|
63
|
+
Content(`---@field ${propKey(f.n)}${opt} ${canonToType(f.t, LANG)}
|
|
89
64
|
`)
|
|
90
65
|
})
|
|
91
66
|
Content(`
|
|
92
67
|
`)
|
|
93
68
|
|
|
94
|
-
// Per active op: a request/match class. Members and their optionality
|
|
95
|
-
// come from the shared partiality policy (opRequestShape); this file only
|
|
96
|
-
// renders them as LuaLS ---@field lines.
|
|
97
69
|
const ops = ent.op || {}
|
|
98
70
|
;['load', 'list', 'create', 'update', 'remove'].forEach((opname: string) => {
|
|
99
71
|
if (null == ops[opname]) {
|
|
@@ -115,8 +87,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
115
87
|
})
|
|
116
88
|
})
|
|
117
89
|
|
|
118
|
-
// Make the file a require-able (empty) module. The blank line above keeps
|
|
119
|
-
// LuaLS from binding the last ---@class to this local.
|
|
120
90
|
Content(`local M = {}
|
|
121
91
|
|
|
122
92
|
return M
|
|
@@ -35,7 +35,6 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
35
35
|
|
|
36
36
|
const ff = Path.normalize(__dirname + '/../../../src/cmp/lua/fragment/')
|
|
37
37
|
|
|
38
|
-
// Entity files go to entity/ folder
|
|
39
38
|
Folder({ name: 'entity' }, () => {
|
|
40
39
|
|
|
41
40
|
File({ name: entity.name + '_entity.' + target.ext }, () => {
|
|
@@ -58,14 +57,8 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
58
57
|
EntityName: entity.Name,
|
|
59
58
|
entityname: entity.name,
|
|
60
59
|
|
|
61
|
-
// Class token decoupled from the EntityName data-type token in
|
|
62
|
-
// Entity.fragment.lua so the class can be renamed independently.
|
|
63
60
|
EntyClass: cls,
|
|
64
61
|
|
|
65
|
-
// Feature-hook wiring: the built-in `#Name-Hook` tag replacement
|
|
66
|
-
// is hardwired to `//` line comments, so Lua's `-- #PrePoint-Hook`
|
|
67
|
-
// markers were never matched and no pipeline hooks fired in
|
|
68
|
-
// generated code. Match the Lua-comment hook tags explicitly.
|
|
69
62
|
'/(?<indent>[ \\t]*)-- #(?<name>[A-Za-z0-9]+)-Hook[ \\t]*\\n?/':
|
|
70
63
|
({ name, indent }: any) =>
|
|
71
64
|
`${indent}utility.feature_hook(ctx, "${name}")\n`,
|
|
@@ -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.' },
|
|
@@ -55,8 +51,7 @@ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
|
55
51
|
|
|
56
52
|
publishedEntities.map((entity: any) => {
|
|
57
53
|
const opnames = Object.keys(entity.op || {})
|
|
58
|
-
const fields = entity.fields ||
|
|
59
|
-
// Model-driven id key: null when this entity has no id-like field.
|
|
54
|
+
const fields = Object.values(entity.fields || {})
|
|
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.
|
|
@@ -103,8 +98,8 @@ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
|
103
98
|
`)
|
|
104
99
|
|
|
105
100
|
each(fields, (field: any) => {
|
|
106
|
-
const desc = field.
|
|
107
|
-
Content(`| \`${field.
|
|
101
|
+
const desc = field.sh || ''
|
|
102
|
+
Content(`| \`${field.n}\` | \`${canonToType(field.t, target.name)}\` | ${desc} |
|
|
108
103
|
`)
|
|
109
104
|
})
|
|
110
105
|
|
|
@@ -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,18 +127,17 @@ 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
|
`)
|
|
143
133
|
each(entityList, (ent: any) => {
|
|
144
|
-
const fields = ent.fields ||
|
|
134
|
+
const fields = Object.values(ent.fields || {})
|
|
145
135
|
const opnames = Object.keys(ent.op || {})
|
|
146
136
|
const ops = ent.op || {}
|
|
147
137
|
const points = each(ops).map((op: any) =>
|
|
148
138
|
op.points ? each(op.points) : []
|
|
149
139
|
).flat()
|
|
150
|
-
const path = points.length > 0 ? (points[0] as any).
|
|
140
|
+
const path = points.length > 0 ? (points[0] as any).o || '' : ''
|
|
151
141
|
|
|
152
142
|
Content(`#### ${ent.Name}
|
|
153
143
|
|
|
@@ -155,7 +145,7 @@ Only \`direct()\` returns a response envelope — a \`table\` with \`ok\`,
|
|
|
155
145
|
| --- | --- |
|
|
156
146
|
`)
|
|
157
147
|
each(fields, (field: any) => {
|
|
158
|
-
Content(`| \`${field.
|
|
148
|
+
Content(`| \`${field.n}\` | ${field.sh || ''} |
|
|
159
149
|
`)
|
|
160
150
|
})
|
|
161
151
|
|
|
@@ -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 &&
|
|
@@ -73,12 +70,12 @@ local client = ${ctor}
|
|
|
73
70
|
// `id`, matching the load example and the seeded test fixture.
|
|
74
71
|
const idNames = new Set<string>(['id',
|
|
75
72
|
(exampleEntity.id && exampleEntity.id.field) || 'id'])
|
|
76
|
-
const fields: any[] =
|
|
73
|
+
const fields: any[] = Object.values(exampleEntity.fields || {})
|
|
77
74
|
const isStringField = (f: any) =>
|
|
78
|
-
f && typeof f.
|
|
75
|
+
f && typeof f.t === 'string' && /STRING/i.test(f.t)
|
|
79
76
|
const displayFieldObj =
|
|
80
|
-
fields.find((f: any) => f && !idNames.has(f.
|
|
81
|
-
fields.find((f: any) => f && !idNames.has(f.
|
|
77
|
+
fields.find((f: any) => f && !idNames.has(f.n) && isStringField(f)) ||
|
|
78
|
+
fields.find((f: any) => f && !idNames.has(f.n))
|
|
82
79
|
const displayField = displayFieldObj ? displayFieldObj.name : null
|
|
83
80
|
const idCol = dataIdF ? `item["${dataIdF}"]` : null
|
|
84
81
|
const dispCol = displayField ? `item["${displayField}"]` : null
|
|
@@ -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) =>
|