@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,107 @@
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 Swift peer of
4
+ // tm/csharp/test/OmniSmokeTest.cs and tm/go/test/omnismoke_test.go.)
5
+ //
6
+ // Nothing here imports Omni: the resolver is the only file that may
7
+ // (OmniResolver decision 1), so the spec is built in the SDK's own Value
8
+ // model and engine failures are recognised through
9
+ // OmniResolver.isOmniError.
10
+
11
+ import XCTest
12
+
13
+ @testable import ProjectNameSdk
14
+
15
+ final class OmniSmokeTest: XCTestCase {
16
+
17
+ // A minimal in-memory spec: no fixture file, no OMNI block (lenient v0,
18
+ // like the shared corpus).
19
+ private func smokeSpec() -> Value {
20
+ func entry(_ pairs: (String, Value)...) -> Value {
21
+ let m = VMap()
22
+ for (k, v) in pairs { m.entries[k] = v }
23
+ return .map(m)
24
+ }
25
+ func group(_ items: Value...) -> Value {
26
+ let m = VMap()
27
+ m.entries["set"] = .list(items)
28
+ return .map(m)
29
+ }
30
+
31
+ let smoke = VMap()
32
+ smoke.entries["basic"] = group(
33
+ entry(("in", .int(1)), ("out", .int(2))),
34
+ entry(("in", .int(41)), ("out", .int(42))))
35
+ smoke.entries["bad"] = group(
36
+ entry(("in", .int(1)), ("out", .int(999))))
37
+ smoke.entries["err"] = group(
38
+ entry(("in", .int(0)), ("err", .string("zero refused"))))
39
+
40
+ let primary = VMap()
41
+ primary.entries["smoke"] = .map(smoke)
42
+
43
+ let root = VMap()
44
+ root.entries["primary"] = .map(primary)
45
+ return .map(root)
46
+ }
47
+
48
+ // The subject under test: increment, but refuse zero.
49
+ private func smokeInc(_ args: [Value]) throws -> Value {
50
+ let n = args.first?.asInt ?? 0
51
+ if 0 == n {
52
+ throw OmniResolver.SubjectError("smoke: zero refused")
53
+ }
54
+ return .int(n + 1)
55
+ }
56
+
57
+ private func smokeRun() throws -> OmniResolver.Run {
58
+ let client = ProjectNameSDK.testSDK(nil, nil)
59
+ let run = try OmniResolver.makeRunner(smokeSpec(), client)("smoke")
60
+ XCTAssertTrue(run.spec.isMap, "smoke spec did not resolve")
61
+ return run
62
+ }
63
+
64
+ func testRunsetPassesACorrectSubject() throws {
65
+ let run = try smokeRun()
66
+ XCTAssertEqual(run.set("basic").setCount, 2, "smoke basic must carry 2 entries")
67
+ try run.runset(run.set("basic"), smokeInc)
68
+ }
69
+
70
+ func testRunsetFailsAWrongResult() throws {
71
+ let run = try smokeRun()
72
+
73
+ XCTAssertThrowsError(try run.runset(run.set("bad"), smokeInc)) { err in
74
+ XCTAssertTrue(OmniResolver.isOmniError(err),
75
+ "expected an engine failure, got: \(err)")
76
+ XCTAssertTrue(OmniResolver.message(err).contains("result mismatch"),
77
+ "expected a result mismatch failure, got: \(OmniResolver.message(err))")
78
+ }
79
+ }
80
+
81
+ func testExpectedErrorIsMatchedAndAMissingOneFails() throws {
82
+ let run = try smokeRun()
83
+
84
+ // The erroring subject satisfies the expected-error entry.
85
+ try run.runset(run.set("err"), smokeInc)
86
+
87
+ // A subject that does NOT raise must fail that same entry.
88
+ XCTAssertThrowsError(
89
+ try run.runset(run.set("err"), { args in args.first ?? .noval })
90
+ ) { err in
91
+ XCTAssertTrue(OmniResolver.message(err).contains("expected error did not occur"),
92
+ "expected an expected-error failure, got: \(OmniResolver.message(err))")
93
+ }
94
+ }
95
+
96
+ // The engine must also refuse a group that does not exist at all, rather
97
+ // than reporting a silent pass over zero entries.
98
+ func testMissingGroupFails() throws {
99
+ let run = try smokeRun()
100
+ XCTAssertNil(run.set("nosuchgroup").setCount,
101
+ "a missing group must not present a set")
102
+ XCTAssertThrowsError(try run.runset(run.set("nosuchgroup"), smokeInc)) { err in
103
+ XCTAssertTrue(OmniResolver.message(err).contains("no set"),
104
+ "expected a missing-set failure, got: \(OmniResolver.message(err))")
105
+ }
106
+ }
107
+ }
@@ -1,7 +1,14 @@
1
1
  // Primary utility test suite - drives every utility on the client utility
