@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/src/action/doctor.ts
CHANGED
|
@@ -1,34 +1,4 @@
|
|
|
1
1
|
import { kindCollection } from '../helpers/kindCollection'
|
|
2
|
-
// `voxgig-sdkgen doctor` — does this project's `.sdk/` still match the
|
|
3
|
-
// scaffold?
|
|
4
|
-
//
|
|
5
|
-
// WHY THIS EXISTS
|
|
6
|
-
//
|
|
7
|
-
// Nothing told a project that its `.sdk/` had drifted. `target add`
|
|
8
|
-
// OVERWRITES the vendored components, the template masters AND the per-target
|
|
9
|
-
// model file, so any hand-edit there is silently reverted on the next run —
|
|
10
|
-
// and any file the scaffold has since stopped shipping just stays, compiling
|
|
11
|
-
// into the output forever. In voxgig-solardemo-sdk two such orphans broke the
|
|
12
|
-
// Go build in a single session: `utility/make_target.go` (replaced upstream by
|
|
13
|
-
// `make_point.go`, leaving a duplicate symbol) and `utility/struct/go.mod` (a
|
|
14
|
-
// nested module that made `utility/struct` unimportable).
|
|
15
|
-
//
|
|
16
|
-
// Every divergence in that repo was found by hand-diffing. Without a check,
|
|
17
|
-
// fixing it once guarantees nothing about next month.
|
|
18
|
-
//
|
|
19
|
-
// WHY A NAIVE `diff -r` DOES NOT WORK
|
|
20
|
-
//
|
|
21
|
-
// `target add` writes template masters with substitution PARTLY applied, and
|
|
22
|
-
// inconsistently: `tm/go/core/error.go` arrives substituted (`SolardemoError`
|
|
23
|
-
// where the scaffold says `ProjectNameError`), `tm/ts/test/utility.ts` arrives
|
|
24
|
-
// raw (its placeholders are substituted later, at generate time), and
|
|
25
|
-
// `tm/go/LICENSE` has the year filled in. A plain `diff -r` against the
|
|
26
|
-
// scaffold reported 20 edited files in that repo; 19 were substitution
|
|
27
|
-
// artefacts and exactly ONE was a real hand-edit.
|
|
28
|
-
//
|
|
29
|
-
// Only sdkgen knows which replacements it applied to which files, which is
|
|
30
|
-
// why this check belongs here and cannot be scripted downstream. It re-runs
|
|
31
|
-
// the same substitution before comparing, so what it reports is real.
|
|
32
2
|
|
|
33
3
|
import Path from 'node:path'
|
|
34
4
|
|
|
@@ -53,9 +23,6 @@ import {
|
|
|
53
23
|
aliasCmpName,
|
|
54
24
|
} from './target'
|
|
55
25
|
|
|
56
|
-
// `aliasModelText` is no longer named here: the model-file comparison asks
|
|
57
|
-
// the registry for the kind's own `rename`, so a kind that renames
|
|
58
|
-
// differently is handled without this file knowing how.
|
|
59
26
|
import { recordedRef, KINDS, kindDef, kindTrees } from './kind'
|
|
60
27
|
import type { TreeDef } from './kind'
|
|
61
28
|
|
|
@@ -69,13 +36,6 @@ import { findFeatureSources } from '../helpers/featureSource'
|
|
|
69
36
|
import { isJunk } from '../helpers/junk'
|
|
70
37
|
|
|
71
38
|
|
|
72
|
-
// jostraca's Copy walk skips these (IGNORED_RE in CopyOp) — editor backups and
|
|
73
|
-
// deliberately-disabled templates never reach a project, so they are not drift.
|
|
74
|
-
//
|
|
75
|
-
// `isJunk` is the other half of the same statement: what the WRITER refuses to
|
|
76
|
-
// copy, this reader must refuse to miss. A `__pycache__` in the scaffold would
|
|
77
|
-
// otherwise be reported as missing from every project on earth, and one in a
|
|
78
|
-
// project as an unexplained extra file. See helpers/junk.
|
|
79
39
|
const IGNORED_RE = /(~|-jostraca-off)$/
|
|
80
40
|
|
|
81
41
|
function ignoredEntry(name: string): boolean {
|
|
@@ -87,16 +47,6 @@ function ignoredEntry(name: string): boolean {
|
|
|
87
47
|
const BINARY_RE = /\.(png|jpg|jpeg|gif|ico|pdf|zip|gz|woff2?|ttf|eot|wasm)$/i
|
|
88
48
|
|
|
89
49
|
|
|
90
|
-
// Root-level components sdkgen provides, and what a project loses by not
|
|
91
|
-
// wiring one in. A project's `Root.ts` / `Top.ts` come from create-sdkgen at
|
|
92
|
-
// init and are then FROZEN — `target add` never touches them — so a
|
|
93
|
-
// capability added to sdkgen afterwards is invisible to every existing
|
|
94
|
-
// project. solardemo's `Top.ts`, written before `ReadmeTop` existed, kept
|
|
95
|
-
// hand-rolling a 9-line stub root README with an empty mermaid diagram for
|
|
96
|
-
// months, and no number of `target add` runs would ever have said so.
|
|
97
|
-
//
|
|
98
|
-
// Not wiring one in is a legitimate choice, so this is REPORTED, never a
|
|
99
|
-
// failure.
|
|
100
50
|
const ROOT_COMPONENTS: [string, string][] = [
|
|
101
51
|
['ReadmeTop', 'the assembled root README (quickstart, howto, test, package table)'],
|
|
102
52
|
['AgentGuideTop', 'the root AGENTS.md / CLAUDE.md agent guides'],
|
|
@@ -119,25 +69,20 @@ type DoctorReport = {
|
|
|
119
69
|
// `target add` applies.
|
|
120
70
|
edited: string[]
|
|
121
71
|
|
|
122
|
-
// Present in the project, but `target add` would no longer write it. Stale
|
|
123
|
-
// output — the category that broke the Go build twice.
|
|
124
72
|
stale: string[]
|
|
125
73
|
|
|
126
|
-
// `target add` would write it and the project does not have it.
|
|
127
74
|
missing: string[]
|
|
128
75
|
|
|
129
|
-
// Project-owned components the scaffold never shipped. NOT drift.
|
|
130
76
|
additive: string[]
|
|
131
77
|
|
|
132
|
-
// Generated files the model declares RETIRED (`target.superseded`) that
|
|
133
|
-
// still sit in the target output directories — the old runner beside its
|
|
134
|
-
// replacement. `doctor prune` deletes exactly these.
|
|
135
78
|
superseded: string[]
|
|
136
79
|
|
|
137
80
|
// Root-level components this sdkgen provides that the project's root
|
|
138
81
|
// wiring never calls. Informational: opting out is legitimate.
|
|
139
82
|
unwired: string[]
|
|
140
83
|
|
|
84
|
+
orphanModel: string[]
|
|
85
|
+
|
|
141
86
|
// A copy that differs from the scaffold ONLY in its provenance lines —
|
|
142
87
|
// written before `base`/`origname` were stamped, so the project changed
|
|
143
88
|
// nothing and `target add` will bring it up to date. Informational: this
|
|
@@ -150,7 +95,6 @@ type DoctorReport = {
|
|
|
150
95
|
// it is what an alias is FOR.
|
|
151
96
|
aliasedDiff: string[]
|
|
152
97
|
|
|
153
|
-
// True when nothing in the first four categories was found.
|
|
154
98
|
ok: boolean
|
|
155
99
|
}
|
|
156
100
|
|
|
@@ -180,10 +124,6 @@ async function cmd_doctor_check(_args: string[], actx: ActionContext): Promise<A
|
|
|
180
124
|
}
|
|
181
125
|
|
|
182
126
|
|
|
183
|
-
// `doctor prune` — the ONE write doctor performs, and only ever of files a
|
|
184
|
-
// target's model DECLARES superseded (retired templates jostraca cannot
|
|
185
|
-
// delete from a consumer: the old runner beside its replacement, a
|
|
186
|
-
// pre-reshape vendored file). Everything else doctor does stays read-only.
|
|
187
127
|
async function cmd_doctor_prune(_args: string[], actx: ActionContext): Promise<ActionResult> {
|
|
188
128
|
const log = actx.log
|
|
189
129
|
const fs = actx.fs()
|
|
@@ -207,10 +147,6 @@ async function cmd_doctor_prune(_args: string[], actx: ActionContext): Promise<A
|
|
|
207
147
|
}
|
|
208
148
|
|
|
209
149
|
|
|
210
|
-
// Generated files the model says this toolchain NO LONGER writes, that
|
|
211
|
-
// still exist in the project's target output directories. Paths in the
|
|
212
|
-
// model are relative to each target's output dir (a sibling of `.sdk/`,
|
|
213
|
-
// named for the target).
|
|
214
150
|
function supersededFiles(actx: ActionContext): string[] {
|
|
215
151
|
const fs = actx.fs()
|
|
216
152
|
const model = actx.model
|
|
@@ -239,8 +175,60 @@ function supersededFiles(actx: ActionContext): string[] {
|
|
|
239
175
|
type DoctorScope = (kind: string, name: string) => boolean
|
|
240
176
|
|
|
241
177
|
|
|
242
|
-
|
|
243
|
-
|
|
178
|
+
function orphanModelFiles(actx: ActionContext): string[] {
|
|
179
|
+
const fs = actx.fs()
|
|
180
|
+
const modeldir = Path.join(actx.folder, 'model')
|
|
181
|
+
|
|
182
|
+
if (!fs.existsSync(modeldir)) {
|
|
183
|
+
return []
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
const all = walk(fs, modeldir)
|
|
187
|
+
.filter((rel) => rel.endsWith('.aon') || rel.endsWith('.aontu'))
|
|
188
|
+
.filter((rel) => !rel.includes('.jostraca/') && !rel.startsWith('guide/'))
|
|
189
|
+
|
|
190
|
+
const ENTRY = [
|
|
191
|
+
'sdk.aon', 'sdk.aontu',
|
|
192
|
+
'test/test.aon', 'test/test.aontu',
|
|
193
|
+
'.model-config/model-config.aon', '.model-config/model-config.aontu',
|
|
194
|
+
]
|
|
195
|
+
|
|
196
|
+
const seen = new Set<string>()
|
|
197
|
+
const queue = ENTRY.filter((rel) => all.includes(rel))
|
|
198
|
+
|
|
199
|
+
while (0 < queue.length) {
|
|
200
|
+
const rel = queue.shift() as string
|
|
201
|
+
if (seen.has(rel)) {
|
|
202
|
+
continue
|
|
203
|
+
}
|
|
204
|
+
seen.add(rel)
|
|
205
|
+
|
|
206
|
+
let src = ''
|
|
207
|
+
try {
|
|
208
|
+
src = fs.readFileSync(Path.join(modeldir, rel), 'utf8')
|
|
209
|
+
}
|
|
210
|
+
catch (e) {
|
|
211
|
+
continue
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
for (const m of src.matchAll(/@"([^"]+)"/g)) {
|
|
215
|
+
const ref = m[1]
|
|
216
|
+
if (ref.startsWith('@')) {
|
|
217
|
+
continue
|
|
218
|
+
}
|
|
219
|
+
const from = Path.posix.dirname(rel)
|
|
220
|
+
const next = Path.posix.normalize(
|
|
221
|
+
Path.posix.join('.' === from ? '' : from, ref.replace(/^\.\//, '')))
|
|
222
|
+
if (all.includes(next) && !seen.has(next)) {
|
|
223
|
+
queue.push(next)
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
return all.filter((rel) => !seen.has(rel)).sort()
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
|
|
244
232
|
async function doctor(
|
|
245
233
|
actx: ActionContext, scope?: DoctorScope,
|
|
246
234
|
): Promise<ActionResult> {
|
|
@@ -251,28 +239,14 @@ async function doctor(
|
|
|
251
239
|
|
|
252
240
|
const report: DoctorReport = {
|
|
253
241
|
forked: [], edited: [], stale: [], missing: [], additive: [],
|
|
254
|
-
superseded: [], unwired: [],
|
|
242
|
+
superseded: [], unwired: [], orphanModel: [],
|
|
243
|
+
resyncPending: [], aliasedDiff: [], ok: true,
|
|
255
244
|
}
|
|
256
245
|
|
|
257
|
-
// Retired-output leftovers first: purely model-driven, and a finding —
|
|
258
|
-
// two copies of the same machinery, one stale, is exactly the state the
|
|
259
|
-
// migration guide had to clean up by hand three times.
|
|
260
246
|
report.superseded = supersededFiles(actx)
|
|
261
247
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
// `add` writes a copied model file for each kind — `model/target/<t>.aon`
|
|
265
|
-
// and `model/feature/<f>.aon` alike — and overwrites it on every resync.
|
|
266
|
-
// Only the target one was ever compared, so a hand-edit to an installed
|
|
267
|
-
// FEATURE definition read as perfectly in sync and was silently reverted by
|
|
268
|
-
// the next `target add` (which re-runs `feature add` for every active
|
|
269
|
-
// feature). That is exactly the failure `checkTargetModel` was added for,
|
|
270
|
-
// left open for the other half of what add owns.
|
|
271
|
-
//
|
|
272
|
-
// Driven off the registry, so a kind added later is checked without
|
|
273
|
-
// anything here changing. The per-kind EXTRAS — a target's `src/cmp` and
|
|
274
|
-
// `tm` trees — stay in that kind's own check, because they are genuinely
|
|
275
|
-
// different work rather than the same work with different strings.
|
|
248
|
+
report.orphanModel = orphanModelFiles(actx)
|
|
249
|
+
|
|
276
250
|
const kinds = Object.keys(KINDS).sort()
|
|
277
251
|
|
|
278
252
|
const counts: Record<string, number> = {}
|
|
@@ -282,16 +256,6 @@ async function doctor(
|
|
|
282
256
|
|
|
283
257
|
log.info({ point: 'doctor-start', targets: counts.target ?? 0, ...counts })
|
|
284
258
|
|
|
285
|
-
// Targets resolved ONCE, before the kind loop, because the feature checks
|
|
286
|
-
// need them too: a feature's per-target source lives under the name the
|
|
287
|
-
// target has in its own source, so finding it means knowing where each
|
|
288
|
-
// target came from. Resolving per (feature, target) pair would re-read
|
|
289
|
-
// every package manifest dozens of times and warn repeatedly about the
|
|
290
|
-
// same unresolvable target.
|
|
291
|
-
//
|
|
292
|
-
// Resolved even when the run is SCOPED past them — a scoped check of one
|
|
293
|
-
// feature still has to look in every target's tree for that feature's
|
|
294
|
-
// files.
|
|
295
259
|
const targets = new Map<string, Source>()
|
|
296
260
|
|
|
297
261
|
for (const tname of
|
|
@@ -337,16 +301,18 @@ async function doctor(
|
|
|
337
301
|
}
|
|
338
302
|
}
|
|
339
303
|
|
|
340
|
-
// Root-component wiring is a property of the PROJECT, not of any item, so a
|
|
341
|
-
// scoped run has no business reporting on it — `package update` asking "is
|
|
342
|
-
// this package's copy clean" should not also say the project never wired in
|
|
343
|
-
// `ReadmeTop`.
|
|
344
304
|
if (null == scope) {
|
|
345
305
|
checkWiring(actx, report)
|
|
346
306
|
}
|
|
347
307
|
|
|
308
|
+
// orphanModel counts, and `unwired` does not. Not skipping a root
|
|
309
|
+
// component is a legitimate project choice that doctor only mentions; a
|
|
310
|
+
// model file nothing reads is never a choice - it is either a file that
|
|
311
|
+
// should be included, or one that should be deleted, and it reads as
|
|
312
|
+
// authoritative either way.
|
|
348
313
|
report.ok = 0 === report.forked.length + report.edited.length +
|
|
349
|
-
report.stale.length + report.missing.length + report.superseded.length
|
|
314
|
+
report.stale.length + report.missing.length + report.superseded.length +
|
|
315
|
+
report.orphanModel.length
|
|
350
316
|
|
|
351
317
|
for (const [kind, note] of [
|
|
352
318
|
['forked', 'FORKED (will be reverted by `target add`)'],
|
|
@@ -356,6 +322,7 @@ async function doctor(
|
|
|
356
322
|
['additive', 'additive (project-owned, not drift)'],
|
|
357
323
|
['superseded', 'SUPERSEDED generated output (run `doctor prune` to delete)'],
|
|
358
324
|
['unwired', 'NOT WIRED IN (root capability this project is missing)'],
|
|
325
|
+
['orphanModel', 'ORPHAN MODEL FILE (on disk, included by nothing, read by nobody)'],
|
|
359
326
|
['resyncPending', 'RESYNC PENDING (predates provenance; `target add` updates it)'],
|
|
360
327
|
['aliasedDiff', 'aliased model differs from its origin (project-owned, not drift)'],
|
|
361
328
|
] as [keyof DoctorReport, string][]) {
|
|
@@ -374,6 +341,7 @@ async function doctor(
|
|
|
374
341
|
additive: report.additive.length,
|
|
375
342
|
superseded: report.superseded.length,
|
|
376
343
|
unwired: report.unwired.length,
|
|
344
|
+
orphanModel: report.orphanModel.length,
|
|
377
345
|
resyncPending: report.resyncPending.length,
|
|
378
346
|
aliasedDiff: report.aliasedDiff.length,
|
|
379
347
|
note: report.ok ?
|
|
@@ -418,19 +386,6 @@ function checkWiring(actx: ActionContext, report: DoctorReport) {
|
|
|
418
386
|
}
|
|
419
387
|
|
|
420
388
|
|
|
421
|
-
// Where one declared item came from, or undefined with the reason said out
|
|
422
|
-
// loud.
|
|
423
|
-
//
|
|
424
|
-
// The model records `base` and `origname` (written by add), and `origname` is
|
|
425
|
-
// what makes an ALIAS checkable: the ref used to be rebuilt as
|
|
426
|
-
// `<base>/../<name>`, which names the INSTALLED item — so `target add ts~ts2`
|
|
427
|
-
// sent doctor looking for a `ts2` scaffold that does not exist, both trees
|
|
428
|
-
// walked empty, and every component read as `additive` while every template
|
|
429
|
-
// read as `stale` (a FAILING category). Real edits were undetectable and
|
|
430
|
-
// doctor went red on noise.
|
|
431
|
-
//
|
|
432
|
-
// A bare name falls back to the bundled scaffold, for a copy predating
|
|
433
|
-
// provenance.
|
|
434
389
|
function resolveDeclared(
|
|
435
390
|
kind: string, name: string, actx: ActionContext,
|
|
436
391
|
): Source | undefined {
|
|
@@ -438,13 +393,6 @@ function resolveDeclared(
|
|
|
438
393
|
const ref = recordedRef(declared, name) || name
|
|
439
394
|
|
|
440
395
|
try {
|
|
441
|
-
// WITH THE LOG. Resolution reads the source's package manifest, and an
|
|
442
|
-
// unusable one is reported only through `ctx$.log`. Without it doctor
|
|
443
|
-
// silently lost the package name — and then reported every item from that
|
|
444
|
-
// package as FORKED, because the expected text no longer carries the
|
|
445
|
-
// `package:` line the copy has, with nothing anywhere saying why. That is
|
|
446
|
-
// accurate (the next add really would strip the line) but unactionable,
|
|
447
|
-
// which is the same defect as being wrong.
|
|
448
396
|
return resolveSource(
|
|
449
397
|
ref, kind, { folder: actx.folder, fs: actx.fs, log: actx.log })
|
|
450
398
|
}
|
|
@@ -469,18 +417,6 @@ function checkTarget(
|
|
|
469
417
|
const model = actx.model
|
|
470
418
|
const root = actx.folder
|
|
471
419
|
|
|
472
|
-
// The two TREES `target add` owns, and the substitution it applies to each.
|
|
473
|
-
// (It owns one FILE as well — see checkTargetModel, below.)
|
|
474
|
-
//
|
|
475
|
-
// src/cmp — copied verbatim, so a byte compare is the truth.
|
|
476
|
-
// tm — copied through jostraca's template(), with ProjectName.
|
|
477
|
-
// An ALIASED install renames every `<Cmp>_<origname>` component to
|
|
478
|
-
// `<Cmp>_<alias>` and rewrites the origin name inside the file (sibling
|
|
479
|
-
// imports, the __dirname-relative fragment path), because components are
|
|
480
|
-
// dispatched by the convention `cmp/<t>/Main_<t>`. doctor has to apply the
|
|
481
|
-
// same two transforms or it expects the ORIGIN names in the alias's folder
|
|
482
|
-
// and reports the entire tree as missing — 25 files for `go~go2`, none of
|
|
483
|
-
// them a real finding.
|
|
484
420
|
const aliased = tname !== torigname
|
|
485
421
|
|
|
486
422
|
const renameCmp = aliased ?
|
|
@@ -526,24 +462,12 @@ function checkTarget(
|
|
|
526
462
|
|
|
527
463
|
compareTrees(actx, report, trees, {
|
|
528
464
|
excludes,
|
|
529
|
-
// Only a TARGET has foreign feature source landing in its tree.
|
|
530
465
|
foreign: (kind: string) => 'edited' === kind ?
|
|
531
466
|
foreignFeatureSource(actx, resolved) : [],
|
|
532
467
|
})
|
|
533
468
|
}
|
|
534
469
|
|
|
535
470
|
|
|
536
|
-
// COMPARE A SET OF TREES against the sources they were copied from.
|
|
537
|
-
//
|
|
538
|
-
// Extracted from `checkTarget` unchanged, because the docs kind needs exactly
|
|
539
|
-
// this and a second copy of it is the defect this workstream keeps producing.
|
|
540
|
-
// What differs per kind stays in the caller: which trees, what the copy
|
|
541
|
-
// substituted, whether a trim excludes part of the source, and whether
|
|
542
|
-
// anything foreign is expected to land in the tree.
|
|
543
|
-
//
|
|
544
|
-
// This is the mechanism behind the rule in CLAUDE.md — anything an add
|
|
545
|
-
// writes, doctor must compare, or the next add silently reverts a project's
|
|
546
|
-
// edit. A kind that declares trees and is not walked here would break it.
|
|
547
471
|
function compareTrees(
|
|
548
472
|
actx: ActionContext,
|
|
549
473
|
report: DoctorReport,
|
|
@@ -567,32 +491,12 @@ function compareTrees(
|
|
|
567
491
|
walk(fs, tree.scaffold).filter((rel) => !excluded(rel, excludes)) :
|
|
568
492
|
walk(fs, tree.scaffold)
|
|
569
493
|
|
|
570
|
-
// Where each file the project should have COMES FROM: the name it lands
|
|
571
|
-
// under, mapped to the absolute path of the file it was copied from.
|
|
572
|
-
//
|
|
573
|
-
// An absolute path rather than a tree-relative one, because not every
|
|
574
|
-
// expected file comes from THIS tree — see the foreign-feature union
|
|
575
|
-
// below.
|
|
576
494
|
const landed = new Map<string, string>(scaffoldFiles.map(
|
|
577
495
|
(rel: string) => [
|
|
578
496
|
null == tree.rename ? rel : tree.rename(rel),
|
|
579
497
|
Path.join(tree.scaffold, rel),
|
|
580
498
|
]))
|
|
581
499
|
|
|
582
|
-
// FOREIGN FEATURE SOURCE.
|
|
583
|
-
//
|
|
584
|
-
// A feature supplied by a different package than the target ships its
|
|
585
|
-
// per-target source in ITS OWN `tm/<target>/` overlay, and `feature add`
|
|
586
|
-
// copies that into the project. Compared against the target's scaffold
|
|
587
|
-
// alone, those files are present in the project and absent upstream — so
|
|
588
|
-
// every one of them was reported STALE, a FAILING category. Any project
|
|
589
|
-
// using an external feature had a red `doctor` and nothing wrong with it.
|
|
590
|
-
//
|
|
591
|
-
// They are not stale, they are expected — just expected from somewhere
|
|
592
|
-
// else. Adding them here rather than suppressing them keeps them
|
|
593
|
-
// CHECKED: a hand-edit to a foreign feature's source is still reported,
|
|
594
|
-
// which is what `package update`'s gate needs in order to cover
|
|
595
|
-
// everything the re-add writes.
|
|
596
500
|
const foreign = new Set<string>()
|
|
597
501
|
|
|
598
502
|
for (const [rel, from] of (opts?.foreign?.(tree.kind) ?? [])) {
|
|
@@ -650,17 +554,6 @@ function compareTrees(
|
|
|
650
554
|
}
|
|
651
555
|
|
|
652
556
|
|
|
653
|
-
// A DOCS item's trees.
|
|
654
|
-
//
|
|
655
|
-
// Simpler than a target's in every way that matters here: no trim (a docs
|
|
656
|
-
// item has no per-feature source to leave out), and nothing foreign lands in
|
|
657
|
-
// them (a feature package's overlay targets a TARGET's tree). What is the
|
|
658
|
-
// same is the alias handling — docs components are dispatched by the same
|
|
659
|
-
// `Main_<n>` convention — and the tree paths, which come from the registry
|
|
660
|
-
// rather than being spelled a second time.
|
|
661
|
-
//
|
|
662
|
-
// The optional template tree is skipped when the SOURCE does not ship one:
|
|
663
|
-
// `edition add` did not copy it, so the project is right not to have it.
|
|
664
557
|
function checkEdition(
|
|
665
558
|
actx: ActionContext, resolved: Source, report: DoctorReport,
|
|
666
559
|
) {
|
|
@@ -713,20 +606,6 @@ type TreeCompare = {
|
|
|
713
606
|
}
|
|
714
607
|
|
|
715
608
|
|
|
716
|
-
// Per-target source that a FEATURE package supplies for this target, as
|
|
717
|
-
// `project-relative path -> the file it was copied from`.
|
|
718
|
-
//
|
|
719
|
-
// Only for features whose source folder is not the target's own: everything
|
|
720
|
-
// the target ships for itself is already in the tree being walked, and
|
|
721
|
-
// listing it twice would compare it against itself.
|
|
722
|
-
//
|
|
723
|
-
// Only for ACTIVE features, because that is what `feature add` copies. A
|
|
724
|
-
// feature switched off later leaves its files behind, and those really are
|
|
725
|
-
// stale — reporting them is the point.
|
|
726
|
-
//
|
|
727
|
-
// Discovered with `findFeatureSources`, the same function the fan-out and the
|
|
728
|
-
// trim use, so doctor's idea of which files belong to a feature cannot drift
|
|
729
|
-
// from the one that put them there.
|
|
730
609
|
function foreignFeatureSource(
|
|
731
610
|
actx: ActionContext, target: Source,
|
|
732
611
|
): Map<string, string> {
|
|
@@ -754,18 +633,6 @@ function foreignFeatureSource(
|
|
|
754
633
|
}
|
|
755
634
|
|
|
756
635
|
|
|
757
|
-
// One feature's per-target source, as `tm-relative path -> the file it was
|
|
758
|
-
// copied from`, for source the FEATURE package supplies rather than the
|
|
759
|
-
// target.
|
|
760
|
-
//
|
|
761
|
-
// ONE enumerator, used from both directions: the target walk needs these to
|
|
762
|
-
// know they are expected, and the feature check needs them to compare. Two
|
|
763
|
-
// enumerations would be two ideas of which files a feature owns, and the
|
|
764
|
-
// pair would drift — which is the failure this codebase keeps producing.
|
|
765
|
-
//
|
|
766
|
-
// Empty when the feature's source IS the target's own tree: those files are
|
|
767
|
-
// already in the tree being walked, and listing them would compare them
|
|
768
|
-
// against themselves.
|
|
769
636
|
function overlayFiles(
|
|
770
637
|
actx: ActionContext, feature: Source, target: Source,
|
|
771
638
|
): Map<string, string> {
|
|
@@ -800,18 +667,6 @@ function overlayFiles(
|
|
|
800
667
|
}
|
|
801
668
|
|
|
802
669
|
|
|
803
|
-
// A FEATURE's per-target source, checked from the feature's side.
|
|
804
|
-
//
|
|
805
|
-
// This is where those files are COMPARED. The target walk only marks them
|
|
806
|
-
// expected, so that each is compared exactly once — by the feature that owns
|
|
807
|
-
// it, which is also the only scope in which `feature add` will rewrite it.
|
|
808
|
-
//
|
|
809
|
-
// Doing it the other way round — leaving the comparison in the target walk —
|
|
810
|
-
// left the gate open in the case it was built for: `package update` on a
|
|
811
|
-
// FEATURE package scopes doctor to that feature, no target is walked, and so
|
|
812
|
-
// nothing compared the very overlay the feature package supplies. Verified
|
|
813
|
-
// before fixing: the update succeeded without asking, and the local edit was
|
|
814
|
-
// destroyed.
|
|
815
670
|
function checkFeatureSource(
|
|
816
671
|
actx: ActionContext,
|
|
817
672
|
feature: Source,
|
|
@@ -842,24 +697,6 @@ function checkFeatureSource(
|
|
|
842
697
|
}
|
|
843
698
|
|
|
844
699
|
|
|
845
|
-
// The copied MODEL FILE — `model/<kind>/<name>.aon`, written by add with
|
|
846
|
-
// the `'BASE'` replacement, and overwritten on every resync exactly as
|
|
847
|
-
// `src/cmp` and `tm` are.
|
|
848
|
-
//
|
|
849
|
-
// It is not scaffolding trivia. A target's carries its dependency set, its
|
|
850
|
-
// `phase` gates, `srcfeature`, `feature.trim` / `feature.fullset` and its
|
|
851
|
-
// publish-registry identity; a feature's carries its version, `active`
|
|
852
|
-
// default, `config` defaults and hook wiring. So a maintainer who fixes a dep
|
|
853
|
-
// version there loses the fix on the next resync with nothing said (the SDK
|
|
854
|
-
// regresses with nobody touching it, which is the failure the "a project
|
|
855
|
-
// decision belongs in the MODEL" rule exists to prevent), and a project whose
|
|
856
|
-
// copy predates a scaffold change carries the old declaration forever while
|
|
857
|
-
// doctor reports it in sync.
|
|
858
|
-
//
|
|
859
|
-
// KIND-NEUTRAL, because the file is the same kind of thing for every kind:
|
|
860
|
-
// one definition, copied, stamped with provenance, optionally renamed for an
|
|
861
|
-
// alias. Only the alias rewrite is kind-specific, and the registry already
|
|
862
|
-
// says which kinds can be aliased at all.
|
|
863
700
|
function checkItemModel(
|
|
864
701
|
actx: ActionContext, kind: string, source: Source, report: DoctorReport,
|
|
865
702
|
) {
|
|
@@ -870,28 +707,10 @@ function checkItemModel(
|
|
|
870
707
|
|
|
871
708
|
const scaffold = definitionPath(source.folder, kind, origname)
|
|
872
709
|
|
|
873
|
-
// Nothing to compare against — a source that no longer ships this item.
|
|
874
710
|
if (!fs.existsSync(scaffold)) {
|
|
875
711
|
return
|
|
876
712
|
}
|
|
877
713
|
|
|
878
|
-
// An ALIAS's model file is PROJECT-OWNED: `target add go~go2` creates it and
|
|
879
|
-
// never overwrites it again, because differentiating it is the whole point
|
|
880
|
-
// of an alias (a second Go module needs its own module name and deps), and
|
|
881
|
-
// add-a-target tells the project to edit it. So a difference here is not a
|
|
882
|
-
// fork — `target add` will not revert it — and must not fail the check.
|
|
883
|
-
//
|
|
884
|
-
// It is still worth REPORTING, which it never was before: the origin was
|
|
885
|
-
// unrecoverable, so doctor skipped the file entirely and an alias that had
|
|
886
|
-
// drifted far from a moved-on upstream said nothing. With `origname`
|
|
887
|
-
// recorded the comparison is possible, so it runs, with the same key
|
|
888
|
-
// rewrite the add applied — and anything left over is the project's own
|
|
889
|
-
// differentiation, reported as informational.
|
|
890
|
-
//
|
|
891
|
-
// Only for a kind that CAN be aliased. A feature cannot, so for features
|
|
892
|
-
// this is always false and the ownership argument never applies — the
|
|
893
|
-
// registry says which, rather than this inferring it from the names
|
|
894
|
-
// happening to match.
|
|
895
714
|
const aliased = kindDef(kind).alias && name !== origname
|
|
896
715
|
|
|
897
716
|
const project = definitionPath(actx.folder, kind, name)
|
|
@@ -902,24 +721,9 @@ function checkItemModel(
|
|
|
902
721
|
return
|
|
903
722
|
}
|
|
904
723
|
|
|
905
|
-
// The substitution the add applied on the way in: jostraca's template()
|
|
906
|
-
// against the model (so `module: name: '$$name$$'` arrives as the project
|
|
907
|
-
// slug) plus the provenance block recording where the scaffold was.
|
|
908
|
-
//
|
|
909
|
-
// NOT templateReplacements() — that is the tm/ tree's map. The two writers
|
|
910
|
-
// pass different maps, so doctor has to as well, or every project reads as
|
|
911
|
-
// forked on the `base:` line alone. The map itself is shared with the
|
|
912
|
-
// writer (helpers/stdrep) so the two cannot drift.
|
|
913
|
-
//
|
|
914
|
-
// `package` comes from the SOURCE's manifest, not from what the copy
|
|
915
|
-
// records, for the same reason `base` does: what this compares is what the
|
|
916
|
-
// add would write NOW. A package that renamed itself therefore reads as
|
|
917
|
-
// forked, which is accurate — the next add would rewrite the line.
|
|
918
724
|
const provenance = provenanceReplace(
|
|
919
725
|
{ base, origname, name, package: source.package })
|
|
920
726
|
|
|
921
|
-
// For an alias, compare against what the origin WOULD produce under the new
|
|
922
|
-
// name, so the rename itself is not the difference.
|
|
923
727
|
const rename = kindDef(kind).rename
|
|
924
728
|
|
|
925
729
|
const rewrite = (aliased && null != rename) ?
|
|
@@ -934,19 +738,6 @@ function checkItemModel(
|
|
|
934
738
|
return
|
|
935
739
|
}
|
|
936
740
|
|
|
937
|
-
// A copy written before the toolchain stamped some provenance key differs
|
|
938
|
-
// from the scaffold by exactly the lines carrying that key. That is not a
|
|
939
|
-
// fork — the project changed nothing — and reporting it as one would turn
|
|
940
|
-
// every existing consumer's CI red on upgrade.
|
|
941
|
-
//
|
|
942
|
-
// PER KEY, not all-or-nothing. The keys arrived in stages — `base` and
|
|
943
|
-
// `origname` first, `package` with the manifest — so a project that
|
|
944
|
-
// resynced between two of them holds a copy that IS stamped (it has `base`)
|
|
945
|
-
// and is still missing a later key. An all-or-nothing "is it stamped at
|
|
946
|
-
// all" test called every one of those a fork: on the released 3.4.8
|
|
947
|
-
// scaffold only ts, csharp and swift carried the anchor, and `ts` is in
|
|
948
|
-
// essentially every consumer SDK, so that was close to the whole installed
|
|
949
|
-
// base going red on a file nobody touched.
|
|
950
741
|
if (stampOnly(fs, scaffold, project, actx.model, provenance, rewrite)) {
|
|
951
742
|
report.resyncPending.push(label)
|
|
952
743
|
return
|
|
@@ -956,33 +747,6 @@ function checkItemModel(
|
|
|
956
747
|
}
|
|
957
748
|
|
|
958
749
|
|
|
959
|
-
// Is the ONLY difference a provenance line the copy has not been given yet?
|
|
960
|
-
//
|
|
961
|
-
// MATCHED AGAINST THE EXACT LINES THE STAMP PRODUCES, never against a pattern
|
|
962
|
-
// for "a line that looks like provenance". `base`, `origname` and `package`
|
|
963
|
-
// are not reserved words: `main: kit: target: <t>: module: package` (the Go
|
|
964
|
-
// root package identifier) and `publish: registry: package` (the published
|
|
965
|
-
// package name) are declared model slots that a target model may write in
|
|
966
|
-
// block form, on their own line, looking exactly like a provenance line to
|
|
967
|
-
// any regex. A generic pattern got BOTH directions wrong on such a model —
|
|
968
|
-
// it read the copy's `module: package:` as proof the copy was already
|
|
969
|
-
// stamped, so an untouched pre-manifest file was reported as forked; and it
|
|
970
|
-
// stripped that same real line from the comparison, so DELETING it — an
|
|
971
|
-
// actual fork, silently reverted by the next `target add` — was reported as
|
|
972
|
-
// a pending resync and passed the check.
|
|
973
|
-
//
|
|
974
|
-
// Comparing against `provenanceReplace`'s own output has no such ambiguity,
|
|
975
|
-
// and keeps the reader tied to the writer, which is the whole point of
|
|
976
|
-
// helpers/stdrep.
|
|
977
|
-
//
|
|
978
|
-
// The rule, once the two are known to differ:
|
|
979
|
-
//
|
|
980
|
-
// - every line the EXPECTED has and the copy lacks must be a stamp line;
|
|
981
|
-
// - the copy must have NO line the expected lacks.
|
|
982
|
-
//
|
|
983
|
-
// The second half is what keeps the tolerance narrow, as the previous
|
|
984
|
-
// rollout's review required: a changed `package:` value leaves the old line
|
|
985
|
-
// in the copy and unmatched, so it is a fork and is reported as one.
|
|
986
750
|
function stampOnly(
|
|
987
751
|
fs: any, scaffoldPath: string, projectPath: string, model: any,
|
|
988
752
|
provenance: Record<string, string>,
|
|
@@ -1007,7 +771,6 @@ function stampOnly(
|
|
|
1007
771
|
}
|
|
1008
772
|
|
|
1009
773
|
|
|
1010
|
-
// Lines of `a` that `b` does not have, counting duplicates.
|
|
1011
774
|
function lineDiff(a: string, b: string): string[] {
|
|
1012
775
|
const pool = new Map<string, number>()
|
|
1013
776
|
|
|
@@ -1072,14 +835,6 @@ function excluded(rel: string, excludes: RegExp[]): boolean {
|
|
|
1072
835
|
}
|
|
1073
836
|
|
|
1074
837
|
|
|
1075
|
-
// Compare a scaffold file with a project file, applying the SAME substitution
|
|
1076
|
-
// `target add` applied on the way in. Without this the comparison reports
|
|
1077
|
-
// every substituted placeholder as an edit.
|
|
1078
|
-
// `ignore` drops matching lines from BOTH sides before comparing, for a
|
|
1079
|
-
// difference that is known not to be a fork (see the provenance rollout in
|
|
1080
|
-
// checkTargetModel). It is deliberately a second, narrower question asked
|
|
1081
|
-
// only after a plain comparison has already found a difference — so a file
|
|
1082
|
-
// that matches exactly never depends on it.
|
|
1083
838
|
function differs(
|
|
1084
839
|
fs: any, scaffoldPath: string, projectPath: string, model: any, replace: any,
|
|
1085
840
|
ignore?: (line: string) => boolean,
|
|
@@ -1103,20 +858,6 @@ function differs(
|
|
|
1103
858
|
}
|
|
1104
859
|
|
|
1105
860
|
|
|
1106
|
-
// What `target add` WOULD write, beside what the project actually has.
|
|
1107
|
-
//
|
|
1108
|
-
// One definition, shared by the byte comparison and the stamp-only tolerance,
|
|
1109
|
-
// so the two can never disagree about what the expected text is.
|
|
1110
|
-
//
|
|
1111
|
-
// template() runs even when there is nothing to REPLACE, because jostraca's
|
|
1112
|
-
// Copy always interpolates `$$ref$$` against the model as well — the replace
|
|
1113
|
-
// map is an extra, not the whole substitution. Skipping it for the src/cmp
|
|
1114
|
-
// tree (whose Copy passes no replace map) meant the three Config fragments
|
|
1115
|
-
// that carry `$$const.Name$$` / `$$main.kit.info.servers.0.url$$` arrived
|
|
1116
|
-
// substituted and compared as bytes: every project with ts, js or dart
|
|
1117
|
-
// reported `src/cmp/<t>/fragment/Config.fragment.<ext>` as FORKED straight
|
|
1118
|
-
// out of `target add`, which is precisely the noise this exists to remove.
|
|
1119
|
-
// With no `$$` refs and no replace keys, template() is the identity.
|
|
1120
861
|
function renderPair(
|
|
1121
862
|
fs: any, scaffoldPath: string, projectPath: string, model: any, replace: any,
|
|
1122
863
|
rewrite?: (src: string) => string,
|
|
@@ -1131,7 +872,6 @@ function renderPair(
|
|
|
1131
872
|
}
|
|
1132
873
|
|
|
1133
874
|
|
|
1134
|
-
// trimFeatures logs its decisions; doctor is a report, not a run.
|
|
1135
875
|
function quietLog(log: any): any {
|
|
1136
876
|
const noop = () => { }
|
|
1137
877
|
const quiet: any = { info: noop, debug: noop, warn: log.warn.bind(log), error: noop, trace: noop, fatal: noop }
|