@voxgig/sdkgen 4.21.0 → 4.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/voxgig-sdkgen +1 -1
- package/dist/action/action.js +0 -65
- package/dist/action/action.js.map +1 -1
- package/dist/action/check.js +0 -88
- package/dist/action/check.js.map +1 -1
- package/dist/action/dispatch.js +0 -27
- package/dist/action/dispatch.js.map +1 -1
- package/dist/action/doctor.d.ts +1 -0
- package/dist/action/doctor.js +55 -321
- package/dist/action/doctor.js.map +1 -1
- package/dist/action/edition.js +1 -87
- package/dist/action/edition.js.map +1 -1
- package/dist/action/feature.js +0 -48
- package/dist/action/feature.js.map +1 -1
- package/dist/action/kind.js +0 -132
- package/dist/action/kind.js.map +1 -1
- package/dist/action/package.js +0 -221
- package/dist/action/package.js.map +1 -1
- package/dist/action/resolve.js +0 -145
- package/dist/action/resolve.js.map +1 -1
- package/dist/action/target.js +0 -177
- package/dist/action/target.js.map +1 -1
- package/dist/cmp/AgentGuide.js +0 -7
- package/dist/cmp/AgentGuide.js.map +1 -1
- package/dist/cmp/AgentGuideContent.js +0 -24
- package/dist/cmp/AgentGuideContent.js.map +1 -1
- package/dist/cmp/AgentGuideTop.js +0 -7
- package/dist/cmp/AgentGuideTop.js.map +1 -1
- package/dist/cmp/Changelog.js +0 -14
- package/dist/cmp/Changelog.js.map +1 -1
- package/dist/cmp/Deploy.js +1 -31
- package/dist/cmp/Deploy.js.map +1 -1
- package/dist/cmp/Entity.js +0 -4
- package/dist/cmp/Entity.js.map +1 -1
- package/dist/cmp/ExternalTarget.js +0 -36
- package/dist/cmp/ExternalTarget.js.map +1 -1
- package/dist/cmp/Feature.js +0 -14
- package/dist/cmp/Feature.js.map +1 -1
- package/dist/cmp/FeatureDocs.js +0 -25
- package/dist/cmp/FeatureDocs.js.map +1 -1
- package/dist/cmp/PublishWorkflow.js +0 -60
- package/dist/cmp/PublishWorkflow.js.map +1 -1
- package/dist/cmp/ReadmeErrors.js +0 -2
- package/dist/cmp/ReadmeErrors.js.map +1 -1
- package/dist/cmp/ReadmeExplanation.js +0 -5
- package/dist/cmp/ReadmeExplanation.js.map +1 -1
- package/dist/cmp/ReadmeFeatures.js +0 -10
- package/dist/cmp/ReadmeFeatures.js.map +1 -1
- package/dist/cmp/ReadmeRefFeatures.js +0 -19
- package/dist/cmp/ReadmeRefFeatures.js.map +1 -1
- package/dist/cmp/ReadmeStation.js +0 -19
- package/dist/cmp/ReadmeStation.js.map +1 -1
- package/dist/cmp/ReadmeTop.js +0 -80
- package/dist/cmp/ReadmeTop.js.map +1 -1
- package/dist/cmp/ReadmeUnions.js +0 -15
- package/dist/cmp/ReadmeUnions.js.map +1 -1
- package/dist/cmp/Registered.js +0 -30
- package/dist/cmp/Registered.js.map +1 -1
- package/dist/cmp/Security.js +0 -2
- package/dist/cmp/Security.js.map +1 -1
- package/dist/cmp/Test.js +2 -1
- package/dist/cmp/Test.js.map +1 -1
- package/dist/cmp/TestControl.js +0 -25
- package/dist/cmp/TestControl.js.map +1 -1
- package/dist/helpers/applicability.js +0 -60
- package/dist/helpers/applicability.js.map +1 -1
- package/dist/helpers/buildIdNames.js +0 -12
- package/dist/helpers/buildIdNames.js.map +1 -1
- package/dist/helpers/canonSpec.js +0 -114
- package/dist/helpers/canonSpec.js.map +1 -1
- package/dist/helpers/canonType.js +0 -87
- package/dist/helpers/canonType.js.map +1 -1
- package/dist/helpers/collectDeps.js +0 -27
- package/dist/helpers/collectDeps.js.map +1 -1
- package/dist/helpers/definition.js +0 -29
- package/dist/helpers/definition.js.map +1 -1
- package/dist/helpers/dryrun.js +0 -8
- package/dist/helpers/dryrun.js.map +1 -1
- package/dist/helpers/featureSource.js +0 -145
- package/dist/helpers/featureSource.js.map +1 -1
- package/dist/helpers/getMatchEntries.js +0 -4
- package/dist/helpers/getMatchEntries.js.map +1 -1
- package/dist/helpers/junk.js +9 -85
- package/dist/helpers/junk.js.map +1 -1
- package/dist/helpers/manifest.js +0 -138
- package/dist/helpers/manifest.js.map +1 -1
- package/dist/helpers/modelNames.js +0 -78
- package/dist/helpers/modelNames.js.map +1 -1
- package/dist/helpers/modelcheck.js +0 -106
- package/dist/helpers/modelcheck.js.map +1 -1
- package/dist/helpers/naming.d.ts +0 -1
- package/dist/helpers/naming.js +0 -303
- package/dist/helpers/naming.js.map +1 -1
- package/dist/helpers/opExample.js +0 -51
- package/dist/helpers/opExample.js.map +1 -1
- package/dist/helpers/opShape.js +0 -198
- package/dist/helpers/opShape.js.map +1 -1
- package/dist/helpers/optspec.js +0 -77
- package/dist/helpers/optspec.js.map +1 -1
- package/dist/helpers/packageMeta.js +1 -200
- package/dist/helpers/packageMeta.js.map +1 -1
- package/dist/helpers/pointPath.js +0 -55
- package/dist/helpers/pointPath.js.map +1 -1
- package/dist/helpers/resolved.d.ts +6 -0
- package/dist/helpers/resolved.js +49 -0
- package/dist/helpers/resolved.js.map +1 -0
- package/dist/helpers/semver.js +0 -61
- package/dist/helpers/semver.js.map +1 -1
- package/dist/helpers/serverVars.js +0 -44
- package/dist/helpers/serverVars.js.map +1 -1
- package/dist/helpers/shipped.js +0 -14
- package/dist/helpers/shipped.js.map +1 -1
- package/dist/helpers/station.js +0 -32
- package/dist/helpers/station.js.map +1 -1
- package/dist/helpers/stdrep.js +0 -26
- package/dist/helpers/stdrep.js.map +1 -1
- package/dist/helpers/testPolicy.js +0 -4
- package/dist/helpers/testPolicy.js.map +1 -1
- package/dist/sdkgen.d.ts +2 -1
- package/dist/sdkgen.js +13 -242
- package/dist/sdkgen.js.map +1 -1
- package/dist/testkit.js +6 -266
- package/dist/testkit.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utility.js +0 -243
- package/dist/utility.js.map +1 -1
- package/model/sdkgen.aon +12 -489
- package/package.json +4 -4
- package/project/.sdk/model/feature/audit.aon +0 -7
- package/project/.sdk/model/feature/cache.aon +0 -7
- package/project/.sdk/model/feature/clienttrack.aon +0 -7
- package/project/.sdk/model/feature/cost.aon +0 -13
- package/project/.sdk/model/feature/debug.aon +0 -7
- package/project/.sdk/model/feature/idempotency.aon +0 -7
- package/project/.sdk/model/feature/log.aon +0 -7
- package/project/.sdk/model/feature/metrics.aon +0 -7
- package/project/.sdk/model/feature/netsim.aon +0 -10
- package/project/.sdk/model/feature/paging.aon +0 -7
- package/project/.sdk/model/feature/proxy.aon +0 -7
- package/project/.sdk/model/feature/ratelimit.aon +0 -7
- package/project/.sdk/model/feature/retry.aon +0 -7
- package/project/.sdk/model/feature/secrets.aon +0 -482
- package/project/.sdk/model/feature/streaming.aon +0 -7
- package/project/.sdk/model/feature/telemetry.aon +0 -7
- package/project/.sdk/model/feature/test.aon +1 -8
- package/project/.sdk/model/feature/timeout.aon +0 -7
- package/project/.sdk/model/feature/validate.aon +0 -32
- package/project/.sdk/model/target/c.aon +0 -41
- package/project/.sdk/model/target/clojure.aon +0 -36
- package/project/.sdk/model/target/cpp.aon +0 -42
- package/project/.sdk/model/target/csharp.aon +0 -26
- package/project/.sdk/model/target/elixir.aon +0 -22
- package/project/.sdk/model/target/go-cli.aon +0 -30
- package/project/.sdk/model/target/go-mcp.aon +0 -21
- package/project/.sdk/model/target/go.aon +0 -9
- package/project/.sdk/model/target/java.aon +0 -29
- package/project/.sdk/model/target/js.aon +2 -21
- package/project/.sdk/model/target/kotlin.aon +0 -31
- package/project/.sdk/model/target/lua.aon +0 -32
- package/project/.sdk/model/target/ocaml.aon +0 -64
- package/project/.sdk/model/target/perl.aon +0 -20
- package/project/.sdk/model/target/php.aon +0 -17
- package/project/.sdk/model/target/py-data.aon +0 -33
- package/project/.sdk/model/target/py.aon +0 -17
- package/project/.sdk/model/target/rb.aon +0 -17
- package/project/.sdk/model/target/rust.aon +0 -25
- package/project/.sdk/model/target/scala.aon +0 -74
- package/project/.sdk/model/target/swift.aon +0 -41
- package/project/.sdk/model/target/ts.aon +3 -25
- package/project/.sdk/model/target/zig.aon +0 -50
- package/project/.sdk/src/cmp/c/Config_c.ts +0 -100
- package/project/.sdk/src/cmp/c/EntityTypes_c.ts +0 -36
- package/project/.sdk/src/cmp/c/Main_c.ts +0 -44
- package/project/.sdk/src/cmp/c/Package_c.ts +0 -14
- package/project/.sdk/src/cmp/c/PrepareAuth_c.ts +0 -85
- package/project/.sdk/src/cmp/c/ReadmeExamplesTest_c.ts +0 -20
- package/project/.sdk/src/cmp/c/ReadmeRef_c.ts +2 -5
- package/project/.sdk/src/cmp/c/ReadmeTopQuick_c.ts +0 -2
- package/project/.sdk/src/cmp/c/Schema_c.ts +0 -19
- package/project/.sdk/src/cmp/c/utility_c.ts +0 -47
- package/project/.sdk/src/cmp/clojure/Config_clojure.ts +0 -63
- package/project/.sdk/src/cmp/clojure/Entity_clojure.ts +0 -1
- package/project/.sdk/src/cmp/clojure/Main_clojure.ts +0 -41
- package/project/.sdk/src/cmp/clojure/Package_clojure.ts +0 -20
- package/project/.sdk/src/cmp/clojure/PrepareAuth_clojure.ts +0 -130
- package/project/.sdk/src/cmp/clojure/ReadmeExamplesTest_clojure.ts +0 -16
- package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +2 -5
- package/project/.sdk/src/cmp/clojure/Schema_clojure.ts +0 -20
- package/project/.sdk/src/cmp/clojure/TestDirect_clojure.ts +0 -6
- package/project/.sdk/src/cmp/clojure/TestEntity_clojure.ts +0 -10
- package/project/.sdk/src/cmp/clojure/Test_clojure.ts +0 -8
- package/project/.sdk/src/cmp/clojure/featureextra_clojure.ts +0 -34
- package/project/.sdk/src/cmp/clojure/utility_clojure.ts +0 -47
- package/project/.sdk/src/cmp/cpp/Config_cpp.ts +0 -109
- package/project/.sdk/src/cmp/cpp/EntityTypes_cpp.ts +0 -36
- package/project/.sdk/src/cmp/cpp/Main_cpp.ts +0 -47
- package/project/.sdk/src/cmp/cpp/Package_cpp.ts +0 -14
- package/project/.sdk/src/cmp/cpp/PrepareAuth_cpp.ts +0 -125
- package/project/.sdk/src/cmp/cpp/ReadmeExamplesTest_cpp.ts +0 -19
- package/project/.sdk/src/cmp/cpp/ReadmeQuick_cpp.ts +0 -7
- package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +2 -5
- package/project/.sdk/src/cmp/cpp/Schema_cpp.ts +0 -21
- package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +0 -3
- package/project/.sdk/src/cmp/cpp/Test_cpp.ts +0 -3
- package/project/.sdk/src/cmp/cpp/utility_cpp.ts +0 -28
- package/project/.sdk/src/cmp/csharp/Config_csharp.ts +0 -79
- package/project/.sdk/src/cmp/csharp/EntityOperation_csharp.ts +0 -3
- package/project/.sdk/src/cmp/csharp/EntityTypes_csharp.ts +0 -50
- package/project/.sdk/src/cmp/csharp/Entity_csharp.ts +0 -1
- package/project/.sdk/src/cmp/csharp/Main_csharp.ts +0 -24
- package/project/.sdk/src/cmp/csharp/Package_csharp.ts +0 -20
- package/project/.sdk/src/cmp/csharp/PrepareAuth_csharp.ts +0 -81
- package/project/.sdk/src/cmp/csharp/ReadmeEntity_csharp.ts +0 -1
- package/project/.sdk/src/cmp/csharp/ReadmeExamplesTest_csharp.ts +0 -23
- package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +2 -5
- package/project/.sdk/src/cmp/csharp/ReadmeTopQuick_csharp.ts +0 -2
- package/project/.sdk/src/cmp/csharp/Schema_csharp.ts +0 -18
- package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +0 -4
- package/project/.sdk/src/cmp/csharp/utility_csharp.ts +0 -72
- package/project/.sdk/src/cmp/elixir/Config_elixir.ts +0 -78
- package/project/.sdk/src/cmp/elixir/EntityTypes_elixir.ts +0 -38
- package/project/.sdk/src/cmp/elixir/Main_elixir.ts +0 -40
- package/project/.sdk/src/cmp/elixir/Package_elixir.ts +0 -13
- package/project/.sdk/src/cmp/elixir/PrepareAuth_elixir.ts +0 -123
- package/project/.sdk/src/cmp/elixir/ReadmeExamplesTest_elixir.ts +0 -19
- package/project/.sdk/src/cmp/elixir/ReadmeRef_elixir.ts +2 -5
- package/project/.sdk/src/cmp/elixir/Schema_elixir.ts +0 -24
- package/project/.sdk/src/cmp/elixir/utility_elixir.ts +0 -34
- package/project/.sdk/src/cmp/go/Config_go.ts +0 -41
- package/project/.sdk/src/cmp/go/EntityTypes_go.ts +0 -71
- package/project/.sdk/src/cmp/go/Entity_go.ts +0 -5
- package/project/.sdk/src/cmp/go/Main_go.ts +0 -28
- package/project/.sdk/src/cmp/go/Package_go.ts +0 -7
- package/project/.sdk/src/cmp/go/PrepareAuth_go.ts +0 -64
- package/project/.sdk/src/cmp/go/ReadmeEntity_go.ts +0 -5
- package/project/.sdk/src/cmp/go/ReadmeExamplesTest_go.ts +0 -30
- package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +0 -3
- package/project/.sdk/src/cmp/go/ReadmeIntro_go.ts +0 -7
- package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +0 -11
- package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +0 -21
- package/project/.sdk/src/cmp/go/ReadmeRef_go.ts +2 -14
- package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +0 -9
- package/project/.sdk/src/cmp/go/Schema_go.ts +0 -21
- package/project/.sdk/src/cmp/go/TestDirect_go.ts +0 -23
- package/project/.sdk/src/cmp/go/TestEntity_go.ts +0 -8
- package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +0 -21
- package/project/.sdk/src/cmp/go/fragment/Main.fragment.go +0 -12
- package/project/.sdk/src/cmp/go/utility_go.ts +0 -70
- package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +0 -49
- package/project/.sdk/src/cmp/go-cli/fragment/words.fragment.go +0 -12
- package/project/.sdk/src/cmp/go-mcp/Main_go-mcp.ts +0 -36
- package/project/.sdk/src/cmp/go-mcp/fragment/main.fragment.go +0 -20
- package/project/.sdk/src/cmp/go-mcp/fragment/tools.fragment.go +0 -3
- package/project/.sdk/src/cmp/java/Config_java.ts +0 -63
- package/project/.sdk/src/cmp/java/EntityTypes_java.ts +0 -50
- package/project/.sdk/src/cmp/java/Entity_java.ts +0 -6
- package/project/.sdk/src/cmp/java/Main_java.ts +0 -24
- package/project/.sdk/src/cmp/java/PrepareAuth_java.ts +0 -55
- package/project/.sdk/src/cmp/java/ReadmeEntity_java.ts +0 -1
- package/project/.sdk/src/cmp/java/ReadmeExamplesTest_java.ts +0 -20
- package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +0 -4
- package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +2 -5
- package/project/.sdk/src/cmp/java/ReadmeTopQuick_java.ts +0 -7
- package/project/.sdk/src/cmp/java/Schema_java.ts +0 -19
- package/project/.sdk/src/cmp/java/TestDirect_java.ts +0 -7
- package/project/.sdk/src/cmp/java/TestEntity_java.ts +0 -4
- package/project/.sdk/src/cmp/java/Test_java.ts +0 -6
- package/project/.sdk/src/cmp/java/utility_java.ts +0 -33
- package/project/.sdk/src/cmp/js/Config_js.ts +0 -46
- package/project/.sdk/src/cmp/js/EntityTypes_js.ts +0 -33
- package/project/.sdk/src/cmp/js/Main_js.ts +0 -33
- package/project/.sdk/src/cmp/js/Package_js.ts +2 -7
- package/project/.sdk/src/cmp/js/PrepareAuth_js.ts +0 -57
- package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +0 -9
- package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +0 -2
- package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +0 -15
- package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +2 -7
- package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +0 -7
- package/project/.sdk/src/cmp/js/Schema_js.ts +0 -21
- package/project/.sdk/src/cmp/js/TestDirect_js.ts +2 -16
- package/project/.sdk/src/cmp/js/TestEntity_js.ts +3 -13
- package/project/.sdk/src/cmp/js/TestLive_js.ts +10 -3
- package/project/.sdk/src/cmp/js/utility_js.ts +0 -58
- package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +0 -46
- package/project/.sdk/src/cmp/kotlin/EntityOperation_kotlin.ts +0 -2
- package/project/.sdk/src/cmp/kotlin/EntityTypes_kotlin.ts +0 -53
- package/project/.sdk/src/cmp/kotlin/Entity_kotlin.ts +0 -4
- package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +0 -46
- package/project/.sdk/src/cmp/kotlin/PrepareAuth_kotlin.ts +0 -113
- package/project/.sdk/src/cmp/kotlin/ReadmeEntity_kotlin.ts +0 -1
- package/project/.sdk/src/cmp/kotlin/ReadmeExamplesTest_kotlin.ts +0 -20
- package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +2 -5
- package/project/.sdk/src/cmp/kotlin/ReadmeTopQuick_kotlin.ts +0 -5
- package/project/.sdk/src/cmp/kotlin/Schema_kotlin.ts +0 -19
- package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +0 -4
- package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +0 -6
- package/project/.sdk/src/cmp/kotlin/utility_kotlin.ts +0 -33
- package/project/.sdk/src/cmp/lua/Config_lua.ts +0 -56
- package/project/.sdk/src/cmp/lua/EntityTypes_lua.ts +0 -30
- package/project/.sdk/src/cmp/lua/Entity_lua.ts +0 -7
- package/project/.sdk/src/cmp/lua/Main_lua.ts +0 -58
- package/project/.sdk/src/cmp/lua/Package_lua.ts +0 -20
- package/project/.sdk/src/cmp/lua/PrepareAuth_lua.ts +0 -61
- package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +0 -8
- package/project/.sdk/src/cmp/lua/ReadmeExamplesTest_lua.ts +0 -24
- package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +0 -10
- package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +0 -21
- package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +2 -12
- package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +0 -3
- package/project/.sdk/src/cmp/lua/Schema_lua.ts +0 -16
- package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +0 -2
- package/project/.sdk/src/cmp/lua/utility_lua.ts +0 -30
- package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +0 -98
- package/project/.sdk/src/cmp/ocaml/EntityOperation_ocaml.ts +0 -6
- package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +0 -78
- package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +0 -13
- package/project/.sdk/src/cmp/ocaml/PrepareAuth_ocaml.ts +0 -145
- package/project/.sdk/src/cmp/ocaml/ReadmeExamplesTest_ocaml.ts +0 -17
- package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +2 -5
- package/project/.sdk/src/cmp/ocaml/Schema_ocaml.ts +0 -23
- package/project/.sdk/src/cmp/ocaml/SdkError_ocaml.ts +0 -4
- package/project/.sdk/src/cmp/ocaml/TestEntity_ocaml.ts +0 -5
- package/project/.sdk/src/cmp/ocaml/utility_ocaml.ts +0 -27
- package/project/.sdk/src/cmp/perl/Config_perl.ts +0 -52
- package/project/.sdk/src/cmp/perl/Entity_perl.ts +0 -3
- package/project/.sdk/src/cmp/perl/Main_perl.ts +0 -33
- package/project/.sdk/src/cmp/perl/Package_perl.ts +0 -8
- package/project/.sdk/src/cmp/perl/PrepareAuth_perl.ts +0 -84
- package/project/.sdk/src/cmp/perl/ReadmeEntity_perl.ts +0 -3
- package/project/.sdk/src/cmp/perl/ReadmeExamplesTest_perl.ts +0 -27
- package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +2 -5
- package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +0 -2
- package/project/.sdk/src/cmp/perl/Schema_perl.ts +0 -18
- package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +0 -2
- package/project/.sdk/src/cmp/perl/utility_perl.ts +0 -26
- package/project/.sdk/src/cmp/php/Config_php.ts +0 -76
- package/project/.sdk/src/cmp/php/EntityTypes_php.ts +0 -51
- package/project/.sdk/src/cmp/php/MainEntity_php.ts +0 -6
- package/project/.sdk/src/cmp/php/Main_php.ts +0 -15
- package/project/.sdk/src/cmp/php/PrepareAuth_php.ts +0 -73
- package/project/.sdk/src/cmp/php/ReadmeEntity_php.ts +0 -4
- package/project/.sdk/src/cmp/php/ReadmeExamplesTest_php.ts +0 -33
- package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +0 -1
- package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +0 -19
- package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +2 -7
- package/project/.sdk/src/cmp/php/Schema_php.ts +0 -15
- package/project/.sdk/src/cmp/php/TestEntity_php.ts +0 -9
- package/project/.sdk/src/cmp/php/utility_php.ts +0 -22
- package/project/.sdk/src/cmp/py/Config_py.ts +0 -53
- package/project/.sdk/src/cmp/py/EntityTypes_py.ts +0 -55
- package/project/.sdk/src/cmp/py/Entity_py.ts +0 -16
- package/project/.sdk/src/cmp/py/Main_py.ts +1 -61
- package/project/.sdk/src/cmp/py/Package_py.ts +0 -3
- package/project/.sdk/src/cmp/py/PrepareAuth_py.ts +0 -69
- package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +0 -13
- package/project/.sdk/src/cmp/py/ReadmeExamplesTest_py.ts +0 -31
- package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +0 -3
- package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +0 -28
- package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +2 -16
- package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +0 -14
- package/project/.sdk/src/cmp/py/Schema_py.ts +0 -19
- package/project/.sdk/src/cmp/py/TestDirect_py.ts +0 -2
- package/project/.sdk/src/cmp/py/utility_py.ts +0 -22
- package/project/.sdk/src/cmp/py-data/Main_py-data.ts +9 -43
- package/project/.sdk/src/cmp/rb/Config_rb.ts +0 -56
- package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +0 -58
- package/project/.sdk/src/cmp/rb/Entity_rb.ts +0 -3
- package/project/.sdk/src/cmp/rb/Main_rb.ts +0 -10
- package/project/.sdk/src/cmp/rb/Package_rb.ts +0 -5
- package/project/.sdk/src/cmp/rb/PrepareAuth_rb.ts +0 -81
- package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +0 -7
- package/project/.sdk/src/cmp/rb/ReadmeExamplesTest_rb.ts +0 -32
- package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +0 -9
- package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +0 -23
- package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +2 -10
- package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +0 -5
- package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +0 -3
- package/project/.sdk/src/cmp/rb/Schema_rb.ts +0 -15
- package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +0 -2
- package/project/.sdk/src/cmp/rb/utility_rb.ts +0 -22
- package/project/.sdk/src/cmp/rust/Config_rust.ts +0 -35
- package/project/.sdk/src/cmp/rust/EntityTypes_rust.ts +0 -34
- package/project/.sdk/src/cmp/rust/Entity_rust.ts +0 -9
- package/project/.sdk/src/cmp/rust/Main_rust.ts +0 -58
- package/project/.sdk/src/cmp/rust/Package_rust.ts +0 -30
- package/project/.sdk/src/cmp/rust/PrepareAuth_rust.ts +0 -84
- package/project/.sdk/src/cmp/rust/ReadmeExamplesTest_rust.ts +0 -16
- package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +2 -5
- package/project/.sdk/src/cmp/rust/Schema_rust.ts +0 -18
- package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +0 -7
- package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +0 -9
- package/project/.sdk/src/cmp/rust/fragment/Entity.fragment.rs +0 -14
- package/project/.sdk/src/cmp/rust/fragment/EntityRemoveOp.fragment.rs +0 -4
- package/project/.sdk/src/cmp/rust/fragment/Main.fragment.rs +0 -20
- package/project/.sdk/src/cmp/rust/fragment/SdkError.fragment.rs +0 -6
- package/project/.sdk/src/cmp/rust/utility_rust.ts +0 -47
- package/project/.sdk/src/cmp/scala/Config_scala.ts +0 -31
- package/project/.sdk/src/cmp/scala/EntityTypes_scala.ts +0 -51
- package/project/.sdk/src/cmp/scala/Main_scala.ts +0 -78
- package/project/.sdk/src/cmp/scala/PrepareAuth_scala.ts +0 -102
- package/project/.sdk/src/cmp/scala/ReadmeEntity_scala.ts +0 -1
- package/project/.sdk/src/cmp/scala/ReadmeExamplesTest_scala.ts +0 -23
- package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +2 -5
- package/project/.sdk/src/cmp/scala/ReadmeTopQuick_scala.ts +0 -5
- package/project/.sdk/src/cmp/scala/Schema_scala.ts +0 -19
- package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +0 -8
- package/project/.sdk/src/cmp/scala/Test_scala.ts +0 -3
- package/project/.sdk/src/cmp/scala/utility_scala.ts +0 -31
- package/project/.sdk/src/cmp/swift/Config_swift.ts +0 -62
- package/project/.sdk/src/cmp/swift/EntityOperation_swift.ts +0 -3
- package/project/.sdk/src/cmp/swift/EntityTypes_swift.ts +0 -39
- package/project/.sdk/src/cmp/swift/Main_swift.ts +0 -42
- package/project/.sdk/src/cmp/swift/Package_swift.ts +0 -69
- package/project/.sdk/src/cmp/swift/PrepareAuth_swift.ts +0 -134
- package/project/.sdk/src/cmp/swift/ReadmeEntity_swift.ts +0 -2
- package/project/.sdk/src/cmp/swift/ReadmeExamplesTest_swift.ts +0 -22
- package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +2 -5
- package/project/.sdk/src/cmp/swift/Schema_swift.ts +0 -18
- package/project/.sdk/src/cmp/swift/TestEntity_swift.ts +0 -4
- package/project/.sdk/src/cmp/swift/utility_swift.ts +0 -51
- package/project/.sdk/src/cmp/ts/Config_ts.ts +0 -46
- package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +0 -34
- package/project/.sdk/src/cmp/ts/Entity_ts.ts +0 -6
- package/project/.sdk/src/cmp/ts/Main_ts.ts +0 -28
- package/project/.sdk/src/cmp/ts/Package_ts.ts +2 -26
- package/project/.sdk/src/cmp/ts/PrepareAuth_ts.ts +0 -55
- package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +0 -9
- package/project/.sdk/src/cmp/ts/ReadmeExampleTest_ts.ts +0 -6
- package/project/.sdk/src/cmp/ts/ReadmeExamplesTest_ts.ts +0 -25
- package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +4 -9
- package/project/.sdk/src/cmp/ts/ReadmeIntro_ts.ts +0 -7
- package/project/.sdk/src/cmp/ts/ReadmeModel_ts.ts +0 -3
- package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +0 -43
- package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +2 -20
- package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +0 -11
- package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +6 -9
- package/project/.sdk/src/cmp/ts/Schema_ts.ts +0 -21
- package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +2 -53
- package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +3 -31
- package/project/.sdk/src/cmp/ts/TestLive_ts.ts +10 -4
- package/project/.sdk/src/cmp/ts/Test_ts.ts +0 -4
- package/project/.sdk/src/cmp/ts/fragment/Config.data.fragment.ts +0 -27
- package/project/.sdk/src/cmp/ts/fragment/Config.fragment.ts +0 -7
- package/project/.sdk/src/cmp/ts/fragment/Direct.test.fragment.ts +0 -7
- package/project/.sdk/src/cmp/ts/fragment/Entity.fragment.ts +0 -1
- package/project/.sdk/src/cmp/ts/fragment/Entity.test.fragment.ts +0 -4
- package/project/.sdk/src/cmp/ts/fragment/EntityBase.fragment.ts +0 -20
- package/project/.sdk/src/cmp/ts/fragment/EntityCreateOp.fragment.ts +0 -6
- package/project/.sdk/src/cmp/ts/fragment/EntityLoadOp.fragment.ts +0 -6
- package/project/.sdk/src/cmp/ts/fragment/EntityRemoveOp.fragment.ts +0 -15
- package/project/.sdk/src/cmp/ts/fragment/EntityUpdateOp.fragment.ts +0 -6
- package/project/.sdk/src/cmp/ts/fragment/Main.fragment.ts +0 -15
- package/project/.sdk/src/cmp/ts/fragment/MainStation.fragment.ts +0 -12
- package/project/.sdk/src/cmp/ts/fragment/SdkError.fragment.ts +0 -9
- package/project/.sdk/src/cmp/ts/utility_ts.ts +0 -59
- package/project/.sdk/src/cmp/zig/Config_zig.ts +0 -70
- package/project/.sdk/src/cmp/zig/Entity_zig.ts +0 -3
- package/project/.sdk/src/cmp/zig/Main_zig.ts +0 -83
- package/project/.sdk/src/cmp/zig/Package_zig.ts +0 -22
- package/project/.sdk/src/cmp/zig/PrepareAuth_zig.ts +0 -136
- package/project/.sdk/src/cmp/zig/ReadmeExamplesTest_zig.ts +0 -18
- package/project/.sdk/src/cmp/zig/ReadmeQuick_zig.ts +0 -3
- package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +2 -5
- package/project/.sdk/src/cmp/zig/Schema_zig.ts +0 -23
- package/project/.sdk/src/cmp/zig/TestDirect_zig.ts +0 -11
- package/project/.sdk/src/cmp/zig/TestEntity_zig.ts +0 -8
- package/project/.sdk/src/cmp/zig/Test_zig.ts +0 -11
- package/project/.sdk/src/cmp/zig/utility_zig.ts +0 -47
- package/project/.sdk/tm/csharp/feature/FeatureOptions.cs +18 -5
- package/project/.sdk/tm/go/core/context.go +0 -9
- package/project/.sdk/tm/go/core/types.go +0 -3
- package/project/.sdk/tm/go/feature/audit_feature.go +0 -9
- package/project/.sdk/tm/go/feature/cache_feature.go +0 -8
- package/project/.sdk/tm/go/feature/clienttrack_feature.go +0 -7
- package/project/.sdk/tm/go/feature/cost_feature.go +0 -51
- package/project/.sdk/tm/go/feature/debug_feature.go +0 -6
- package/project/.sdk/tm/go/feature/feature_options.go +108 -21
- package/project/.sdk/tm/go/feature/idempotency_feature.go +0 -6
- package/project/.sdk/tm/go/feature/metrics_feature.go +0 -6
- package/project/.sdk/tm/go/feature/netsim_feature.go +0 -8
- package/project/.sdk/tm/go/feature/paging_feature.go +0 -9
- package/project/.sdk/tm/go/feature/proxy_feature.go +0 -7
- package/project/.sdk/tm/go/feature/ratelimit_feature.go +0 -6
- package/project/.sdk/tm/go/feature/rbac_feature.go +0 -10
- package/project/.sdk/tm/go/feature/retry_feature.go +0 -6
- package/project/.sdk/tm/go/feature/secrets_feature.go +0 -173
- package/project/.sdk/tm/go/feature/streaming_feature.go +0 -7
- package/project/.sdk/tm/go/feature/telemetry_feature.go +0 -8
- package/project/.sdk/tm/go/feature/test_feature.go +0 -23
- package/project/.sdk/tm/go/feature/validate_feature.go +0 -66
- package/project/.sdk/tm/go/test/custom_utility_test.go +0 -29
- package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +0 -100
- package/project/.sdk/tm/go/test/feature_corpus_test.go +1 -60
- package/project/.sdk/tm/go/test/feature_harness_test.go +0 -10
- package/project/.sdk/tm/go/test/feature_test.go +107 -9
- package/project/.sdk/tm/go/test/omniresolver_test.go +0 -74
- package/project/.sdk/tm/go/test/omnismoke_test.go +0 -4
- package/project/.sdk/tm/go/test/pipeline_test.go +0 -10
- package/project/.sdk/tm/go/test/primary_utility_test.go +0 -32
- package/project/.sdk/tm/go/test/struct_utility_test.go +0 -38
- package/project/.sdk/tm/go/test/testsupport_test.go +0 -25
- package/project/.sdk/tm/go/utility/feature_add.go +0 -6
- package/project/.sdk/tm/go/utility/fetcher.go +0 -6
- package/project/.sdk/tm/go/utility/graphql.go +1 -31
- package/project/.sdk/tm/go/utility/make_options.go +38 -49
- package/project/.sdk/tm/go/utility/make_point.go +0 -11
- package/project/.sdk/tm/go/utility/make_spec.go +0 -15
- package/project/.sdk/tm/go/utility/register.go +0 -28
- package/project/.sdk/tm/go/utility/transform_request.go +0 -20
- package/project/.sdk/tm/go/utility/transform_response.go +0 -8
- package/project/.sdk/tm/js/src/feature/test/TestFeature.js +12 -4
- package/project/.sdk/tm/rust/core/context.rs +0 -5
- package/project/.sdk/tm/rust/core/control.rs +0 -1
- package/project/.sdk/tm/rust/core/helpers.rs +0 -15
- package/project/.sdk/tm/rust/core/operation.rs +0 -1
- package/project/.sdk/tm/rust/core/point.rs +0 -3
- package/project/.sdk/tm/rust/core/response.rs +0 -2
- package/project/.sdk/tm/rust/core/result.rs +0 -1
- package/project/.sdk/tm/rust/core/spec.rs +0 -1
- package/project/.sdk/tm/rust/core/types.rs +0 -20
- package/project/.sdk/tm/rust/core/utility_type.rs +0 -5
- package/project/.sdk/tm/rust/feature/audit.rs +0 -9
- package/project/.sdk/tm/rust/feature/base.rs +0 -3
- package/project/.sdk/tm/rust/feature/cache.rs +0 -9
- package/project/.sdk/tm/rust/feature/clienttrack.rs +0 -7
- package/project/.sdk/tm/rust/feature/cost.rs +0 -48
- package/project/.sdk/tm/rust/feature/debug.rs +0 -7
- package/project/.sdk/tm/rust/feature/idempotency.rs +0 -7
- package/project/.sdk/tm/rust/feature/log.rs +0 -3
- package/project/.sdk/tm/rust/feature/metrics.rs +0 -7
- package/project/.sdk/tm/rust/feature/netsim.rs +0 -9
- package/project/.sdk/tm/rust/feature/paging.rs +0 -10
- package/project/.sdk/tm/rust/feature/proxy.rs +0 -8
- package/project/.sdk/tm/rust/feature/ratelimit.rs +0 -6
- package/project/.sdk/tm/rust/feature/rbac.rs +0 -10
- package/project/.sdk/tm/rust/feature/retry.rs +0 -6
- package/project/.sdk/tm/rust/feature/secrets.rs +1 -187
- package/project/.sdk/tm/rust/feature/streaming.rs +0 -7
- package/project/.sdk/tm/rust/feature/support.rs +0 -6
- package/project/.sdk/tm/rust/feature/telemetry.rs +0 -9
- package/project/.sdk/tm/rust/feature/test.rs +0 -19
- package/project/.sdk/tm/rust/feature/timeout.rs +0 -7
- package/project/.sdk/tm/rust/feature/validate.rs +0 -81
- package/project/.sdk/tm/rust/tests/common/mod.rs +0 -35
- package/project/.sdk/tm/rust/tests/custom_utility_test.rs +0 -2
- package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +0 -95
- package/project/.sdk/tm/rust/tests/feature_test.rs +0 -16
- package/project/.sdk/tm/rust/tests/netsim_test.rs +0 -6
- package/project/.sdk/tm/rust/tests/omni_resolver/mod.rs +0 -135
- package/project/.sdk/tm/rust/tests/omni_smoke_test.rs +0 -15
- package/project/.sdk/tm/rust/tests/pipeline_test.rs +0 -6
- package/project/.sdk/tm/rust/tests/primary_utility_test.rs +0 -22
- package/project/.sdk/tm/rust/tests/struct_utility_test.rs +0 -25
- package/project/.sdk/tm/rust/utility/fetcher.rs +0 -5
- package/project/.sdk/tm/rust/utility/graphql.rs +1 -30
- package/project/.sdk/tm/rust/utility/make_error.rs +0 -2
- package/project/.sdk/tm/rust/utility/make_options.rs +0 -46
- package/project/.sdk/tm/rust/utility/make_point.rs +0 -12
- package/project/.sdk/tm/rust/utility/make_spec.rs +0 -4
- package/project/.sdk/tm/rust/utility/voxgigstruct/consts.rs +14 -20
- package/project/.sdk/tm/rust/utility/voxgigstruct/major.rs +0 -13
- package/project/.sdk/tm/rust/utility/voxgigstruct/mini.rs +0 -14
- package/project/.sdk/tm/rust/utility/voxgigstruct/mod.rs +0 -2
- package/project/.sdk/tm/rust/utility/voxgigstruct/ordered_map.rs +0 -18
- package/project/.sdk/tm/rust/utility/voxgigstruct/re.rs +0 -11
- package/project/.sdk/tm/rust/utility/voxgigstruct/value.rs +0 -3
- package/project/.sdk/tm/ts/src/Context.ts +0 -5
- package/project/.sdk/tm/ts/src/feature/audit/AuditFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/cache/CacheFeature.ts +0 -8
- package/project/.sdk/tm/ts/src/feature/clienttrack/ClienttrackFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/cost/CostFeature.ts +0 -52
- package/project/.sdk/tm/ts/src/feature/debug/DebugFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/metrics/MetricsFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/netsim/NetsimFeature.ts +0 -8
- package/project/.sdk/tm/ts/src/feature/paging/PagingFeature.ts +0 -13
- package/project/.sdk/tm/ts/src/feature/proxy/ProxyFeature.ts +0 -8
- package/project/.sdk/tm/ts/src/feature/ratelimit/RatelimitFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/rbac/RbacFeature.ts +0 -9
- package/project/.sdk/tm/ts/src/feature/retry/RetryFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +0 -136
- package/project/.sdk/tm/ts/src/feature/streaming/StreamingFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/telemetry/TelemetryFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +13 -88
- package/project/.sdk/tm/ts/src/feature/validate/ValidateFeature.ts +0 -87
- package/project/.sdk/tm/ts/src/utility/CleanUtility.ts +0 -12
- package/project/.sdk/tm/ts/src/utility/FeatureAddUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/GraphqlUtility.ts +2 -30
- package/project/.sdk/tm/ts/src/utility/MakeErrorUtility.ts +0 -4
- package/project/.sdk/tm/ts/src/utility/MakeOptionsUtility.ts +0 -46
- package/project/.sdk/tm/ts/src/utility/MakePointUtility.ts +0 -34
- package/project/.sdk/tm/ts/src/utility/MakeRequestUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/MakeSpecUtility.ts +0 -5
- package/project/.sdk/tm/ts/src/utility/MakeUrlUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/ParamUtility.ts +0 -8
- package/project/.sdk/tm/ts/src/utility/PrepareBodyUtility.ts +0 -3
- package/project/.sdk/tm/ts/src/utility/PrepareParamsUtility.ts +0 -6
- package/project/.sdk/tm/ts/src/utility/ResultBasicUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/TransformRequestUtility.ts +0 -20
- package/project/.sdk/tm/ts/src/utility/TransformResponseUtility.ts +0 -4
- package/project/.sdk/tm/ts/test/exists.test.ts +0 -10
- package/project/.sdk/tm/ts/test/feature/Corpus.test.ts +0 -56
- package/project/.sdk/tm/ts/test/feature/harness.ts +0 -9
- package/project/.sdk/tm/ts/test/feature/secrets/Secrets.test.ts +0 -106
- package/project/.sdk/tm/ts/test/live-contract.ts +0 -2
- package/project/.sdk/tm/ts/test/omni.ts +0 -32
- package/project/.sdk/tm/ts/test/pipeline.test.ts +45 -28
- package/project/.sdk/tm/ts/test/utility/Corpus.test.ts +0 -13
- package/project/.sdk/tm/ts/test/utility/PrimaryUtility.test.ts +56 -29
- package/project/.sdk/tm/ts/test/utility/StructUtility.test.ts +0 -7
- package/project/.sdk/tm/ts/test/utility.ts +0 -55
- package/project/sdkgen-package.json +1 -1
- package/src/action/action.ts +0 -65
- package/src/action/check.ts +0 -88
- package/src/action/dispatch.ts +0 -27
- package/src/action/doctor.ts +69 -329
- package/src/action/edition.ts +1 -87
- package/src/action/feature.ts +1 -49
- package/src/action/kind.ts +0 -149
- package/src/action/package.ts +0 -228
- package/src/action/resolve.ts +0 -148
- package/src/action/target.ts +0 -177
- package/src/cmp/AgentGuide.ts +0 -7
- package/src/cmp/AgentGuideContent.ts +0 -24
- package/src/cmp/AgentGuideTop.ts +0 -7
- package/src/cmp/Changelog.ts +0 -14
- package/src/cmp/Deploy.ts +1 -31
- package/src/cmp/Entity.ts +0 -4
- package/src/cmp/ExternalTarget.ts +0 -36
- package/src/cmp/Feature.ts +0 -14
- package/src/cmp/FeatureDocs.ts +0 -37
- package/src/cmp/PublishWorkflow.ts +0 -60
- package/src/cmp/ReadmeErrors.ts +0 -17
- package/src/cmp/ReadmeExplanation.ts +2 -11
- package/src/cmp/ReadmeFeatures.ts +0 -10
- package/src/cmp/ReadmeRefFeatures.ts +0 -19
- package/src/cmp/ReadmeStation.ts +0 -19
- package/src/cmp/ReadmeTop.ts +0 -80
- package/src/cmp/ReadmeUnions.ts +0 -15
- package/src/cmp/Registered.ts +0 -30
- package/src/cmp/Security.ts +0 -2
- package/src/cmp/Test.ts +3 -1
- package/src/cmp/TestControl.ts +0 -25
- package/src/helpers/applicability.ts +0 -60
- package/src/helpers/buildIdNames.ts +0 -12
- package/src/helpers/canonSpec.ts +0 -114
- package/src/helpers/canonType.ts +0 -87
- package/src/helpers/collectDeps.ts +0 -27
- package/src/helpers/definition.ts +0 -29
- package/src/helpers/dryrun.ts +0 -8
- package/src/helpers/featureSource.ts +0 -152
- package/src/helpers/getMatchEntries.ts +0 -4
- package/src/helpers/junk.ts +13 -89
- package/src/helpers/manifest.ts +0 -169
- package/src/helpers/modelNames.ts +0 -81
- package/src/helpers/modelcheck.ts +0 -106
- package/src/helpers/naming.ts +0 -303
- package/src/helpers/opExample.ts +0 -56
- package/src/helpers/opShape.ts +0 -200
- package/src/helpers/optspec.ts +0 -77
- package/src/helpers/packageMeta.ts +1 -200
- package/src/helpers/pointPath.ts +0 -55
- package/src/helpers/resolved.ts +50 -0
- package/src/helpers/semver.ts +0 -61
- package/src/helpers/serverVars.ts +0 -44
- package/src/helpers/shipped.ts +0 -14
- package/src/helpers/station.ts +0 -32
- package/src/helpers/stdrep.ts +0 -52
- package/src/helpers/testPolicy.ts +0 -4
- package/src/sdkgen.ts +15 -263
- package/src/testkit.ts +6 -312
- package/src/types.ts +1 -30
- package/src/utility.ts +0 -243
package/dist/action/doctor.js
CHANGED
|
@@ -6,57 +6,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.action_doctor = action_doctor;
|
|
7
7
|
exports.doctor = doctor;
|
|
8
8
|
const kindCollection_1 = require("../helpers/kindCollection");
|
|
9
|
-
// `voxgig-sdkgen doctor` — does this project's `.sdk/` still match the
|
|
10
|
-
// scaffold?
|
|
11
|
-
//
|
|
12
|
-
// WHY THIS EXISTS
|
|
13
|
-
//
|
|
14
|
-
// Nothing told a project that its `.sdk/` had drifted. `target add`
|
|
15
|
-
// OVERWRITES the vendored components, the template masters AND the per-target
|
|
16
|
-
// model file, so any hand-edit there is silently reverted on the next run —
|
|
17
|
-
// and any file the scaffold has since stopped shipping just stays, compiling
|
|
18
|
-
// into the output forever. In voxgig-solardemo-sdk two such orphans broke the
|
|
19
|
-
// Go build in a single session: `utility/make_target.go` (replaced upstream by
|
|
20
|
-
// `make_point.go`, leaving a duplicate symbol) and `utility/struct/go.mod` (a
|
|
21
|
-
// nested module that made `utility/struct` unimportable).
|
|
22
|
-
//
|
|
23
|
-
// Every divergence in that repo was found by hand-diffing. Without a check,
|
|
24
|
-
// fixing it once guarantees nothing about next month.
|
|
25
|
-
//
|
|
26
|
-
// WHY A NAIVE `diff -r` DOES NOT WORK
|
|
27
|
-
//
|
|
28
|
-
// `target add` writes template masters with substitution PARTLY applied, and
|
|
29
|
-
// inconsistently: `tm/go/core/error.go` arrives substituted (`SolardemoError`
|
|
30
|
-
// where the scaffold says `ProjectNameError`), `tm/ts/test/utility.ts` arrives
|
|
31
|
-
// raw (its placeholders are substituted later, at generate time), and
|
|
32
|
-
// `tm/go/LICENSE` has the year filled in. A plain `diff -r` against the
|
|
33
|
-
// scaffold reported 20 edited files in that repo; 19 were substitution
|
|
34
|
-
// artefacts and exactly ONE was a real hand-edit.
|
|
35
|
-
//
|
|
36
|
-
// Only sdkgen knows which replacements it applied to which files, which is
|
|
37
|
-
// why this check belongs here and cannot be scripted downstream. It re-runs
|
|
38
|
-
// the same substitution before comparing, so what it reports is real.
|
|
39
9
|
const node_path_1 = __importDefault(require("node:path"));
|
|
40
10
|
const jostraca_1 = require("jostraca");
|
|
41
11
|
const types_1 = require("../types");
|
|
42
12
|
const utility_1 = require("../utility");
|
|
43
13
|
const stdrep_1 = require("../helpers/stdrep");
|
|
44
14
|
const target_1 = require("./target");
|
|
45
|
-
// `aliasModelText` is no longer named here: the model-file comparison asks
|
|
46
|
-
// the registry for the kind's own `rename`, so a kind that renames
|
|
47
|
-
// differently is handled without this file knowing how.
|
|
48
15
|
const kind_1 = require("./kind");
|
|
49
16
|
const resolve_1 = require("./resolve");
|
|
50
17
|
const definition_1 = require("../helpers/definition");
|
|
51
18
|
const featureSource_1 = require("../helpers/featureSource");
|
|
52
19
|
const junk_1 = require("../helpers/junk");
|
|
53
|
-
// jostraca's Copy walk skips these (IGNORED_RE in CopyOp) — editor backups and
|
|
54
|
-
// deliberately-disabled templates never reach a project, so they are not drift.
|
|
55
|
-
//
|
|
56
|
-
// `isJunk` is the other half of the same statement: what the WRITER refuses to
|
|
57
|
-
// copy, this reader must refuse to miss. A `__pycache__` in the scaffold would
|
|
58
|
-
// otherwise be reported as missing from every project on earth, and one in a
|
|
59
|
-
// project as an unexplained extra file. See helpers/junk.
|
|
60
20
|
const IGNORED_RE = /(~|-jostraca-off)$/;
|
|
61
21
|
function ignoredEntry(name) {
|
|
62
22
|
return IGNORED_RE.test(name) || (0, junk_1.isJunk)(name);
|
|
@@ -64,16 +24,6 @@ function ignoredEntry(name) {
|
|
|
64
24
|
// Extensions jostraca copies byte-for-byte. Comparing them as text would
|
|
65
25
|
// report spurious differences, so they are compared by raw bytes.
|
|
66
26
|
const BINARY_RE = /\.(png|jpg|jpeg|gif|ico|pdf|zip|gz|woff2?|ttf|eot|wasm)$/i;
|
|
67
|
-
// Root-level components sdkgen provides, and what a project loses by not
|
|
68
|
-
// wiring one in. A project's `Root.ts` / `Top.ts` come from create-sdkgen at
|
|
69
|
-
// init and are then FROZEN — `target add` never touches them — so a
|
|
70
|
-
// capability added to sdkgen afterwards is invisible to every existing
|
|
71
|
-
// project. solardemo's `Top.ts`, written before `ReadmeTop` existed, kept
|
|
72
|
-
// hand-rolling a 9-line stub root README with an empty mermaid diagram for
|
|
73
|
-
// months, and no number of `target add` runs would ever have said so.
|
|
74
|
-
//
|
|
75
|
-
// Not wiring one in is a legitimate choice, so this is REPORTED, never a
|
|
76
|
-
// failure.
|
|
77
27
|
const ROOT_COMPONENTS = [
|
|
78
28
|
['ReadmeTop', 'the assembled root README (quickstart, howto, test, package table)'],
|
|
79
29
|
['AgentGuideTop', 'the root AGENTS.md / CLAUDE.md agent guides'],
|
|
@@ -99,10 +49,6 @@ async function action_doctor(args, actx) {
|
|
|
99
49
|
async function cmd_doctor_check(_args, actx) {
|
|
100
50
|
return doctor(actx);
|
|
101
51
|
}
|
|
102
|
-
// `doctor prune` — the ONE write doctor performs, and only ever of files a
|
|
103
|
-
// target's model DECLARES superseded (retired templates jostraca cannot
|
|
104
|
-
// delete from a consumer: the old runner beside its replacement, a
|
|
105
|
-
// pre-reshape vendored file). Everything else doctor does stays read-only.
|
|
106
52
|
async function cmd_doctor_prune(_args, actx) {
|
|
107
53
|
const log = actx.log;
|
|
108
54
|
const fs = actx.fs();
|
|
@@ -120,10 +66,6 @@ async function cmd_doctor_prune(_args, actx) {
|
|
|
120
66
|
});
|
|
121
67
|
return { report: { pruned, ok: true } };
|
|
122
68
|
}
|
|
123
|
-
// Generated files the model says this toolchain NO LONGER writes, that
|
|
124
|
-
// still exist in the project's target output directories. Paths in the
|
|
125
|
-
// model are relative to each target's output dir (a sibling of `.sdk/`,
|
|
126
|
-
// named for the target).
|
|
127
69
|
function supersededFiles(actx) {
|
|
128
70
|
const fs = actx.fs();
|
|
129
71
|
const model = actx.model;
|
|
@@ -140,8 +82,49 @@ function supersededFiles(actx) {
|
|
|
140
82
|
}
|
|
141
83
|
return found;
|
|
142
84
|
}
|
|
143
|
-
|
|
144
|
-
|
|
85
|
+
function orphanModelFiles(actx) {
|
|
86
|
+
const fs = actx.fs();
|
|
87
|
+
const modeldir = node_path_1.default.join(actx.folder, 'model');
|
|
88
|
+
if (!fs.existsSync(modeldir)) {
|
|
89
|
+
return [];
|
|
90
|
+
}
|
|
91
|
+
const all = walk(fs, modeldir)
|
|
92
|
+
.filter((rel) => rel.endsWith('.aon') || rel.endsWith('.aontu'))
|
|
93
|
+
.filter((rel) => !rel.includes('.jostraca/') && !rel.startsWith('guide/'));
|
|
94
|
+
const ENTRY = [
|
|
95
|
+
'sdk.aon', 'sdk.aontu',
|
|
96
|
+
'test/test.aon', 'test/test.aontu',
|
|
97
|
+
'.model-config/model-config.aon', '.model-config/model-config.aontu',
|
|
98
|
+
];
|
|
99
|
+
const seen = new Set();
|
|
100
|
+
const queue = ENTRY.filter((rel) => all.includes(rel));
|
|
101
|
+
while (0 < queue.length) {
|
|
102
|
+
const rel = queue.shift();
|
|
103
|
+
if (seen.has(rel)) {
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
seen.add(rel);
|
|
107
|
+
let src = '';
|
|
108
|
+
try {
|
|
109
|
+
src = fs.readFileSync(node_path_1.default.join(modeldir, rel), 'utf8');
|
|
110
|
+
}
|
|
111
|
+
catch (e) {
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
for (const m of src.matchAll(/@"([^"]+)"/g)) {
|
|
115
|
+
const ref = m[1];
|
|
116
|
+
if (ref.startsWith('@')) {
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
const from = node_path_1.default.posix.dirname(rel);
|
|
120
|
+
const next = node_path_1.default.posix.normalize(node_path_1.default.posix.join('.' === from ? '' : from, ref.replace(/^\.\//, '')));
|
|
121
|
+
if (all.includes(next) && !seen.has(next)) {
|
|
122
|
+
queue.push(next);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return all.filter((rel) => !seen.has(rel)).sort();
|
|
127
|
+
}
|
|
145
128
|
async function doctor(actx, scope) {
|
|
146
129
|
const log = actx.log;
|
|
147
130
|
const fs = actx.fs();
|
|
@@ -149,42 +132,17 @@ async function doctor(actx, scope) {
|
|
|
149
132
|
const root = actx.folder;
|
|
150
133
|
const report = {
|
|
151
134
|
forked: [], edited: [], stale: [], missing: [], additive: [],
|
|
152
|
-
superseded: [], unwired: [],
|
|
135
|
+
superseded: [], unwired: [], orphanModel: [],
|
|
136
|
+
resyncPending: [], aliasedDiff: [], ok: true,
|
|
153
137
|
};
|
|
154
|
-
// Retired-output leftovers first: purely model-driven, and a finding —
|
|
155
|
-
// two copies of the same machinery, one stale, is exactly the state the
|
|
156
|
-
// migration guide had to clean up by hand three times.
|
|
157
138
|
report.superseded = supersededFiles(actx);
|
|
158
|
-
|
|
159
|
-
//
|
|
160
|
-
// `add` writes a copied model file for each kind — `model/target/<t>.aon`
|
|
161
|
-
// and `model/feature/<f>.aon` alike — and overwrites it on every resync.
|
|
162
|
-
// Only the target one was ever compared, so a hand-edit to an installed
|
|
163
|
-
// FEATURE definition read as perfectly in sync and was silently reverted by
|
|
164
|
-
// the next `target add` (which re-runs `feature add` for every active
|
|
165
|
-
// feature). That is exactly the failure `checkTargetModel` was added for,
|
|
166
|
-
// left open for the other half of what add owns.
|
|
167
|
-
//
|
|
168
|
-
// Driven off the registry, so a kind added later is checked without
|
|
169
|
-
// anything here changing. The per-kind EXTRAS — a target's `src/cmp` and
|
|
170
|
-
// `tm` trees — stay in that kind's own check, because they are genuinely
|
|
171
|
-
// different work rather than the same work with different strings.
|
|
139
|
+
report.orphanModel = orphanModelFiles(actx);
|
|
172
140
|
const kinds = Object.keys(kind_1.KINDS).sort();
|
|
173
141
|
const counts = {};
|
|
174
142
|
for (const kind of kinds) {
|
|
175
143
|
counts[kind] = Object.keys((0, kindCollection_1.kindCollection)(model, kind) ?? {}).length;
|
|
176
144
|
}
|
|
177
145
|
log.info({ point: 'doctor-start', targets: counts.target ?? 0, ...counts });
|
|
178
|
-
// Targets resolved ONCE, before the kind loop, because the feature checks
|
|
179
|
-
// need them too: a feature's per-target source lives under the name the
|
|
180
|
-
// target has in its own source, so finding it means knowing where each
|
|
181
|
-
// target came from. Resolving per (feature, target) pair would re-read
|
|
182
|
-
// every package manifest dozens of times and warn repeatedly about the
|
|
183
|
-
// same unresolvable target.
|
|
184
|
-
//
|
|
185
|
-
// Resolved even when the run is SCOPED past them — a scoped check of one
|
|
186
|
-
// feature still has to look in every target's tree for that feature's
|
|
187
|
-
// files.
|
|
188
146
|
const targets = new Map();
|
|
189
147
|
for (const tname of Object.keys(model?.main?.[types_1.KIT]?.target ?? {}).sort()) {
|
|
190
148
|
const source = resolveDeclared('target', tname, actx);
|
|
@@ -218,15 +176,17 @@ async function doctor(actx, scope) {
|
|
|
218
176
|
checkItemModel(actx, kind, source, report);
|
|
219
177
|
}
|
|
220
178
|
}
|
|
221
|
-
// Root-component wiring is a property of the PROJECT, not of any item, so a
|
|
222
|
-
// scoped run has no business reporting on it — `package update` asking "is
|
|
223
|
-
// this package's copy clean" should not also say the project never wired in
|
|
224
|
-
// `ReadmeTop`.
|
|
225
179
|
if (null == scope) {
|
|
226
180
|
checkWiring(actx, report);
|
|
227
181
|
}
|
|
182
|
+
// orphanModel counts, and `unwired` does not. Not skipping a root
|
|
183
|
+
// component is a legitimate project choice that doctor only mentions; a
|
|
184
|
+
// model file nothing reads is never a choice - it is either a file that
|
|
185
|
+
// should be included, or one that should be deleted, and it reads as
|
|
186
|
+
// authoritative either way.
|
|
228
187
|
report.ok = 0 === report.forked.length + report.edited.length +
|
|
229
|
-
report.stale.length + report.missing.length + report.superseded.length
|
|
188
|
+
report.stale.length + report.missing.length + report.superseded.length +
|
|
189
|
+
report.orphanModel.length;
|
|
230
190
|
for (const [kind, note] of [
|
|
231
191
|
['forked', 'FORKED (will be reverted by `target add`)'],
|
|
232
192
|
['edited', 'EDITED template master'],
|
|
@@ -235,6 +195,7 @@ async function doctor(actx, scope) {
|
|
|
235
195
|
['additive', 'additive (project-owned, not drift)'],
|
|
236
196
|
['superseded', 'SUPERSEDED generated output (run `doctor prune` to delete)'],
|
|
237
197
|
['unwired', 'NOT WIRED IN (root capability this project is missing)'],
|
|
198
|
+
['orphanModel', 'ORPHAN MODEL FILE (on disk, included by nothing, read by nobody)'],
|
|
238
199
|
['resyncPending', 'RESYNC PENDING (predates provenance; `target add` updates it)'],
|
|
239
200
|
['aliasedDiff', 'aliased model differs from its origin (project-owned, not drift)'],
|
|
240
201
|
]) {
|
|
@@ -252,6 +213,7 @@ async function doctor(actx, scope) {
|
|
|
252
213
|
additive: report.additive.length,
|
|
253
214
|
superseded: report.superseded.length,
|
|
254
215
|
unwired: report.unwired.length,
|
|
216
|
+
orphanModel: report.orphanModel.length,
|
|
255
217
|
resyncPending: report.resyncPending.length,
|
|
256
218
|
aliasedDiff: report.aliasedDiff.length,
|
|
257
219
|
note: report.ok ?
|
|
@@ -287,30 +249,10 @@ function checkWiring(actx, report) {
|
|
|
287
249
|
}
|
|
288
250
|
}
|
|
289
251
|
}
|
|
290
|
-
// Where one declared item came from, or undefined with the reason said out
|
|
291
|
-
// loud.
|
|
292
|
-
//
|
|
293
|
-
// The model records `base` and `origname` (written by add), and `origname` is
|
|
294
|
-
// what makes an ALIAS checkable: the ref used to be rebuilt as
|
|
295
|
-
// `<base>/../<name>`, which names the INSTALLED item — so `target add ts~ts2`
|
|
296
|
-
// sent doctor looking for a `ts2` scaffold that does not exist, both trees
|
|
297
|
-
// walked empty, and every component read as `additive` while every template
|
|
298
|
-
// read as `stale` (a FAILING category). Real edits were undetectable and
|
|
299
|
-
// doctor went red on noise.
|
|
300
|
-
//
|
|
301
|
-
// A bare name falls back to the bundled scaffold, for a copy predating
|
|
302
|
-
// provenance.
|
|
303
252
|
function resolveDeclared(kind, name, actx) {
|
|
304
253
|
const declared = (0, kindCollection_1.kindCollection)(actx.model, kind)?.[name];
|
|
305
254
|
const ref = (0, kind_1.recordedRef)(declared, name) || name;
|
|
306
255
|
try {
|
|
307
|
-
// WITH THE LOG. Resolution reads the source's package manifest, and an
|
|
308
|
-
// unusable one is reported only through `ctx$.log`. Without it doctor
|
|
309
|
-
// silently lost the package name — and then reported every item from that
|
|
310
|
-
// package as FORKED, because the expected text no longer carries the
|
|
311
|
-
// `package:` line the copy has, with nothing anywhere saying why. That is
|
|
312
|
-
// accurate (the next add really would strip the line) but unactionable,
|
|
313
|
-
// which is the same defect as being wrong.
|
|
314
256
|
return (0, resolve_1.resolveSource)(ref, kind, { folder: actx.folder, fs: actx.fs, log: actx.log });
|
|
315
257
|
}
|
|
316
258
|
catch (err) {
|
|
@@ -329,18 +271,6 @@ function checkTarget(actx, resolved, report) {
|
|
|
329
271
|
const fs = actx.fs();
|
|
330
272
|
const model = actx.model;
|
|
331
273
|
const root = actx.folder;
|
|
332
|
-
// The two TREES `target add` owns, and the substitution it applies to each.
|
|
333
|
-
// (It owns one FILE as well — see checkTargetModel, below.)
|
|
334
|
-
//
|
|
335
|
-
// src/cmp — copied verbatim, so a byte compare is the truth.
|
|
336
|
-
// tm — copied through jostraca's template(), with ProjectName.
|
|
337
|
-
// An ALIASED install renames every `<Cmp>_<origname>` component to
|
|
338
|
-
// `<Cmp>_<alias>` and rewrites the origin name inside the file (sibling
|
|
339
|
-
// imports, the __dirname-relative fragment path), because components are
|
|
340
|
-
// dispatched by the convention `cmp/<t>/Main_<t>`. doctor has to apply the
|
|
341
|
-
// same two transforms or it expects the ORIGIN names in the alias's folder
|
|
342
|
-
// and reports the entire tree as missing — 25 files for `go~go2`, none of
|
|
343
|
-
// them a real finding.
|
|
344
274
|
const aliased = tname !== torigname;
|
|
345
275
|
const renameCmp = aliased ?
|
|
346
276
|
(rel) => (0, target_1.aliasCmpName)(rel, torigname, tname) : undefined;
|
|
@@ -378,22 +308,10 @@ function checkTarget(actx, resolved, report) {
|
|
|
378
308
|
const excludes = (0, target_1.trimFeatures)({ log: quietLog(actx.log), fs: () => fs, folder: root, model }, tfolder, torigname, tname, features);
|
|
379
309
|
compareTrees(actx, report, trees, {
|
|
380
310
|
excludes,
|
|
381
|
-
// Only a TARGET has foreign feature source landing in its tree.
|
|
382
311
|
foreign: (kind) => 'edited' === kind ?
|
|
383
312
|
foreignFeatureSource(actx, resolved) : [],
|
|
384
313
|
});
|
|
385
314
|
}
|
|
386
|
-
// COMPARE A SET OF TREES against the sources they were copied from.
|
|
387
|
-
//
|
|
388
|
-
// Extracted from `checkTarget` unchanged, because the docs kind needs exactly
|
|
389
|
-
// this and a second copy of it is the defect this workstream keeps producing.
|
|
390
|
-
// What differs per kind stays in the caller: which trees, what the copy
|
|
391
|
-
// substituted, whether a trim excludes part of the source, and whether
|
|
392
|
-
// anything foreign is expected to land in the tree.
|
|
393
|
-
//
|
|
394
|
-
// This is the mechanism behind the rule in CLAUDE.md — anything an add
|
|
395
|
-
// writes, doctor must compare, or the next add silently reverts a project's
|
|
396
|
-
// edit. A kind that declares trees and is not walked here would break it.
|
|
397
315
|
function compareTrees(actx, report, trees, opts) {
|
|
398
316
|
const fs = actx.fs();
|
|
399
317
|
const model = actx.model;
|
|
@@ -406,30 +324,10 @@ function compareTrees(actx, report, trees, opts) {
|
|
|
406
324
|
const scaffoldFiles = 'edited' === tree.kind ?
|
|
407
325
|
walk(fs, tree.scaffold).filter((rel) => !excluded(rel, excludes)) :
|
|
408
326
|
walk(fs, tree.scaffold);
|
|
409
|
-
// Where each file the project should have COMES FROM: the name it lands
|
|
410
|
-
// under, mapped to the absolute path of the file it was copied from.
|
|
411
|
-
//
|
|
412
|
-
// An absolute path rather than a tree-relative one, because not every
|
|
413
|
-
// expected file comes from THIS tree — see the foreign-feature union
|
|
414
|
-
// below.
|
|
415
327
|
const landed = new Map(scaffoldFiles.map((rel) => [
|
|
416
328
|
null == tree.rename ? rel : tree.rename(rel),
|
|
417
329
|
node_path_1.default.join(tree.scaffold, rel),
|
|
418
330
|
]));
|
|
419
|
-
// FOREIGN FEATURE SOURCE.
|
|
420
|
-
//
|
|
421
|
-
// A feature supplied by a different package than the target ships its
|
|
422
|
-
// per-target source in ITS OWN `tm/<target>/` overlay, and `feature add`
|
|
423
|
-
// copies that into the project. Compared against the target's scaffold
|
|
424
|
-
// alone, those files are present in the project and absent upstream — so
|
|
425
|
-
// every one of them was reported STALE, a FAILING category. Any project
|
|
426
|
-
// using an external feature had a red `doctor` and nothing wrong with it.
|
|
427
|
-
//
|
|
428
|
-
// They are not stale, they are expected — just expected from somewhere
|
|
429
|
-
// else. Adding them here rather than suppressing them keeps them
|
|
430
|
-
// CHECKED: a hand-edit to a foreign feature's source is still reported,
|
|
431
|
-
// which is what `package update`'s gate needs in order to cover
|
|
432
|
-
// everything the re-add writes.
|
|
433
331
|
const foreign = new Set();
|
|
434
332
|
for (const [rel, from] of (opts?.foreign?.(tree.kind) ?? [])) {
|
|
435
333
|
landed.set(rel, from);
|
|
@@ -475,17 +373,6 @@ function compareTrees(actx, report, trees, opts) {
|
|
|
475
373
|
}
|
|
476
374
|
}
|
|
477
375
|
}
|
|
478
|
-
// A DOCS item's trees.
|
|
479
|
-
//
|
|
480
|
-
// Simpler than a target's in every way that matters here: no trim (a docs
|
|
481
|
-
// item has no per-feature source to leave out), and nothing foreign lands in
|
|
482
|
-
// them (a feature package's overlay targets a TARGET's tree). What is the
|
|
483
|
-
// same is the alias handling — docs components are dispatched by the same
|
|
484
|
-
// `Main_<n>` convention — and the tree paths, which come from the registry
|
|
485
|
-
// rather than being spelled a second time.
|
|
486
|
-
//
|
|
487
|
-
// The optional template tree is skipped when the SOURCE does not ship one:
|
|
488
|
-
// `edition add` did not copy it, so the project is right not to have it.
|
|
489
376
|
function checkEdition(actx, resolved, report) {
|
|
490
377
|
const fs = actx.fs();
|
|
491
378
|
const root = actx.folder;
|
|
@@ -513,20 +400,6 @@ function checkEdition(actx, resolved, report) {
|
|
|
513
400
|
});
|
|
514
401
|
compareTrees(actx, report, trees);
|
|
515
402
|
}
|
|
516
|
-
// Per-target source that a FEATURE package supplies for this target, as
|
|
517
|
-
// `project-relative path -> the file it was copied from`.
|
|
518
|
-
//
|
|
519
|
-
// Only for features whose source folder is not the target's own: everything
|
|
520
|
-
// the target ships for itself is already in the tree being walked, and
|
|
521
|
-
// listing it twice would compare it against itself.
|
|
522
|
-
//
|
|
523
|
-
// Only for ACTIVE features, because that is what `feature add` copies. A
|
|
524
|
-
// feature switched off later leaves its files behind, and those really are
|
|
525
|
-
// stale — reporting them is the point.
|
|
526
|
-
//
|
|
527
|
-
// Discovered with `findFeatureSources`, the same function the fan-out and the
|
|
528
|
-
// trim use, so doctor's idea of which files belong to a feature cannot drift
|
|
529
|
-
// from the one that put them there.
|
|
530
403
|
function foreignFeatureSource(actx, target) {
|
|
531
404
|
const out = new Map();
|
|
532
405
|
const features = actx.model?.main?.[types_1.KIT]?.feature ?? {};
|
|
@@ -544,18 +417,6 @@ function foreignFeatureSource(actx, target) {
|
|
|
544
417
|
}
|
|
545
418
|
return out;
|
|
546
419
|
}
|
|
547
|
-
// One feature's per-target source, as `tm-relative path -> the file it was
|
|
548
|
-
// copied from`, for source the FEATURE package supplies rather than the
|
|
549
|
-
// target.
|
|
550
|
-
//
|
|
551
|
-
// ONE enumerator, used from both directions: the target walk needs these to
|
|
552
|
-
// know they are expected, and the feature check needs them to compare. Two
|
|
553
|
-
// enumerations would be two ideas of which files a feature owns, and the
|
|
554
|
-
// pair would drift — which is the failure this codebase keeps producing.
|
|
555
|
-
//
|
|
556
|
-
// Empty when the feature's source IS the target's own tree: those files are
|
|
557
|
-
// already in the tree being walked, and listing them would compare them
|
|
558
|
-
// against themselves.
|
|
559
420
|
function overlayFiles(actx, feature, target) {
|
|
560
421
|
const fs = actx.fs();
|
|
561
422
|
const out = new Map();
|
|
@@ -581,18 +442,6 @@ function overlayFiles(actx, feature, target) {
|
|
|
581
442
|
}
|
|
582
443
|
return out;
|
|
583
444
|
}
|
|
584
|
-
// A FEATURE's per-target source, checked from the feature's side.
|
|
585
|
-
//
|
|
586
|
-
// This is where those files are COMPARED. The target walk only marks them
|
|
587
|
-
// expected, so that each is compared exactly once — by the feature that owns
|
|
588
|
-
// it, which is also the only scope in which `feature add` will rewrite it.
|
|
589
|
-
//
|
|
590
|
-
// Doing it the other way round — leaving the comparison in the target walk —
|
|
591
|
-
// left the gate open in the case it was built for: `package update` on a
|
|
592
|
-
// FEATURE package scopes doctor to that feature, no target is walked, and so
|
|
593
|
-
// nothing compared the very overlay the feature package supplies. Verified
|
|
594
|
-
// before fixing: the update succeeded without asking, and the local edit was
|
|
595
|
-
// destroyed.
|
|
596
445
|
function checkFeatureSource(actx, feature, targets, report) {
|
|
597
446
|
const fs = actx.fs();
|
|
598
447
|
const root = actx.folder;
|
|
@@ -613,51 +462,15 @@ function checkFeatureSource(actx, feature, targets, report) {
|
|
|
613
462
|
}
|
|
614
463
|
}
|
|
615
464
|
}
|
|
616
|
-
// The copied MODEL FILE — `model/<kind>/<name>.aon`, written by add with
|
|
617
|
-
// the `'BASE'` replacement, and overwritten on every resync exactly as
|
|
618
|
-
// `src/cmp` and `tm` are.
|
|
619
|
-
//
|
|
620
|
-
// It is not scaffolding trivia. A target's carries its dependency set, its
|
|
621
|
-
// `phase` gates, `srcfeature`, `feature.trim` / `feature.fullset` and its
|
|
622
|
-
// publish-registry identity; a feature's carries its version, `active`
|
|
623
|
-
// default, `config` defaults and hook wiring. So a maintainer who fixes a dep
|
|
624
|
-
// version there loses the fix on the next resync with nothing said (the SDK
|
|
625
|
-
// regresses with nobody touching it, which is the failure the "a project
|
|
626
|
-
// decision belongs in the MODEL" rule exists to prevent), and a project whose
|
|
627
|
-
// copy predates a scaffold change carries the old declaration forever while
|
|
628
|
-
// doctor reports it in sync.
|
|
629
|
-
//
|
|
630
|
-
// KIND-NEUTRAL, because the file is the same kind of thing for every kind:
|
|
631
|
-
// one definition, copied, stamped with provenance, optionally renamed for an
|
|
632
|
-
// alias. Only the alias rewrite is kind-specific, and the registry already
|
|
633
|
-
// says which kinds can be aliased at all.
|
|
634
465
|
function checkItemModel(actx, kind, source, report) {
|
|
635
466
|
const name = source.name;
|
|
636
467
|
const origname = source.origname;
|
|
637
468
|
const base = source.base;
|
|
638
469
|
const fs = actx.fs();
|
|
639
470
|
const scaffold = (0, definition_1.definitionPath)(source.folder, kind, origname);
|
|
640
|
-
// Nothing to compare against — a source that no longer ships this item.
|
|
641
471
|
if (!fs.existsSync(scaffold)) {
|
|
642
472
|
return;
|
|
643
473
|
}
|
|
644
|
-
// An ALIAS's model file is PROJECT-OWNED: `target add go~go2` creates it and
|
|
645
|
-
// never overwrites it again, because differentiating it is the whole point
|
|
646
|
-
// of an alias (a second Go module needs its own module name and deps), and
|
|
647
|
-
// add-a-target tells the project to edit it. So a difference here is not a
|
|
648
|
-
// fork — `target add` will not revert it — and must not fail the check.
|
|
649
|
-
//
|
|
650
|
-
// It is still worth REPORTING, which it never was before: the origin was
|
|
651
|
-
// unrecoverable, so doctor skipped the file entirely and an alias that had
|
|
652
|
-
// drifted far from a moved-on upstream said nothing. With `origname`
|
|
653
|
-
// recorded the comparison is possible, so it runs, with the same key
|
|
654
|
-
// rewrite the add applied — and anything left over is the project's own
|
|
655
|
-
// differentiation, reported as informational.
|
|
656
|
-
//
|
|
657
|
-
// Only for a kind that CAN be aliased. A feature cannot, so for features
|
|
658
|
-
// this is always false and the ownership argument never applies — the
|
|
659
|
-
// registry says which, rather than this inferring it from the names
|
|
660
|
-
// happening to match.
|
|
661
474
|
const aliased = (0, kind_1.kindDef)(kind).alias && name !== origname;
|
|
662
475
|
const project = (0, definition_1.definitionPath)(actx.folder, kind, name);
|
|
663
476
|
const label = 'model/' + kind + '/' + name + '.aon';
|
|
@@ -665,22 +478,7 @@ function checkItemModel(actx, kind, source, report) {
|
|
|
665
478
|
report.missing.push(label);
|
|
666
479
|
return;
|
|
667
480
|
}
|
|
668
|
-
// The substitution the add applied on the way in: jostraca's template()
|
|
669
|
-
// against the model (so `module: name: '$$name$$'` arrives as the project
|
|
670
|
-
// slug) plus the provenance block recording where the scaffold was.
|
|
671
|
-
//
|
|
672
|
-
// NOT templateReplacements() — that is the tm/ tree's map. The two writers
|
|
673
|
-
// pass different maps, so doctor has to as well, or every project reads as
|
|
674
|
-
// forked on the `base:` line alone. The map itself is shared with the
|
|
675
|
-
// writer (helpers/stdrep) so the two cannot drift.
|
|
676
|
-
//
|
|
677
|
-
// `package` comes from the SOURCE's manifest, not from what the copy
|
|
678
|
-
// records, for the same reason `base` does: what this compares is what the
|
|
679
|
-
// add would write NOW. A package that renamed itself therefore reads as
|
|
680
|
-
// forked, which is accurate — the next add would rewrite the line.
|
|
681
481
|
const provenance = (0, stdrep_1.provenanceReplace)({ base, origname, name, package: source.package });
|
|
682
|
-
// For an alias, compare against what the origin WOULD produce under the new
|
|
683
|
-
// name, so the rename itself is not the difference.
|
|
684
482
|
const rename = (0, kind_1.kindDef)(kind).rename;
|
|
685
483
|
const rewrite = (aliased && null != rename) ?
|
|
686
484
|
(src) => rename(src, origname, name) : undefined;
|
|
@@ -691,52 +489,12 @@ function checkItemModel(actx, kind, source, report) {
|
|
|
691
489
|
report.aliasedDiff.push(label);
|
|
692
490
|
return;
|
|
693
491
|
}
|
|
694
|
-
// A copy written before the toolchain stamped some provenance key differs
|
|
695
|
-
// from the scaffold by exactly the lines carrying that key. That is not a
|
|
696
|
-
// fork — the project changed nothing — and reporting it as one would turn
|
|
697
|
-
// every existing consumer's CI red on upgrade.
|
|
698
|
-
//
|
|
699
|
-
// PER KEY, not all-or-nothing. The keys arrived in stages — `base` and
|
|
700
|
-
// `origname` first, `package` with the manifest — so a project that
|
|
701
|
-
// resynced between two of them holds a copy that IS stamped (it has `base`)
|
|
702
|
-
// and is still missing a later key. An all-or-nothing "is it stamped at
|
|
703
|
-
// all" test called every one of those a fork: on the released 3.4.8
|
|
704
|
-
// scaffold only ts, csharp and swift carried the anchor, and `ts` is in
|
|
705
|
-
// essentially every consumer SDK, so that was close to the whole installed
|
|
706
|
-
// base going red on a file nobody touched.
|
|
707
492
|
if (stampOnly(fs, scaffold, project, actx.model, provenance, rewrite)) {
|
|
708
493
|
report.resyncPending.push(label);
|
|
709
494
|
return;
|
|
710
495
|
}
|
|
711
496
|
report.forked.push(label);
|
|
712
497
|
}
|
|
713
|
-
// Is the ONLY difference a provenance line the copy has not been given yet?
|
|
714
|
-
//
|
|
715
|
-
// MATCHED AGAINST THE EXACT LINES THE STAMP PRODUCES, never against a pattern
|
|
716
|
-
// for "a line that looks like provenance". `base`, `origname` and `package`
|
|
717
|
-
// are not reserved words: `main: kit: target: <t>: module: package` (the Go
|
|
718
|
-
// root package identifier) and `publish: registry: package` (the published
|
|
719
|
-
// package name) are declared model slots that a target model may write in
|
|
720
|
-
// block form, on their own line, looking exactly like a provenance line to
|
|
721
|
-
// any regex. A generic pattern got BOTH directions wrong on such a model —
|
|
722
|
-
// it read the copy's `module: package:` as proof the copy was already
|
|
723
|
-
// stamped, so an untouched pre-manifest file was reported as forked; and it
|
|
724
|
-
// stripped that same real line from the comparison, so DELETING it — an
|
|
725
|
-
// actual fork, silently reverted by the next `target add` — was reported as
|
|
726
|
-
// a pending resync and passed the check.
|
|
727
|
-
//
|
|
728
|
-
// Comparing against `provenanceReplace`'s own output has no such ambiguity,
|
|
729
|
-
// and keeps the reader tied to the writer, which is the whole point of
|
|
730
|
-
// helpers/stdrep.
|
|
731
|
-
//
|
|
732
|
-
// The rule, once the two are known to differ:
|
|
733
|
-
//
|
|
734
|
-
// - every line the EXPECTED has and the copy lacks must be a stamp line;
|
|
735
|
-
// - the copy must have NO line the expected lacks.
|
|
736
|
-
//
|
|
737
|
-
// The second half is what keeps the tolerance narrow, as the previous
|
|
738
|
-
// rollout's review required: a changed `package:` value leaves the old line
|
|
739
|
-
// in the copy and unmatched, so it is a fork and is reported as one.
|
|
740
498
|
function stampOnly(fs, scaffoldPath, projectPath, model, provenance, rewrite) {
|
|
741
499
|
const { expected, actual } = renderPair(fs, scaffoldPath, projectPath, model, provenance, rewrite);
|
|
742
500
|
// The rendered block, as lines: `base: '...'` plus whichever of
|
|
@@ -750,7 +508,6 @@ function stampOnly(fs, scaffoldPath, projectPath, model, provenance, rewrite) {
|
|
|
750
508
|
0 < onlyExpected.length &&
|
|
751
509
|
onlyExpected.every((line) => stamp.has(line.trim()));
|
|
752
510
|
}
|
|
753
|
-
// Lines of `a` that `b` does not have, counting duplicates.
|
|
754
511
|
function lineDiff(a, b) {
|
|
755
512
|
const pool = new Map();
|
|
756
513
|
for (const line of b.split('\n')) {
|
|
@@ -801,14 +558,6 @@ function excluded(rel, excludes) {
|
|
|
801
558
|
}
|
|
802
559
|
return false;
|
|
803
560
|
}
|
|
804
|
-
// Compare a scaffold file with a project file, applying the SAME substitution
|
|
805
|
-
// `target add` applied on the way in. Without this the comparison reports
|
|
806
|
-
// every substituted placeholder as an edit.
|
|
807
|
-
// `ignore` drops matching lines from BOTH sides before comparing, for a
|
|
808
|
-
// difference that is known not to be a fork (see the provenance rollout in
|
|
809
|
-
// checkTargetModel). It is deliberately a second, narrower question asked
|
|
810
|
-
// only after a plain comparison has already found a difference — so a file
|
|
811
|
-
// that matches exactly never depends on it.
|
|
812
561
|
function differs(fs, scaffoldPath, projectPath, model, replace, ignore, rewrite) {
|
|
813
562
|
if (BINARY_RE.test(scaffoldPath)) {
|
|
814
563
|
return !fs.readFileSync(scaffoldPath).equals(fs.readFileSync(projectPath));
|
|
@@ -820,20 +569,6 @@ function differs(fs, scaffoldPath, projectPath, model, replace, ignore, rewrite)
|
|
|
820
569
|
const strip = (s) => s.split('\n').filter((line) => !ignore(line)).join('\n');
|
|
821
570
|
return strip(expected) !== strip(actual);
|
|
822
571
|
}
|
|
823
|
-
// What `target add` WOULD write, beside what the project actually has.
|
|
824
|
-
//
|
|
825
|
-
// One definition, shared by the byte comparison and the stamp-only tolerance,
|
|
826
|
-
// so the two can never disagree about what the expected text is.
|
|
827
|
-
//
|
|
828
|
-
// template() runs even when there is nothing to REPLACE, because jostraca's
|
|
829
|
-
// Copy always interpolates `$$ref$$` against the model as well — the replace
|
|
830
|
-
// map is an extra, not the whole substitution. Skipping it for the src/cmp
|
|
831
|
-
// tree (whose Copy passes no replace map) meant the three Config fragments
|
|
832
|
-
// that carry `$$const.Name$$` / `$$main.kit.info.servers.0.url$$` arrived
|
|
833
|
-
// substituted and compared as bytes: every project with ts, js or dart
|
|
834
|
-
// reported `src/cmp/<t>/fragment/Config.fragment.<ext>` as FORKED straight
|
|
835
|
-
// out of `target add`, which is precisely the noise this exists to remove.
|
|
836
|
-
// With no `$$` refs and no replace keys, template() is the identity.
|
|
837
572
|
function renderPair(fs, scaffoldPath, projectPath, model, replace, rewrite) {
|
|
838
573
|
const rawsrc = fs.readFileSync(scaffoldPath, 'utf8');
|
|
839
574
|
const src = null == rewrite ? rawsrc : rewrite(rawsrc);
|
|
@@ -842,7 +577,6 @@ function renderPair(fs, scaffoldPath, projectPath, model, replace, rewrite) {
|
|
|
842
577
|
actual: fs.readFileSync(projectPath, 'utf8'),
|
|
843
578
|
};
|
|
844
579
|
}
|
|
845
|
-
// trimFeatures logs its decisions; doctor is a report, not a run.
|
|
846
580
|
function quietLog(log) {
|
|
847
581
|
const noop = () => { };
|
|
848
582
|
const quiet = { info: noop, debug: noop, warn: log.warn.bind(log), error: noop, trace: noop, fatal: noop };
|