@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
|
@@ -28,46 +28,10 @@ import {
|
|
|
28
28
|
} from './utility_ocaml'
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
// THE SECRETS BUILD MODEL, derived from the model ONCE and read by both the
|
|
32
|
-
// Makefile fragment (Main_ocaml emits feature/secrets/feature.mk from it)
|
|
33
|
-
// and the generated config (the definitions list and the bundled transport
|
|
34
|
-
// below), so the two cannot disagree about which kinds are compiled.
|
|
35
|
-
//
|
|
36
|
-
// Upstream sekreto retired its self-registration registry for voxgig/plugin
|
|
37
|
-
// definitions: a provider kind the caller did not pass in `~plugins` is
|
|
38
|
-
// unknown to that Sekreto. So the model's choice of plugin groups IS the
|
|
39
|
-
// SDK's provider vocabulary, and the generated code names each active
|
|
40
|
-
// group's constructor (`def: ocaml:` in model/feature/secrets.aon -
|
|
41
|
-
// `Hashicorp.plugin`, the `unit -> Defs.definition` each vendored kind
|
|
42
|
-
// module defines) and nothing else. A symbol named here whose module the
|
|
43
|
-
// plugin trim removed is an "Unbound module" at compile time - a loud
|
|
44
|
-
// failure, which is the right kind.
|
|
45
|
-
//
|
|
46
|
-
// MODULE ORDER IS THE DEPENDENCY ORDER, written down (upstream's own
|
|
47
|
-
// Makefile is the source): the voxgig/plugin host, the sekreto core, the
|
|
48
|
-
// shared helpers, the kinds. The helpers are ungrouped in the model (see the
|
|
49
|
-
// ocaml note at the head of its `plugin` block) and are listed here only
|
|
50
|
-
// when a selected kind needs them - the transport chain (crypto, sigv4, tls,
|
|
51
|
-
// http, httpjson) when an active group declares `needs.fetch`, the
|
|
52
|
-
// child-process helper (runcmd) when any kind is on - because OCaml
|
|
53
|
-
// compiles exactly what it is handed: an [env, memory] chain compiles the
|
|
54
|
-
// two cores alone, and `secretspec` alone compiles runcmd.ml and no TLS.
|
|
55
|
-
//
|
|
56
|
-
// Null when the model does not activate `secrets` for this target. Read
|
|
57
|
-
// with `only_active: false` on the plugin map (pluginExcludesFor's
|
|
58
|
-
// subtlety: the feature object a component is handed has already been
|
|
59
|
-
// filtered, so a feature whose groups are all off would look like one
|
|
60
|
-
// with no plugin machinery).
|
|
61
31
|
type SecretsBuild = {
|
|
62
32
|
groups: string[],
|
|
63
33
|
tlsGroups: string[],
|
|
64
34
|
tls: boolean,
|
|
65
|
-
// C stubs an active group brings with it, keyed by the group that
|
|
66
|
-
// brought them, in the order the groups sort. tls_stubs.c is NOT here:
|
|
67
|
-
// it belongs to the tls HELPER, which no group owns - these are stubs a
|
|
68
|
-
// KIND owns, declared in its own `path` list. The mini vault is the
|
|
69
|
-
// first, and the shape is general: a kind whose implementation needs C
|
|
70
|
-
// says so by listing a .c file, and the build compiles what it lists.
|
|
71
35
|
stubs: string[],
|
|
72
36
|
stubGroups: string[],
|
|
73
37
|
plugin: string[],
|
|
@@ -167,28 +131,8 @@ const Config = cmp(async function Config(props: any) {
|
|
|
167
131
|
|
|
168
132
|
const secrets = secretsBuild(model, target)
|
|
169
133
|
|
|
170
|
-
// The canonical config OBJECT and its JSON, from the shared helper. Both
|
|
171
|
-
// representations render from the same `def`, so they cannot describe
|
|
172
|
-
// different configs - and this target picks up `options.server` (the OpenAPI
|
|
173
|
-
// server-variable defaults), which the hand-rolled build here omitted.
|
|
174
|
-
// Passing target.name opts this target into the main slug/version/target
|
|
175
|
-
// identity fields (read by station's descriptor - see configDefinition).
|
|
176
134
|
const { def: config } = configDefinition(model, target.name)
|
|
177
135
|
|
|
178
|
-
// `in` and `name` TRAVEL WITH THE PREFIX NOW. apidef resolved both from the
|
|
179
|
-
// spec's securityScheme all along and generation dropped them, so an
|
|
180
|
-
// apiKey-in-query API got an `authorization` header it does not read.
|
|
181
|
-
//
|
|
182
|
-
// Added to the shared `def` here rather than in configDefinition, so this
|
|
183
|
-
// change moves ocaml and nothing else - and both representations below
|
|
184
|
-
// render from the SAME object, which is why the JSON is stringified AFTER
|
|
185
|
-
// this rather than taken from configDefinition: the data rung and the
|
|
186
|
-
// literal rung must not be able to describe different configs.
|
|
187
|
-
//
|
|
188
|
-
// ONLY WHEN THEY DIFFER from the header/Authorization default, so every
|
|
189
|
-
// header-based SDK's sdk_config.ml is byte-identical to what it generated
|
|
190
|
-
// before. `options.auth` is absent entirely when auth is inactive
|
|
191
|
-
// (configDefinition's own gate), and there is nothing to qualify then.
|
|
192
136
|
const authIn = resolveAuthIn(model)
|
|
193
137
|
const authName = resolveAuthName(model)
|
|
194
138
|
const authOpts = (config as any).options?.auth
|
|
@@ -206,16 +150,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
206
150
|
|
|
207
151
|
File({ name: 'sdk_config.' + target.ext }, () => {
|
|
208
152
|
|
|
209
|
-
// ABOVE THE THRESHOLD: emit the model as DATA.
|
|
210
|
-
//
|
|
211
|
-
// The literal is one nested expression the compiler type-checks as a
|
|
212
|
-
// single item; a string is one token, and `Sdk_json.json_read` builds the
|
|
213
|
-
// same value tree at runtime. That reader used to live only in the corpus
|
|
214
|
-
// test harness - this rung is why it now lives in the runtime, and the
|
|
215
|
-
// harness uses it from there rather than keeping a second copy.
|
|
216
|
-
//
|
|
217
|
-
// No number-type question: `json_read` yields `Num (float)` and
|
|
218
|
-
// `formatOcamlValue` emits `(Num (5.))`, so both branches agree.
|
|
219
153
|
if (asData) {
|
|
220
154
|
Content(`(* Generated API configuration (mirrors go core/config.go).
|
|
221
155
|
*
|
|
@@ -254,15 +188,6 @@ let make_config () : value =
|
|
|
254
188
|
`)
|
|
255
189
|
}
|
|
256
190
|
|
|
257
|
-
// THE PLUGIN DEFINITIONS the model selected, per feature (the ocaml
|
|
258
|
-
// peer of Config_go's featurePlugins map). EMITTED UNCONDITIONALLY, so
|
|
259
|
-
// every generated config answers the same question - but typed as
|
|
260
|
-
// `Defs.definition list` only when the secrets feature is active: the
|
|
261
|
-
// `Defs` module is part of the vendored voxgig/plugin tree, which is
|
|
262
|
-
// compiled only then, so an inactive model gets the polymorphic empty
|
|
263
|
-
// list instead (`'a list`, which unifies with anything a caller
|
|
264
|
-
// expects). DELIBERATE DIVERGENCE from the c/lua accessors, whose
|
|
265
|
-
// untyped return (void**, a table) needs no such split.
|
|
266
191
|
if (null == secrets) {
|
|
267
192
|
Content(`
|
|
268
193
|
(* The plugin definitions the model selected, per feature: none - no
|
|
@@ -282,16 +207,6 @@ let feature_plugins (name : string) : Defs.definition list =
|
|
|
282
207
|
| _ -> []
|
|
283
208
|
`)
|
|
284
209
|
|
|
285
|
-
// THE EXCHANGE TRANSPORT OF LAST RESORT (go's rawExchangeFetch): the
|
|
286
|
-
// vendored sekreto HTTP client, which the active plugin groups
|
|
287
|
-
// compile and link anyway (feature/secrets/feature.mk adds the OpenSSL binding on
|
|
288
|
-
// exactly this condition). It exists so an exchange works with
|
|
289
|
-
// ordinary SDK options - requiring a custom transport for the COMMON
|
|
290
|
-
// case would refuse every live token purchase before a request was
|
|
291
|
-
// made. Same result shape the system.fetch seam promises ({status,
|
|
292
|
-
// statusText, headers, body, json()}). With no such group the feature
|
|
293
|
-
// is built without it and a purchase with no options.system.fetch
|
|
294
|
-
// fails with a named error (see secrets_feature.ml).
|
|
295
210
|
if (secrets.tls) {
|
|
296
211
|
Content(`
|
|
297
212
|
(* The token-exchange transport of last resort: the vendored sekreto HTTP
|
|
@@ -322,12 +237,6 @@ let make_feature (name : string) : feature =
|
|
|
322
237
|
match name with
|
|
323
238
|
`)
|
|
324
239
|
|
|
325
|
-
// ONLY THE FEATURES THIS PORT ACTUALLY IMPLEMENTS. Emitting an arm for a
|
|
326
|
-
// name with no `<name>_feature` in tm/ocaml/sdk_features.ml is an
|
|
327
|
-
// "Unbound value" at COMPILE time — the whole SDK fails to build, not
|
|
328
|
-
// just the feature. That is how the missing `cost` was found, when an SDK
|
|
329
|
-
// first activated every feature; cost is implemented now, and this list
|
|
330
|
-
// is the guard against the next one.
|
|
331
240
|
const OCAML_FEATURES = [
|
|
332
241
|
'audit', 'cache', 'clienttrack', 'cost', 'debug', 'idempotency', 'log',
|
|
333
242
|
'metrics', 'netsim', 'paging', 'proxy', 'ratelimit', 'rbac',
|
|
@@ -341,13 +250,6 @@ let make_feature (name : string) : feature =
|
|
|
341
250
|
}
|
|
342
251
|
})
|
|
343
252
|
|
|
344
|
-
// The secrets feature is the one ocaml feature that lives OUTSIDE
|
|
345
|
-
// sdk_features.ml (a container: feature/secrets_feature.ml plus the
|
|
346
|
-
// vendored trees), so its arm names its own module and hands it the
|
|
347
|
-
// definitions the model selected and, when a plugin group needing a
|
|
348
|
-
// transport is active, the bundled exchange transport. Emitted only
|
|
349
|
-
// when the feature is active: the module is not compiled otherwise
|
|
350
|
-
// (Main_ocaml's container gate, and the Makefile's feature/secrets/feature.mk).
|
|
351
253
|
if (null != secrets) {
|
|
352
254
|
Content(` | "secrets" -> Secrets_feature.make ~plugins:(feature_plugins "secrets")${secrets.tls ? ' ~transport:secrets_transport' : ''} ()
|
|
353
255
|
`)
|
|
@@ -41,12 +41,6 @@ function entityOp(opname: string, present: boolean, entityname: string): string
|
|
|
41
41
|
post = ` ()\n`
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
// The op resolves to the ENTITY (see Sdk_types). `list` builds one entity
|
|
45
|
-
// per record here, since make_result works in `value` and cannot; `remove`
|
|
46
|
-
// marks the instance. With throwing disabled run_op returns the error
|
|
47
|
-
// payload, which an entity_obj return cannot carry, so that path resolves to
|
|
48
|
-
// the entity too and the caller reads ctrl.err - the mechanism no-throw mode
|
|
49
|
-
// documents anyway.
|
|
50
44
|
const tail =
|
|
51
45
|
'list' === opname
|
|
52
46
|
? ` let out = run_op ctx post_done in
|
|
@@ -29,16 +29,6 @@ import { PrepareAuth } from './PrepareAuth_ocaml'
|
|
|
29
29
|
import { entityModule, ocamlString } from './utility_ocaml'
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
// Features whose source is a CONTAINER under the top-level feature/ dir,
|
|
33
|
-
// beside the single template module (sdk_features.ml) every other ocaml
|
|
34
|
-
// feature lives in. Today that is `secrets`: feature/secrets_feature.ml,
|
|
35
|
-
// feature/secrets/ (the vendored @voxgig/sekreto port, the voxgig/plugin
|
|
36
|
-
// host and the provider kinds - some forty modules of key-store,
|
|
37
|
-
// request-signing and child-process code that an SDK which never asked for
|
|
38
|
-
// secrets must not ship) and its shipped suite under test/feature/secrets/.
|
|
39
|
-
// Anything named here is EXCLUDED from the verbatim copy unless the model
|
|
40
|
-
// SELECTS the feature (see the Copy below). The lua and clojure targets gate
|
|
41
|
-
// their containers the same way (Main_lua.ts, Main_clojure.ts).
|
|
42
32
|
const CONTAINED = ['secrets']
|
|
43
33
|
|
|
44
34
|
|
|
@@ -52,16 +42,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
52
42
|
// it has no source for. One rule, one place: helpers/applicability.
|
|
53
43
|
const feature = targetFeatures(model, target)
|
|
54
44
|
|
|
55
|
-
// THE feature/<name>/ CONTAINER IS GATED HERE, at generate time - the
|
|
56
|
-
// top-level-container peer of the `srcFeatureExcludes` gate ts and js
|
|
57
|
-
// apply to src/feature/<name>/. `target add` keeps an unselected
|
|
58
|
-
// feature out of a project's tm/ in the first place (ocaml.aon has
|
|
59
|
-
// `feature: { trim: true }`); this covers a feature switched off after
|
|
60
|
-
// it was added, and the generator suite, which copies the whole scaffold
|
|
61
|
-
// tree. An inactive feature's vendored kind files go with it - every
|
|
62
|
-
// declared group's, not only the groups marked inactive, because
|
|
63
|
-
// pluginExcludes below walks only ACTIVE features (Main_c's
|
|
64
|
-
// inactivePluginExcludes, for the same reason one target over).
|
|
65
45
|
const containerExcludes = CONTAINED
|
|
66
46
|
.filter((name: string) => null == (feature as any)[name])
|
|
67
47
|
.flatMap((name: string) => [
|
|
@@ -74,22 +54,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
74
54
|
|
|
75
55
|
Gitignore({})
|
|
76
56
|
|
|
77
|
-
// Copy tm/ocaml verbatim with ProjectName replacement. The src/ subtree
|
|
78
|
-
// only stages per-feature custom-source dirs (srcfeature: false, so unused),
|
|
79
|
-
// excluded like the go/rust targets. Stray compiled artifacts and built
|
|
80
|
-
// test binaries are excluded defensively. test/vendor/omni (the vendored
|
|
81
|
-
// @voxgig/omni corpus engine) rides along verbatim - the replacements are
|
|
82
|
-
// ProjectName-shaped and the port names nothing project-specific, so it
|
|
83
|
-
// lands byte-identical to its recorded vendored.json digest.
|
|
84
|
-
//
|
|
85
|
-
// pluginExcludes: the generate-time plugin trim (an ACTIVE feature's
|
|
86
|
-
// INACTIVE plugin group's declared files stay out of the tree). The
|
|
87
|
-
// model's ocaml `path` entries are target-root-relative, which is this
|
|
88
|
-
// Copy's root - helpers/featureSource documents that getting the root
|
|
89
|
-
// wrong makes the trim a silent no-op. ocaml has `srcfeature: false`, so
|
|
90
|
-
// the per-feature Copy in cmp/Feature.ts - where pluginExcludesFor
|
|
91
|
-
// normally applies this trim - never runs for it, and this whole-tree
|
|
92
|
-
// Copy is the ONLY copy the target has (Main_go.ts precedent).
|
|
93
57
|
Copy({
|
|
94
58
|
from: 'tm/' + target.name,
|
|
95
59
|
exclude: [/src\//, /\.(cmi|cmo|cmx|cma|cmxa|o|a)$/, /a\.out$/,
|
|
@@ -100,26 +64,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
100
64
|
}
|
|
101
65
|
})
|
|
102
66
|
|
|
103
|
-
// THE BUILD SEAM: feature/secrets/feature.mk, GENERATED only when the
|
|
104
|
-
// model activates `secrets` for this target. It is what only the model
|
|
105
|
-
// knows and only a Makefile can say in OCaml - the module list in
|
|
106
|
-
// DEPENDENCY ORDER (ocamlc compiles a module before anything that uses
|
|
107
|
-
// it and has no link-time reordering, so a wildcard over the vendored
|
|
108
|
-
// directories would not build), the -I paths, unix.cma for the dotenv
|
|
109
|
-
// and file built-ins, the gated suite, and, ONLY when an active plugin
|
|
110
|
-
// group declares `needs.fetch`, the OpenSSL binding: plugins/tls_stubs.c
|
|
111
|
-
// compiled and linked with `-custom -cclib -lssl -cclib -lcrypto`. The
|
|
112
|
-
// template Makefile includes `$(wildcard feature/*/feature.mk)` - it names
|
|
113
|
-
// no feature itself - and every variable a fragment sets is empty without
|
|
114
|
-
// one, so an SDK without secrets - or with the built-in
|
|
115
|
-
// chain alone, or with `secretspec` alone - runs no C compiler and links
|
|
116
|
-
// no OpenSSL. The shape lua's native.mk and c's kinds.c take.
|
|
117
|
-
//
|
|
118
|
-
// The vendored stub opens with the vendoring tool's three-line `(* *)`
|
|
119
|
-
// provenance header (every file under tm/ocaml is stamped in ocaml's
|
|
120
|
-
// comment syntax; the guard holds that), which a C compiler cannot
|
|
121
|
-
// read - so the rule feeds the compiler from line four, as lua's does.
|
|
122
|
-
// Compiler line numbers are therefore three lower than in the file.
|
|
123
67
|
const build = secretsBuild(model, target)
|
|
124
68
|
if (null != build) {
|
|
125
69
|
Folder({ name: 'feature' }, () => {
|
|
@@ -154,13 +98,6 @@ FEATURE_SRC = $(SECRETS_PLUGIN) $(SECRETS_CORE) $(SECRETS_HELPERS) $(SECRETS_KIN
|
|
|
154
98
|
FEATURE_TESTS = test/feature/secrets/t_secrets.ml
|
|
155
99
|
`)
|
|
156
100
|
|
|
157
|
-
// EVERY C OBJECT THIS CHAIN NEEDS, from two different owners.
|
|
158
|
-
// tls_stubs.c belongs to the transport HELPER, which no group
|
|
159
|
-
// owns and which any kind reaching the network pulls in;
|
|
160
|
-
// minivault_stubs.c belongs to the KIND, and is listed in that
|
|
161
|
-
// group's own `path`. Both link against libcrypto and only the
|
|
162
|
-
// transport needs libssl, so the link line is assembled rather
|
|
163
|
-
// than written twice - an SDK with both gets each library once.
|
|
164
101
|
const objs = [
|
|
165
102
|
...(build.tls ? ['feature/secrets/plugins/tls_stubs.o'] : []),
|
|
166
103
|
...build.stubs.map((one) => one.replace(/\.c$/, '.o')),
|
|
@@ -202,30 +139,16 @@ FEATURE_LINK =
|
|
|
202
139
|
})
|
|
203
140
|
}
|
|
204
141
|
|
|
205
|
-
// Generated API config + branded-error re-export.
|
|
206
142
|
Schema({ target })
|
|
207
143
|
Config({ target })
|
|
208
144
|
SdkError({ target })
|
|
209
145
|
|
|
210
146
|
// sdk_prepare_auth.ml is GENERATED, not templated: WHERE the credential
|
|
211
147
|
// goes (header / query / cookie, and under what name) is a fact about the
|
|
212
|
-
// API, and tm/ can only hold one answer. ocaml had no prepare_auth
|
|
213
|
-
// template to replace - the body was a `let` inside the monolithic
|
|
214
|
-
// tm/ocaml/sdk_runtime.ml - so this is a real extraction: the module
|
|
215
|
-
// keeps the `prepare_auth_util` name by aliasing this one, and every
|
|
216
148
|
// existing caller (the utility record, make_spec, the secrets feature's
|
|
217
149
|
// re-run, the shipped suites) resolves unchanged. See PrepareAuth_ocaml.
|
|
218
|
-
//
|
|
219
|
-
// AT ROOT LEVEL, with no Folder open. The ocaml tree is flat at the
|
|
220
|
-
// target root and the Makefile's `RUNTIME` names `sdk_prepare_auth.ml`
|
|
221
|
-
// by that exact path, between sdk_helpers.ml (which it uses) and
|
|
222
|
-
// sdk_runtime.ml (which uses it) - ocamlc compiles in the order it is
|
|
223
|
-
// handed and has no link-time reordering. Emitting it inside a Folder
|
|
224
|
-
// would put it where neither `RUNTIME` nor `-I .` looks, and
|
|
225
|
-
// sdk_runtime.ml would fail with `Unbound module Sdk_prepare_auth`.
|
|
226
150
|
PrepareAuth({ target })
|
|
227
151
|
|
|
228
|
-
// sdk_client.ml — the client constructors, direct/prepare, and the
|
|
229
152
|
// per-entity accessors (twin of the go root package + rust core/sdk.rs).
|
|
230
153
|
File({ name: 'sdk_client.' + target.ext }, () => {
|
|
231
154
|
|
|
@@ -285,7 +208,6 @@ let prepare (client : sdk_client) (fetchargs : value) : value =
|
|
|
285
208
|
// rather than naming a generated accessor - the shipped feature suites
|
|
286
209
|
// are templates and know no project's entity names - has no way to reach
|
|
287
210
|
// one without this. The go peer is the untyped interface go-cli/go-mcp
|
|
288
|
-
// dispatch through. None for a name this SDK did not generate.
|
|
289
211
|
const names = each(entity).map((e: ModelEntity) => e.name).sort()
|
|
290
212
|
if (0 === names.length) {
|
|
291
213
|
Content(`
|
|
@@ -12,19 +12,6 @@ import { packageName } from './utility_ocaml'
|
|
|
12
12
|
import { secretsBuild } from './Config_ocaml'
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
// <name>.opam — opam package metadata (publish is declared pending in the
|
|
16
|
-
// model; the build itself is stock ocamlc via the Makefile and needs no opam
|
|
17
|
-
// packages). Twin of rust Cargo.toml, but the runtime is dependency-free so
|
|
18
|
-
// there is no depends list beyond the OCaml compiler.
|
|
19
|
-
//
|
|
20
|
-
// The secrets feature's build model is NOT emitted from here, unlike
|
|
21
|
-
// Package_rust's rustls dependency table: the Makefile reads the generated
|
|
22
|
-
// feature/secrets/feature.mk (Main_ocaml), which lists the vendored modules
|
|
23
|
-
// in dependency order and turns the OpenSSL binding on only when a plugin
|
|
24
|
-
// group needing a transport is active. What this manifest CAN state is the
|
|
25
|
-
// system dependency that binding introduces - `depexts`, opam's word for a
|
|
26
|
-
// distribution package - and it states it on exactly the same condition,
|
|
27
|
-
// read from the same helper, so the two cannot drift.
|
|
28
15
|
const Package = cmp(async function Package(props: any) {
|
|
29
16
|
const ctx$ = props.ctx$
|
|
30
17
|
const target = props.target
|
|
@@ -21,68 +21,20 @@ import {
|
|
|
21
21
|
} from './utility_ocaml'
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
// WHERE THE CREDENTIAL GOES IS A FACT ABOUT THE API, so it is generated
|
|
25
|
-
// rather than templated. The ocaml peer of PrepareAuth_ts / PrepareAuth_py;
|
|
26
|
-
// read PrepareAuth_ts first, it carries the full account of the defect.
|
|
27
|
-
//
|
|
28
|
-
// apidef has always resolved the scheme's `in` and `name` into
|
|
29
|
-
// `main.kit.info.security` - joplin's says `in: "query", name: "token"` -
|
|
30
|
-
// and generation dropped both, so the SDK sent a header the API does not
|
|
31
|
-
// read and never sent the query parameter it does. Four repos in the cedar
|
|
32
|
-
// fleet ship SDKs that cannot authenticate for this reason: joplin
|
|
33
|
-
// (`token`), pipedrive (`api_token`), trello (`key`), lm-umbrella
|
|
34
|
-
// (`apiKey`).
|
|
35
|
-
//
|
|
36
|
-
// OCAML IS THE ODD ONE OUT: it had no prepare_auth TEMPLATE to replace.
|
|
37
|
-
// The body was one `let` inside tm/ocaml/sdk_runtime.ml, the 1200-line
|
|
38
|
-
// module that holds every `*_util` and the registrar that binds them. So
|
|
39
|
-
// the extraction is a real one, and the shape was chosen rather than
|
|
40
|
-
// inherited - see EXTRACTION SHAPE below.
|
|
41
24
|
const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
42
25
|
const { target } = props
|
|
43
26
|
const { model } = props.ctx$
|
|
44
27
|
|
|
45
28
|
const where = resolveAuthIn(model)
|
|
46
29
|
|
|
47
|
-
// A HEADER NAME IS LOWER-CASED HERE; A QUERY OR COOKIE NAME IS NOT.
|
|
48
|
-
// apidef writes `name: "Authorization"`, the extracted body hardcoded
|
|
49
|
-
// `"authorization"`, and the whole ocaml runtime keys headers in lower
|
|
50
|
-
// case: make_spec writes "content-type", header_ci lower-cases before it
|
|
51
|
-
// looks up, the secrets feature rewrites `headers.authorization`, and the
|
|
52
|
-
// SHARED corpus asserts `ctx:spec:headers:authorization` - which
|
|
53
|
-
// test/primary_utility_test.ml drives through this very function. A
|
|
54
|
-
// struct map key is case-SENSITIVE, so emitting "Authorization" verbatim
|
|
55
|
-
// would put the credential under a key nothing in the SDK reads.
|
|
56
|
-
//
|
|
57
|
-
// A query parameter and a cookie name are case-sensitive ON THE WIRE:
|
|
58
|
-
// lm-umbrella's `apiKey` is not `apikey`, and lower-casing it would break
|
|
59
|
-
// exactly the APIs this change exists to fix. So they keep the spec's
|
|
60
|
-
// spelling, byte for byte.
|
|
61
30
|
const resolved = resolveAuthName(model)
|
|
62
31
|
const name = 'header' === where ? resolved.toLowerCase() : resolved
|
|
63
32
|
|
|
64
|
-
// Read so the resolution is visible at generation time, even though the
|
|
65
|
-
// emitted code takes the prefix from options at runtime (the secrets
|
|
66
|
-
// feature rewrites it there, and `auth.prefix` is a documented option).
|
|
67
33
|
const prefix = resolveAuthPrefix(model)
|
|
68
34
|
|
|
69
35
|
const basic = isHttpBasicAuth(model)
|
|
70
36
|
const active = authSwitchedOn(model)
|
|
71
37
|
|
|
72
|
-
// FOLDER NESTING. Main_ocaml calls this with NO Folder open: its own
|
|
73
|
-
// Config, SdkError and `sdk_client.ml` all write straight to the target
|
|
74
|
-
// root, and the only Folder it opens (`feature/secrets` for feature.mk)
|
|
75
|
-
// is scoped to that one block and closed before this call. The ocaml tree
|
|
76
|
-
// is FLAT at the root - sdk_types.ml, sdk_helpers.ml, sdk_runtime.ml,
|
|
77
|
-
// sdk_features.ml, sdk_config.ml all sit there, and the Makefile names
|
|
78
|
-
// each by that exact path in `RUNTIME`.
|
|
79
|
-
//
|
|
80
|
-
// So this component opens NO folder. Opening one (`utility`, say, copying
|
|
81
|
-
// the c and lua ports) would write `<root>/utility/sdk_prepare_auth.ml`,
|
|
82
|
-
// which is NOT what `RUNTIME` lists and NOT where `-I .` looks: ocamlc
|
|
83
|
-
// would report `Unbound module Sdk_prepare_auth` while compiling
|
|
84
|
-
// sdk_runtime.ml, and `utility/` already holds the vendored struct port,
|
|
85
|
-
// which the Copy owns.
|
|
86
38
|
File({ name: 'sdk_prepare_auth.' + target.ext }, () => {
|
|
87
39
|
Content(render({
|
|
88
40
|
project: model.const.Name, active, where, name, prefix, basic,
|
|
@@ -91,30 +43,6 @@ const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
|
91
43
|
})
|
|
92
44
|
|
|
93
45
|
|
|
94
|
-
// NOT `isAuthActive`, AND THE DIFFERENCE IS LOAD-BEARING (the py port found
|
|
95
|
-
// this first; six of the eleven ports found it independently).
|
|
96
|
-
//
|
|
97
|
-
// `isAuthActive` is false whenever the SPEC declares no security scheme
|
|
98
|
-
// (`main.kit.info.auth: false`). That is a statement about the DEFINITION,
|
|
99
|
-
// not a ban on ever sending a credential: apidef writes it for every spec
|
|
100
|
-
// with no securitySchemes block - GitHub's official OpenAPI included - and
|
|
101
|
-
// those SDKs are still expected to honour an `apikey` the caller passes.
|
|
102
|
-
// `optspec` always declares `apikey`, and make_options fills `options.auth`
|
|
103
|
-
// from the optspec defaults, so the runtime `auth = Noval | Null` guard
|
|
104
|
-
// never fired and every such SDK has ALWAYS sent the credential.
|
|
105
|
-
//
|
|
106
|
-
// Gating the body on `isAuthActive` therefore does not trim dead code, it
|
|
107
|
-
// deletes working authentication - and takes the secrets feature with it,
|
|
108
|
-
// since that resolves a secret into `options.apikey` and prepare_auth then
|
|
109
|
-
// places nothing. generatedcompile's own fixture is one of these
|
|
110
|
-
// (`main: kit: info: { ... auth: false }` in generateharness), and the
|
|
111
|
-
// shipped tm/ocaml/test/feature/secrets/t_secrets.ml drives a LIVE client
|
|
112
|
-
// on it.
|
|
113
|
-
//
|
|
114
|
-
// `main.kit.config.auth.active: false` is the project saying "this SDK
|
|
115
|
-
// sends no credential, ever" - an explicit per-SDK switch nobody sets by
|
|
116
|
-
// accident, and the only signal that can honestly be honoured before
|
|
117
|
-
// runtime. So it is the only one used here.
|
|
118
46
|
function authSwitchedOn(model: any): boolean {
|
|
119
47
|
const auth = getModelPath(model, `main.${KIT}.config.auth`,
|
|
120
48
|
{ only_active: false, required: false })
|
|
@@ -132,42 +60,6 @@ type AuthSpec = {
|
|
|
132
60
|
}
|
|
133
61
|
|
|
134
62
|
|
|
135
|
-
// EXTRACTION SHAPE: ITS OWN COMPILATION UNIT, and the module keeps calling
|
|
136
|
-
// it.
|
|
137
|
-
//
|
|
138
|
-
// The preferred shape, and it fits: `sdk_prepare_auth.ml` is module
|
|
139
|
-
// `Sdk_prepare_auth`, compiled between sdk_helpers.ml and sdk_runtime.ml -
|
|
140
|
-
// the Makefile's `RUNTIME` is an explicit ORDERED list (ocamlc compiles a
|
|
141
|
-
// module before anything that uses it and has no link-time reordering), so
|
|
142
|
-
// the position is stated there rather than discovered.
|
|
143
|
-
//
|
|
144
|
-
// THE BINDING IS PRESERVED EXACTLY. sdk_runtime.ml keeps
|
|
145
|
-
//
|
|
146
|
-
// let prepare_auth_util = Sdk_prepare_auth.prepare_auth_util
|
|
147
|
-
//
|
|
148
|
-
// so every existing call site resolves at the same name it always did:
|
|
149
|
-
// - `u_prepare_auth = prepare_auth_util` in new_utility, and
|
|
150
|
-
// `u.u_prepare_auth <- prepare_auth_util` in register - the closure
|
|
151
|
-
// record that IS the ocaml registrar (sdk_types.ml declares the field);
|
|
152
|
-
// - `u.u_prepare_auth ctx` in make_spec_util (sdk_runtime.ml) and in the
|
|
153
|
-
// secrets feature's re-run of the pipeline (sdk_features.ml);
|
|
154
|
-
// - `prepare_auth_util c` in test/primary_utility_test.ml, which reaches
|
|
155
|
-
// it through `open Sdk_runtime` and drives the SHARED corpus section
|
|
156
|
-
// through it - the parity suite requires ocaml to execute `prepareAuth`
|
|
157
|
-
// (parity.test.ts FULL tier), so that name had to keep resolving;
|
|
158
|
-
// - `cl.cl_utility.u_prepare_auth ctx` in the four t_pipeline.ml cases.
|
|
159
|
-
// Nothing in the tree was re-pointed at the new module, and nothing needed
|
|
160
|
-
// to be.
|
|
161
|
-
//
|
|
162
|
-
// THE ONE THING THAT HAD TO MOVE. The body reads the client's options
|
|
163
|
-
// through `client_options_map`, which was defined in sdk_runtime.ml - i.e.
|
|
164
|
-
// AFTER this module in compile order, so it could not be called from here.
|
|
165
|
-
// It is a one-line accessor over `sdk_client.cl_options` with no dependency
|
|
166
|
-
// on anything else in that module, so it moved DOWN into sdk_helpers.ml,
|
|
167
|
-
// where `cc`, `cu`, `getp` and every other shared accessor already live.
|
|
168
|
-
// sdk_runtime.ml opens Sdk_helpers, so its own three call sites are
|
|
169
|
-
// unchanged. The alternative - re-deriving the options map here - would
|
|
170
|
-
// fork a definition that must not drift.
|
|
171
63
|
function render(spec: AuthSpec): string {
|
|
172
64
|
const head = `(* ${spec.project} SDK utility: prepare_auth.
|
|
173
65
|
*
|
|
@@ -234,20 +126,6 @@ function placement(spec: AuthSpec): string {
|
|
|
234
126
|
}
|
|
235
127
|
|
|
236
128
|
|
|
237
|
-
// HEADER. Behaviourally what sdk_runtime.ml's `prepare_auth_util` did, line
|
|
238
|
-
// for line and idiom for idiom: the same `auth_no_spec` error, the same
|
|
239
|
-
// `__NOTFOUND__` sentinel read through `getprop ~alt`, the same
|
|
240
|
-
// missing-credential handling (delete the header), the same empty-prefix
|
|
241
|
-
// rule. Only the credential NAME moves with the model - and it resolves to
|
|
242
|
-
// "authorization" for every header SDK, so those regenerate unchanged.
|
|
243
|
-
//
|
|
244
|
-
// The HTTP Basic block is the one addition, and it is emitted ONLY when the
|
|
245
|
-
// model says the scheme IS basic (`isHttpBasicAuth`). An ordinary
|
|
246
|
-
// bearer/apiKey SDK carries no dead code and no behaviour change. ocaml's
|
|
247
|
-
// extracted body never had this branch: a basic scheme resolved
|
|
248
|
-
// `auth.prefix` to "Basic" and sent `Basic <apikey>` - a single token where
|
|
249
|
-
// the scheme demands `base64(user:pass)`, which cannot authenticate. The
|
|
250
|
-
// other eleven ports added the same branch for the same reason.
|
|
251
129
|
function renderHeader(spec: AuthSpec, head: string): string {
|
|
252
130
|
return head + `
|
|
253
131
|
let option_apikey = "apikey"
|
|
@@ -318,12 +196,6 @@ let prepare_auth_util (ctx : ctx) : (spec option * sdk_error option) =
|
|
|
318
196
|
}
|
|
319
197
|
|
|
320
198
|
|
|
321
|
-
// COOKIE. A cookie IS a header, so the credential rides the header bag -
|
|
322
|
-
// but the \`cookie\` header is SHARED with whatever cookies the caller set
|
|
323
|
-
// through options.headers, so our pair is SPLICED in and out rather than
|
|
324
|
-
// the header assigned over. Splicing also makes this idempotent: the
|
|
325
|
-
// secrets feature re-runs the pipeline on a retried request, and an
|
|
326
|
-
// assignment would leave the credential in the header twice.
|
|
327
199
|
function renderCookie(spec: AuthSpec, head: string): string {
|
|
328
200
|
return head + `
|
|
329
201
|
let cookie_header = "cookie"
|
|
@@ -382,17 +254,6 @@ let prepare_auth_util (ctx : ctx) : (spec option * sdk_error option) =
|
|
|
382
254
|
}
|
|
383
255
|
|
|
384
256
|
|
|
385
|
-
// True HTTP Basic Auth: TWO credentials, base64-joined. Emitted only for a
|
|
386
|
-
// HEADER placement, because the scheme IS a header -
|
|
387
|
-
// \`Authorization: Basic base64(user:pass)\` cannot be expressed as a query
|
|
388
|
-
// parameter or a cookie pair, so renderQuery and renderCookie never carry
|
|
389
|
-
// it.
|
|
390
|
-
//
|
|
391
|
-
// It is the FIRST of three `unit` branches - basic, no-credential,
|
|
392
|
-
// single-token - and the shared \`(Some spec, None)\` after them is the one
|
|
393
|
-
// result. Written that way rather than as an early return because OCaml
|
|
394
|
-
// sequences with \`;\`: a branch returning the tuple could not sit beside
|
|
395
|
-
// two returning unit.
|
|
396
257
|
const BASIC = ` if (match getpath_s options "auth.basic" with Bool b -> b | _ -> false) then begin
|
|
397
258
|
(* True HTTP Basic Auth needs TWO credentials, base64-joined - a
|
|
398
259
|
* single token in the header (the branch below) can never
|
|
@@ -417,12 +278,6 @@ const BASIC = ` if (match getpath_s options "auth.basic" with Bool b -> b
|
|
|
417
278
|
`
|
|
418
279
|
|
|
419
280
|
|
|
420
|
-
// OCaml's stdlib has no base64 (4.14 ships none, and the SDK is
|
|
421
|
-
// dependency-free: stock ocamlc, no opam, no dune). The vendored sekreto
|
|
422
|
-
// port has one, but it lives inside the OPTIONAL secrets feature - an SDK
|
|
423
|
-
// that never asked for secrets does not compile it - so an HTTP Basic SDK
|
|
424
|
-
// carries its own. Emitted only in that branch, so nothing else pays for
|
|
425
|
-
// it. The lua port carries the same encoder for the same reason.
|
|
426
281
|
const BASE64 = `
|
|
427
282
|
let b64_alphabet =
|
|
428
283
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
|
|
@@ -68,7 +68,7 @@ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
|
68
68
|
|
|
69
69
|
publishedEntities.map((entity: any) => {
|
|
70
70
|
const opnames = Object.keys(entity.op || {})
|
|
71
|
-
const fields = entity.fields ||
|
|
71
|
+
const fields = Object.values(entity.fields || {})
|
|
72
72
|
// Model-driven id key: null when this entity has no id-like field.
|
|
73
73
|
const idF = entityIdField(entity)
|
|
74
74
|
const fn = ocamlVarName(entity.name)
|
|
@@ -114,8 +114,8 @@ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
|
114
114
|
`)
|
|
115
115
|
|
|
116
116
|
each(fields, (field: any) => {
|
|
117
|
-
const desc = field.
|
|
118
|
-
Content(`| \`${field.
|
|
117
|
+
const desc = field.sh || ''
|
|
118
|
+
Content(`| \`${field.n}\` | \`${ocamlType(field.t)}\` | ${desc} |
|
|
119
119
|
`)
|
|
120
120
|
})
|
|
121
121
|
|
|
@@ -2,23 +2,6 @@
|
|
|
2
2
|
import { cmp, Content, File } from '@voxgig/sdkgen'
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
// Emits test/readme_examples_test.ml — a structural gate over every ```ocaml
|
|
6
|
-
// fenced block in the three docs that ship ocaml examples:
|
|
7
|
-
// - the root README.md (top-level, multi-language quick start)
|
|
8
|
-
// - the per-language ocaml/README.md
|
|
9
|
-
// - the per-language ocaml/REFERENCE.md
|
|
10
|
-
//
|
|
11
|
-
// DESIGN NOTE (mirrors ReadmeExamplesTest_rust): the py gate shells out to a
|
|
12
|
-
// python subprocess to COMPILE + EXECUTE every block. A faithful ocaml port
|
|
13
|
-
// would shell out to `ocamlc` against each extracted snippet — a large,
|
|
14
|
-
// environment-sensitive harness that cannot be authored safely without a build
|
|
15
|
-
// to validate it (and the generated SDK ships a dependency-free stock-ocamlc
|
|
16
|
-
// build, no doc-test tooling). This gate instead validates that every
|
|
17
|
-
// documented ocaml block is PRESENT and STRUCTURALLY well-formed (balanced
|
|
18
|
-
// delimiters, non-empty). It is a real, always-passing test that keeps the docs
|
|
19
|
-
// honest about block structure; upgrading it to a true compile gate (a temp
|
|
20
|
-
// project that `ocamlc`s each block against the generated SDK) is a follow-up.
|
|
21
|
-
// Missing docs are tolerated (a run may generate a subset of phases).
|
|
22
5
|
const ReadmeExamplesTest = cmp(function ReadmeExamplesTest(props: any) {
|
|
23
6
|
const { target, ctx$: { model } } = props
|
|
24
7
|
|
|
@@ -123,13 +123,13 @@ On error, \`ok\` is \`Bool false\` and \`err\` carries the error value.
|
|
|
123
123
|
|
|
124
124
|
`)
|
|
125
125
|
each(entityList, (ent: any) => {
|
|
126
|
-
const fields = ent.fields ||
|
|
126
|
+
const fields = Object.values(ent.fields || {})
|
|
127
127
|
const opnames = Object.keys(ent.op || {})
|
|
128
128
|
const ops = ent.op || {}
|
|
129
129
|
const points = each(ops).map((op: any) =>
|
|
130
130
|
op.points ? each(op.points) : []
|
|
131
131
|
).flat()
|
|
132
|
-
const path = points.length > 0 ? (points[0] as any).
|
|
132
|
+
const path = points.length > 0 ? (points[0] as any).o || '' : ''
|
|
133
133
|
|
|
134
134
|
Content(`#### ${ent.Name}
|
|
135
135
|
|
|
@@ -137,7 +137,7 @@ On error, \`ok\` is \`Bool false\` and \`err\` carries the error value.
|
|
|
137
137
|
| --- | --- |
|
|
138
138
|
`)
|
|
139
139
|
each(fields, (field: any) => {
|
|
140
|
-
Content(`| \`${field.
|
|
140
|
+
Content(`| \`${field.n}\` | ${field.sh || ''} |
|
|
141
141
|
`)
|
|
142
142
|
})
|
|
143
143
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { cmp, each, Content, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape } from '@voxgig/sdkgen'
|
|
2
|
+
import { cmp, each, Content, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape , targetFeatures } from '@voxgig/sdkgen'
|
|
3
3
|
import { ReadmeRefFeatures } from '@voxgig/sdkgen'
|
|
4
4
|
|
|
5
5
|
import {
|
|
@@ -69,7 +69,7 @@ const ReadmeRef = cmp(function ReadmeRef(props: any) {
|
|
|
69
69
|
const { model } = props.ctx$
|
|
70
70
|
|
|
71
71
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
72
|
-
const feature =
|
|
72
|
+
const feature = targetFeatures(model, target)
|
|
73
73
|
|
|
74
74
|
const publishedEntities = each(entity).filter((e: any) => e.active !== false)
|
|
75
75
|
|
|
@@ -177,7 +177,7 @@ on error.
|
|
|
177
177
|
// Entity reference sections
|
|
178
178
|
publishedEntities.map((ent: any) => {
|
|
179
179
|
const opnames = Object.keys(ent.op || {})
|
|
180
|
-
const fields = ent.fields ||
|
|
180
|
+
const fields = Object.values(ent.fields || {})
|
|
181
181
|
const idF = entityIdField(ent)
|
|
182
182
|
const fn = ocamlVarName(ent.name)
|
|
183
183
|
|
|
@@ -209,9 +209,9 @@ let ${fn} = Sdk_client.${fn} client Noval
|
|
|
209
209
|
| --- | --- | --- | --- |
|
|
210
210
|
`)
|
|
211
211
|
each(fields, (field: any) => {
|
|
212
|
-
const req = field.
|
|
213
|
-
const desc = field.
|
|
214
|
-
Content(`| \`${field.
|
|
212
|
+
const req = field.r ? 'Yes' : 'No'
|
|
213
|
+
const desc = field.sh || ''
|
|
214
|
+
Content(`| \`${field.n}\` | \`${ocamlType(field.t)}\` | ${req} | ${desc} |
|
|
215
215
|
`)
|
|
216
216
|
})
|
|
217
217
|
|
|
@@ -236,7 +236,7 @@ let ${fn} = Sdk_client.${fn} client Noval
|
|
|
236
236
|
if (fop.active === false) return '-'
|
|
237
237
|
return 'Yes'
|
|
238
238
|
})
|
|
239
|
-
Content(`| \`${field.
|
|
239
|
+
Content(`| \`${field.n}\` | ${cols.join(' | ')} |
|
|
240
240
|
`)
|
|
241
241
|
})
|
|
242
242
|
|
|
@@ -392,9 +392,6 @@ let client = Sdk_client.make (jo [
|
|
|
392
392
|
\`\`\`
|
|
393
393
|
|
|
394
394
|
`)
|
|
395
|
-
// The shared feature reference: options, defaults, usage and the
|
|
396
|
-
// considerations. Model facts, identical in every target, so they are
|
|
397
|
-
// written once in cmp/ReadmeRefFeatures.ts rather than here.
|
|
398
395
|
ReadmeRefFeatures({ target })
|
|
399
396
|
}
|
|
400
397
|
|