2
- // object, partly via the shared corpus in ../../.sdk/test/test.json
3
- // ("primary" section) and partly via direct checks. Swift twin of
2
+ // object against the shared corpus in ../../../.sdk/test/test.json
3
+ // ("primary" section) through the VENDORED omni runner (OmniResolver over
4
+ // Tests/vendor/omni), plus direct checks. Swift twin of
4
5
  // tm/csharp/test/PrimaryUtilityTest.cs and tm/go/test/primary_utility_test.go.
6
+ //
7
+ // Subjects receive omni's native argument list in the SDK's value model: a
8
+ // ctx entry arrives as args[0], a MAP - OmniResolver.omniCtx builds the
9
+ // typed Context a generated utility takes, and OmniResolver.omniSyncCtx
10
+ // writes the observable ctx state back for `match: {ctx: ...}` assertions
11
+ // (which the resolver retargets onto `match.args.0`, its decision 3).
5
12
 
6
13
  import XCTest
7
14
 
@@ -28,18 +35,80 @@ final class TestInitFeature: BaseFeature {
28
35
  }
29
36
 
30
37
  final class PrimaryUtilityTest: XCTestCase {
38
+ // PENDING sections are the ones deliberately left EMPTY in the shared
39
+ // corpus (.sdk/test/primary/<name>.aon). Everything else MUST contribute
40
+ // cases: a renamed section or a fixture that failed to compile used to
41
+ // report PASS while running zero assertions.
42
+ private static let PENDING: Set<String> = [
43
+ "fetcher", "makeFetchDef", "makeResult",
44
+ "featureAdd", "featureHook", "featureInit",
45
+ ]
46
+
47
+ // One corpus runner for the whole suite (XCTest builds a fresh instance
48
+ // per test method, so the runner is static).
49
+ private static var RUN: OmniResolver.Run?
50
+ private static let runLock = NSLock()
51
+
52
+ private static func primaryRun() throws -> OmniResolver.Run {
53
+ runLock.lock()
54
+ defer { runLock.unlock() }
55
+ if let run = RUN { return run }
56
+ let run = try OmniResolver.makeRunner(
57
+ SdkRunner.testJsonPath(), ProjectNameSDK.testSDK(nil, nil))("primary")
58
+ RUN = run
59
+ return run
60
+ }
61
+
31
62
  // XCTestCase has no custom init; set these up per test.
32
- private var primary: Value!
33
63
  private var client: ProjectNameSDK!
34
64
  private var utility: Utility!
35
65
 
36
66
  override func setUp() {
37
67
  super.setUp()
38
- primary = SdkRunner.loadPrimary()
39
68
  client = ProjectNameSDK.testSDK(nil, nil)
40
69
  utility = client.getUtility()
41
70
  }
42
71
 
72
+ // Run one corpus section through the vendored engine, failing loudly when
73
+ // it would run ZERO cases.
74
+ private func runsection(
75
+ _ name: String, _ subject: @escaping OmniResolver.Subject,
76
+ file: StaticString = #filePath, line: UInt = #line
77
+ ) {
78
+ do {
79
+ let run = try PrimaryUtilityTest.primaryRun()
80
+
81
+ let section = run.spec.get(name)
82
+ guard section.isMap else {
83
+ return XCTFail("test corpus section \"\(name)\" missing - check the " +
84
+ "name against .sdk/test/primary/", file: file, line: line)
85
+ }
86
+ let basic = section.get("basic")
87
+ guard let count = basic.setCount else {
88
+ return XCTFail("test corpus section \"\(name)\" has no basic.set list " +
89
+ "- zero cases would run", file: file, line: line)
90
+ }
91
+ if 0 == count && !PrimaryUtilityTest.PENDING.contains(name) {
92
+ return XCTFail("test corpus section \"\(name)\" is EMPTY - zero cases " +
93
+ "would run; add cases, or mark the fixture PENDING in " +
94
+ ".sdk/test/primary/", file: file, line: line)
95
+ }
96
+ if 0 == count { return }
97
+
98
+ try run.runset(basic, subject)
99
+ print("ok primary.\(name): \(count)/\(count)")
100
+ } catch {
101
+ XCTFail("primary.\(name): \(OmniResolver.message(error))",
102
+ file: file, line: line)
103
+ }
104
+ }
105
+
106
+ // The DEF.setup options a section names, as SDK options.
107
+ private func setupOptions(_ name: String, _ key: String) throws -> VMap? {
108
+ try PrimaryUtilityTest.primaryRun().spec
109
+ .get([name, "DEF", "setup", key]).value.asMap
110
+ }
111
+
43
112
  // MARK: - Local helpers
44
113
 
45
114
  // Unwrap a loose Value scalar/node to the native Swift form Context expects
@@ -141,30 +210,19 @@ final class PrimaryUtilityTest: XCTestCase {
141
210
  }
142
211
 
143
212
  func testDoneBasic() {
144
- SdkRunner.runSet(SdkRunner.spec(primary, "done", "basic")) { entry in
145
- let ctxmap = entry.entries["ctx"]?.asMap
146
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
147
- SdkRunner.fixCtx(ctx, self.client)
213
+ runsection("done") { args in
214
+ let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
148
215
  return try self.utility.done(ctx)
149
216
  }
150
217
  }
151
218
 
152
219
  func testMakeErrorBasic() {
153
- SdkRunner.runSet(SdkRunner.spec(primary, "makeError", "basic")) { entry in
154
- var argsList = entry.entries["args"]?.asList
155
- if argsList == nil || argsList!.items.isEmpty {
156
- let l = VList()
157
- l.items.append(.map(VMap()))
158
- argsList = l
159
- }
160
- let args = argsList!
161
-
162
- let ctxmap = args.items[0].asMap ?? VMap()
163
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
164
- SdkRunner.fixCtx(ctx, self.client)
220
+ runsection("makeError") { args in
221
+ let ctxarg = args.first ?? .map(VMap())
222
+ let ctx = OmniResolver.omniCtx(ctxarg, self.client, self.utility)
165
223
 
166
224
  var err: Error? = nil
167
- if args.items.count > 1, let errMap = args.items[1].asMap {
225
+ if 1 < args.count, let errMap = args[1].asMap {
168
226
  err = SdkRunner.errFromMap(errMap)
169
227
  }
170
228
 
@@ -301,8 +359,8 @@ final class PrimaryUtilityTest: XCTestCase {
301
359
  }
302
360
 
303
361
  func testMakeContextBasic() {
304
- SdkRunner.runSet(SdkRunner.spec(primary, "makeContext", "basic")) { entry in
305
- guard let inMap = entry.entries["in"]?.asMap else { return .noval }
362
+ runsection("makeContext") { args in
363
+ guard let inMap = args.first?.asMap else { return .noval }
306
364
  let ctx = self.utility.makeContext(self.nativeCtxMap(inMap), nil)
307
365
  let result = VMap()
308
366
  result.entries["id"] = .string(ctx.id)
@@ -368,8 +426,8 @@ final class PrimaryUtilityTest: XCTestCase {
368
426
  }
369
427
 
370
428
  func testMakeOptionsBasic() {
371
- SdkRunner.runSet(SdkRunner.spec(primary, "makeOptions", "basic")) { entry in
372
- let inMap = entry.entries["in"]?.asMap ?? VMap()
429
+ runsection("makeOptions") { args in
430
+ let inMap = args.first?.asMap ?? VMap()
373
431
  var nctx: [String: Any?] = [:]
374
432
  if let o = inMap.entries["options"]?.asMap { nctx["options"] = o }
375
433
  if let c = inMap.entries["config"]?.asMap { nctx["config"] = c }
@@ -381,42 +439,24 @@ final class PrimaryUtilityTest: XCTestCase {
381
439
  }
382
440
 
383
441
  func testMakeRequestBasic() {
384
- SdkRunner.runSet(SdkRunner.spec(primary, "makeRequest", "basic")) { entry in
385
- let ctxmap = entry.entries["ctx"]?.asMap
386
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
442
+ runsection("makeRequest") { args in
443
+ let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
387
444
  ctx.options = self.client.optionsMap()
388
445
 
389
446
  _ = try self.utility.makeRequest(ctx)
390
447
 
391
- // Update entry ctx for match checking.
392
- if let ctxmap = ctxmap {
393
- if ctx.response != nil { ctxmap.entries["response"] = .string("exists") }
394
- if ctx.result != nil { ctxmap.entries["result"] = .string("exists") }
395
- }
396
-
448
+ OmniResolver.omniSyncCtx(args[0], ctx)
397
449
  return .noval
398
450
  }
399
451
  }
400
452
 
401
453
  func testMakeResponseBasic() {
402
- SdkRunner.runSet(SdkRunner.spec(primary, "makeResponse", "basic")) { entry in
403
- let ctxmap = entry.entries["ctx"]?.asMap
404
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
405
- SdkRunner.fixCtx(ctx, self.client)
454
+ runsection("makeResponse") { args in
455
+ let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
406
456
 
407
457
  _ = try self.utility.makeResponse(ctx)
408
458
 
409
- // Update entry ctx for match checking with result data.
410
- if let ctxmap = ctxmap, let result = ctx.result {
411
- let rm = VMap()
412
- rm.entries["ok"] = .bool(result.ok)
413
- rm.entries["status"] = .int(Int64(result.status))
414
- rm.entries["statusText"] = .string(result.statusText)
415
- rm.entries["headers"] = .map(result.headers)
416
- rm.entries["body"] = result.body
417
- ctxmap.entries["result"] = .map(rm)
418
- }
419
-
459
+ OmniResolver.omniSyncCtx(args[0], ctx)
420
460
  return .noval
421
461
  }
422
462
  }
@@ -467,32 +507,18 @@ final class PrimaryUtilityTest: XCTestCase {
467
507
  XCTAssertThrowsError(try utility.makeResult(ctx))
468
508
  }
469
509
 
470
- func testMakeSpecBasic() {
471
- let setupOpts = SdkRunner.spec(primary, "makeSpec", "DEF", "setup", "a").asMap
510
+ func testMakeSpecBasic() throws {
511
+ let setupOpts = try setupOptions("makeSpec", "a")
472
512
  let specClient = ProjectNameSDK.testSDK(nil, setupOpts)
473
513
  let specUtility = specClient.getUtility()
474
514
 
475
- SdkRunner.runSet(SdkRunner.spec(primary, "makeSpec", "basic")) { entry in
476
- let ctxmap = entry.entries["ctx"]?.asMap
477
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, specClient, specUtility)
515
+ runsection("makeSpec") { args in
516
+ let ctx = OmniResolver.omniCtx(args[0], specClient, specUtility)
478
517
  ctx.options = specClient.optionsMap()
479
518
 
480
- _ = try self.utility.makeSpec(ctx)
481
-
482
- // Update entry ctx for match.
483
- if let ctxmap = ctxmap, let spec = ctx.spec {
484
- let sm = VMap()
485
- sm.entries["base"] = .string(spec.base)
486
- sm.entries["prefix"] = .string(spec.prefix)
487
- sm.entries["suffix"] = .string(spec.suffix)
488
- sm.entries["method"] = .string(spec.method)
489
- sm.entries["params"] = .map(spec.params)
490
- sm.entries["query"] = .map(spec.query)
491
- sm.entries["headers"] = .map(spec.headers)
492
- sm.entries["step"] = .string(spec.step)
493
- ctxmap.entries["spec"] = .map(sm)
494
- }
519
+ _ = try specUtility.makeSpec(ctx)
495
520
 
521
+ OmniResolver.omniSyncCtx(args[0], ctx)
496
522
  return .noval
497
523
  }
498
524
  }
@@ -515,17 +541,16 @@ final class PrimaryUtilityTest: XCTestCase {
515
541
  }
516
542
 
517
543
  func testMakeUrlBasic() {
518
- SdkRunner.runSet(SdkRunner.spec(primary, "makeUrl", "basic")) { entry in
519
- let ctxmap = entry.entries["ctx"]?.asMap
520
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
544
+ runsection("makeUrl") { args in
545
+ let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
521
546
  if ctx.result == nil { ctx.result = Result(nil) }
522
547
  return .string(try self.utility.makeUrl(ctx))
523
548
  }
524
549
  }
525
550
 
526
551
  func testOperatorBasic() {
527
- SdkRunner.runSet(SdkRunner.spec(primary, "operator", "basic")) { entry in
528
- let inMap = entry.entries["in"]?.asMap ?? VMap()
552
+ runsection("operator") { args in
553
+ let inMap = args.first?.asMap ?? VMap()
529
554
  let op = Operation(inMap)
530
555
  let out = VMap()
531
556
  out.entries["entity"] = .string(op.entity)
@@ -539,101 +564,67 @@ final class PrimaryUtilityTest: XCTestCase {
539
564
  }
540
565
 
541
566
  func testParamBasic() {
542
- SdkRunner.runSet(SdkRunner.spec(primary, "param", "basic")) { entry in
543
- guard let args = entry.entries["args"]?.asList, args.items.count >= 2 else {
544
- return .noval
545
- }
567
+ runsection("param") { args in
568
+ guard 2 <= args.count else { return .noval }
546
569
 
547
- let ctxmap = args.items[0].asMap ?? VMap()
548
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
549
- let paramdef = args.items[1]
550
-
551
- let result = self.utility.param(ctx, paramdef)
552
-
553
- // Copy spec alias back to entry ctx for matching.
554
- if let matchSpec = entry.entries["match"]?.asMap,
555
- let ctxMatch = matchSpec.entries["ctx"]?.asMap,
556
- let specMatch = ctxMatch.entries["spec"]?.asMap,
557
- specMatch.entries["alias"] != nil,
558
- let spec = ctx.spec
559
- {
560
- let aliasHolder = VMap()
561
- aliasHolder.entries["alias"] = .map(spec.alias)
562
- if let entryCtx = entry.entries["ctx"]?.asMap {
563
- entryCtx.entries["spec"] = .map(aliasHolder)
564
- } else {
565
- let newCtx = VMap()
566
- newCtx.entries["spec"] = .map(aliasHolder)
567
- entry.entries["ctx"] = .map(newCtx)
568
- }
569
- }
570
+ let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
571
+ let result = self.utility.param(ctx, args[1])
570
572
 
573
+ OmniResolver.omniSyncCtx(args[0], ctx)
571
574
  return result
572
575
  }
573
576
  }
574
577
 
575
- func testPrepareAuthBasic() {
576
- let setupOpts = SdkRunner.spec(primary, "prepareAuth", "DEF", "setup", "a").asMap
578
+ func testPrepareAuthBasic() throws {
579
+ let setupOpts = try setupOptions("prepareAuth", "a")
577
580
  let authClient = ProjectNameSDK.testSDK(nil, setupOpts)
578
581
  let authUtility = authClient.getUtility()
579
582
 
580
- SdkRunner.runSet(SdkRunner.spec(primary, "prepareAuth", "basic")) { entry in
581
- let ctxmap = entry.entries["ctx"]?.asMap
582
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, authClient, authUtility)
583
- SdkRunner.fixCtx(ctx, authClient)
584
-
585
- _ = try self.utility.prepareAuth(ctx)
583
+ runsection("prepareAuth") { args in
584
+ let ctx = OmniResolver.omniCtx(args[0], authClient, authUtility)
586
585
 
587
- // Update entry ctx for match.
588
- if let ctxmap = ctxmap, let spec = ctx.spec {
589
- let sm = VMap()
590
- sm.entries["headers"] = .map(spec.headers)
591
- ctxmap.entries["spec"] = .map(sm)
592
- }
586
+ _ = try authUtility.prepareAuth(ctx)
593
587
 
588
+ OmniResolver.omniSyncCtx(args[0], ctx)
594
589
  return .noval
595
590
  }
596
591
  }
597
592
 
598
593
  func testPrepareBodyBasic() {
599
- SdkRunner.runSet(SdkRunner.spec(primary, "prepareBody", "basic")) { entry in
600
- let ctxmap = entry.entries["ctx"]?.asMap
601
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
602
- SdkRunner.fixCtx(ctx, self.client)
594
+ runsection("prepareBody") { args in
595
+ let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
603
596
  return self.utility.prepareBody(ctx)
604
597
  }
605
598
  }
606
599
 
607
600
  func testPrepareHeadersBasic() {
608
- SdkRunner.runSet(SdkRunner.spec(primary, "prepareHeaders", "basic")) { entry in
609
- let ctxmap = entry.entries["ctx"]?.asMap
610
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
601
+ runsection("prepareHeaders") { args in
602
+ let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
611
603
  return .map(self.utility.prepareHeaders(ctx))
612
604
  }
613
605
  }
614
606
 
615
607
  func testPrepareMethodBasic() {
616
- SdkRunner.runSet(SdkRunner.spec(primary, "prepareMethod", "basic")) { entry in
617
- let ctxmap = entry.entries["ctx"]?.asMap
618
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
619
- return .string(self.utility.prepareMethod(ctx))
608
+ runsection("prepareMethod") { args in
609
+ let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
610
+ // An op the API does not define resolves NO method: "" is Swift's
611
+ // spelling of that, and the corpus expects a null (the entry for
612
+ // opname "bad" carries no `out`).
613
+ let method = self.utility.prepareMethod(ctx)
614
+ return method.isEmpty ? .noval : .string(method)
620
615
  }
621
616
  }
622
617
 
623
618
  func testPrepareParamsBasic() {
624
- SdkRunner.runSet(SdkRunner.spec(primary, "prepareParams", "basic")) { entry in
625
- let ctxmap = entry.entries["ctx"]?.asMap
626
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
619
+ runsection("prepareParams") { args in
620
+ let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
627
621
  return .map(self.utility.prepareParams(ctx))
628
622
  }
629
623
  }
630
624
 
631
625
  func testPreparePathBasic() {
632
- // Was hand-written cases that had drifted out of the shared corpus
633
- // (the preparePath fixture shipped as an empty `set: []`).
634
- SdkRunner.runSet(SdkRunner.spec(primary, "preparePath", "basic")) { entry in
635
- let ctxmap = entry.entries["ctx"]?.asMap
636
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
626
+ runsection("preparePath") { args in
627
+ let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
637
628
  return .string(self.utility.preparePath(ctx))
638
629
  }
639
630
  }
@@ -650,18 +641,15 @@ final class PrimaryUtilityTest: XCTestCase {
650
641
  }
651
642
 
652
643
  func testPrepareQueryBasic() {
653
- SdkRunner.runSet(SdkRunner.spec(primary, "prepareQuery", "basic")) { entry in
654
- let ctxmap = entry.entries["ctx"]?.asMap
655
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
644
+ runsection("prepareQuery") { args in
645
+ let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
656
646
  return .map(self.utility.prepareQuery(ctx))
657
647
  }
658
648
  }
659
649
 
660
650
  func testResultBasicBasic() {
661
- SdkRunner.runSet(SdkRunner.spec(primary, "resultBasic", "basic")) { entry in
662
- let ctxmap = entry.entries["ctx"]?.asMap
663
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
664
- SdkRunner.fixCtx(ctx, self.client)
651
+ runsection("resultBasic") { args in
652
+ let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
665
653
 
666
654
  let result = self.utility.resultBasic(ctx)
667
655
 
@@ -679,70 +667,45 @@ final class PrimaryUtilityTest: XCTestCase {
679
667
  }
680
668
 
681
669
  func testResultBodyBasic() {
682
- SdkRunner.runSet(SdkRunner.spec(primary, "resultBody", "basic")) { entry in
683
- let ctxmap = entry.entries["ctx"]?.asMap
684
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
670
+ runsection("resultBody") { args in
671
+ let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
685
672
 
686
673
  _ = self.utility.resultBody(ctx)
687
674
 
688
- if let ctxmap = ctxmap, let result = ctx.result {
689
- let rm = VMap()
690
- rm.entries["body"] = result.body
691
- ctxmap.entries["result"] = .map(rm)
692
- }
693
-
675
+ OmniResolver.omniSyncCtx(args[0], ctx)
694
676
  return .noval
695
677
  }
696
678
  }
697
679
 
698
680
  func testResultHeadersBasic() {
699
- SdkRunner.runSet(SdkRunner.spec(primary, "resultHeaders", "basic")) { entry in
700
- let ctxmap = entry.entries["ctx"]?.asMap
701
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
681
+ runsection("resultHeaders") { args in
682
+ let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
702
683
 
703
684
  _ = self.utility.resultHeaders(ctx)
704
685
 
705
- if let ctxmap = ctxmap, let result = ctx.result {
706
- let rm = VMap()
707
- rm.entries["headers"] = .map(result.headers)
708
- ctxmap.entries["result"] = .map(rm)
709
- }
710
-
686
+ OmniResolver.omniSyncCtx(args[0], ctx)
711
687
  return .noval
712
688
  }
713
689
  }
714
690
 
715
691
  func testTransformRequestBasic() {
716
- SdkRunner.runSet(SdkRunner.spec(primary, "transformRequest", "basic")) { entry in
717
- let ctxmap = entry.entries["ctx"]?.asMap
718
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
692
+ runsection("transformRequest") { args in
693
+ let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
719
694
 
720
695
  let result = self.utility.transformRequest(ctx)
721
696
 
722
- // Update entry ctx for match (step changed).
723
- if let ctxmap = ctxmap, let spec = ctx.spec,
724
- let specMap = ctxmap.entries["spec"]?.asMap
725
- {
726
- specMap.entries["step"] = .string(spec.step)
727
- }
728
-
697
+ OmniResolver.omniSyncCtx(args[0], ctx)
729
698
  return result
730
699
  }
731
700
  }
732
701
 
733
702
  func testTransformResponseBasic() {
734
- SdkRunner.runSet(SdkRunner.spec(primary, "transformResponse", "basic")) { entry in
735
- let ctxmap = entry.entries["ctx"]?.asMap
736
- let ctx = SdkRunner.makeCtxFromMap(ctxmap, self.client, self.utility)
703
+ runsection("transformResponse") { args in
704
+ let ctx = OmniResolver.omniCtx(args[0], self.client, self.utility)
737
705
 
738
706
  let result = self.utility.transformResponse(ctx)
739
707
 
740
- if let ctxmap = ctxmap, let spec = ctx.spec,
741
- let specMap = ctxmap.entries["spec"]?.asMap
742
- {
743
- specMap.entries["step"] = .string(spec.step)
744
- }
745
-
708
+ OmniResolver.omniSyncCtx(args[0], ctx)
746
709
  return result
747
710
  }
748
711
  }