@voxgig/sdkgen 4.8.2 → 4.8.3

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.
Files changed (376) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/dist/action/doctor.d.ts +1 -0
  3. package/dist/action/doctor.js +50 -2
  4. package/dist/action/doctor.js.map +1 -1
  5. package/dist/helpers/naming.js +4 -2
  6. package/dist/helpers/naming.js.map +1 -1
  7. package/dist/tsconfig.tsbuildinfo +1 -1
  8. package/model/sdkgen.aon +21 -0
  9. package/package.json +1 -1
  10. package/project/.sdk/model/feature/secrets.aon +120 -18
  11. package/project/.sdk/model/target/c.aon +10 -0
  12. package/project/.sdk/model/target/clojure.aon +13 -0
  13. package/project/.sdk/model/target/cpp.aon +10 -0
  14. package/project/.sdk/model/target/csharp.aon +9 -0
  15. package/project/.sdk/model/target/dart.aon +10 -0
  16. package/project/.sdk/model/target/elixir.aon +9 -0
  17. package/project/.sdk/model/target/go.aon +13 -0
  18. package/project/.sdk/model/target/java.aon +9 -0
  19. package/project/.sdk/model/target/js.aon +7 -0
  20. package/project/.sdk/model/target/kotlin.aon +9 -0
  21. package/project/.sdk/model/target/lean.aon +17 -0
  22. package/project/.sdk/model/target/lua.aon +8 -0
  23. package/project/.sdk/model/target/ocaml.aon +9 -0
  24. package/project/.sdk/model/target/perl.aon +8 -0
  25. package/project/.sdk/model/target/php.aon +8 -0
  26. package/project/.sdk/model/target/py.aon +13 -0
  27. package/project/.sdk/model/target/rb.aon +8 -0
  28. package/project/.sdk/model/target/rust.aon +10 -0
  29. package/project/.sdk/model/target/scala.aon +21 -2
  30. package/project/.sdk/model/target/swift.aon +18 -0
  31. package/project/.sdk/model/target/ts.aon +13 -0
  32. package/project/.sdk/src/cmp/clojure/Package_clojure.ts +9 -2
  33. package/project/.sdk/src/cmp/cpp/Gitignore_cpp.ts +3 -0
  34. package/project/.sdk/src/cmp/dart/Test_dart.ts +2 -0
  35. package/project/.sdk/src/cmp/elixir/Package_elixir.ts +4 -1
  36. package/project/.sdk/src/cmp/go/Config_go.ts +59 -2
  37. package/project/.sdk/src/cmp/go/Main_go.ts +8 -2
  38. package/project/.sdk/src/cmp/java/Test_java.ts +6 -5
  39. package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +6 -5
  40. package/project/.sdk/src/cmp/lean/Package_lean.ts +23 -0
  41. package/project/.sdk/src/cmp/lean/ReadmeInstall_lean.ts +1 -0
  42. package/project/.sdk/src/cmp/lean/ReadmeTopTest_lean.ts +1 -0
  43. package/project/.sdk/src/cmp/ocaml/Gitignore_ocaml.ts +1 -0
  44. package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +7 -3
  45. package/project/.sdk/src/cmp/py/Config_py.ts +82 -1
  46. package/project/.sdk/src/cmp/py/Main_py.ts +44 -0
  47. package/project/.sdk/src/cmp/py/fragment/Main.fragment.py +2 -0
  48. package/project/.sdk/src/cmp/swift/Main_swift.ts +10 -0
  49. package/project/.sdk/src/cmp/swift/Package_swift.ts +13 -1
  50. package/project/.sdk/src/cmp/ts/Config_ts.ts +42 -17
  51. package/project/.sdk/src/cmp/ts/fragment/Config.data.fragment.ts +13 -1
  52. package/project/.sdk/src/cmp/ts/fragment/Config.fragment.ts +13 -1
  53. package/project/.sdk/tm/c/Makefile +38 -3
  54. package/project/.sdk/tm/c/tests/omni_resolver.h +361 -0
  55. package/project/.sdk/tm/c/tests/omni_smoke_test.c +237 -0
  56. package/project/.sdk/tm/c/tests/primary_corpus_test.c +205 -284
  57. package/project/.sdk/tm/c/tests/struct_corpus_test.c +292 -212
  58. package/project/.sdk/tm/c/tests/vendor/omni/json.c +811 -0
  59. package/project/.sdk/tm/c/tests/vendor/omni/omni.h +240 -0
  60. package/project/.sdk/tm/c/tests/vendor/omni/runner.c +940 -0
  61. package/project/.sdk/tm/c/tests/vendor/omni/util.c +351 -0
  62. package/project/.sdk/tm/c/utility/struct/utility.c +7 -2
  63. package/project/.sdk/tm/clojure/test/sdk/test/omni.clj +401 -0
  64. package/project/.sdk/tm/clojure/test/sdk/test/omni_smoke.clj +81 -0
  65. package/project/.sdk/tm/clojure/test/sdk/test/primary.clj +92 -58
  66. package/project/.sdk/tm/clojure/test/sdk/test/struct_corpus.clj +122 -149
  67. package/project/.sdk/tm/clojure/test/sdk/test_runner.clj +8 -3
  68. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/json.clj +145 -0
  69. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/runner.clj +445 -0
  70. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/util.clj +145 -0
  71. package/project/.sdk/tm/cpp/Makefile +5 -1
  72. package/project/.sdk/tm/cpp/test/omni_resolver.hpp +473 -0
  73. package/project/.sdk/tm/cpp/test/omni_smoke_test.cpp +209 -0
  74. package/project/.sdk/tm/cpp/test/primary_utility_test.cpp +243 -184
  75. package/project/.sdk/tm/cpp/test/runner_support.hpp +68 -181
  76. package/project/.sdk/tm/cpp/test/struct_corpus_test.cpp +183 -56
  77. package/project/.sdk/tm/cpp/test/vendor/omni/json.hpp +406 -0
  78. package/project/.sdk/tm/cpp/test/vendor/omni/omni.hpp +751 -0
  79. package/project/.sdk/tm/cpp/test/vendor/omni/util.hpp +256 -0
  80. package/project/.sdk/tm/cpp/utility/pipeline.hpp +7 -1
  81. package/project/.sdk/tm/csharp/test/OmniResolver.cs +491 -0
  82. package/project/.sdk/tm/csharp/test/OmniSmokeTest.cs +106 -0
  83. package/project/.sdk/tm/csharp/test/PrimaryUtilityTest.cs +299 -316
  84. package/project/.sdk/tm/csharp/test/Runner.cs +104 -269
  85. package/project/.sdk/tm/csharp/test/StructUtilityTest.cs +535 -724
  86. package/project/.sdk/tm/csharp/test/vendor/omni/Runner.cs +864 -0
  87. package/project/.sdk/tm/csharp/test/vendor/omni/Util.cs +347 -0
  88. package/project/.sdk/tm/csharp/utility/MakeSpec.cs +3 -1
  89. package/project/.sdk/tm/csharp/utility/PrepareMethod.cs +6 -1
  90. package/project/.sdk/tm/csharp/utility/struct/Struct.cs +21 -5
  91. package/project/.sdk/tm/dart/test/omni.dart +520 -0
  92. package/project/.sdk/tm/dart/test/omni_smoke_test.dart +143 -0
  93. package/project/.sdk/tm/dart/test/primary_test.dart +86 -28
  94. package/project/.sdk/tm/dart/test/struct_test.dart +438 -11
  95. package/project/.sdk/tm/dart/test/vendor/omni/omni.dart +7 -0
  96. package/project/.sdk/tm/dart/test/vendor/omni/runner.dart +653 -0
  97. package/project/.sdk/tm/dart/test/vendor/omni/util.dart +232 -0
  98. package/project/.sdk/tm/elixir/Makefile +11 -3
  99. package/project/.sdk/tm/elixir/test/omni_smoke_test.exs +117 -0
  100. package/project/.sdk/tm/elixir/test/primary_utility_test.exs +341 -16
  101. package/project/.sdk/tm/elixir/test/struct_corpus_test.exs +554 -9
  102. package/project/.sdk/tm/elixir/test/support/omni.ex +377 -0
  103. package/project/.sdk/tm/elixir/test/vendor/omni/json.ex +122 -0
  104. package/project/.sdk/tm/elixir/test/vendor/omni/runner.ex +623 -0
  105. package/project/.sdk/tm/elixir/test/vendor/omni/util.ex +187 -0
  106. package/project/.sdk/tm/go/core/context.go +32 -16
  107. package/project/.sdk/tm/go/feature/secrets/plugin/capability.go +261 -0
  108. package/project/.sdk/tm/go/feature/secrets/plugin/catalog.go +78 -0
  109. package/project/.sdk/tm/go/feature/secrets/plugin/config.go +652 -0
  110. package/project/.sdk/tm/go/feature/secrets/plugin/depend.go +250 -0
  111. package/project/.sdk/tm/go/feature/secrets/plugin/env.go +194 -0
  112. package/project/.sdk/tm/go/feature/secrets/plugin/export.go +80 -0
  113. package/project/.sdk/tm/go/feature/secrets/plugin/graph.go +238 -0
  114. package/project/.sdk/tm/go/feature/secrets/plugin/host.go +1575 -0
  115. package/project/.sdk/tm/go/feature/secrets/plugin/order.go +248 -0
  116. package/project/.sdk/tm/go/feature/secrets/plugin/point.go +184 -0
  117. package/project/.sdk/tm/go/feature/secrets/plugin/ref.go +123 -0
  118. package/project/.sdk/tm/go/feature/secrets/plugin/resolve.go +79 -0
  119. package/project/.sdk/tm/go/feature/secrets/plugin/types.go +296 -0
  120. package/project/.sdk/tm/go/feature/secrets/plugin/util.go +87 -0
  121. package/project/.sdk/tm/go/feature/secrets/plugin/version.go +161 -0
  122. package/project/.sdk/tm/go/feature/secrets/plugins/aws/aws.go +292 -0
  123. package/project/.sdk/tm/go/feature/secrets/plugins/aws/sigv4.go +201 -0
  124. package/project/.sdk/tm/go/feature/secrets/plugins/azuresecrets/azuresecrets.go +187 -0
  125. package/project/.sdk/tm/go/feature/secrets/plugins/boru/boru.go +184 -0
  126. package/project/.sdk/tm/go/feature/secrets/plugins/doppler/doppler.go +114 -0
  127. package/project/.sdk/tm/go/feature/secrets/plugins/gcpsecrets/gcpsecrets.go +156 -0
  128. package/project/.sdk/tm/go/feature/secrets/plugins/hashicorp/hashicorp.go +209 -0
  129. package/project/.sdk/tm/go/feature/secrets/plugins/httpjson/httpjson.go +241 -0
  130. package/project/.sdk/tm/go/feature/secrets/plugins/infisical/infisical.go +151 -0
  131. package/project/.sdk/tm/go/feature/secrets/plugins/onepassword/onepassword.go +152 -0
  132. package/project/.sdk/tm/go/feature/secrets/plugins/secretspec/secretspec.go +143 -0
  133. package/project/.sdk/tm/go/feature/secrets/sekreto/addr.go +120 -0
  134. package/project/.sdk/tm/go/feature/secrets/sekreto/providers.go +439 -0
  135. package/project/.sdk/tm/go/feature/secrets/sekreto/sekreto.go +685 -0
  136. package/project/.sdk/tm/go/feature/secrets_feature.go +675 -0
  137. package/project/.sdk/tm/go/src/feature/secrets/.gitkeep +0 -0
  138. package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +799 -0
  139. package/project/.sdk/tm/go/test/omni/omni.go +897 -0
  140. package/project/.sdk/tm/go/test/omni/util.go +360 -0
  141. package/project/.sdk/tm/go/test/omniresolver_test.go +748 -0
  142. package/project/.sdk/tm/go/test/omnismoke_test.go +112 -0
  143. package/project/.sdk/tm/go/test/primary_utility_test.go +123 -191
  144. package/project/.sdk/tm/go/test/struct_utility_test.go +323 -16
  145. package/project/.sdk/tm/go/test/testsupport_test.go +294 -0
  146. package/project/.sdk/tm/go/utility/make_options.go +8 -1
  147. package/project/.sdk/tm/go/utility/prepare_method.go +5 -1
  148. package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +2 -2
  149. package/project/.sdk/tm/java/test/OmniResolver.java +355 -0
  150. package/project/.sdk/tm/java/test/OmniSmokeTest.java +99 -0
  151. package/project/.sdk/tm/java/test/PrimaryUtilityTest.java +254 -280
  152. package/project/.sdk/tm/java/test/RunnerSupport.java +9 -194
  153. package/project/.sdk/tm/java/test/StructCorpusTest.java +119 -42
  154. package/project/.sdk/tm/java/test/vendor/omni/Json.java +287 -0
  155. package/project/.sdk/tm/java/test/vendor/omni/Runner.java +851 -0
  156. package/project/.sdk/tm/java/test/vendor/omni/Util.java +322 -0
  157. package/project/.sdk/tm/java/utility/MakeSpec.java +3 -1
  158. package/project/.sdk/tm/java/utility/PrepareMethod.java +5 -5
  159. package/project/.sdk/tm/java/utility/struct/Struct.java +17 -4
  160. package/project/.sdk/tm/js/src/utility/StructUtility.js +3 -3
  161. package/project/.sdk/tm/js/test/omni.js +251 -0
  162. package/project/.sdk/tm/js/test/omni.test.js +105 -0
  163. package/project/.sdk/tm/js/test/utility/PrimaryUtility.test.js +6 -2
  164. package/project/.sdk/tm/js/test/utility/StructUtility.test.js +27 -2
  165. package/project/.sdk/tm/js/test/vendor/omni/index.js +77 -0
  166. package/project/.sdk/tm/js/test/vendor/omni/runner.js +613 -0
  167. package/project/.sdk/tm/js/test/vendor/omni/util.js +212 -0
  168. package/project/.sdk/tm/kotlin/core/Utility.kt +1 -1
  169. package/project/.sdk/tm/kotlin/test/OmniResolver.kt +343 -0
  170. package/project/.sdk/tm/kotlin/test/OmniSmokeTest.kt +100 -0
  171. package/project/.sdk/tm/kotlin/test/PrimaryUtilityTest.kt +244 -262
  172. package/project/.sdk/tm/kotlin/test/RunnerSupport.kt +9 -178
  173. package/project/.sdk/tm/kotlin/test/StructCorpusTest.kt +121 -32
  174. package/project/.sdk/tm/kotlin/test/vendor/omni/Json.kt +264 -0
  175. package/project/.sdk/tm/kotlin/test/vendor/omni/Runner.kt +615 -0
  176. package/project/.sdk/tm/kotlin/test/vendor/omni/Util.kt +139 -0
  177. package/project/.sdk/tm/kotlin/utility/MakeSpecUrl.kt +6 -3
  178. package/project/.sdk/tm/kotlin/utility/Prepare.kt +6 -6
  179. package/project/.sdk/tm/kotlin/utility/struct/Struct.kt +18 -2
  180. package/project/.sdk/tm/lean/Makefile +12 -5
  181. package/project/.sdk/tm/lean/src/SdkUtility.lean +14 -1
  182. package/project/.sdk/tm/lean/test/OmniResolver.lean +358 -0
  183. package/project/.sdk/tm/lean/test/OmniSmoke.lean +174 -0
  184. package/project/.sdk/tm/lean/test/StructCorpus.lean +245 -574
  185. package/project/.sdk/tm/lean/test/TPrimaryUtility.lean +155 -291
  186. package/project/.sdk/tm/lean/test/vendor/omni/Omni.lean +997 -0
  187. package/project/.sdk/tm/lua/test/omni.lua +456 -0
  188. package/project/.sdk/tm/lua/test/omni_smoke_test.lua +103 -0
  189. package/project/.sdk/tm/lua/test/primary_utility_test.lua +250 -509
  190. package/project/.sdk/tm/lua/test/struct_utility_test.lua +161 -70
  191. package/project/.sdk/tm/lua/test/vendor/omni/json.lua +268 -0
  192. package/project/.sdk/tm/lua/test/vendor/omni/regex.lua +385 -0
  193. package/project/.sdk/tm/lua/test/vendor/omni/runner.lua +641 -0
  194. package/project/.sdk/tm/lua/test/vendor/omni/util.lua +282 -0
  195. package/project/.sdk/tm/lua/utility/prepare_method.lua +5 -1
  196. package/project/.sdk/tm/lua/utility/struct/regex.lua +663 -0
  197. package/project/.sdk/tm/lua/utility/struct/struct.lua +660 -420
  198. package/project/.sdk/tm/ocaml/Makefile +37 -12
  199. package/project/.sdk/tm/ocaml/test/omni_resolver.ml +284 -0
  200. package/project/.sdk/tm/ocaml/test/omni_smoke_test.ml +169 -0
  201. package/project/.sdk/tm/ocaml/test/primary_utility_test.ml +84 -100
  202. package/project/.sdk/tm/ocaml/test/struct_corpus.ml +225 -201
  203. package/project/.sdk/tm/ocaml/test/vendor/omni/omni.ml +1157 -0
  204. package/project/.sdk/tm/perl/lib/Voxgig/Struct.pm +88 -12
  205. package/project/.sdk/tm/perl/t/omni.pm +647 -0
  206. package/project/.sdk/tm/perl/t/omni_smoke.t +87 -0
  207. package/project/.sdk/tm/perl/t/primary_utility.t +189 -487
  208. package/project/.sdk/tm/perl/t/struct_utility.t +455 -389
  209. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Runner.pm +649 -0
  210. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Util.pm +253 -0
  211. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni.pm +24 -0
  212. package/project/.sdk/tm/perl/utility/prepare_method.pm +7 -2
  213. package/project/.sdk/tm/php/test/Omni.php +691 -0
  214. package/project/.sdk/tm/php/test/OmniSmokeTest.php +93 -0
  215. package/project/.sdk/tm/php/test/PrimaryUtilityTest.php +210 -571
  216. package/project/.sdk/tm/php/test/StructUtilityTest.php +320 -342
  217. package/project/.sdk/tm/php/test/vendor/omni/Runner.php +644 -0
  218. package/project/.sdk/tm/php/test/vendor/omni/Util.php +283 -0
  219. package/project/.sdk/tm/php/utility/MakeSpec.php +10 -3
  220. package/project/.sdk/tm/php/utility/PrepareBody.php +7 -1
  221. package/project/.sdk/tm/php/utility/PrepareMethod.php +6 -2
  222. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/__init__.py +36 -0
  223. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/capability.py +141 -0
  224. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/catalog.py +50 -0
  225. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/config.py +333 -0
  226. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/depend.py +198 -0
  227. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/env.py +147 -0
  228. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/export.py +52 -0
  229. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/graph.py +139 -0
  230. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/host.py +1053 -0
  231. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/order.py +171 -0
  232. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/point.py +95 -0
  233. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/ref.py +116 -0
  234. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/resolve.py +59 -0
  235. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/types.py +87 -0
  236. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/version.py +112 -0
  237. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/__init__.py +74 -0
  238. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/addr.py +116 -0
  239. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/aws.py +192 -0
  240. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/azuresecrets.py +120 -0
  241. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/boru.py +140 -0
  242. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/doppler.py +62 -0
  243. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.py +101 -0
  244. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/hashicorp.py +152 -0
  245. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/httpjson.py +115 -0
  246. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/infisical.py +92 -0
  247. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/onepassword.py +101 -0
  248. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/secretspec.py +119 -0
  249. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/sigv4.py +125 -0
  250. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/providers.py +211 -0
  251. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/sekreto.py +455 -0
  252. package/project/.sdk/tm/py/pkg/feature/secrets_feature.py +467 -0
  253. package/project/.sdk/tm/py/pkg/utility/prepare_method.py +5 -1
  254. package/project/.sdk/tm/py/pkg/utility/voxgig_struct/__init__.py +0 -2
  255. package/project/.sdk/tm/py/pkg/utility/voxgig_struct/voxgig_struct.py +780 -529
  256. package/project/.sdk/tm/py/src/feature/secrets/.gitkeep +0 -0
  257. package/project/.sdk/tm/py/test/feature/__init__.py +0 -0
  258. package/project/.sdk/tm/py/test/feature/secrets/__init__.py +0 -0
  259. package/project/.sdk/tm/py/test/feature/secrets/test_secrets.py +337 -0
  260. package/project/.sdk/tm/py/test/omni.py +415 -0
  261. package/project/.sdk/tm/py/test/test_omni_smoke.py +74 -0
  262. package/project/.sdk/tm/py/test/test_primary_utility.py +144 -668
  263. package/project/.sdk/tm/py/test/test_struct_utility.py +74 -27
  264. package/project/.sdk/tm/py/test/voxgig_omni/__init__.py +62 -0
  265. package/project/.sdk/tm/py/test/voxgig_omni/runner.py +566 -0
  266. package/project/.sdk/tm/py/test/voxgig_omni/util.py +237 -0
  267. package/project/.sdk/tm/rb/test/omni.rb +505 -0
  268. package/project/.sdk/tm/rb/test/omni_smoke_test.rb +72 -0
  269. package/project/.sdk/tm/rb/test/primary_utility_test.rb +174 -560
  270. package/project/.sdk/tm/rb/test/struct_utility_test.rb +13 -7
  271. package/project/.sdk/tm/rb/test/vendor/omni/runner.rb +493 -0
  272. package/project/.sdk/tm/rb/test/vendor/omni/util.rb +199 -0
  273. package/project/.sdk/tm/rb/test/vendor/omni/voxgig_omni.rb +15 -0
  274. package/project/.sdk/tm/rb/utility/prepare_method.rb +5 -1
  275. package/project/.sdk/tm/rust/tests/common/mod.rs +19 -242
  276. package/project/.sdk/tm/rust/tests/omni_resolver/mod.rs +888 -0
  277. package/project/.sdk/tm/rust/tests/omni_smoke_test.rs +286 -0
  278. package/project/.sdk/tm/rust/tests/primary_utility_test.rs +318 -312
  279. package/project/.sdk/tm/rust/tests/struct_utility_test.rs +66 -28
  280. package/project/.sdk/tm/rust/tests/vendor/omni/json.rs +412 -0
  281. package/project/.sdk/tm/rust/tests/vendor/omni/mod.rs +38 -0
  282. package/project/.sdk/tm/rust/tests/vendor/omni/regex.rs +392 -0
  283. package/project/.sdk/tm/rust/tests/vendor/omni/runner.rs +1001 -0
  284. package/project/.sdk/tm/rust/tests/vendor/omni/util.rs +161 -0
  285. package/project/.sdk/tm/rust/utility/prepare_method.rs +5 -1
  286. package/project/.sdk/tm/scala/Makefile +16 -6
  287. package/project/.sdk/tm/scala/sdktest/OmniResolver.scala +497 -0
  288. package/project/.sdk/tm/scala/sdktest/OmniSmoke.scala +192 -0
  289. package/project/.sdk/tm/scala/sdktest/PrimaryCorpus.scala +47 -19
  290. package/project/.sdk/tm/scala/sdktest/StructCorpus.scala +0 -0
  291. package/project/.sdk/tm/scala/sdktest/vendor/omni/Json.scala +229 -0
  292. package/project/.sdk/tm/scala/sdktest/vendor/omni/Runner.scala +552 -0
  293. package/project/.sdk/tm/scala/sdktest/vendor/omni/Util.scala +104 -0
  294. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Constants.swift +10 -0
  295. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Inject.swift +28 -5
  296. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Injection.swift +5 -1
  297. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Minor.swift +4 -1
  298. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Validate.swift +15 -5
  299. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Prepare.swift +6 -1
  300. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/OmniResolver.swift +474 -0
  301. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/OmniSmokeTest.swift +107 -0
  302. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/PrimaryUtilityTest.swift +141 -178
  303. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/Runner.swift +17 -113
  304. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/StructUtilityTest.swift +295 -446
  305. package/project/.sdk/tm/swift/Tests/vendor/omni/Json.swift +364 -0
  306. package/project/.sdk/tm/swift/Tests/vendor/omni/Runner.swift +730 -0
  307. package/project/.sdk/tm/swift/Tests/vendor/omni/Util.swift +162 -0
  308. package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +7 -0
  309. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Capability.ts +148 -0
  310. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Catalog.ts +55 -0
  311. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Config.ts +344 -0
  312. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Depend.ts +205 -0
  313. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Env.ts +138 -0
  314. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Export.ts +46 -0
  315. package/project/.sdk/tm/ts/src/feature/secrets/plugin/FeatureHost.ts +349 -0
  316. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Graph.ts +181 -0
  317. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Host.ts +1132 -0
  318. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Order.ts +177 -0
  319. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Point.ts +119 -0
  320. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Ref.ts +102 -0
  321. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Resolve.ts +61 -0
  322. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Types.ts +112 -0
  323. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Version.ts +100 -0
  324. package/project/.sdk/tm/ts/src/feature/secrets/plugin/index.ts +37 -0
  325. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/Sekreto.ts +163 -30
  326. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/index.ts +27 -22
  327. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/aws.ts +26 -36
  328. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/azuresecrets.ts +19 -21
  329. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/boru.ts +36 -17
  330. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/doppler.ts +14 -21
  331. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/gcpsecrets.ts +27 -27
  332. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/hashicorp.ts +25 -39
  333. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/httpjson.ts +99 -0
  334. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/infisical.ts +14 -16
  335. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/onepassword.ts +15 -22
  336. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/secretspec.ts +98 -0
  337. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{Sigv4.ts → plugins/sigv4.ts} +7 -6
  338. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/addr.ts +97 -23
  339. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/builtin.ts +37 -0
  340. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/dotenv.ts +4 -17
  341. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/env.ts +4 -16
  342. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/file.ts +11 -25
  343. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/memory.ts +6 -23
  344. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/support.ts +106 -39
  345. package/project/.sdk/tm/ts/src/utility/StructUtility.ts +3 -3
  346. package/project/.sdk/tm/ts/test/omni.ts +104 -32
  347. package/project/.sdk/tm/ts/test/utility/StructUtility.test.ts +27 -0
  348. package/project/.sdk/tm/ts/test/vendor/omni/Runner.ts +32 -5
  349. package/project/.sdk/tm/ts/test/vendor/omni/Util.ts +2 -2
  350. package/project/.sdk/tm/ts/test/vendor/omni/index.ts +2 -2
  351. package/project/.sdk/tm/zig/test/primary_utility_test.zig +1 -1
  352. package/project/.sdk/tm/zig/test/struct_runner.zig +5 -4
  353. package/project/sdkgen-package.json +1 -1
  354. package/src/action/doctor.ts +66 -2
  355. package/src/helpers/naming.ts +4 -2
  356. package/project/.sdk/tm/c/tests/runner.h +0 -274
  357. package/project/.sdk/tm/cpp/test/struct_runner.hpp +0 -314
  358. package/project/.sdk/tm/csharp/test/StructRunner.cs +0 -276
  359. package/project/.sdk/tm/dart/test/runner.dart +0 -406
  360. package/project/.sdk/tm/dart/test/struct_corpus.dart +0 -531
  361. package/project/.sdk/tm/elixir/test/support/struct_corpus.ex +0 -1088
  362. package/project/.sdk/tm/go/test/runner_test.go +0 -629
  363. package/project/.sdk/tm/go/test/struct_runner_test.go +0 -1094
  364. package/project/.sdk/tm/java/test/StructRunner.java +0 -281
  365. package/project/.sdk/tm/js/test/runner.js +0 -387
  366. package/project/.sdk/tm/kotlin/test/StructRunner.kt +0 -177
  367. package/project/.sdk/tm/lua/test/struct_runner.lua +0 -602
  368. package/project/.sdk/tm/ocaml/test/corpus_runner.ml +0 -185
  369. package/project/.sdk/tm/perl/t/struct_runner.pm +0 -275
  370. package/project/.sdk/tm/php/test/StructRunner.php +0 -275
  371. package/project/.sdk/tm/py/test/struct_runner.py +0 -411
  372. package/project/.sdk/tm/rb/test/struct_runner.rb +0 -309
  373. package/project/.sdk/tm/rust/tests/struct_runner/mod.rs +0 -424
  374. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/Registry.ts +0 -90
  375. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/http.ts +0 -66
  376. package/project/.sdk/tm/ts/test/vendor/omni/compat.ts +0 -188
