@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
@@ -2,36 +2,36 @@
2
2
  *
3
3
  * Drives the SHARED language-neutral corpus (.sdk/test/test.json -> "primary")
4
4
  * through this SDK's request-shaping utilities, so the cases cannot drift from
5
- * the reference implementation. Each section is looked up with getSpec and
6
- * executed with runset, as the ts/js reference harness does.
5
+ * the reference implementation. Each section is looked up by name and executed
6
+ * on the VENDORED @voxgig/omni engine through Omni_resolver, exactly as the
7
+ * ts/js reference harness does.
7
8
  *
8
- * ocaml had NO primary-utility suite at all before this: its request-shaping
9
- * utilities were unverified in every language-neutral sense. The harness is
10
- * Corpus_runner, shared with the struct corpus.
9
+ * Every section here uses `runset_args`: a `ctx` entry arrives as `args.(0)`,
10
+ * a MAP, which the call site turns into a LIVE typed context, runs the
11
+ * utility on, and writes the observable state back into — which is what
12
+ * makes `match: {ctx: ...}` (retargeted onto `match: {args: {"0": ...}}` by
13
+ * the resolver, decision 3) read the POST-call state rather than a stale
14
+ * pre-call copy.
11
15
  *)
12
16
 
13
17
  open Voxgig_struct
14
18
  open Sdk_types
15
19
  open Sdk_helpers
16
20
  open Sdk_runtime
17
- open Corpus_runner
21
+
22
+ module O = Omni
23
+ module R = Omni_resolver
18
24
 
19
25
  let client () : sdk_client = Sdk_client.test ()
20
26
 
21
27
  (* A client built from a section's DEF.setup.a block. prepare_auth reads the
22
28
  * CLIENT's options, as the ts reference does via client.options(), so a
23
29
  * section's setup cannot reach it through ctx.options. *)
24
- let client_for primary name =
25
- let setup =
26
- List.fold_left (fun acc k -> getprop_raw_pub acc k) primary [name; "DEF"; "setup"; "a"]
27
- in
28
- match setup with
29
- | Map _ -> Sdk_client.test_with Noval setup
30
+ let client_for (r : R.run) (name : string) : sdk_client =
31
+ match R.tostruct (R.getset r [name; "DEF"; "setup"; "a"]) with
32
+ | Map _ as setup -> Sdk_client.test_with Noval setup
30
33
  | _ -> Sdk_client.test ()
31
34
 
32
- let getspec root path =
33
- List.fold_left (fun acc k -> getprop_raw_pub acc k) root path
34
-
35
35
  (* A LIVE context from a corpus map. The utilities read and MUTATE spec,
36
36
  * result and response through their record types, so a bare value map leaves
37
37
  * them nothing to work on and every match reads null. *)
@@ -43,58 +43,58 @@ let ctx_from (cl : sdk_client) (ctxmap : value) : ctx =
43
43
  * the wrong operation in error messages the corpus matches on — it expects
44
44
  * "unknown operation" where no op is named. *)
45
45
  let cs =
46
- match getprop_raw_pub ctxmap "opname" with
46
+ match R.getp ctxmap "opname" with
47
47
  | Str s -> { (default_ctxspec ()) with cs_opname = Some s }
48
48
  | _ -> default_ctxspec ()
49
49
  in
50
50
  let c = u.u_make_context cs cl.cl_rootctx in
