@voxgig/sdkgen 4.21.0 → 4.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/voxgig-sdkgen +1 -1
- package/dist/action/action.js +0 -65
- package/dist/action/action.js.map +1 -1
- package/dist/action/check.js +0 -88
- package/dist/action/check.js.map +1 -1
- package/dist/action/dispatch.js +0 -27
- package/dist/action/dispatch.js.map +1 -1
- package/dist/action/doctor.d.ts +1 -0
- package/dist/action/doctor.js +55 -321
- package/dist/action/doctor.js.map +1 -1
- package/dist/action/edition.js +1 -87
- package/dist/action/edition.js.map +1 -1
- package/dist/action/feature.js +0 -48
- package/dist/action/feature.js.map +1 -1
- package/dist/action/kind.js +0 -132
- package/dist/action/kind.js.map +1 -1
- package/dist/action/package.js +0 -221
- package/dist/action/package.js.map +1 -1
- package/dist/action/resolve.js +0 -145
- package/dist/action/resolve.js.map +1 -1
- package/dist/action/target.js +0 -177
- package/dist/action/target.js.map +1 -1
- package/dist/cmp/AgentGuide.js +0 -7
- package/dist/cmp/AgentGuide.js.map +1 -1
- package/dist/cmp/AgentGuideContent.js +0 -24
- package/dist/cmp/AgentGuideContent.js.map +1 -1
- package/dist/cmp/AgentGuideTop.js +0 -7
- package/dist/cmp/AgentGuideTop.js.map +1 -1
- package/dist/cmp/Changelog.js +0 -14
- package/dist/cmp/Changelog.js.map +1 -1
- package/dist/cmp/Deploy.js +1 -31
- package/dist/cmp/Deploy.js.map +1 -1
- package/dist/cmp/Entity.js +0 -4
- package/dist/cmp/Entity.js.map +1 -1
- package/dist/cmp/ExternalTarget.js +0 -36
- package/dist/cmp/ExternalTarget.js.map +1 -1
- package/dist/cmp/Feature.js +0 -14
- package/dist/cmp/Feature.js.map +1 -1
- package/dist/cmp/FeatureDocs.js +0 -25
- package/dist/cmp/FeatureDocs.js.map +1 -1
- package/dist/cmp/PublishWorkflow.js +0 -60
- package/dist/cmp/PublishWorkflow.js.map +1 -1
- package/dist/cmp/ReadmeErrors.js +0 -2
- package/dist/cmp/ReadmeErrors.js.map +1 -1
- package/dist/cmp/ReadmeExplanation.js +0 -5
- package/dist/cmp/ReadmeExplanation.js.map +1 -1
- package/dist/cmp/ReadmeFeatures.js +0 -10
- package/dist/cmp/ReadmeFeatures.js.map +1 -1
- package/dist/cmp/ReadmeRefFeatures.js +0 -19
- package/dist/cmp/ReadmeRefFeatures.js.map +1 -1
- package/dist/cmp/ReadmeStation.js +0 -19
- package/dist/cmp/ReadmeStation.js.map +1 -1
- package/dist/cmp/ReadmeTop.js +1 -81
- package/dist/cmp/ReadmeTop.js.map +1 -1
- package/dist/cmp/ReadmeUnions.js +1 -16
- package/dist/cmp/ReadmeUnions.js.map +1 -1
- package/dist/cmp/Registered.js +0 -30
- package/dist/cmp/Registered.js.map +1 -1
- package/dist/cmp/Security.js +0 -2
- package/dist/cmp/Security.js.map +1 -1
- package/dist/cmp/Test.js +3 -2
- package/dist/cmp/Test.js.map +1 -1
- package/dist/cmp/TestControl.js +0 -25
- package/dist/cmp/TestControl.js.map +1 -1
- package/dist/helpers/applicability.js +0 -60
- package/dist/helpers/applicability.js.map +1 -1
- package/dist/helpers/buildIdNames.d.ts +3 -1
- package/dist/helpers/buildIdNames.js +15 -19
- package/dist/helpers/buildIdNames.js.map +1 -1
- package/dist/helpers/canonSpec.js +2 -116
- package/dist/helpers/canonSpec.js.map +1 -1
- package/dist/helpers/canonType.js +0 -87
- package/dist/helpers/canonType.js.map +1 -1
- package/dist/helpers/collectDeps.js +0 -27
- package/dist/helpers/collectDeps.js.map +1 -1
- package/dist/helpers/definition.js +0 -29
- package/dist/helpers/definition.js.map +1 -1
- package/dist/helpers/dryrun.js +0 -8
- package/dist/helpers/dryrun.js.map +1 -1
- package/dist/helpers/featureSource.js +0 -145
- package/dist/helpers/featureSource.js.map +1 -1
- package/dist/helpers/getMatchEntries.js +2 -6
- package/dist/helpers/getMatchEntries.js.map +1 -1
- package/dist/helpers/junk.js +9 -85
- package/dist/helpers/junk.js.map +1 -1
- package/dist/helpers/manifest.js +0 -138
- package/dist/helpers/manifest.js.map +1 -1
- package/dist/helpers/modelNames.js +5 -79
- package/dist/helpers/modelNames.js.map +1 -1
- package/dist/helpers/modelcheck.js +0 -106
- package/dist/helpers/modelcheck.js.map +1 -1
- package/dist/helpers/naming.d.ts +0 -1
- package/dist/helpers/naming.js +0 -303
- package/dist/helpers/naming.js.map +1 -1
- package/dist/helpers/opExample.js +0 -51
- package/dist/helpers/opExample.js.map +1 -1
- package/dist/helpers/opShape.js +33 -231
- package/dist/helpers/opShape.js.map +1 -1
- package/dist/helpers/optspec.js +0 -77
- package/dist/helpers/optspec.js.map +1 -1
- package/dist/helpers/packageMeta.js +1 -200
- package/dist/helpers/packageMeta.js.map +1 -1
- package/dist/helpers/pointPath.js +5 -65
- package/dist/helpers/pointPath.js.map +1 -1
- package/dist/helpers/resolved.d.ts +6 -0
- package/dist/helpers/resolved.js +22 -0
- package/dist/helpers/resolved.js.map +1 -0
- package/dist/helpers/semver.js +0 -61
- package/dist/helpers/semver.js.map +1 -1
- package/dist/helpers/serverVars.js +0 -44
- package/dist/helpers/serverVars.js.map +1 -1
- package/dist/helpers/shipped.js +0 -14
- package/dist/helpers/shipped.js.map +1 -1
- package/dist/helpers/station.js +0 -32
- package/dist/helpers/station.js.map +1 -1
- package/dist/helpers/stdrep.js +0 -26
- package/dist/helpers/stdrep.js.map +1 -1
- package/dist/helpers/testPolicy.js +0 -4
- package/dist/helpers/testPolicy.js.map +1 -1
- package/dist/sdkgen.d.ts +3 -2
- package/dist/sdkgen.js +15 -242
- package/dist/sdkgen.js.map +1 -1
- package/dist/testkit.js +6 -266
- package/dist/testkit.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utility.js +15 -250
- package/dist/utility.js.map +1 -1
- package/model/sdkgen.aon +12 -489
- package/package.json +4 -4
- package/project/.sdk/model/feature/audit.aon +0 -7
- package/project/.sdk/model/feature/cache.aon +0 -7
- package/project/.sdk/model/feature/clienttrack.aon +0 -7
- package/project/.sdk/model/feature/cost.aon +0 -13
- package/project/.sdk/model/feature/debug.aon +0 -7
- package/project/.sdk/model/feature/idempotency.aon +0 -7
- package/project/.sdk/model/feature/log.aon +0 -7
- package/project/.sdk/model/feature/metrics.aon +0 -7
- package/project/.sdk/model/feature/netsim.aon +0 -10
- package/project/.sdk/model/feature/paging.aon +0 -7
- package/project/.sdk/model/feature/proxy.aon +0 -7
- package/project/.sdk/model/feature/ratelimit.aon +0 -7
- package/project/.sdk/model/feature/retry.aon +0 -7
- package/project/.sdk/model/feature/secrets.aon +0 -482
- package/project/.sdk/model/feature/streaming.aon +0 -7
- package/project/.sdk/model/feature/telemetry.aon +0 -7
- package/project/.sdk/model/feature/test.aon +1 -8
- package/project/.sdk/model/feature/timeout.aon +0 -7
- package/project/.sdk/model/feature/validate.aon +0 -32
- package/project/.sdk/model/target/c.aon +0 -41
- package/project/.sdk/model/target/clojure.aon +0 -36
- package/project/.sdk/model/target/cpp.aon +0 -42
- package/project/.sdk/model/target/csharp.aon +0 -26
- package/project/.sdk/model/target/elixir.aon +0 -22
- package/project/.sdk/model/target/go-cli.aon +0 -30
- package/project/.sdk/model/target/go-mcp.aon +0 -21
- package/project/.sdk/model/target/go.aon +0 -9
- package/project/.sdk/model/target/java.aon +0 -29
- package/project/.sdk/model/target/js.aon +2 -21
- package/project/.sdk/model/target/kotlin.aon +0 -31
- package/project/.sdk/model/target/lua.aon +0 -32
- package/project/.sdk/model/target/ocaml.aon +0 -64
- package/project/.sdk/model/target/perl.aon +0 -20
- package/project/.sdk/model/target/php.aon +0 -17
- package/project/.sdk/model/target/py-data.aon +0 -33
- package/project/.sdk/model/target/py.aon +0 -17
- package/project/.sdk/model/target/rb.aon +0 -17
- package/project/.sdk/model/target/rust.aon +0 -25
- package/project/.sdk/model/target/scala.aon +0 -74
- package/project/.sdk/model/target/swift.aon +0 -41
- package/project/.sdk/model/target/ts.aon +3 -25
- package/project/.sdk/model/target/zig.aon +0 -50
- package/project/.sdk/src/cmp/c/Config_c.ts +0 -100
- package/project/.sdk/src/cmp/c/EntityTypes_c.ts +4 -40
- package/project/.sdk/src/cmp/c/Main_c.ts +0 -44
- package/project/.sdk/src/cmp/c/Package_c.ts +0 -14
- package/project/.sdk/src/cmp/c/PrepareAuth_c.ts +0 -85
- package/project/.sdk/src/cmp/c/ReadmeEntity_c.ts +3 -3
- package/project/.sdk/src/cmp/c/ReadmeExamplesTest_c.ts +0 -20
- package/project/.sdk/src/cmp/c/ReadmeModel_c.ts +3 -3
- package/project/.sdk/src/cmp/c/ReadmeRef_c.ts +7 -10
- package/project/.sdk/src/cmp/c/ReadmeTopQuick_c.ts +0 -2
- package/project/.sdk/src/cmp/c/Schema_c.ts +1 -20
- package/project/.sdk/src/cmp/c/TestDirect_c.ts +12 -12
- package/project/.sdk/src/cmp/c/utility_c.ts +0 -47
- package/project/.sdk/src/cmp/clojure/Config_clojure.ts +0 -63
- package/project/.sdk/src/cmp/clojure/Entity_clojure.ts +0 -1
- package/project/.sdk/src/cmp/clojure/Main_clojure.ts +0 -41
- package/project/.sdk/src/cmp/clojure/Package_clojure.ts +0 -20
- package/project/.sdk/src/cmp/clojure/PrepareAuth_clojure.ts +0 -130
- package/project/.sdk/src/cmp/clojure/ReadmeEntity_clojure.ts +3 -3
- package/project/.sdk/src/cmp/clojure/ReadmeExamplesTest_clojure.ts +0 -16
- package/project/.sdk/src/cmp/clojure/ReadmeModel_clojure.ts +3 -3
- package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +7 -10
- package/project/.sdk/src/cmp/clojure/Schema_clojure.ts +1 -21
- package/project/.sdk/src/cmp/clojure/TestDirect_clojure.ts +0 -6
- package/project/.sdk/src/cmp/clojure/TestEntity_clojure.ts +0 -10
- package/project/.sdk/src/cmp/clojure/Test_clojure.ts +0 -8
- package/project/.sdk/src/cmp/clojure/featureextra_clojure.ts +0 -34
- package/project/.sdk/src/cmp/clojure/utility_clojure.ts +0 -47
- package/project/.sdk/src/cmp/cpp/Config_cpp.ts +0 -109
- package/project/.sdk/src/cmp/cpp/EntityTypes_cpp.ts +3 -39
- package/project/.sdk/src/cmp/cpp/Main_cpp.ts +0 -47
- package/project/.sdk/src/cmp/cpp/Package_cpp.ts +0 -14
- package/project/.sdk/src/cmp/cpp/PrepareAuth_cpp.ts +0 -125
- package/project/.sdk/src/cmp/cpp/ReadmeEntity_cpp.ts +3 -3
- package/project/.sdk/src/cmp/cpp/ReadmeExamplesTest_cpp.ts +0 -19
- package/project/.sdk/src/cmp/cpp/ReadmeModel_cpp.ts +3 -3
- package/project/.sdk/src/cmp/cpp/ReadmeQuick_cpp.ts +0 -7
- package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +7 -10
- package/project/.sdk/src/cmp/cpp/Schema_cpp.ts +1 -22
- package/project/.sdk/src/cmp/cpp/TestDirect_cpp.ts +14 -14
- package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +51 -53
- package/project/.sdk/src/cmp/cpp/Test_cpp.ts +0 -3
- package/project/.sdk/src/cmp/cpp/utility_cpp.ts +0 -28
- package/project/.sdk/src/cmp/csharp/Config_csharp.ts +0 -79
- package/project/.sdk/src/cmp/csharp/EntityOperation_csharp.ts +0 -3
- package/project/.sdk/src/cmp/csharp/EntityTypes_csharp.ts +4 -54
- package/project/.sdk/src/cmp/csharp/Entity_csharp.ts +0 -1
- package/project/.sdk/src/cmp/csharp/Main_csharp.ts +0 -24
- package/project/.sdk/src/cmp/csharp/Package_csharp.ts +0 -20
- package/project/.sdk/src/cmp/csharp/PrepareAuth_csharp.ts +0 -81
- package/project/.sdk/src/cmp/csharp/ReadmeEntity_csharp.ts +3 -4
- package/project/.sdk/src/cmp/csharp/ReadmeExamplesTest_csharp.ts +0 -23
- package/project/.sdk/src/cmp/csharp/ReadmeModel_csharp.ts +3 -3
- package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +7 -10
- package/project/.sdk/src/cmp/csharp/ReadmeTopQuick_csharp.ts +0 -2
- package/project/.sdk/src/cmp/csharp/Schema_csharp.ts +1 -19
- package/project/.sdk/src/cmp/csharp/TestDirect_csharp.ts +30 -30
- package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +66 -69
- package/project/.sdk/src/cmp/csharp/utility_csharp.ts +0 -72
- package/project/.sdk/src/cmp/elixir/Config_elixir.ts +0 -78
- package/project/.sdk/src/cmp/elixir/EntityTypes_elixir.ts +4 -42
- package/project/.sdk/src/cmp/elixir/Main_elixir.ts +0 -40
- package/project/.sdk/src/cmp/elixir/Package_elixir.ts +0 -13
- package/project/.sdk/src/cmp/elixir/PrepareAuth_elixir.ts +0 -123
- package/project/.sdk/src/cmp/elixir/ReadmeEntity_elixir.ts +3 -3
- package/project/.sdk/src/cmp/elixir/ReadmeExamplesTest_elixir.ts +0 -19
- package/project/.sdk/src/cmp/elixir/ReadmeModel_elixir.ts +3 -3
- package/project/.sdk/src/cmp/elixir/ReadmeRef_elixir.ts +6 -9
- package/project/.sdk/src/cmp/elixir/Schema_elixir.ts +1 -25
- package/project/.sdk/src/cmp/elixir/utility_elixir.ts +0 -34
- package/project/.sdk/src/cmp/go/Config_go.ts +0 -41
- package/project/.sdk/src/cmp/go/EntityTypes_go.ts +4 -75
- package/project/.sdk/src/cmp/go/Entity_go.ts +0 -5
- package/project/.sdk/src/cmp/go/Main_go.ts +0 -28
- package/project/.sdk/src/cmp/go/Package_go.ts +0 -7
- package/project/.sdk/src/cmp/go/PrepareAuth_go.ts +0 -64
- package/project/.sdk/src/cmp/go/ReadmeEntity_go.ts +3 -8
- package/project/.sdk/src/cmp/go/ReadmeExamplesTest_go.ts +0 -30
- package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +0 -3
- package/project/.sdk/src/cmp/go/ReadmeIntro_go.ts +0 -7
- package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +3 -14
- package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +0 -21
- package/project/.sdk/src/cmp/go/ReadmeRef_go.ts +7 -19
- package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +0 -9
- package/project/.sdk/src/cmp/go/Schema_go.ts +1 -22
- package/project/.sdk/src/cmp/go/TestDirect_go.ts +38 -61
- package/project/.sdk/src/cmp/go/TestEntity_go.ts +75 -82
- package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +0 -21
- package/project/.sdk/src/cmp/go/fragment/Main.fragment.go +0 -12
- package/project/.sdk/src/cmp/go/utility_go.ts +5 -75
- package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +0 -49
- package/project/.sdk/src/cmp/go-cli/fragment/words.fragment.go +0 -12
- package/project/.sdk/src/cmp/go-mcp/Main_go-mcp.ts +0 -36
- package/project/.sdk/src/cmp/go-mcp/fragment/main.fragment.go +0 -20
- package/project/.sdk/src/cmp/go-mcp/fragment/tools.fragment.go +0 -3
- package/project/.sdk/src/cmp/java/Config_java.ts +0 -63
- package/project/.sdk/src/cmp/java/EntityTypes_java.ts +4 -54
- package/project/.sdk/src/cmp/java/Entity_java.ts +0 -6
- package/project/.sdk/src/cmp/java/Main_java.ts +0 -24
- package/project/.sdk/src/cmp/java/PrepareAuth_java.ts +0 -55
- package/project/.sdk/src/cmp/java/ReadmeEntity_java.ts +3 -4
- package/project/.sdk/src/cmp/java/ReadmeExamplesTest_java.ts +0 -20
- package/project/.sdk/src/cmp/java/ReadmeModel_java.ts +3 -3
- package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +0 -4
- package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +7 -10
- package/project/.sdk/src/cmp/java/ReadmeTopQuick_java.ts +0 -7
- package/project/.sdk/src/cmp/java/Schema_java.ts +1 -20
- package/project/.sdk/src/cmp/java/TestDirect_java.ts +30 -37
- package/project/.sdk/src/cmp/java/TestEntity_java.ts +69 -72
- package/project/.sdk/src/cmp/java/Test_java.ts +0 -6
- package/project/.sdk/src/cmp/java/utility_java.ts +0 -33
- package/project/.sdk/src/cmp/js/Config_js.ts +0 -46
- package/project/.sdk/src/cmp/js/EntityTypes_js.ts +5 -38
- package/project/.sdk/src/cmp/js/Main_js.ts +0 -33
- package/project/.sdk/src/cmp/js/Package_js.ts +2 -7
- package/project/.sdk/src/cmp/js/PrepareAuth_js.ts +0 -57
- package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +3 -12
- package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +0 -2
- package/project/.sdk/src/cmp/js/ReadmeModel_js.ts +3 -3
- package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +0 -15
- package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +7 -12
- package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +0 -7
- package/project/.sdk/src/cmp/js/Schema_js.ts +1 -22
- package/project/.sdk/src/cmp/js/TestDirect_js.ts +29 -43
- package/project/.sdk/src/cmp/js/TestEntity_js.ts +69 -82
- package/project/.sdk/src/cmp/js/TestLive_js.ts +12 -5
- package/project/.sdk/src/cmp/js/utility_js.ts +5 -63
- package/project/.sdk/src/cmp/kotlin/Config_kotlin.ts +0 -46
- package/project/.sdk/src/cmp/kotlin/EntityOperation_kotlin.ts +0 -2
- package/project/.sdk/src/cmp/kotlin/EntityTypes_kotlin.ts +4 -57
- package/project/.sdk/src/cmp/kotlin/Entity_kotlin.ts +0 -4
- package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +0 -46
- package/project/.sdk/src/cmp/kotlin/PrepareAuth_kotlin.ts +0 -113
- package/project/.sdk/src/cmp/kotlin/ReadmeEntity_kotlin.ts +3 -4
- package/project/.sdk/src/cmp/kotlin/ReadmeExamplesTest_kotlin.ts +0 -20
- package/project/.sdk/src/cmp/kotlin/ReadmeModel_kotlin.ts +3 -3
- package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +7 -10
- package/project/.sdk/src/cmp/kotlin/ReadmeTopQuick_kotlin.ts +0 -5
- package/project/.sdk/src/cmp/kotlin/Schema_kotlin.ts +1 -20
- package/project/.sdk/src/cmp/kotlin/TestDirect_kotlin.ts +30 -30
- package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +67 -70
- package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +0 -6
- package/project/.sdk/src/cmp/kotlin/utility_kotlin.ts +0 -33
- package/project/.sdk/src/cmp/lua/Config_lua.ts +0 -56
- package/project/.sdk/src/cmp/lua/EntityTypes_lua.ts +5 -35
- package/project/.sdk/src/cmp/lua/Entity_lua.ts +0 -7
- package/project/.sdk/src/cmp/lua/Main_lua.ts +0 -58
- package/project/.sdk/src/cmp/lua/Package_lua.ts +0 -20
- package/project/.sdk/src/cmp/lua/PrepareAuth_lua.ts +0 -61
- package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +3 -11
- package/project/.sdk/src/cmp/lua/ReadmeExamplesTest_lua.ts +0 -24
- package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +3 -13
- package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +4 -25
- package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +7 -17
- package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +0 -3
- package/project/.sdk/src/cmp/lua/Schema_lua.ts +1 -17
- package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +25 -27
- package/project/.sdk/src/cmp/lua/TestEntity_lua.ts +66 -65
- package/project/.sdk/src/cmp/lua/utility_lua.ts +0 -30
- package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +0 -98
- package/project/.sdk/src/cmp/ocaml/EntityOperation_ocaml.ts +0 -6
- package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +0 -78
- package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +0 -13
- package/project/.sdk/src/cmp/ocaml/PrepareAuth_ocaml.ts +0 -145
- package/project/.sdk/src/cmp/ocaml/ReadmeEntity_ocaml.ts +3 -3
- package/project/.sdk/src/cmp/ocaml/ReadmeExamplesTest_ocaml.ts +0 -17
- package/project/.sdk/src/cmp/ocaml/ReadmeModel_ocaml.ts +3 -3
- package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +7 -10
- package/project/.sdk/src/cmp/ocaml/Schema_ocaml.ts +1 -24
- package/project/.sdk/src/cmp/ocaml/SdkError_ocaml.ts +0 -4
- package/project/.sdk/src/cmp/ocaml/TestEntity_ocaml.ts +0 -5
- package/project/.sdk/src/cmp/ocaml/utility_ocaml.ts +0 -27
- package/project/.sdk/src/cmp/perl/Config_perl.ts +0 -52
- package/project/.sdk/src/cmp/perl/Entity_perl.ts +0 -3
- package/project/.sdk/src/cmp/perl/Main_perl.ts +0 -33
- package/project/.sdk/src/cmp/perl/Package_perl.ts +0 -8
- package/project/.sdk/src/cmp/perl/PrepareAuth_perl.ts +0 -84
- package/project/.sdk/src/cmp/perl/ReadmeEntity_perl.ts +3 -6
- package/project/.sdk/src/cmp/perl/ReadmeExamplesTest_perl.ts +0 -27
- package/project/.sdk/src/cmp/perl/ReadmeModel_perl.ts +3 -3
- package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +7 -10
- package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +0 -2
- package/project/.sdk/src/cmp/perl/Schema_perl.ts +1 -19
- package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +25 -27
- package/project/.sdk/src/cmp/perl/TestEntity_perl.ts +60 -59
- package/project/.sdk/src/cmp/perl/utility_perl.ts +0 -26
- package/project/.sdk/src/cmp/php/Config_php.ts +0 -76
- package/project/.sdk/src/cmp/php/EntityTypes_php.ts +5 -56
- package/project/.sdk/src/cmp/php/MainEntity_php.ts +0 -6
- package/project/.sdk/src/cmp/php/Main_php.ts +0 -15
- package/project/.sdk/src/cmp/php/PrepareAuth_php.ts +0 -73
- package/project/.sdk/src/cmp/php/ReadmeEntity_php.ts +3 -7
- package/project/.sdk/src/cmp/php/ReadmeExamplesTest_php.ts +0 -33
- package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +0 -1
- package/project/.sdk/src/cmp/php/ReadmeModel_php.ts +3 -3
- package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +4 -23
- package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +7 -12
- package/project/.sdk/src/cmp/php/Schema_php.ts +1 -16
- package/project/.sdk/src/cmp/php/TestDirect_php.ts +25 -25
- package/project/.sdk/src/cmp/php/TestEntity_php.ts +66 -74
- package/project/.sdk/src/cmp/php/utility_php.ts +0 -22
- package/project/.sdk/src/cmp/py/Config_py.ts +0 -53
- package/project/.sdk/src/cmp/py/EntityTypes_py.ts +4 -59
- package/project/.sdk/src/cmp/py/Entity_py.ts +0 -16
- package/project/.sdk/src/cmp/py/Main_py.ts +1 -61
- package/project/.sdk/src/cmp/py/Package_py.ts +0 -3
- package/project/.sdk/src/cmp/py/PrepareAuth_py.ts +0 -69
- package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +3 -16
- package/project/.sdk/src/cmp/py/ReadmeExamplesTest_py.ts +0 -31
- package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +0 -3
- package/project/.sdk/src/cmp/py/ReadmeModel_py.ts +3 -3
- package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +0 -28
- package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +7 -21
- package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +0 -14
- package/project/.sdk/src/cmp/py/Schema_py.ts +1 -20
- package/project/.sdk/src/cmp/py/TestDirect_py.ts +25 -27
- package/project/.sdk/src/cmp/py/TestEntity_py.ts +66 -65
- package/project/.sdk/src/cmp/py/utility_py.ts +0 -22
- package/project/.sdk/src/cmp/py-data/Main_py-data.ts +13 -47
- package/project/.sdk/src/cmp/rb/Config_rb.ts +0 -56
- package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +4 -62
- package/project/.sdk/src/cmp/rb/Entity_rb.ts +0 -3
- package/project/.sdk/src/cmp/rb/Main_rb.ts +0 -10
- package/project/.sdk/src/cmp/rb/Package_rb.ts +0 -5
- package/project/.sdk/src/cmp/rb/PrepareAuth_rb.ts +0 -81
- package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +3 -10
- package/project/.sdk/src/cmp/rb/ReadmeExamplesTest_rb.ts +0 -32
- package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +0 -9
- package/project/.sdk/src/cmp/rb/ReadmeModel_rb.ts +3 -3
- package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +4 -27
- package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +7 -15
- package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +0 -5
- package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +0 -3
- package/project/.sdk/src/cmp/rb/Schema_rb.ts +1 -16
- package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +25 -27
- package/project/.sdk/src/cmp/rb/TestEntity_rb.ts +66 -65
- package/project/.sdk/src/cmp/rb/utility_rb.ts +0 -22
- package/project/.sdk/src/cmp/rust/Config_rust.ts +0 -35
- package/project/.sdk/src/cmp/rust/EntityTypes_rust.ts +4 -38
- package/project/.sdk/src/cmp/rust/Entity_rust.ts +0 -9
- package/project/.sdk/src/cmp/rust/Main_rust.ts +0 -58
- package/project/.sdk/src/cmp/rust/Package_rust.ts +0 -30
- package/project/.sdk/src/cmp/rust/PrepareAuth_rust.ts +0 -84
- package/project/.sdk/src/cmp/rust/ReadmeEntity_rust.ts +3 -3
- package/project/.sdk/src/cmp/rust/ReadmeExamplesTest_rust.ts +0 -16
- package/project/.sdk/src/cmp/rust/ReadmeModel_rust.ts +3 -3
- package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +7 -10
- package/project/.sdk/src/cmp/rust/Schema_rust.ts +1 -19
- package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +18 -25
- package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +63 -71
- package/project/.sdk/src/cmp/rust/fragment/Entity.fragment.rs +0 -14
- package/project/.sdk/src/cmp/rust/fragment/EntityRemoveOp.fragment.rs +0 -4
- package/project/.sdk/src/cmp/rust/fragment/Main.fragment.rs +0 -20
- package/project/.sdk/src/cmp/rust/fragment/SdkError.fragment.rs +0 -6
- package/project/.sdk/src/cmp/rust/utility_rust.ts +0 -47
- package/project/.sdk/src/cmp/scala/Config_scala.ts +0 -31
- package/project/.sdk/src/cmp/scala/EntityTypes_scala.ts +4 -55
- package/project/.sdk/src/cmp/scala/Main_scala.ts +0 -78
- package/project/.sdk/src/cmp/scala/PrepareAuth_scala.ts +0 -102
- package/project/.sdk/src/cmp/scala/ReadmeEntity_scala.ts +3 -4
- package/project/.sdk/src/cmp/scala/ReadmeExamplesTest_scala.ts +0 -23
- package/project/.sdk/src/cmp/scala/ReadmeModel_scala.ts +3 -3
- package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +7 -10
- package/project/.sdk/src/cmp/scala/ReadmeTopQuick_scala.ts +0 -5
- package/project/.sdk/src/cmp/scala/Schema_scala.ts +1 -20
- package/project/.sdk/src/cmp/scala/TestDirect_scala.ts +14 -14
- package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +60 -67
- package/project/.sdk/src/cmp/scala/Test_scala.ts +0 -3
- package/project/.sdk/src/cmp/scala/utility_scala.ts +0 -31
- package/project/.sdk/src/cmp/swift/Config_swift.ts +0 -62
- package/project/.sdk/src/cmp/swift/EntityOperation_swift.ts +0 -3
- package/project/.sdk/src/cmp/swift/EntityTypes_swift.ts +5 -44
- package/project/.sdk/src/cmp/swift/Main_swift.ts +0 -42
- package/project/.sdk/src/cmp/swift/Package_swift.ts +0 -69
- package/project/.sdk/src/cmp/swift/PrepareAuth_swift.ts +0 -134
- package/project/.sdk/src/cmp/swift/ReadmeEntity_swift.ts +3 -5
- package/project/.sdk/src/cmp/swift/ReadmeExamplesTest_swift.ts +0 -22
- package/project/.sdk/src/cmp/swift/ReadmeModel_swift.ts +3 -3
- package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +7 -10
- package/project/.sdk/src/cmp/swift/Schema_swift.ts +1 -19
- package/project/.sdk/src/cmp/swift/TestEntity_swift.ts +0 -4
- package/project/.sdk/src/cmp/swift/utility_swift.ts +0 -51
- package/project/.sdk/src/cmp/ts/Config_ts.ts +0 -46
- package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +5 -39
- package/project/.sdk/src/cmp/ts/Entity_ts.ts +0 -6
- package/project/.sdk/src/cmp/ts/Main_ts.ts +0 -28
- package/project/.sdk/src/cmp/ts/Package_ts.ts +2 -26
- package/project/.sdk/src/cmp/ts/PrepareAuth_ts.ts +0 -55
- package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +3 -12
- package/project/.sdk/src/cmp/ts/ReadmeExampleTest_ts.ts +0 -6
- package/project/.sdk/src/cmp/ts/ReadmeExamplesTest_ts.ts +0 -25
- package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +4 -9
- package/project/.sdk/src/cmp/ts/ReadmeIntro_ts.ts +0 -7
- package/project/.sdk/src/cmp/ts/ReadmeModel_ts.ts +3 -6
- package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +1 -44
- package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +7 -25
- package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +0 -11
- package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +6 -9
- package/project/.sdk/src/cmp/ts/Schema_ts.ts +1 -22
- package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +42 -93
- package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +76 -107
- package/project/.sdk/src/cmp/ts/TestLive_ts.ts +12 -6
- package/project/.sdk/src/cmp/ts/Test_ts.ts +0 -4
- package/project/.sdk/src/cmp/ts/fragment/Config.data.fragment.ts +0 -27
- package/project/.sdk/src/cmp/ts/fragment/Config.fragment.ts +0 -7
- package/project/.sdk/src/cmp/ts/fragment/Direct.test.fragment.ts +0 -7
- package/project/.sdk/src/cmp/ts/fragment/Entity.fragment.ts +0 -1
- package/project/.sdk/src/cmp/ts/fragment/Entity.test.fragment.ts +0 -4
- package/project/.sdk/src/cmp/ts/fragment/EntityBase.fragment.ts +0 -20
- package/project/.sdk/src/cmp/ts/fragment/EntityCreateOp.fragment.ts +0 -6
- package/project/.sdk/src/cmp/ts/fragment/EntityLoadOp.fragment.ts +0 -6
- package/project/.sdk/src/cmp/ts/fragment/EntityRemoveOp.fragment.ts +0 -15
- package/project/.sdk/src/cmp/ts/fragment/EntityUpdateOp.fragment.ts +0 -6
- package/project/.sdk/src/cmp/ts/fragment/Main.fragment.ts +0 -15
- package/project/.sdk/src/cmp/ts/fragment/MainStation.fragment.ts +0 -12
- package/project/.sdk/src/cmp/ts/fragment/SdkError.fragment.ts +0 -9
- package/project/.sdk/src/cmp/ts/utility_ts.ts +5 -64
- package/project/.sdk/src/cmp/zig/Config_zig.ts +0 -70
- package/project/.sdk/src/cmp/zig/Entity_zig.ts +0 -3
- package/project/.sdk/src/cmp/zig/Main_zig.ts +0 -83
- package/project/.sdk/src/cmp/zig/Package_zig.ts +0 -22
- package/project/.sdk/src/cmp/zig/PrepareAuth_zig.ts +0 -136
- package/project/.sdk/src/cmp/zig/ReadmeEntity_zig.ts +3 -3
- package/project/.sdk/src/cmp/zig/ReadmeExamplesTest_zig.ts +0 -18
- package/project/.sdk/src/cmp/zig/ReadmeModel_zig.ts +3 -3
- package/project/.sdk/src/cmp/zig/ReadmeQuick_zig.ts +0 -3
- package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +7 -10
- package/project/.sdk/src/cmp/zig/Schema_zig.ts +1 -24
- package/project/.sdk/src/cmp/zig/TestDirect_zig.ts +0 -11
- package/project/.sdk/src/cmp/zig/TestEntity_zig.ts +0 -8
- package/project/.sdk/src/cmp/zig/Test_zig.ts +0 -11
- package/project/.sdk/src/cmp/zig/utility_zig.ts +0 -47
- package/project/.sdk/tm/c/feature/test.c +20 -4
- package/project/.sdk/tm/clojure/src/sdk/features.clj +6 -4
- package/project/.sdk/tm/cpp/feature/test.hpp +17 -6
- package/project/.sdk/tm/csharp/feature/FeatureOptions.cs +18 -5
- package/project/.sdk/tm/csharp/feature/TestFeature.cs +10 -4
- package/project/.sdk/tm/elixir/lib/projectname/feature/test.ex +11 -5
- package/project/.sdk/tm/go/core/context.go +0 -9
- package/project/.sdk/tm/go/core/types.go +0 -3
- package/project/.sdk/tm/go/feature/audit_feature.go +0 -9
- package/project/.sdk/tm/go/feature/cache_feature.go +0 -8
- package/project/.sdk/tm/go/feature/clienttrack_feature.go +0 -7
- package/project/.sdk/tm/go/feature/cost_feature.go +0 -51
- package/project/.sdk/tm/go/feature/debug_feature.go +0 -6
- package/project/.sdk/tm/go/feature/feature_options.go +108 -21
- package/project/.sdk/tm/go/feature/idempotency_feature.go +0 -6
- package/project/.sdk/tm/go/feature/metrics_feature.go +0 -6
- package/project/.sdk/tm/go/feature/netsim_feature.go +0 -8
- package/project/.sdk/tm/go/feature/paging_feature.go +0 -9
- package/project/.sdk/tm/go/feature/proxy_feature.go +0 -7
- package/project/.sdk/tm/go/feature/ratelimit_feature.go +0 -6
- package/project/.sdk/tm/go/feature/rbac_feature.go +0 -10
- package/project/.sdk/tm/go/feature/retry_feature.go +0 -6
- package/project/.sdk/tm/go/feature/secrets_feature.go +0 -173
- package/project/.sdk/tm/go/feature/streaming_feature.go +0 -7
- package/project/.sdk/tm/go/feature/telemetry_feature.go +0 -8
- package/project/.sdk/tm/go/feature/test_feature.go +0 -23
- package/project/.sdk/tm/go/feature/validate_feature.go +0 -66
- package/project/.sdk/tm/go/test/custom_utility_test.go +0 -29
- package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +0 -100
- package/project/.sdk/tm/go/test/feature_corpus_test.go +1 -60
- package/project/.sdk/tm/go/test/feature_harness_test.go +0 -10
- package/project/.sdk/tm/go/test/feature_test.go +107 -9
- package/project/.sdk/tm/go/test/omniresolver_test.go +0 -74
- package/project/.sdk/tm/go/test/omnismoke_test.go +0 -4
- package/project/.sdk/tm/go/test/pipeline_test.go +0 -10
- package/project/.sdk/tm/go/test/primary_utility_test.go +0 -32
- package/project/.sdk/tm/go/test/struct_utility_test.go +0 -38
- package/project/.sdk/tm/go/test/testsupport_test.go +0 -25
- package/project/.sdk/tm/go/utility/feature_add.go +0 -6
- package/project/.sdk/tm/go/utility/fetcher.go +0 -6
- package/project/.sdk/tm/go/utility/graphql.go +1 -31
- package/project/.sdk/tm/go/utility/make_options.go +38 -49
- package/project/.sdk/tm/go/utility/make_point.go +0 -11
- package/project/.sdk/tm/go/utility/make_spec.go +0 -15
- package/project/.sdk/tm/go/utility/register.go +0 -28
- package/project/.sdk/tm/go/utility/transform_request.go +0 -20
- package/project/.sdk/tm/go/utility/transform_response.go +0 -8
- package/project/.sdk/tm/java/feature/TestFeature.java +11 -6
- package/project/.sdk/tm/js/src/feature/test/TestFeature.js +12 -4
- package/project/.sdk/tm/js/test/live-entity.js +29 -29
- package/project/.sdk/tm/js/test/live-scenarios.js +4 -4
- package/project/.sdk/tm/kotlin/feature/TestFeature.kt +8 -4
- package/project/.sdk/tm/ocaml/sdk_features.ml +6 -4
- package/project/.sdk/tm/perl/feature/test_feature.pm +6 -4
- package/project/.sdk/tm/rb/feature/test_feature.rb +6 -4
- package/project/.sdk/tm/rust/core/context.rs +0 -5
- package/project/.sdk/tm/rust/core/control.rs +0 -1
- package/project/.sdk/tm/rust/core/helpers.rs +0 -15
- package/project/.sdk/tm/rust/core/operation.rs +0 -1
- package/project/.sdk/tm/rust/core/point.rs +0 -3
- package/project/.sdk/tm/rust/core/response.rs +0 -2
- package/project/.sdk/tm/rust/core/result.rs +0 -1
- package/project/.sdk/tm/rust/core/spec.rs +0 -1
- package/project/.sdk/tm/rust/core/types.rs +0 -20
- package/project/.sdk/tm/rust/core/utility_type.rs +0 -5
- package/project/.sdk/tm/rust/feature/audit.rs +0 -9
- package/project/.sdk/tm/rust/feature/base.rs +0 -3
- package/project/.sdk/tm/rust/feature/cache.rs +0 -9
- package/project/.sdk/tm/rust/feature/clienttrack.rs +0 -7
- package/project/.sdk/tm/rust/feature/cost.rs +0 -48
- package/project/.sdk/tm/rust/feature/debug.rs +0 -7
- package/project/.sdk/tm/rust/feature/idempotency.rs +0 -7
- package/project/.sdk/tm/rust/feature/log.rs +0 -3
- package/project/.sdk/tm/rust/feature/metrics.rs +0 -7
- package/project/.sdk/tm/rust/feature/netsim.rs +0 -9
- package/project/.sdk/tm/rust/feature/paging.rs +0 -10
- package/project/.sdk/tm/rust/feature/proxy.rs +0 -8
- package/project/.sdk/tm/rust/feature/ratelimit.rs +0 -6
- package/project/.sdk/tm/rust/feature/rbac.rs +0 -10
- package/project/.sdk/tm/rust/feature/retry.rs +0 -6
- package/project/.sdk/tm/rust/feature/secrets.rs +1 -187
- package/project/.sdk/tm/rust/feature/streaming.rs +0 -7
- package/project/.sdk/tm/rust/feature/support.rs +0 -6
- package/project/.sdk/tm/rust/feature/telemetry.rs +0 -9
- package/project/.sdk/tm/rust/feature/test.rs +8 -23
- package/project/.sdk/tm/rust/feature/timeout.rs +0 -7
- package/project/.sdk/tm/rust/feature/validate.rs +0 -81
- package/project/.sdk/tm/rust/tests/common/mod.rs +0 -35
- package/project/.sdk/tm/rust/tests/custom_utility_test.rs +0 -2
- package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +0 -95
- package/project/.sdk/tm/rust/tests/feature_test.rs +0 -16
- package/project/.sdk/tm/rust/tests/netsim_test.rs +0 -6
- package/project/.sdk/tm/rust/tests/omni_resolver/mod.rs +0 -135
- package/project/.sdk/tm/rust/tests/omni_smoke_test.rs +0 -15
- package/project/.sdk/tm/rust/tests/pipeline_test.rs +0 -6
- package/project/.sdk/tm/rust/tests/primary_utility_test.rs +0 -22
- package/project/.sdk/tm/rust/tests/struct_utility_test.rs +0 -25
- package/project/.sdk/tm/rust/utility/fetcher.rs +0 -5
- package/project/.sdk/tm/rust/utility/graphql.rs +1 -30
- package/project/.sdk/tm/rust/utility/make_error.rs +0 -2
- package/project/.sdk/tm/rust/utility/make_options.rs +0 -46
- package/project/.sdk/tm/rust/utility/make_point.rs +0 -12
- package/project/.sdk/tm/rust/utility/make_spec.rs +0 -4
- package/project/.sdk/tm/rust/utility/voxgigstruct/consts.rs +14 -20
- package/project/.sdk/tm/rust/utility/voxgigstruct/major.rs +0 -13
- package/project/.sdk/tm/rust/utility/voxgigstruct/mini.rs +0 -14
- package/project/.sdk/tm/rust/utility/voxgigstruct/mod.rs +0 -2
- package/project/.sdk/tm/rust/utility/voxgigstruct/ordered_map.rs +0 -18
- package/project/.sdk/tm/rust/utility/voxgigstruct/re.rs +0 -11
- package/project/.sdk/tm/rust/utility/voxgigstruct/value.rs +0 -3
- package/project/.sdk/tm/scala/feature/TestFeature.scala +10 -6
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/TestFeature.swift +10 -6
- package/project/.sdk/tm/ts/src/Context.ts +0 -5
- package/project/.sdk/tm/ts/src/feature/audit/AuditFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/cache/CacheFeature.ts +0 -8
- package/project/.sdk/tm/ts/src/feature/clienttrack/ClienttrackFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/cost/CostFeature.ts +0 -52
- package/project/.sdk/tm/ts/src/feature/debug/DebugFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/metrics/MetricsFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/netsim/NetsimFeature.ts +0 -8
- package/project/.sdk/tm/ts/src/feature/paging/PagingFeature.ts +0 -13
- package/project/.sdk/tm/ts/src/feature/proxy/ProxyFeature.ts +0 -8
- package/project/.sdk/tm/ts/src/feature/ratelimit/RatelimitFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/rbac/RbacFeature.ts +0 -9
- package/project/.sdk/tm/ts/src/feature/retry/RetryFeature.ts +0 -6
- package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +0 -136
- package/project/.sdk/tm/ts/src/feature/streaming/StreamingFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/telemetry/TelemetryFeature.ts +0 -7
- package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +13 -88
- package/project/.sdk/tm/ts/src/feature/validate/ValidateFeature.ts +0 -87
- package/project/.sdk/tm/ts/src/utility/CleanUtility.ts +0 -12
- package/project/.sdk/tm/ts/src/utility/FeatureAddUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/GraphqlUtility.ts +2 -30
- package/project/.sdk/tm/ts/src/utility/MakeErrorUtility.ts +0 -4
- package/project/.sdk/tm/ts/src/utility/MakeOptionsUtility.ts +0 -46
- package/project/.sdk/tm/ts/src/utility/MakePointUtility.ts +0 -34
- package/project/.sdk/tm/ts/src/utility/MakeRequestUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/MakeSpecUtility.ts +0 -5
- package/project/.sdk/tm/ts/src/utility/MakeUrlUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/ParamUtility.ts +0 -8
- package/project/.sdk/tm/ts/src/utility/PrepareBodyUtility.ts +0 -3
- package/project/.sdk/tm/ts/src/utility/PrepareParamsUtility.ts +0 -6
- package/project/.sdk/tm/ts/src/utility/ResultBasicUtility.ts +0 -1
- package/project/.sdk/tm/ts/src/utility/TransformRequestUtility.ts +0 -20
- package/project/.sdk/tm/ts/src/utility/TransformResponseUtility.ts +0 -4
- package/project/.sdk/tm/ts/test/exists.test.ts +0 -10
- package/project/.sdk/tm/ts/test/feature/Corpus.test.ts +0 -56
- package/project/.sdk/tm/ts/test/feature/harness.ts +0 -9
- package/project/.sdk/tm/ts/test/feature/secrets/Secrets.test.ts +0 -106
- package/project/.sdk/tm/ts/test/live-contract.ts +0 -2
- package/project/.sdk/tm/ts/test/live-entity.ts +26 -26
- package/project/.sdk/tm/ts/test/live-scenarios.ts +3 -3
- package/project/.sdk/tm/ts/test/omni.ts +0 -32
- package/project/.sdk/tm/ts/test/pipeline.test.ts +45 -28
- package/project/.sdk/tm/ts/test/utility/Corpus.test.ts +0 -13
- package/project/.sdk/tm/ts/test/utility/PrimaryUtility.test.ts +56 -29
- package/project/.sdk/tm/ts/test/utility/StructUtility.test.ts +0 -7
- package/project/.sdk/tm/ts/test/utility.ts +0 -55
- package/project/.sdk/tm/zig/feature/test.zig +11 -4
- package/project/sdkgen-package.json +1 -1
- package/src/action/action.ts +0 -65
- package/src/action/check.ts +0 -88
- package/src/action/dispatch.ts +0 -27
- package/src/action/doctor.ts +69 -329
- package/src/action/edition.ts +1 -87
- package/src/action/feature.ts +1 -49
- package/src/action/kind.ts +0 -149
- package/src/action/package.ts +0 -228
- package/src/action/resolve.ts +0 -148
- package/src/action/target.ts +0 -177
- package/src/cmp/AgentGuide.ts +0 -7
- package/src/cmp/AgentGuideContent.ts +0 -24
- package/src/cmp/AgentGuideTop.ts +0 -7
- package/src/cmp/Changelog.ts +0 -14
- package/src/cmp/Deploy.ts +1 -31
- package/src/cmp/Entity.ts +0 -4
- package/src/cmp/ExternalTarget.ts +0 -36
- package/src/cmp/Feature.ts +0 -14
- package/src/cmp/FeatureDocs.ts +0 -37
- package/src/cmp/PublishWorkflow.ts +0 -60
- package/src/cmp/ReadmeErrors.ts +0 -17
- package/src/cmp/ReadmeExplanation.ts +2 -11
- package/src/cmp/ReadmeFeatures.ts +0 -10
- package/src/cmp/ReadmeRefFeatures.ts +0 -19
- package/src/cmp/ReadmeStation.ts +0 -19
- package/src/cmp/ReadmeTop.ts +1 -81
- package/src/cmp/ReadmeUnions.ts +1 -16
- package/src/cmp/Registered.ts +0 -30
- package/src/cmp/Security.ts +0 -2
- package/src/cmp/Test.ts +4 -2
- package/src/cmp/TestControl.ts +0 -25
- package/src/helpers/applicability.ts +0 -60
- package/src/helpers/buildIdNames.ts +17 -19
- package/src/helpers/canonSpec.ts +2 -116
- package/src/helpers/canonType.ts +0 -87
- package/src/helpers/collectDeps.ts +0 -27
- package/src/helpers/definition.ts +0 -29
- package/src/helpers/dryrun.ts +0 -8
- package/src/helpers/featureSource.ts +0 -152
- package/src/helpers/getMatchEntries.ts +2 -6
- package/src/helpers/junk.ts +13 -89
- package/src/helpers/manifest.ts +0 -169
- package/src/helpers/modelNames.ts +6 -82
- package/src/helpers/modelcheck.ts +0 -106
- package/src/helpers/naming.ts +0 -303
- package/src/helpers/opExample.ts +0 -56
- package/src/helpers/opShape.ts +33 -233
- package/src/helpers/optspec.ts +0 -77
- package/src/helpers/packageMeta.ts +1 -200
- package/src/helpers/pointPath.ts +5 -65
- package/src/helpers/resolved.ts +39 -0
- package/src/helpers/semver.ts +0 -61
- package/src/helpers/serverVars.ts +0 -44
- package/src/helpers/shipped.ts +0 -14
- package/src/helpers/station.ts +0 -32
- package/src/helpers/stdrep.ts +0 -52
- package/src/helpers/testPolicy.ts +0 -4
- package/src/sdkgen.ts +18 -264
- package/src/testkit.ts +6 -312
- package/src/types.ts +1 -30
- package/src/utility.ts +16 -250
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { flowSteps } from '@voxgig/sdkgen'
|
|
1
2
|
|
|
2
3
|
import {
|
|
3
4
|
KIT,
|
|
@@ -85,17 +86,17 @@ const TestEntity = cmp(function TestEntity(props: any) {
|
|
|
85
86
|
const idnamesStr = idnames.map(n => `"${n}"`).join(', ')
|
|
86
87
|
|
|
87
88
|
// Get all update data entries for alias generation
|
|
88
|
-
const allSteps = Object.values(basicflow
|
|
89
|
-
const updateStep = allSteps.find((s: any) => s.
|
|
90
|
-
const updateData = updateStep?.
|
|
91
|
-
? Object.entries(updateStep.
|
|
89
|
+
const allSteps = Object.values(flowSteps(basicflow)) as any[]
|
|
90
|
+
const updateStep = allSteps.find((s: any) => s.o === 'update')
|
|
91
|
+
const updateData = updateStep?.d
|
|
92
|
+
? Object.entries(updateStep.d).filter(([k]: any) => k !== 'id' && !k.endsWith('$'))
|
|
92
93
|
: []
|
|
93
94
|
const aliases = updateData.map(([k, v]: any) => [k, v])
|
|
94
95
|
|
|
95
96
|
const genCtx: GenCtx = { model, entity, flow: basicflow, PROJUPPER }
|
|
96
97
|
|
|
97
98
|
const opNames = Array.from(new Set(
|
|
98
|
-
(allSteps as any[]).map((s: any) => s.
|
|
99
|
+
(allSteps as any[]).map((s: any) => s.o).filter(Boolean)))
|
|
99
100
|
const opsList = opNames.map(o => `"${o}"`).join(', ')
|
|
100
101
|
|
|
101
102
|
// An entity whose basic flow has no ops must not emit the per-op skip
|
|
@@ -152,7 +153,7 @@ ${skipBlock} // The basic flow consumes synthetic IDs from the fixture. I
|
|
|
152
153
|
${allSteps.length > 0 ? ' var client = setup.Client;\n\n' : ''}`)
|
|
153
154
|
|
|
154
155
|
// Check if the flow has a create step; if not, bootstrap entity data
|
|
155
|
-
const flowHasCreate = allSteps.some((s: any) => s.
|
|
156
|
+
const flowHasCreate = allSteps.some((s: any) => s.o === 'create')
|
|
156
157
|
if (!flowHasCreate) {
|
|
157
158
|
const preambleRef = entity.name + '_ref01'
|
|
158
159
|
const preambleVar = csVar(preambleRef)
|
|
@@ -167,8 +168,8 @@ ${allSteps.length > 0 ? ' var client = setup.Client;\n\n' : ''}`)
|
|
|
167
168
|
}
|
|
168
169
|
|
|
169
170
|
// Model-driven step iteration
|
|
170
|
-
each(basicflow
|
|
171
|
-
const opgen: OpGen = GENERATE_OP[step.
|
|
171
|
+
each(flowSteps(basicflow), (step: any, index: any) => {
|
|
172
|
+
const opgen: OpGen = GENERATE_OP[step.o]
|
|
172
173
|
if (opgen) {
|
|
173
174
|
opgen(genCtx, step, index)
|
|
174
175
|
Content('\n')
|
|
@@ -179,11 +180,7 @@ ${allSteps.length > 0 ? ' var client = setup.Client;\n\n' : ''}`)
|
|
|
179
180
|
|
|
180
181
|
`)
|
|
181
182
|
|
|
182
|
-
|
|
183
|
-
// returns an async iterator. With the streaming feature active it yields
|
|
184
|
-
// from the feature's incremental iterator; otherwise it falls back to the
|
|
185
|
-
// materialised items. Only emitted for entities whose flow lists.
|
|
186
|
-
const flowHasList = allSteps.some((s: any) => s.op === 'list')
|
|
183
|
+
const flowHasList = allSteps.some((s: any) => s.o === 'list')
|
|
187
184
|
if (flowHasList) {
|
|
188
185
|
Content(` [Fact]
|
|
189
186
|
public async Task Stream()
|
|
@@ -343,18 +340,18 @@ ${allSteps.length > 0 ? ' var client = setup.Client;\n\n' : ''}`)
|
|
|
343
340
|
|
|
344
341
|
const generateCreate: OpGen = (ctx, step, index) => {
|
|
345
342
|
const { entity, flow } = ctx
|
|
346
|
-
const ref = step.
|
|
347
|
-
const entvar = csVar(step.
|
|
348
|
-
const datavar = csVar(step.
|
|
343
|
+
const ref = step.i.ref ?? entity.name + '_ref01'
|
|
344
|
+
const entvar = csVar(step.i.entvar ?? ref + '_ent')
|
|
345
|
+
const datavar = csVar(step.i.datavar ?? (ref + '_data' + (step.i.suffix ?? '')))
|
|
349
346
|
|
|
350
|
-
const priorSteps = Object.values(flow
|
|
347
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
351
348
|
const needsEnt = !priorSteps.some((s: any) =>
|
|
352
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
349
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
353
350
|
|
|
354
351
|
const hasDatvar = priorSteps.some((s: any) => {
|
|
355
|
-
if ('create' === s.
|
|
356
|
-
const priorRef = s.
|
|
357
|
-
const priorDatvar = csVar(s.
|
|
352
|
+
if ('create' === s.o) {
|
|
353
|
+
const priorRef = s.i.ref ?? entity.name + '_ref01'
|
|
354
|
+
const priorDatvar = csVar(s.i.datavar ?? (priorRef + '_data' + (s.i.suffix ?? '')))
|
|
358
355
|
return priorDatvar === datavar
|
|
359
356
|
}
|
|
360
357
|
return false
|
|
@@ -394,14 +391,14 @@ const generateCreate: OpGen = (ctx, step, index) => {
|
|
|
394
391
|
|
|
395
392
|
const generateList: OpGen = (ctx, step, index) => {
|
|
396
393
|
const { entity, flow } = ctx
|
|
397
|
-
const ref = step.
|
|
398
|
-
const entvar = csVar(step.
|
|
399
|
-
const matchvar = csVar(step.
|
|
400
|
-
const listvar = csVar(step.
|
|
394
|
+
const ref = step.i.ref ?? entity.name + '_ref01'
|
|
395
|
+
const entvar = csVar(step.i.entvar ?? ref + '_ent')
|
|
396
|
+
const matchvar = csVar(step.i.matchvar ?? (ref + '_match' + (step.i.suffix ?? '')))
|
|
397
|
+
const listvar = csVar(step.i.listvar ?? (ref + '_list' + (step.i.suffix ?? '')))
|
|
401
398
|
|
|
402
|
-
const priorSteps = Object.values(flow
|
|
399
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
403
400
|
const needsEnt = !priorSteps.some((s: any) =>
|
|
404
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
401
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
405
402
|
|
|
406
403
|
Content(` // LIST
|
|
407
404
|
`)
|
|
@@ -434,13 +431,13 @@ const generateList: OpGen = (ctx, step, index) => {
|
|
|
434
431
|
$"expected list result to be a list, got {${listvar}Result?.GetType()}");
|
|
435
432
|
`)
|
|
436
433
|
|
|
437
|
-
// Handle validators from step.
|
|
438
|
-
const allSteps = Object.values(flow
|
|
439
|
-
if (step.
|
|
440
|
-
for (const validator of step.
|
|
434
|
+
// Handle validators from step.v
|
|
435
|
+
const allSteps = Object.values(flowSteps(flow)) as any[]
|
|
436
|
+
if (step.v) {
|
|
437
|
+
for (const validator of step.v) {
|
|
441
438
|
const validRef = validator.def?.ref
|
|
442
|
-
const hasRefData = validRef && allSteps.some((s: any) => 'create' === s.
|
|
443
|
-
((s.
|
|
439
|
+
const hasRefData = validRef && allSteps.some((s: any) => 'create' === s.o &&
|
|
440
|
+
((s.i.ref ?? entity.name + '_ref01') === validRef))
|
|
444
441
|
|
|
445
442
|
if ('ItemExists' === validator.apply && hasRefData) {
|
|
446
443
|
const refDataVar = csVar(validRef + '_data')
|
|
@@ -468,16 +465,16 @@ const generateList: OpGen = (ctx, step, index) => {
|
|
|
468
465
|
|
|
469
466
|
const generateUpdate: OpGen = (ctx, step, index) => {
|
|
470
467
|
const { entity, flow } = ctx
|
|
471
|
-
const ref = step.
|
|
472
|
-
const entvar = csVar(step.
|
|
473
|
-
const datavar = csVar(step.
|
|
474
|
-
const resdatavar = csVar(step.
|
|
475
|
-
const markdefvar = csVar(step.
|
|
476
|
-
const srcdatavar = csVar(step.
|
|
477
|
-
|
|
478
|
-
const priorSteps = Object.values(flow
|
|
468
|
+
const ref = step.i.ref ?? entity.name + '_ref01'
|
|
469
|
+
const entvar = csVar(step.i.entvar ?? ref + '_ent')
|
|
470
|
+
const datavar = csVar(step.i.datavar ?? (ref + '_data' + (step.i.suffix ?? '')))
|
|
471
|
+
const resdatavar = csVar(step.i.resdatavar ?? (ref + '_resdata' + (step.i.suffix ?? '')))
|
|
472
|
+
const markdefvar = csVar(step.i.markdefvar ?? (ref + '_markdef' + (step.i.suffix ?? '')))
|
|
473
|
+
const srcdatavar = csVar(step.i.srcdatavar ?? (ref + '_data' + (step.i.suffix ?? '')))
|
|
474
|
+
|
|
475
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
479
476
|
const needsEnt = !priorSteps.some((s: any) =>
|
|
480
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
477
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
481
478
|
|
|
482
479
|
const hasEntIdU = null != entity.id
|
|
483
480
|
|
|
@@ -495,9 +492,9 @@ const generateUpdate: OpGen = (ctx, step, index) => {
|
|
|
495
492
|
`)
|
|
496
493
|
}
|
|
497
494
|
|
|
498
|
-
// Add data entries from step.
|
|
499
|
-
if (step.
|
|
500
|
-
const dataEntries = Object.entries(step.
|
|
495
|
+
// Add data entries from step.d
|
|
496
|
+
if (step.d) {
|
|
497
|
+
const dataEntries = Object.entries(step.d).filter(([k]: any) => k !== 'id' && !k.endsWith('$'))
|
|
501
498
|
for (const [key] of dataEntries) {
|
|
502
499
|
Content(` ["${key}"] = setup.Idmap["${key}"],
|
|
503
500
|
`)
|
|
@@ -508,10 +505,10 @@ const generateUpdate: OpGen = (ctx, step, index) => {
|
|
|
508
505
|
`)
|
|
509
506
|
|
|
510
507
|
// Handle TextFieldMark spec
|
|
511
|
-
if (step.
|
|
512
|
-
for (const spec of step.
|
|
513
|
-
if ('TextFieldMark' === spec.apply && null != step.
|
|
514
|
-
const fieldname = step.
|
|
508
|
+
if (step.s) {
|
|
509
|
+
for (const spec of step.s) {
|
|
510
|
+
if ('TextFieldMark' === spec.apply && null != step.i.textfield) {
|
|
511
|
+
const fieldname = step.i.textfield
|
|
515
512
|
const fieldvalue = spec.def?.mark ?? `Mark01-${ref}`
|
|
516
513
|
Content(`
|
|
517
514
|
var ${markdefvar}Name = "${fieldname}";
|
|
@@ -534,9 +531,9 @@ const generateUpdate: OpGen = (ctx, step, index) => {
|
|
|
534
531
|
}
|
|
535
532
|
|
|
536
533
|
// Assert TextFieldMark
|
|
537
|
-
if (step.
|
|
538
|
-
for (const spec of step.
|
|
539
|
-
if ('TextFieldMark' === spec.apply && null != step.
|
|
534
|
+
if (step.s) {
|
|
535
|
+
for (const spec of step.s) {
|
|
536
|
+
if ('TextFieldMark' === spec.apply && null != step.i.textfield) {
|
|
540
537
|
Content(` Assert.True(Equals(${resdatavar}![${markdefvar}Name], ${markdefvar}Value),
|
|
541
538
|
$"expected {${markdefvar}Name} to be updated, got {${resdatavar}[${markdefvar}Name]}");
|
|
542
539
|
`)
|
|
@@ -548,24 +545,24 @@ const generateUpdate: OpGen = (ctx, step, index) => {
|
|
|
548
545
|
|
|
549
546
|
const generateLoad: OpGen = (ctx, step, index) => {
|
|
550
547
|
const { entity, flow } = ctx
|
|
551
|
-
const ref = step.
|
|
552
|
-
const entvar = csVar(step.
|
|
553
|
-
const matchvar = csVar(step.
|
|
554
|
-
const datavar = csVar(step.
|
|
555
|
-
const srcdatavar = csVar(step.
|
|
548
|
+
const ref = step.i.ref ?? entity.name + '_ref01'
|
|
549
|
+
const entvar = csVar(step.i.entvar ?? ref + '_ent')
|
|
550
|
+
const matchvar = csVar(step.i.matchvar ?? (ref + '_match' + (step.i.suffix ?? '')))
|
|
551
|
+
const datavar = csVar(step.i.datavar ?? (ref + '_data' + (step.i.suffix ?? '')))
|
|
552
|
+
const srcdatavar = csVar(step.i.srcdatavar ?? (ref + '_data' + (step.i.suffix ?? '')))
|
|
556
553
|
|
|
557
|
-
const priorSteps = Object.values(flow
|
|
554
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
558
555
|
const hasEntVar = priorSteps.some((s: any) =>
|
|
559
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
556
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
560
557
|
|
|
561
558
|
// Check if srcdatavar was declared by a prior create step or preamble
|
|
562
|
-
const flowHasCreate = Object.values(flow
|
|
559
|
+
const flowHasCreate = Object.values(flowSteps(flow)).some((s: any) => (s as any).o === 'create')
|
|
563
560
|
const preambleRef = entity.name + '_ref01'
|
|
564
561
|
const hasSrcData = (!flowHasCreate && srcdatavar === csVar(preambleRef + '_data')) ||
|
|
565
562
|
priorSteps.some((s: any) => {
|
|
566
|
-
if ('create' === s.
|
|
567
|
-
const priorRef = s.
|
|
568
|
-
const priorDatvar = csVar(s.
|
|
563
|
+
if ('create' === s.o) {
|
|
564
|
+
const priorRef = s.i.ref ?? entity.name + '_ref01'
|
|
565
|
+
const priorDatvar = csVar(s.i.datavar ?? (priorRef + '_data' + (s.i.suffix ?? '')))
|
|
569
566
|
return priorDatvar === srcdatavar
|
|
570
567
|
}
|
|
571
568
|
return false
|
|
@@ -610,14 +607,14 @@ const generateLoad: OpGen = (ctx, step, index) => {
|
|
|
610
607
|
|
|
611
608
|
const generateRemove: OpGen = (ctx, step, index) => {
|
|
612
609
|
const { entity, flow } = ctx
|
|
613
|
-
const ref = step.
|
|
614
|
-
const entvar = csVar(step.
|
|
615
|
-
const matchvar = csVar(step.
|
|
616
|
-
const srcdatavar = csVar(step.
|
|
610
|
+
const ref = step.i.ref ?? entity.name + '_ref01'
|
|
611
|
+
const entvar = csVar(step.i.entvar ?? ref + '_ent')
|
|
612
|
+
const matchvar = csVar(step.i.matchvar ?? (ref + '_match' + (step.i.suffix ?? '')))
|
|
613
|
+
const srcdatavar = csVar(step.i.srcdatavar ?? (ref + '_data'))
|
|
617
614
|
|
|
618
|
-
const priorSteps = Object.values(flow
|
|
615
|
+
const priorSteps = Object.values(flowSteps(flow)).slice(0, Number(index)) as any[]
|
|
619
616
|
const needsEnt = !priorSteps.some((s: any) =>
|
|
620
|
-
['create', 'list', 'load', 'update', 'remove'].includes(s.
|
|
617
|
+
['create', 'list', 'load', 'update', 'remove'].includes(s.o))
|
|
621
618
|
|
|
622
619
|
Content(` // REMOVE
|
|
623
620
|
`)
|
|
@@ -19,10 +19,6 @@ function projectPath(suffix?: string): string {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
// A camelCase C# local-variable identifier for a snake_case model name
|
|
23
|
-
// (`status_embed_config` -> `statusEmbedConfig`). C# contextual keywords
|
|
24
|
-
// that are illegal as locals get the shared reserved-word guard (js set is
|
|
25
|
-
// the closest match for C#'s expression keywords like `new`/`this`).
|
|
26
22
|
function csVarName(name: string): string {
|
|
27
23
|
const pascal = camelify(name)
|
|
28
24
|
const lower = pascal.charAt(0).toLowerCase() + pascal.slice(1)
|
|
@@ -30,13 +26,11 @@ function csVarName(name: string): string {
|
|
|
30
26
|
}
|
|
31
27
|
|
|
32
28
|
|
|
33
|
-
// A PascalCase C# identifier for a snake_case model name.
|
|
34
29
|
function csPascalName(name: string): string {
|
|
35
30
|
return camelify(name)
|
|
36
31
|
}
|
|
37
32
|
|
|
38
33
|
|
|
39
|
-
// C# keywords - illegal as a plain local-variable binding.
|
|
40
34
|
const CS_RESERVED = new Set<string>([
|
|
41
35
|
'abstract', 'as', 'base', 'bool', 'break', 'byte', 'case', 'catch',
|
|
42
36
|
'char', 'checked', 'class', 'const', 'continue', 'decimal', 'default',
|
|
@@ -86,20 +80,6 @@ function formatCsMap(obj: any, indent: number = 0): string {
|
|
|
86
80
|
}
|
|
87
81
|
|
|
88
82
|
|
|
89
|
-
// C# NEW-LINE CHARACTERS, which a regular quoted string literal may not
|
|
90
|
-
// contain: U+000D, U+000A, U+0085 (NEL), U+2028 (LINE SEPARATOR) and U+2029
|
|
91
|
-
// (PARAGRAPH SEPARATOR) - C# language spec, "Line terminators".
|
|
92
|
-
//
|
|
93
|
-
// The first two everyone escapes. The other three are the trap: they are
|
|
94
|
-
// ordinary characters in JSON, in every other target language, and to the eye,
|
|
95
|
-
// so a model string carrying one (an OpenAPI description, default or example
|
|
96
|
-
// pasted from a word processor) emits a C# source file that fails to compile
|
|
97
|
-
// with `error CS1010: Newline in constant`. Verified against .NET 8.
|
|
98
|
-
//
|
|
99
|
-
// Written as ESCAPES, not as the characters themselves: U+2028 and U+2029
|
|
100
|
-
// are line terminators in JavaScript too, so a regex literal containing them
|
|
101
|
-
// verbatim does not parse ("Invalid regular expression: missing /") and this
|
|
102
|
-
// module fails to load. The same trap, one language up.
|
|
103
83
|
const CS_NEWLINE = /[\u0085\u2028\u2029]/g
|
|
104
84
|
|
|
105
85
|
function csEscapeNewlines(s: string): string {
|
|
@@ -128,36 +108,6 @@ function csStringLiteral(s: string): string {
|
|
|
128
108
|
}
|
|
129
109
|
|
|
130
110
|
|
|
131
|
-
// A number as a C# literal whose BOXED TYPE is predictable.
|
|
132
|
-
//
|
|
133
|
-
// C# gives an unsuffixed integer literal the first type of int/uint/long/ulong
|
|
134
|
-
// that fits it, so `3000000000` boxes as uint while `5` boxes as int and
|
|
135
|
-
// `5000000000` as long. Boxed numerics compare by exact type - (object)5L does
|
|
136
|
-
// not Equals (object)5 - so the type a config number lands with is observable
|
|
137
|
-
// to every consumer, and the L1 data branch has to be able to reproduce it.
|
|
138
|
-
// Reproducing a uint band nothing else in the SDK ever produces is not worth
|
|
139
|
-
// it, so the suffix is made explicit instead and the ladder is just int -> long
|
|
140
|
-
// -> double, which SdkConfig.ConfigValue mirrors exactly.
|
|
141
|
-
//
|
|
142
|
-
// THE RANGE TEST IS ON THE EMITTED TEXT, not on the JS number.
|
|
143
|
-
//
|
|
144
|
-
// `String(val)` is exactly what JSON.stringify puts in the data branch, and it
|
|
145
|
-
// prints a double as the SHORTEST decimal that round-trips - which for a value
|
|
146
|
-
// near the 64-bit boundary is not the value's exact decimal expansion. The
|
|
147
|
-
// clearest case is long.MinValue: `String(-9223372036854775808)` is
|
|
148
|
-
// "-9223372036854776000", which is BELOW long.MinValue, so TryGetInt64 refuses
|
|
149
|
-
// it and the data branch yields a double. Deciding from the JS value instead
|
|
150
|
-
// emitted `long.MinValue` and the two branches disagreed at exactly that
|
|
151
|
-
// boundary. Comparing the text as a BigInt makes both sides ask the same
|
|
152
|
-
// question of the same digits.
|
|
153
|
-
//
|
|
154
|
-
// int.MinValue is written by name: `-2147483648` parses as unary minus applied
|
|
155
|
-
// to a literal that does not itself fit in an int, and relying on the special
|
|
156
|
-
// case for that is needless subtlety. There is deliberately no long.MinValue
|
|
157
|
-
// twin - no JS number prints as that text, so it is unreachable.
|
|
158
|
-
//
|
|
159
|
-
// A non-finite value emits `null`, because that is what JSON.stringify does
|
|
160
|
-
// with it - so the two representations still agree.
|
|
161
111
|
const CS_INT_MIN = -2147483648n
|
|
162
112
|
const CS_INT_MAX = 2147483647n
|
|
163
113
|
const CS_LONG_MIN = -9223372036854775808n
|
|
@@ -209,28 +159,6 @@ function formatCsValue(val: any, indent: number = 0): string {
|
|
|
209
159
|
}
|
|
210
160
|
|
|
211
161
|
|
|
212
|
-
// Emission-time normalisation of a model subtree (L0).
|
|
213
|
-
//
|
|
214
|
-
// Always drops jostraca's iteration metadata (`$`-suffixed keys: index$,
|
|
215
|
-
// key$, val$). With `dropDefaults`, also drops keys whose value IS the
|
|
216
|
-
// default the runtime already assumes when the key is absent, which is pure
|
|
217
|
-
// payload — see CONFIG_DEFAULT.
|
|
218
|
-
//
|
|
219
|
-
// Rebuilds the tree rather than mutating during a walk. The previous
|
|
220
|
-
// implementation walked a clone calling `delete p[k]`, but walk() assigns its
|
|
221
|
-
// callback's result back over the child (`setprop(out, ckey, walk(...))`), so
|
|
222
|
-
// the delete was undone on the way out and the helper silently did nothing.
|
|
223
|
-
// Returning `undefined` from the callback does not fix it either: setprop
|
|
224
|
-
// stores undefined rather than removing the key, which then emits as a null.
|
|
225
|
-
//
|
|
226
|
-
// `dropDefaults` is opt-in and must be passed ONLY for the entity subtree.
|
|
227
|
-
// `active` means something different in feature config, where absent reads as
|
|
228
|
-
// INACTIVE (see feature_init) — dropping `active: true` there would silently
|
|
229
|
-
// disable the feature.
|
|
230
|
-
// jostraca's iteration metadata, injected by each()/names() while it walks the
|
|
231
|
-
// model. Listed explicitly rather than matched by trailing-dollar suffix: a
|
|
232
|
-
// trailing dollar is not exclusive to jostraca -- Seneca uses entity$ as real
|
|
233
|
-
// data -- so a blanket suffix match can silently drop a legitimate API field.
|
|
234
162
|
const MODEL_META = ['index$', 'key$', 'val$']
|
|
235
163
|
|
|
236
164
|
// Keys whose value IS the default the runtime already assumes when the key is
|
|
@@ -37,21 +37,12 @@ const Config = cmp(async function Config(props: any) {
|
|
|
37
37
|
const Name = model.const.Name
|
|
38
38
|
|
|
39
39
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
40
|
-
// Gated by the applicability tags, so this target never imports or
|
|
41
|
-
// registers a feature it has no source for. One rule, one place:
|
|
42
|
-
// helpers/applicability.
|
|
43
40
|
const feature = targetFeatures(model, target)
|
|
44
41
|
|
|
45
42
|
const headers = getModelPath(model, `main.${KIT}.config.headers`) || {}
|
|
46
43
|
|
|
47
44
|
const authActive = isAuthActive(model)
|
|
48
45
|
const authPrefix = resolveAuthPrefix(model)
|
|
49
|
-
// `in` and `name` travel with the prefix now. apidef resolved both from
|
|
50
|
-
// the spec's securityScheme all along (joplin's says `in: "query",
|
|
51
|
-
// name: "token"`) and generation dropped them, so an apiKey-in-query API
|
|
52
|
-
// got an Authorization header it does not read. Emitted below ONLY when
|
|
53
|
-
// they differ from the header/Authorization defaults, so a header SDK's
|
|
54
|
-
// config.ex is byte-identical to what it generated before.
|
|
55
46
|
const authIn = resolveAuthIn(model)
|
|
56
47
|
const authName = resolveAuthName(model)
|
|
57
48
|
|
|
@@ -62,34 +53,8 @@ const Config = cmp(async function Config(props: any) {
|
|
|
62
53
|
? ` "auth" => %{"prefix" => ${elixirString(authPrefix)}},\n`
|
|
63
54
|
: ''
|
|
64
55
|
|
|
65
|
-
// THE PLUGIN DEFINITIONS PER FEATURE (the elixir peer of Config_go's
|
|
66
|
-
// FeaturePlugins and Config_ts's pluginDefs).
|
|
67
|
-
//
|
|
68
|
-
// Upstream sekreto replaced its self-registration registry with
|
|
69
|
-
// voxgig/plugin definitions: a provider kind the caller did not pass in
|
|
70
|
-
// via `plugins: [...]` is unknown to that Sekreto, so the model's choice
|
|
71
|
-
// of plugin groups IS the SDK's provider vocabulary. Each active plugin's
|
|
72
|
-
// `def` key is a fully-qualified elixir CALL (`Sekreto.Plugins.Hashicorp
|
|
73
|
-
// .hashicorp`), emitted here as `...()` and handed to the feature.
|
|
74
|
-
//
|
|
75
|
-
// The smallest of the four emitters: Elixir resolves modules globally, by
|
|
76
|
-
// their `defmodule`, so there is no import block to keep in step with the
|
|
77
|
-
// trim - naming the call is the whole of it.
|
|
78
|
-
//
|
|
79
|
-
// Filter on `active` HERE rather than trusting the feature object to
|
|
80
|
-
// arrive filtered (the trap Config_ts and Config_go both carry a warning
|
|
81
|
-
// about): emitting a call into a module the plugin trim just deleted is
|
|
82
|
-
// an `UndefinedFunctionError` at the first client construction.
|
|
83
56
|
const featurePlugins: Record<string, string[]> = {}
|
|
84
57
|
|
|
85
|
-
// DECLARED at all, active or not - the emit gate. An SDK that selects no
|
|
86
|
-
// plugin-bearing feature gets no function, so config.ex is byte-identical
|
|
87
|
-
// to what it was before this feature existed: inactive costs nothing.
|
|
88
|
-
// (`only_active: false` for the same reason pluginExcludes needs it - the
|
|
89
|
-
// feature object a component is handed has ALREADY been filtered, so its
|
|
90
|
-
// `plugin` map holds only the ACTIVE groups and a project with the feature
|
|
91
|
-
// on but every group off would read as "no plugins declared" and lose the
|
|
92
|
-
// function the feature calls.)
|
|
93
58
|
let declared = false
|
|
94
59
|
|
|
95
60
|
each(feature, (f: any) => {
|
|
@@ -129,63 +94,20 @@ const Config = cmp(async function Config(props: any) {
|
|
|
129
94
|
`
|
|
130
95
|
|
|
131
96
|
Folder({ name: 'lib' }, () => {
|
|
132
|
-
// The same config as an OBJECT, built by the shared helper so this
|
|
133
|
-
// target's literal and the data that replaces it above the threshold are
|
|
134
|
-
// the same config by construction. The JSON is what the threshold is
|
|
135
|
-
// measured on - emitted source size varies by language, the model does not.
|
|
136
|
-
// Passing target.name opts in to the main slug/version/target identity
|
|
137
|
-
// fields (station descriptor input, mirrors Config_ts) - both reps below
|
|
138
|
-
// render from this same def, so the data and literal branches pick the
|
|
139
|
-
// fields up together.
|
|
140
97
|
const { def: configDef } = configDefinition(model, target.name)
|
|
141
98
|
|
|
142
|
-
// THE PLACEMENT, ONTO THE CANONICAL DEFINITION RATHER THAN INTO ONE
|
|
143
|
-
// BRANCH. Both reps below render from `configDef` - the literal through
|
|
144
|
-
// formatElixir, the data through JSON - so overlaying the fact here is
|
|
145
|
-
// what keeps them the same config either side of the threshold. (Targets
|
|
146
|
-
// whose literal is a hand-assembled fragment had to emit the block twice
|
|
147
|
-
// and only did it once; elixir renders `options` whole, so it cannot
|
|
148
|
-
// drift.)
|
|
149
|
-
//
|
|
150
|
-
// The optspec in utility.ex's make_options declares `in` and `name` for
|
|
151
|
-
// exactly this reason: this port's validate REJECTS a key the spec does
|
|
152
|
-
// not list, so a config carrying a placement the optspec has never heard
|
|
153
|
-
// of does not degrade quietly - the client cannot be constructed at all
|
|
154
|
-
// (`** (Voxgig.Struct.Error) Unexpected keys at field auth: in, name`,
|
|
155
|
-
// measured by removing the optspec entry from a generated query SDK).
|
|
156
99
|
if (authActive && null != configDef.options && null != configDef.options.auth) {
|
|
157
100
|
if ('header' !== authIn) configDef.options.auth.in = authIn
|
|
158
101
|
if ('Authorization' !== authName) configDef.options.auth.name = authName
|
|
159
102
|
}
|
|
160
103
|
|
|
161
|
-
// Re-stringified AFTER the overlay, so the size the threshold is measured
|
|
162
|
-
// on is the size of the config actually emitted. For a header SDK the
|
|
163
|
-
// overlay adds nothing and this is byte-identical to configDefinition's
|
|
164
|
-
// own json.
|
|
165
104
|
const configJson = JSON.stringify(configDef)
|
|
166
105
|
const asData = isConfigData(configJson, configReprSetting(model))
|
|
167
106
|
|
|
168
|
-
// configDefinition's `def.entity` verbatim, NOT rebuilt here. The reduce
|
|
169
|
-
// this replaces was one of fourteen copies of that function's entityDefs
|
|
170
|
-
// loop, and when configDefinition started reconstructing a point's
|
|
171
|
-
// `parts` from apidef's segment vector (its ADR-003), only the copies
|
|
172
|
-
// that read `configDef` got it — this target's literal config emitted
|
|
173
|
-
// paths with no parts at all while its data config had them. One rule,
|
|
174
|
-
// one place.
|
|
175
107
|
const entityClean = configDef.entity
|
|
176
108
|
|
|
177
109
|
File({ name: 'config.ex' }, () => {
|
|
178
110
|
|
|
179
|
-
// ABOVE THE THRESHOLD: emit the model as DATA.
|
|
180
|
-
//
|
|
181
|
-
// The literal is one nested `%{}` the Elixir compiler expands and holds
|
|
182
|
-
// in the module's constant pool; a binary is one token. `Json.parse`
|
|
183
|
-
// builds the vendored struct's heap nodes DIRECTLY - the same nodes
|
|
184
|
-
// `Helpers.deep/1` produces from a plain map - so make_config returns
|
|
185
|
-
// exactly what it returned before.
|
|
186
|
-
//
|
|
187
|
-
// `ProjectName.Json` is already the SDK's response decoder (see
|
|
188
|
-
// `safe_json` in utility.ex), so this adds no dependency.
|
|
189
111
|
if (asData) {
|
|
190
112
|
Content(`# ${Name} SDK configuration
|
|
191
113
|
#
|
|
@@ -1,28 +1,5 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
// Typed-model generator (Elixir target). Port of EntityTypes_ts.ts / _rb.ts.
|
|
4
|
-
//
|
|
5
|
-
// Reads main.<KIT>.entity.<e>.fields[] and per-op params
|
|
6
|
-
// (op.<name>.points[].args.params[]) and emits one module, lib/<app>_types.ex,
|
|
7
|
-
// holding an `@type` alias per active entity plus a request/match type per
|
|
8
|
-
// active op, each with a `@typedoc` documenting its concrete members.
|
|
9
|
-
//
|
|
10
|
-
// TYPE CHOICE: the SDK carries data as string-keyed struct value nodes, and
|
|
11
|
-
// Elixir map typespecs cannot pin individual string keys (only
|
|
12
|
-
// `optional(String.t()) => v`), so every alias resolves to an open string-keyed
|
|
13
|
-
// map `%{optional(String.t()) => any()}`. The precise per-member shape is
|
|
14
|
-
// documented in the accompanying @typedoc (the honest Elixir analogue of the
|
|
15
|
-
// TS interface / rb Struct). Field/param sentinels ($STRING, $INTEGER, ...) are
|
|
16
|
-
// turned into real Elixir typespec fragments (String.t(), integer(), ...) by
|
|
17
|
-
// the shared sdkgen canonToType 'elixir' column (via the `elixirType`
|
|
18
|
-
// delegate in utility_elixir).
|
|
19
|
-
//
|
|
20
|
-
// Op type-name scheme mirrors every other language — derived from the SHARED
|
|
21
|
-
// OP_SUFFIX policy, snake_cased for Elixir:
|
|
22
|
-
// <ename>, <ename>_load_match, <ename>_list_match, <ename>_create_data,
|
|
23
|
-
// <ename>_update_data, <ename>_remove_match.
|
|
24
|
-
// The generated entity modules reference these aliases from @spec annotations
|
|
25
|
-
// on their op functions (see fragment/Entity*Op.fragment.ex).
|
|
26
3
|
|
|
27
4
|
import {
|
|
28
5
|
cmp, each, names,
|
|
@@ -39,16 +16,11 @@ import {
|
|
|
39
16
|
import { elixirType } from './utility_elixir'
|
|
40
17
|
|
|
41
18
|
|
|
42
|
-
// Snake_case op type name, derived from the SHARED OP_SUFFIX policy (the
|
|
43
|
-
// PascalCase scheme <Name><Op><Match|Data> rendered Elixir-style):
|
|
44
|
-
// <ename>_load_match, <ename>_create_data, ...
|
|
45
19
|
function elixirOpTypeName(ename: string, opname: string): string {
|
|
46
20
|
return ename + '_' + opname + '_' + (OP_SUFFIX[opname] || 'Match').toLowerCase()
|
|
47
21
|
}
|
|
48
22
|
|
|
49
23
|
|
|
50
|
-
// Emit one `@typedoc` + `@type` alias. The alias is always an open
|
|
51
|
-
// string-keyed map; the members are documented in the doc block.
|
|
52
24
|
function emitType(
|
|
53
25
|
typeName: string,
|
|
54
26
|
doc: string,
|
|
@@ -79,10 +51,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
79
51
|
const Name = model.const.Name
|
|
80
52
|
const app = model.const.name.toLowerCase()
|
|
81
53
|
|
|
82
|
-
// only_active:false — getModelPath DROPS active:false entries by default,
|
|
83
|
-
// but the consumer scaffold (create-sdkgen Root.ts) iterates the RAW entity
|
|
84
|
-
// collection, so inactive entities still get generated entity code that
|
|
85
|
-
// references these typed names. The typed model must cover them too.
|
|
86
54
|
const entity = getModelPath(model, `main.${KIT}.entity`, { only_active: false, required: false })
|
|
87
55
|
// Emit for EVERY entity that gets an entity module: the consumer scaffold
|
|
88
56
|
// (create-sdkgen Root.ts) iterates entities WITHOUT an active filter, and
|
|
@@ -93,9 +61,6 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
93
61
|
// Derive the PascalCase Name up-front — it is set LAZILY by names(), so an
|
|
94
62
|
// entity not yet named would otherwise read `Name = undefined` below.
|
|
95
63
|
|
|
96
|
-
// Surface duplicate generated type names (two entities with the same
|
|
97
|
-
// PascalCase Name) — they would redeclare a type in statically-typed
|
|
98
|
-
// targets. Detection only; renaming is a model-level decision.
|
|
99
64
|
warnEntityTypeCollisions(entity, log, LANG)
|
|
100
65
|
|
|
101
66
|
Folder({ name: 'lib' }, () => {
|
|
@@ -103,8 +68,8 @@ const EntityTypes = cmp(function EntityTypes(props: any) {
|
|
|
103
68
|
|
|
104
69
|
Content(`# Typed models for the ${Name} SDK.
|
|
105
70
|
#
|
|
106
|
-
# GENERATED from the API model: main.${KIT}.entity.<e>.fields
|
|
107
|
-
# params (op.<name>.points[].
|
|
71
|
+
# GENERATED from the API model: main.${KIT}.entity.<e>.fields{} and per-op
|
|
72
|
+
# params (op.<name>.points[].g.params[]). Member types come from the
|
|
108
73
|
# canonical type sentinels. The SDK carries data as string-keyed struct value
|
|
109
74
|
# nodes, so each alias is an open string-keyed map; the @typedoc member lists
|
|
110
75
|
# document the concrete shapes. Do not edit by hand.
|
|
@@ -124,17 +89,14 @@ defmodule ${Name}.Types do
|
|
|
124
89
|
const EName = ent.Name
|
|
125
90
|
const ename = ent.name
|
|
126
91
|
const fields = (ent.fields ? each(ent.fields) : [])
|
|
127
|
-
.filter((f: any) => f.
|
|
92
|
+
.filter((f: any) => f.a !== false)
|
|
128
93
|
|
|
129
|
-
// Entity data model: one member per field (`req:false` -> optional).
|
|
130
94
|
emitType(
|
|
131
95
|
ename,
|
|
132
96
|
`${EName} entity data model.`,
|
|
133
|
-
fields.map((f: any) => ({ name: f.
|
|
97
|
+
fields.map((f: any) => ({ name: f.n, type: f.t, optional: false === f.r })),
|
|
134
98
|
)
|
|
135
99
|
|
|
136
|
-
// Per active op: a request/match type. Members and their optionality
|
|
137
|
-
// come from the shared partiality policy (opRequestShape).
|
|
138
100
|
const ops = ent.op || {}
|
|
139
101
|
;['load', 'list', 'create', 'update', 'remove'].forEach((opname: string) => {
|
|
140
102
|
if (null == ops[opname]) {
|
|
@@ -24,9 +24,6 @@ import { MainEntity } from './MainEntity_elixir'
|
|
|
24
24
|
import { EntityTypes } from './EntityTypes_elixir'
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
// #`-comment hook marker key (gotcha #1: jostraca's built-in #Name-Tag
|
|
28
|
-
// replacement only matches `//` comments, so an Elixir `# #<Name>-Hook`
|
|
29
|
-
// line never matches and the pipeline hook would be silently dropped).
|
|
30
27
|
const HOOK_KEY =
|
|
31
28
|
'/(?<indent>[ \\t]*)#[ \\t]*#(?<name>[A-Za-z0-9]+)-Hook[ \\t]*\\n?/'
|
|
32
29
|
|
|
@@ -55,16 +52,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
55
52
|
// Generate the documented typespec module (lib/<app>_types.ex).
|
|
56
53
|
EntityTypes({ target })
|
|
57
54
|
|
|
58
|
-
// Copy tm/elixir (with ProjectName/projectname substitution).
|
|
59
|
-
//
|
|
60
|
-
// THE RUNTIME DIRECTORY HAS TO CARRY THE APP NAME. Copy substitutes file
|
|
61
|
-
// CONTENTS, never path components, so a blanket copy shipped the runtime as
|
|
62
|
-
// lib/projectname/ in every generated SDK. Nothing broke — Elixir resolves
|
|
63
|
-
// modules by their `defmodule`, not by path, and those were substituted
|
|
64
|
-
// correctly — so it compiled, tested green, and published looking wrong.
|
|
65
|
-
//
|
|
66
|
-
// Copy's `to` prop names the destination, so lib/projectname is copied
|
|
67
|
-
// explicitly under the app's own name and excluded from the blanket copy.
|
|
68
55
|
Copy({
|
|
69
56
|
from: 'tm/' + target.name,
|
|
70
57
|
exclude: [/src\//, /lib\/projectname\//],
|
|
@@ -77,20 +64,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
77
64
|
Copy({
|
|
78
65
|
from: 'tm/' + target.name + '/lib/projectname',
|
|
79
66
|
to: model.const.name,
|
|
80
|
-
// pluginExcludes: the generate-time plugin trim (an INACTIVE plugin
|
|
81
|
-
// group's vendored files, declared per-target in the feature model).
|
|
82
|
-
// Rooted HERE, on lib/projectname, because that is this Copy's root
|
|
83
|
-
// and jostraca matches a candidate against the path relative to it -
|
|
84
|
-
// which is why the model's elixir plugin paths read
|
|
85
|
-
// `feature/secrets/sekreto/plugins/<kind>.ex` and not the full
|
|
86
|
-
// `lib/projectname/...`.
|
|
87
|
-
//
|
|
88
|
-
// AND THE TRIM IS INVISIBLE TO THE COMPILER HERE, unlike everywhere
|
|
89
|
-
// else. mix compiles everything under lib/ and Elixir needs no
|
|
90
|
-
// import, so a plugin file this exclude failed to remove compiles
|
|
91
|
-
// silently and SHIPS - where go fails on an unused import, py on a
|
|
92
|
-
// missing module and ts on an unresolved one. Only the parity and
|
|
93
|
-
// vendored guards can catch a broken trim in this target.
|
|
94
67
|
exclude: [...pluginExcludes(model)],
|
|
95
68
|
replace: {
|
|
96
69
|
...stdrep,
|
|
@@ -118,7 +91,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
118
91
|
)
|
|
119
92
|
})
|
|
120
93
|
|
|
121
|
-
// Operation pipeline (hook markers replaced here — gotcha #1).
|
|
122
94
|
File({ name: 'pipeline.' + target.ext }, () => {
|
|
123
95
|
Fragment({
|
|
124
96
|
from: ff + 'Pipeline.fragment.ex',
|
|
@@ -158,18 +130,6 @@ end
|
|
|
158
130
|
`)
|
|
159
131
|
})
|
|
160
132
|
|
|
161
|
-
// WHERE THE CREDENTIAL GOES IS GENERATED, NOT COPIED. prepare_auth was
|
|
162
|
-
// the one pipeline utility whose answer is a fact about the API rather
|
|
163
|
-
// than about the language, and tm/ can only hold one answer - so it is
|
|
164
|
-
// extracted out of the copied utility.ex into its own module here. See
|
|
165
|
-
// PrepareAuth_elixir for the extraction and for why the registration in
|
|
166
|
-
// utility.ex still binds it.
|
|
167
|
-
//
|
|
168
|
-
// CALLED FROM INSIDE THIS `lib` FOLDER, and the component opens only
|
|
169
|
-
// `<name>`, so the file lands at lib/<name>/prepare_auth.ex - beside the
|
|
170
|
-
// utility.ex the Copy above puts at lib/<name>/utility.ex. Opening `lib`
|
|
171
|
-
// in the component too would write lib/lib/<name>/, which mix would
|
|
172
|
-
// compile anyway (it globs the whole tree) and no test could see.
|
|
173
133
|
PrepareAuth({ target })
|
|
174
134
|
})
|
|
175
135
|
|