@@ -0,0 +1,199 @@
1
+ # VENDORED: @voxgig/omni sdk-20260904-1610-0 (ruby/lib/voxgig_omni/util.rb)
2
+ # Source: https://github.com/voxgig/omni @ 8c3e1b573a8d35796f7fc45e3226b977023cabf7 [tag: sdk-20260904-1610-0]
3
+ # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
+ # Omni internal JSON utilities.
5
+ #
6
+ # This module is deliberately self-contained: the omni runner must be able
7
+ # to test *any* library, including libraries that provide these same
8
+ # operations, so it can never borrow them from the system under test.
9
+ # Zero third-party dependencies, by design.
10
+
11
+ module VoxgigOmni
12
+ NULLMARK = '__NULL__' # Value is JSON null.
13
+ UNDEFMARK = '__UNDEF__' # Value is not present (thus, undefined).
14
+ EXISTSMARK = '__EXISTS__' # Value exists (not undefined).
15
+
16
+ # Ruby has no `undefined`, so absence needs its own marker.
17
+ class AbsentClass
18
+ def to_s
19
+ 'ABSENT'
20
+ end
21
+
22
+ def inspect
23
+ 'ABSENT'
24
+ end
25
+ end
26
+
27
+ ABSENT = AbsentClass.new
28
+
29
+ module Util
30
+ module_function
31
+
32
+ # A map (JSON object)?
33
+ def ismap(val)
34
+ val.is_a?(Hash)
35
+ end
36
+
37
+ # A list (JSON array)?
38
+ def islist(val)
39
+ val.is_a?(Array)
40
+ end
41
+
42
+ # A container (map or list)?
43
+ def isnode(val)
44
+ ismap(val) || islist(val)
45
+ end
46
+
47
+ # A JSON number? Booleans are not numbers.
48
+ def isnum(val)
49
+ val.is_a?(Numeric) && !val.is_a?(TrueClass) && !val.is_a?(FalseClass)
50
+ end
51
+
52
+ # Deep copy a JSON value. Other values pass through by reference.
53
+ def clone(val)
54
+ return val.map { |entry| clone(entry) } if islist(val)
55
+
56
+ if ismap(val)
57
+ out = {}
58
+ val.each { |key, subval| out[key] = clone(subval) }
59
+ return out
60
+ end
61
+
62
+ val
63
+ end
64
+
65
+ # Read a value by path. Returns ABSENT when any step is missing.
66
+ def getpath(val, path)
67
+ current = val
68
+
69
+ path.each do |part|
70
+ if islist(current)
71
+ index = part.is_a?(Integer) ? part : Integer(part.to_s, exception: false)
72
+ return ABSENT if index.nil? || index.negative? || index >= current.length
73
+
74
+ current = current[index]
75
+ elsif ismap(current)
76
+ key = part.to_s
77
+ return ABSENT unless current.key?(key)
78
+
79
+ current = current[key]
80
+ else
81
+ return ABSENT
82
+ end
83
+ end
84
+
85
+ current
86
+ end
87
+
88
+ # Depth-first walk: children first, then the containing node.
89
+ def walk(val, apply, key = nil, parent = nil, path = nil)
90
+ curpath = path || []
91
+
92
+ if isnode(val)
93
+ if islist(val)
94
+ val.each_index do |index|
95
+ val[index] = walk(val[index], apply, index, val, curpath + [index])
96
+ end
97
+ else
98
+ val.keys.each do |childkey|
99
+ val[childkey] = walk(val[childkey], apply, childkey, val, curpath + [childkey])
100
+ end
101
+ end
102
+ end
103
+
104
+ apply.call(key, val, parent, curpath)
105
+ end
106
+
107
+ # Deep structural equality: numbers by value, bools never numbers.
108
+ def deepequal(a, b)
109
+ return true if a.equal?(b)
110
+
111
+ abool = a.is_a?(TrueClass) || a.is_a?(FalseClass)
112
+ bbool = b.is_a?(TrueClass) || b.is_a?(FalseClass)
113
+ return a == b if abool || bbool
114
+
115
+ # NaN equals NaN: deepequal is structural, not IEEE (as canonical).
116
+ if isnum(a) && isnum(b)
117
+ return true if a.is_a?(Float) && a.nan? && b.is_a?(Float) && b.nan?
118
+
119
+ return a == b
120
+ end
121
+
122
+ return a.equal?(b) if a.nil? || b.nil? || a.equal?(ABSENT) || b.equal?(ABSENT)
123
+
124
+ if islist(a) && islist(b)
125
+ return false if a.length != b.length
126
+
127
+ return a.each_index.all? { |i| deepequal(a[i], b[i]) }
128
+ end
129
+
130
+ if ismap(a) && ismap(b)
131
+ return false if a.length != b.length
132
+
133
+ return a.all? { |key, val| b.key?(key) && deepequal(val, b[key]) }
134
+ end
135
+
136
+ return false if islist(a) != islist(b) || ismap(a) != ismap(b)
137
+
138
+ a == b
139
+ end
140
+
141
+ # Render a number the same way in every port: 5.0 prints as 5.
142
+ def numstr(val)
143
+ if val.is_a?(Float)
144
+ return 'null' if val.nan? || val.infinite?
145
+ return val.to_i.to_s if val == val.to_i && val.abs < 2**53
146
+
147
+ return val.to_s
148
+ end
149
+
150
+ val.to_s
151
+ end
152
+
153
+ def quote(val)
154
+ out = +'"'
155
+ val.to_s.each_char do |char|
156
+ out << case char
157
+ when '"' then '\\"'
158
+ when '\\' then '\\\\'
159
+ when "\n" then '\\n'
160
+ when "\r" then '\\r'
161
+ when "\t" then '\\t'
162
+ else
163
+ char.ord < 0x20 ? format('\\u%04x', char.ord) : char
164
+ end
165
+ end
166
+ out << '"'
167
+ out
168
+ end
169
+
170
+ # Compact JSON text with map keys sorted, identical in every port.
171
+ def jsonstr(val)
172
+ return 'undefined' if val.equal?(ABSENT)
173
+ return 'null' if val.nil?
174
+ return val ? 'true' : 'false' if val.is_a?(TrueClass) || val.is_a?(FalseClass)
175
+ return quote(val) if val.is_a?(String)
176
+ return numstr(val) if isnum(val)
177
+ return '[' + val.map { |entry| jsonstr(entry) }.join(',') + ']' if islist(val)
178
+
179
+ if ismap(val)
180
+ keys = val.keys.map(&:to_s).sort
181
+ return '{' + keys.map { |key| quote(key) + ':' + jsonstr(val[key]) }.join(',') + '}'
182
+ end
183
+
184
+ return '[Function]' if val.is_a?(Proc) || val.is_a?(Method)
185
+
186
+ quote(val.to_s)
187
+ end
188
+
189
+ # Strings verbatim, everything else as compact JSON.
190
+ def stringify(val)
191
+ val.is_a?(String) ? val : jsonstr(val)
192
+ end
193
+
194
+ # Render a path as a dotted string.
195
+ def pathify(path)
196
+ (path || []).map(&:to_s).join('.')
197
+ end
198
+ end
199
+ end
@@ -0,0 +1,15 @@
1
+ # VENDORED: @voxgig/omni sdk-20260904-1610-0 (ruby/lib/voxgig_omni.rb)
2
+ # Source: https://github.com/voxgig/omni @ 8c3e1b573a8d35796f7fc45e3226b977023cabf7 [tag: sdk-20260904-1610-0]
3
+ # License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
+ # voxgig_omni - shared multi-language test runner.
5
+
6
+ require_relative 'util'
7
+ require_relative 'runner'
8
+
9
+ module VoxgigOmni
10
+ module_function
11
+
12
+ def make_runner(specref, provider = nil)
13
+ Runner.make_runner(specref, provider)
14
+ end
15
+ end
@@ -9,6 +9,10 @@ module ProjectNameUtilities
9
9
  PrepareMethod = ->(ctx) {
10
10
  method = VoxgigStruct.getprop(ctx.point, "method")
11
11
  next method.upcase if method.is_a?(String) && "" != method
12
- METHOD_MAP[ctx.op.name] || "GET"
12
+ # No default: an op name outside the convention resolves to no method,
13
+ # exactly as the ts reference (`methodMap[key]` is undefined there).
14
+ # The silent-pass inline runner hid a stray "GET" fallback here; the
15
+ # shared corpus (prepareMethod, opname "bad" -> null) pins it now.
16
+ METHOD_MAP[ctx.op.name]
13
17
  }
