@voxgig/sdkgen 4.8.2 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) 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/model/target/zig.aon +9 -0
  33. package/project/.sdk/src/cmp/clojure/Package_clojure.ts +9 -2
  34. package/project/.sdk/src/cmp/cpp/Gitignore_cpp.ts +3 -0
  35. package/project/.sdk/src/cmp/dart/Test_dart.ts +2 -0
  36. package/project/.sdk/src/cmp/elixir/Package_elixir.ts +4 -1
  37. package/project/.sdk/src/cmp/go/Config_go.ts +59 -2
  38. package/project/.sdk/src/cmp/go/Main_go.ts +8 -2
  39. package/project/.sdk/src/cmp/java/Test_java.ts +6 -5
  40. package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +6 -5
  41. package/project/.sdk/src/cmp/lean/Package_lean.ts +23 -0
  42. package/project/.sdk/src/cmp/lean/ReadmeInstall_lean.ts +1 -0
  43. package/project/.sdk/src/cmp/lean/ReadmeTopTest_lean.ts +1 -0
  44. package/project/.sdk/src/cmp/ocaml/Gitignore_ocaml.ts +1 -0
  45. package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +7 -3
  46. package/project/.sdk/src/cmp/py/Config_py.ts +82 -1
  47. package/project/.sdk/src/cmp/py/Main_py.ts +44 -0
  48. package/project/.sdk/src/cmp/py/fragment/Main.fragment.py +2 -0
  49. package/project/.sdk/src/cmp/swift/Main_swift.ts +10 -0
  50. package/project/.sdk/src/cmp/swift/Package_swift.ts +13 -1
  51. package/project/.sdk/src/cmp/ts/Config_ts.ts +42 -17
  52. package/project/.sdk/src/cmp/ts/fragment/Config.data.fragment.ts +13 -1
  53. package/project/.sdk/src/cmp/ts/fragment/Config.fragment.ts +13 -1
  54. package/project/.sdk/src/cmp/zig/Package_zig.ts +15 -11
  55. package/project/.sdk/src/cmp/zig/fragment/Entity.fragment.zig +3 -3
  56. package/project/.sdk/src/cmp/zig/fragment/EntityListOp.fragment.zig +3 -3
  57. package/project/.sdk/src/cmp/zig/fragment/Main.fragment.zig +3 -3
  58. package/project/.sdk/src/cmp/zig/utility_zig.ts +50 -1
  59. package/project/.sdk/tm/c/Makefile +38 -3
  60. package/project/.sdk/tm/c/tests/omni_resolver.h +361 -0
  61. package/project/.sdk/tm/c/tests/omni_smoke_test.c +237 -0
  62. package/project/.sdk/tm/c/tests/primary_corpus_test.c +205 -284
  63. package/project/.sdk/tm/c/tests/struct_corpus_test.c +292 -212
  64. package/project/.sdk/tm/c/tests/vendor/omni/json.c +811 -0
  65. package/project/.sdk/tm/c/tests/vendor/omni/omni.h +240 -0
  66. package/project/.sdk/tm/c/tests/vendor/omni/runner.c +940 -0
  67. package/project/.sdk/tm/c/tests/vendor/omni/util.c +351 -0
  68. package/project/.sdk/tm/c/utility/struct/utility.c +7 -2
  69. package/project/.sdk/tm/clojure/test/sdk/test/omni.clj +401 -0
  70. package/project/.sdk/tm/clojure/test/sdk/test/omni_smoke.clj +81 -0
  71. package/project/.sdk/tm/clojure/test/sdk/test/primary.clj +92 -58
  72. package/project/.sdk/tm/clojure/test/sdk/test/struct_corpus.clj +122 -149
  73. package/project/.sdk/tm/clojure/test/sdk/test_runner.clj +8 -3
  74. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/json.clj +145 -0
  75. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/runner.clj +445 -0
  76. package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/util.clj +145 -0
  77. package/project/.sdk/tm/cpp/Makefile +5 -1
  78. package/project/.sdk/tm/cpp/test/omni_resolver.hpp +473 -0
  79. package/project/.sdk/tm/cpp/test/omni_smoke_test.cpp +209 -0
  80. package/project/.sdk/tm/cpp/test/primary_utility_test.cpp +243 -184
  81. package/project/.sdk/tm/cpp/test/runner_support.hpp +68 -181
  82. package/project/.sdk/tm/cpp/test/struct_corpus_test.cpp +183 -56
  83. package/project/.sdk/tm/cpp/test/vendor/omni/json.hpp +406 -0
  84. package/project/.sdk/tm/cpp/test/vendor/omni/omni.hpp +751 -0
  85. package/project/.sdk/tm/cpp/test/vendor/omni/util.hpp +256 -0
  86. package/project/.sdk/tm/cpp/utility/pipeline.hpp +7 -1
  87. package/project/.sdk/tm/csharp/test/OmniResolver.cs +491 -0
  88. package/project/.sdk/tm/csharp/test/OmniSmokeTest.cs +106 -0
  89. package/project/.sdk/tm/csharp/test/PrimaryUtilityTest.cs +299 -316
  90. package/project/.sdk/tm/csharp/test/Runner.cs +104 -269
  91. package/project/.sdk/tm/csharp/test/StructUtilityTest.cs +535 -724
  92. package/project/.sdk/tm/csharp/test/vendor/omni/Runner.cs +864 -0
  93. package/project/.sdk/tm/csharp/test/vendor/omni/Util.cs +347 -0
  94. package/project/.sdk/tm/csharp/utility/MakeSpec.cs +3 -1
  95. package/project/.sdk/tm/csharp/utility/PrepareMethod.cs +6 -1
  96. package/project/.sdk/tm/csharp/utility/struct/Struct.cs +21 -5
  97. package/project/.sdk/tm/dart/test/omni.dart +520 -0
  98. package/project/.sdk/tm/dart/test/omni_smoke_test.dart +143 -0
  99. package/project/.sdk/tm/dart/test/primary_test.dart +86 -28
  100. package/project/.sdk/tm/dart/test/struct_test.dart +438 -11
  101. package/project/.sdk/tm/dart/test/vendor/omni/omni.dart +7 -0
  102. package/project/.sdk/tm/dart/test/vendor/omni/runner.dart +653 -0
  103. package/project/.sdk/tm/dart/test/vendor/omni/util.dart +232 -0
  104. package/project/.sdk/tm/elixir/Makefile +11 -3
  105. package/project/.sdk/tm/elixir/test/omni_smoke_test.exs +117 -0
  106. package/project/.sdk/tm/elixir/test/primary_utility_test.exs +341 -16
  107. package/project/.sdk/tm/elixir/test/struct_corpus_test.exs +554 -9
  108. package/project/.sdk/tm/elixir/test/support/omni.ex +377 -0
  109. package/project/.sdk/tm/elixir/test/vendor/omni/json.ex +122 -0
  110. package/project/.sdk/tm/elixir/test/vendor/omni/runner.ex +623 -0
  111. package/project/.sdk/tm/elixir/test/vendor/omni/util.ex +187 -0
  112. package/project/.sdk/tm/go/core/context.go +32 -16
  113. package/project/.sdk/tm/go/feature/secrets/plugin/capability.go +261 -0
  114. package/project/.sdk/tm/go/feature/secrets/plugin/catalog.go +78 -0
  115. package/project/.sdk/tm/go/feature/secrets/plugin/config.go +652 -0
  116. package/project/.sdk/tm/go/feature/secrets/plugin/depend.go +250 -0
  117. package/project/.sdk/tm/go/feature/secrets/plugin/env.go +194 -0
  118. package/project/.sdk/tm/go/feature/secrets/plugin/export.go +80 -0
  119. package/project/.sdk/tm/go/feature/secrets/plugin/graph.go +238 -0
  120. package/project/.sdk/tm/go/feature/secrets/plugin/host.go +1575 -0
  121. package/project/.sdk/tm/go/feature/secrets/plugin/order.go +248 -0
  122. package/project/.sdk/tm/go/feature/secrets/plugin/point.go +184 -0
  123. package/project/.sdk/tm/go/feature/secrets/plugin/ref.go +123 -0
  124. package/project/.sdk/tm/go/feature/secrets/plugin/resolve.go +79 -0
  125. package/project/.sdk/tm/go/feature/secrets/plugin/types.go +296 -0
  126. package/project/.sdk/tm/go/feature/secrets/plugin/util.go +87 -0
  127. package/project/.sdk/tm/go/feature/secrets/plugin/version.go +161 -0
  128. package/project/.sdk/tm/go/feature/secrets/plugins/aws/aws.go +292 -0
  129. package/project/.sdk/tm/go/feature/secrets/plugins/aws/sigv4.go +201 -0
  130. package/project/.sdk/tm/go/feature/secrets/plugins/azuresecrets/azuresecrets.go +187 -0
  131. package/project/.sdk/tm/go/feature/secrets/plugins/boru/boru.go +184 -0
  132. package/project/.sdk/tm/go/feature/secrets/plugins/doppler/doppler.go +114 -0
  133. package/project/.sdk/tm/go/feature/secrets/plugins/gcpsecrets/gcpsecrets.go +156 -0
  134. package/project/.sdk/tm/go/feature/secrets/plugins/hashicorp/hashicorp.go +208 -0
  135. package/project/.sdk/tm/go/feature/secrets/plugins/httpjson/httpjson.go +241 -0
  136. package/project/.sdk/tm/go/feature/secrets/plugins/infisical/infisical.go +150 -0
  137. package/project/.sdk/tm/go/feature/secrets/plugins/onepassword/onepassword.go +152 -0
  138. package/project/.sdk/tm/go/feature/secrets/plugins/secretspec/secretspec.go +143 -0
  139. package/project/.sdk/tm/go/feature/secrets/sekreto/addr.go +120 -0
  140. package/project/.sdk/tm/go/feature/secrets/sekreto/providers.go +442 -0
  141. package/project/.sdk/tm/go/feature/secrets/sekreto/sekreto.go +714 -0
  142. package/project/.sdk/tm/go/feature/secrets_feature.go +675 -0
  143. package/project/.sdk/tm/go/src/feature/secrets/.gitkeep +0 -0
  144. package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +799 -0
  145. package/project/.sdk/tm/go/test/omni/omni.go +902 -0
  146. package/project/.sdk/tm/go/test/omni/util.go +381 -0
  147. package/project/.sdk/tm/go/test/omniresolver_test.go +748 -0
  148. package/project/.sdk/tm/go/test/omnismoke_test.go +112 -0
  149. package/project/.sdk/tm/go/test/primary_utility_test.go +123 -191
  150. package/project/.sdk/tm/go/test/struct_utility_test.go +323 -16
  151. package/project/.sdk/tm/go/test/testsupport_test.go +294 -0
  152. package/project/.sdk/tm/go/utility/make_options.go +8 -1
  153. package/project/.sdk/tm/go/utility/prepare_method.go +5 -1
  154. package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +2 -2
  155. package/project/.sdk/tm/java/test/OmniResolver.java +355 -0
  156. package/project/.sdk/tm/java/test/OmniSmokeTest.java +99 -0
  157. package/project/.sdk/tm/java/test/PrimaryUtilityTest.java +254 -280
  158. package/project/.sdk/tm/java/test/RunnerSupport.java +9 -194
  159. package/project/.sdk/tm/java/test/StructCorpusTest.java +119 -42
  160. package/project/.sdk/tm/java/test/vendor/omni/Json.java +287 -0
  161. package/project/.sdk/tm/java/test/vendor/omni/Runner.java +851 -0
  162. package/project/.sdk/tm/java/test/vendor/omni/Util.java +322 -0
  163. package/project/.sdk/tm/java/utility/MakeSpec.java +3 -1
  164. package/project/.sdk/tm/java/utility/PrepareMethod.java +5 -5
  165. package/project/.sdk/tm/java/utility/struct/Struct.java +17 -4
  166. package/project/.sdk/tm/js/src/utility/StructUtility.js +3 -3
  167. package/project/.sdk/tm/js/test/omni.js +251 -0
  168. package/project/.sdk/tm/js/test/omni.test.js +105 -0
  169. package/project/.sdk/tm/js/test/utility/PrimaryUtility.test.js +6 -2
  170. package/project/.sdk/tm/js/test/utility/StructUtility.test.js +27 -2
  171. package/project/.sdk/tm/js/test/vendor/omni/index.js +77 -0
  172. package/project/.sdk/tm/js/test/vendor/omni/runner.js +628 -0
  173. package/project/.sdk/tm/js/test/vendor/omni/util.js +229 -0
  174. package/project/.sdk/tm/kotlin/core/Utility.kt +1 -1
  175. package/project/.sdk/tm/kotlin/test/OmniResolver.kt +343 -0
  176. package/project/.sdk/tm/kotlin/test/OmniSmokeTest.kt +100 -0
  177. package/project/.sdk/tm/kotlin/test/PrimaryUtilityTest.kt +244 -262
  178. package/project/.sdk/tm/kotlin/test/RunnerSupport.kt +9 -178
  179. package/project/.sdk/tm/kotlin/test/StructCorpusTest.kt +121 -32
  180. package/project/.sdk/tm/kotlin/test/vendor/omni/Json.kt +264 -0
  181. package/project/.sdk/tm/kotlin/test/vendor/omni/Runner.kt +615 -0
  182. package/project/.sdk/tm/kotlin/test/vendor/omni/Util.kt +139 -0
  183. package/project/.sdk/tm/kotlin/utility/MakeSpecUrl.kt +6 -3
  184. package/project/.sdk/tm/kotlin/utility/Prepare.kt +6 -6
  185. package/project/.sdk/tm/kotlin/utility/struct/Struct.kt +18 -2
  186. package/project/.sdk/tm/lean/Makefile +12 -5
  187. package/project/.sdk/tm/lean/src/SdkUtility.lean +14 -1
  188. package/project/.sdk/tm/lean/test/OmniResolver.lean +358 -0
  189. package/project/.sdk/tm/lean/test/OmniSmoke.lean +174 -0
  190. package/project/.sdk/tm/lean/test/StructCorpus.lean +245 -574
  191. package/project/.sdk/tm/lean/test/TPrimaryUtility.lean +155 -291
  192. package/project/.sdk/tm/lean/test/vendor/omni/Omni.lean +997 -0
  193. package/project/.sdk/tm/lua/test/omni.lua +456 -0
  194. package/project/.sdk/tm/lua/test/omni_smoke_test.lua +103 -0
  195. package/project/.sdk/tm/lua/test/primary_utility_test.lua +250 -509
  196. package/project/.sdk/tm/lua/test/struct_utility_test.lua +161 -70
  197. package/project/.sdk/tm/lua/test/vendor/omni/json.lua +268 -0
  198. package/project/.sdk/tm/lua/test/vendor/omni/regex.lua +385 -0
  199. package/project/.sdk/tm/lua/test/vendor/omni/runner.lua +641 -0
  200. package/project/.sdk/tm/lua/test/vendor/omni/util.lua +282 -0
  201. package/project/.sdk/tm/lua/utility/prepare_method.lua +5 -1
  202. package/project/.sdk/tm/lua/utility/struct/regex.lua +663 -0
  203. package/project/.sdk/tm/lua/utility/struct/struct.lua +660 -420
  204. package/project/.sdk/tm/ocaml/Makefile +37 -12
  205. package/project/.sdk/tm/ocaml/test/omni_resolver.ml +284 -0
  206. package/project/.sdk/tm/ocaml/test/omni_smoke_test.ml +169 -0
  207. package/project/.sdk/tm/ocaml/test/primary_utility_test.ml +84 -100
  208. package/project/.sdk/tm/ocaml/test/struct_corpus.ml +225 -201
  209. package/project/.sdk/tm/ocaml/test/vendor/omni/omni.ml +1157 -0
  210. package/project/.sdk/tm/perl/lib/Voxgig/Struct.pm +88 -12
  211. package/project/.sdk/tm/perl/t/omni.pm +647 -0
  212. package/project/.sdk/tm/perl/t/omni_smoke.t +87 -0
  213. package/project/.sdk/tm/perl/t/primary_utility.t +189 -487
  214. package/project/.sdk/tm/perl/t/struct_utility.t +455 -389
  215. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Runner.pm +649 -0
  216. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Util.pm +253 -0
  217. package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni.pm +24 -0
  218. package/project/.sdk/tm/perl/utility/prepare_method.pm +7 -2
  219. package/project/.sdk/tm/php/test/Omni.php +691 -0
  220. package/project/.sdk/tm/php/test/OmniSmokeTest.php +93 -0
  221. package/project/.sdk/tm/php/test/PrimaryUtilityTest.php +210 -571
  222. package/project/.sdk/tm/php/test/StructUtilityTest.php +320 -342
  223. package/project/.sdk/tm/php/test/vendor/omni/Runner.php +644 -0
  224. package/project/.sdk/tm/php/test/vendor/omni/Util.php +283 -0
  225. package/project/.sdk/tm/php/utility/MakeSpec.php +10 -3
  226. package/project/.sdk/tm/php/utility/PrepareBody.php +7 -1
  227. package/project/.sdk/tm/php/utility/PrepareMethod.php +6 -2
  228. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/__init__.py +36 -0
  229. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/capability.py +141 -0
  230. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/catalog.py +50 -0
  231. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/config.py +333 -0
  232. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/depend.py +198 -0
  233. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/env.py +147 -0
  234. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/export.py +52 -0
  235. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/graph.py +139 -0
  236. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/host.py +1053 -0
  237. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/order.py +171 -0
  238. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/point.py +95 -0
  239. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/ref.py +116 -0
  240. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/resolve.py +59 -0
  241. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/types.py +87 -0
  242. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/version.py +112 -0
  243. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/__init__.py +76 -0
  244. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/addr.py +116 -0
  245. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/aws.py +192 -0
  246. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/azuresecrets.py +120 -0
  247. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/boru.py +140 -0
  248. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/doppler.py +62 -0
  249. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.py +101 -0
  250. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/hashicorp.py +151 -0
  251. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/httpjson.py +115 -0
  252. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/infisical.py +90 -0
  253. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/onepassword.py +101 -0
  254. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/secretspec.py +119 -0
  255. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/sigv4.py +125 -0
  256. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/providers.py +211 -0
  257. package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/sekreto.py +475 -0
  258. package/project/.sdk/tm/py/pkg/feature/secrets_feature.py +467 -0
  259. package/project/.sdk/tm/py/pkg/utility/prepare_method.py +5 -1
  260. package/project/.sdk/tm/py/pkg/utility/voxgig_struct/__init__.py +0 -2
  261. package/project/.sdk/tm/py/pkg/utility/voxgig_struct/voxgig_struct.py +780 -529
  262. package/project/.sdk/tm/py/src/feature/secrets/.gitkeep +0 -0
  263. package/project/.sdk/tm/py/test/feature/__init__.py +0 -0
  264. package/project/.sdk/tm/py/test/feature/secrets/__init__.py +0 -0
  265. package/project/.sdk/tm/py/test/feature/secrets/test_secrets.py +337 -0
  266. package/project/.sdk/tm/py/test/omni.py +415 -0
  267. package/project/.sdk/tm/py/test/test_omni_smoke.py +74 -0
  268. package/project/.sdk/tm/py/test/test_primary_utility.py +144 -668
  269. package/project/.sdk/tm/py/test/test_struct_utility.py +74 -27
  270. package/project/.sdk/tm/py/test/voxgig_omni/__init__.py +62 -0
  271. package/project/.sdk/tm/py/test/voxgig_omni/runner.py +580 -0
  272. package/project/.sdk/tm/py/test/voxgig_omni/util.py +252 -0
  273. package/project/.sdk/tm/rb/test/omni.rb +505 -0
  274. package/project/.sdk/tm/rb/test/omni_smoke_test.rb +72 -0
  275. package/project/.sdk/tm/rb/test/primary_utility_test.rb +174 -560
  276. package/project/.sdk/tm/rb/test/struct_utility_test.rb +13 -7
  277. package/project/.sdk/tm/rb/test/vendor/omni/runner.rb +493 -0
  278. package/project/.sdk/tm/rb/test/vendor/omni/util.rb +199 -0
  279. package/project/.sdk/tm/rb/test/vendor/omni/voxgig_omni.rb +15 -0
  280. package/project/.sdk/tm/rb/utility/prepare_method.rb +5 -1
  281. package/project/.sdk/tm/rust/tests/common/mod.rs +19 -242
  282. package/project/.sdk/tm/rust/tests/omni_resolver/mod.rs +888 -0
  283. package/project/.sdk/tm/rust/tests/omni_smoke_test.rs +286 -0
  284. package/project/.sdk/tm/rust/tests/primary_utility_test.rs +318 -312
  285. package/project/.sdk/tm/rust/tests/struct_utility_test.rs +66 -28
  286. package/project/.sdk/tm/rust/tests/vendor/omni/json.rs +412 -0
  287. package/project/.sdk/tm/rust/tests/vendor/omni/mod.rs +38 -0
  288. package/project/.sdk/tm/rust/tests/vendor/omni/regex.rs +392 -0
  289. package/project/.sdk/tm/rust/tests/vendor/omni/runner.rs +1001 -0
  290. package/project/.sdk/tm/rust/tests/vendor/omni/util.rs +161 -0
  291. package/project/.sdk/tm/rust/utility/prepare_method.rs +5 -1
  292. package/project/.sdk/tm/scala/Makefile +16 -6
  293. package/project/.sdk/tm/scala/sdktest/OmniResolver.scala +497 -0
  294. package/project/.sdk/tm/scala/sdktest/OmniSmoke.scala +192 -0
  295. package/project/.sdk/tm/scala/sdktest/PrimaryCorpus.scala +47 -19
  296. package/project/.sdk/tm/scala/sdktest/StructCorpus.scala +0 -0
  297. package/project/.sdk/tm/scala/sdktest/vendor/omni/Json.scala +229 -0
  298. package/project/.sdk/tm/scala/sdktest/vendor/omni/Runner.scala +552 -0
  299. package/project/.sdk/tm/scala/sdktest/vendor/omni/Util.scala +104 -0
  300. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Constants.swift +10 -0
  301. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Inject.swift +28 -5
  302. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Injection.swift +5 -1
  303. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Minor.swift +4 -1
  304. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/Struct/Validate.swift +15 -5
  305. package/project/.sdk/tm/swift/Sources/ProjectNameSDK/utility/Prepare.swift +6 -1
  306. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/OmniResolver.swift +474 -0
  307. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/OmniSmokeTest.swift +107 -0
  308. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/PrimaryUtilityTest.swift +141 -178
  309. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/Runner.swift +17 -113
  310. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/StructUtilityTest.swift +295 -446
  311. package/project/.sdk/tm/swift/Tests/vendor/omni/Json.swift +364 -0
  312. package/project/.sdk/tm/swift/Tests/vendor/omni/Runner.swift +730 -0
  313. package/project/.sdk/tm/swift/Tests/vendor/omni/Util.swift +162 -0
  314. package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +7 -0
  315. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Capability.ts +148 -0
  316. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Catalog.ts +55 -0
  317. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Config.ts +344 -0
  318. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Depend.ts +205 -0
  319. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Env.ts +138 -0
  320. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Export.ts +46 -0
  321. package/project/.sdk/tm/ts/src/feature/secrets/plugin/FeatureHost.ts +349 -0
  322. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Graph.ts +181 -0
  323. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Host.ts +1132 -0
  324. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Order.ts +177 -0
  325. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Point.ts +119 -0
  326. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Ref.ts +102 -0
  327. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Resolve.ts +61 -0
  328. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Types.ts +112 -0
  329. package/project/.sdk/tm/ts/src/feature/secrets/plugin/Version.ts +100 -0
  330. package/project/.sdk/tm/ts/src/feature/secrets/plugin/index.ts +37 -0
  331. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/Sekreto.ts +163 -30
  332. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/index.ts +27 -22
  333. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/aws.ts +26 -36
  334. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/azuresecrets.ts +19 -21
  335. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/boru.ts +36 -17
  336. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/doppler.ts +14 -21
  337. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/gcpsecrets.ts +27 -27
  338. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/hashicorp.ts +25 -39
  339. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/httpjson.ts +99 -0
  340. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/infisical.ts +14 -16
  341. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{provider → plugins}/onepassword.ts +15 -22
  342. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/secretspec.ts +98 -0
  343. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/{Sigv4.ts → plugins/sigv4.ts} +7 -6
  344. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/addr.ts +97 -23
  345. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/builtin.ts +37 -0
  346. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/dotenv.ts +4 -17
  347. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/env.ts +4 -16
  348. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/file.ts +11 -25
  349. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/memory.ts +6 -23
  350. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/support.ts +106 -39
  351. package/project/.sdk/tm/ts/src/utility/StructUtility.ts +3 -3
  352. package/project/.sdk/tm/ts/test/omni.ts +104 -32
  353. package/project/.sdk/tm/ts/test/utility/StructUtility.test.ts +27 -0
  354. package/project/.sdk/tm/ts/test/vendor/omni/Runner.ts +32 -5
  355. package/project/.sdk/tm/ts/test/vendor/omni/Util.ts +2 -2
  356. package/project/.sdk/tm/ts/test/vendor/omni/index.ts +2 -2
  357. package/project/.sdk/tm/zig/Makefile +15 -1
  358. package/project/.sdk/tm/zig/build.zig +23 -5
  359. package/project/.sdk/tm/zig/core/helpers.zig +52 -11
  360. package/project/.sdk/tm/zig/core/mem.zig +17 -1
  361. package/project/.sdk/tm/zig/core/utility.zig +23 -19
  362. package/project/.sdk/tm/zig/feature/audit.zig +2 -2
  363. package/project/.sdk/tm/zig/feature/cache.zig +2 -2
  364. package/project/.sdk/tm/zig/feature/debug.zig +5 -5
  365. package/project/.sdk/tm/zig/feature/netsim.zig +2 -2
  366. package/project/.sdk/tm/zig/feature/paging.zig +2 -2
  367. package/project/.sdk/tm/zig/feature/proxy.zig +15 -8
  368. package/project/.sdk/tm/zig/feature/streaming.zig +5 -5
  369. package/project/.sdk/tm/zig/feature/support.zig +3 -3
  370. package/project/.sdk/tm/zig/feature/telemetry.zig +5 -5
  371. package/project/.sdk/tm/zig/feature/test.zig +10 -5
  372. package/project/.sdk/tm/zig/test/fh.zig +10 -10
  373. package/project/.sdk/tm/zig/test/gotcha_test.zig +5 -5
  374. package/project/.sdk/tm/zig/test/omniresolver.zig +515 -0
  375. package/project/.sdk/tm/zig/test/omnismoke_test.zig +284 -0
  376. package/project/.sdk/tm/zig/test/pipeline_test.zig +8 -8
  377. package/project/.sdk/tm/zig/test/primary_utility_test.zig +145 -155
  378. package/project/.sdk/tm/zig/test/struct_corpus.zig +264 -187
  379. package/project/.sdk/tm/zig/test/vendor/omni/omni.zig +1314 -0
  380. package/project/.sdk/tm/zig/test/vendor/omni/regex.zig +446 -0
  381. package/project/.sdk/tm/zig/utility/voxgigstruct/regex.zig +7 -4
  382. package/project/.sdk/tm/zig/utility/voxgigstruct/struct.zig +356 -157
  383. package/project/sdkgen-package.json +1 -1
  384. package/src/action/doctor.ts +66 -2
  385. package/src/helpers/naming.ts +4 -2
  386. package/project/.sdk/tm/c/tests/runner.h +0 -274
  387. package/project/.sdk/tm/cpp/test/struct_runner.hpp +0 -314
  388. package/project/.sdk/tm/csharp/test/StructRunner.cs +0 -276
  389. package/project/.sdk/tm/dart/test/runner.dart +0 -406
  390. package/project/.sdk/tm/dart/test/struct_corpus.dart +0 -531
  391. package/project/.sdk/tm/elixir/test/support/struct_corpus.ex +0 -1088
  392. package/project/.sdk/tm/go/test/runner_test.go +0 -629
  393. package/project/.sdk/tm/go/test/struct_runner_test.go +0 -1094
  394. package/project/.sdk/tm/java/test/StructRunner.java +0 -281
  395. package/project/.sdk/tm/js/test/runner.js +0 -387
  396. package/project/.sdk/tm/kotlin/test/StructRunner.kt +0 -177
  397. package/project/.sdk/tm/lua/test/struct_runner.lua +0 -602
  398. package/project/.sdk/tm/ocaml/test/corpus_runner.ml +0 -185
  399. package/project/.sdk/tm/perl/t/struct_runner.pm +0 -275
  400. package/project/.sdk/tm/php/test/StructRunner.php +0 -275
  401. package/project/.sdk/tm/py/test/struct_runner.py +0 -411
  402. package/project/.sdk/tm/rb/test/struct_runner.rb +0 -309
  403. package/project/.sdk/tm/rust/tests/struct_runner/mod.rs +0 -424
  404. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/Registry.ts +0 -90
  405. package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/http.ts +0 -66
  406. package/project/.sdk/tm/ts/test/vendor/omni/compat.ts +0 -188
  407. package/project/.sdk/tm/zig/test/struct_runner.zig +0 -464
