@voxgig/sdkgen 1.3.14 → 1.3.18
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.map +1 -1
- package/dist/action/feature.js.map +1 -1
- package/dist/action/target.js.map +1 -1
- package/dist/cmp/AgentGuide.js.map +1 -1
- package/dist/cmp/AgentGuideContent.js.map +1 -1
- package/dist/cmp/AgentGuideFeature.js.map +1 -1
- package/dist/cmp/AgentGuideTop.js.map +1 -1
- package/dist/cmp/Changelog.js.map +1 -1
- package/dist/cmp/Deploy.js.map +1 -1
- package/dist/cmp/Entity.js +5 -1
- package/dist/cmp/Entity.js.map +1 -1
- package/dist/cmp/Feature.js +2 -1
- package/dist/cmp/Feature.js.map +1 -1
- package/dist/cmp/FeatureHook.js.map +1 -1
- package/dist/cmp/License.js.map +1 -1
- package/dist/cmp/Main.js.map +1 -1
- package/dist/cmp/Readme.js.map +1 -1
- package/dist/cmp/ReadmeEntity.js.map +1 -1
- package/dist/cmp/ReadmeErrors.js +1 -1
- package/dist/cmp/ReadmeErrors.js.map +1 -1
- package/dist/cmp/ReadmeExplanation.js +2 -2
- package/dist/cmp/ReadmeExplanation.js.map +1 -1
- package/dist/cmp/ReadmeHowto.js.map +1 -1
- package/dist/cmp/ReadmeInstall.js.map +1 -1
- package/dist/cmp/ReadmeIntro.js.map +1 -1
- package/dist/cmp/ReadmeModel.js.map +1 -1
- package/dist/cmp/ReadmeOptions.js.map +1 -1
- package/dist/cmp/ReadmeQuick.js.map +1 -1
- package/dist/cmp/ReadmeRef.js.map +1 -1
- package/dist/cmp/ReadmeTop.js +1 -1
- package/dist/cmp/ReadmeTop.js.map +1 -1
- package/dist/cmp/Security.js.map +1 -1
- package/dist/cmp/Test.js.map +1 -1
- package/dist/helpers/buildIdNames.js.map +1 -1
- package/dist/helpers/canonType.d.ts +3 -2
- package/dist/helpers/canonType.js +112 -24
- package/dist/helpers/canonType.js.map +1 -1
- package/dist/helpers/collectDeps.d.ts +1 -1
- package/dist/helpers/collectDeps.js +36 -13
- package/dist/helpers/collectDeps.js.map +1 -1
- package/dist/helpers/getMatchEntries.js.map +1 -1
- package/dist/helpers/naming.d.ts +7 -1
- package/dist/helpers/naming.js +90 -0
- package/dist/helpers/naming.js.map +1 -1
- package/dist/helpers/opExample.d.ts +1 -1
- package/dist/helpers/opExample.js +37 -20
- package/dist/helpers/opExample.js.map +1 -1
- package/dist/helpers/opShape.d.ts +5 -1
- package/dist/helpers/opShape.js +174 -7
- package/dist/helpers/opShape.js.map +1 -1
- package/dist/helpers/packageMeta.js.map +1 -1
- package/dist/sdkgen.d.ts +3 -3
- package/dist/sdkgen.js +12 -2
- package/dist/sdkgen.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utility.js.map +1 -1
- package/package.json +20 -14
- package/project/.sdk/model/target/cpp.aontu +4 -4
- package/project/.sdk/model/target/go-cli.aontu +17 -17
- package/project/.sdk/model/target/go-mcp.aontu +11 -11
- package/project/.sdk/model/target/go.aontu +1 -1
- package/project/.sdk/model/target/haskell.aontu +6 -3
- package/project/.sdk/model/target/java.aontu +4 -4
- package/project/.sdk/model/target/kotlin.aontu +4 -4
- package/project/.sdk/model/target/lean.aontu +51 -0
- package/project/.sdk/model/target/scala.aontu +4 -4
- package/project/.sdk/model/target/zig.aontu +12 -2
- package/project/.sdk/src/cmp/c/Config_c.ts +16 -4
- package/project/.sdk/src/cmp/c/EntityTypes_c.ts +167 -0
- package/project/.sdk/src/cmp/c/Entity_c.ts +3 -3
- package/project/.sdk/src/cmp/c/Main_c.ts +4 -0
- package/project/.sdk/src/cmp/c/ReadmeEntity_c.ts +192 -0
- package/project/.sdk/src/cmp/c/ReadmeExamplesTest_c.ts +169 -0
- package/project/.sdk/src/cmp/c/ReadmeExplanation_c.ts +55 -0
- package/project/.sdk/src/cmp/c/ReadmeHowto_c.ts +168 -0
- package/project/.sdk/src/cmp/c/ReadmeInstall_c.ts +52 -0
- package/project/.sdk/src/cmp/c/ReadmeIntro_c.ts +67 -0
- package/project/.sdk/src/cmp/c/ReadmeModel_c.ts +151 -0
- package/project/.sdk/src/cmp/c/ReadmeOptions_c.ts +65 -0
- package/project/.sdk/src/cmp/c/ReadmeQuick_c.ts +225 -0
- package/project/.sdk/src/cmp/c/ReadmeRef_c.ts +398 -0
- package/project/.sdk/src/cmp/c/ReadmeTopHowto_c.ts +24 -0
- package/project/.sdk/src/cmp/c/ReadmeTopQuick_c.ts +104 -0
- package/project/.sdk/src/cmp/c/ReadmeTopTest_c.ts +86 -0
- package/project/.sdk/src/cmp/c/TestDirect_c.ts +3 -3
- package/project/.sdk/src/cmp/c/TestEntity_c.ts +10 -0
- package/project/.sdk/src/cmp/c/Test_c.ts +4 -0
- package/project/.sdk/src/cmp/c/utility_c.ts +8 -2
- package/project/.sdk/src/cmp/clojure/Entity_clojure.ts +1 -1
- package/project/.sdk/src/cmp/clojure/ReadmeEntity_clojure.ts +182 -0
- package/project/.sdk/src/cmp/clojure/ReadmeExamplesTest_clojure.ts +65 -0
- package/project/.sdk/src/cmp/clojure/ReadmeExplanation_clojure.ts +44 -0
- package/project/.sdk/src/cmp/clojure/ReadmeHowto_clojure.ts +144 -0
- package/project/.sdk/src/cmp/clojure/ReadmeInstall_clojure.ts +51 -0
- package/project/.sdk/src/cmp/clojure/ReadmeIntro_clojure.ts +66 -0
- package/project/.sdk/src/cmp/clojure/ReadmeModel_clojure.ts +156 -0
- package/project/.sdk/src/cmp/clojure/ReadmeOptions_clojure.ts +61 -0
- package/project/.sdk/src/cmp/clojure/ReadmeQuick_clojure.ts +210 -0
- package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +409 -0
- package/project/.sdk/src/cmp/clojure/ReadmeTopHowto_clojure.ts +24 -0
- package/project/.sdk/src/cmp/clojure/ReadmeTopQuick_clojure.ts +98 -0
- package/project/.sdk/src/cmp/clojure/ReadmeTopTest_clojure.ts +78 -0
- package/project/.sdk/src/cmp/clojure/TestDirect_clojure.ts +58 -0
- package/project/.sdk/src/cmp/clojure/TestEntity_clojure.ts +79 -0
- package/project/.sdk/src/cmp/clojure/Test_clojure.ts +21 -65
- package/project/.sdk/src/cmp/cpp/EntityTypes_cpp.ts +174 -0
- package/project/.sdk/src/cmp/cpp/Entity_cpp.ts +3 -3
- package/project/.sdk/src/cmp/cpp/MainEntity_cpp.ts +2 -2
- package/project/.sdk/src/cmp/cpp/Main_cpp.ts +5 -0
- package/project/.sdk/src/cmp/cpp/ReadmeEntity_cpp.ts +170 -0
- package/project/.sdk/src/cmp/cpp/ReadmeExamplesTest_cpp.ts +136 -0
- package/project/.sdk/src/cmp/cpp/ReadmeExplanation_cpp.ts +45 -0
- package/project/.sdk/src/cmp/cpp/ReadmeHowto_cpp.ts +139 -0
- package/project/.sdk/src/cmp/cpp/ReadmeInstall_cpp.ts +42 -0
- package/project/.sdk/src/cmp/cpp/ReadmeIntro_cpp.ts +69 -0
- package/project/.sdk/src/cmp/cpp/ReadmeModel_cpp.ts +155 -0
- package/project/.sdk/src/cmp/cpp/ReadmeOptions_cpp.ts +62 -0
- package/project/.sdk/src/cmp/cpp/ReadmeQuick_cpp.ts +234 -0
- package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +387 -0
- package/project/.sdk/src/cmp/cpp/ReadmeTopHowto_cpp.ts +24 -0
- package/project/.sdk/src/cmp/cpp/ReadmeTopQuick_cpp.ts +95 -0
- package/project/.sdk/src/cmp/cpp/ReadmeTopTest_cpp.ts +70 -0
- package/project/.sdk/src/cmp/cpp/TestDirect_cpp.ts +3 -3
- package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +5 -1
- package/project/.sdk/src/cmp/cpp/Test_cpp.ts +4 -0
- package/project/.sdk/src/cmp/csharp/EntityTypes_csharp.ts +195 -0
- package/project/.sdk/src/cmp/csharp/Entity_csharp.ts +3 -3
- package/project/.sdk/src/cmp/csharp/MainEntity_csharp.ts +2 -2
- package/project/.sdk/src/cmp/csharp/Main_csharp.ts +6 -0
- package/project/.sdk/src/cmp/csharp/Package_csharp.ts +1 -1
- package/project/.sdk/src/cmp/csharp/ReadmeEntity_csharp.ts +174 -0
- package/project/.sdk/src/cmp/csharp/ReadmeExamplesTest_csharp.ts +210 -0
- package/project/.sdk/src/cmp/csharp/ReadmeExplanation_csharp.ts +42 -0
- package/project/.sdk/src/cmp/csharp/ReadmeHowto_csharp.ts +168 -0
- package/project/.sdk/src/cmp/csharp/ReadmeInstall_csharp.ts +41 -0
- package/project/.sdk/src/cmp/csharp/ReadmeIntro_csharp.ts +65 -0
- package/project/.sdk/src/cmp/csharp/ReadmeModel_csharp.ts +148 -0
- package/project/.sdk/src/cmp/csharp/ReadmeOptions_csharp.ts +60 -0
- package/project/.sdk/src/cmp/csharp/ReadmeQuick_csharp.ts +219 -0
- package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +390 -0
- package/project/.sdk/src/cmp/csharp/ReadmeTopHowto_csharp.ts +25 -0
- package/project/.sdk/src/cmp/csharp/ReadmeTopQuick_csharp.ts +92 -0
- package/project/.sdk/src/cmp/csharp/ReadmeTopTest_csharp.ts +77 -0
- package/project/.sdk/src/cmp/csharp/TestDirect_csharp.ts +3 -3
- package/project/.sdk/src/cmp/csharp/Test_csharp.ts +4 -0
- package/project/.sdk/src/cmp/dart/EntityTypes_dart.ts +43 -30
- package/project/.sdk/src/cmp/dart/Entity_dart.ts +11 -3
- package/project/.sdk/src/cmp/dart/MainEntity_dart.ts +2 -2
- package/project/.sdk/src/cmp/dart/Main_dart.ts +3 -3
- package/project/.sdk/src/cmp/dart/Package_dart.ts +1 -1
- package/project/.sdk/src/cmp/dart/ReadmeEntity_dart.ts +166 -0
- package/project/.sdk/src/cmp/dart/ReadmeExamplesTest_dart.ts +238 -0
- package/project/.sdk/src/cmp/dart/ReadmeExplanation_dart.ts +53 -0
- package/project/.sdk/src/cmp/dart/ReadmeHowto_dart.ts +151 -0
- package/project/.sdk/src/cmp/dart/ReadmeInstall_dart.ts +59 -0
- package/project/.sdk/src/cmp/dart/ReadmeIntro_dart.ts +65 -0
- package/project/.sdk/src/cmp/dart/ReadmeModel_dart.ts +151 -0
- package/project/.sdk/src/cmp/dart/ReadmeOptions_dart.ts +63 -0
- package/project/.sdk/src/cmp/dart/ReadmeQuick_dart.ts +214 -0
- package/project/.sdk/src/cmp/dart/ReadmeRef_dart.ts +381 -0
- package/project/.sdk/src/cmp/dart/ReadmeTopHowto_dart.ts +24 -0
- package/project/.sdk/src/cmp/dart/ReadmeTopQuick_dart.ts +95 -0
- package/project/.sdk/src/cmp/dart/ReadmeTopTest_dart.ts +78 -0
- package/project/.sdk/src/cmp/dart/TestDirect_dart.ts +4 -4
- package/project/.sdk/src/cmp/dart/TestEntity_dart.ts +52 -0
- package/project/.sdk/src/cmp/dart/Test_dart.ts +6 -0
- package/project/.sdk/src/cmp/dart/fragment/Entity.fragment.dart +1 -3
- package/project/.sdk/src/cmp/dart/fragment/Entity.test.fragment.dart +1 -40
- package/project/.sdk/src/cmp/dart/fragment/Main.fragment.dart +3 -3
- package/project/.sdk/src/cmp/elixir/EntityTypes_elixir.ts +164 -0
- package/project/.sdk/src/cmp/elixir/Entity_elixir.ts +1 -1
- package/project/.sdk/src/cmp/elixir/Main_elixir.ts +4 -0
- package/project/.sdk/src/cmp/elixir/Package_elixir.ts +3 -1
- package/project/.sdk/src/cmp/elixir/ReadmeEntity_elixir.ts +163 -0
- package/project/.sdk/src/cmp/elixir/ReadmeExamplesTest_elixir.ts +144 -0
- package/project/.sdk/src/cmp/elixir/ReadmeExplanation_elixir.ts +55 -0
- package/project/.sdk/src/cmp/elixir/ReadmeHowto_elixir.ts +149 -0
- package/project/.sdk/src/cmp/elixir/ReadmeInstall_elixir.ts +67 -0
- package/project/.sdk/src/cmp/elixir/ReadmeIntro_elixir.ts +66 -0
- package/project/.sdk/src/cmp/elixir/ReadmeModel_elixir.ts +150 -0
- package/project/.sdk/src/cmp/elixir/ReadmeOptions_elixir.ts +62 -0
- package/project/.sdk/src/cmp/elixir/ReadmeQuick_elixir.ts +198 -0
- package/project/.sdk/src/cmp/elixir/ReadmeRef_elixir.ts +333 -0
- package/project/.sdk/src/cmp/elixir/ReadmeTopHowto_elixir.ts +26 -0
- package/project/.sdk/src/cmp/elixir/ReadmeTopQuick_elixir.ts +79 -0
- package/project/.sdk/src/cmp/elixir/ReadmeTopTest_elixir.ts +68 -0
- package/project/.sdk/src/cmp/elixir/Test_elixir.ts +4 -0
- package/project/.sdk/src/cmp/elixir/fragment/EntityCreateOp.fragment.ex +4 -0
- package/project/.sdk/src/cmp/elixir/fragment/EntityListOp.fragment.ex +4 -0
- package/project/.sdk/src/cmp/elixir/fragment/EntityLoadOp.fragment.ex +4 -0
- package/project/.sdk/src/cmp/elixir/fragment/EntityRemoveOp.fragment.ex +4 -0
- package/project/.sdk/src/cmp/elixir/fragment/EntityUpdateOp.fragment.ex +4 -0
- package/project/.sdk/src/cmp/elixir/utility_elixir.ts +32 -0
- package/project/.sdk/src/cmp/go/Config_go.ts +4 -1
- package/project/.sdk/src/cmp/go/EntityTypes_go.ts +121 -20
- package/project/.sdk/src/cmp/go/Entity_go.ts +3 -3
- package/project/.sdk/src/cmp/go/Main_go.ts +7 -6
- package/project/.sdk/src/cmp/go/Package_go.ts +1 -1
- package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +6 -1
- package/project/.sdk/src/cmp/go/TestDirect_go.ts +3 -3
- package/project/.sdk/src/cmp/go/TestEntity_go.ts +11 -4
- package/project/.sdk/src/cmp/go/utility_go.ts +28 -2
- package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +249 -44
- package/project/.sdk/src/cmp/go-cli/fragment/main.fragment.go +27 -5
- package/project/.sdk/src/cmp/go-mcp/Main_go-mcp.ts +200 -31
- package/project/.sdk/src/cmp/haskell/ReadmeEntity_haskell.ts +181 -0
- package/project/.sdk/src/cmp/haskell/ReadmeExamplesTest_haskell.ts +135 -0
- package/project/.sdk/src/cmp/haskell/ReadmeExplanation_haskell.ts +48 -0
- package/project/.sdk/src/cmp/haskell/ReadmeHowto_haskell.ts +168 -0
- package/project/.sdk/src/cmp/haskell/ReadmeInstall_haskell.ts +51 -0
- package/project/.sdk/src/cmp/haskell/ReadmeIntro_haskell.ts +67 -0
- package/project/.sdk/src/cmp/haskell/ReadmeModel_haskell.ts +160 -0
- package/project/.sdk/src/cmp/haskell/ReadmeOptions_haskell.ts +74 -0
- package/project/.sdk/src/cmp/haskell/ReadmeQuick_haskell.ts +237 -0
- package/project/.sdk/src/cmp/haskell/ReadmeRef_haskell.ts +405 -0
- package/project/.sdk/src/cmp/haskell/ReadmeTopHowto_haskell.ts +31 -0
- package/project/.sdk/src/cmp/haskell/ReadmeTopQuick_haskell.ts +104 -0
- package/project/.sdk/src/cmp/haskell/ReadmeTopTest_haskell.ts +80 -0
- package/project/.sdk/src/cmp/haskell/Test_haskell.ts +27 -2
- package/project/.sdk/src/cmp/java/EntityTypes_java.ts +206 -0
- package/project/.sdk/src/cmp/java/Entity_java.ts +3 -3
- package/project/.sdk/src/cmp/java/MainEntity_java.ts +2 -2
- package/project/.sdk/src/cmp/java/Main_java.ts +6 -0
- package/project/.sdk/src/cmp/java/Package_java.ts +1 -1
- package/project/.sdk/src/cmp/java/ReadmeEntity_java.ts +175 -0
- package/project/.sdk/src/cmp/java/ReadmeExamplesTest_java.ts +208 -0
- package/project/.sdk/src/cmp/java/ReadmeExplanation_java.ts +46 -0
- package/project/.sdk/src/cmp/java/ReadmeHowto_java.ts +156 -0
- package/project/.sdk/src/cmp/java/ReadmeInstall_java.ts +52 -0
- package/project/.sdk/src/cmp/java/ReadmeIntro_java.ts +66 -0
- package/project/.sdk/src/cmp/java/ReadmeModel_java.ts +150 -0
- package/project/.sdk/src/cmp/java/ReadmeOptions_java.ts +61 -0
- package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +230 -0
- package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +388 -0
- package/project/.sdk/src/cmp/java/ReadmeTopHowto_java.ts +23 -0
- package/project/.sdk/src/cmp/java/ReadmeTopQuick_java.ts +103 -0
- package/project/.sdk/src/cmp/java/ReadmeTopTest_java.ts +77 -0
- package/project/.sdk/src/cmp/java/TestDirect_java.ts +3 -3
- package/project/.sdk/src/cmp/java/Test_java.ts +4 -0
- package/project/.sdk/src/cmp/js/EntityTypes_js.ts +25 -9
- package/project/.sdk/src/cmp/js/Entity_js.ts +3 -3
- package/project/.sdk/src/cmp/js/MainEntity_js.ts +6 -4
- package/project/.sdk/src/cmp/js/Main_js.ts +2 -2
- package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +4 -4
- package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +13 -4
- package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +4 -4
- package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +5 -5
- package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +4 -4
- package/project/.sdk/src/cmp/js/ReadmeTopTest_js.ts +4 -4
- package/project/.sdk/src/cmp/js/TestDirect_js.ts +10 -9
- package/project/.sdk/src/cmp/js/TestEntity_js.ts +7 -2
- package/project/.sdk/src/cmp/js/fragment/Entity.test.fragment.js +0 -31
- package/project/.sdk/src/cmp/kotlin/EntityTypes_kotlin.ts +200 -0
- package/project/.sdk/src/cmp/kotlin/Entity_kotlin.ts +3 -3
- package/project/.sdk/src/cmp/kotlin/MainEntity_kotlin.ts +2 -2
- package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +6 -0
- package/project/.sdk/src/cmp/kotlin/Package_kotlin.ts +1 -1
- package/project/.sdk/src/cmp/kotlin/ReadmeEntity_kotlin.ts +175 -0
- package/project/.sdk/src/cmp/kotlin/ReadmeExamplesTest_kotlin.ts +198 -0
- package/project/.sdk/src/cmp/kotlin/ReadmeExplanation_kotlin.ts +47 -0
- package/project/.sdk/src/cmp/kotlin/ReadmeHowto_kotlin.ts +154 -0
- package/project/.sdk/src/cmp/kotlin/ReadmeInstall_kotlin.ts +50 -0
- package/project/.sdk/src/cmp/kotlin/ReadmeIntro_kotlin.ts +66 -0
- package/project/.sdk/src/cmp/kotlin/ReadmeModel_kotlin.ts +150 -0
- package/project/.sdk/src/cmp/kotlin/ReadmeOptions_kotlin.ts +61 -0
- package/project/.sdk/src/cmp/kotlin/ReadmeQuick_kotlin.ts +230 -0
- package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +387 -0
- package/project/.sdk/src/cmp/kotlin/ReadmeTopHowto_kotlin.ts +23 -0
- package/project/.sdk/src/cmp/kotlin/ReadmeTopQuick_kotlin.ts +104 -0
- package/project/.sdk/src/cmp/kotlin/ReadmeTopTest_kotlin.ts +77 -0
- package/project/.sdk/src/cmp/kotlin/TestDirect_kotlin.ts +3 -3
- package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +4 -0
- package/project/.sdk/src/cmp/lean/Config_lean.ts +88 -0
- package/project/.sdk/src/cmp/lean/Entity_lean.ts +9 -0
- package/project/.sdk/src/cmp/lean/Gitignore_lean.ts +18 -0
- package/project/.sdk/src/cmp/lean/Main_lean.ts +120 -0
- package/project/.sdk/src/cmp/lean/Package_lean.ts +68 -0
- package/project/.sdk/src/cmp/lean/ReadmeEntity_lean.ts +29 -0
- package/project/.sdk/src/cmp/lean/ReadmeExplanation_lean.ts +19 -0
- package/project/.sdk/src/cmp/lean/ReadmeHowto_lean.ts +25 -0
- package/project/.sdk/src/cmp/lean/ReadmeInstall_lean.ts +38 -0
- package/project/.sdk/src/cmp/lean/ReadmeIntro_lean.ts +25 -0
- package/project/.sdk/src/cmp/lean/ReadmeModel_lean.ts +24 -0
- package/project/.sdk/src/cmp/lean/ReadmeOptions_lean.ts +22 -0
- package/project/.sdk/src/cmp/lean/ReadmeQuick_lean.ts +50 -0
- package/project/.sdk/src/cmp/lean/ReadmeRef_lean.ts +16 -0
- package/project/.sdk/src/cmp/lean/ReadmeTopHowto_lean.ts +16 -0
- package/project/.sdk/src/cmp/lean/ReadmeTopQuick_lean.ts +23 -0
- package/project/.sdk/src/cmp/lean/ReadmeTopTest_lean.ts +18 -0
- package/project/.sdk/src/cmp/lean/Test_lean.ts +207 -0
- package/project/.sdk/src/cmp/lean/utility_lean.ts +78 -0
- package/project/.sdk/src/cmp/lua/Config_lua.ts +1 -1
- package/project/.sdk/src/cmp/lua/EntityTypes_lua.ts +19 -6
- package/project/.sdk/src/cmp/lua/Entity_lua.ts +3 -3
- package/project/.sdk/src/cmp/lua/Main_lua.ts +14 -2
- package/project/.sdk/src/cmp/lua/Package_lua.ts +1 -1
- package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +2 -2
- package/project/.sdk/src/cmp/lua/ReadmeHowto_lua.ts +6 -1
- package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +3 -3
- package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +2 -2
- package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +2 -2
- package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +3 -3
- package/project/.sdk/src/cmp/lua/TestEntity_lua.ts +8 -3
- package/project/.sdk/src/cmp/lua/Test_lua.ts +1 -1
- package/project/.sdk/src/cmp/lua/fragment/Main.fragment.lua +2 -0
- package/project/.sdk/src/cmp/ocaml/ReadmeEntity_ocaml.ts +180 -0
- package/project/.sdk/src/cmp/ocaml/ReadmeExamplesTest_ocaml.ts +126 -0
- package/project/.sdk/src/cmp/ocaml/ReadmeExplanation_ocaml.ts +46 -0
- package/project/.sdk/src/cmp/ocaml/ReadmeHowto_ocaml.ts +147 -0
- package/project/.sdk/src/cmp/ocaml/ReadmeInstall_ocaml.ts +44 -0
- package/project/.sdk/src/cmp/ocaml/ReadmeIntro_ocaml.ts +68 -0
- package/project/.sdk/src/cmp/ocaml/ReadmeModel_ocaml.ts +155 -0
- package/project/.sdk/src/cmp/ocaml/ReadmeOptions_ocaml.ts +59 -0
- package/project/.sdk/src/cmp/ocaml/ReadmeQuick_ocaml.ts +205 -0
- package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +402 -0
- package/project/.sdk/src/cmp/ocaml/ReadmeTopHowto_ocaml.ts +25 -0
- package/project/.sdk/src/cmp/ocaml/ReadmeTopQuick_ocaml.ts +86 -0
- package/project/.sdk/src/cmp/ocaml/ReadmeTopTest_ocaml.ts +79 -0
- package/project/.sdk/src/cmp/ocaml/Test_ocaml.ts +4 -0
- package/project/.sdk/src/cmp/perl/Entity_perl.ts +3 -3
- package/project/.sdk/src/cmp/perl/MainEntity_perl.ts +2 -2
- package/project/.sdk/src/cmp/perl/Package_perl.ts +1 -1
- package/project/.sdk/src/cmp/perl/ReadmeEntity_perl.ts +181 -0
- package/project/.sdk/src/cmp/perl/ReadmeExamplesTest_perl.ts +354 -0
- package/project/.sdk/src/cmp/perl/ReadmeExplanation_perl.ts +43 -0
- package/project/.sdk/src/cmp/perl/ReadmeHowto_perl.ts +149 -0
- package/project/.sdk/src/cmp/perl/ReadmeInstall_perl.ts +47 -0
- package/project/.sdk/src/cmp/perl/ReadmeIntro_perl.ts +66 -0
- package/project/.sdk/src/cmp/perl/ReadmeModel_perl.ts +150 -0
- package/project/.sdk/src/cmp/perl/ReadmeOptions_perl.ts +59 -0
- package/project/.sdk/src/cmp/perl/ReadmeQuick_perl.ts +216 -0
- package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +399 -0
- package/project/.sdk/src/cmp/perl/ReadmeTopHowto_perl.ts +24 -0
- package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +91 -0
- package/project/.sdk/src/cmp/perl/ReadmeTopTest_perl.ts +83 -0
- package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +3 -3
- package/project/.sdk/src/cmp/perl/Test_perl.ts +4 -0
- package/project/.sdk/src/cmp/php/EntityTypes_php.ts +23 -7
- package/project/.sdk/src/cmp/php/Entity_php.ts +3 -3
- package/project/.sdk/src/cmp/php/MainEntity_php.ts +2 -2
- package/project/.sdk/src/cmp/php/Package_php.ts +1 -1
- package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +6 -1
- package/project/.sdk/src/cmp/php/TestDirect_php.ts +3 -3
- package/project/.sdk/src/cmp/php/TestEntity_php.ts +8 -3
- package/project/.sdk/src/cmp/py/EntityTypes_py.ts +32 -8
- package/project/.sdk/src/cmp/py/Entity_py.ts +4 -12
- package/project/.sdk/src/cmp/py/MainEntity_py.ts +2 -2
- package/project/.sdk/src/cmp/py/Main_py.ts +2 -2
- package/project/.sdk/src/cmp/py/Package_py.ts +1 -1
- package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +2 -2
- package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +8 -3
- package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +3 -3
- package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +2 -2
- package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +2 -2
- package/project/.sdk/src/cmp/py/ReadmeTopTest_py.ts +2 -2
- package/project/.sdk/src/cmp/py/TestDirect_py.ts +3 -3
- package/project/.sdk/src/cmp/py/TestEntity_py.ts +8 -3
- package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +32 -8
- package/project/.sdk/src/cmp/rb/Entity_rb.ts +3 -3
- package/project/.sdk/src/cmp/rb/MainEntity_rb.ts +2 -2
- package/project/.sdk/src/cmp/rb/Package_rb.ts +2 -2
- package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +2 -2
- package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +8 -3
- package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +3 -3
- package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +2 -2
- package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +2 -2
- package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +2 -2
- package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +3 -3
- package/project/.sdk/src/cmp/rb/TestEntity_rb.ts +8 -3
- package/project/.sdk/src/cmp/rust/EntityBase_rust.ts +6 -2
- package/project/.sdk/src/cmp/rust/EntityTypes_rust.ts +151 -0
- package/project/.sdk/src/cmp/rust/Entity_rust.ts +4 -4
- package/project/.sdk/src/cmp/rust/MainEntity_rust.ts +2 -2
- package/project/.sdk/src/cmp/rust/Main_rust.ts +5 -0
- package/project/.sdk/src/cmp/rust/Package_rust.ts +1 -1
- package/project/.sdk/src/cmp/rust/ReadmeEntity_rust.ts +163 -0
- package/project/.sdk/src/cmp/rust/ReadmeExamplesTest_rust.ts +144 -0
- package/project/.sdk/src/cmp/rust/ReadmeExplanation_rust.ts +44 -0
- package/project/.sdk/src/cmp/rust/ReadmeHowto_rust.ts +142 -0
- package/project/.sdk/src/cmp/rust/ReadmeInstall_rust.ts +49 -0
- package/project/.sdk/src/cmp/rust/ReadmeIntro_rust.ts +66 -0
- package/project/.sdk/src/cmp/rust/ReadmeModel_rust.ts +153 -0
- package/project/.sdk/src/cmp/rust/ReadmeOptions_rust.ts +60 -0
- package/project/.sdk/src/cmp/rust/ReadmeQuick_rust.ts +212 -0
- package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +384 -0
- package/project/.sdk/src/cmp/rust/ReadmeTopHowto_rust.ts +24 -0
- package/project/.sdk/src/cmp/rust/ReadmeTopQuick_rust.ts +95 -0
- package/project/.sdk/src/cmp/rust/ReadmeTopTest_rust.ts +81 -0
- package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +3 -3
- package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +10 -0
- package/project/.sdk/src/cmp/rust/Test_rust.ts +4 -0
- package/project/.sdk/src/cmp/scala/EntityTypes_scala.ts +201 -0
- package/project/.sdk/src/cmp/scala/Entity_scala.ts +3 -3
- package/project/.sdk/src/cmp/scala/MainEntity_scala.ts +2 -2
- package/project/.sdk/src/cmp/scala/Main_scala.ts +6 -0
- package/project/.sdk/src/cmp/scala/ReadmeEntity_scala.ts +175 -0
- package/project/.sdk/src/cmp/scala/ReadmeExamplesTest_scala.ts +182 -0
- package/project/.sdk/src/cmp/scala/ReadmeExplanation_scala.ts +49 -0
- package/project/.sdk/src/cmp/scala/ReadmeHowto_scala.ts +155 -0
- package/project/.sdk/src/cmp/scala/ReadmeInstall_scala.ts +58 -0
- package/project/.sdk/src/cmp/scala/ReadmeIntro_scala.ts +66 -0
- package/project/.sdk/src/cmp/scala/ReadmeModel_scala.ts +150 -0
- package/project/.sdk/src/cmp/scala/ReadmeOptions_scala.ts +61 -0
- package/project/.sdk/src/cmp/scala/ReadmeQuick_scala.ts +230 -0
- package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +388 -0
- package/project/.sdk/src/cmp/scala/ReadmeTopHowto_scala.ts +23 -0
- package/project/.sdk/src/cmp/scala/ReadmeTopQuick_scala.ts +104 -0
- package/project/.sdk/src/cmp/scala/ReadmeTopTest_scala.ts +77 -0
- package/project/.sdk/src/cmp/scala/TestDirect_scala.ts +3 -3
- package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +38 -10
- package/project/.sdk/src/cmp/scala/Test_scala.ts +9 -1
- package/project/.sdk/src/cmp/swift/EntityTypes_swift.ts +151 -0
- package/project/.sdk/src/cmp/swift/Entity_swift.ts +3 -3
- package/project/.sdk/src/cmp/swift/MainEntity_swift.ts +2 -2
- package/project/.sdk/src/cmp/swift/Main_swift.ts +5 -0
- package/project/.sdk/src/cmp/swift/Package_swift.ts +1 -1
- package/project/.sdk/src/cmp/swift/ReadmeEntity_swift.ts +176 -0
- package/project/.sdk/src/cmp/swift/ReadmeExamplesTest_swift.ts +187 -0
- package/project/.sdk/src/cmp/swift/ReadmeExplanation_swift.ts +49 -0
- package/project/.sdk/src/cmp/swift/ReadmeHowto_swift.ts +159 -0
- package/project/.sdk/src/cmp/swift/ReadmeInstall_swift.ts +58 -0
- package/project/.sdk/src/cmp/swift/ReadmeIntro_swift.ts +64 -0
- package/project/.sdk/src/cmp/swift/ReadmeModel_swift.ts +149 -0
- package/project/.sdk/src/cmp/swift/ReadmeOptions_swift.ts +62 -0
- package/project/.sdk/src/cmp/swift/ReadmeQuick_swift.ts +232 -0
- package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +387 -0
- package/project/.sdk/src/cmp/swift/ReadmeTopHowto_swift.ts +24 -0
- package/project/.sdk/src/cmp/swift/ReadmeTopQuick_swift.ts +105 -0
- package/project/.sdk/src/cmp/swift/ReadmeTopTest_swift.ts +77 -0
- package/project/.sdk/src/cmp/swift/TestDirect_swift.ts +1 -1
- package/project/.sdk/src/cmp/swift/Test_swift.ts +4 -0
- package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +19 -6
- package/project/.sdk/src/cmp/ts/Entity_ts.ts +3 -3
- package/project/.sdk/src/cmp/ts/MainEntity_ts.ts +6 -4
- package/project/.sdk/src/cmp/ts/Main_ts.ts +2 -2
- package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +4 -4
- package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +14 -4
- package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +29 -11
- package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +5 -5
- package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +4 -4
- package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +4 -4
- package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +17 -15
- package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +18 -2
- package/project/.sdk/src/cmp/zig/Config_zig.ts +22 -4
- package/project/.sdk/src/cmp/zig/Entity_zig.ts +4 -4
- package/project/.sdk/src/cmp/zig/MainEntity_zig.ts +2 -2
- package/project/.sdk/src/cmp/zig/Main_zig.ts +10 -4
- package/project/.sdk/src/cmp/zig/Package_zig.ts +61 -0
- package/project/.sdk/src/cmp/zig/ReadmeEntity_zig.ts +188 -0
- package/project/.sdk/src/cmp/zig/ReadmeExamplesTest_zig.ts +58 -0
- package/project/.sdk/src/cmp/zig/ReadmeExplanation_zig.ts +45 -0
- package/project/.sdk/src/cmp/zig/ReadmeHowto_zig.ts +143 -0
- package/project/.sdk/src/cmp/zig/ReadmeInstall_zig.ts +54 -0
- package/project/.sdk/src/cmp/zig/ReadmeIntro_zig.ts +66 -0
- package/project/.sdk/src/cmp/zig/ReadmeModel_zig.ts +152 -0
- package/project/.sdk/src/cmp/zig/ReadmeOptions_zig.ts +60 -0
- package/project/.sdk/src/cmp/zig/ReadmeQuick_zig.ts +211 -0
- package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +400 -0
- package/project/.sdk/src/cmp/zig/ReadmeTopHowto_zig.ts +24 -0
- package/project/.sdk/src/cmp/zig/ReadmeTopQuick_zig.ts +96 -0
- package/project/.sdk/src/cmp/zig/ReadmeTopTest_zig.ts +82 -0
- package/project/.sdk/src/cmp/zig/TestDirect_zig.ts +66 -0
- package/project/.sdk/src/cmp/zig/TestEntity_zig.ts +79 -0
- package/project/.sdk/src/cmp/zig/Test_zig.ts +17 -61
- package/project/.sdk/tm/clojure/src/voxgig/struct.clj +1 -1
- package/project/.sdk/tm/cpp/test/feature_test.cpp +19 -0
- package/project/.sdk/tm/cpp/test/primary_utility_test.cpp +8 -16
- package/project/.sdk/tm/csharp/test/PrimaryUtilityTest.cs +10 -28
- package/project/.sdk/tm/dart/lib/utility/MakeRequestUtility.dart +4 -1
- package/project/.sdk/tm/dart/lib/utility/voxgig_struct.dart +7 -1
- package/project/.sdk/tm/dart/test/primary_test.dart +7 -0
- package/project/.sdk/tm/elixir/lib/utility/struct/voxgig_struct.ex +1 -1
- package/project/.sdk/tm/elixir/test/primary_utility_test.exs +7 -1
- package/project/.sdk/tm/go/feature/test_feature.go +33 -1
- package/project/.sdk/tm/go/test/primary_utility_test.go +41 -42
- package/project/.sdk/tm/go/test/runner_test.go +30 -1
- package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +3 -1
- package/project/.sdk/tm/haskell/test/Harness.hs +8 -3
- package/project/.sdk/tm/java/test/PrimaryUtilityTest.java +7 -24
- package/project/.sdk/tm/js/Makefile +1 -1
- package/project/.sdk/tm/js/jsconfig.json +12 -0
- package/project/.sdk/tm/js/src/feature/test/TestFeature.js +18 -1
- package/project/.sdk/tm/js/test/utility/PrimaryUtility.test.js +8 -0
- package/project/.sdk/tm/kotlin/test/PrimaryUtilityTest.kt +7 -20
- package/project/.sdk/tm/lean/LICENSE +21 -0
- package/project/.sdk/tm/lean/VERSION +1 -0
- package/project/.sdk/tm/lean/src/SdkFeature.lean +171 -0
- package/project/.sdk/tm/lean/src/SdkFeatures.lean +602 -0
- package/project/.sdk/tm/lean/src/SdkJson.lean +134 -0
- package/project/.sdk/tm/lean/src/SdkRuntime.lean +356 -0
- package/project/.sdk/tm/lean/src/SdkUtility.lean +617 -0
- package/project/.sdk/tm/lean/src/VoxgigStruct.lean +2880 -0
- package/project/.sdk/tm/lean/src/Vregex.lean +412 -0
- package/project/.sdk/tm/lean/src/feature/README.md +5 -0
- package/project/.sdk/tm/lean/src/feature/audit/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/base/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/cache/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/clienttrack/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/debug/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/idempotency/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/log/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/metrics/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/netsim/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/paging/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/proxy/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/ratelimit/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/rbac/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/retry/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/streaming/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/telemetry/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/test/.gitkeep +0 -0
- package/project/.sdk/tm/lean/src/feature/timeout/.gitkeep +0 -0
- package/project/.sdk/tm/lean/test/StructCorpus.lean +697 -0
- package/project/.sdk/tm/lean/test/TFeature.lean +268 -0
- package/project/.sdk/tm/lean/test/TPrimaryUtility.lean +349 -0
- package/project/.sdk/tm/lua/test/primary_utility_test.lua +10 -8
- package/project/.sdk/tm/ocaml/Makefile +5 -1
- package/project/.sdk/tm/perl/t/primary_utility.t +8 -17
- package/project/.sdk/tm/php/test/PrimaryUtilityTest.php +9 -7
- package/project/.sdk/tm/php/utility/struct/Struct.php +1 -1
- package/project/.sdk/tm/py/feature/test_feature.py +28 -1
- package/project/.sdk/tm/py/test/test_primary_utility.py +13 -18
- package/project/.sdk/tm/py/utility/voxgig_struct/voxgig_struct.py +1 -1
- package/project/.sdk/tm/rb/feature/test_feature.rb +24 -1
- package/project/.sdk/tm/rb/test/primary_utility_test.rb +7 -8
- package/project/.sdk/tm/rb/utility/struct/voxgig_struct.rb +1 -1
- package/project/.sdk/tm/rust/tests/common/mod.rs +37 -1
- package/project/.sdk/tm/rust/tests/primary_utility_test.rs +12 -26
- package/project/.sdk/tm/scala/sdktest/SdkTestMain.scala +8 -59
- package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/PrimaryUtilityTest.swift +7 -8
- package/project/.sdk/tm/ts/Makefile +1 -1
- package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +18 -1
- package/project/.sdk/tm/ts/test/utility/PrimaryUtility.test.ts +65 -21
- package/project/.sdk/tm/zig/utility/voxgigstruct/struct.zig +1 -1
- package/src/cmp/Entity.ts +5 -1
- package/src/cmp/Feature.ts +2 -1
- package/src/cmp/ReadmeErrors.ts +2 -2
- package/src/cmp/ReadmeExplanation.ts +3 -3
- package/src/cmp/ReadmeTop.ts +2 -2
- package/src/helpers/canonType.ts +121 -25
- package/src/helpers/collectDeps.ts +39 -12
- package/src/helpers/naming.ts +106 -0
- package/src/helpers/opExample.ts +43 -20
- package/src/helpers/opShape.ts +197 -11
- package/src/sdkgen.ts +13 -3
- package/src/tsconfig.json +2 -0
- package/project/.sdk/tm/zig/build.zig.zon +0 -11
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
|
|
2
|
+
import { cmp, Content } from '@voxgig/sdkgen'
|
|
3
|
+
|
|
4
|
+
import { zigVarName } from './utility_zig'
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
// Per-entity model-driven smoke tests. Emits `test "..."` blocks INTO the
|
|
8
|
+
// shared generated_test.zig file (opened by Test_zig) — zig's build.zig uses
|
|
9
|
+
// an explicit test-file list, so every generated test must live in that one
|
|
10
|
+
// file rather than a per-entity file (the go/rust one-file-per-entity layout
|
|
11
|
+
// relies on cargo/go auto-discovery, which zig lacks). Each test drives the
|
|
12
|
+
// entity through the full pipeline via the offline `test` transport and
|
|
13
|
+
// asserts a non-error result. `std`, `sdk`, `h`, `Value` and `vnull()` are in
|
|
14
|
+
// scope from the Test_zig header.
|
|
15
|
+
const TestEntity = cmp(function TestEntity(props: any) {
|
|
16
|
+
const { target, entity } = props
|
|
17
|
+
|
|
18
|
+
const method = zigVarName(entity.name)
|
|
19
|
+
const ops = entity.op || {}
|
|
20
|
+
|
|
21
|
+
if (ops.load) {
|
|
22
|
+
Content(`
|
|
23
|
+
test "${method}_load_smoke" {
|
|
24
|
+
const fixture = h.jo(&.{.{ "${entity.name}", h.jo(&.{.{ "t01", h.jo(&.{.{ "id", h.vstr("t01") }}) }}) }});
|
|
25
|
+
const testsdk = sdk.test_sdk(h.jo(&.{.{ "entity", fixture }}), vnull());
|
|
26
|
+
const e = testsdk.${method}(vnull());
|
|
27
|
+
const res = e.load(h.jo(&.{.{ "id", h.vstr("t01") }}), vnull());
|
|
28
|
+
switch (res) {
|
|
29
|
+
.ok => |data| {
|
|
30
|
+
try std.testing.expect(std.mem.eql(u8, h.get_str(data, "id") orelse "", "t01"));
|
|
31
|
+
},
|
|
32
|
+
.err => |er| {
|
|
33
|
+
std.debug.print("${method} load failed: {s}\\n", .{er.msg});
|
|
34
|
+
try std.testing.expect(false);
|
|
35
|
+
},
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
`)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (ops.list) {
|
|
42
|
+
Content(`
|
|
43
|
+
test "${method}_list_smoke" {
|
|
44
|
+
const fixture = h.jo(&.{.{ "${entity.name}", h.jo(&.{.{ "t01", h.jo(&.{.{ "id", h.vstr("t01") }}) }}) }});
|
|
45
|
+
const testsdk = sdk.test_sdk(h.jo(&.{.{ "entity", fixture }}), vnull());
|
|
46
|
+
const e = testsdk.${method}(vnull());
|
|
47
|
+
const res = e.list(vnull(), vnull());
|
|
48
|
+
try std.testing.expect(res == .ok);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
test "${method}_stream_smoke" {
|
|
52
|
+
// stream() runs the list op through the full pipeline and returns the
|
|
53
|
+
// result items. Seed two entities via test mode; with the streaming
|
|
54
|
+
// feature active it yields the feature's incremental items, else it falls
|
|
55
|
+
// back to the materialised items — either way every item is yielded.
|
|
56
|
+
const fixture = h.jo(&.{.{ "${entity.name}", h.jo(&.{
|
|
57
|
+
.{ "strm01", h.jo(&.{.{ "id", h.vstr("strm01") }}) },
|
|
58
|
+
.{ "strm02", h.jo(&.{.{ "id", h.vstr("strm02") }}) },
|
|
59
|
+
}) }});
|
|
60
|
+
const sdkopts = h.jo(&.{.{ "feature", h.jo(&.{.{ "streaming", h.jo(&.{.{ "active", h.vbool(true) }}) }}) }});
|
|
61
|
+
const testsdk = sdk.test_sdk(h.jo(&.{.{ "entity", fixture }}), sdkopts);
|
|
62
|
+
const e = testsdk.${method}(vnull());
|
|
63
|
+
const items = e.stream("list", vnull(), vnull());
|
|
64
|
+
try std.testing.expect(items.len == 2);
|
|
65
|
+
|
|
66
|
+
// Fallback: streaming inactive still yields both materialised items.
|
|
67
|
+
const plainsdk = sdk.test_sdk(h.jo(&.{.{ "entity", fixture }}), vnull());
|
|
68
|
+
const pe = plainsdk.${method}(vnull());
|
|
69
|
+
const pitems = pe.stream("list", vnull(), vnull());
|
|
70
|
+
try std.testing.expect(pitems.len == 2);
|
|
71
|
+
}
|
|
72
|
+
`)
|
|
73
|
+
}
|
|
74
|
+
})
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
export {
|
|
78
|
+
TestEntity
|
|
79
|
+
}
|
|
@@ -10,15 +10,22 @@ import type {
|
|
|
10
10
|
|
|
11
11
|
import { cmp, each, Folder, File, Content } from '@voxgig/sdkgen'
|
|
12
12
|
|
|
13
|
-
import {
|
|
13
|
+
import { TestEntity } from './TestEntity_zig'
|
|
14
|
+
import { TestDirect } from './TestDirect_zig'
|
|
15
|
+
import { ReadmeExamplesTest } from './ReadmeExamplesTest_zig'
|
|
14
16
|
|
|
15
17
|
|
|
16
18
|
// Generated tests. The bulk of behavioural coverage lives in the hand-written
|
|
17
19
|
// template suite (test/*.zig, copied verbatim): the struct corpus, the
|
|
18
|
-
// pipeline, every feature, and the cross-language gotchas. Here we emit
|
|
19
|
-
// model-driven smoke
|
|
20
|
-
//
|
|
21
|
-
//
|
|
20
|
+
// pipeline, every feature, and the cross-language gotchas. Here we emit the
|
|
21
|
+
// model-driven smoke tests.
|
|
22
|
+
//
|
|
23
|
+
// zig's build.zig picks up an EXPLICIT test-file list, so every generated test
|
|
24
|
+
// must land in the single `test/generated_test.zig` file it already lists —
|
|
25
|
+
// the per-entity generators (TestEntity, TestDirect) and the readme-examples
|
|
26
|
+
// gate all emit their `test` blocks INTO this one open File rather than opening
|
|
27
|
+
// their own (the go/rust one-file-per-entity split relies on auto-discovery
|
|
28
|
+
// zig does not have).
|
|
22
29
|
const Test = cmp(function Test(props: any) {
|
|
23
30
|
const { model } = props.ctx$
|
|
24
31
|
const { target } = props
|
|
@@ -47,63 +54,12 @@ test "sdk_constructs_in_test_mode" {
|
|
|
47
54
|
`)
|
|
48
55
|
|
|
49
56
|
each(entity, (ent: ModelEntity) => {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (ops.load) {
|
|
54
|
-
Content(`
|
|
55
|
-
test "${method}_load_smoke" {
|
|
56
|
-
const fixture = h.jo(&.{.{ "${ent.name}", h.jo(&.{.{ "t01", h.jo(&.{.{ "id", h.vstr("t01") }}) }}) }});
|
|
57
|
-
const testsdk = sdk.test_sdk(h.jo(&.{.{ "entity", fixture }}), vnull());
|
|
58
|
-
const e = testsdk.${method}(vnull());
|
|
59
|
-
const res = e.load(h.jo(&.{.{ "id", h.vstr("t01") }}), vnull());
|
|
60
|
-
switch (res) {
|
|
61
|
-
.ok => |data| {
|
|
62
|
-
try std.testing.expect(std.mem.eql(u8, h.get_str(data, "id") orelse "", "t01"));
|
|
63
|
-
},
|
|
64
|
-
.err => |er| {
|
|
65
|
-
std.debug.print("${method} load failed: {s}\\n", .{er.msg});
|
|
66
|
-
try std.testing.expect(false);
|
|
67
|
-
},
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
`)
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
if (ops.list) {
|
|
74
|
-
Content(`
|
|
75
|
-
test "${method}_list_smoke" {
|
|
76
|
-
const fixture = h.jo(&.{.{ "${ent.name}", h.jo(&.{.{ "t01", h.jo(&.{.{ "id", h.vstr("t01") }}) }}) }});
|
|
77
|
-
const testsdk = sdk.test_sdk(h.jo(&.{.{ "entity", fixture }}), vnull());
|
|
78
|
-
const e = testsdk.${method}(vnull());
|
|
79
|
-
const res = e.list(vnull(), vnull());
|
|
80
|
-
try std.testing.expect(res == .ok);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
test "${method}_stream_smoke" {
|
|
84
|
-
// stream() runs the list op through the full pipeline and returns the
|
|
85
|
-
// result items. Seed two entities via test mode; with the streaming
|
|
86
|
-
// feature active it yields the feature's incremental items, else it falls
|
|
87
|
-
// back to the materialised items — either way every item is yielded.
|
|
88
|
-
const fixture = h.jo(&.{.{ "${ent.name}", h.jo(&.{
|
|
89
|
-
.{ "strm01", h.jo(&.{.{ "id", h.vstr("strm01") }}) },
|
|
90
|
-
.{ "strm02", h.jo(&.{.{ "id", h.vstr("strm02") }}) },
|
|
91
|
-
}) }});
|
|
92
|
-
const sdkopts = h.jo(&.{.{ "feature", h.jo(&.{.{ "streaming", h.jo(&.{.{ "active", h.vbool(true) }}) }}) }});
|
|
93
|
-
const testsdk = sdk.test_sdk(h.jo(&.{.{ "entity", fixture }}), sdkopts);
|
|
94
|
-
const e = testsdk.${method}(vnull());
|
|
95
|
-
const items = e.stream("list", vnull(), vnull());
|
|
96
|
-
try std.testing.expect(items.len == 2);
|
|
97
|
-
|
|
98
|
-
// Fallback: streaming inactive still yields both materialised items.
|
|
99
|
-
const plainsdk = sdk.test_sdk(h.jo(&.{.{ "entity", fixture }}), vnull());
|
|
100
|
-
const pe = plainsdk.${method}(vnull());
|
|
101
|
-
const pitems = pe.stream("list", vnull(), vnull());
|
|
102
|
-
try std.testing.expect(pitems.len == 2);
|
|
103
|
-
}
|
|
104
|
-
`)
|
|
105
|
-
}
|
|
57
|
+
TestEntity({ target, entity: ent })
|
|
58
|
+
TestDirect({ target, entity: ent })
|
|
106
59
|
})
|
|
60
|
+
|
|
61
|
+
// Validate the documented zig quick-start examples run.
|
|
62
|
+
ReadmeExamplesTest({ target })
|
|
107
63
|
})
|
|
108
64
|
})
|
|
109
65
|
})
|
|
@@ -1534,7 +1534,7 @@
|
|
|
1534
1534
|
(.add ^List (ig inj :errs) (_invalidTypeMsg (ig inj :path) (typename ptype) ctype cval "V0020"))
|
|
1535
1535
|
(let [ckeys (keysof cval) pkeys (keysof pval)]
|
|
1536
1536
|
(if (and (> (count pkeys) 0) (not (true? (getprop pval "`$OPEN`"))))
|
|
1537
|
-
(let [badkeys (clojure.core/filter #(not (
|
|
1537
|
+
(let [badkeys (clojure.core/filter #(not (and (instance? Map pval) (.containsKey ^Map pval (str %)))) ckeys)]
|
|
1538
1538
|
(when (> (size badkeys) 0)
|
|
1539
1539
|
(.add ^List (ig inj :errs)
|
|
1540
1540
|
(str "Unexpected keys at field " (pathify (ig inj :path) 1) S-VIZ (join (alist-of badkeys) ", ")))))
|
|
@@ -10,6 +10,25 @@
|
|
|
10
10
|
|
|
11
11
|
#include "harness.hpp"
|
|
12
12
|
|
|
13
|
+
// The enterprise feature classes exercised below. Every feature header is
|
|
14
|
+
// shipped with the runtime; blocks whose feature is absent from this SDK's
|
|
15
|
+
// config are skipped at runtime via `have(...)` but must still compile.
|
|
16
|
+
#include "../feature/audit.hpp"
|
|
17
|
+
#include "../feature/cache.hpp"
|
|
18
|
+
#include "../feature/clienttrack.hpp"
|
|
19
|
+
#include "../feature/debug.hpp"
|
|
20
|
+
#include "../feature/idempotency.hpp"
|
|
21
|
+
#include "../feature/metrics.hpp"
|
|
22
|
+
#include "../feature/netsim.hpp"
|
|
23
|
+
#include "../feature/paging.hpp"
|
|
24
|
+
#include "../feature/proxy.hpp"
|
|
25
|
+
#include "../feature/ratelimit.hpp"
|
|
26
|
+
#include "../feature/rbac.hpp"
|
|
27
|
+
#include "../feature/retry.hpp"
|
|
28
|
+
#include "../feature/streaming.hpp"
|
|
29
|
+
#include "../feature/telemetry.hpp"
|
|
30
|
+
#include "../feature/timeout.hpp"
|
|
31
|
+
|
|
13
32
|
using namespace sdk;
|
|
14
33
|
using namespace sdk::fh;
|
|
15
34
|
|
|
@@ -669,23 +669,16 @@ static void prepareParamsBasic() {
|
|
|
669
669
|
// --- preparePath ------------------------------------------------------------
|
|
670
670
|
|
|
671
671
|
static void preparePathBasic() {
|
|
672
|
+
// Was hand-written cases that had drifted out of the shared corpus (the
|
|
673
|
+
// preparePath fixture shipped as an empty `set: []`).
|
|
672
674
|
auto c = client();
|
|
673
675
|
UtilityPtr utility = c->getUtility();
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
}
|
|
680
|
-
|
|
681
|
-
static void preparePathSingle() {
|
|
682
|
-
auto c = client();
|
|
683
|
-
UtilityPtr utility = c->getUtility();
|
|
684
|
-
CtxPtr ctx = makeTestFullCtx(c, utility);
|
|
685
|
-
ctx->point = fhMap({
|
|
686
|
-
{"parts", vlist({Value("items")})},
|
|
687
|
-
{"args", fhMap({{"params", vlist()}})}});
|
|
688
|
-
ASSERT_EQ(utility->preparePath(ctx), std::string("items"), "expected items");
|
|
676
|
+
rs::runset("preparePath-basic", rs::get_spec(primary(), {"preparePath", "basic"}),
|
|
677
|
+
[&](const Value& entry) -> Value {
|
|
678
|
+
Value ctxmap = Helpers::toMapAny(getp(entry, "ctx"));
|
|
679
|
+
CtxPtr ctx = rs::make_ctx_from_map(ctxmap, c, utility);
|
|
680
|
+
return Value(utility->preparePath(ctx));
|
|
681
|
+
});
|
|
689
682
|
}
|
|
690
683
|
|
|
691
684
|
// --- prepareQuery -----------------------------------------------------------
|
|
@@ -830,7 +823,6 @@ int main() {
|
|
|
830
823
|
T_RUN(prepareMethodBasic);
|
|
831
824
|
T_RUN(prepareParamsBasic);
|
|
832
825
|
T_RUN(preparePathBasic);
|
|
833
|
-
T_RUN(preparePathSingle);
|
|
834
826
|
T_RUN(prepareQueryBasic);
|
|
835
827
|
T_RUN(resultBasicBasic);
|
|
836
828
|
T_RUN(resultBodyBasic);
|
|
@@ -789,38 +789,20 @@ public class PrimaryUtilityTest
|
|
|
789
789
|
});
|
|
790
790
|
}
|
|
791
791
|
|
|
792
|
+
// Was two hand-written cases that had drifted out of the shared corpus
|
|
793
|
+
// (the preparePath fixture shipped as an empty `set: []`). Now driven by
|
|
794
|
+
// the corpus like every other section, so all ports assert the same
|
|
795
|
+
// separator / blank-segment behaviour.
|
|
792
796
|
[Fact]
|
|
793
797
|
public void PreparePathBasic()
|
|
794
798
|
{
|
|
795
|
-
|
|
796
|
-
ctx.Point = new Dictionary<string, object?>
|
|
799
|
+
TestRunner.RunSet(TestRunner.GetSpec(_primary, "preparePath", "basic"), entry =>
|
|
797
800
|
{
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
};
|
|
804
|
-
|
|
805
|
-
var path = _utility.PreparePath(ctx);
|
|
806
|
-
Assert.Equal("api/planet/{id}", path);
|
|
807
|
-
}
|
|
808
|
-
|
|
809
|
-
[Fact]
|
|
810
|
-
public void PreparePathSingle()
|
|
811
|
-
{
|
|
812
|
-
var ctx = MakeTestFullCtx(_client, _utility);
|
|
813
|
-
ctx.Point = new Dictionary<string, object?>
|
|
814
|
-
{
|
|
815
|
-
["parts"] = new List<object?> { "items" },
|
|
816
|
-
["args"] = new Dictionary<string, object?>
|
|
817
|
-
{
|
|
818
|
-
["params"] = new List<object?>(),
|
|
819
|
-
},
|
|
820
|
-
};
|
|
821
|
-
|
|
822
|
-
var path = _utility.PreparePath(ctx);
|
|
823
|
-
Assert.Equal("items", path);
|
|
801
|
+
var ctxmap = entry.TryGetValue("ctx", out var c)
|
|
802
|
+
? c as Dictionary<string, object?> : null;
|
|
803
|
+
var ctx = TestRunner.MakeCtxFromMap(ctxmap, _client, _utility);
|
|
804
|
+
return _utility.PreparePath(ctx);
|
|
805
|
+
});
|
|
824
806
|
}
|
|
825
807
|
|
|
826
808
|
[Fact]
|
|
@@ -39,7 +39,10 @@ Future<dynamic> makeRequest(dynamic ctx) async {
|
|
|
39
39
|
|
|
40
40
|
spec.step = 'prerequest';
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
// `dynamic` (not the inferred non-nullable type): the fetcher is injected
|
|
43
|
+
// and may return null at runtime, so the null guard below is real — an
|
|
44
|
+
// inferred non-null type would make it an `unnecessary_null_comparison`.
|
|
45
|
+
final dynamic fetched =
|
|
43
46
|
await Future.value(fetcher(ctx, fetchdef['url'], fetchdef));
|
|
44
47
|
|
|
45
48
|
if (null == fetched) {
|
|
@@ -2127,7 +2127,13 @@ void _validation(dynamic pval, dynamic key, dynamic parent, dynamic inj0) {
|
|
|
2127
2127
|
var ckeys = keysof(cval);
|
|
2128
2128
|
var pkeys = keysof(pval);
|
|
2129
2129
|
if (pkeys.isNotEmpty && getprop(pval, S_BOPEN) != true) {
|
|
2130
|
-
|
|
2130
|
+
// A child key is "unexpected" only when the shape does not CONTAIN it.
|
|
2131
|
+
// Test presence, not `_lookup(...) == null`: a key that is present in
|
|
2132
|
+
// the shape but maps to a null value (e.g. a record whose optional
|
|
2133
|
+
// `serial_number` is null, merged into the shape by a `$AND` select)
|
|
2134
|
+
// must NOT be rejected as unexpected.
|
|
2135
|
+
var badkeys = ckeys.where((ck) =>
|
|
2136
|
+
!(pval is Map && pval.containsKey(_mapKey(ck)))).toList();
|
|
2131
2137
|
if (badkeys.isNotEmpty) {
|
|
2132
2138
|
_pushErr(
|
|
2133
2139
|
inj,
|
|
@@ -94,6 +94,13 @@ void tests() {
|
|
|
94
94
|
await _runset(_g('prepareQuery.basic'), _utility.prepareQuery);
|
|
95
95
|
});
|
|
96
96
|
|
|
97
|
+
// preparePath shipped as an empty `set: []`, so no port drove it and
|
|
98
|
+
// several kept private hand-written cases instead.
|
|
99
|
+
test('path-basic', (t) async {
|
|
100
|
+
await _setup();
|
|
101
|
+
await _runset(_g('preparePath.basic'), _utility.preparePath);
|
|
102
|
+
});
|
|
103
|
+
|
|
97
104
|
test('body-basic', (t) async {
|
|
98
105
|
await _setup();
|
|
99
106
|
await _runset(_g('prepareBody.basic'), (dynamic ctx) {
|
|
@@ -2361,7 +2361,7 @@ defmodule Voxgig.Struct do
|
|
|
2361
2361
|
pkeys = keysof(pval)
|
|
2362
2362
|
|
|
2363
2363
|
if pkeys != [] and getprop(pval, @s_bopen) != true do
|
|
2364
|
-
badkeys = Enum.filter(ckeys, fn ck ->
|
|
2364
|
+
badkeys = Enum.filter(ckeys, fn ck -> match?(:error, omap_get(map_pairs(pval), mapkey(ck))) end)
|
|
2365
2365
|
if badkeys != [], do: push_err(inj, "Unexpected keys at field " <> pathify(ig(inj, :path), 1) <> @s_viz <> Enum.join(badkeys, ", "))
|
|
2366
2366
|
else
|
|
2367
2367
|
merge(vlist_new([pval, cval]))
|
|
@@ -87,7 +87,13 @@ defmodule ProjectName.PrimaryUtilityTest do
|
|
|
87
87
|
S.setprop(ctx, "spec", spec)
|
|
88
88
|
{_spec, err} = Utility.prepare_auth(ctx)
|
|
89
89
|
assert err == nil
|
|
90
|
-
|
|
90
|
+
# The apikey must reach the authorization header; the exact value carries
|
|
91
|
+
# the API's configured auth prefix (e.g. "Basic secret" for HTTP basic, or
|
|
92
|
+
# just "secret" for an empty prefix), so assert on the apikey being present
|
|
93
|
+
# rather than an exact string that varies per API.
|
|
94
|
+
header = S.getprop(S.getprop(spec, "headers"), "authorization")
|
|
95
|
+
assert header != nil
|
|
96
|
+
assert String.contains?(header, "secret")
|
|
91
97
|
end
|
|
92
98
|
|
|
93
99
|
test "prepare_auth omits the header when no apikey" do
|
|
@@ -3,12 +3,17 @@ package feature
|
|
|
3
3
|
import (
|
|
4
4
|
"fmt"
|
|
5
5
|
"math/rand"
|
|
6
|
+
"regexp"
|
|
6
7
|
|
|
7
8
|
vs "github.com/voxgig/struct"
|
|
8
9
|
|
|
9
10
|
"GOMODULE/core"
|
|
10
11
|
)
|
|
11
12
|
|
|
13
|
+
// The `body.<key>` form of an op's response transform: the mock wraps its
|
|
14
|
+
// payload in <key> so the transform can unwrap it again.
|
|
15
|
+
var envelopeResRe = regexp.MustCompile("^`body\\.([^`.]+)`$")
|
|
16
|
+
|
|
12
17
|
type TestFeature struct {
|
|
13
18
|
BaseFeature
|
|
14
19
|
client *core.ProjectNameSDK
|
|
@@ -49,11 +54,38 @@ func (f *TestFeature) Init(ctx *core.Context, options map[string]any) {
|
|
|
49
54
|
self := f
|
|
50
55
|
|
|
51
56
|
testFetcher := func(ctx *core.Context, _fullurl string, _fetchdef map[string]any) (any, error) {
|
|
57
|
+
// Shape the mock payload the way the real API would, so the op's
|
|
58
|
+
// response transform recovers the entity from it. A point carrying
|
|
59
|
+
// `transform.res: ` + "`body.item`" + ` describes an API that answers
|
|
60
|
+
// {"item": {...}}; handing back the bare entity means the transform
|
|
61
|
+
// unwraps a property that is not there and the caller gets nil. The
|
|
62
|
+
// mock has to agree with the model, or it only ever simulates APIs
|
|
63
|
+
// whose responses happen to be unwrapped. Mirrors the ts mock.
|
|
64
|
+
envelope := func(data any) any {
|
|
65
|
+
if data == nil || ctx.Point == nil {
|
|
66
|
+
return data
|
|
67
|
+
}
|
|
68
|
+
tm, ok := ctx.Point["transform"].(map[string]any)
|
|
69
|
+
if !ok {
|
|
70
|
+
return data
|
|
71
|
+
}
|
|
72
|
+
restf, ok := tm["res"].(string)
|
|
73
|
+
if !ok {
|
|
74
|
+
return data
|
|
75
|
+
}
|
|
76
|
+
m := envelopeResRe.FindStringSubmatch(restf)
|
|
77
|
+
if m == nil {
|
|
78
|
+
return data
|
|
79
|
+
}
|
|
80
|
+
return map[string]any{m[1]: data}
|
|
81
|
+
}
|
|
82
|
+
|
|
52
83
|
respond := func(status int, data any, extra map[string]any) map[string]any {
|
|
84
|
+
payload := envelope(data)
|
|
53
85
|
out := map[string]any{
|
|
54
86
|
"status": status,
|
|
55
87
|
"statusText": "OK",
|
|
56
|
-
"json": (func() any)(func() any { return
|
|
88
|
+
"json": (func() any)(func() any { return payload }),
|
|
57
89
|
"body": "not-used",
|
|
58
90
|
}
|
|
59
91
|
if extra != nil {
|