14
18
  end
@@ -1,6 +1,13 @@
1
- // Shared SDK test infrastructure (mirrors tm/go/test/runner_test.go plus
2
- // the fh* feature-test harness from tm/go/test/feature_test.go). Each test
3
- // binary includes this module with `mod common;`.
1
+ // Shared SDK test SUPPORT: the helpers the generated entity/direct tests and
2
+ // the corpus call sites share — env loading, the sdk-test-control.json skip
3
+ // and pacing machinery, corpus access, entity-data conversion, ctx
4
+ // construction from a JSON test entry, and the fh* feature-test harness
5
+ // (mirrors tm/go/test/testsupport_test.go plus the fh* harness from
6
+ // tm/go/test/feature_test.go). Each test binary includes it with
7
+ // `mod common;`.
8
+ //
9
+ // The corpus ENGINE half of this file was retired by the vendor-tag rollout:
10
+ // see the note where it used to be, and tests/omni_resolver/mod.rs.
4
11
 
5
12
  #![allow(dead_code)]
6
13
 
@@ -9,7 +16,7 @@ use std::path::PathBuf;
9
16
  use std::rc::Rc;
10
17
 
11
18
  use RUSTCRATE::core::helpers::{
12
- get_bool, get_str, getp, ja, jo, json_thunk, now_ms, setp, to_int, to_map,
19
+ get_bool, get_str, getp, jo, json_thunk, now_ms, setp, to_int, to_map,
13
20
  };
