@voxgig/sdkgen 4.10.0 → 4.11.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 (304) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/package.json +1 -1
  3. package/project/.sdk/model/feature/secrets.aon +330 -0
  4. package/project/.sdk/model/target/c.aon +15 -2
  5. package/project/.sdk/model/target/cpp.aon +18 -0
  6. package/project/.sdk/model/target/lua.aon +17 -0
  7. package/project/.sdk/model/target/ocaml.aon +48 -5
  8. package/project/.sdk/model/target/zig.aon +30 -4
  9. package/project/.sdk/src/cmp/c/Config_c.ts +338 -1
  10. package/project/.sdk/src/cmp/c/Main_c.ts +57 -2
  11. package/project/.sdk/src/cmp/c/Package_c.ts +12 -2
  12. package/project/.sdk/src/cmp/cpp/Config_cpp.ts +324 -2
  13. package/project/.sdk/src/cmp/cpp/Gitignore_cpp.ts +2 -0
  14. package/project/.sdk/src/cmp/cpp/Main_cpp.ts +62 -4
  15. package/project/.sdk/src/cmp/cpp/Package_cpp.ts +10 -0
  16. package/project/.sdk/src/cmp/lua/Config_lua.ts +88 -0
  17. package/project/.sdk/src/cmp/lua/Gitignore_lua.ts +4 -0
  18. package/project/.sdk/src/cmp/lua/Main_lua.ts +93 -3
  19. package/project/.sdk/src/cmp/lua/Package_lua.ts +60 -0
  20. package/project/.sdk/src/cmp/lua/fragment/Main.fragment.lua +10 -0
  21. package/project/.sdk/src/cmp/ocaml/Config_ocaml.ts +183 -5
  22. package/project/.sdk/src/cmp/ocaml/Main_ocaml.ts +160 -3
  23. package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +25 -1
  24. package/project/.sdk/src/cmp/zig/Config_zig.ts +130 -9
  25. package/project/.sdk/src/cmp/zig/Main_zig.ts +208 -4
  26. package/project/.sdk/{tm/zig/build.zig → src/cmp/zig/fragment/Build.fragment.zig} +7 -0
  27. package/project/.sdk/src/cmp/zig/fragment/Main.fragment.zig +25 -0
  28. package/project/.sdk/{tm/zig/root.zig → src/cmp/zig/fragment/Root.fragment.zig} +9 -0
  29. package/project/.sdk/tm/c/Makefile +58 -9
  30. package/project/.sdk/tm/c/core/sdk.h +10 -0
  31. package/project/.sdk/tm/c/feature/secrets/plugin/capability.c +133 -0
  32. package/project/.sdk/tm/c/feature/secrets/plugin/capability.h +39 -0
  33. package/project/.sdk/tm/c/feature/secrets/plugin/catalog.c +83 -0
  34. package/project/.sdk/tm/c/feature/secrets/plugin/catalog.h +48 -0
  35. package/project/.sdk/tm/c/feature/secrets/plugin/config.c +413 -0
  36. package/project/.sdk/tm/c/feature/secrets/plugin/config.h +24 -0
  37. package/project/.sdk/tm/c/feature/secrets/plugin/depend.c +264 -0
  38. package/project/.sdk/tm/c/feature/secrets/plugin/depend.h +29 -0
  39. package/project/.sdk/tm/c/feature/secrets/plugin/env.c +220 -0
  40. package/project/.sdk/tm/c/feature/secrets/plugin/env.h +19 -0
  41. package/project/.sdk/tm/c/feature/secrets/plugin/export.c +97 -0
  42. package/project/.sdk/tm/c/feature/secrets/plugin/export.h +19 -0
  43. package/project/.sdk/tm/c/feature/secrets/plugin/graph.c +237 -0
  44. package/project/.sdk/tm/c/feature/secrets/plugin/graph.h +17 -0
  45. package/project/.sdk/tm/c/feature/secrets/plugin/host.c +1494 -0
  46. package/project/.sdk/tm/c/feature/secrets/plugin/host.h +135 -0
  47. package/project/.sdk/tm/c/feature/secrets/plugin/order.c +288 -0
  48. package/project/.sdk/tm/c/feature/secrets/plugin/order.h +18 -0
  49. package/project/.sdk/tm/c/feature/secrets/plugin/point.c +141 -0
  50. package/project/.sdk/tm/c/feature/secrets/plugin/point.h +80 -0
  51. package/project/.sdk/tm/c/feature/secrets/plugin/ref.c +170 -0
  52. package/project/.sdk/tm/c/feature/secrets/plugin/ref.h +52 -0
  53. package/project/.sdk/tm/c/feature/secrets/plugin/resolve.c +98 -0
  54. package/project/.sdk/tm/c/feature/secrets/plugin/resolve.h +18 -0
  55. package/project/.sdk/tm/c/feature/secrets/plugin/types.c +150 -0
  56. package/project/.sdk/tm/c/feature/secrets/plugin/types.h +104 -0
  57. package/project/.sdk/tm/c/feature/secrets/plugin/value.c +649 -0
  58. package/project/.sdk/tm/c/feature/secrets/plugin/value.h +135 -0
  59. package/project/.sdk/tm/c/feature/secrets/plugin/version.c +151 -0
  60. package/project/.sdk/tm/c/feature/secrets/plugin/version.h +34 -0
  61. package/project/.sdk/tm/c/feature/secrets/plugins/aws.c +281 -0
  62. package/project/.sdk/tm/c/feature/secrets/plugins/azuresecrets.c +207 -0
  63. package/project/.sdk/tm/c/feature/secrets/plugins/boru.c +164 -0
  64. package/project/.sdk/tm/c/feature/secrets/plugins/clock.c +75 -0
  65. package/project/.sdk/tm/c/feature/secrets/plugins/doppler.c +141 -0
  66. package/project/.sdk/tm/c/feature/secrets/plugins/encode.c +144 -0
  67. package/project/.sdk/tm/c/feature/secrets/plugins/gcpsecrets.c +177 -0
  68. package/project/.sdk/tm/c/feature/secrets/plugins/hashicorp.c +239 -0
  69. package/project/.sdk/tm/c/feature/secrets/plugins/httpjson.c +599 -0
  70. package/project/.sdk/tm/c/feature/secrets/plugins/infisical.c +165 -0
  71. package/project/.sdk/tm/c/feature/secrets/plugins/onepassword.c +194 -0
  72. package/project/.sdk/tm/c/feature/secrets/plugins/proc.c +233 -0
  73. package/project/.sdk/tm/c/feature/secrets/plugins/secretspec.c +125 -0
  74. package/project/.sdk/tm/c/feature/secrets/plugins/sekretoplugins.h +125 -0
  75. package/project/.sdk/tm/c/feature/secrets/plugins/sha256.c +270 -0
  76. package/project/.sdk/tm/c/feature/secrets/plugins/sigv4.c +382 -0
  77. package/project/.sdk/tm/c/feature/secrets/plugins/support.h +153 -0
  78. package/project/.sdk/tm/c/feature/secrets/plugins/tls.c +420 -0
  79. package/project/.sdk/tm/c/feature/secrets/sekreto/internal.h +86 -0
  80. package/project/.sdk/tm/c/feature/secrets/sekreto/json.c +721 -0
  81. package/project/.sdk/tm/c/feature/secrets/sekreto/providers.c +813 -0
  82. package/project/.sdk/tm/c/feature/secrets/sekreto/sekreto.c +944 -0
  83. package/project/.sdk/tm/c/feature/secrets/sekreto/sekreto.h +490 -0
  84. package/project/.sdk/tm/c/feature/secrets/sekreto/util.c +442 -0
  85. package/project/.sdk/tm/c/feature/secrets.c +797 -0
  86. package/project/.sdk/tm/c/feature/secrets.h +46 -0
  87. package/project/.sdk/tm/c/src/feature/secrets/.gitkeep +0 -0
  88. package/project/.sdk/tm/c/tests/feature/secrets/secrets_test.c +802 -0
  89. package/project/.sdk/tm/clojure/feature/secrets/sdk/feature/secrets.clj +38 -11
  90. package/project/.sdk/tm/clojure/test/sdk/test/feature/secrets.clj +40 -6
  91. package/project/.sdk/tm/cpp/Makefile +48 -4
  92. package/project/.sdk/tm/cpp/feature/secrets/plugin/capability.cpp +121 -0
  93. package/project/.sdk/tm/cpp/feature/secrets/plugin/capability.hpp +41 -0
  94. package/project/.sdk/tm/cpp/feature/secrets/plugin/catalog.cpp +60 -0
  95. package/project/.sdk/tm/cpp/feature/secrets/plugin/catalog.hpp +66 -0
  96. package/project/.sdk/tm/cpp/feature/secrets/plugin/config.cpp +376 -0
  97. package/project/.sdk/tm/cpp/feature/secrets/plugin/config.hpp +29 -0
  98. package/project/.sdk/tm/cpp/feature/secrets/plugin/depend.cpp +230 -0
  99. package/project/.sdk/tm/cpp/feature/secrets/plugin/depend.hpp +31 -0
  100. package/project/.sdk/tm/cpp/feature/secrets/plugin/env.cpp +205 -0
  101. package/project/.sdk/tm/cpp/feature/secrets/plugin/env.hpp +25 -0
  102. package/project/.sdk/tm/cpp/feature/secrets/plugin/export.cpp +84 -0
  103. package/project/.sdk/tm/cpp/feature/secrets/plugin/export.hpp +24 -0
  104. package/project/.sdk/tm/cpp/feature/secrets/plugin/graph.cpp +222 -0
  105. package/project/.sdk/tm/cpp/feature/secrets/plugin/graph.hpp +21 -0
  106. package/project/.sdk/tm/cpp/feature/secrets/plugin/host.cpp +1200 -0
  107. package/project/.sdk/tm/cpp/feature/secrets/plugin/host.hpp +250 -0
  108. package/project/.sdk/tm/cpp/feature/secrets/plugin/order.cpp +250 -0
  109. package/project/.sdk/tm/cpp/feature/secrets/plugin/order.hpp +22 -0
  110. package/project/.sdk/tm/cpp/feature/secrets/plugin/point.cpp +110 -0
  111. package/project/.sdk/tm/cpp/feature/secrets/plugin/point.hpp +79 -0
  112. package/project/.sdk/tm/cpp/feature/secrets/plugin/ref.cpp +136 -0
  113. package/project/.sdk/tm/cpp/feature/secrets/plugin/ref.hpp +60 -0
  114. package/project/.sdk/tm/cpp/feature/secrets/plugin/resolve.cpp +82 -0
  115. package/project/.sdk/tm/cpp/feature/secrets/plugin/resolve.hpp +25 -0
  116. package/project/.sdk/tm/cpp/feature/secrets/plugin/types.cpp +90 -0
  117. package/project/.sdk/tm/cpp/feature/secrets/plugin/types.hpp +65 -0
  118. package/project/.sdk/tm/cpp/feature/secrets/plugin/value.cpp +491 -0
  119. package/project/.sdk/tm/cpp/feature/secrets/plugin/value.hpp +120 -0
  120. package/project/.sdk/tm/cpp/feature/secrets/plugin/version.cpp +143 -0
  121. package/project/.sdk/tm/cpp/feature/secrets/plugin/version.hpp +36 -0
  122. package/project/.sdk/tm/cpp/feature/secrets/plugins/Aws.cpp +248 -0
  123. package/project/.sdk/tm/cpp/feature/secrets/plugins/Aws.hpp +30 -0
  124. package/project/.sdk/tm/cpp/feature/secrets/plugins/Azuresecrets.cpp +149 -0
  125. package/project/.sdk/tm/cpp/feature/secrets/plugins/Azuresecrets.hpp +23 -0
  126. package/project/.sdk/tm/cpp/feature/secrets/plugins/Boru.cpp +117 -0
  127. package/project/.sdk/tm/cpp/feature/secrets/plugins/Boru.hpp +27 -0
  128. package/project/.sdk/tm/cpp/feature/secrets/plugins/Crypto.cpp +180 -0
  129. package/project/.sdk/tm/cpp/feature/secrets/plugins/Crypto.hpp +52 -0
  130. package/project/.sdk/tm/cpp/feature/secrets/plugins/Doppler.cpp +87 -0
  131. package/project/.sdk/tm/cpp/feature/secrets/plugins/Doppler.hpp +23 -0
  132. package/project/.sdk/tm/cpp/feature/secrets/plugins/Gcpsecrets.cpp +121 -0
  133. package/project/.sdk/tm/cpp/feature/secrets/plugins/Gcpsecrets.hpp +23 -0
  134. package/project/.sdk/tm/cpp/feature/secrets/plugins/Hashicorp.cpp +153 -0
  135. package/project/.sdk/tm/cpp/feature/secrets/plugins/Hashicorp.hpp +23 -0
  136. package/project/.sdk/tm/cpp/feature/secrets/plugins/Httpjson.cpp +666 -0
  137. package/project/.sdk/tm/cpp/feature/secrets/plugins/Httpjson.hpp +160 -0
  138. package/project/.sdk/tm/cpp/feature/secrets/plugins/Infisical.cpp +123 -0
  139. package/project/.sdk/tm/cpp/feature/secrets/plugins/Infisical.hpp +23 -0
  140. package/project/.sdk/tm/cpp/feature/secrets/plugins/Onepassword.cpp +125 -0
  141. package/project/.sdk/tm/cpp/feature/secrets/plugins/Onepassword.hpp +23 -0
  142. package/project/.sdk/tm/cpp/feature/secrets/plugins/Proc.cpp +223 -0
  143. package/project/.sdk/tm/cpp/feature/secrets/plugins/Proc.hpp +47 -0
  144. package/project/.sdk/tm/cpp/feature/secrets/plugins/Secretspec.cpp +104 -0
  145. package/project/.sdk/tm/cpp/feature/secrets/plugins/Secretspec.hpp +27 -0
  146. package/project/.sdk/tm/cpp/feature/secrets/plugins/Sigv4.cpp +242 -0
  147. package/project/.sdk/tm/cpp/feature/secrets/plugins/Sigv4.hpp +58 -0
  148. package/project/.sdk/tm/cpp/feature/secrets/plugins/Tls.cpp +260 -0
  149. package/project/.sdk/tm/cpp/feature/secrets/plugins/Tls.hpp +47 -0
  150. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Json.cpp +476 -0
  151. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Json.hpp +89 -0
  152. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Provider.cpp +312 -0
  153. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Provider.hpp +263 -0
  154. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Providers.cpp +354 -0
  155. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Providers.hpp +111 -0
  156. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Sekreto.cpp +613 -0
  157. package/project/.sdk/tm/cpp/feature/secrets/sekreto/Sekreto.hpp +227 -0
  158. package/project/.sdk/tm/cpp/feature/secrets.hpp +745 -0
  159. package/project/.sdk/tm/cpp/src/feature/secrets/.gitkeep +0 -0
  160. package/project/.sdk/tm/cpp/test/feature/secrets/secrets_test.cpp +808 -0
  161. package/project/.sdk/tm/csharp/feature/SecretsFeature.cs +34 -8
  162. package/project/.sdk/tm/csharp/test/feature/secrets/SecretsFeatureTest.cs +85 -0
  163. package/project/.sdk/tm/elixir/lib/projectname/feature/secrets.ex +17 -2
  164. package/project/.sdk/tm/elixir/test/feature/secrets/secrets_test.exs +41 -0
  165. package/project/.sdk/tm/go/feature/secrets_feature.go +32 -10
  166. package/project/.sdk/tm/go/test/feature/secrets/secrets_feature_test.go +116 -0
  167. package/project/.sdk/tm/java/feature/SecretsFeature.java +33 -8
  168. package/project/.sdk/tm/java/test/feature/secrets/SecretsFeatureTest.java +64 -0
  169. package/project/.sdk/tm/js/src/feature/secrets/SecretsFeature.js +34 -11
  170. package/project/.sdk/tm/js/test/feature/secrets/Secrets.test.js +73 -0
  171. package/project/.sdk/tm/kotlin/feature/SecretsFeature.kt +32 -7
  172. package/project/.sdk/tm/kotlin/test/feature/secrets/SecretsTest.kt +69 -0
  173. package/project/.sdk/tm/lua/Makefile +15 -4
  174. package/project/.sdk/tm/lua/feature/secrets/native/sekretonet.c +806 -0
  175. package/project/.sdk/tm/lua/feature/secrets/plugin/capability.lua +135 -0
  176. package/project/.sdk/tm/lua/feature/secrets/plugin/catalog.lua +63 -0
  177. package/project/.sdk/tm/lua/feature/secrets/plugin/config.lua +361 -0
  178. package/project/.sdk/tm/lua/feature/secrets/plugin/depend.lua +232 -0
  179. package/project/.sdk/tm/lua/feature/secrets/plugin/env.lua +168 -0
  180. package/project/.sdk/tm/lua/feature/secrets/plugin/export.lua +66 -0
  181. package/project/.sdk/tm/lua/feature/secrets/plugin/graph.lua +194 -0
  182. package/project/.sdk/tm/lua/feature/secrets/plugin/host.lua +1190 -0
  183. package/project/.sdk/tm/lua/feature/secrets/plugin/json.lua +169 -0
  184. package/project/.sdk/tm/lua/feature/secrets/plugin/order.lua +207 -0
  185. package/project/.sdk/tm/lua/feature/secrets/plugin/point.lua +106 -0
  186. package/project/.sdk/tm/lua/feature/secrets/plugin/ref.lua +115 -0
  187. package/project/.sdk/tm/lua/feature/secrets/plugin/resolve.lua +78 -0
  188. package/project/.sdk/tm/lua/feature/secrets/plugin/types.lua +275 -0
  189. package/project/.sdk/tm/lua/feature/secrets/plugin/version.lua +131 -0
  190. package/project/.sdk/tm/lua/feature/secrets/plugin.lua +76 -0
  191. package/project/.sdk/tm/lua/feature/secrets/sekreto/addr.lua +124 -0
  192. package/project/.sdk/tm/lua/feature/secrets/sekreto/err.lua +47 -0
  193. package/project/.sdk/tm/lua/feature/secrets/sekreto/name.lua +315 -0
  194. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/aws.lua +228 -0
  195. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/azuresecrets.lua +137 -0
  196. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/boru.lua +124 -0
  197. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/crypto.lua +212 -0
  198. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/doppler.lua +89 -0
  199. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/gcpsecrets.lua +129 -0
  200. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/hashicorp.lua +154 -0
  201. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/httpjson.lua +248 -0
  202. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/infisical.lua +113 -0
  203. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/json.lua +449 -0
  204. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/net.lua +198 -0
  205. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/onepassword.lua +126 -0
  206. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/secretspec.lua +93 -0
  207. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/sigv4.lua +269 -0
  208. package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/support.lua +146 -0
  209. package/project/.sdk/tm/lua/feature/secrets/sekreto/providers.lua +346 -0
  210. package/project/.sdk/tm/lua/feature/secrets/sekreto.lua +479 -0
  211. package/project/.sdk/tm/lua/feature/secrets_feature.lua +690 -0
  212. package/project/.sdk/tm/lua/src/feature/secrets/.gitkeep +0 -0
  213. package/project/.sdk/tm/lua/test/extend_test.lua +105 -0
  214. package/project/.sdk/tm/lua/test/feature/secrets/secrets_feature_test.lua +862 -0
  215. package/project/.sdk/tm/ocaml/Makefile +52 -8
  216. package/project/.sdk/tm/ocaml/feature/secrets/plugin/capability.ml +106 -0
  217. package/project/.sdk/tm/ocaml/feature/secrets/plugin/catalog.ml +43 -0
  218. package/project/.sdk/tm/ocaml/feature/secrets/plugin/config.ml +349 -0
  219. package/project/.sdk/tm/ocaml/feature/secrets/plugin/defs.ml +143 -0
  220. package/project/.sdk/tm/ocaml/feature/secrets/plugin/depend.ml +217 -0
  221. package/project/.sdk/tm/ocaml/feature/secrets/plugin/env.ml +197 -0
  222. package/project/.sdk/tm/ocaml/feature/secrets/plugin/export.ml +89 -0
  223. package/project/.sdk/tm/ocaml/feature/secrets/plugin/graph.ml +227 -0
  224. package/project/.sdk/tm/ocaml/feature/secrets/plugin/host.ml +1112 -0
  225. package/project/.sdk/tm/ocaml/feature/secrets/plugin/order.ml +202 -0
  226. package/project/.sdk/tm/ocaml/feature/secrets/plugin/point.ml +138 -0
  227. package/project/.sdk/tm/ocaml/feature/secrets/plugin/ref.ml +126 -0
  228. package/project/.sdk/tm/ocaml/feature/secrets/plugin/resolve.ml +62 -0
  229. package/project/.sdk/tm/ocaml/feature/secrets/plugin/types.ml +97 -0
  230. package/project/.sdk/tm/ocaml/feature/secrets/plugin/value.ml +387 -0
  231. package/project/.sdk/tm/ocaml/feature/secrets/plugin/version.ml +139 -0
  232. package/project/.sdk/tm/ocaml/feature/secrets/plugins/aws.ml +171 -0
  233. package/project/.sdk/tm/ocaml/feature/secrets/plugins/azuresecrets.ml +116 -0
  234. package/project/.sdk/tm/ocaml/feature/secrets/plugins/boru.ml +95 -0
  235. package/project/.sdk/tm/ocaml/feature/secrets/plugins/crypto.ml +149 -0
  236. package/project/.sdk/tm/ocaml/feature/secrets/plugins/doppler.ml +61 -0
  237. package/project/.sdk/tm/ocaml/feature/secrets/plugins/gcpsecrets.ml +93 -0
  238. package/project/.sdk/tm/ocaml/feature/secrets/plugins/hashicorp.ml +120 -0
  239. package/project/.sdk/tm/ocaml/feature/secrets/plugins/http.ml +421 -0
  240. package/project/.sdk/tm/ocaml/feature/secrets/plugins/httpjson.ml +66 -0
  241. package/project/.sdk/tm/ocaml/feature/secrets/plugins/infisical.ml +85 -0
  242. package/project/.sdk/tm/ocaml/feature/secrets/plugins/onepassword.ml +112 -0
  243. package/project/.sdk/tm/ocaml/feature/secrets/plugins/runcmd.ml +97 -0
  244. package/project/.sdk/tm/ocaml/feature/secrets/plugins/secretspec.ml +68 -0
  245. package/project/.sdk/tm/ocaml/feature/secrets/plugins/sigv4.ml +259 -0
  246. package/project/.sdk/tm/ocaml/feature/secrets/plugins/tls.ml +44 -0
  247. package/project/.sdk/tm/ocaml/feature/secrets/plugins/tls_stubs.c +358 -0
  248. package/project/.sdk/tm/ocaml/feature/secrets/sekreto/json.ml +376 -0
  249. package/project/.sdk/tm/ocaml/feature/secrets/sekreto/provider.ml +647 -0
  250. package/project/.sdk/tm/ocaml/feature/secrets/sekreto/secret.ml +299 -0
  251. package/project/.sdk/tm/ocaml/feature/secrets/sekreto/sekreto.ml +347 -0
  252. package/project/.sdk/tm/ocaml/feature/secrets_feature.ml +453 -0
  253. package/project/.sdk/tm/ocaml/src/feature/secrets/.gitkeep +0 -0
  254. package/project/.sdk/tm/ocaml/test/feature/secrets/t_secrets.ml +670 -0
  255. package/project/.sdk/tm/perl/feature/secrets_feature.pm +33 -12
  256. package/project/.sdk/tm/perl/t/feature/secrets/secrets.t +47 -0
  257. package/project/.sdk/tm/php/feature/SecretsFeature.php +30 -6
  258. package/project/.sdk/tm/php/test/feature/secrets/SecretsTest.php +98 -0
  259. package/project/.sdk/tm/py/pkg/feature/secrets_feature.py +28 -6
  260. package/project/.sdk/tm/py/test/feature/secrets/test_secrets.py +114 -0
  261. package/project/.sdk/tm/rb/feature/secrets_feature.rb +28 -6
  262. package/project/.sdk/tm/rb/test/feature/secrets/secrets_feature_test.rb +93 -0
  263. package/project/.sdk/tm/rust/feature/secrets.rs +33 -10
  264. package/project/.sdk/tm/rust/tests/feature/secrets/main.rs +96 -0
  265. package/project/.sdk/tm/scala/feature/SecretsFeature.scala +29 -7
  266. package/project/.sdk/tm/scala/sdktest/feature/secrets/SecretsTestMain.scala +71 -0
  267. package/project/.sdk/tm/ts/src/feature/secrets/SecretsFeature.ts +35 -12
  268. package/project/.sdk/tm/ts/test/feature/secrets/Secrets.test.ts +73 -0
  269. package/project/.sdk/tm/zig/feature/secrets/plugin/capability.zig +137 -0
  270. package/project/.sdk/tm/zig/feature/secrets/plugin/catalog.zig +90 -0
  271. package/project/.sdk/tm/zig/feature/secrets/plugin/config.zig +346 -0
  272. package/project/.sdk/tm/zig/feature/secrets/plugin/depend.zig +244 -0
  273. package/project/.sdk/tm/zig/feature/secrets/plugin/env.zig +201 -0
  274. package/project/.sdk/tm/zig/feature/secrets/plugin/export.zig +83 -0
  275. package/project/.sdk/tm/zig/feature/secrets/plugin/graph.zig +212 -0
  276. package/project/.sdk/tm/zig/feature/secrets/plugin/host.zig +1224 -0
  277. package/project/.sdk/tm/zig/feature/secrets/plugin/inst.zig +126 -0
  278. package/project/.sdk/tm/zig/feature/secrets/plugin/order.zig +228 -0
  279. package/project/.sdk/tm/zig/feature/secrets/plugin/plugin.zig +34 -0
  280. package/project/.sdk/tm/zig/feature/secrets/plugin/point.zig +166 -0
  281. package/project/.sdk/tm/zig/feature/secrets/plugin/ref.zig +147 -0
  282. package/project/.sdk/tm/zig/feature/secrets/plugin/resolve.zig +74 -0
  283. package/project/.sdk/tm/zig/feature/secrets/plugin/types.zig +140 -0
  284. package/project/.sdk/tm/zig/feature/secrets/plugin/value.zig +662 -0
  285. package/project/.sdk/tm/zig/feature/secrets/plugin/version.zig +139 -0
  286. package/project/.sdk/tm/zig/feature/secrets/plugins/aws.zig +294 -0
  287. package/project/.sdk/tm/zig/feature/secrets/plugins/azuresecrets.zig +222 -0
  288. package/project/.sdk/tm/zig/feature/secrets/plugins/boru.zig +188 -0
  289. package/project/.sdk/tm/zig/feature/secrets/plugins/doppler.zig +135 -0
  290. package/project/.sdk/tm/zig/feature/secrets/plugins/gcpsecrets.zig +170 -0
  291. package/project/.sdk/tm/zig/feature/secrets/plugins/hashicorp.zig +242 -0
  292. package/project/.sdk/tm/zig/feature/secrets/plugins/httpjson.zig +535 -0
  293. package/project/.sdk/tm/zig/feature/secrets/plugins/infisical.zig +167 -0
  294. package/project/.sdk/tm/zig/feature/secrets/plugins/onepassword.zig +202 -0
  295. package/project/.sdk/tm/zig/feature/secrets/plugins/secretspec.zig +160 -0
  296. package/project/.sdk/tm/zig/feature/secrets/plugins/sigv4.zig +336 -0
  297. package/project/.sdk/tm/zig/feature/secrets/sekreto/addr.zig +148 -0
  298. package/project/.sdk/tm/zig/feature/secrets/sekreto/builtins.zig +259 -0
  299. package/project/.sdk/tm/zig/feature/secrets/sekreto/provider.zig +440 -0
  300. package/project/.sdk/tm/zig/feature/secrets/sekreto/sekreto.zig +944 -0
  301. package/project/.sdk/tm/zig/feature/secrets.zig +854 -0
  302. package/project/.sdk/tm/zig/src/feature/secrets/.gitkeep +0 -0
  303. package/project/.sdk/tm/zig/test/feature/secrets/secrets_test.zig +891 -0
  304. package/project/sdkgen-package.json +1 -1
