@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
package/src/helpers/manifest.ts
CHANGED
|
@@ -1,39 +1,3 @@
|
|
|
1
|
-
// THE PACKAGE MANIFEST: `sdkgen-package.json`, beside the package's `.sdk`.
|
|
2
|
-
//
|
|
3
|
-
// See docs/design/sdkgen-packages.md §2.
|
|
4
|
-
//
|
|
5
|
-
// <package-root>/
|
|
6
|
-
// ├── sdkgen-package.json <- this
|
|
7
|
-
// └── .sdk/ <- shaped exactly like ts/project/.sdk
|
|
8
|
-
//
|
|
9
|
-
// WHY JSON RATHER THAN AONTU
|
|
10
|
-
//
|
|
11
|
-
// Consumer models compile under `@voxgig/model`'s strictly-configured parser,
|
|
12
|
-
// which accepts `#` comments only — a `//` line is a parse error, and seven
|
|
13
|
-
// shipped targets once broke on exactly that (ts/test/model-compile.test.ts
|
|
14
|
-
// exists because of it). The manifest is read by the CLI and never unified
|
|
15
|
-
// into the model, so JSON keeps it outside that trap entirely.
|
|
16
|
-
//
|
|
17
|
-
// WHAT IT IS FOR
|
|
18
|
-
//
|
|
19
|
-
// A package's CLAIM about what it provides, so that:
|
|
20
|
-
//
|
|
21
|
-
// - `package add <pkg>` knows what to install without guessing from
|
|
22
|
-
// directory listings;
|
|
23
|
-
// - a typo'd ref fails naming what the package actually provides, rather
|
|
24
|
-
// than resolving to a folder that exists and failing later on a missing
|
|
25
|
-
// file;
|
|
26
|
-
// - an item records WHICH PACKAGE supplied it (`package:` provenance), so a
|
|
27
|
-
// project can be resynced against a newer version of that package.
|
|
28
|
-
//
|
|
29
|
-
// A claim is worth nothing unless it is checked, so `validateManifest`
|
|
30
|
-
// compares it against the trees actually on disk, in both directions: a
|
|
31
|
-
// manifest that lies is an error, on-disk extras are a warning.
|
|
32
|
-
//
|
|
33
|
-
// THE MANIFEST IS OPTIONAL FOR A DIRECT REF. `target add ../pkg/iot-go`
|
|
34
|
-
// against a bare `.sdk`-shaped folder keeps working exactly as it does today
|
|
35
|
-
// — that is what every existing consumer fixture is — and simply records no
|
|
36
|
-
// `package` provenance. Requiring one is `package add`'s business.
|
|
37
1
|
|
|
38
2
|
import Path from 'node:path'
|
|
39
3
|
|
|
@@ -54,58 +18,26 @@ type Manifest = {
|
|
|
54
18
|
name: string
|
|
55
19
|
version?: string
|
|
56
20
|
|
|
57
|
-
// DECLARATIVE ONLY, so far. Nothing reads this range yet: the engine gate
|
|
58
|
-
// belongs with `package add` (design §9), which is the next phase, and
|
|
59
|
-
// there is no semver implementation here to compare with — this package has
|
|
60
|
-
// no runtime dependencies. Until then a package declaring an incompatible
|
|
61
|
-
// range installs anyway. Stated here rather than left to be discovered,
|
|
62
|
-
// because a field that looks enforced and is not is worse than an absent
|
|
63
|
-
// one.
|
|
64
21
|
engines?: { sdkgen?: string }
|
|
65
22
|
|
|
66
|
-
// Keyed BY KIND, so a new kind (docs, …) needs no schema change.
|
|
67
23
|
provides: Record<string, string[]>
|
|
68
24
|
|
|
69
25
|
// Optional: which targets a feature ships source for, so a missing overlay
|
|
70
26
|
// is reported as out-of-declared-coverage rather than broken.
|
|
71
27
|
targetsSupported?: Record<string, string[]>
|
|
72
28
|
|
|
73
|
-
// Optional: the author's declared parity tier per target, in
|
|
74
|
-
// ts/test/parity.test.ts's vocabulary plus CONSUMER — see PARITY below.
|
|
75
29
|
parity?: Record<string, string>
|
|
76
30
|
}
|
|
77
31
|
|
|
78
32
|
|
|
79
|
-
// THE CLOSED PARITY VOCABULARY.
|
|
80
|
-
//
|
|
81
|
-
// The first three are `ts/test/parity.test.ts`'s tiers, which grade a
|
|
82
|
-
// language target against the shared `.aontu` corpus. `CONSUMER` is the
|
|
83
|
-
// fourth and grades nothing: a consumer target wraps another target's SDK and
|
|
84
|
-
// has no primary-utility surface to measure, so `parity.test.ts` keeps the
|
|
85
|
-
// bundled ones in NON_SDK_TARGETS rather than in a tier. A package holding
|
|
86
|
-
// one needs a way to say the same thing, and saying nothing is not it — an
|
|
87
|
-
// absent field cannot be told apart from an author who did not know the field
|
|
88
|
-
// existed, which is the silently-absent shape every other guard in this repo
|
|
89
|
-
// exists to prevent.
|
|
90
|
-
//
|
|
91
|
-
// Closed, and checked, because a declaration nothing checks is the failure
|
|
92
|
-
// `engines.sdkgen` documents about itself two fields up: a typo would
|
|
93
|
-
// otherwise be indistinguishable from a considered choice.
|
|
94
33
|
const PARITY = ['FULL', 'MIRRORED', 'UNCOVERED', 'CONSUMER']
|
|
95
34
|
|
|
96
35
|
|
|
97
|
-
// What `readManifest` found. THREE outcomes, deliberately distinct: a
|
|
98
|
-
// manifest, no manifest, or a manifest that could not be read. Collapsing the
|
|
99
|
-
// last two into "no manifest" is what would let a typo in a package's own
|
|
100
|
-
// JSON silently downgrade `package add` into a no-op.
|
|
101
36
|
type ManifestRead = {
|
|
102
|
-
// Where it was looked for, always — the value an error message needs.
|
|
103
37
|
file: string
|
|
104
38
|
|
|
105
|
-
// Present only when one was found AND parsed.
|
|
106
39
|
manifest?: Manifest
|
|
107
40
|
|
|
108
|
-
// Present only when one was found and could NOT be parsed.
|
|
109
41
|
err?: string
|
|
110
42
|
}
|
|
111
43
|
|
|
@@ -226,12 +158,6 @@ function checkShape(manifest: Manifest, file: string): Finding[] {
|
|
|
226
158
|
continue
|
|
227
159
|
}
|
|
228
160
|
|
|
229
|
-
// A NAME, not a path. `missingPaths` joins these onto the package root,
|
|
230
|
-
// so `../../outside` would send every existence check out of the
|
|
231
|
-
// package entirely and let a manifest validate clean against unrelated
|
|
232
|
-
// files. `~` is excluded for a different reason: it is the alias
|
|
233
|
-
// separator, so a name containing one could never be resolved back to
|
|
234
|
-
// this item.
|
|
235
161
|
for (const name of names as string[]) {
|
|
236
162
|
if (!ITEM_NAME_RE.test(name)) {
|
|
237
163
|
found.push({
|
|
@@ -263,31 +189,9 @@ function checkShape(manifest: Manifest, file: string): Finding[] {
|
|
|
263
189
|
}
|
|
264
190
|
|
|
265
191
|
|
|
266
|
-
// What may name a target, feature, or any other item.
|
|
267
|
-
//
|
|
268
|
-
// Deliberately narrow: these become directory names, aontu model keys,
|
|
269
|
-
// generated config keys (`options.feature.<name>`) and component filename
|
|
270
|
-
// suffixes, so the intersection of what all of those accept is the real
|
|
271
|
-
// constraint. The shipped names — `go-cli`, `py-data`, `seneca-provider`,
|
|
272
|
-
// `clienttrack` — all fit.
|
|
273
192
|
const ITEM_NAME_RE = /^[A-Za-z0-9][A-Za-z0-9._-]*$/
|
|
274
193
|
|
|
275
194
|
|
|
276
|
-
// Does the package's disk match its claim?
|
|
277
|
-
//
|
|
278
|
-
// BOTH DIRECTIONS, because they fail differently and neither implies the
|
|
279
|
-
// other:
|
|
280
|
-
//
|
|
281
|
-
// claim without disk -> ERROR. `package add` would try to install it and
|
|
282
|
-
// break partway through, having already written the
|
|
283
|
-
// items listed before it.
|
|
284
|
-
// disk without claim -> WARN. Everything works; the author has shipped
|
|
285
|
-
// something nobody can discover, which is nearly
|
|
286
|
-
// always a forgotten manifest edit.
|
|
287
|
-
//
|
|
288
|
-
// `kindRequires` is supplied by the caller rather than imported, because the
|
|
289
|
-
// kind registry lives in `action/` and this is a helper — the dependency has
|
|
290
|
-
// to point that way, not this way.
|
|
291
195
|
function validateManifest(
|
|
292
196
|
fs: any,
|
|
293
197
|
sdkfolder: string,
|
|
@@ -319,16 +223,6 @@ function validateManifest(
|
|
|
319
223
|
continue
|
|
320
224
|
}
|
|
321
225
|
|
|
322
|
-
// ONE ORACLE FOR BOTH DIRECTIONS. The unclaimed-extras loop below reads
|
|
323
|
-
// the directory listing; if this loop asked the filesystem instead
|
|
324
|
-
// (`existsSync`/`statSync`), the two would disagree on a case-insensitive
|
|
325
|
-
// filesystem — APFS and NTFS by default, which is most package authors'
|
|
326
|
-
// machines. A manifest claiming `IoTGo` beside a `model/target/iotgo.aon`
|
|
327
|
-
// then validated CLEAN for the author and failed for every Linux consumer,
|
|
328
|
-
// which is precisely the "validated package that cannot install" this
|
|
329
|
-
// function exists to prevent. It also makes the duplicate check above
|
|
330
|
-
// meaningful: `['retry','Retry']` are two names to a Set and one file to
|
|
331
|
-
// the filesystem.
|
|
332
226
|
const defined = new Set(definitionNames(fs, sdkfolder, kind))
|
|
333
227
|
|
|
334
228
|
for (const name of names) {
|
|
@@ -351,30 +245,6 @@ function validateManifest(
|
|
|
351
245
|
const targets = new Set(provides.target ?? [])
|
|
352
246
|
const graded = new Set(Object.keys(manifest.parity ?? {}))
|
|
353
247
|
|
|
354
|
-
// A PROVIDED TARGET THE MANIFEST GRADES NOTHING FOR, when it grades OTHERS.
|
|
355
|
-
//
|
|
356
|
-
// Checking only the values leaves the weaker half undone: a typo'd tier is
|
|
357
|
-
// caught while an absent one passes, and absent is the failure mode the
|
|
358
|
-
// closed sets in this repo exist for — indistinguishable from an author who
|
|
359
|
-
// did not know the field was there.
|
|
360
|
-
//
|
|
361
|
-
// SCOPED TO A PARTIAL DECLARATION, and the scope is a real constraint
|
|
362
|
-
// rather than timidity. An ENTIRELY absent `parity` is the BUNDLED
|
|
363
|
-
// manifest's deliberate state: design §18.4a refused to duplicate
|
|
364
|
-
// parity.test.ts's tier map into ts/project/sdkgen-package.json, because
|
|
365
|
-
// the intended direction is the reverse — the manifest becomes the source
|
|
366
|
-
// and the suite reads it. Warning on a wholly absent field would fire on
|
|
367
|
-
// the shipped scaffold's 25 targets and demand that duplication now, which
|
|
368
|
-
// is the decision §18.4a made, not one to reverse from inside a validator.
|
|
369
|
-
//
|
|
370
|
-
// What IS unambiguous is inconsistency: a manifest that grades some of its
|
|
371
|
-
// targets and not others has no second reading. Nobody decides to grade two
|
|
372
|
-
// of three.
|
|
373
|
-
//
|
|
374
|
-
// WARNING, not error, and the level is the argument. The package works — a
|
|
375
|
-
// missing coverage declaration installs and generates correctly — so
|
|
376
|
-
// refusing it would be a worse outcome than saying so, the same call
|
|
377
|
-
// `manifest-item-unclaimed` makes for a tree nothing claims.
|
|
378
248
|
for (const name of (0 === graded.size ? [] : [...targets].sort())) {
|
|
379
249
|
if (!graded.has(name as string)) {
|
|
380
250
|
found.push({
|
|
@@ -404,10 +274,6 @@ function validateManifest(
|
|
|
404
274
|
}
|
|
405
275
|
}
|
|
406
276
|
|
|
407
|
-
// The other direction. Only for kinds the manifest MENTIONS plus the ones
|
|
408
|
-
// this generator knows — a directory named after a kind nobody registered
|
|
409
|
-
// is already reported above if claimed, and is not this check's business if
|
|
410
|
-
// not.
|
|
411
277
|
for (const kind of Object.keys(kinds)) {
|
|
412
278
|
const claimed = new Set(provides[kind] ?? [])
|
|
413
279
|
|
|
@@ -427,22 +293,6 @@ function validateManifest(
|
|
|
427
293
|
}
|
|
428
294
|
|
|
429
295
|
|
|
430
|
-
// Every path an item of this kind needs, that is not there AS THE RIGHT KIND
|
|
431
|
-
// OF THING.
|
|
432
|
-
//
|
|
433
|
-
// The definition file is implied for every kind; the kind's REQUIRED trees
|
|
434
|
-
// add whatever else it needs (a target's component and template trees, a docs
|
|
435
|
-
// item's components). An optional tree — a docs item's templates — is not
|
|
436
|
-
// checked here, because a package that legitimately ships none must validate.
|
|
437
|
-
//
|
|
438
|
-
// FILE vs DIRECTORY is checked, not merely existence. A regular file at
|
|
439
|
-
// `src/cmp/<t>` satisfies `existsSync` and satisfies nothing else: `target
|
|
440
|
-
// add` walks both of those paths as trees, so a package validated on
|
|
441
|
-
// existence alone could still be incapable of installing a usable target —
|
|
442
|
-
// which is the one thing validation is supposed to rule out.
|
|
443
|
-
//
|
|
444
|
-
// Returned as package-relative strings, because that is what an error message
|
|
445
|
-
// should say: the absolute path is this machine's business, not the author's.
|
|
446
296
|
function missingPaths(
|
|
447
297
|
fs: any,
|
|
448
298
|
sdkfolder: string,
|
|
@@ -453,8 +303,6 @@ function missingPaths(
|
|
|
453
303
|
): string[] {
|
|
454
304
|
const missing: string[] = []
|
|
455
305
|
|
|
456
|
-
// The definition, by EXACT NAME from the directory listing — see the note
|
|
457
|
-
// at the call site about the two directions needing one oracle.
|
|
458
306
|
if (!defined.has(name)) {
|
|
459
307
|
missing.push('model/' + kind + '/' + name + '.aon')
|
|
460
308
|
}
|
|
@@ -473,9 +321,6 @@ function missingPaths(
|
|
|
473
321
|
}
|
|
474
322
|
|
|
475
323
|
|
|
476
|
-
// What is at a path: a file, a directory, or nothing. `statSync` FOLLOWS
|
|
477
|
-
// symlinks, deliberately — a package may legitimately symlink a shared tree,
|
|
478
|
-
// and what matters is what `target add` will find when it walks it.
|
|
479
324
|
function entryKind(fs: any, path: string): 'file' | 'dir' | 'none' {
|
|
480
325
|
try {
|
|
481
326
|
const stat = fs.statSync(path)
|
|
@@ -487,20 +332,6 @@ function entryKind(fs: any, path: string): 'file' | 'dir' | 'none' {
|
|
|
487
332
|
}
|
|
488
333
|
|
|
489
334
|
|
|
490
|
-
// WHERE A PACKAGE ROOT IS, given a ref.
|
|
491
|
-
//
|
|
492
|
-
// The same probe chain `resolveSource` uses for an ITEM, one level up: an
|
|
493
|
-
// installed npm package first, then a path relative to the project, then an
|
|
494
|
-
// absolute path. A package root is the folder HOLDING `.sdk`, which is what
|
|
495
|
-
// makes `<root>/<item>` the item ref — so the two resolvers agree by
|
|
496
|
-
// construction about what a package is.
|
|
497
|
-
//
|
|
498
|
-
// It reports rather than throws, and it does not require a manifest, because
|
|
499
|
-
// its two callers want different things from the same probe: `package add`
|
|
500
|
-
// refuses a folder with no manifest (that is the verb's whole subject), while
|
|
501
|
-
// `package check` reports the absence as its first finding and carries on
|
|
502
|
-
// checking the `.sdk` — an author who has not written the manifest yet is
|
|
503
|
-
// exactly who needs the rest of the battery.
|
|
504
335
|
type PackageProbe = {
|
|
505
336
|
ref: string
|
|
506
337
|
root: string
|
|
@@ -1,45 +1,14 @@
|
|
|
1
1
|
/* Copyright (c) 2024-2026 Voxgig Ltd, MIT License */
|
|
2
2
|
|
|
3
|
-
// Normalise entity names in the model so every generated identifier is legal.
|
|
4
|
-
//
|
|
5
|
-
// An entity name is a MODEL KEY, and every target builds identifiers from it:
|
|
6
|
-
// the PascalCase `Name` (class names, the SDK accessor, every generated type
|
|
7
|
-
// name), the snake stem (python module names, test function names), the
|
|
8
|
-
// object-literal key in the emitted config map. No target language permits an
|
|
9
|
-
// identifier that starts with a digit, and ordinary resources produce one:
|
|
10
|
-
// `/3ds-sessions` -> entity `3ds_session` -> `class 3dsSessionEntity`,
|
|
11
|
-
// `import { 3dsSession }`, `3dsSession()`. That is not a degraded SDK, it is
|
|
12
|
-
// no SDK — nothing compiles (issue #124).
|
|
13
|
-
//
|
|
14
|
-
// THE RENAME IS ON THE MODEL, NOT ON A DERIVED FORM, and that is the whole
|
|
15
|
-
// design. Guarding `Name` where it is derived does not survive: a consumer's
|
|
16
|
-
// scaffolded `Root.ts` — which lives in the consumer's repo, not here — runs
|
|
17
|
-
// its own `names(entity, entity.name)` per entity per target, immediately
|
|
18
|
-
// before emitting, and re-derives `Name` from the unguarded name. Only a
|
|
19
|
-
// guarded `entity.name` makes that re-derivation come out right, and it fixes
|
|
20
|
-
// the snake-stem and config-key positions at the same time.
|
|
21
|
-
//
|
|
22
|
-
// Applied before Root runs, so nothing has read a name yet.
|
|
23
|
-
//
|
|
24
|
-
// IT IS A NO-OP ON EVERY MODEL THAT EXISTS TODAY. apidef guards entity names
|
|
25
|
-
// at the source, so a name reaching here with a leading digit means a
|
|
26
|
-
// hand-authored `.sdk/model` or a pre-guard apidef. The rename is the same
|
|
27
|
-
// rule, producing the same name, as apidef's own `prefixLeadingDigit` — so
|
|
28
|
-
// the two layers agree rather than compete, and a model that went through
|
|
29
|
-
// apidef is untouched.
|
|
30
|
-
//
|
|
31
|
-
// The WIRE is untouched. A request path comes from the point's `orig`, never
|
|
32
|
-
// from the entity name, so renaming the entity cannot change what is called.
|
|
33
3
|
|
|
34
4
|
import { each, names } from 'jostraca'
|
|
35
5
|
import { KIT } from '@voxgig/apidef'
|
|
36
6
|
|
|
7
|
+
import { entityRelationName } from './buildIdNames'
|
|
8
|
+
|
|
37
9
|
import { prefixLeadingDigit } from './naming'
|
|
38
10
|
|
|
39
11
|
|
|
40
|
-
// `from`/`to` are the entity NAME. `key` is where the entity sits in the
|
|
41
|
-
// collection after the rename — the new name when the map was keyed by it (the
|
|
42
|
-
// normal shape), the untouched original key when it was not.
|
|
43
12
|
type Rename = { from: string, to: string, key: string }
|
|
44
13
|
|
|
45
14
|
// The internal form, which also remembers where the entity sat BEFORE the
|
|
@@ -48,21 +17,14 @@ type Rename = { from: string, to: string, key: string }
|
|
|
48
17
|
type Plan = { from: string, to: string, origkey: string }
|
|
49
18
|
|
|
50
19
|
|
|
51
|
-
// Rename every entity whose name would produce an illegal identifier, and
|
|
52
|
-
// rewrite the model's own references to it. Returns the renames applied, so
|
|
53
|
-
// the caller can report them; empty when the model is already clean.
|
|
54
20
|
function guardModelNames(model: any, log?: any): Rename[] {
|
|
55
21
|
const entity = model?.main?.[KIT]?.entity
|
|
56
|
-
// An ARRAY is not a name-keyed collection: its keys are indices, and
|
|
57
|
-
// "renaming" one would rewrite the model into nonsense. Models are maps, but
|
|
58
|
-
// the check is cheap and the failure would be silent.
|
|
59
22
|
if (null == entity || 'object' !== typeof entity || Array.isArray(entity)) {
|
|
60
23
|
return []
|
|
61
24
|
}
|
|
62
25
|
|
|
63
26
|
const flow = flowMap(model)
|
|
64
27
|
|
|
65
|
-
// Sorted keys: the rename set, and any collision report, is byte-stable.
|
|
66
28
|
const keys = Object.keys(entity).sort()
|
|
67
29
|
const taken = new Set(keys)
|
|
68
30
|
keys.forEach((k) => {
|
|
@@ -79,9 +41,6 @@ function guardModelNames(model: any, log?: any): Rename[] {
|
|
|
79
41
|
continue
|
|
80
42
|
}
|
|
81
43
|
|
|
82
|
-
// `name` is authoritative, not the key: it is the value every derived
|
|
83
|
-
// form comes from. The key moves with it only when the two agree, which
|
|
84
|
-
// is the normal shape.
|
|
85
44
|
const from = 'string' === typeof ent.name ? ent.name : key
|
|
86
45
|
|
|
87
46
|
const to = prefixLeadingDigit(from)
|
|
@@ -89,23 +48,11 @@ function guardModelNames(model: any, log?: any): Rename[] {
|
|
|
89
48
|
continue
|
|
90
49
|
}
|
|
91
50
|
|
|
92
|
-
// The guarded name is already another entity's. Renaming onto it would
|
|
93
|
-
// merge two unrelated entities — silently, since the model is a plain
|
|
94
|
-
// map — so leave this one alone and say so. The generated SDK still will
|
|
95
|
-
// not compile, but the reason is now in the log rather than in a syntax
|
|
96
|
-
// error 20 files later.
|
|
97
51
|
if (taken.has(to)) {
|
|
98
52
|
blocked.push(from)
|
|
99
53
|
continue
|
|
100
54
|
}
|
|
101
55
|
|
|
102
|
-
// The FLOW key would collide. `Basic<Name>Flow` is rebuilt from the
|
|
103
|
-
// guarded Name by every Test component, so if the guarded key is already
|
|
104
|
-
// occupied by a different flow, renaming would point all of them at that
|
|
105
|
-
// one and strand this entity's own flow under its old key — generated
|
|
106
|
-
// tests that exercise the wrong entity, silently. Refuse, exactly as for
|
|
107
|
-
// an entity-name collision: an SDK that does not compile is a better
|
|
108
|
-
// outcome than one whose tests lie.
|
|
109
56
|
if (null != flow && flowCollides(flow, from, to)) {
|
|
110
57
|
blocked.push(from)
|
|
111
58
|
continue
|
|
@@ -135,18 +82,12 @@ function guardModelNames(model: any, log?: any): Rename[] {
|
|
|
135
82
|
for (const { from, to, origkey } of plans) {
|
|
136
83
|
const ent = entity[origkey]
|
|
137
84
|
ent.name = to
|
|
138
|
-
// jostraca's names() is memo-free but idempotent-by-absence: every derived
|
|
139
|
-
// form has to go, or a stale `Name` from an earlier pass survives the
|
|
140
|
-
// rename and the SDK is inconsistent with itself.
|
|
141
85
|
delete ent.Name
|
|
142
86
|
delete ent.NAME
|
|
143
87
|
delete ent.name_
|
|
144
88
|
delete ent['name-']
|
|
145
89
|
delete ent.name__orig
|
|
146
90
|
|
|
147
|
-
// The key moves only when it WAS the name. A key the model chose for some
|
|
148
|
-
// other reason is left where it is; every derived identifier comes from
|
|
149
|
-
// `name`, which is now guarded either way.
|
|
150
91
|
if (origkey === from) {
|
|
151
92
|
entity[to] = ent
|
|
152
93
|
delete entity[origkey]
|
|
@@ -157,16 +98,6 @@ function guardModelNames(model: any, log?: any): Rename[] {
|
|
|
157
98
|
|
|
158
99
|
renameReferences(model, renames)
|
|
159
100
|
|
|
160
|
-
// WARN, not info, because it names work only the project owner can do.
|
|
161
|
-
//
|
|
162
|
-
// The generated flow test reads its fixture from
|
|
163
|
-
// `.sdk/test/entity/<name>/<Name>TestData.json` and seeds the config under
|
|
164
|
-
// `<name>` — both derived from the guarded name. sdkgen READS that path and
|
|
165
|
-
// never writes it: the fixture is the project's own content under `.sdk/`,
|
|
166
|
-
// not generated output, so the rename cannot carry it. A project that
|
|
167
|
-
// already has one for a digit-named entity goes from an SDK that does not
|
|
168
|
-
// compile at all to one that compiles with a flow test failing on a missing
|
|
169
|
-
// fixture — better, but only if it says which file to move.
|
|
170
101
|
if (log?.warn) {
|
|
171
102
|
log.warn({
|
|
172
103
|
point: 'entity-name-guard', renames,
|
|
@@ -185,7 +116,6 @@ function guardModelNames(model: any, log?: any): Rename[] {
|
|
|
185
116
|
}
|
|
186
117
|
|
|
187
118
|
|
|
188
|
-
// The flow collection, when the model has one shaped like a map.
|
|
189
119
|
function flowMap(model: any): Record<string, any> | null {
|
|
190
120
|
const flow = model?.main?.[KIT]?.flow
|
|
191
121
|
return (null != flow && 'object' === typeof flow && !Array.isArray(flow))
|
|
@@ -206,17 +136,9 @@ function flowCollides(
|
|
|
206
136
|
}
|
|
207
137
|
|
|
208
138
|
|
|
209
|
-
// The model refers to an entity by name in two more places, and both have to
|
|
210
|
-
// move with it or the reference dangles.
|
|
211
139
|
function renameReferences(model: any, renames: Rename[]): void {
|
|
212
140
|
const map = new Map(renames.map((r) => [r.from, r.to]))
|
|
213
141
|
|
|
214
|
-
// 1. FLOWS. A flow names its entity, and the Test components look the flow
|
|
215
|
-
// up by a key REBUILT from the entity's PascalCase Name
|
|
216
|
-
// (`Basic${nom(entity, 'Name')}Flow`), so the key has to move too or the
|
|
217
|
-
// entity silently generates no tests. Only a key that matches the
|
|
218
|
-
// reconstructed old one is renamed; anything else the author chose is
|
|
219
|
-
// left as it is, with just its `entity` field corrected.
|
|
220
142
|
const flow = flowMap(model)
|
|
221
143
|
if (null != flow) {
|
|
222
144
|
for (const key of Object.keys(flow).sort()) {
|
|
@@ -244,7 +166,6 @@ function renameReferences(model: any, renames: Rename[]): void {
|
|
|
244
166
|
}
|
|
245
167
|
}
|
|
246
168
|
|
|
247
|
-
// 2. ANCESTORS. A nested entity records its parents by name.
|
|
248
169
|
const entity = model?.main?.[KIT]?.entity
|
|
249
170
|
each(entity).forEach((ent: any) => {
|
|
250
171
|
const ancestors = ent?.relations?.ancestors
|
|
@@ -253,7 +174,10 @@ function renameReferences(model: any, renames: Rename[]): void {
|
|
|
253
174
|
}
|
|
254
175
|
ent.relations.ancestors = ancestors.map((a: any) =>
|
|
255
176
|
Array.isArray(a)
|
|
256
|
-
? a.map((n:
|
|
177
|
+
? a.map((n: string) => {
|
|
178
|
+
const renamed = map.get(entityRelationName(n))
|
|
179
|
+
return renamed == null ? n : n.startsWith('$.') ? '$.main.kit.entity.' + renamed : renamed
|
|
180
|
+
})
|
|
257
181
|
: (map.get(a) ?? a))
|
|
258
182
|
})
|
|
259
183
|
}
|
|
@@ -1,36 +1,3 @@
|
|
|
1
|
-
// THE MODEL RULES A PACKAGE'S `.aon` FILES MUST SATISFY.
|
|
2
|
-
//
|
|
3
|
-
// See docs/design/sdkgen-packages.md §10 (the rules) and §14 (the battery).
|
|
4
|
-
//
|
|
5
|
-
// WHY THIS IS A MODULE AND NOT A TEST
|
|
6
|
-
//
|
|
7
|
-
// Every rule below was already enforced — on the BUNDLED scaffold only, and
|
|
8
|
-
// from inside `ts/test/model-compile.test.ts`, where nothing else can call
|
|
9
|
-
// it. `package check` has to apply the same rules to a package this
|
|
10
|
-
// generator has never seen, and a rule written twice diverges: this
|
|
11
|
-
// workstream has produced that exact defect five times (path refs, replace
|
|
12
|
-
// maps, provenance reconstruction, the tilde parse, the installed-registry
|
|
13
|
-
// call). So the rules move here and BOTH callers read them — the guard suite
|
|
14
|
-
// over `ts/project`, which is itself an sdkgen package, and the verb.
|
|
15
|
-
//
|
|
16
|
-
// WHAT MAKES A MODEL FILE WRONG
|
|
17
|
-
//
|
|
18
|
-
// Three failure modes, and they surface at three different times, which is
|
|
19
|
-
// why all three are checked:
|
|
20
|
-
//
|
|
21
|
-
// 1. It does not PARSE under the parser a consumer actually uses. Aontu
|
|
22
|
-
// takes `#` comments; the npm engine's jsonic enables `//` and `/* */`
|
|
23
|
-
// by default and `@voxgig/model` switches them back off, so a `//` line
|
|
24
|
-
// compiles here and fails in the consumer's build. Seven shipped
|
|
25
|
-
// targets went out broken that way.
|
|
26
|
-
// 2. It parses but does not UNIFY with the base schema — a missing
|
|
27
|
-
// non-defaulted key (`ext`, `comment.line`, `module.name`, a feature's
|
|
28
|
-
// `title`). The file alone is fine, so nothing at add time notices; the
|
|
29
|
-
// consumer's whole model compile is what fails.
|
|
30
|
-
// 3. It unifies but PINS a key the project owns (`publish.version`,
|
|
31
|
-
// `publish.registry.package`). Concrete-vs-concrete is a conflict in
|
|
32
|
-
// aontu, so the project cannot override it — and the failure names the
|
|
33
|
-
// project's own file, not the package's.
|
|
34
1
|
|
|
35
2
|
import { Aontu } from 'aontu'
|
|
36
3
|
import { createRequire } from 'node:module'
|
|
@@ -45,15 +12,6 @@ import { schemaFile } from './shipped'
|
|
|
45
12
|
const ANCHOR = "base: 'BASE'"
|
|
46
13
|
|
|
47
14
|
|
|
48
|
-
// Matched as a WHOLE LINE, never as a substring — the same rule doctor
|
|
49
|
-
// learned the hard way (see AGENTS.md, "Provenance is matched by EXACT LINE").
|
|
50
|
-
//
|
|
51
|
-
// `database: 'BASE'` contains the anchor text, and so does a comment
|
|
52
|
-
// mentioning it. Either would satisfy a substring test while leaving the
|
|
53
|
-
// definition with no anchor of its own: the stamp then rewrites that
|
|
54
|
-
// unrelated occurrence, the item records no usable `base`, and `doctor` and
|
|
55
|
-
// `package update` can never locate its source — with `package check` having
|
|
56
|
-
// reported the file as fine.
|
|
57
15
|
const ANCHOR_RE = /^[ \t]*base: 'BASE'[ \t]*$/m
|
|
58
16
|
|
|
59
17
|
|
|
@@ -63,35 +21,21 @@ const ANCHOR_RE = /^[ \t]*base: 'BASE'[ \t]*$/m
|
|
|
63
21
|
const BARE_KEY_RE = /^[A-Za-z_$][A-Za-z0-9_$]*$/
|
|
64
22
|
|
|
65
23
|
|
|
66
|
-
// The key as it must be WRITTEN in a model file.
|
|
67
24
|
function aontuKey(name: string): string {
|
|
68
25
|
return BARE_KEY_RE.test(name) ? name : "'" + name + "'"
|
|
69
26
|
}
|
|
70
27
|
|
|
71
28
|
|
|
72
|
-
// Blank out quoted spans before looking for comment markers, so a `//` inside
|
|
73
|
-
// a string — a url, or the `comment: line: '//'` every C-family target model
|
|
74
|
-
// legitimately declares — is not mistaken for a comment.
|
|
75
29
|
function unquoted(line: string): string {
|
|
76
30
|
return line.replace(/'[^']*'|"[^"]*"|`[^`]*`/g, '')
|
|
77
31
|
}
|
|
78
32
|
|
|
79
33
|
|
|
80
|
-
// What the PARSER sees on this line: quoted spans blanked, then everything
|
|
81
|
-
// from the first `#` dropped.
|
|
82
|
-
//
|
|
83
|
-
// Both steps, in that order. Without the second, a perfectly valid comment
|
|
84
|
-
// that happens to mention the token — `# some languages use // comments` —
|
|
85
|
-
// is reported as a parse error and the CLI exits non-zero on a correct
|
|
86
|
-
// package. Without the first, a `#` inside a string would truncate the line
|
|
87
|
-
// early and hide a real `//` after it.
|
|
88
34
|
function code(line: string): string {
|
|
89
35
|
return unquoted(line).split('#')[0]
|
|
90
36
|
}
|
|
91
37
|
|
|
92
38
|
|
|
93
|
-
// Every line carrying a slash comment, 1-based, as a consumer's parser would
|
|
94
|
-
// see it.
|
|
95
39
|
function slashComments(text: string): { line: number, text: string }[] {
|
|
96
40
|
const found: { line: number, text: string }[] = []
|
|
97
41
|
|
|
@@ -105,15 +49,6 @@ function slashComments(text: string): { line: number, text: string }[] {
|
|
|
105
49
|
}
|
|
106
50
|
|
|
107
51
|
|
|
108
|
-
// An Aontu configured the way `@voxgig/model` configures it — which is what
|
|
109
|
-
// actually compiles a consumer's models. A plain `new Aontu()` accepts `//`
|
|
110
|
-
// and `/* */`; the Go engine has no such extension, so the npm build switches
|
|
111
|
-
// them off to match, and this must too or the check is checking a parser
|
|
112
|
-
// nobody runs.
|
|
113
|
-
//
|
|
114
|
-
// A FRESH INSTANCE each time: the option call mutates the instance's jsonic,
|
|
115
|
-
// so a cached one would leak its configuration into the bare compile that is
|
|
116
|
-
// deliberately paired with it.
|
|
117
52
|
function strictAontu(options?: any): any {
|
|
118
53
|
const aontu: any = new Aontu(options)
|
|
119
54
|
aontu.lang.jsonic.options({ comment: { def: { slash: null, multi: null } } })
|
|
@@ -135,12 +70,6 @@ type CompileResult = {
|
|
|
135
70
|
}
|
|
136
71
|
|
|
137
72
|
|
|
138
|
-
// aontu reports a resolution problem through the `errs` collector and THROWS
|
|
139
|
-
// a parse problem, so both routes have to be handled or the interesting
|
|
140
|
-
// failure escapes as an opaque AontuError. Its message carries a source
|
|
141
|
-
// excerpt with ANSI colouring and line numbers that refer to the text
|
|
142
|
-
// COMPILED, which is not the file on disk once a schema include is prepended
|
|
143
|
-
// — so the excerpt is cut and only the diagnosis is kept.
|
|
144
73
|
function tidy(msg: string): string {
|
|
145
74
|
const lines = String(msg)
|
|
146
75
|
.replace(new RegExp(String.fromCharCode(27) + "\\[[0-9;]*m", 'g'), '')
|
|
@@ -155,43 +84,18 @@ function tidy(msg: string): string {
|
|
|
155
84
|
}
|
|
156
85
|
|
|
157
86
|
|
|
158
|
-
// Compile one model file's TEXT.
|
|
159
|
-
//
|
|
160
|
-
// strict: under the parser @voxgig/model configures (the consumer's
|
|
161
|
-
// reality) rather than a bare Aontu().
|
|
162
|
-
// schema: unified with the base schema, which is what makes a missing
|
|
163
|
-
// non-defaulted key a failure instead of an absent key nobody
|
|
164
|
-
// notices until the consumer compiles.
|
|
165
|
-
//
|
|
166
|
-
// `path` must be the file's real path even when the text is synthesised:
|
|
167
|
-
// aontu resolves includes relative to it, and stats it.
|
|
168
87
|
function compileModel(
|
|
169
88
|
src: string,
|
|
170
89
|
path: string,
|
|
171
90
|
opts?: { strict?: boolean, schema?: boolean },
|
|
172
91
|
): CompileResult {
|
|
173
|
-
// `errs`, NOT `err`. They are different options with opposite behaviour:
|
|
174
|
-
//
|
|
175
|
-
// errs — aontu THROWS on the first problem it cannot resolve.
|
|
176
|
-
// err — aontu COLLECTS problems and returns no model, which sounds
|
|
177
|
-
// better and is not: a PARSE problem is then swallowed entirely.
|
|
178
|
-
// `// nope` under the strict parser yields a model and an EMPTY
|
|
179
|
-
// collector, and a slash comment is the single most common thing
|
|
180
|
-
// this check exists to catch.
|
|
181
|
-
//
|
|
182
|
-
// So the throw is the signal, and it is caught below. The collector is
|
|
183
|
-
// still passed and still read: it costs nothing, and an aontu that one day
|
|
184
|
-
// collects instead of throwing must not report "no errors" here.
|
|
185
92
|
const errs: any[] = []
|
|
186
93
|
|
|
187
94
|
const text = true === opts?.schema ?
|
|
188
95
|
includeLine(schemaFile()) + '\n' + src : src
|
|
189
96
|
|
|
190
97
|
try {
|
|
191
|
-
// Resolve package includes from the model being checked, including native
|
|
192
|
-
// package self-references. The SDK toolchain's dependencies are unrelated.
|
|
193
98
|
const localRequire = Object.assign(createRequire(Path.resolve(path)), { main: require.main })
|
|
194
|
-
// Aontu forwards this runtime resolver option to Lang; its public type omits it.
|
|
195
99
|
const options: any = { require: localRequire }
|
|
196
100
|
const aontu = false === opts?.strict ? new Aontu(options) : strictAontu(options)
|
|
197
101
|
const model = aontu.generate(text, { path, errs })
|
|
@@ -208,16 +112,6 @@ function compileModel(
|
|
|
208
112
|
}
|
|
209
113
|
|
|
210
114
|
|
|
211
|
-
// Every key the schema DEFAULTS and a project therefore expects to set, with
|
|
212
|
-
// TWO values to try setting it to. A target model that declares any of them
|
|
213
|
-
// makes the project's own declaration a concrete-vs-concrete conflict — which
|
|
214
|
-
// fails the consumer's entire model compile, naming the consumer's file.
|
|
215
|
-
//
|
|
216
|
-
// Two values because aontu unifies two EQUAL concrete scalars happily: a
|
|
217
|
-
// target pinning `publish: tag: active: false` — which is one of only two
|
|
218
|
-
// values that key can take — passed a single-sentinel probe while still
|
|
219
|
-
// making `true` impossible for the consumer. One alternative value per key is
|
|
220
|
-
// enough: a pin can equal one sentinel or the other, never both.
|
|
221
115
|
const PUBLISH_OVERRIDES: [string, string, string][] = [
|
|
222
116
|
['publish: version', "'9.9.9'", "'8.8.8'"],
|
|
223
117
|
['publish: tag: active', 'false', 'true'],
|