@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,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 {
|
|
@@ -47,7 +47,7 @@ const ReadmeRef = cmp(function ReadmeRef(props: any) {
|
|
|
47
47
|
const ident = cIdent(model)
|
|
48
48
|
const Name = model.const.Name
|
|
49
49
|
const entity = getModelPath(model, `main.${KIT}.entity`)
|
|
50
|
-
const feature =
|
|
50
|
+
const feature = targetFeatures(model, target)
|
|
51
51
|
|
|
52
52
|
const publishedEntities = each(entity).filter((e: any) => e.active !== false)
|
|
53
53
|
|
|
@@ -174,7 +174,7 @@ Prepare a fetch definition without sending. Returns the fetchdef and sets
|
|
|
174
174
|
// Entity reference sections
|
|
175
175
|
publishedEntities.map((ent: any) => {
|
|
176
176
|
const opnames = Object.keys(ent.op || {})
|
|
177
|
-
const fields = ent.fields ||
|
|
177
|
+
const fields = Object.values(ent.fields || {})
|
|
178
178
|
const idF = entityIdField(ent)
|
|
179
179
|
const evar = cVarName(ent.name)
|
|
180
180
|
const acc = `${ident}_${evar}`
|
|
@@ -207,9 +207,9 @@ Entity* ${evar} = ${acc}(client, NULL);
|
|
|
207
207
|
| --- | --- | --- | --- |
|
|
208
208
|
`)
|
|
209
209
|
each(fields, (field: any) => {
|
|
210
|
-
const req = field.
|
|
211
|
-
const desc = field.
|
|
212
|
-
Content(`| \`${field.
|
|
210
|
+
const req = field.r ? 'Yes' : 'No'
|
|
211
|
+
const desc = field.sh || ''
|
|
212
|
+
Content(`| \`${field.n}\` | \`${cType(field.t)}\` | ${req} | ${desc} |
|
|
213
213
|
`)
|
|
214
214
|
})
|
|
215
215
|
|
|
@@ -234,7 +234,7 @@ Entity* ${evar} = ${acc}(client, NULL);
|
|
|
234
234
|
if (fop.active === false) return '-'
|
|
235
235
|
return 'Yes'
|
|
236
236
|
})
|
|
237
|
-
Content(`| \`${field.
|
|
237
|
+
Content(`| \`${field.n}\` | ${cols.join(' | ')} |
|
|
238
238
|
`)
|
|
239
239
|
})
|
|
240
240
|
|
|
@@ -388,9 +388,6 @@ ${Name}SDK* client = ${ident}_sdk_new(cmap(1,
|
|
|
388
388
|
\`\`\`
|
|
389
389
|
|
|
390
390
|
`)
|
|
391
|
-
// The shared feature reference: options, defaults, usage and the
|
|
392
|
-
// considerations. Model facts, identical in every target, so they are
|
|
393
|
-
// written once in cmp/ReadmeRefFeatures.ts rather than here.
|
|
394
391
|
ReadmeRefFeatures({ target })
|
|
395
392
|
}
|
|
396
393
|
|
|
@@ -23,8 +23,6 @@ function cLit(type: any, placeholder: string = 'example'): string {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
// cmap(...) for a set of `"key", <lit>` pairs, or NULL when empty (ops accept
|
|
27
|
-
// a NULL match/data argument).
|
|
28
26
|
function cmapExpr(pairs: string[]): string {
|
|
29
27
|
return pairs.length ? `cmap(${pairs.length}, ${pairs.join(', ')})` : 'NULL'
|
|
30
28
|
}
|
|
@@ -17,25 +17,6 @@ import {
|
|
|
17
17
|
} from './utility_c'
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
// THE GENERATED SCHEMA MODULE: the model's schemas, as data the SDK can run.
|
|
21
|
-
//
|
|
22
|
-
// The c peer of src/cmp/ts/Schema_ts.ts. Same two members, same source:
|
|
23
|
-
// optspec from `main.kit.optspec` plus each feature's own `config.options`,
|
|
24
|
-
// entityspec from the entity field sentinels — both built by the shared
|
|
25
|
-
// helpers, so what c validates against and what ts validates against cannot
|
|
26
|
-
// drift.
|
|
27
|
-
//
|
|
28
|
-
// EMBEDDED AS JSON, PARSED AT LOAD, where ts emits an object literal: JSON is
|
|
29
|
-
// a subset of TypeScript's own literal syntax and is not a subset of c's. A
|
|
30
|
-
// string constant, exactly as config.c carries its data rep above the size
|
|
31
|
-
// threshold, and for the same reason — a nested `cmap(...)` literal is one
|
|
32
|
-
// expression whose depth is what makes a C compiler's parser and register
|
|
33
|
-
// allocator quadratic. The spec has no threshold of its own because it is
|
|
34
|
-
// bounded by the option list and the feature set rather than by the API.
|
|
35
|
-
//
|
|
36
|
-
// The round-trip is exact because the spec holds only strings and booleans:
|
|
37
|
-
// pinned by "strings and booleans only, so the JSON round-trip is lossless"
|
|
38
|
-
// in ts/test/optspec.test.ts.
|
|
39
20
|
const Schema = cmp(async function Schema(props: any) {
|
|
40
21
|
const ctx$ = props.ctx$
|
|
41
22
|
|
|
@@ -54,7 +35,7 @@ const Schema = cmp(async function Schema(props: any) {
|
|
|
54
35
|
Content(`// ${model.const.Name} SDK: generated schemas. Do not edit.
|
|
55
36
|
//
|
|
56
37
|
// Built from the model: \`main.kit.optspec\` and each feature's
|
|
57
|
-
// \`config.options\` for the option spec; entity \`fields
|
|
38
|
+
// \`config.options\` for the option spec; entity \`fields{}.type\` for the
|
|
58
39
|
// entity specs.
|
|
59
40
|
|
|
60
41
|
#include "api.h"
|
|
@@ -30,10 +30,10 @@ function normalizePathParams(
|
|
|
30
30
|
const snaked = snakify(rawName)
|
|
31
31
|
const depluralized = depluralize(snaked)
|
|
32
32
|
const param = params.find((p: any) =>
|
|
33
|
-
p.
|
|
33
|
+
p.n === snaked || p.n === depluralized) ||
|
|
34
34
|
params.find((p: any) =>
|
|
35
|
-
p.
|
|
36
|
-
if (param) return '{' + param.
|
|
35
|
+
p.or === snaked || p.or === depluralized)
|
|
36
|
+
if (param) return '{' + param.n + '}'
|
|
37
37
|
|
|
38
38
|
if (rename) {
|
|
39
39
|
for (const [origCamel, renamedTo] of Object.entries(rename)) {
|
|
@@ -41,10 +41,10 @@ function normalizePathParams(
|
|
|
41
41
|
const origSnaked = snakify(origCamel)
|
|
42
42
|
const origDepluralized = depluralize(origSnaked)
|
|
43
43
|
const renamedParam = params.find(
|
|
44
|
-
(p: any) => p.
|
|
45
|
-
p.
|
|
44
|
+
(p: any) => p.or === origSnaked || p.n === origSnaked ||
|
|
45
|
+
p.or === origDepluralized || p.n === origDepluralized
|
|
46
46
|
)
|
|
47
|
-
if (renamedParam) return '{' + renamedParam.
|
|
47
|
+
if (renamedParam) return '{' + renamedParam.n + '}'
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
}
|
|
@@ -76,15 +76,15 @@ const TestDirect = cmp(function TestDirect(props: any) {
|
|
|
76
76
|
const listOp = (entity.op as any)?.list
|
|
77
77
|
|
|
78
78
|
const loadPoint = loadOp?.points?.[0]
|
|
79
|
-
const loadPath = loadPoint ? normalizePathParams(pointParts(loadPoint), loadPoint?.
|
|
80
|
-
const allLoadParams = loadPoint?.
|
|
79
|
+
const loadPath = loadPoint ? normalizePathParams(pointParts(loadPoint), loadPoint?.g?.params || [], loadPoint?.r?.param) : ''
|
|
80
|
+
const allLoadParams = loadPoint?.g?.params || []
|
|
81
81
|
const _pathPlaceholders = new Set<string>()
|
|
82
82
|
for (const part of pointParts(loadPoint)) {
|
|
83
83
|
if (typeof part === 'string' && part.startsWith('{') && part.endsWith('}')) {
|
|
84
84
|
_pathPlaceholders.add(part.slice(1, -1))
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
-
const _renameMap = (loadPoint?.
|
|
87
|
+
const _renameMap = (loadPoint?.r?.param || {}) as Record<string, string>
|
|
88
88
|
const _renamedPlaceholders = new Set<string>()
|
|
89
89
|
for (const ph of _pathPlaceholders) {
|
|
90
90
|
_renamedPlaceholders.add(ph)
|
|
@@ -93,11 +93,11 @@ const TestDirect = cmp(function TestDirect(props: any) {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
const loadParams = allLoadParams.filter((p: any) =>
|
|
96
|
-
_renamedPlaceholders.has(p.
|
|
96
|
+
_renamedPlaceholders.has(p.n) || _renamedPlaceholders.has(p.or))
|
|
97
97
|
|
|
98
98
|
const listPoint = listOp?.points?.[0]
|
|
99
|
-
const listPath = listPoint ? normalizePathParams(pointParts(listPoint), listPoint?.
|
|
100
|
-
const listParams = listPoint?.
|
|
99
|
+
const listPath = listPoint ? normalizePathParams(pointParts(listPoint), listPoint?.g?.params || [], listPoint?.r?.param) : ''
|
|
100
|
+
const listParams = listPoint?.g?.params || []
|
|
101
101
|
|
|
102
102
|
File({ name: entity.name + '_direct_test.c' }, () => {
|
|
103
103
|
|
|
@@ -23,13 +23,6 @@ function cVarName(name: string): string {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
// The C project identifier used as a function-name prefix, e.g. solar. Must
|
|
27
|
-
// match the SQUASHED `projectname` token that the umbrella header/fragment use
|
|
28
|
-
// for the constructor (`<ident>_sdk_new`): a hyphenated slug
|
|
29
|
-
// (bluefin-decryptx-p2pe) squashes to `bluefindecryptxp2pe`, so drop every
|
|
30
|
-
// non-alphanumeric char rather than mapping them to `_` (which produced
|
|
31
|
-
// `bluefin_decryptx_p2pe_sdk_new` callers that never linked against the
|
|
32
|
-
// squashed definition). No-op for single-word names.
|
|
33
26
|
function cIdent(model: any): string {
|
|
34
27
|
return String(model.name).toLowerCase().replace(/[^a-z0-9]/g, '')
|
|
35
28
|
}
|
|
@@ -88,29 +81,6 @@ function formatCValue(val: any, indent: number = 0): string {
|
|
|
88
81
|
}
|
|
89
82
|
|
|
90
83
|
|
|
91
|
-
// Deep-remove meta keys (`foo$`) from a model subtree (twin of go/rust clean).
|
|
92
|
-
// Emission-time normalisation of a model subtree (L0).
|
|
93
|
-
//
|
|
94
|
-
// Always drops jostraca's iteration metadata (`$`-suffixed keys: index$,
|
|
95
|
-
// key$, val$). With `dropDefaults`, also drops keys whose value IS the
|
|
96
|
-
// default the runtime already assumes when the key is absent, which is pure
|
|
97
|
-
// payload — see CONFIG_DEFAULT.
|
|
98
|
-
//
|
|
99
|
-
// Rebuilds the tree rather than mutating during a walk. The previous
|
|
100
|
-
// implementation walked a clone calling `delete p[k]`, but walk() assigns its
|
|
101
|
-
// callback's result back over the child (`setprop(out, ckey, walk(...))`), so
|
|
102
|
-
// the delete was undone on the way out and the helper silently did nothing.
|
|
103
|
-
// Returning `undefined` from the callback does not fix it either: setprop
|
|
104
|
-
// stores undefined rather than removing the key, which then emits as a null.
|
|
105
|
-
//
|
|
106
|
-
// `dropDefaults` is opt-in and must be passed ONLY for the entity subtree.
|
|
107
|
-
// `active` means something different in feature config, where absent reads as
|
|
108
|
-
// INACTIVE (see feature_init) — dropping `active: true` there would silently
|
|
109
|
-
// disable the feature.
|
|
110
|
-
// jostraca's iteration metadata, injected by each()/names() while it walks the
|
|
111
|
-
// model. Listed explicitly rather than matched by trailing-dollar suffix: a
|
|
112
|
-
// trailing dollar is not exclusive to jostraca -- Seneca uses entity$ as real
|
|
113
|
-
// data -- so a blanket suffix match can silently drop a legitimate API field.
|
|
114
84
|
const MODEL_META = ['index$', 'key$', 'val$']
|
|
115
85
|
|
|
116
86
|
// Keys whose value IS the default the runtime already assumes when the key is
|
|
@@ -151,23 +121,6 @@ function clean(o: any, dropDefaults?: boolean): any {
|
|
|
151
121
|
|
|
152
122
|
|
|
153
123
|
|
|
154
|
-
// The JSON as a C string literal, split into ADJACENT literals.
|
|
155
|
-
//
|
|
156
|
-
// C99 only guarantees 4095 characters in a single string literal, and a real
|
|
157
|
-
// model runs to hundreds of kilobytes. Adjacent literals are concatenated by
|
|
158
|
-
// the translation phase before that limit applies, so this stays portable
|
|
159
|
-
// rather than relying on gcc/clang having no practical limit.
|
|
160
|
-
//
|
|
161
|
-
// Only `\` and `"` need escaping: JSON.stringify output contains no raw
|
|
162
|
-
// control characters (it writes them as the six TEXT characters \u00XX), and
|
|
163
|
-
// C string literals take UTF-8 bytes verbatim. Escaping the backslash also
|
|
164
|
-
// means no `\uXXXX` ever reaches the C lexer, which matters - a universal
|
|
165
|
-
// character name below 0xA0 is ill-formed C, so the JSON's own escapes would
|
|
166
|
-
// have been rejected if they had been passed through.
|
|
167
|
-
//
|
|
168
|
-
// Chunks are cut from the RAW text and escaped afterwards, so a cut can never
|
|
169
|
-
// land inside an escape sequence. Surrogate pairs are kept whole, or the cut
|
|
170
|
-
// would emit a lone surrogate as invalid UTF-8.
|
|
171
124
|
function cStringLiteral(json: string, chunkSize: number = 2000): string {
|
|
172
125
|
const parts: string[] = []
|
|
173
126
|
let i = 0
|
|
@@ -44,33 +44,8 @@ const Config = cmp(async function Config(props: any) {
|
|
|
44
44
|
|
|
45
45
|
const model: Model = ctx$.model
|
|
46
46
|
|
|
47
|
-
// The canonical config OBJECT and its JSON, from the shared helper. Both
|
|
48
|
-
// representations render from the same `def`, so they cannot describe
|
|
49
|
-
// different configs - and this target picks up `options.server` (the OpenAPI
|
|
50
|
-
// server-variable defaults), which the hand-rolled build here omitted.
|
|
51
|
-
// Passing target.name opts this target into the main slug/version/target
|
|
52
|
-
// identity fields (read by station's descriptor - see configDefinition).
|
|
53
47
|
const { def: config, json: baseJson } = configDefinition(model, target.name)
|
|
54
48
|
|
|
55
|
-
// WHERE THE CREDENTIAL GOES, AND UNDER WHAT NAME, travel with the prefix
|
|
56
|
-
// now. apidef resolved `in` and `name` from the spec's securityScheme all
|
|
57
|
-
// along and generation dropped them, so an apiKey-in-query API got an
|
|
58
|
-
// Authorization header it does not read.
|
|
59
|
-
//
|
|
60
|
-
// Emitted ONLY when they differ from the header/Authorization defaults, so
|
|
61
|
-
// a header-based SDK's config.clj is byte-identical to what it generated
|
|
62
|
-
// before - the `asData` threshold included, since that is measured on the
|
|
63
|
-
// JSON built here.
|
|
64
|
-
//
|
|
65
|
-
// Both representations still render from this ONE `def` (the literal
|
|
66
|
-
// through formatCljValue, the data rep through the JSON), so they cannot
|
|
67
|
-
// describe different configs. The shared configDefinition is deliberately
|
|
68
|
-
// NOT changed: it feeds every target, and this is the clojure rollout.
|
|
69
|
-
//
|
|
70
|
-
// core.clj's optspec had to learn the two keys as well ("auth" (vs/jm
|
|
71
|
-
// "prefix" "" "basic" false "in" "" "name" "")) - `vs/validate` refuses a
|
|
72
|
-
// key it does not name, so without that an SDK carrying this block could
|
|
73
|
-
// not be constructed at all.
|
|
74
49
|
const authIn = resolveAuthIn(model)
|
|
75
50
|
const authName = resolveAuthName(model)
|
|
76
51
|
const configAuth = config?.options?.auth
|
|
@@ -83,28 +58,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
83
58
|
|
|
84
59
|
const asData = isConfigData(configJson, configReprSetting(model))
|
|
85
60
|
|
|
86
|
-
// THE FEATURE WIRING (the clojure peer of Config_go's pluginImports /
|
|
87
|
-
// FeaturePlugins, and of Config_ts's pluginDefs).
|
|
88
|
-
//
|
|
89
|
-
// Two maps, both always emitted so sdk.features can name them without
|
|
90
|
-
// knowing whether this SDK selected anything:
|
|
91
|
-
//
|
|
92
|
-
// feature-plugins the voxgig/plugin DEFINITIONS the model's plugin
|
|
93
|
-
// groups selected, per feature. Upstream sekreto's
|
|
94
|
-
// contract since the registry was retired is that a
|
|
95
|
-
// provider kind not passed in is unknown to that
|
|
96
|
-
// Sekreto - so this map IS the SDK's provider
|
|
97
|
-
// vocabulary, and an inactive group leaves neither a
|
|
98
|
-
// require nor a reference behind.
|
|
99
|
-
//
|
|
100
|
-
// feature-extra the constructor for each feature whose source lives
|
|
101
|
-
// outside src/sdk/features.clj. make-feature consults
|
|
102
|
-
// it rather than requiring the container directly,
|
|
103
|
-
// which is what keeps the ~35 vendored namespaces out
|
|
104
|
-
// of every clojure SDK's load graph.
|
|
105
|
-
//
|
|
106
|
-
// Emitted HERE (not in the feature container) so the load order is
|
|
107
|
-
// core -> feature/secrets -> config -> features -> client, with no cycle.
|
|
108
61
|
const extra = extraFeatures(model, target)
|
|
109
62
|
const { requires: plugreq, plugins: featplugins } = pluginRequires(model, target)
|
|
110
63
|
|
|
@@ -126,17 +79,6 @@ const Config = cmp(async function Config(props: any) {
|
|
|
126
79
|
|
|
127
80
|
File({ name: 'config.clj' }, () => {
|
|
128
81
|
|
|
129
|
-
// ABOVE THE THRESHOLD: emit the model as DATA.
|
|
130
|
-
//
|
|
131
|
-
// The literal is one nested form the Clojure reader walks and the compiler
|
|
132
|
-
// turns into constructor calls at load; a string is one token, and
|
|
133
|
-
// `sdk.core/json-parse` builds the same LinkedHashMap/ArrayList nodes
|
|
134
|
-
// `vs/jm` and `vs/jt` produce. It is already the SDK's response decoder,
|
|
135
|
-
// so this adds no dependency.
|
|
136
|
-
//
|
|
137
|
-
// JSON.stringify output is a valid Clojure string literal: it escapes
|
|
138
|
-
// every backslash, so the JSON's own `\uXXXX` reaches the reader as
|
|
139
|
-
// `\\uXXXX` and no Clojure escape is ever formed from it.
|
|
140
82
|
if (asData) {
|
|
141
83
|
Content(`;; ${model.const.Name} SDK configuration (generated by @voxgig/sdkgen).
|
|
142
84
|
;;
|
|
@@ -166,11 +108,6 @@ ${wireBlock}`)
|
|
|
166
108
|
})
|
|
167
109
|
|
|
168
110
|
|
|
169
|
-
// The augmentation above must be a NO-OP for a header/Authorization SDK, and
|
|
170
|
-
// that is the whole byte-identity claim - so it is checked rather than
|
|
171
|
-
// asserted in a comment. A future change to configDefinition that starts
|
|
172
|
-
// emitting `in`/`name` itself would make this fire rather than silently
|
|
173
|
-
// double up.
|
|
174
111
|
function assertHeaderIdentity(now: string, before: string, authIn: string, authName: string) {
|
|
175
112
|
const defaults = 'header' === authIn && 'Authorization' === authName
|
|
176
113
|
if (defaults && now !== before) {
|
|
@@ -24,7 +24,6 @@ const Entity = cmp(function Entity(props: any) {
|
|
|
24
24
|
|
|
25
25
|
const ff = Path.normalize(__dirname + '/../../../src/cmp/clojure/fragment/')
|
|
26
26
|
|
|
27
|
-
// Entity files go to src/sdk/entity/<name>.clj (ns sdk.entity.<name>).
|
|
28
27
|
Folder({ name: 'src' }, () => {
|
|
29
28
|
Folder({ name: 'sdk' }, () => {
|
|
30
29
|
Folder({ name: 'entity' }, () => {
|
|
@@ -26,11 +26,6 @@ import { MainEntity } from './MainEntity_clojure'
|
|
|
26
26
|
import { PrepareAuth } from './PrepareAuth_clojure'
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
// Features that ship a top-level `feature/<name>/` container in
|
|
30
|
-
// tm/clojure. Listed rather than discovered: a component cannot walk the
|
|
31
|
-
// template tree, and the list is short and changes with the templates it
|
|
32
|
-
// describes. Anything named here is EXCLUDED from the verbatim copy unless
|
|
33
|
-
// the model selects it (see the Copy below).
|
|
34
29
|
const CONTAINED = ['secrets']
|
|
35
30
|
|
|
36
31
|
|
|
@@ -45,33 +40,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
45
40
|
|
|
46
41
|
Gitignore({})
|
|
47
42
|
|
|
48
|
-
// Copy tm/clojure verbatim (runtime under src/, the test suite under test/,
|
|
49
|
-
// Makefile/LICENSE/VERSION). The feature-add scaffolding under src/feature
|
|
50
|
-
// is excluded — the clojure target does not use per-feature custom source.
|
|
51
|
-
//
|
|
52
|
-
// THE TOP-LEVEL feature/ CONTAINER IS GATED HERE, at generate time.
|
|
53
|
-
//
|
|
54
|
-
// clojure declares `feature: trim: false` (model/target/clojure.aon)
|
|
55
|
-
// because every ordinary feature lives in the single generated module
|
|
56
|
-
// src/sdk/features.clj, so `target add` copies the whole template tree.
|
|
57
|
-
// That was harmless while nothing per-feature existed. It stopped being
|
|
58
|
-
// harmless with `secrets`: its container holds a vendored
|
|
59
|
-
// @voxgig/sekreto port and the voxgig/plugin runtime, and an SDK that
|
|
60
|
-
// never asked for secrets would otherwise ship ~35 files of key-store,
|
|
61
|
-
// request-signing and child-process code. So the container is excluded
|
|
62
|
-
// unless the model SELECTS the feature — the top-level-container peer of
|
|
63
|
-
// the `srcFeatureExcludes` gate ts and js apply to src/feature/<name>/.
|
|
64
|
-
//
|
|
65
|
-
// pluginExcludes: one level deeper, the generate-time plugin trim. An
|
|
66
|
-
// INACTIVE plugin group's declared files stay out of the tree; the
|
|
67
|
-
// model's `path` entries are target-root-relative, which is this Copy's
|
|
68
|
-
// root. It runs independently of `feature.trim`, so the group trim works
|
|
69
|
-
// while that decision stands.
|
|
70
|
-
//
|
|
71
|
-
// The gated feature's own TEST suite goes with it, and is named
|
|
72
|
-
// separately: it lives at test/sdk/test/feature/<name>.clj (a file, so
|
|
73
|
-
// the container pattern's trailing slash does not reach it) because
|
|
74
|
-
// Clojure resolves `sdk.test.feature.<name>` to that exact path.
|
|
75
43
|
const featureGate = extraFeatures(model, target).map((f: any) => f.name)
|
|
76
44
|
const containerExcludes = CONTAINED
|
|
77
45
|
.filter((name: string) => !featureGate.includes(name))
|
|
@@ -88,15 +56,6 @@ const Main = cmp(async function Main(props: any) {
|
|
|
88
56
|
}
|
|
89
57
|
})
|
|
90
58
|
|
|
91
|
-
// Generated config namespace (src/sdk/config.clj), and the generated
|
|
92
|
-
// credential placement (src/sdk/prepare_auth.clj).
|
|
93
|
-
//
|
|
94
|
-
// BOTH SIT IN THIS ONE src/sdk PAIR, and neither opens a folder of its own.
|
|
95
|
-
// The Copy above roots tm/clojure at the target root, so the copied
|
|
96
|
-
// core.clj lands at src/sdk/core.clj; prepare_auth.clj has to be its
|
|
97
|
-
// SIBLING, because core.clj reads it with `(load "prepare_auth")` and that
|
|
98
|
-
// resolves to the classpath resource `sdk/prepare_auth.clj` under
|
|
99
|
-
// deps.edn's `:paths ["src"]`.
|
|
100
59
|
Folder({ name: 'src' }, () => {
|
|
101
60
|
Folder({ name: 'sdk' }, () => {
|
|
102
61
|
Config({ target })
|
|
@@ -16,26 +16,6 @@ import {
|
|
|
16
16
|
} from './featureextra_clojure'
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
// deps.edn — the tools.deps manifest. The vendored voxgig struct port needs no
|
|
20
|
-
// external dependency; the library itself only needs org.clojure/clojure. The
|
|
21
|
-
// tools.deps shim used to run the tests supports `-M:alias` reading :paths /
|
|
22
|
-
// :extra-paths / :main-opts, but NOT per-alias :extra-deps, so every dependency
|
|
23
|
-
// lives at the top-level :deps.
|
|
24
|
-
//
|
|
25
|
-
// `test/vendor/omni` is a SECOND test source root, not a subdirectory of the
|
|
26
|
-
// first: the vendored @voxgig/omni port declares `voxgig.omni.runner`, so its
|
|
27
|
-
// namespaces resolve only when the directory holding `voxgig/` is itself on
|
|
28
|
-
// the classpath. Rooting it at `test` instead would demand the namespace
|
|
29
|
-
// `vendor.omni.voxgig.omni.runner`, which the vendored file cannot carry -
|
|
30
|
-
// it is read-only, resynced from upstream.
|
|
31
|
-
//
|
|
32
|
-
// A feature whose source ships as its own tree - `secrets`, which vendors
|
|
33
|
-
// a whole @voxgig/sekreto port - needs the SAME treatment for the SAME
|
|
34
|
-
// reason: the vendored files declare `voxgig.sekreto.chain`, so they
|
|
35
|
-
// resolve only when the directory holding `voxgig/` is on the classpath.
|
|
36
|
-
// So `feature/<name>` joins :paths, and only when the model selects that
|
|
37
|
-
// feature: an SDK that did not ask for secrets gets the deps.edn it always
|
|
38
|
-
// had, naming no directory that is not there.
|
|
39
19
|
const Package = cmp(async function Package(props: any) {
|
|
40
20
|
const ctx$ = props.ctx$
|
|
41
21
|
const target = props.target
|
|
@@ -16,66 +16,10 @@ import {
|
|
|
16
16
|
} from '@voxgig/apidef'
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
// WHERE THE CREDENTIAL GOES IS A FACT ABOUT THE API, so it is generated
|
|
20
|
-
// rather than templated. The clojure port of cmp/ts/PrepareAuth_ts.ts; see
|
|
21
|
-
// that file for the full account of the defect.
|
|
22
|
-
//
|
|
23
|
-
// apidef has always resolved the scheme's `in` and `name` into
|
|
24
|
-
// `main.kit.info.security` — joplin's says `in: "query", name: "token"` —
|
|
25
|
-
// and generation dropped both, so the SDK sent a header the API does not
|
|
26
|
-
// read and never sent the query parameter it does. Four repos in the cedar
|
|
27
|
-
// fleet ship that way: joplin (`token`), pipedrive (`api_token`), trello
|
|
28
|
-
// (`key`), lm-umbrella (`apiKey`).
|
|
29
|
-
//
|
|
30
|
-
// CLOJURE HAD NO prepare_auth TEMPLATE TO REPLACE. The other twelve targets
|
|
31
|
-
// each had a standalone file; here the logic was EMBEDDED in
|
|
32
|
-
// tm/clojure/src/sdk/core.clj as `u-prepare-auth`, three constants above it,
|
|
33
|
-
// and the `:prepare-auth u-prepare-auth` entry in `base-utility-map`.
|
|
34
|
-
//
|
|
35
|
-
// THE EXTRACTION SHAPE: its own FILE, still inside the sdk.core NAMESPACE.
|
|
36
|
-
//
|
|
37
|
-
// A separate namespace is not available, and not for a stylistic reason.
|
|
38
|
-
// `u-prepare-auth` calls `oget`, `ctx-error` and `client-options-map`, all
|
|
39
|
-
// defined in sdk.core, while sdk.core's `base-utility-map` must reference
|
|
40
|
-
// `u-prepare-auth` — so `(:require [sdk.prepare-auth])` from sdk.core plus
|
|
41
|
-
// `(:require [sdk.core])` back is a load cycle, which Clojure refuses
|
|
42
|
-
// outright ("Cyclic load dependency"). The alternatives are worse: passing
|
|
43
|
-
// four core functions in as arguments, or late-binding through an atom the
|
|
44
|
-
// way kotlin's `lateinit var prepareAuth` does, would both restructure the
|
|
45
|
-
// runtime to work around a problem Clojure already has an answer for.
|
|
46
|
-
//
|
|
47
|
-
// That answer is `load`, the idiom clojure.core itself uses to split across
|
|
48
|
-
// files (core.clj does `(load "core_deftype")`, `(load "core_print")`, …).
|
|
49
|
-
// The generated file opens with `(in-ns 'sdk.core)` and is READ INTO sdk.core
|
|
50
|
-
// at the exact point the defn used to sit, so:
|
|
51
|
-
//
|
|
52
|
-
// - every helper it calls is already defined above it, unchanged;
|
|
53
|
-
// - the symbol `u-prepare-auth` resolves in `base-utility-map` exactly as
|
|
54
|
-
// before, so the `:prepare-auth` binding is untouched;
|
|
55
|
-
// - `core/HEADER-AUTH`, which feature/secrets/sdk/feature/secrets.clj
|
|
56
|
-
// reads, is still a public var of sdk.core;
|
|
57
|
-
// - and the call sites — `(ucall ctx :prepare-auth)` in core.clj's
|
|
58
|
-
// `u-make-spec`, `((core/uget ctx :prepare-auth) ctx)` in client.clj's
|
|
59
|
-
// `prepare`, and the same spelling in test/sdk/test/pipeline.clj and
|
|
60
|
-
// test/sdk/test/primary.clj — all still go through the utility map.
|
|
61
|
-
//
|
|
62
|
-
// A template cannot fix the defect, because the three placements need three
|
|
63
|
-
// different bodies and a template has to pick one. This emits the branch the
|
|
64
|
-
// API actually uses and nothing else — no dead query code in a bearer-token
|
|
65
|
-
// SDK, and no runtime `if` on a value that is fixed at generation time.
|
|
66
19
|
const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
67
20
|
const { target } = props
|
|
68
21
|
const model: Model = props.ctx$.model
|
|
69
22
|
|
|
70
|
-
// NO FOLDER IS OPENED HERE, and that is the whole of the placement
|
|
71
|
-
// decision. Main_clojure calls this inside its `Folder({name:'src'}) >
|
|
72
|
-
// Folder({name:'sdk'})` pair — the same pair Config sits in, and Config
|
|
73
|
-
// opens no folder of its own either. The file has to land beside the
|
|
74
|
-
// copied core.clj at `src/sdk/prepare_auth.clj`, because deps.edn declares
|
|
75
|
-
// `:paths ["src"]` and `(load "prepare_auth")` from the namespace sdk.core
|
|
76
|
-
// resolves to the CLASSPATH RESOURCE `sdk/prepare_auth.clj`. Opening a
|
|
77
|
-
// second `src`/`sdk` here would write `src/sdk/src/sdk/prepare_auth.clj`,
|
|
78
|
-
// which is not that resource.
|
|
79
23
|
File({ name: 'prepare_auth.' + target.ext }, () => {
|
|
80
24
|
Content(render({
|
|
81
25
|
Name: model.const.Name,
|
|
@@ -83,9 +27,6 @@ const PrepareAuth = cmp(async function PrepareAuth(props: any) {
|
|
|
83
27
|
where: resolveAuthIn(model),
|
|
84
28
|
name: resolveAuthName(model),
|
|
85
29
|
basic: isHttpBasicAuth(model),
|
|
86
|
-
// Read so the resolution is visible at generation time even though the
|
|
87
|
-
// emitted code takes the prefix from options at runtime (the secrets
|
|
88
|
-
// feature rewrites it there).
|
|
89
30
|
prefix: resolveAuthPrefix(model),
|
|
90
31
|
}))
|
|
91
32
|
})
|
|
@@ -122,45 +63,16 @@ function render(spec: AuthSpec): string {
|
|
|
122
63
|
}
|
|
123
64
|
|
|
124
65
|
|
|
125
|
-
// HEADER NAMES ARE LOWER-CASED; QUERY PARAMETER AND COOKIE NAMES ARE NOT.
|
|
126
|
-
//
|
|
127
|
-
// `resolveAuthName` answers 'Authorization' by default, but the whole clojure
|
|
128
|
-
// runtime spells header names in lower case: the template this replaces held
|
|
129
|
-
// `(def HEADER-AUTH "authorization")`, the shipped
|
|
130
|
-
// test/sdk/test/feature/secrets.clj reads `(vs/getprop headers
|
|
131
|
-
// "authorization")`, test/sdk/test/pipeline.clj asserts on the same key, and
|
|
132
|
-
// the shared corpus asserts `ctx:spec:headers:authorization`. The spec's
|
|
133
|
-
// headers are a java.util.LinkedHashMap, whose keys are case-SENSITIVE, so
|
|
134
|
-
// emitting "Authorization" would put the credential under a key nothing
|
|
135
|
-
// reads. HTTP header names are case-insensitive on the wire, so lower-casing
|
|
136
|
-
// costs nothing. A query parameter and a cookie ARE case-sensitive (`?Token=`
|
|
137
|
-
// is not `?token=`), so those go in verbatim.
|
|
138
66
|
function headerName(name: string): string {
|
|
139
67
|
return String(name).toLowerCase()
|
|
140
68
|
}
|
|
141
69
|
|
|
142
70
|
|
|
143
|
-
// `core/HEADER-AUTH` IS PART OF sdk.core's PUBLIC SURFACE, so it is emitted
|
|
144
|
-
// for every placement: feature/secrets/sdk/feature/secrets.clj writes the
|
|
145
|
-
// re-authenticated credential with `(.put ^java.util.Map headers
|
|
146
|
-
// core/HEADER-AUTH ...)`, and an SDK that resolves secrets would not compile
|
|
147
|
-
// without the var.
|
|
148
|
-
//
|
|
149
|
-
// For a header scheme it is the header this SDK actually uses, so the two
|
|
150
|
-
// writers agree by construction. For a query or cookie scheme the secrets
|
|
151
|
-
// feature has no header of its own to name — its re-auth is an Authorization
|
|
152
|
-
// rewrite, and the shipped suite asserts that literal — so the var keeps the
|
|
153
|
-
// value it has always had rather than being pointed at a query parameter
|
|
154
|
-
// name that means nothing in a header.
|
|
155
71
|
function headerAuthConst(spec: AuthSpec): string {
|
|
156
72
|
return 'header' === spec.where ? headerName(spec.name) : 'authorization'
|
|
157
73
|
}
|
|
158
74
|
|
|
159
75
|
|
|
160
|
-
// HEADER. Byte-for-byte the block that was in core.clj when the scheme
|
|
161
|
-
// resolves to the defaults (header / Authorization), so every header-based
|
|
162
|
-
// SDK regenerates unchanged — only the constant's VALUE moves with the model,
|
|
163
|
-
// plus the HTTP Basic branch, which is emitted only for a basic scheme.
|
|
164
76
|
function renderHeader(spec: AuthSpec, head: string): string {
|
|
165
77
|
return head + `(def HEADER-AUTH ${cljstr(headerName(spec.name))})
|
|
166
78
|
(def OPTION-APIKEY "apikey")
|
|
@@ -182,9 +94,6 @@ ${spec.basic ? basicBlock() : headerPlace(14)}
|
|
|
182
94
|
}
|
|
183
95
|
|
|
184
96
|
|
|
185
|
-
// The template's own body, unchanged: an empty prefix (a raw apiKey
|
|
186
|
-
// credential) must not add a leading space, and a missing credential deletes
|
|
187
|
-
// whatever was there rather than leaving a stale value behind.
|
|
188
97
|
function headerPlace(col: number): string {
|
|
189
98
|
const p = ' '.repeat(col)
|
|
190
99
|
return `${p}(if (or (nil? apikey) (and (string? apikey) (or (= apikey NOT-FOUND) (= apikey ""))))
|
|
@@ -196,11 +105,6 @@ ${p} (if (= auth-prefix "") apikey-val (str auth-prefix " " apikey-val)
|
|
|
196
105
|
}
|
|
197
106
|
|
|
198
107
|
|
|
199
|
-
// HTTP Basic is header-only by definition: the scheme is
|
|
200
|
-
// `Authorization: Basic base64(user:pass)`. It cannot be expressed as a query
|
|
201
|
-
// parameter or a cookie, so the branch is emitted only where it can mean
|
|
202
|
-
// something — and only when the model says the scheme IS basic, so an
|
|
203
|
-
// ordinary bearer SDK carries no dead code.
|
|
204
108
|
function basicBlock(): string {
|
|
205
109
|
return ` ;; True HTTP Basic Auth needs TWO credentials, base64-joined - a
|
|
206
110
|
;; single token in the header (the branch below) can never
|
|
@@ -221,9 +125,6 @@ ${headerPlace(16)})`
|
|
|
221
125
|
}
|
|
222
126
|
|
|
223
127
|
|
|
224
|
-
// QUERY. The credential is a query parameter, so it goes in the spec's query
|
|
225
|
-
// map (which u-make-url turns into the query string) and the headers are
|
|
226
|
-
// never touched.
|
|
227
128
|
function renderQuery(spec: AuthSpec, head: string): string {
|
|
228
129
|
return head + `;; Retained for feature/secrets, whose re-auth writes an Authorization
|
|
229
130
|
;; header; this SDK's own credential is a query parameter (see QUERY-AUTH).
|
|
@@ -253,11 +154,6 @@ function renderQuery(spec: AuthSpec, head: string): string {
|
|
|
253
154
|
}
|
|
254
155
|
|
|
255
156
|
|
|
256
|
-
// COOKIE. A cookie IS a header, so the credential rides the header bag — but
|
|
257
|
-
// the `cookie` header is SHARED with whatever cookies the caller set, so our
|
|
258
|
-
// own pair is spliced in and out rather than the header being assigned over.
|
|
259
|
-
// Splicing also makes this idempotent: a retried request cannot end up
|
|
260
|
-
// carrying the credential twice.
|
|
261
157
|
function renderCookie(spec: AuthSpec, head: string): string {
|
|
262
158
|
return head + `;; Retained for feature/secrets, whose re-auth writes an Authorization
|
|
263
159
|
;; header; this SDK's own credential is a cookie (see COOKIE-AUTH).
|
|
@@ -331,30 +227,6 @@ function renderInactive(spec: AuthSpec, head: string): string {
|
|
|
331
227
|
}
|
|
332
228
|
|
|
333
229
|
|
|
334
|
-
// NOT `isAuthActive`, AND THE DIFFERENCE IS LOAD-BEARING (the py and rb ports
|
|
335
|
-
// found this first; same reasoning, same fix).
|
|
336
|
-
//
|
|
337
|
-
// `isAuthActive` is false whenever the SPEC declares no security scheme
|
|
338
|
-
// (`main.kit.info.auth: false`). That is a statement about the DEFINITION,
|
|
339
|
-
// not a ban on ever sending a credential: apidef writes it for every spec
|
|
340
|
-
// with no securitySchemes block — GitHub's official OpenAPI included, and
|
|
341
|
-
// sdkgen's own generate fixture — and those SDKs are still expected to honour
|
|
342
|
-
// an `apikey` the caller passes. core.clj's optspec ALWAYS declares `apikey`
|
|
343
|
-
// and `auth`, and make-options fills `options.auth` from those defaults, so
|
|
344
|
-
// the runtime `(nil? (vs/getprop options "auth"))` guard never fires and the
|
|
345
|
-
// credential has always gone out.
|
|
346
|
-
//
|
|
347
|
-
// Gating the body on `isAuthActive` therefore does not trim dead code, it
|
|
348
|
-
// deletes working authentication — and takes the secrets feature with it,
|
|
349
|
-
// since that resolves a secret into `options.apikey` and prepare-auth then
|
|
350
|
-
// places nothing. The shipped tm/clojure/test/sdk/test/feature/secrets.clj
|
|
351
|
-
// suite, which sdkgen's own `clojure: the secrets feature runs with the
|
|
352
|
-
// feature active` lane runs, is what catches it.
|
|
353
|
-
//
|
|
354
|
-
// So the no-op is emitted only when the PROJECT says so:
|
|
355
|
-
// `main.kit.config.auth.active: false`, an explicit per-SDK switch nobody
|
|
356
|
-
// sets by accident. A spec that is merely silent keeps the credential path it
|
|
357
|
-
// has always had.
|
|
358
230
|
function authSwitchedOn(model: any): boolean {
|
|
359
231
|
const auth = getModelPath(model, `main.${KIT}.config.auth`,
|
|
360
232
|
{ only_active: false, required: false })
|
|
@@ -362,8 +234,6 @@ function authSwitchedOn(model: any): boolean {
|
|
|
362
234
|
}
|
|
363
235
|
|
|
364
236
|
|
|
365
|
-
// A Clojure string literal. The reader's escapes are backslash-led, so only
|
|
366
|
-
// the backslash and the double quote need handling.
|
|
367
237
|
function cljstr(s: string): string {
|
|
368
238
|
return '"' + String(s).replace(/\\/g, '\\\\').replace(/"/g, '\\"') + '"'
|
|
369
239
|
}
|
|
@@ -65,7 +65,7 @@ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
|
65
65
|
|
|
66
66
|
publishedEntities.map((entity: any) => {
|
|
67
67
|
const opnames = Object.keys(entity.op || {})
|
|
68
|
-
const fields = entity.fields ||
|
|
68
|
+
const fields = Object.values(entity.fields || {})
|
|
69
69
|
// Model-driven id key: null when this entity has no id-like field.
|
|
70
70
|
const idF = entityIdField(entity)
|
|
71
71
|
const eLow = entity.name
|
|
@@ -111,8 +111,8 @@ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
|
|
|
111
111
|
`)
|
|
112
112
|
|
|
113
113
|
each(fields, (field: any) => {
|
|
114
|
-
const desc = field.
|
|
115
|
-
Content(`| \`${field.
|
|
114
|
+
const desc = field.sh || ''
|
|
115
|
+
Content(`| \`${field.n}\` | \`${cljType(field.t)}\` | ${desc} |
|
|
116
116
|
`)
|
|
117
117
|
})
|
|
118
118
|
|