14
21
  use RUSTCRATE::utility::voxgigstruct as vs;
15
22
  use RUSTCRATE::{
@@ -233,244 +240,14 @@ pub fn json_normalize(v: &Value) -> Value {
233
240
  }
234
241
  }
235
242
 
236
- /// matchString: /re/ patterns via the vendored regex engine, otherwise
237
- /// case-insensitive substring.
238
- pub fn match_string(pattern: &str, val: &str) -> bool {
239
- if pattern.len() >= 2 && pattern.starts_with('/') && pattern.ends_with('/') {
240
- return RUSTCRATE::utility::voxgigstruct::re::Regex::new(
241
- &pattern[1..pattern.len() - 1],
242
- )
243
- .map(|re| re.is_match(val))
244
- .unwrap_or(false);
245
- }
246
- val.to_lowercase().contains(&pattern.to_lowercase())
247
- }
248
-
249
- /// matchDeep (mirrors go): every leaf of `check` must equal/match the same
250
- /// path in `base`; returns Some(reason) on the first mismatch.
251
- pub fn match_deep(check: &Value, base: &Value) -> Option<String> {
252
- fn rec(check: &Value, base: &Value, path: &mut Vec<String>) -> Option<String> {
253
- match check {
254
- Value::Map(cm) => {
255
- for (k, cv) in cm.borrow().iter() {
256
- let bv = getp(base, k);
257
- path.push(k.clone());
258
- let r = rec(cv, &bv, path);
259
- path.pop();
260
- if r.is_some() {
261
- return r;
262
- }
263
- }
264
- None
265
- }
266
- Value::List(cl) => {
267
- for (i, cv) in cl.borrow().iter().enumerate() {
268
- let bv = vs::get_elem(base, &Value::Num(i as f64), Value::Noval);
269
- path.push(i.to_string());
270
- let r = rec(cv, &bv, path);
271
- path.pop();
272
- if r.is_some() {
273
- return r;
274
- }
275
- }
276
- None
277
- }
278
- leaf => {
279
- if let Value::Str(s) = leaf {
280
- if s == EXISTSMARK {
281
- if base.is_noval() || base.is_null() {
282
- return Some(format!(
283
- "{}: expected value to exist",
284
- path.join(".")
285
- ));
286
- }
287
- return None;
288
- }
289
- if s == UNDEFMARK {
290
- if !base.is_noval() && !base.is_null() {
291
- return Some(format!(
292
- "{}: expected undefined, got {}",
293
- path.join("."),
294
- vs::stringify(base, Some(60), false)
295
- ));
296
- }
297
- return None;
298
- }
299
- }
300
-
301
- let nc = json_normalize(leaf);
302
- let nb = json_normalize(base);
303
- if nc == nb {
304
- return None;
305
- }
306
- if let Value::Str(cs) = leaf {
307
- if !cs.is_empty() && match_string(cs, &vs::stringify(base, None, false)) {
308
- return None;
309
- }
310
- }
311
- Some(format!(
312
- "{}: got {}, want {}",
313
- path.join("."),
314
- vs::stringify(&nb, Some(120), false),
315
- vs::stringify(&nc, Some(120), false)
316
- ))
317
- }
318
- }
319
- }
320
- let mut path = Vec::new();
321
- rec(check, base, &mut path)
322
- }
323
-
324
- // ---- runset (mirrors go runner_test.go runset) -----------------------------------
325
-
326
- // Sections deliberately left empty in the shared corpus
327
- // (.sdk/test/primary/<name>.aon carries a PENDING header). Everything else
328
- // MUST contribute cases.
329
- pub const PENDING_SECTIONS: &[&str] = &[
330
- "fetcher", "makeFetchDef", "makeResult", "featureAdd",
331
- "featureHook", "featureInit",
332
- ];
333
-
334
- pub fn runset(
335
- testspec: &Value,
336
- subject: &mut dyn FnMut(&Value) -> Result<Value, ProjectNameError>,
337
- ) {
338
- runset_named("", testspec, subject)
339
- }
340
-
341
- /// Drive one section of the shared test corpus.
342
- ///
343
- /// This used to `return` silently when "set" was missing or not a list, so a
344
- /// renamed section, a fixture that failed to compile, or an empty set reported
345
- /// PASS while running zero assertions — the whole point of a shared oracle lost
346
- /// without a single red test. Both conditions now panic, except for the
347
- /// sections explicitly marked PENDING in the corpus.
348
- pub fn runset_named(
349
- name: &str,
350
- testspec: &Value,
351
- subject: &mut dyn FnMut(&Value) -> Result<Value, ProjectNameError>,
352
- ) {
353
- let set = match getp(testspec, "set") {
354
- Value::List(l) => Value::List(l),
355
- _ => panic!(
356
- "test corpus section {:?} has no `set` list — zero cases would run",
357
- name
358
- ),
359
- };
360
-
361
- if let Value::List(l) = &set {
362
- if l.borrow().is_empty() && !PENDING_SECTIONS.contains(&name) {
363
- panic!(
364
- "test corpus section {:?} is EMPTY — zero cases would run; add \
365
- cases, or mark the fixture PENDING in .sdk/test/primary/",
366
- name
367
- );
368
- }
369
- }
370
-
371
- let entries: Vec<Value> = match &set {
372
- Value::List(l) => l.borrow().clone(),
373
- _ => Vec::new(),
374
- };
375
-
376
- for (i, entry) in entries.iter().enumerate() {
377
- if !matches!(entry, Value::Map(_)) {
378
- continue;
379
- }
380
-
381
- let mark = match getp(entry, "mark") {
382
- Value::Noval => String::new(),
383
- m => format!(" (mark={})", vs::stringify(&m, None, false)),
384
- };
385
-
386
- let result = subject(entry);
387
- let expected_err = getp(entry, "err");
388
-
389
- match result {
390
- Err(err) => {
391
- if !expected_err.is_noval() && !expected_err.is_null() {
392
- let errmsg = err.msg.clone();
393
- if let Value::Str(exp) = &expected_err {
394
- if !match_string(exp, &errmsg) {
395
- panic!(
396
- "entry {}{}: error mismatch: got {:?}, want contains {:?}",
397
- i, mark, errmsg, exp
398
- );
399
- }
400
- }
401
- // err: true means any error is acceptable.
402
- if let Value::Map(_) = getp(entry, "match") {
403
- let result_map = jo(vec![
404
- ("in", getp(entry, "in")),
405
- (
406
- "err",
407
- jo(vec![("message", Value::str(errmsg.clone()))]),
408
- ),
409
- ]);
410
- if let Some(why) =
411
- match_deep(&getp(entry, "match"), &result_map)
412
- {
413
- panic!("entry {}{}: match: {}", i, mark, why);
414
- }
415
- }
416
- continue;
417
- }
418
- panic!("entry {}{}: unexpected error: {}", i, mark, err.msg);
419
- }
420
- Ok(out) => {
421
- if !expected_err.is_noval() && !expected_err.is_null() {
422
- panic!(
423
- "entry {}{}: expected error containing {} but got result: {}",
424
- i,
425
- mark,
426
- vs::stringify(&expected_err, None, false),
427
- vs::stringify(&out, Some(160), false)
428
- );
429
- }
430
-
431
- let mut matched = false;
432
- if let Value::Map(_) = getp(entry, "match") {
433
- let result_map = jo(vec![
434
- ("in", getp(entry, "in")),
435
- ("out", json_normalize(&out)),
436
- ]);
437
- let args = getp(entry, "args");
438
- if !args.is_noval() {
439
- setp(&result_map, "args", args);
440
- } else if !getp(entry, "in").is_noval() {
441
- setp(&result_map, "args", ja(vec![getp(entry, "in")]));
442
- }
443
- let ctx_data = getp(entry, "ctx");
444
- if !ctx_data.is_noval() {
445
- setp(&result_map, "ctx", ctx_data);
446
- }
447
- if let Some(why) = match_deep(&getp(entry, "match"), &result_map) {
448
- panic!("entry {}{}: match: {}", i, mark, why);
449
- }
450
- matched = true;
451
- }
452
-
453
- let expected_out = getp(entry, "out");
454
- if expected_out.is_noval() && matched {
455
- continue;
456
- }
457
- if !expected_out.is_noval() {
458
- let norm_result = json_normalize(&out);
459
- let norm_expected = json_normalize(&expected_out);
460
- if norm_result != norm_expected {
461
- panic!(
462
- "entry {}{}: output mismatch:\n got: {}\n want: {}",
463
- i,
464
- mark,
465
- vs::stringify(&norm_result, Some(240), false),
466
- vs::stringify(&norm_expected, Some(240), false)
467
- );
468
- }
469
- }
470
- }
471
- }
472
- }
473
- }
243
+ // The corpus ENGINE that used to live here — `runset` / `runset_named`
244
+ // (the entry loop) and `match_deep` / `match_string` (the match engine) —
245
+ // is superseded by the vendored @voxgig/omni runner, driven through the
246
+ // adapter in tests/omni_resolver/mod.rs (vendor-tag rollout, Decision 4).
247
+ // This file keeps its SUPPORT half under its own name — env loading, the
248
+ // sdk-test-control skip/pacing machinery, corpus and entity-data access,
249
+ // ctx construction from a JSON entry, and the fh feature harness — so the
250
+ // emitted call sites did not move.
474
251
 
475
252
  // ---- ctx construction from JSON test entries --------------------------------------
476
253