@@ -0,0 +1,112 @@
1
+ // Smoke tests for the vendored omni runner itself: a runner that cannot
2
+ // FAIL a bad entry would turn every corpus suite vacuously green, so pin
3
+ // the failure paths, not just the happy one. (The go peer of
4
+ // tm/ts/test/omni.test.ts.)
5
+
6
+ package sdktest
7
+
8
+ import (
9
+ "errors"
10
+ "fmt"
11
+ "strings"
12
+ "testing"
13
+
14
+ sdk "GOMODULE"
15
+ )
16
+
17
+ // omniRecorder captures RunSet failures, so a test can assert that a
18
+ // failure HAPPENED without itself failing - RunSet reports through
19
+ // TestingT rather than returning an error.
20
+ type omniRecorder struct {
21
+ failures []string
22
+ }
23
+
24
+ func (rec *omniRecorder) Helper() {}
25
+
26
+ func (rec *omniRecorder) Error(args ...any) {
27
+ rec.failures = append(rec.failures, fmt.Sprint(args...))
28
+ }
29
+
30
+ // A minimal in-memory spec: no fixture file, no OMNI block (lenient v0,
31
+ // like the shared corpus).
32
+ func omniSmokeSpec() map[string]any {
33
+ return map[string]any{
34
+ "primary": map[string]any{
35
+ "smoke": map[string]any{
36
+ "basic": map[string]any{
37
+ "set": []any{
38
+ map[string]any{"in": 1, "out": 2},
39
+ map[string]any{"in": 41, "out": 42},
40
+ },
41
+ },
42
+ "bad": map[string]any{
43
+ "set": []any{
44
+ map[string]any{"in": 1, "out": 999},
45
+ },
46
+ },
47
+ "err": map[string]any{
48
+ "set": []any{
49
+ map[string]any{"in": 0, "err": "zero refused"},
50
+ },
51
+ },
52
+ },
53
+ },
54
+ }
55
+ }
56
+
57
+ func omniSmokeInc(n int) (any, error) {
58
+ if 0 == n {
59
+ return nil, errors.New("smoke: zero refused")
60
+ }
61
+ return n + 1, nil
62
+ }
63
+
64
+ func omniSmokeRun(t *testing.T) *RunPack {
65
+ t.Helper()
66
+ runner := MakeRunner(omniSmokeSpec(), sdk.TestSDK(nil, nil))
67
+ run, err := runner("smoke", nil)
68
+ if err != nil {
69
+ t.Fatalf("smoke runner failed to resolve: %v", err)
70
+ }
71
+ return run
72
+ }
73
+
74
+ func TestOmniRunner(t *testing.T) {
75
+
76
+ t.Run("runset passes a correct subject", func(t *testing.T) {
77
+ run := omniSmokeRun(t)
78
+ run.RunSet(t, run.Spec["basic"], omniSmokeInc)
79
+ })
80
+
81
+ t.Run("runset FAILS a wrong result", func(t *testing.T) {
82
+ run := omniSmokeRun(t)
83
+ rec := &omniRecorder{}
84
+
85
+ run.RunSet(rec, run.Spec["bad"], omniSmokeInc)
86
+
87
+ if 0 == len(rec.failures) {
88
+ t.Fatal("a wrong result went unreported - the corpus suites would be vacuously green")
89
+ }
90
+ if !strings.Contains(rec.failures[0], "result mismatch") {
91
+ t.Fatalf("expected a result mismatch failure, got: %s", rec.failures[0])
92
+ }
93
+ })
94
+
95
+ t.Run("an expected error is matched, an unexpected one fails", func(t *testing.T) {
96
+ run := omniSmokeRun(t)
97
+
98
+ run.RunSet(t, run.Spec["err"], omniSmokeInc)
99
+
100
+ rec := &omniRecorder{}
101
+ run.RunSet(rec, run.Spec["err"], func(n int) (any, error) {
102
+ return n, nil
103
+ })
104
+
105
+ if 0 == len(rec.failures) {
106
+ t.Fatal("a missing expected error went unreported")
107
+ }
108
+ if !strings.Contains(rec.failures[0], "expected error did not occur") {
109
+ t.Fatalf("expected an expected-error failure, got: %s", rec.failures[0])
110
+ }
111
+ })
112
+ }
@@ -11,15 +11,55 @@ import (
11
11
  vs "github.com/voxgig/struct"
12
12
  )