51
- (match getprop_raw_pub ctxmap "spec" with
51
+ (match R.getp ctxmap "spec" with
52
52
  | Map _ as m -> c.c_spec <- Some (new_spec m)
53
53
  | _ -> ());
54
- (match getprop_raw_pub ctxmap "result" with
54
+ (match R.getp ctxmap "result" with
55
55
  | Map _ as m ->
56
56
  let rt = new_result m in
57
57
  (* new_result hardcodes rt_err = None, so a corpus result carrying an err
58
58
  * arrives empty and result_basic has no previous message to prepend —
59
59
  * it produced "request: 400: BAD" where the contract says
60
60
  * "Foo: request: 400: BAD". The lua and elixir drivers build it too. *)
61
- (match getprop_raw_pub m "err" with
61
+ (match R.getp m "err" with
62
62
  | Map _ as em ->
63
- (match getprop_raw_pub em "message" with
63
+ (match R.getp em "message" with
64
64
  | Str msg when msg <> "" ->
65
65
  rt.rt_err <- Some { err_code = ""; err_msg = msg; err_result = Noval; err_spec = Noval }
66
66
  | _ -> ())
67
67
  | _ -> ());
68
68
  c.c_result <- Some rt
69
69
  | _ -> ());
70
- (match getprop_raw_pub ctxmap "response" with
70
+ (match R.getp ctxmap "response" with
71
71
  | Map _ as m ->
72
- let r = new_response m in
72
+ let rs = new_response m in
73
73
  (* result_body_util reads response.json and requires it to be CALLABLE;
74
74
  * the corpus supplies a plain `body`, so wrap it, as the lua and elixir
75
75
  * drivers do. Without this every ctx.result.body match reads empty. *)
76
- (match getprop_raw_pub m "body" with
76
+ (match R.getp m "body" with
77
77
  | Noval -> ()
78
- | b -> r.rs_json <- Func (fun _ _ _ _ -> b));
78
+ | b -> rs.rs_json <- Func (fun _ _ _ _ -> b));
79
79
  (* Header names arrive from the wire in any case and the contract is
80
80
  * lowercase; the lua and elixir drivers normalise here rather than in
81
81
  * result_headers_util, which copies them verbatim. *)
82
- (match getprop_raw_pub m "headers" with
82
+ (match R.getp m "headers" with
83
83
  | Map hm ->
84
84
  let low = empty_map () in
85
85
  List.iter (fun (k, v) -> ignore (setprop low (Str (String.lowercase_ascii k)) v))
86
86
  hm.entries;
87
- r.rs_headers <- low
87
+ rs.rs_headers <- low
88
88
  | _ -> ());
89
- c.c_response <- Some r
89
+ c.c_response <- Some rs
90
90
  | _ -> ());
91
- (match getprop_raw_pub ctxmap "point" with
91
+ (match R.getp ctxmap "point" with
92
92
  | Map _ as m -> c.c_point <- m
93
93
  | _ -> ());
94
- (match getprop_raw_pub ctxmap "reqdata" with Noval -> () | v -> c.c_reqdata <- v);
95
- (match getprop_raw_pub ctxmap "reqmatch" with Noval -> () | v -> c.c_reqmatch <- v);
96
- (match getprop_raw_pub ctxmap "data" with Noval -> () | v -> c.c_data <- v);
97
- (match getprop_raw_pub ctxmap "match" with Noval -> () | v -> c.c_match <- v);
94
+ (match R.getp ctxmap "reqdata" with Noval -> () | v -> c.c_reqdata <- v);
95
+ (match R.getp ctxmap "reqmatch" with Noval -> () | v -> c.c_reqmatch <- v);
96
+ (match R.getp ctxmap "data" with Noval -> () | v -> c.c_data <- v);
97
+ (match R.getp ctxmap "match" with Noval -> () | v -> c.c_match <- v);
98
98
  c
99
99
 
100
100
  (* The corpus speaks camelCase; this port stores rs_status_text / rt_ok. A
@@ -104,20 +104,21 @@ let result_value (r : result option) : value =
104
104
  | None -> Noval
105
105
  | Some rt -> result_to_value rt
106
106
 
107
- let ctx_arg args = match args with x :: _ -> x | [] -> Noval
107
+ let arg (args : value array) (index : int) : value =
108
+ if index < Array.length args then args.(index) else Noval
108
109
 
109
- (* The harness reports a non-Struct_error exception via Printexc, which renders
110
- * a branded SDK error as "Sdk_types.Sdk_error_exc(_)" and loses the message the
111
- * corpus matches on. Convert here rather than teaching the shared harness about
112
- * SDK types corpus_runner is struct's, not this SDK's. *)
110
+ (* omni reports a subject failure by its exception MESSAGE, and understands
111
+ * `Failure` (and its own `Omni_error`) directly; anything else renders
112
+ * through Printexc, which turns a branded SDK error into
113
+ * "Sdk_types.Sdk_error_exc(_)" and loses the message the corpus matches on.
114
+ * Convert here rather than teaching the shared resolver about SDK types. *)
113
115
  let run_guarded f c =
114
- try f c with
115
- | Sdk_error_exc e -> raise (Struct_error e.err_msg)
116
+ try f c with Sdk_error_exc e -> raise (Failure e.err_msg)
116
117
 
117
118
  (* Publish the MUTATED ctx back onto the corpus map the match reads.
118
- * check_result matches against entry.ctx, which is the raw corpus map; the
119
- * utilities mutate the live records beside it, so without this every
120
- * `match: ctx.spec.*` / `ctx.result.*` assertion reads empty. Neutral names,
119
+ * The resolver retargets `match: {ctx: ...}` onto `match: {args: {"0": ...}}`
120
+ * and writes the argument array back after the call, so this map IS what the
121
+ * assertions read but only for the state written here. Neutral names,
121
122
  * because the corpus is camelCase and this port stores rs_status_text/rt_ok. *)
122
123
  let publish (ctxmap : value) (c : ctx) =
123
124
  (match c.c_spec with
@@ -127,112 +128,95 @@ let publish (ctxmap : value) (c : ctx) =
127
128
  | Some _ -> ignore (setprop ctxmap (Str "result") (result_value c.c_result))
128
129
  | None -> ());
129
130
  (match c.c_response with
130
- | Some _ -> ignore (setprop ctxmap (Str "response") (Str "__EXISTS__"))
131
+ | Some _ -> ignore (setprop ctxmap (Str "response") (Str R.existsmark))
131
132
  | None -> ());
132
133
  ()
133
134
 
134
135
  let () =
135
136
  let testfile = if Array.length Sys.argv > 1 then Sys.argv.(1) else "../.sdk/test/test.json" in
136
- let ic = open_in_bin testfile in
137
- let len = in_channel_length ic in
138
- let raw = really_input_string ic len in
139
- close_in ic;
140
- let alltests = json_read raw in
141
- let primary = getprop_raw_pub alltests "primary" in
137
+ let r = R.make_run testfile "primary" in
142
138
 
143
139
  let cl = client () in
144
140
  let u = cl.cl_utility in
145
141
 
146
142
  (* Sections configured by their own DEF.setup block get their own client. *)
147
- let ctx_section_with cl2 primary name f =
148
- run_set name (getspec primary [name; "basic"])
143
+ let primary_ctx_with cl2 name f =
144
+ R.runset_args r name (R.getset r [name; "basic"])
149
145
  (fun args ->
150
- let ctxmap = ctx_arg args in
146
+ let ctxmap = arg args 0 in
151
147
  let c = ctx_from cl2 ctxmap in
152
148
  let out = run_guarded f c in
153
149
  publish ctxmap c;
154
150
  out)
155
151
  in
156
152
 
157
- let ctx_section primary name f =
158
- run_set name (getspec primary [name; "basic"])
159
- (fun args ->
160
- let ctxmap = ctx_arg args in
161
- let c = ctx_from cl ctxmap in
162
- let out = run_guarded f c in
163
- publish ctxmap c;
164
- out)
165
- in
153
+ let primary_ctx name f = primary_ctx_with cl name f in
166
154
 
167
- ctx_section primary "done" (fun c -> u.u_done c);
168
- ctx_section primary "makeUrl" (fun c -> match make_url_util c with (s, _) -> Str s);
169
- ctx_section primary "makeRequest"
155
+ primary_ctx "done" (fun c -> u.u_done c);
156
+ primary_ctx "makeUrl" (fun c -> match make_url_util c with (s, _) -> Str s);
157
+ primary_ctx "makeRequest"
170
158
  (fun c -> ignore (make_request_util c); result_value c.c_result);
171
- ctx_section primary "makeResponse"
159
+ primary_ctx "makeResponse"
172
160
  (fun c -> ignore (make_response_util c); result_value c.c_result);
173
- ctx_section_with (client_for primary "makeSpec") primary "makeSpec"
161
+ primary_ctx_with (client_for r "makeSpec") "makeSpec"
174
162
  (fun c -> match make_spec_util c with
175
163
  | (Some s, _) -> spec_to_value s | _ -> Noval);
176
- ctx_section_with (client_for primary "prepareAuth") primary "prepareAuth"
164
+ primary_ctx_with (client_for r "prepareAuth") "prepareAuth"
177
165
  (fun c -> ignore (prepare_auth_util c);
178
166
  match c.c_spec with Some s -> spec_to_value s | None -> Noval);
179
- ctx_section primary "prepareBody" (fun c -> prepare_body_util c);
180
- ctx_section primary "prepareHeaders" (fun c -> prepare_headers_util c);
181
- ctx_section primary "prepareMethod"
167
+ primary_ctx "prepareBody" (fun c -> prepare_body_util c);
168
+ primary_ctx "prepareHeaders" (fun c -> prepare_headers_util c);
169
+ primary_ctx "prepareMethod"
182
170
  (fun c -> match prepare_method_util c with "" -> Noval | m -> Str m);
183
- ctx_section primary "prepareParams" (fun c -> prepare_params_util c);
184
- ctx_section primary "preparePath" (fun c -> Str (prepare_path_util c));
185
- ctx_section primary "prepareQuery" (fun c -> prepare_query_util c);
186
- ctx_section primary "resultBasic" (fun c -> result_basic_util c; result_value c.c_result);
187
- ctx_section primary "resultBody" (fun c -> result_body_util c; result_value c.c_result);
188
- ctx_section primary "resultHeaders" (fun c -> result_headers_util c; result_value c.c_result);
189
- ctx_section primary "transformRequest" (fun c -> transform_request_util c);
190
- ctx_section primary "transformResponse" (fun c -> transform_response_util c);
171
+ primary_ctx "prepareParams" (fun c -> prepare_params_util c);
172
+ primary_ctx "preparePath" (fun c -> Str (prepare_path_util c));
173
+ primary_ctx "prepareQuery" (fun c -> prepare_query_util c);
174
+ primary_ctx "resultBasic" (fun c -> result_basic_util c; result_value c.c_result);
175
+ primary_ctx "resultBody" (fun c -> result_body_util c; result_value c.c_result);
176
+ primary_ctx "resultHeaders" (fun c -> result_headers_util c; result_value c.c_result);
177
+ primary_ctx "transformRequest" (fun c -> transform_request_util c);
178
+ primary_ctx "transformResponse" (fun c -> transform_response_util c);
191
179
 
192
180
  (* Sections that take a bare map or explicit args rather than a ctx. *)
193
- let arg_section primary name f =
194
- run_set name (getspec primary [name; "basic"]) (fun args -> run_guarded f args)
181
+ let primary_args name f =
182
+ R.runset_args r name (R.getset r [name; "basic"]) (fun args -> run_guarded f args)
195
183
  in
196
184
 
197
- arg_section primary "makeContext" (fun args ->
198
- let inv = ctx_arg args in
185
+ primary_args "makeContext" (fun args ->
186
+ let inv = arg args 0 in
199
187
  let c = ctx_from cl inv in
200
188
  jo [("op", jo [("entity", Str c.c_op.op_entity); ("name", Str c.c_op.op_name);
201
189
  ("input", Str c.c_op.op_input); ("points", c.c_op.op_points)])]);
202
190
 
203
- arg_section primary "makeOptions" (fun args ->
204
- let inv = ctx_arg args in
191
+ primary_args "makeOptions" (fun args ->
192
+ let inv = arg args 0 in
205
193
  let c = ctx_from cl (jo []) in
206
- c.c_config <- getprop_raw_pub inv "config";
207
- c.c_options <- getprop_raw_pub inv "options";
194
+ c.c_config <- R.getp inv "config";
195
+ c.c_options <- R.getp inv "options";
208
196
  make_options_util c);
209
197
 
210
- arg_section primary "makeError" (fun args ->
211
- let a0 = ctx_arg args in
212
- let a1 = (match args with _ :: y :: _ -> y | _ -> Noval) in
198
+ primary_args "makeError" (fun args ->
199
+ let a0 = arg args 0 in
200
+ let a1 = arg args 1 in
213
201
  let c = ctx_from cl a0 in
214
- let msg = (match getprop_raw_pub a1 "message" with Str m -> m | _ -> "") in
202
+ let msg = (match R.getp a1 "message" with Str m -> m | _ -> "") in
215
203
  let e = { err_code = ""; err_msg = msg; err_result = Noval; err_spec = Noval } in
216
204
  let out = make_error_util c (if msg = "" then None else Some e) in
217
205
  publish a0 c;
218
206
  out);
219
207
 
220
- arg_section primary "operator" (fun args ->
221
- let inv = ctx_arg args in
208
+ primary_args "operator" (fun args ->
209
+ let inv = arg args 0 in
222
210
  let op = new_operation inv in
223
211
  jo [("entity", Str op.op_entity); ("input", Str op.op_input);
224
212
  ("name", Str op.op_name); ("points", op.op_points)]);
225
213
 
226
- arg_section primary "param" (fun args ->
227
- let a0 = ctx_arg args in
228
- let a1 = (match args with _ :: y :: _ -> y | _ -> Noval) in
214
+ primary_args "param" (fun args ->
215
+ let a0 = arg args 0 in
216
+ let a1 = arg args 1 in
229
217
  let c = ctx_from cl a0 in
230
218
  let out = param_util c a1 in
231
219
  publish a0 c;
232
220
  out);
233
221
 
234
- List.iter print_endline (List.rev !failures);
235
- Printf.printf "\nPRIMARY CORPUS: PASS %d FAIL %d\n" !npass !nfail;
236
- (* A run that executes nothing is not a pass. *)
237
- if !npass = 0 then (print_endline "the primary corpus executed no cases"; exit 1);
238
- if !nfail > 0 then exit 1
222
+ R.report r "PRIMARY CORPUS: "