package/bin/voxgig-sdkgen CHANGED
@@ -8,7 +8,7 @@ const { Shape, One, Skip } = require('shape')
8
8
 
9
9
  const { SdkGen } = require('../dist/sdkgen.js')
10
10
 
11
- const VERSION = '4.9.0'
11
+ const VERSION = '4.11.0'
12
12
  const KONSOLE = console
13
13
 
14
14
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voxgig/sdkgen",
3
- "version": "4.10.0",
3
+ "version": "4.11.0",
4
4
  "main": "dist/sdkgen.js",
5
5
  "type": "commonjs",
6
6
  "engines": {
@@ -99,6 +99,53 @@ main: kit: feature: secrets: {
99
99
  # every `private[plugins]` symbol crossing a file boundary is defined in
100
100
  # Httpjson.scala or Sigv4.scala, and nothing else is shared.
101
101
 
102
+ #
103
+ # c has the shared-helper shape too, and five files of it, every one
104
+ # verified by a symbol scan of the port at the tag rather than read off
105
+ # a comment: plugins/httpjson.c (the socket HTTP client eight kinds
106
+ # call), plugins/tls.c (its OpenSSL binding - the ONLY file that names
107
+ # OpenSSL), plugins/encode.c (`sek_uriescape` for four stores and
108
+ # base64 for two), plugins/clock.c (token renewal time, SigV4's
109
+ # timestamp) and plugins/proc.c (`sek_runcmd`, for boru in `vault` AND
110
+ # secretspec in `secretspec`). All five belong to NO group. The two
111
+ # plugin headers (sekretoplugins.h, support.h) are ungrouped for the
112
+ # same reason. What makes c different from java/scala is that the
113
+ # Makefile can see the trim: it compiles these helpers, and links
114
+ # OpenSSL, only when at least one KIND file survived, so an
115
+ # [env, memory] chain compiles the sekreto and voxgig/plugin cores
116
+ # alone and links libc alone. sha256.c and sigv4.c are NOT shared in c
117
+ # (aws.c is their only caller) and go with `aws`.
118
+ #
119
+ # ocaml has the java/scala Sigv4 shape AND the c Makefile-visible
120
+ # trim, verified by an `open`/qualifier scan of the port at the tag:
121
+ # plugins/sigv4.ml's `uriescape` is called by azuresecrets (`cloud`)
122
+ # and by doppler, infisical and onepassword (`saas`), plugins/crypto.ml
123
+ # is sigv4.ml's only caller but must compile before it, and
124
+ # plugins/runcmd.ml (the child-process helper) is opened by boru
125
+ # (`vault`) AND secretspec (`secretspec`). The transport chain
126
+ # plugins/httpjson.ml -> http.ml -> tls.ml (+ tls_stubs.c, the OpenSSL
127
+ # binding) is opened by every HTTPS kind. All seven belong to NO
128
+ # group. What makes the cost zero when no kind needs them is the
129
+ # generated feature/secrets/feature.mk (Main_ocaml): OCaml compiles
130
+ # exactly the modules it is handed, in the order it is handed them, so
131
+ # the fragment lists the transport helpers (and compiles the stub,
132
+ # linking OpenSSL) only when an active group declares `needs.fetch`,
133
+ # and runcmd.ml only when any kind is active. A chain of built-ins,
134
+ # or `secretspec` alone, compiles neither and links no OpenSSL.
135
+ #
136
+ # cpp has four ungrouped shared helpers, read off the port's own
137
+ # include lines at the tag rather than off a comment: plugins/Httpjson
138
+ # .cpp (the socket HTTP client eight kinds include), plugins/Tls.cpp
139
+ # (its OpenSSL binding, included by Httpjson.cpp - the ONLY file that
140
+ # names OpenSSL), plugins/Crypto.cpp (SHA-256/HMAC, included by Tls.cpp
141
+ # AND Sigv4.cpp) and plugins/Proc.cpp (`runcmd`, for Boru in `vault`
142
+ # AND Secretspec in `secretspec`). All four belong to NO group, .hpp
143
+ # and .cpp alike. Sigv4.{cpp,hpp} is included by Aws.cpp alone
144
+ # (upstream's own `make lean` asserts only aws needs a digest) and goes
145
+ # with `aws`. As in c, the Makefile can see the trim: it compiles the
146
+ # helpers, and links OpenSSL, only when at least one KIND file survived,
147
+ # so an [env, memory] chain compiles the sekreto and voxgig/plugin cores
148
+ # alone and links libstdc++ alone.
102
149
  vault: {
103
150
  title: 'HashiCorp Vault and boru'
104
151
  needs: { fs: true, fetch: true }
@@ -137,6 +184,18 @@ main: kit: feature: secrets: {
137
184
  'feature/secrets/plugins/Boru.swift'
138
185
  'src/feature/secrets/sekreto/plugins/SekretoPlugins/Hashicorp.lean'
139
186
  'src/feature/secrets/sekreto/plugins/SekretoPlugins/Boru.lean'
187
+ 'feature/secrets/plugins/hashicorp.c'
188
+ 'feature/secrets/plugins/boru.c'
189
+ 'feature/secrets/sekreto/plugins/hashicorp.lua'
190
+ 'feature/secrets/sekreto/plugins/boru.lua'
191
+ 'feature/secrets/plugins/hashicorp.zig'
192
+ 'feature/secrets/plugins/boru.zig'
193
+ 'feature/secrets/plugins/hashicorp.ml'
194
+ 'feature/secrets/plugins/boru.ml'
195
+ 'feature/secrets/plugins/Hashicorp.cpp'
196
+ 'feature/secrets/plugins/Hashicorp.hpp'
197
+ 'feature/secrets/plugins/Boru.cpp'
198
+ 'feature/secrets/plugins/Boru.hpp'
140
199
  ]
141
200
  def: ts: {
142
201
  hashicorp: 'src/feature/secrets/sekreto/plugins/hashicorp.ts'
@@ -297,6 +356,86 @@ main: kit: feature: secrets: {
297
356
  'Sekreto.hashicorp': 'src/feature/secrets/sekreto/plugins/SekretoPlugins/Hashicorp.lean'
298
357
  'Sekreto.boru': 'src/feature/secrets/sekreto/plugins/SekretoPlugins/Boru.lean'
299
358
  }
359
+ # c: the `Definition *sek_plugin_<kind>(void)` constructor each
360
+ # vendored plugin file defines (plugins/sekretoplugins.h declares all
361
+ # ten; only the objects the link line names are carried). The path is
362
+ # target-root-relative, as go's is, because Main_c's Copy is rooted
363
+ # at tm/c. The generated feature/secrets/kinds.c (Config_c) calls
364
+ # these and hands the list to the feature through feature_plugins().
365
+ #
366
+ # plugins/proc.c does NOT go with boru: it is the php/perl
367
+ # SHARED-HELPER shape - `sek_runcmd` is called by boru (`vault`) AND
368
+ # secretspec (`secretspec`), so it ships with the feature core
369
+ # beside httpjson.c, tls.c, encode.c and clock.c and belongs to NO
370
+ # group. The Makefile compiles the ungrouped helpers only when a
371
+ # kind file is present, so they cost nothing (and need no OpenSSL
372
+ # headers) in a chain that is [env, memory].
373
+ def: c: {
374
+ sek_plugin_hashicorp: 'feature/secrets/plugins/hashicorp.c'
375
+ sek_plugin_boru: 'feature/secrets/plugins/boru.c'
376
+ }
377
+ # lua: the FIELD each module exports (`require('...hashicorp').hashicorp`
378
+ # is upstream's own spelling; aws.lua exports awssecrets AND awsparams),
379
+ # and the module path under tm/lua - this target's root, which is also
380
+ # Main_lua's Copy root, so the emitted exclude matches it. Config_lua
381
+ # turns the path into a require (strip .lua, slashes to dots).
382
+ def: lua: {
383
+ hashicorp: 'feature/secrets/sekreto/plugins/hashicorp.lua'
384
+ boru: 'feature/secrets/sekreto/plugins/boru.lua'
385
+ }
386
+ # zig: the BARE export names upstream's plugins/all.zig re-exports
387
+ # (`pub const hashicorp = @import("hashicorp.zig").hashicorp;`), so the
388
+ # symbol is what Config_zig re-exports from the generated
389
+ # feature/secrets/plugins.zig - the root of the `sekretoplugins` build
390
+ # module, which is what makes the trim REAL in zig: the compiler
391
+ # analyses only what a module root reaches, so a kind this file does
392
+ # not name is neither compiled nor in the vocabulary. The path is
393
+ # target-root-relative, as go's is, because Main_zig's Copy is rooted
394
+ # at tm/zig. plugins/httpjson.zig is in NO group (eight kinds import
395
+ # it by relative path, and the exchange's fetch of last resort is its
396
+ # fetchjson), so it ships with the feature core.
397
+ def: zig: {
398
+ hashicorp: 'feature/secrets/plugins/hashicorp.zig'
399
+ boru: 'feature/secrets/plugins/boru.zig'
400
+ }
401
+ # ocaml: MODULE-QUALIFIED FUNCTIONS (`Hashicorp.plugin`), the
402
+ # `unit -> Defs.definition` each vendored kind module defines
403
+ # (upstream's allplugins.ml names exactly these); Config_ocaml
404
+ # appends `()`. OCaml's namespace is flat and resolved by -I, so the
405
+ # symbol needs no import and the path is only what the plugin trim
406
+ # matches and what feature/secrets/feature.mk compiles. The path is target-root
407
+ # relative, as go's is, because Main_ocaml's Copy is rooted at
408
+ # tm/ocaml.
409
+ #
410
+ # plugins/runcmd.ml does NOT go with boru: it is the php/perl
411
+ # SHARED-HELPER shape (secretspec opens it too), so it ships with the
412
+ # feature core and belongs to NO group - see the ocaml note at the
413
+ # head of this `plugin` block.
414
+ def: ocaml: {
415
+ 'Hashicorp.plugin': 'feature/secrets/plugins/hashicorp.ml'
416
+ 'Boru.plugin': 'feature/secrets/plugins/boru.ml'
417
+ }
418
+ # cpp: the bare `Definition <kind>()` factory each vendored kind file
419
+ # defines in namespace sekreto (Hashicorp.hpp: `Definition hashicorp();`),
420
+ # so the key is the unqualified function name; the generated
421
+ # feature/secrets/kinds.cpp (Config_cpp) qualifies it as
422
+ # `sekreto::hashicorp()` and includes the owning file's header. The path
423
+ # is target-root-relative, as go's is, because Main_cpp's Copy is rooted
424
+ # at tm/cpp; the .hpp rides in `path` beside its .cpp so the trim removes
425
+ # the pair, and the .cpp is what the def names because it is what the
426
+ # Makefile compiles.
427
+ #
428
+ # plugins/Proc.cpp does NOT go with Boru: it is the php/perl
429
+ # SHARED-HELPER shape - `runcmd` is called by Boru (`vault`) AND
430
+ # Secretspec (`secretspec`), so it ships with the feature core beside
431
+ # Httpjson.cpp, Tls.cpp and Crypto.cpp and belongs to NO group. The
432
+ # Makefile compiles the ungrouped helpers only when a kind file is
433
+ # present, so they cost nothing (and need no OpenSSL headers) in a chain
434
+ # that is [env, memory].
435
+ def: cpp: {
436
+ hashicorp: 'feature/secrets/plugins/Hashicorp.cpp'
437
+ boru: 'feature/secrets/plugins/Boru.cpp'
438
+ }
300
439
  }
301
440
 
302
441
  cloud: {
@@ -337,6 +476,18 @@ main: kit: feature: secrets: {
337
476
  'feature/secrets/plugins/Azuresecrets.swift'
338
477
  'src/feature/secrets/sekreto/plugins/SekretoPlugins/Gcpsecrets.lean'
339
478
  'src/feature/secrets/sekreto/plugins/SekretoPlugins/Azuresecrets.lean'
479
+ 'feature/secrets/plugins/gcpsecrets.c'
480
+ 'feature/secrets/plugins/azuresecrets.c'
481
+ 'feature/secrets/sekreto/plugins/gcpsecrets.lua'
482
+ 'feature/secrets/sekreto/plugins/azuresecrets.lua'
483
+ 'feature/secrets/plugins/gcpsecrets.zig'
484
+ 'feature/secrets/plugins/azuresecrets.zig'
485
+ 'feature/secrets/plugins/gcpsecrets.ml'
486
+ 'feature/secrets/plugins/azuresecrets.ml'
487
+ 'feature/secrets/plugins/Gcpsecrets.cpp'
488
+ 'feature/secrets/plugins/Gcpsecrets.hpp'
489
+ 'feature/secrets/plugins/Azuresecrets.cpp'
490
+ 'feature/secrets/plugins/Azuresecrets.hpp'
340
491
  ]
341
492
  def: ts: {
342
493
  gcpsecrets: 'src/feature/secrets/sekreto/plugins/gcpsecrets.ts'
@@ -406,6 +557,32 @@ main: kit: feature: secrets: {
406
557
  'Sekreto.gcpsecrets': 'src/feature/secrets/sekreto/plugins/SekretoPlugins/Gcpsecrets.lean'
407
558
  'Sekreto.azuresecrets': 'src/feature/secrets/sekreto/plugins/SekretoPlugins/Azuresecrets.lean'
408
559
  }
560
+ def: c: {
561
+ sek_plugin_gcpsecrets: 'feature/secrets/plugins/gcpsecrets.c'
562
+ sek_plugin_azuresecrets: 'feature/secrets/plugins/azuresecrets.c'
563
+ }
564
+ # lua: the FIELD each module exports (`require('...hashicorp').hashicorp`
565
+ # is upstream's own spelling; aws.lua exports awssecrets AND awsparams),
566
+ # and the module path under tm/lua - this target's root, which is also
567
+ # Main_lua's Copy root, so the emitted exclude matches it. Config_lua
568
+ # turns the path into a require (strip .lua, slashes to dots).
569
+ def: lua: {
570
+ gcpsecrets: 'feature/secrets/sekreto/plugins/gcpsecrets.lua'
571
+ azuresecrets: 'feature/secrets/sekreto/plugins/azuresecrets.lua'
572
+ }
573
+ def: zig: {
574
+ gcpsecrets: 'feature/secrets/plugins/gcpsecrets.zig'
575
+ azuresecrets: 'feature/secrets/plugins/azuresecrets.zig'
576
+ }
577
+ def: ocaml: {
578
+ 'Gcpsecrets.plugin': 'feature/secrets/plugins/gcpsecrets.ml'
579
+ 'Azuresecrets.plugin': 'feature/secrets/plugins/azuresecrets.ml'
580
+ }
581
+ # cpp: see the vault group.
582
+ def: cpp: {
583
+ gcpsecrets: 'feature/secrets/plugins/Gcpsecrets.cpp'
584
+ azuresecrets: 'feature/secrets/plugins/Azuresecrets.cpp'
585
+ }
409
586
  }
410
587
 
411
588
  saas: {
@@ -463,6 +640,24 @@ main: kit: feature: secrets: {
463
640
  'src/feature/secrets/sekreto/plugins/SekretoPlugins/Onepassword.lean'
464
641
  'src/feature/secrets/sekreto/plugins/SekretoPlugins/Doppler.lean'
465
642
  'src/feature/secrets/sekreto/plugins/SekretoPlugins/Infisical.lean'
643
+ 'feature/secrets/plugins/onepassword.c'
644
+ 'feature/secrets/plugins/doppler.c'
645
+ 'feature/secrets/plugins/infisical.c'
646
+ 'feature/secrets/sekreto/plugins/onepassword.lua'
647
+ 'feature/secrets/sekreto/plugins/doppler.lua'
648
+ 'feature/secrets/sekreto/plugins/infisical.lua'
649
+ 'feature/secrets/plugins/onepassword.zig'
650
+ 'feature/secrets/plugins/doppler.zig'
651
+ 'feature/secrets/plugins/infisical.zig'
652
+ 'feature/secrets/plugins/onepassword.ml'
653
+ 'feature/secrets/plugins/doppler.ml'
654
+ 'feature/secrets/plugins/infisical.ml'
655
+ 'feature/secrets/plugins/Onepassword.cpp'
656
+ 'feature/secrets/plugins/Onepassword.hpp'
657
+ 'feature/secrets/plugins/Doppler.cpp'
658
+ 'feature/secrets/plugins/Doppler.hpp'
659
+ 'feature/secrets/plugins/Infisical.cpp'
660
+ 'feature/secrets/plugins/Infisical.hpp'
466
661
  ]
467
662
  def: ts: {
468
663
  onepassword: 'src/feature/secrets/sekreto/plugins/onepassword.ts'
@@ -556,6 +751,37 @@ main: kit: feature: secrets: {
556
751
  'Sekreto.doppler': 'src/feature/secrets/sekreto/plugins/SekretoPlugins/Doppler.lean'
557
752
  'Sekreto.infisical': 'src/feature/secrets/sekreto/plugins/SekretoPlugins/Infisical.lean'
558
753
  }
754
+ def: c: {
755
+ sek_plugin_onepassword: 'feature/secrets/plugins/onepassword.c'
756
+ sek_plugin_doppler: 'feature/secrets/plugins/doppler.c'
757
+ sek_plugin_infisical: 'feature/secrets/plugins/infisical.c'
758
+ }
759
+ # lua: the FIELD each module exports (`require('...hashicorp').hashicorp`
760
+ # is upstream's own spelling; aws.lua exports awssecrets AND awsparams),
761
+ # and the module path under tm/lua - this target's root, which is also
762
+ # Main_lua's Copy root, so the emitted exclude matches it. Config_lua
763
+ # turns the path into a require (strip .lua, slashes to dots).
764
+ def: lua: {
765
+ onepassword: 'feature/secrets/sekreto/plugins/onepassword.lua'
766
+ doppler: 'feature/secrets/sekreto/plugins/doppler.lua'
767
+ infisical: 'feature/secrets/sekreto/plugins/infisical.lua'
768
+ }
769
+ def: zig: {
770
+ onepassword: 'feature/secrets/plugins/onepassword.zig'
771
+ doppler: 'feature/secrets/plugins/doppler.zig'
772
+ infisical: 'feature/secrets/plugins/infisical.zig'
773
+ }
774
+ def: ocaml: {
775
+ 'Onepassword.plugin': 'feature/secrets/plugins/onepassword.ml'
776
+ 'Doppler.plugin': 'feature/secrets/plugins/doppler.ml'
777
+ 'Infisical.plugin': 'feature/secrets/plugins/infisical.ml'
778
+ }
779
+ # cpp: see the vault group.
780
+ def: cpp: {
781
+ onepassword: 'feature/secrets/plugins/Onepassword.cpp'
782
+ doppler: 'feature/secrets/plugins/Doppler.cpp'
783
+ infisical: 'feature/secrets/plugins/Infisical.cpp'
784
+ }
559
785
  }
560
786
 
561
787
  # The only plugin that costs node:crypto: AWS request signing.
@@ -602,6 +828,18 @@ main: kit: feature: secrets: {
602
828
  'src/feature/secrets/sekreto/plugins/SekretoPlugins/Sigv4.lean'
603
829
  'src/feature/secrets/sekreto/plugins/SekretoPlugins/Crypto.lean'
604
830
  'src/feature/secrets/sekreto/plugins/SekretoPlugins/Clock.lean'
831
+ 'feature/secrets/plugins/aws.c'
832
+ 'feature/secrets/plugins/sigv4.c'
833
+ 'feature/secrets/plugins/sha256.c'
834
+ 'feature/secrets/sekreto/plugins/aws.lua'
835
+ 'feature/secrets/sekreto/plugins/sigv4.lua'
836
+ 'feature/secrets/plugins/aws.zig'
837
+ 'feature/secrets/plugins/sigv4.zig'
838
+ 'feature/secrets/plugins/aws.ml'
839
+ 'feature/secrets/plugins/Aws.cpp'
840
+ 'feature/secrets/plugins/Aws.hpp'
841
+ 'feature/secrets/plugins/Sigv4.cpp'
842
+ 'feature/secrets/plugins/Sigv4.hpp'
605
843
  ]
606
844
  def: ts: {
607
845
  awssecrets: 'src/feature/secrets/sekreto/plugins/aws.ts'
@@ -746,6 +984,63 @@ main: kit: feature: secrets: {
746
984
  'Sekreto.awssecrets': 'src/feature/secrets/sekreto/plugins/SekretoPlugins/Aws.lean'
747
985
  'Sekreto.awsparams': 'src/feature/secrets/sekreto/plugins/SekretoPlugins/Aws.lean'
748
986
  }
987
+ # c: ONE file, TWO definitions - the c spelling of the ts aws.ts
988
+ # pair, as go spells it aws.Secrets/aws.Params. plugins/sigv4.c AND
989
+ # plugins/sha256.c ride with it and only with it: upstream's own
990
+ # plugins/support.h says "sha256.c and nothing else. The aws plugin is
991
+ # the only thing in the library that names these", and a symbol scan
992
+ # of the port at the tag confirms aws.c is the sole caller of
993
+ # sek_sigv4 / sek_sha256 / sek_hmac_sha256. Unlike java's and scala's
994
+ # Sigv4, the c percent-encoder the other stores use (`sek_uriescape`)
995
+ # lives in the ungrouped encode.c, so nothing outside this group
996
+ # compiles against sigv4.c.
997
+ def: c: {
998
+ sek_plugin_awssecrets: 'feature/secrets/plugins/aws.c'
999
+ sek_plugin_awsparams: 'feature/secrets/plugins/aws.c'
1000
+ }
1001
+ # lua: the FIELD each module exports (`require('...hashicorp').hashicorp`
1002
+ # is upstream's own spelling; aws.lua exports awssecrets AND awsparams),
1003
+ # and the module path under tm/lua - this target's root, which is also
1004
+ # Main_lua's Copy root, so the emitted exclude matches it. Config_lua
1005
+ # turns the path into a require (strip .lua, slashes to dots).
1006
+ # sigv4.lua is required by aws.lua ALONE in the lua port (checked at the
1007
+ # tag: gcpsecrets.lua reaches crypto.lua directly, never sigv4), so it
1008
+ # belongs to this group. crypto.lua is shared by aws and cloud and
1009
+ # ships ungrouped with the feature core.
1010
+ def: lua: {
1011
+ awssecrets: 'feature/secrets/sekreto/plugins/aws.lua'
1012
+ awsparams: 'feature/secrets/sekreto/plugins/aws.lua'
1013
+ }
1014
+ # ONE file, TWO definitions - zig's spelling of the ts aws.ts pair
1015
+ # (upstream all.zig: `awssecrets` and `awsparams`, both from aws.zig).
1016
+ # plugins/sigv4.zig goes with it, and goes only with it: at the tag
1017
+ # aws.zig is the ONLY file that `@import("sigv4.zig")` - the zig port
1018
+ # has no java/kotlin/scala `uriescape` story (checked by grep at the
1019
+ # tag), so an aws-off trim leaves nothing dangling.
1020
+ def: zig: {
1021
+ awssecrets: 'feature/secrets/plugins/aws.zig'
1022
+ awsparams: 'feature/secrets/plugins/aws.zig'
1023
+ }
1024
+ # ONE module, TWO definitions - ocaml's spelling of the ts aws.ts
1025
+ # pair (aws.ml defines `secretsplugin` and `paramsplugin`).
1026
+ # plugins/sigv4.ml and plugins/crypto.ml do NOT go with it: the
1027
+ # java/scala story repeats here (see the ocaml note at the head of
1028
+ # this `plugin` block), because `Sigv4.uriescape` is also called by
1029
+ # azuresecrets (`cloud`) and by doppler, infisical and onepassword
1030
+ # (`saas`), and crypto.ml has to compile before sigv4.ml.
1031
+ def: ocaml: {
1032
+ 'Aws.secretsplugin': 'feature/secrets/plugins/aws.ml'
1033
+ 'Aws.paramsplugin': 'feature/secrets/plugins/aws.ml'
1034
+ }
1035
+ # cpp: ONE file, TWO definitions (`Definition awssecrets();` and
1036
+ # `Definition awsparams();`, both in Aws.hpp) - the ts/go/py shape. The
1037
+ # SigV4 signer is aws-only in this port: Sigv4.hpp is included by Aws.cpp
1038
+ # and nothing else, so Sigv4.{cpp,hpp} go with `aws`; Crypto.cpp, which
1039
+ # Sigv4.cpp AND Tls.cpp include, stays with the feature core.
1040
+ def: cpp: {
1041
+ awssecrets: 'feature/secrets/plugins/Aws.cpp'
1042
+ awsparams: 'feature/secrets/plugins/Aws.cpp'
1043
+ }
749
1044
  }
750
1045
 
751
1046
  # The only plugin that runs a CHILD PROCESS: the secretspec CLI
@@ -772,6 +1067,12 @@ main: kit: feature: secrets: {
772
1067
  'feature/secrets/sekreto/plugins/secretspec.ex'
773
1068
  'feature/secrets/plugins/Secretspec.swift'
774
1069
  'src/feature/secrets/sekreto/plugins/SekretoPlugins/Secretspec.lean'
1070
+ 'feature/secrets/plugins/secretspec.c'
1071
+ 'feature/secrets/sekreto/plugins/secretspec.lua'
1072
+ 'feature/secrets/plugins/secretspec.zig'
1073
+ 'feature/secrets/plugins/secretspec.ml'
1074
+ 'feature/secrets/plugins/Secretspec.cpp'
1075
+ 'feature/secrets/plugins/Secretspec.hpp'
775
1076
  ]
776
1077
  def: ts: {
777
1078
  secretspec: 'src/feature/secrets/sekreto/plugins/secretspec.ts'
@@ -853,6 +1154,35 @@ main: kit: feature: secrets: {
853
1154
  def: lean: {
854
1155
  'Sekreto.secretspec': 'src/feature/secrets/sekreto/plugins/SekretoPlugins/Secretspec.lean'
855
1156
  }
1157
+ # plugins/proc.c is NOT listed here either - see the c note in the
1158
+ # `vault` group: it is a feature-core file both groups use.
1159
+ def: c: {
1160
+ sek_plugin_secretspec: 'feature/secrets/plugins/secretspec.c'
1161
+ }
1162
+ # lua: the FIELD each module exports (`require('...hashicorp').hashicorp`
1163
+ # is upstream's own spelling; aws.lua exports awssecrets AND awsparams),
1164
+ # and the module path under tm/lua - this target's root, which is also
1165
+ # Main_lua's Copy root, so the emitted exclude matches it. Config_lua
1166
+ # turns the path into a require (strip .lua, slashes to dots).
1167
+ def: lua: {
1168
+ secretspec: 'feature/secrets/sekreto/plugins/secretspec.lua'
1169
+ }
1170
+ def: zig: {
1171
+ secretspec: 'feature/secrets/plugins/secretspec.zig'
1172
+ }
1173
+ # plugins/runcmd.ml is NOT listed here either - see the ocaml note in
1174
+ # the `vault` group: it is a feature-core file both groups open.
1175
+ # This is the one ocaml group that needs NO transport (`needs` has no
1176
+ # `fetch`), so feature/secrets/feature.mk compiles runcmd.ml beside it and nothing of
1177
+ # the TLS chain: a secretspec-only ocaml SDK links no OpenSSL.
1178
+ def: ocaml: {
1179
+ 'Secretspec.plugin': 'feature/secrets/plugins/secretspec.ml'
1180
+ }
1181
+ # cpp: see the vault group. plugins/Proc.cpp (`runcmd`) is shared with
1182
+ # Boru and ships with the feature core, not here.
1183
+ def: cpp: {
1184
+ secretspec: 'feature/secrets/plugins/Secretspec.cpp'
1185
+ }
856
1186
  }
857
1187
  }
858
1188
 
@@ -8,6 +8,11 @@ main: kit: target: c: {
8
8
  base: 'BASE'
9
9
  srcfeature: false
10
10
 
11
+ # Applicability tags (docs/design/feature-tags.md): this target vendors
12
+ # the c port of @voxgig/sekreto (with voxgig/plugin under it) inside its
13
+ # gated `feature/secrets/` container, so the `secrets` feature applies.
14
+ provides: { sekreto: true }
15
+
11
16
  # Files earlier toolchains generated that this target has RETIRED
12
17
  # (vendor-tag rollout): the fused corpus runner, whose engine half is now
13
18
  # the vendored omni runner (tests/vendor/omni) and whose support half
@@ -23,8 +28,16 @@ main: kit: target: c: {
23
28
  }
24
29
 
25
30
  # struct is vendored under utility/struct — no external dep. The whole
26
- # pipeline is synchronous; the transport uses libcurl when available at
27
- # build time (weak, optional) else returns a transport error.
31
+ # pipeline is synchronous, and the CORE ships no HTTP client at all: a
32
+ # live request without a caller-supplied `options.system.fetch` returns
33
+ # a transport error (utility/fetcher.c). The only external dependencies
34
+ # a c SDK can have arrive with the `secrets` feature, and only when it
35
+ # is active with a plugin group: the vendored vault kinds link OpenSSL
36
+ # (-lssl -lcrypto, plugins/tls.c), and the feature's token-exchange
37
+ # transport of last resort (feature/secrets/kinds.c, generated) links
38
+ # libcurl. Both are turned on by the generated feature/secrets/kinds.mk
39
+ # the Makefile includes, so an SDK with secrets inactive, or with no
40
+ # plugin group, links libc alone.
28
41
  deps: {
29
42
  }
30
43
  }
@@ -8,6 +8,14 @@ main: kit: target: cpp: {
8
8
  base: 'BASE'
9
9
  srcfeature: false
10
10
 
11
+ # Applicability tags (docs/design/feature-tags.md): this target vendors
12
+ # the cpp port of @voxgig/sekreto (with voxgig/plugin under it) inside
13
+ # its gated `feature/secrets/` container, so the `secrets` feature
14
+ # applies. The port is a multi-translation-unit library where the SDK
15
+ # itself is header-only; tm/cpp/Makefile compiles it into an archive only
16
+ # through the generated feature/secrets/kinds.mk it `-include`s.
17
+ provides: { sekreto: true }
18
+
11
19
  # Files earlier toolchains generated that this target has RETIRED
12
20
  # (vendor-tag rollout): the struct-corpus runner header
13
21
  # (test/runner_support.hpp is support-only — the file/env loaders,
@@ -25,6 +33,16 @@ main: kit: target: cpp: {
25
33
  # struct is vendored under utility/voxgigstruct — no external dep. The SDK
26
34
  # is header-only; JSON parsing is the vendored struct parser and the mock
27
35
  # transport needs no network. Tests need only a C++17 compiler (g++).
36
+ #
37
+ # The one external dependency a cpp SDK can have arrives with the
38
+ # `secrets` feature, and only when it is active WITH a plugin group: the
39
+ # vendored vault kinds link OpenSSL (-lssl -lcrypto, plugins/Tls.cpp),
40
+ # and the feature's token-exchange transport of last resort (the
41
+ # generated feature/secrets/kinds.cpp) rides on the same vendored HTTPS
42
+ # client rather than adding libcurl - so there is exactly one HTTP stack
43
+ # and one -l pair. The generated feature/secrets/kinds.mk turns it on
44
+ # from the model, so an SDK with secrets inactive, or with no plugin
45
+ # group, links libstdc++ and libc alone.
28
46
  deps: {}
29
47
  }
30
48
 
@@ -8,6 +8,23 @@ main: kit: target: lua: {
8
8
  base: 'BASE'
9
9
  srcfeature: false
10
10
 
11
+ # Applicability (docs/design/feature-tags.md). A vendored sekreto port
12
+ # lives in this target's feature container (tm/lua/feature/secrets/), so
13
+ # a feature that resolves secrets through sekreto can apply here.
14
+ #
15
+ # What lua ships: the four built-in kinds (env, memory, dotenv, file) in
16
+ # the vendored core, and every plugin kind as a trimmable group. The
17
+ # plugin kinds reach `sekreto.plugins.net`, which runs a small COMPILED
18
+ # helper (feature/secrets/native/sekretonet.c, -lssl -lcrypto) because
19
+ # Lua 5.4 has no sockets and no TLS. The helper is vendored with the
20
+ # feature and built by the generated Makefile ONLY when a plugin group is
21
+ # active (Main_lua emits feature/secrets/native.mk then), so an SDK
22
+ # without secrets - or with the built-in chain alone - runs no compiler
23
+ # and links no OpenSSL. `sekreto.plugins.net` finds the binary through
24
+ # its own adapted helperpath() (vendor/routes.json), at
25
+ # feature/secrets/native/sekreto-net.
26
+ provides: { sekreto: true }
27
+
11
28
  # Files earlier toolchains generated that this target has RETIRED
12
29
  # (vendor-tag rollout): the struct-corpus runner (test/runner.lua is
13
30
  # support-only and RETAINED). `doctor` reports leftovers; `doctor
@@ -8,6 +8,24 @@ main: kit: target: ocaml: {
8
8
  base: 'BASE'
9
9
  srcfeature: false
10
10
 
11
+ # Applicability (docs/design/feature-tags.md). A vendored sekreto port
12
+ # lives in this target's feature container (tm/ocaml/feature/secrets/:
13
+ # the sekreto core under sekreto/, the voxgig/plugin host under plugin/
14
+ # and the provider kinds under plugins/), so a feature that resolves
15
+ # secrets through sekreto can apply here.
16
+ #
17
+ # What ocaml ships: the four built-in kinds (env, memory, dotenv, file)
18
+ # in the vendored core, and every plugin kind as a trimmable group. The
19
+ # four HTTPS groups (vault, cloud, saas, aws) reach plugins/http.ml ->
20
+ # plugins/tls.ml, whose externals are bound in plugins/tls_stubs.c
21
+ # against OpenSSL (-lssl -lcrypto, and `ocamlc -custom` to carry the
22
+ # stub). That dependency is scoped INSIDE the gated feature: the
23
+ # generated feature/secrets/feature.mk (Main_ocaml) compiles the stub
24
+ # and links OpenSSL ONLY when a plugin group that needs a transport is
25
+ # active, so an SDK without secrets, or with the built-in chain alone,
26
+ # or with `secretspec` alone, runs no C compiler and links no OpenSSL.
27
+ provides: { sekreto: true }
28
+
11
29
  # Files earlier toolchains generated that this target has RETIRED
12
30
  # (vendor-tag rollout): the hand-written corpus engine, replaced by
13
31
  # test/omni_resolver.ml over the vendored @voxgig/omni port
@@ -24,6 +42,17 @@ main: kit: target: ocaml: {
24
42
  # struct is vendored under utility/ (voxgig_struct.ml + vregex.ml) — the
25
43
  # runtime is dependency-free: it compiles with the stock ocamlc, no opam
26
44
  # packages, no dune. So there are no manifest dependencies.
45
+ #
46
+ # The CORE also bundles no HTTP transport (sdk_runtime.ml
47
+ # fetch_no_transport): a live request needs a caller-supplied
48
+ # `options.system.fetch`. The only external dependency an ocaml SDK can
49
+ # have arrives with the `secrets` feature, and only when a plugin group
50
+ # needing a transport is active: the vendored HTTPS kinds bind OpenSSL
51
+ # through plugins/tls_stubs.c, and the feature's token-exchange transport
52
+ # of last resort rides the same vendored HTTP client. The generated
53
+ # feature/secrets/feature.mk turns both on from the trimmed tree, so an
54
+ # SDK with secrets inactive, or with no plugin group, links the OCaml
55
+ # distribution alone (unix.cma for the dotenv/file built-ins).
27
56
  deps: {}
28
57
  }
29
58
 
@@ -59,10 +88,24 @@ main: kit: target: ocaml: publish: {
59
88
  }
60
89
 
61
90
 
62
- # Feature source is NOT trimmed to the model's selection here: every
63
- # feature lives inside a single generated module (sdk_features.ml), not in
64
- # per-feature source files, so there is nothing per-feature to leave out.
65
- # Trimming waits on that module becoming model-driven.
91
+ # Feature source IS trimmed to the model's selection. The eighteen pipeline
92
+ # features live inside one template module (sdk_features.ml), which is not
93
+ # feature source and is never a trim candidate - so for a long time there
94
+ # was nothing per-feature to leave out and trim stayed off. `secrets`
95
+ # changed that: it is the first ocaml feature carried as a CONTAINER
96
+ # (feature/secrets_feature.ml, feature/secrets/ with the vendored sekreto
97
+ # and voxgig/plugin trees, test/feature/secrets/), some 5.5k lines that a
98
+ # project which never selected the feature must not carry. With trim on,
99
+ # `target add ocaml` copies that container only when the project's model
100
+ # selects `secrets`; the per-feature placeholder dirs under src/feature/
101
+ # (never generated - Main_ocaml excludes src/) are trimmed on the same
102
+ # rule, which is what every trim:true target does.
103
+ #
104
+ # fullset is EMPTY on purpose: test/t_feature.ml gates every block on
105
+ # `has_feature`, and the harness only constructs features the generated
106
+ # config knows, so the cross-feature suite compiles and runs against any
107
+ # trimmed set. Nothing else references a feature by name.
66
108
  main: kit: target: ocaml: feature: {
67
- trim: false
109
+ trim: true
110
+ fullset: []
68
111
  }
@@ -8,6 +8,17 @@ main: kit: target: zig: {
8
8
  base: 'BASE'
9
9
  srcfeature: false
10
10
 
11
+ # Applicability (docs/design/feature-tags.md): the `secrets` feature is a
12
+ # thin layer over a VENDORED sekreto port and declares `needs: { sekreto:
13
+ # true }`; a target that does not say it carries one never gets the
14
+ # feature. This target does: tm/zig/feature/secrets/{sekreto,plugin,
15
+ # plugins} are the zig ports of @voxgig/sekreto and voxgig/plugin at the
16
+ # shared vendor tag, wired as the named build modules `sekreto`, `plugin`
17
+ # and `sekretoplugins` by the generated build.zig (Main_zig) - and ONLY
18
+ # when the feature is active, so an SDK without secrets declares none of
19
+ # them and compiles nothing of it. Mirrors ts.aon / go.aon / rust.aon.
20
+ provides: { sekreto: true }
21
+
11
22
  # Files earlier toolchains generated that this target has RETIRED
12
23
  # (vendor-tag rollout): the hand-written struct runner, whose engine half
13
24
  # AND assertion half are now the vendored omni port driven through
@@ -61,10 +72,25 @@ main: kit: target: zig: publish: {
61
72
 
62
73
 
63
74
  # Feature source is NOT trimmed to the model's selection here: root.zig
64
- # re-exports every feature type with @import("feature/<name>.zig"), and
65
- # build.zig names test/feature_test.zig explicitly, so a trimmed tree
66
- # fails to build. Trimming stays off until root.zig's feature exports are
67
- # driven from the model.
75
+ # re-exports every BUILT-IN feature type with @import("feature/<name>.zig"),
76
+ # and build.zig names test/feature_test.zig explicitly, so a trimmed tree
77
+ # fails to build. Trimming stays off until those static exports are driven
78
+ # from the model too.
79
+ #
80
+ # THE FORCING CASE is `secrets`, the first GATED feature this target
81
+ # carries. With the trim off, its whole tree - feature/secrets.zig, the
82
+ # vendored sekreto and voxgig/plugin cores and the provider plugins - ships
83
+ # in EVERY zig SDK whatever the model says. What keeps that honest is that
84
+ # zig compiles only what a module root reaches, so the generated build.zig
85
+ # and root.zig (Main_zig, from the marker-slotted fragments) name the
86
+ # feature's modules, its root export and its test step ONLY when the
87
+ # feature is active: a secrets-off SDK carries the files as dead weight and
88
+ # compiles none of them, and `make lint` (`zig fmt --check .`) is the one
89
+ # gate that still reads them. Main_zig also drops the provider plugins of
90
+ # an INACTIVE feature and the inactive groups of an active one (the scala
91
+ # shape), so the dead weight is the two cores plus the ungrouped
92
+ # httpjson/sigv4 helpers, never the nine vault clients. When the feature
93
+ # trim lands here, that second exclude list becomes redundant, not wrong.
68
94
  main: kit: target: zig: feature: {
69
95
  trim: false
70
96
  }