13
13
 
14
+ // PENDING sections are the ones deliberately left empty in the shared corpus
15
+ // (.sdk/test/primary/<name>.aon). Everything else MUST contribute cases.
16
+ var pendingSections = map[string]bool{
17
+ "fetcher": true, "makeFetchDef": true, "makeResult": true,
18
+ "featureAdd": true, "featureHook": true, "featureInit": true,
19
+ }
20
+
14
21
  func TestPrimaryUtility(t *testing.T) {
15
- spec := loadTestSpec(t)
16
- primary := getSpec(spec, "primary")
22
+ client := sdk.TestSDK(nil, nil)
23
+ utility := client.GetUtility()
24
+
25
+ // The corpus, through the vendored omni runner (see
26
+ // omniresolver_test.go). Subjects receive omni's native argument list:
27
+ // a ctx entry arrives as args[0], a MAP - omniCtx builds the typed
28
+ // context a generated utility takes, and omniSyncCtx writes the
29
+ // observable ctx state back for `match: {ctx: ...}` assertions.
30
+ runner := MakeRunner(TEST_JSON_FILE, client)
31
+ run, err := runner("primary", nil)
32
+ if err != nil {
33
+ t.Fatalf("Failed to make the corpus runner: %v", err)
34
+ }
35
+ primary := run.Spec
17
36
  if primary == nil {
18
37
  t.Fatal("primary section not found in test.json")
19
38
  }
20
39
 
21
- client := sdk.TestSDK(nil, nil)
22
- utility := client.GetUtility()
40
+ // Run one corpus section, failing loudly when it would run ZERO cases.
41
+ // A renamed section, a fixture that failed to compile, or an empty set
42
+ // used to report PASS while running zero assertions - the whole point
43
+ // of a shared oracle lost without a single red test. (The guard lives
44
+ // here rather than in the runner, which is vendored verbatim; the
45
+ // shared corpus is a v0 spec, and v0 tolerates an empty set.)
46
+ runsection := func(t *testing.T, name string, subject any) {
47
+ t.Helper()
48
+ section, _ := primary[name].(map[string]any)
49
+ if section == nil {
50
+ t.Fatalf("test corpus section %q missing - check the name against .sdk/test/primary/", name)
51
+ }
52
+ basic, _ := section["basic"].(map[string]any)
53
+ set, ok := basic["set"].([]any)
54
+ if !ok {
55
+ t.Fatalf("test corpus section %q has no basic.set list - zero cases would run", name)
56
+ }
57
+ if 0 == len(set) && !pendingSections[name] {
58
+ t.Fatalf("test corpus section %q is EMPTY - zero cases would run; "+
59
+ "add cases, or mark the fixture PENDING in .sdk/test/primary/", name)
60
+ }
61
+ run.RunSet(t, basic, subject)
62
+ }
23
63
 
24
64
  t.Run("exists", func(t *testing.T) {
25
65
  if utility.Clean == nil {
@@ -121,36 +161,26 @@ func TestPrimaryUtility(t *testing.T) {
121
161
  })
122
162
 
123
163
  t.Run("done-basic", func(t *testing.T) {
124
- runsetNamed(t, "done", getSpec(primary, "done", "basic"), func(entry map[string]any) (any, error) {
125
- ctxmap, _ := entry["ctx"].(map[string]any)
126
- ctx := makeCtxFromMap(ctxmap, client, utility)
127
- fixctx(ctx, client)
164
+ runsection(t, "done", func(args ...any) (any, error) {
165
+ ctx := omniCtx(args[0], client, utility)
128
166
  return utility.Done(ctx)
129
167
  })
130
168
  })
131
169
 
132
170
  t.Run("makeError-basic", func(t *testing.T) {
133
- runsetNamed(t, "makeError", getSpec(primary, "makeError", "basic"), func(entry map[string]any) (any, error) {
134
- args, _ := entry["args"].([]any)
171
+ runsection(t, "makeError", func(args ...any) (any, error) {
135
172
  if len(args) == 0 {
136
173
  args = []any{map[string]any{}}
137
174
  }
138
175
 
139
- ctxmap, _ := args[0].(map[string]any)
140
- if ctxmap == nil {
141
- ctxmap = map[string]any{}
142
- }
143
- ctx := makeCtxFromMap(ctxmap, client, utility)
144
- fixctx(ctx, client)
176
+ ctx := omniCtx(args[0], client, utility)
145
177
 
146
- var err error
178
+ var errval error
147
179
  if len(args) > 1 {
148
- if errMap, ok := args[1].(map[string]any); ok {
149
- err = errFromMap(errMap)
150
- }
180
+ errval = omniErrArg(args[1])
151
181
  }
152
182
 
153
- return utility.MakeError(ctx, err)
183
+ return utility.MakeError(ctx, errval)
154
184
  })
155
185
  })
156
186
 
@@ -313,9 +343,8 @@ func TestPrimaryUtility(t *testing.T) {
313
343
  })
314
344
 
315
345
  t.Run("makeContext-basic", func(t *testing.T) {
316
- runsetNamed(t, "makeContext", getSpec(primary, "makeContext", "basic"), func(entry map[string]any) (any, error) {
317
- in := entry["in"]
318
- if inMap, ok := in.(map[string]any); ok {
346
+ runsection(t, "makeContext", func(args ...any) (any, error) {
347
+ if inMap, ok := args[0].(map[string]any); ok {
319
348
  ctx := utility.MakeContext(inMap, nil)
320
349
  out := map[string]any{
321
350
  "id": ctx.Id,
@@ -402,8 +431,8 @@ func TestPrimaryUtility(t *testing.T) {
402
431
  })
403
432
 
404
433
  t.Run("makeOptions-basic", func(t *testing.T) {
405
- runsetNamed(t, "makeOptions", getSpec(primary, "makeOptions", "basic"), func(entry map[string]any) (any, error) {
406
- in, _ := entry["in"].(map[string]any)
434
+ runsection(t, "makeOptions", func(args ...any) (any, error) {
435
+ in, _ := args[0].(map[string]any)
407
436
  ctx := utility.MakeContext(map[string]any{
408
437
  "options": in["options"],
409
438
  "config": in["config"],
@@ -415,9 +444,8 @@ func TestPrimaryUtility(t *testing.T) {
415
444
  })
416
445
 
417
446
  t.Run("makeRequest-basic", func(t *testing.T) {
418
- runsetNamed(t, "makeRequest", getSpec(primary, "makeRequest", "basic"), func(entry map[string]any) (any, error) {
419
- ctxmap, _ := entry["ctx"].(map[string]any)
420
- ctx := makeCtxFromMap(ctxmap, client, utility)
447
+ runsection(t, "makeRequest", func(args ...any) (any, error) {
448
+ ctx := omniCtx(args[0], client, utility)
421
449
  ctx.Options = client.OptionsMap()
422
450
 
423
451
  _, err := utility.MakeRequest(ctx)
@@ -425,41 +453,23 @@ func TestPrimaryUtility(t *testing.T) {
425
453
  return nil, err
426
454
  }
427
455
 
428
- // Update entry ctx for match checking
429
- entryCtx, _ := entry["ctx"].(map[string]any)
430
- if ctx.Response != nil {
431
- entryCtx["response"] = "exists"
432
- }
433
- if ctx.Result != nil {
434
- entryCtx["result"] = "exists"
435
- }
456
+ // Expose response/result existence for the match assertions.
457
+ omniSyncCtx(args[0], ctx)
436
458
 
437
459
  return nil, nil
438
460
  })
439
461
  })
440
462
 
441
463
  t.Run("makeResponse-basic", func(t *testing.T) {
442
- runsetNamed(t, "makeResponse", getSpec(primary, "makeResponse", "basic"), func(entry map[string]any) (any, error) {
443
- ctxmap, _ := entry["ctx"].(map[string]any)
444
- ctx := makeCtxFromMap(ctxmap, client, utility)
445
- fixctx(ctx, client)
464
+ runsection(t, "makeResponse", func(args ...any) (any, error) {
465
+ ctx := omniCtx(args[0], client, utility)
446
466
 
447
467
  _, err := utility.MakeResponse(ctx)
448
468
  if err != nil {
449
469
  return nil, err
450
470
  }
451
471
 
452
- // Update entry ctx for match checking with result data
453
- entryCtx, _ := entry["ctx"].(map[string]any)
454
- if ctx.Result != nil {
455
- entryCtx["result"] = map[string]any{
456
- "ok": ctx.Result.Ok,
457
- "status": ctx.Result.Status,
458
- "statusText": ctx.Result.StatusText,
459
- "headers": ctx.Result.Headers,
460
- "body": ctx.Result.Body,
461
- }
462
- }
472
+ omniSyncCtx(args[0], ctx)
463
473
 
464
474
  return nil, nil
465
475
  })
@@ -528,9 +538,8 @@ func TestPrimaryUtility(t *testing.T) {
528
538
  specClient := sdk.TestSDK(nil, setupOpts)
529
539
  specUtility := specClient.GetUtility()
530
540
 
531
- runsetNamed(t, "makeSpec", getSpec(primary, "makeSpec", "basic"), func(entry map[string]any) (any, error) {
532
- ctxmap, _ := entry["ctx"].(map[string]any)
533
- ctx := makeCtxFromMap(ctxmap, specClient, specUtility)
541
+ runsection(t, "makeSpec", func(args ...any) (any, error) {
542
+ ctx := omniCtx(args[0], specClient, specUtility)
534
543
  ctx.Options = specClient.OptionsMap()
535
544
 
536
545
  _, err := utility.MakeSpec(ctx)
@@ -538,20 +547,7 @@ func TestPrimaryUtility(t *testing.T) {
538
547
  return nil, err
539
548
  }
540
549
 
541
- // Update entry ctx for match
542
- entryCtx, _ := entry["ctx"].(map[string]any)
543
- if ctx.Spec != nil {
544
- entryCtx["spec"] = map[string]any{
545
- "base": ctx.Spec.Base,
546
- "prefix": ctx.Spec.Prefix,
547
- "suffix": ctx.Spec.Suffix,
548
- "method": ctx.Spec.Method,
549
- "params": ctx.Spec.Params,
550
- "query": ctx.Spec.Query,
551
- "headers": ctx.Spec.Headers,
552
- "step": ctx.Spec.Step,
553
- }
554
- }
550
+ omniSyncCtx(args[0], ctx)
555
551
 
556
552
  return nil, nil
557
553
  })
@@ -568,11 +564,14 @@ func TestPrimaryUtility(t *testing.T) {
568
564
  // corpus says `match: out: code` for both, so the error is normalised to a
569
565
  // map carrying its code here rather than forking the fixture per language.
570
566
  t.Run("makePoint-basic", func(t *testing.T) {
571
- runsetNamed(t, "makePoint", getSpec(primary, "makePoint", "basic"), func(entry map[string]any) (any, error) {
572
- ctxmap, _ := entry["ctx"].(map[string]any)
567
+ runsection(t, "makePoint", func(args ...any) (any, error) {
568
+ ctxmap, _ := args[0].(map[string]any)
569
+ if ctxmap == nil {
570
+ ctxmap = map[string]any{}
571
+ }
573
572
 
574
573
  // NewContext resolves Op from the ENTITY NAME, and reaches it
575
- // through the Entity interface a literal {name:...} map from the
574
+ // through the Entity interface - a literal {name:...} map from the
576
575
  // fixture is not one, so entname would be "" and every lookup would
577
576
  // miss, reporting point_no_points for all seven cases. TS reads the
578
577
  // same field with getprop and accepts the plain map. Swap in the
@@ -588,7 +587,7 @@ func TestPrimaryUtility(t *testing.T) {
588
587
  ctxmap = swapped
589
588
  }
590
589
 
591
- ctx := makeCtxFromMap(ctxmap, client, utility)
590
+ ctx := omniCtx(ctxmap, client, utility)
592
591
  point, err := utility.MakePoint(ctx)
593
592
  if err != nil {
594
593
  var sdkErr *sdk.ProjectNameError
@@ -602,9 +601,8 @@ func TestPrimaryUtility(t *testing.T) {
602
601
  })
603
602
 
604
603
  t.Run("makeUrl-basic", func(t *testing.T) {
605
- runsetNamed(t, "makeUrl", getSpec(primary, "makeUrl", "basic"), func(entry map[string]any) (any, error) {
606
- ctxmap, _ := entry["ctx"].(map[string]any)
607
- ctx := makeCtxFromMap(ctxmap, client, utility)
604
+ runsection(t, "makeUrl", func(args ...any) (any, error) {
605
+ ctx := omniCtx(args[0], client, utility)
608
606
  if ctx.Result == nil {
609
607
  ctx.Result = sdk.NewResult(map[string]any{})
610
608
  }
@@ -613,58 +611,31 @@ func TestPrimaryUtility(t *testing.T) {
613
611
  })
614
612
 
615
613
  t.Run("operator-basic", func(t *testing.T) {
616
- runsetNamed(t, "operator", getSpec(primary, "operator", "basic"), func(entry map[string]any) (any, error) {
617
- in, _ := entry["in"].(map[string]any)
614
+ runsection(t, "operator", func(args ...any) (any, error) {
615
+ in, _ := args[0].(map[string]any)
618
616
  op := sdk.NewOperation(in)
619
617
  return map[string]any{
620
- "entity": op.Entity,
621
- "name": op.Name,
622
- "input": op.Input,
618
+ "entity": op.Entity,
619
+ "name": op.Name,
620
+ "input": op.Input,
623
621
  "points": op.Points,
624
622
  }, nil
625
623
  })
626
624
  })
627
625
 
628
626
  t.Run("param-basic", func(t *testing.T) {
629
- runsetNamed(t, "param", getSpec(primary, "param", "basic"), func(entry map[string]any) (any, error) {
630
- args, _ := entry["args"].([]any)
627
+ runsection(t, "param", func(args ...any) (any, error) {
631
628
  if len(args) < 2 {
632
629
  return nil, nil
633
630
  }
634
631
 
635
- ctxmap, _ := args[0].(map[string]any)
636
- if ctxmap == nil {
637
- ctxmap = map[string]any{}
638
- }
639
- ctx := makeCtxFromMap(ctxmap, client, utility)
632
+ ctx := omniCtx(args[0], client, utility)
640
633
  paramdef := args[1]
641
634
 
642
635
  result := utility.Param(ctx, paramdef)
643
636
 
644
- // Update entry ctx for match
645
- if matchSpec, ok := entry["match"].(map[string]any); ok {
646
- if ctxMatch, ok := matchSpec["ctx"].(map[string]any); ok {
647
- entryCtx, _ := entry["ctx"].(map[string]any)
648
- if entryCtx == nil {
649
- entryCtx = map[string]any{}
650
- entry["ctx"] = entryCtx
651
- }
652
- // Copy spec alias back to entry ctx for matching
653
- if specMatch, ok := ctxMatch["spec"].(map[string]any); ok {
654
- if ctx.Spec != nil {
655
- if entryCtx["spec"] == nil {
656
- entryCtx["spec"] = map[string]any{}
657
- }
658
- if aliasMatch, ok := specMatch["alias"].(map[string]any); ok {
659
- _ = aliasMatch
660
- entryCtx["spec"] = map[string]any{
661
- "alias": ctx.Spec.Alias,
662
- }
663
- }
664
- }
665
- }
666
- }
667
- }
637
+ // The spec alias mutation is what mark 80 asserts on.
638
+ omniSyncCtx(args[0], ctx)
668
639
 
669
640
  return result, nil
670
641
  })
@@ -675,57 +646,51 @@ func TestPrimaryUtility(t *testing.T) {
675
646
  authClient := sdk.TestSDK(nil, setupOpts)
676
647
  authUtility := authClient.GetUtility()
677
648
 
678
- runsetNamed(t, "prepareAuth", getSpec(primary, "prepareAuth", "basic"), func(entry map[string]any) (any, error) {
679
- ctxmap, _ := entry["ctx"].(map[string]any)
680
- ctx := makeCtxFromMap(ctxmap, authClient, authUtility)
681
- fixctx(ctx, authClient)
649
+ runsection(t, "prepareAuth", func(args ...any) (any, error) {
650
+ ctx := omniCtx(args[0], authClient, authUtility)
682
651
 
683
652
  _, err := utility.PrepareAuth(ctx)
684
653
  if err != nil {
685
654
  return nil, err
686
655
  }
687
656
 
688
- // Update entry ctx for match
689
- entryCtx, _ := entry["ctx"].(map[string]any)
690
- if ctx.Spec != nil {
691
- entryCtx["spec"] = map[string]any{
692
- "headers": ctx.Spec.Headers,
693
- }
694
- }
657
+ omniSyncCtx(args[0], ctx)
695
658
 
696
659
  return nil, nil
697
660
  })
698
661
  })
699
662
 
700
663
  t.Run("prepareBody-basic", func(t *testing.T) {
701
- runsetNamed(t, "prepareBody", getSpec(primary, "prepareBody", "basic"), func(entry map[string]any) (any, error) {
702
- ctxmap, _ := entry["ctx"].(map[string]any)
703
- ctx := makeCtxFromMap(ctxmap, client, utility)
704
- fixctx(ctx, client)
664
+ runsection(t, "prepareBody", func(args ...any) (any, error) {
665
+ ctx := omniCtx(args[0], client, utility)
705
666
  return utility.PrepareBody(ctx), nil
706
667
  })
707
668
  })
708
669
 
709
670
  t.Run("prepareHeaders-basic", func(t *testing.T) {
710
- runsetNamed(t, "prepareHeaders", getSpec(primary, "prepareHeaders", "basic"), func(entry map[string]any) (any, error) {
711
- ctxmap, _ := entry["ctx"].(map[string]any)
712
- ctx := makeCtxFromMap(ctxmap, client, utility)
671
+ runsection(t, "prepareHeaders", func(args ...any) (any, error) {
672
+ ctx := omniCtx(args[0], client, utility)
713
673
  return utility.PrepareHeaders(ctx), nil
714
674
  })
715
675
  })
716
676
 
717
677
  t.Run("prepareMethod-basic", func(t *testing.T) {
718
- runsetNamed(t, "prepareMethod", getSpec(primary, "prepareMethod", "basic"), func(entry map[string]any) (any, error) {
719
- ctxmap, _ := entry["ctx"].(map[string]any)
720
- ctx := makeCtxFromMap(ctxmap, client, utility)
721
- return utility.PrepareMethod(ctx), nil
678
+ runsection(t, "prepareMethod", func(args ...any) (any, error) {
679
+ ctx := omniCtx(args[0], client, utility)
680
+ // An op the API does not define resolves NO method; ts answers
681
+ // undefined there and go answers "" - both are "no value" to
682
+ // the corpus.
683
+ method := utility.PrepareMethod(ctx)
684
+ if "" == method {
685
+ return nil, nil
686
+ }
687
+ return method, nil
722
688
  })
723
689
  })
724
690
 
725
691
  t.Run("prepareParams-basic", func(t *testing.T) {
726
- runsetNamed(t, "prepareParams", getSpec(primary, "prepareParams", "basic"), func(entry map[string]any) (any, error) {
727
- ctxmap, _ := entry["ctx"].(map[string]any)
728
- ctx := makeCtxFromMap(ctxmap, client, utility)
692
+ runsection(t, "prepareParams", func(args ...any) (any, error) {
693
+ ctx := omniCtx(args[0], client, utility)
729
694
  return utility.PrepareParams(ctx), nil
730
695
  })
731
696
  })
@@ -735,38 +700,32 @@ func TestPrimaryUtility(t *testing.T) {
735
700
  // the corpus like every other section, so all ports assert the same
736
701
  // separator/blank-segment behaviour.
737
702
  t.Run("preparePath-basic", func(t *testing.T) {
738
- runsetNamed(t, "preparePath", getSpec(primary, "preparePath", "basic"), func(entry map[string]any) (any, error) {
739
- ctxmap, _ := entry["ctx"].(map[string]any)
740
- ctx := makeCtxFromMap(ctxmap, client, utility)
703
+ runsection(t, "preparePath", func(args ...any) (any, error) {
704
+ ctx := omniCtx(args[0], client, utility)
741
705
  return utility.PreparePath(ctx), nil
742
706
  })
743
707
  })
744
708
 
745
709
  t.Run("clean-corpus", func(t *testing.T) {
746
- runsetNamed(t, "clean", getSpec(primary, "clean", "basic"), func(entry map[string]any) (any, error) {
747
- args, _ := entry["args"].([]any)
710
+ runsection(t, "clean", func(args ...any) (any, error) {
748
711
  if 2 != len(args) {
749
712
  return nil, fmt.Errorf("clean: expected 2 args, got %d", len(args))
750
713
  }
751
- ctxmap, _ := args[0].(map[string]any)
752
- ctx := makeCtxFromMap(ctxmap, client, utility)
714
+ ctx := omniCtx(args[0], client, utility)
753
715
  return utility.Clean(ctx, args[1]), nil
754
716
  })
755
717
  })
756
718
 
757
719
  t.Run("prepareQuery-basic", func(t *testing.T) {
758
- runsetNamed(t, "prepareQuery", getSpec(primary, "prepareQuery", "basic"), func(entry map[string]any) (any, error) {
759
- ctxmap, _ := entry["ctx"].(map[string]any)
760
- ctx := makeCtxFromMap(ctxmap, client, utility)
720
+ runsection(t, "prepareQuery", func(args ...any) (any, error) {
721
+ ctx := omniCtx(args[0], client, utility)
761
722
  return utility.PrepareQuery(ctx), nil
762
723
  })
763
724
  })
764
725
 
765
726
  t.Run("resultBasic-basic", func(t *testing.T) {
766
- runsetNamed(t, "resultBasic", getSpec(primary, "resultBasic", "basic"), func(entry map[string]any) (any, error) {
767
- ctxmap, _ := entry["ctx"].(map[string]any)
768
- ctx := makeCtxFromMap(ctxmap, client, utility)
769
- fixctx(ctx, client)
727
+ runsection(t, "resultBasic", func(args ...any) (any, error) {
728
+ ctx := omniCtx(args[0], client, utility)
770
729
 
771
730
  result := utility.ResultBasic(ctx)
772
731
 
@@ -785,76 +744,49 @@ func TestPrimaryUtility(t *testing.T) {
785
744
  })
786
745
 
787
746
  t.Run("resultBody-basic", func(t *testing.T) {
788
- runsetNamed(t, "resultBody", getSpec(primary, "resultBody", "basic"), func(entry map[string]any) (any, error) {
789
- ctxmap, _ := entry["ctx"].(map[string]any)
790
- ctx := makeCtxFromMap(ctxmap, client, utility)
747
+ runsection(t, "resultBody", func(args ...any) (any, error) {
748
+ ctx := omniCtx(args[0], client, utility)
791
749
 
792
750
  utility.ResultBody(ctx)
793
751
 
794
- // Update entry ctx for match
795
- entryCtx, _ := entry["ctx"].(map[string]any)
796
- if ctx.Result != nil {
797
- entryCtx["result"] = map[string]any{
798
- "body": ctx.Result.Body,
799
- }
800
- }
752
+ omniSyncCtx(args[0], ctx)
801
753
 
802
754
  return nil, nil
803
755
  })
804
756
  })
805
757
 
806
758
  t.Run("resultHeaders-basic", func(t *testing.T) {
807
- runsetNamed(t, "resultHeaders", getSpec(primary, "resultHeaders", "basic"), func(entry map[string]any) (any, error) {
808
- ctxmap, _ := entry["ctx"].(map[string]any)
809
- ctx := makeCtxFromMap(ctxmap, client, utility)
759
+ runsection(t, "resultHeaders", func(args ...any) (any, error) {
760
+ ctx := omniCtx(args[0], client, utility)
810
761
 
811
762
  utility.ResultHeaders(ctx)
812
763
 
813
- // Update entry ctx for match
814
- entryCtx, _ := entry["ctx"].(map[string]any)
815
- if ctx.Result != nil {
816
- entryCtx["result"] = map[string]any{
817
- "headers": ctx.Result.Headers,
818
- }
819
- }
764
+ omniSyncCtx(args[0], ctx)
820
765
 
821
766
  return nil, nil
822
767
  })
823
768
  })
824
769
 
825
770
  t.Run("transformRequest-basic", func(t *testing.T) {
826
- runsetNamed(t, "transformRequest", getSpec(primary, "transformRequest", "basic"), func(entry map[string]any) (any, error) {
827
- ctxmap, _ := entry["ctx"].(map[string]any)
828
- ctx := makeCtxFromMap(ctxmap, client, utility)
771
+ runsection(t, "transformRequest", func(args ...any) (any, error) {
772
+ ctx := omniCtx(args[0], client, utility)
829
773
 
830
774
  result := utility.TransformRequest(ctx)
831
775
 
832
- // Update entry ctx for match (step changed)
833
- entryCtx, _ := entry["ctx"].(map[string]any)
834
- if ctx.Spec != nil {
835
- if specMap, ok := entryCtx["spec"].(map[string]any); ok {
836
- specMap["step"] = ctx.Spec.Step
837
- }
838
- }
776
+ // The step advance is what the match assertion reads.
777
+ omniSyncCtx(args[0], ctx)
839
778
 
840
779
  return result, nil
841
780
  })
842
781
  })
843
782
 
844
783
  t.Run("transformResponse-basic", func(t *testing.T) {
845
- runsetNamed(t, "transformResponse", getSpec(primary, "transformResponse", "basic"), func(entry map[string]any) (any, error) {
846
- ctxmap, _ := entry["ctx"].(map[string]any)
847
- ctx := makeCtxFromMap(ctxmap, client, utility)
784
+ runsection(t, "transformResponse", func(args ...any) (any, error) {
785
+ ctx := omniCtx(args[0], client, utility)
848
786
 
849
787
  result := utility.TransformResponse(ctx)
850
788
 
851
- // Update entry ctx for match (step changed)
852
- entryCtx, _ := entry["ctx"].(map[string]any)
853
- if ctx.Spec != nil {
854
- if specMap, ok := entryCtx["spec"].(map[string]any); ok {
855
- specMap["step"] = ctx.Spec.Step
856
- }
857
- }
789
+ omniSyncCtx(args[0], ctx)
858
790
 
859
791
  return result, nil
860
792
  })