@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
|
@@ -10,26 +10,26 @@ const live_runner_1 = require("./live-runner");
|
|
|
10
10
|
const utility_1 = require("./utility");
|
|
11
11
|
// The offline flow keeps its deterministic fixture assertions. Live flows
|
|
12
12
|
// resolve real prerequisites per operation and collect failures until done.
|
|
13
|
-
async function runLiveEntity(setup, entity, flow, accessor) {
|
|
13
|
+
async function runLiveEntity(setup, entity, flow, accessor, facts = {}) {
|
|
14
14
|
const { client, transport } = setup;
|
|
15
|
-
const steps = flow.step || [];
|
|
15
|
+
const steps = (flow.step || []).filter((step) => false !== step.a);
|
|
16
16
|
const created = new Map();
|
|
17
17
|
const listed = [];
|
|
18
18
|
const marks = new Map();
|
|
19
19
|
const idField = entity.id?.field || 'id';
|
|
20
20
|
const copy = (value) => JSON.parse(JSON.stringify(value ?? {}));
|
|
21
|
-
const hasCreate = steps.some(step => step.
|
|
21
|
+
const hasCreate = steps.some(step => step.o === 'create');
|
|
22
22
|
const report = await (0, live_runner_1.runLiveSteps)(steps.map((step, index) => {
|
|
23
|
-
const ref = step.
|
|
24
|
-
const op = step.
|
|
23
|
+
const ref = step.i?.ref || entity.name + '_ref01';
|
|
24
|
+
const op = step.o;
|
|
25
25
|
const excluded = (0, utility_1.isControlSkipped)('entityOp', entity.name + '.' + op, 'live');
|
|
26
26
|
return {
|
|
27
27
|
id: entity.name + '.' + op + '.' + index,
|
|
28
|
-
cleanup: op === 'remove' || (step.
|
|
28
|
+
cleanup: op === 'remove' || (step.v || []).some((v) => v.apply === 'ItemNotExists'),
|
|
29
29
|
excluded: excluded.skip ? excluded.reason || 'Excluded by test control' : undefined,
|
|
30
30
|
run: async (context) => {
|
|
31
31
|
transport.enter(context);
|
|
32
|
-
const points = entity.op?.[op]?.points || [];
|
|
32
|
+
const points = (entity.op?.[op]?.points || []).filter((point) => false !== point.a);
|
|
33
33
|
if (!points.length)
|
|
34
34
|
throw new live_runner_1.LiveBlocked('No modelled operation point');
|
|
35
35
|
const record = created.get(ref);
|
|
@@ -48,7 +48,7 @@ async function runLiveEntity(setup, entity, flow, accessor) {
|
|
|
48
48
|
}
|
|
49
49
|
let input = op === 'create'
|
|
50
50
|
? copy(setup.data.new?.[entity.name]?.[ref]) : {};
|
|
51
|
-
for (const [name, binding] of Object.entries({ ...step.
|
|
51
|
+
for (const [name, binding] of Object.entries({ ...step.m, ...step.d })) {
|
|
52
52
|
const value = setup.idmap[binding] ?? setup.idmap[name];
|
|
53
53
|
if (undefined !== value)
|
|
54
54
|
input[name] = value;
|
|
@@ -66,22 +66,22 @@ async function runLiveEntity(setup, entity, flow, accessor) {
|
|
|
66
66
|
let selected;
|
|
67
67
|
const missing = new Set();
|
|
68
68
|
for (const point of points) {
|
|
69
|
-
if (point.
|
|
69
|
+
if (point.q?.$action !== input.$action)
|
|
70
70
|
continue;
|
|
71
71
|
const candidate = { ...input };
|
|
72
72
|
let viable = true;
|
|
73
|
-
const params = point.
|
|
74
|
-
const query = (point.
|
|
73
|
+
const params = point.g?.params || [];
|
|
74
|
+
const query = (point.g?.query || []).filter((arg) => arg.r);
|
|
75
75
|
for (const arg of [...params, ...query]) {
|
|
76
|
-
if (undefined !== candidate[arg.
|
|
76
|
+
if (undefined !== candidate[arg.n] && null !== candidate[arg.n])
|
|
77
77
|
continue;
|
|
78
|
-
const key = arg.
|
|
79
|
-
const value = setup.idmap[key] ?? setup.idmap[arg.
|
|
78
|
+
const key = arg.n === 'id' ? entity.name + '01' : arg.n.replace(/_id$/, '') + '01';
|
|
79
|
+
const value = setup.idmap[key] ?? setup.idmap[arg.n] ?? loaded?.[arg.n] ?? arg.ex;
|
|
80
80
|
if (undefined !== value && null !== value)
|
|
81
|
-
candidate[arg.
|
|
82
|
-
else if (arg.
|
|
81
|
+
candidate[arg.n] = value;
|
|
82
|
+
else if (arg.r !== false) {
|
|
83
83
|
viable = false;
|
|
84
|
-
missing.add(arg.
|
|
84
|
+
missing.add(arg.n);
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
if (viable) {
|
|
@@ -93,22 +93,22 @@ async function runLiveEntity(setup, entity, flow, accessor) {
|
|
|
93
93
|
if (!resolved)
|
|
94
94
|
throw new live_runner_1.LiveBlocked('No usable route; missing arguments: ' + [...missing].join(', '));
|
|
95
95
|
input = resolved;
|
|
96
|
-
if (op === 'create' && selected.
|
|
97
|
-
const
|
|
98
|
-
const request = (0, live_contract_1.requestContract)(
|
|
96
|
+
if (op === 'create' && facts[selected.m + ' ' + selected.o]) {
|
|
97
|
+
const selectedFacts = facts[selected.m + ' ' + selected.o];
|
|
98
|
+
const request = (0, live_contract_1.requestContract)(selectedFacts);
|
|
99
99
|
if (request.schema)
|
|
100
|
-
input = { ...(0, live_contract_1.synthesizeInput)(request.schema,
|
|
101
|
-
else if (
|
|
100
|
+
input = { ...(0, live_contract_1.synthesizeInput)(request.schema, selected.li?.input ?? request.example) };
|
|
101
|
+
else if (selectedFacts.protocol === 'http')
|
|
102
102
|
input = {};
|
|
103
|
-
for (const arg of selected.
|
|
104
|
-
if (resolved[arg.
|
|
105
|
-
input[arg.
|
|
103
|
+
for (const arg of selected.g?.params || [])
|
|
104
|
+
if (resolved[arg.n] !== undefined)
|
|
105
|
+
input[arg.n] = resolved[arg.n];
|
|
106
106
|
}
|
|
107
107
|
let intendedMark;
|
|
108
108
|
if (op === 'update') {
|
|
109
|
-
for (const spec of step.
|
|
110
|
-
if (spec.apply === 'TextFieldMark' && step.
|
|
111
|
-
const mark = { name: step.
|
|
109
|
+
for (const spec of step.s || []) {
|
|
110
|
+
if (spec.apply === 'TextFieldMark' && step.i?.textfield) {
|
|
111
|
+
const mark = { name: step.i.textfield, value: spec.def.mark + '_' + setup.now };
|
|
112
112
|
input[mark.name] = mark.value;
|
|
113
113
|
intendedMark = mark;
|
|
114
114
|
}
|
|
@@ -127,7 +127,7 @@ async function runLiveEntity(setup, entity, flow, accessor) {
|
|
|
127
127
|
});
|
|
128
128
|
listed.splice(0, listed.length, ...data);
|
|
129
129
|
context.publish(data);
|
|
130
|
-
for (const validation of step.
|
|
130
|
+
for (const validation of step.v || []) {
|
|
131
131
|
const previous = created.get(validation.def?.ref);
|
|
132
132
|
const id = previous?.[idField] ?? previous?.id;
|
|
133
133
|
if (undefined === id)
|
|
@@ -64,10 +64,10 @@ async function runLiveScenarios(SDK, plan, envPrefix, liveDefaults = {}) {
|
|
|
64
64
|
let input = request.schema ? (0, live_contract_1.synthesizeInput)(request.schema, explicit) : explicit ?? {};
|
|
65
65
|
for (const kind of ['params', 'query', 'header', 'cookie'])
|
|
66
66
|
for (const arg of point.args?.[kind] || []) {
|
|
67
|
-
if (arg.
|
|
68
|
-
if (arg.
|
|
69
|
-
throw new live_runner_1.LiveBlocked('Missing required argument: ' + arg.
|
|
70
|
-
input[arg.
|
|
67
|
+
if (arg.r && input[arg.n] === undefined) {
|
|
68
|
+
if (arg.ex === undefined)
|
|
69
|
+
throw new live_runner_1.LiveBlocked('Missing required argument: ' + arg.n);
|
|
70
|
+
input[arg.n] = arg.ex;
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
const role = hint.auth || (point.facts.security?.length === 0 || point.facts.securitySource === 'unspecified' ? 'public' : 'account');
|
|
@@ -63,12 +63,16 @@ class TestFeature : BaseFeature("test", "0.0.1", true) {
|
|
|
63
63
|
if (null == data || null == ctx) return data
|
|
64
64
|
val tm = Struct.getprop(ctx.point, "transform")
|
|
65
65
|
val restf = Struct.getprop(tm, "res") as? String ?: return data
|
|
66
|
-
//
|
|
67
|
-
//
|
|
66
|
+
// Rebuild whatever nesting the transform unwraps. Multi-segment on purpose:
|
|
67
|
+
// GraphQL ops unwrap `body.data.<field>`, not just one envelope property.
|
|
68
68
|
if (!restf.startsWith("`body.") || !restf.endsWith("`") || restf.length < 8) return data
|
|
69
69
|
val inner = restf.substring(6, restf.length - 1)
|
|
70
|
-
if (inner.isEmpty()
|
|
71
|
-
|
|
70
|
+
if (inner.isEmpty()) return data
|
|
71
|
+
var out: Any? = data
|
|
72
|
+
for (seg in inner.split(".").reversed()) {
|
|
73
|
+
out = linkedMapOf<String, Any?>(seg to out)
|
|
74
|
+
}
|
|
75
|
+
return out
|
|
72
76
|
}
|
|
73
77
|
|
|
74
78
|
private fun respond(ctx: Context?, status: Int, data: Any?, extra: MutableMap<String, Any?>?): MutableMap<String, Any?> {
|
|
@@ -1394,12 +1394,14 @@ let test_feature () : feature =
|
|
|
1394
1394
|
match getp (getp ctx.c_point "transform") "res" with
|
|
1395
1395
|
| Str spec ->
|
|
1396
1396
|
let n = String.length spec in
|
|
1397
|
-
(*
|
|
1398
|
-
|
|
1397
|
+
(* Rebuild whatever nesting the transform unwraps. Multi-segment on
|
|
1398
|
+
purpose: GraphQL ops unwrap `body.data.<field>`. *)
|
|
1399
1399
|
if n > 7 && String.sub spec 0 6 = "`body." && spec.[n - 1] = '`' then
|
|
1400
1400
|
let inner = String.sub spec 6 (n - 7) in
|
|
1401
|
-
if String.length inner = 0
|
|
1402
|
-
else
|
|
1401
|
+
if String.length inner = 0 then data
|
|
1402
|
+
else
|
|
1403
|
+
List.fold_left (fun out seg -> jo [(seg, out)]) data
|
|
1404
|
+
(List.rev (String.split_on_char '.' inner))
|
|
1403
1405
|
else data
|
|
1404
1406
|
| _ -> data in
|
|
1405
1407
|
let respond ctx status data extra =
|
|
@@ -66,10 +66,12 @@ sub init {
|
|
|
66
66
|
my $tm = ProjectNameHelpers::gp($fctx->{point}, 'transform');
|
|
67
67
|
my $spec = ProjectNameHelpers::gp($tm, 'res');
|
|
68
68
|
return $data unless defined $spec && !ref($spec);
|
|
69
|
-
#
|
|
70
|
-
#
|
|
71
|
-
return $data unless $spec =~ /^`body\.(
|
|
72
|
-
|
|
69
|
+
# Rebuild whatever nesting the transform unwraps. Multi-segment on purpose:
|
|
70
|
+
# GraphQL ops unwrap `body.data.<field>`, not just one envelope property.
|
|
71
|
+
return $data unless $spec =~ /^`body\.(.+)`$/;
|
|
72
|
+
my $out = $data;
|
|
73
|
+
$out = { $_ => $out } for reverse split /\./, $1, -1;
|
|
74
|
+
return $out;
|
|
73
75
|
};
|
|
74
76
|
|
|
75
77
|
my $respond = sub {
|
|
@@ -4,9 +4,10 @@ require_relative '../utility/struct/voxgig_struct'
|
|
|
4
4
|
require_relative 'base_feature'
|
|
5
5
|
|
|
6
6
|
class ProjectNameTestFeature < ProjectNameBaseFeature
|
|
7
|
-
# The `body.<
|
|
8
|
-
#
|
|
9
|
-
|
|
7
|
+
# The `body.<path>` form of an op's response transform: the mock rebuilds
|
|
8
|
+
# whatever nesting the transform unwraps. Multi-segment on purpose: GraphQL
|
|
9
|
+
# ops unwrap body.data.<field>, not just one level.
|
|
10
|
+
ENVELOPE_RES_RE = /\A`body\.(.+)`\z/
|
|
10
11
|
|
|
11
12
|
def initialize
|
|
12
13
|
super
|
|
@@ -52,7 +53,8 @@ class ProjectNameTestFeature < ProjectNameBaseFeature
|
|
|
52
53
|
restf = transform["res"]
|
|
53
54
|
next data unless restf.is_a?(String)
|
|
54
55
|
m = ENVELOPE_RES_RE.match(restf)
|
|
55
|
-
|
|
56
|
+
next data if m.nil?
|
|
57
|
+
m[1].split('.', -1).reverse.reduce(data) { |out, seg| { seg => out } }
|
|
56
58
|
}
|
|
57
59
|
|
|
58
60
|
respond = ->(status, data, extra) {
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
// Operation context (mirrors go core/context.go). Fields use interior
|
|
2
|
-
// mutability (RefCell) since the pipeline mutates the context in place;
|
|
3
|
-
// contexts are shared as Rc<Context>.
|
|
4
1
|
|
|
5
2
|
use std::cell::RefCell;
|
|
6
3
|
use std::collections::HashMap;
|
|
@@ -236,8 +233,6 @@ impl Context {
|
|
|
236
233
|
}
|
|
237
234
|
|
|
238
235
|
fn resolve_op(&self, opname: &str) -> Rc<Operation> {
|
|
239
|
-
// Cache key is `<entity>:<opname>` so two entities with the same op
|
|
240
|
-
// (e.g. both have a "list") get distinct cached Operations.
|
|
241
236
|
let entname = self
|
|
242
237
|
.entity
|
|
243
238
|
.borrow()
|
|
@@ -26,28 +26,23 @@ pub fn unsupported_op(opname: &str, entityname: &str) -> ProjectNameError {
|
|
|
26
26
|
)
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
/// Property read: `getp(map, "key")` — Noval when absent (mirrors GetProp).
|
|
30
29
|
pub fn getp(val: &Value, key: &str) -> Value {
|
|
31
30
|
vs::get_prop(val, &Value::str(key), Value::Noval)
|
|
32
31
|
}
|
|
33
32
|
|
|
34
|
-
/// Path read on a Value store.
|
|
35
33
|
pub fn getpath(path: &[&str], store: &Value) -> Value {
|
|
36
34
|
let p = Value::list(path.iter().map(|s| Value::str(*s)).collect());
|
|
37
35
|
vs::get_path(store, &p, None)
|
|
38
36
|
}
|
|
39
37
|
|
|
40
|
-
/// Property write (no-op when val is not a node).
|
|
41
38
|
pub fn setp(val: &Value, key: &str, newval: Value) {
|
|
42
39
|
vs::set_prop(val.clone(), &Value::str(key), newval);
|
|
43
40
|
}
|
|
44
41
|
|
|
45
|
-
/// Map literal builder: `jo(vec![("a", v)])`.
|
|
46
42
|
pub fn jo(pairs: Vec<(&str, Value)>) -> Value {
|
|
47
43
|
Value::map_of(pairs.into_iter().map(|(k, v)| (k.to_string(), v)))
|
|
48
44
|
}
|
|
49
45
|
|
|
50
|
-
/// List literal builder.
|
|
51
46
|
pub fn ja(items: Vec<Value>) -> Value {
|
|
52
47
|
Value::list(items)
|
|
53
48
|
}
|
|
@@ -60,7 +55,6 @@ pub fn to_map(v: &Value) -> Value {
|
|
|
60
55
|
}
|
|
61
56
|
}
|
|
62
57
|
|
|
63
|
-
/// Go `ToInt`: numeric coercion with -1 default.
|
|
64
58
|
pub fn to_int(v: &Value) -> i64 {
|
|
65
59
|
match v {
|
|
66
60
|
Value::Num(n) => *n as i64,
|
|
@@ -96,7 +90,6 @@ pub fn get_f64(m: &Value, key: &str) -> Option<f64> {
|
|
|
96
90
|
}
|
|
97
91
|
}
|
|
98
92
|
|
|
99
|
-
/// Wall clock in milliseconds.
|
|
100
93
|
pub fn now_ms() -> i64 {
|
|
101
94
|
SystemTime::now()
|
|
102
95
|
.duration_since(UNIX_EPOCH)
|
|
@@ -104,15 +97,12 @@ pub fn now_ms() -> i64 {
|
|
|
104
97
|
.unwrap_or(0)
|
|
105
98
|
}
|
|
106
99
|
|
|
107
|
-
/// Real sleep in milliseconds.
|
|
108
100
|
pub fn sleep_ms(ms: i64) {
|
|
109
101
|
if ms > 0 {
|
|
110
102
|
std::thread::sleep(std::time::Duration::from_millis(ms as u64));
|
|
111
103
|
}
|
|
112
104
|
}
|
|
113
105
|
|
|
114
|
-
// Small thread-local LCG for ids and jitter (std has no rand; determinism
|
|
115
|
-
// is not required here — injectable generators cover the tests).
|
|
116
106
|
thread_local! {
|
|
117
107
|
static RAND_SEED: RefCell<i64> = RefCell::new(
|
|
118
108
|
SystemTime::now()
|
|
@@ -122,7 +112,6 @@ thread_local! {
|
|
|
122
112
|
);
|
|
123
113
|
}
|
|
124
114
|
|
|
125
|
-
/// Pseudo-random integer in [0, n).
|
|
126
115
|
pub fn rand_int(n: i64) -> i64 {
|
|
127
116
|
if n <= 0 {
|
|
128
117
|
return 0;
|
|
@@ -148,7 +137,6 @@ pub fn call_vfn(f: &Value, arg: &Value) -> Value {
|
|
|
148
137
|
}
|
|
149
138
|
}
|
|
150
139
|
|
|
151
|
-
/// Wrap a plain single-argument closure as a `Value::Func`.
|
|
152
140
|
pub fn vfn<F>(f: F) -> Value
|
|
153
141
|
where
|
|
154
142
|
F: Fn(&Value) -> Value + 'static,
|
|
@@ -156,13 +144,10 @@ where
|
|
|
156
144
|
Value::func(move |_inj, val, _r, _s| f(val))
|
|
157
145
|
}
|
|
158
146
|
|
|
159
|
-
/// Call the transport-shaped response `json` entry (a `Value::Func`)
|
|
160
|
-
/// yielding the parsed body.
|
|
161
147
|
pub fn call_json(json: &Value) -> Value {
|
|
162
148
|
call_vfn(json, &Value::Noval)
|
|
163
149
|
}
|
|
164
150
|
|
|
165
|
-
/// Build a `json` thunk that returns a fixed value.
|
|
166
151
|
pub fn json_thunk(data: Value) -> Value {
|
|
167
152
|
Value::func(move |_i, _v, _r, _s| data.clone())
|
|
168
153
|
}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
// Endpoint point description (mirrors go core/target.go NewPoint). Points
|
|
2
|
-
// stay Value maps in the pipeline; this typed view is a convenience for
|
|
3
|
-
// callers that want field access.
|
|
4
1
|
|
|
5
2
|
use crate::core::helpers::{get_bool, get_str, getp, jo, to_map};
|
|
6
3
|
use crate::utility::voxgigstruct::Value;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// Core traits and shared type aliases (mirrors go core/types.go).
|
|
2
1
|
|
|
3
2
|
use std::cell::RefCell;
|
|
4
3
|
use std::rc::Rc;
|
|
@@ -20,7 +19,6 @@ pub trait Feature {
|
|
|
20
19
|
fn name(&self) -> String;
|
|
21
20
|
fn active(&self) -> bool;
|
|
22
21
|
|
|
23
|
-
/// Ordering options consulted by the featureAdd utility. Default: None.
|
|
24
22
|
fn add_options(&self) -> Option<Value> {
|
|
25
23
|
None
|
|
26
24
|
}
|
|
@@ -42,11 +40,8 @@ pub trait Feature {
|
|
|
42
40
|
fn pre_done(&mut self, _ctx: &Rc<Context>) {}
|
|
43
41
|
fn pre_unexpected(&mut self, _ctx: &Rc<Context>) {}
|
|
44
42
|
|
|
45
|
-
/// Non-standard hooks (go dispatches these reflectively; rust routes
|
|
46
|
-
/// unknown hook names here).
|
|
47
43
|
fn custom_hook(&mut self, _name: &str, _ctx: &Rc<Context>) {}
|
|
48
44
|
|
|
49
|
-
/// Hook dispatch by name (called by the featureHook utility).
|
|
50
45
|
fn dispatch(&mut self, name: &str, ctx: &Rc<Context>) {
|
|
51
46
|
match name {
|
|
52
47
|
"PostConstruct" => self.post_construct(ctx),
|
|
@@ -77,9 +72,6 @@ pub trait Entity {
|
|
|
77
72
|
fn data(&self, args: Option<&Value>) -> Value;
|
|
78
73
|
fn matchv(&self, args: Option<&Value>) -> Value;
|
|
79
74
|
|
|
80
|
-
/// `remove` resolves to the entity, marked. The instance KEEPS the data
|
|
81
|
-
/// it held — a caller can still read what was deleted — but it is no
|
|
82
|
-
/// longer a live record.
|
|
83
75
|
fn mark_deleted(&self);
|
|
84
76
|
fn deleted(&self) -> bool;
|
|
85
77
|
}
|
|
@@ -87,16 +79,6 @@ pub trait Entity {
|
|
|
87
79
|
/// ProjectNameEntity: the full CRUD contract every generated entity
|
|
88
80
|
/// implements. Ops the API spec doesn't define are runtime-error stubs.
|
|
89
81
|
pub trait ProjectNameEntity: Entity + Sized {
|
|
90
|
-
/// Every operation resolves to the ENTITY, not the raw data — `list` to a
|
|
91
|
-
/// vector of them, one per record. The record is reached through
|
|
92
|
-
/// `.data(None)`. See AGENTS.md "Entity operations return ENTITIES".
|
|
93
|
-
///
|
|
94
|
-
/// The receivers are `&Rc<Self>` because the result IS this entity: the
|
|
95
|
-
/// op absorbs `resdata`/`resmatch` into it and hands the handle back.
|
|
96
|
-
/// `Value` cannot carry an entity — it is a closed data union
|
|
97
|
-
/// (Noval|Null|Bool|Num|Str|List|Map|Func|Sentinel) and adding a variant
|
|
98
|
-
/// to a general-purpose struct library to carry SDK objects would be
|
|
99
|
-
/// wrong — so the CONTRACT lives in these signatures instead.
|
|
100
82
|
fn load(self: &Rc<Self>, reqmatch: Value, ctrl: Value) -> Result<Rc<Self>, ProjectNameError>;
|
|
101
83
|
fn list(self: &Rc<Self>, reqmatch: Value, ctrl: Value) -> Result<Vec<Rc<Self>>, ProjectNameError>;
|
|
102
84
|
fn create(self: &Rc<Self>, reqdata: Value, ctrl: Value) -> Result<Rc<Self>, ProjectNameError>;
|
|
@@ -109,8 +91,6 @@ pub trait ProjectNameEntity: Entity + Sized {
|
|
|
109
91
|
pub type FetcherFn =
|
|
110
92
|
Rc<dyn Fn(&Rc<Context>, &str, &Value) -> Result<Value, ProjectNameError>>;
|
|
111
93
|
|
|
112
|
-
/// Pipeline stage products staged on ctx.out (go stores these in the
|
|
113
|
-
/// untyped ctx.Out map; rust keeps them in one typed enum).
|
|
114
94
|
#[derive(Clone)]
|
|
115
95
|
pub enum OutVal {
|
|
116
96
|
Val(Value),
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
// The Utility bundle (mirrors go core/utility_type.go). Go carries the
|
|
2
|
-
// utilities as swappable function pointers; rust binds them statically and
|
|
3
|
-
// keeps the two members that genuinely vary per client swappable: the
|
|
4
|
-
// transport (`fetcher`, wrapped by features like retry/cache/netsim) and
|
|
5
|
-
// the `custom` map of caller-supplied utility callables.
|
|
6
1
|
|
|
7
2
|
use std::cell::RefCell;
|
|
8
3
|
use std::rc::Rc;
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
// Audit trail (mirrors go feature/audit_feature.go). Emits a structured
|
|
2
|
-
// record for every operation — who (actor), what (entity + op), the
|
|
3
|
-
// outcome, and a correlation id — suitable for compliance logging. Records
|
|
4
|
-
// accumulate on the feature (bounded by `max`, default 1000) and, when a
|
|
5
|
-
// `sink` callback is supplied, are also pushed to it. The actor is the
|
|
6
|
-
// per-call ctrl actor, falling back to the options `actor`, then
|
|
7
|
-
// "anonymous". Each operation is audited exactly once (the per-context
|
|
8
|
-
// marker in ctx.out prevents a PreDone + PreUnexpected double-log).
|
|
9
|
-
// Timestamps use the injectable `now` clock so tests stay deterministic.
|
|
10
1
|
|
|
11
2
|
use std::rc::Rc;
|
|
12
3
|
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
// BaseFeature: the no-op feature every hook defaults to (mirrors go
|
|
2
|
-
// feature/base_feature.go). Custom features can embed it for name/active
|
|
3
|
-
// bookkeeping and add_options ordering support.
|
|
4
1
|
|
|
5
2
|
use crate::core::types::Feature;
|
|
6
3
|
use crate::utility::voxgigstruct::Value;
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
// Response caching for safe (read) requests (mirrors go
|
|
2
|
-
// feature/cache_feature.go). Wraps the active transport and serves a fresh
|
|
3
|
-
// cached snapshot instead of hitting the network when the same method+URL
|
|
4
|
-
// was fetched within `ttl` ms (default: 5000). Only successful (2xx)
|
|
5
|
-
// responses to cacheable methods (default: GET) are stored, keyed by
|
|
6
|
-
// method+URL. The cache is bounded (`max` entries, default 256, oldest
|
|
7
|
-
// evicted first) and every hit/miss/bypass is counted. Bodies are
|
|
8
|
-
// snapshotted on capture so both the current caller and later hits can
|
|
9
|
-
// re-read the JSON body repeatedly.
|
|
10
1
|
|
|
11
2
|
use std::cell::RefCell;
|
|
12
3
|
use std::collections::HashMap;
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
// Client tracking (mirrors go feature/clienttrack_feature.go). Establishes
|
|
2
|
-
// a stable per-client session id at construction and stamps identifying
|
|
3
|
-
// headers on every request: a `User-Agent` (`<clientName>/<clientVersion>`),
|
|
4
|
-
// an `X-Client-Id` (session), and a fresh per-request `X-Request-Id`.
|
|
5
|
-
// Header names, client name/version and the id generator (`idgen`) are
|
|
6
|
-
// configurable; caller-provided User-Agent / X-Client-Id values are never
|
|
7
|
-
// clobbered.
|
|
8
1
|
|
|
9
2
|
use std::rc::Rc;
|
|
10
3
|
|
|
@@ -1,26 +1,3 @@
|
|
|
1
|
-
// Cost tracking and spend budget (mirrors ts
|
|
2
|
-
// src/feature/cost/CostFeature.ts). Uses BOTH seams, which is the point of
|
|
3
|
-
// the feature: money is spent per HTTP ATTEMPT (a retried call is charged
|
|
4
|
-
// again, because the upstream API charges it again), but it is owed by an
|
|
5
|
-
// OPERATION. So the transport wrap prices each attempt, and pre_done
|
|
6
|
-
// attributes the running total to `<entity>.<op>` and to the caller (the
|
|
7
|
-
// per-call ctrl actor, the same actor the audit feature records).
|
|
8
|
-
//
|
|
9
|
-
// The price of an attempt comes from the first source that answers: a
|
|
10
|
-
// response header (`header` x `perUnit`), the rate table (`rates`, keyed
|
|
11
|
-
// `<entity>.<op>` / `<op>` / `*`), then the flat `unit`. A body figure
|
|
12
|
-
// (`path` x `perUnit`, e.g. "usage.total_tokens") is read at pre_done
|
|
13
|
-
// instead, from the already-parsed result, and describes the whole call, so
|
|
14
|
-
// it REPLACES the per-attempt estimate rather than adding to it.
|
|
15
|
-
//
|
|
16
|
-
// `budget` caps total spend. With `onBudget: "deny"` a further operation is
|
|
17
|
-
// refused at pre_point (via ctx.out["point"], which MakePoint surfaces),
|
|
18
|
-
// before an endpoint is resolved and before anything reaches the network.
|
|
19
|
-
//
|
|
20
|
-
// ORDER MATTERS. Cost must sit INSIDE the cache, or a response served from
|
|
21
|
-
// cache is charged for money that was never spent. The default (map) order
|
|
22
|
-
// puts cache innermost and cost outside it, so activate them in list form
|
|
23
|
-
// with cost first.
|
|
24
1
|
|
|
25
2
|
use std::cell::RefCell;
|
|
26
3
|
use std::collections::HashMap;
|
|
@@ -232,14 +209,6 @@ fn charge(
|
|
|
232
209
|
let attempts = get_f64(&pending, "attempts").unwrap_or(0.0) + 1.0;
|
|
233
210
|
let total = get_f64(&pending, "amount").unwrap_or(0.0) + amount;
|
|
234
211
|
|
|
235
|
-
// Reported and estimated are kept apart per ATTEMPT: a 503 priced from the
|
|
236
|
-
// rate table followed by a 200 carrying the cost header is part estimate,
|
|
237
|
-
// part reported, and collapsing both into the final attempt's category
|
|
238
|
-
// would corrupt the split.
|
|
239
|
-
//
|
|
240
|
-
// A failed transport is an Err VALUE here, not a panic, so it already
|
|
241
|
-
// reaches this point and is priced from the table or unit - no separate
|
|
242
|
-
// catch is needed, unlike the ts/js ports.
|
|
243
212
|
let bucket = if "header" == source || "body" == source { "reported" } else { "estimated" };
|
|
244
213
|
let prev = get_f64(&pending, bucket).unwrap_or(0.0);
|
|
245
214
|
setp(&pending, bucket, Value::Num(prev + amount));
|
|
@@ -252,9 +221,6 @@ fn charge(
|
|
|
252
221
|
|
|
253
222
|
track.borrow_mut().attempts += 1;
|
|
254
223
|
|
|
255
|
-
// direct() and graphql() reach the transport without dispatching any
|
|
256
|
-
// pipeline hooks, so there is no pre_point to gate on and no pre_done to
|
|
257
|
-
// commit. Their spend is committed here, or it would never be counted.
|
|
258
224
|
if !piped {
|
|
259
225
|
commit(track, options, ctx, &pending, "_", "direct");
|
|
260
226
|
ctx.out_take(COST_PENDING_KEY);
|
|
@@ -278,9 +244,6 @@ fn new_pending() -> Value {
|
|
|
278
244
|
}
|
|
279
245
|
|
|
280
246
|
|
|
281
|
-
// Commit one operation's spend: totals, budget, per-op and per-actor
|
|
282
|
-
// attribution, and the record. Shared by finish and the raw-request path in
|
|
283
|
-
// charge, which has no pre_done to reach.
|
|
284
247
|
fn commit(
|
|
285
248
|
track: &Rc<RefCell<CostTrack>>,
|
|
286
249
|
options: &Value,
|
|
@@ -400,8 +363,6 @@ impl Feature for CostFeature {
|
|
|
400
363
|
(t.limit, t.amount, t.currency.clone())
|
|
401
364
|
};
|
|
402
365
|
|
|
403
|
-
// Mark the context as running through the pipeline, so charge knows a
|
|
404
|
-
// pre_done is coming and does not commit the spend itself.
|
|
405
366
|
let pending = match ctx.out_take(COST_PENDING_KEY) {
|
|
406
367
|
Some(OutVal::Val(v)) if matches!(v, Value::Map(_)) => v,
|
|
407
368
|
other => {
|
|
@@ -468,15 +429,6 @@ impl CostFeature {
|
|
|
468
429
|
}
|
|
469
430
|
};
|
|
470
431
|
|
|
471
|
-
// A FAILED operation that made no attempt never reached the network:
|
|
472
|
-
// PrePoint creates the pending entry to mark the context as piped, and
|
|
473
|
-
// then the budget gate refuses the call (rbac, or an unresolvable
|
|
474
|
-
// endpoint, short-circuits just as early). Committing it would count a
|
|
475
|
-
// call that never happened and file a zero-amount record as `last`.
|
|
476
|
-
//
|
|
477
|
-
// A SUCCEEDED operation that made no attempt is the opposite case: it was
|
|
478
|
-
// served from the cache. That is a real call, and the fact that it cost
|
|
479
|
-
// nothing is the whole point of ordering cost inside the cache.
|
|
480
432
|
if !done && 0.0 == get_f64(&pending, "attempts").unwrap_or(0.0) {
|
|
481
433
|
return;
|
|
482
434
|
}
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
// Request/response capture for debugging (mirrors go
|
|
2
|
-
// feature/debug_feature.go). Records a bounded ring buffer of
|
|
3
|
-
// per-operation traces — method, URL, redacted headers, response status
|
|
4
|
-
// and timing — on the feature's entries. Sensitive header values (matching
|
|
5
|
-
// `redact`, default authorization/cookie/api-key style names) are masked.
|
|
6
|
-
// An optional `onEntry` callback receives each finished entry. `max` caps
|
|
7
|
-
// the buffer (default 100).
|
|
8
1
|
|
|
9
2
|
use std::rc::Rc;
|
|
10
3
|
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
// Idempotency keys for mutating operations (mirrors go
|
|
2
|
-
// feature/idempotency_feature.go). Adds an `Idempotency-Key` header (name
|
|
3
|
-
// configurable via `header`) to unsafe requests so a server can
|
|
4
|
-
// de-duplicate retried writes. The key is set once, at PreRequest, before
|
|
5
|
-
// the request is built — so it is stable across transport-level retries of
|
|
6
|
-
// the same call. A caller-supplied header is never overwritten
|
|
7
|
-
// (case-insensitive). The key generator is injectable (`keygen`).
|
|
8
1
|
|
|
9
2
|
use std::rc::Rc;
|
|
10
3
|
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
// Statistics capture (mirrors go feature/metrics_feature.go). Records
|
|
2
|
-
// per-operation counters and latency for every call: totals plus a
|
|
3
|
-
// breakdown keyed by `<entity>.<op>`. Timing starts at endpoint resolution
|
|
4
|
-
// (PrePoint) and stops when the call returns (PreDone) or fails
|
|
5
|
-
// (PreUnexpected); each operation is recorded exactly once (the
|
|
6
|
-
// per-context start marker in ctx.out is consumed on record). The clock is
|
|
7
|
-
// injectable (`now`) for deterministic tests.
|
|
8
1
|
|
|
9
2
|
use std::collections::HashMap;
|
|
10
3
|
use std::rc::Rc;
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
// Network behaviour simulation (mirrors go feature/netsim_feature.go).
|
|
2
|
-
// Wraps the active transport (the live ureq fetch or the `test` feature's
|
|
3
|
-
// in-memory mock) and injects realistic network conditions so offline unit
|
|
4
|
-
// tests can exercise slowness, transient failures, rate limiting and
|
|
5
|
-
// outages deterministically.
|
|
6
|
-
//
|
|
7
|
-
// Every injection mode is counter-driven (per client instance) so tests
|
|
8
|
-
// are reproducible without mocking timers. `failRate` adds optional
|
|
9
|
-
// pseudo-random failures via a seeded LCG for coverage-style testing.
|
|
10
1
|
|
|
11
2
|
use std::cell::RefCell;
|
|
12
3
|
use std::rc::Rc;
|