@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
@@ -0,0 +1,354 @@
1
+ // VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (cpp/src/Providers.cpp)
2
+ // Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
3
+ // License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
+ #include "Providers.hpp"
5
+
6
+ #include <errno.h>
7
+ #include <fcntl.h>
8
+ #include <string.h>
9
+ #include <unistd.h>
10
+
11
+ #include <cstdlib>
12
+
13
+ #include "Sekreto.hpp"
14
+
15
+ namespace sekreto {
16
+
17
+ // -------------------------------------------------------- shared machinery
18
+
19
+ std::string first(const std::string& one, const std::string& two) {
20
+ return one.empty() ? two : one;
21
+ }
22
+
23
+ std::string first(const std::string& one, const std::string& two, const std::string& three) {
24
+ if (!one.empty()) return one;
25
+ if (!two.empty()) return two;
26
+ return three;
27
+ }
28
+
29
+ std::string envvar(const std::string& name) {
30
+ const char* value = std::getenv(name.c_str());
31
+ return (nullptr == value) ? "" : value;
32
+ }
33
+
34
+ std::string trimslash(const std::string& text) {
35
+ if (!text.empty() && '/' == text[text.size() - 1]) return text.substr(0, text.size() - 1);
36
+ return text;
37
+ }
38
+
39
+ std::string trimtext(const std::string& text) {
40
+ size_t start = 0;
41
+ size_t stop = text.size();
42
+
43
+ while (start < stop && (' ' == text[start] || '\t' == text[start] || '\n' == text[start] ||
44
+ '\r' == text[start])) {
45
+ start++;
46
+ }
47
+ while (stop > start && (' ' == text[stop - 1] || '\t' == text[stop - 1] ||
48
+ '\n' == text[stop - 1] || '\r' == text[stop - 1])) {
49
+ stop--;
50
+ }
51
+
52
+ return text.substr(start, stop - start);
53
+ }
54
+
55
+ std::string dropnewline(const std::string& text) {
56
+ if (!text.empty() && '\n' == text[text.size() - 1]) return text.substr(0, text.size() - 1);
57
+ return text;
58
+ }
59
+
60
+ // --------------------------------------------------------------- addresses
61
+
62
+ std::string safeaddr(const std::string& addr) {
63
+ size_t mark = addr.find("://");
64
+ if (std::string::npos == mark) return addr;
65
+
66
+ size_t from = mark + 3;
67
+ size_t stop = addr.find_first_of("/?#", from);
68
+ std::string authority =
69
+ (std::string::npos == stop) ? addr.substr(from) : addr.substr(from, stop - from);
70
+
71
+ size_t at = authority.rfind('@');
72
+ if (std::string::npos == at) return addr;
73
+
74
+ return addr.substr(0, from) + "[redacted]" + addr.substr(from + at);
75
+ }
76
+
77
+ void checkaddr(const std::string& addr) {
78
+ std::string scheme;
79
+
80
+ // Literal and case-sensitive: `HTTP://localhost` is refused rather than
81
+ // normalised, because normalising is where parsers start to disagree.
82
+ if (0 == addr.compare(0, 8, "https://")) {
83
+ scheme = "https://";
84
+ } else if (0 == addr.compare(0, 7, "http://")) {
85
+ scheme = "http://";
86
+ } else {
87
+ throw SekretoError("sekreto: not an http(s) address: " + safeaddr(addr));
88
+ }
89
+
90
+ std::string rest = addr.substr(scheme.size());
91
+
92
+ // The authority ends at `/`, `?` or `#` only - never at `\`. A client
93
+ // that also breaks on backslash can then only ever see a SHORTER host
94
+ // than this did, which is the invariant that makes this check
95
+ // trustworthy: it is never more permissive than what will be dialled.
96
+ size_t stop = rest.find_first_of("/?#");
97
+ std::string authority = (std::string::npos == stop) ? rest : rest.substr(0, stop);
98
+
99
+ // Userinfo is refused outright rather than parsed around, and on https
100
+ // as well as http. At worst it is the attack this whole function exists
101
+ // to stop: `http://localhost:8200@evil.example.com/` is a request to
102
+ // evil.example.com that reads, to anything that splits the authority on
103
+ // ':', as loopback.
104
+ if (std::string::npos != authority.find('@')) {
105
+ throw SekretoError("sekreto: refusing an address with embedded credentials: " +
106
+ safeaddr(addr));
107
+ }
108
+
109
+ // An opening bracket with no closing one is not an address at all.
110
+ if (!authority.empty() && '[' == authority[0] &&
111
+ std::string::npos == authority.find(']')) {
112
+ throw SekretoError("sekreto: not a valid http(s) address: " + safeaddr(addr));
113
+ }
114
+
115
+ if ("https://" == scheme) return;
116
+
117
+ // A bracketed IPv6 literal keeps its brackets. Splitting the authority
118
+ // on the first colon yields '[', so `http://[::1]:8200` could never
119
+ // match the allowlist below, and a legitimate local vault was refused.
120
+ std::string host = authority;
121
+
122
+ if (!authority.empty() && '[' == authority[0]) {
123
+ size_t close = authority.find(']');
124
+ if (std::string::npos != close) host = authority.substr(0, close + 1);
125
+ } else {
126
+ size_t colon = authority.find(':');
127
+ if (std::string::npos != colon) host = authority.substr(0, colon);
128
+ }
129
+
130
+ host = asciilower(host);
131
+
132
+ // Literal, and exactly these four. Nothing is normalised: `0177.0.0.1`,
133
+ // `2130706433` and `[::ffff:127.0.0.1]` are all refused, because no two
134
+ // URL parsers agree on what they mean.
135
+ if ("localhost" != host && "127.0.0.1" != host && "::1" != host && "[::1]" != host) {
136
+ throw SekretoError("sekreto: refusing to send a token in plaintext to " + safeaddr(addr) +
137
+ " (use https)");
138
+ }
139
+ }
140
+
141
+ // -------------------------------------------------------------- file reads
142
+
143
+ Readout readfile(const std::string& path) {
144
+ Readout out;
145
+
146
+ int fd = ::open(path.c_str(), O_RDONLY);
147
+
148
+ if (0 > fd) {
149
+ if (ENOENT == errno || ENOTDIR == errno) {
150
+ out.state = Readstate::Absent;
151
+ return out;
152
+ }
153
+ out.state = Readstate::Failed;
154
+ out.why = strerror(errno);
155
+ return out;
156
+ }
157
+
158
+ std::string body;
159
+ char buf[8192];
160
+
161
+ while (true) {
162
+ ssize_t got = ::read(fd, buf, sizeof(buf));
163
+
164
+ if (0 == got) break;
165
+
166
+ if (0 > got) {
167
+ if (EINTR == errno) continue;
168
+ out.state = Readstate::Failed;
169
+ out.why = strerror(errno);
170
+ ::close(fd);
171
+ return out;
172
+ }
173
+
174
+ body.append(buf, static_cast<size_t>(got));
175
+ }
176
+
177
+ ::close(fd);
178
+
179
+ out.state = Readstate::Text;
180
+ out.text = body;
181
+ return out;
182
+ }
183
+
184
+ // ---------------------------------------------------------------- built in
185
+
186
+ namespace {
187
+
188
+ /// Environment variables: `api.token` from `API_TOKEN`.
189
+ class EnvProvider : public Provider {
190
+ public:
191
+ explicit EnvProvider(const std::string& prefix) : prefix_(prefix) {}
192
+
193
+ std::optional<std::string> lookup(const std::string& name) override {
194
+ const char* value = std::getenv(envkey(name, prefix_).c_str());
195
+ if (nullptr == value) return std::nullopt;
196
+
197
+ return std::string(value);
198
+ }
199
+
200
+ std::string describe() const override {
201
+ return prefix_.empty() ? "env" : "env:" + prefix_;
202
+ }
203
+
204
+ private:
205
+ std::string prefix_;
206
+ };
207
+
208
+ /// A `.env` file, read once, keyed exactly like the environment.
209
+ ///
210
+ /// Loaded LAZILY: a chain may hold a dotenv provider and never be asked
211
+ /// anything, and an eager constructor would read whatever `.env` happens
212
+ /// to sit in the working directory.
213
+ class DotenvProvider : public Provider {
214
+ public:
215
+ DotenvProvider(const std::string& file, const std::string& prefix)
216
+ : file_(file), prefix_(prefix) {}
217
+
218
+ std::optional<std::string> lookup(const std::string& name) override {
219
+ load();
220
+ return values_.get(envkey(name, prefix_));
221
+ }
222
+
223
+ std::string describe() const override { return "dotenv:" + file_; }
224
+
225
+ private:
226
+ void load() {
227
+ if (loaded_) return;
228
+
229
+ Readout got = readfile(file_);
230
+
231
+ switch (got.state) {
232
+ case Readstate::Text:
233
+ values_ = parsedotenv(got.text);
234
+ break;
235
+ // An absent file - or an absent directory - means "no secrets here",
236
+ // exactly like the file provider.
237
+ case Readstate::Absent:
238
+ values_ = Ordered();
239
+ break;
240
+ case Readstate::Failed:
241
+ throw SekretoError("sekreto: dotenv provider cannot read " + file_ + ": " + got.why);
242
+ }
243
+
244
+ loaded_ = true;
245
+ }
246
+
247
+ std::string file_;
248
+ std::string prefix_;
249
+ Ordered values_;
250
+ bool loaded_ = false;
251
+ };
252
+
253
+ /// Literal values, keyed like environment variables. The spec uses this to
254
+ /// test chain behaviour without touching the outside world.
255
+ class MemoryProvider : public Provider {
256
+ public:
257
+ MemoryProvider(const Ordered& values, const std::string& prefix)
258
+ : values_(values), prefix_(prefix) {}
259
+
260
+ std::optional<std::string> lookup(const std::string& name) override {
261
+ // An absent key is a miss; the empty string is a HIT.
262
+ return values_.get(envkey(name, prefix_));
263
+ }
264
+
265
+ std::string describe() const override {
266
+ return prefix_.empty() ? "memory" : "memory:" + prefix_;
267
+ }
268
+
269
+ private:
270
+ Ordered values_;
271
+ std::string prefix_;
272
+ };
273
+
274
+ /// A directory of one-secret-per-file entries, keyed like the environment:
275
+ /// `api.token` reads `<dir>/API_TOKEN`.
276
+ ///
277
+ /// This is the shape of a mounted Kubernetes Secret, a Docker or Swarm
278
+ /// secret, and a systemd credentials directory, so those all work with no
279
+ /// further configuration. Read on EVERY lookup, never cached: a mounted
280
+ /// secret is rotated under a running process. One trailing newline is
281
+ /// stripped - tools that write these files disagree about it, and a
282
+ /// newline is never part of a secret on purpose.
283
+ class FileProvider : public Provider {
284
+ public:
285
+ FileProvider(const std::string& dir, const std::string& prefix)
286
+ : dir_(dir), prefix_(prefix) {}
287
+
288
+ std::optional<std::string> lookup(const std::string& name) override {
289
+ std::string key = envkey(name, prefix_);
290
+ std::string path = dir_.empty() ? key : trimslash(dir_) + "/" + key;
291
+
292
+ Readout got = readfile(path);
293
+
294
+ if (Readstate::Absent == got.state) return std::nullopt;
295
+
296
+ if (Readstate::Failed == got.state) {
297
+ throw SekretoError("sekreto: file provider cannot read " + path + ": " + got.why);
298
+ }
299
+
300
+ std::string body = got.text;
301
+
302
+ if (2 <= body.size() && "\r\n" == body.substr(body.size() - 2)) {
303
+ return body.substr(0, body.size() - 2);
304
+ }
305
+ if (!body.empty() && '\n' == body[body.size() - 1]) {
306
+ return body.substr(0, body.size() - 1);
307
+ }
308
+
309
+ return body;
310
+ }
311
+
312
+ std::string describe() const override { return "file:" + dir_; }
313
+
314
+ private:
315
+ std::string dir_;
316
+ std::string prefix_;
317
+ };
318
+
319
+ } // namespace
320
+
321
+ // --------------------------------------------------- the four, as plugins
322
+
323
+ std::vector<Definition> builtins() {
324
+ return {
325
+ providerplugin("env",
326
+ [](const ProviderSpec& spec) -> std::shared_ptr<Provider> {
327
+ return std::make_shared<EnvProvider>(spec.prefix);
328
+ }),
329
+ providerplugin("memory",
330
+ [](const ProviderSpec& spec) -> std::shared_ptr<Provider> {
331
+ return std::make_shared<MemoryProvider>(spec.values, spec.prefix);
332
+ }),
333
+ providerplugin("dotenv",
334
+ [](const ProviderSpec& spec) -> std::shared_ptr<Provider> {
335
+ return std::make_shared<DotenvProvider>(first(spec.file, ".env"),
336
+ spec.prefix);
337
+ }),
338
+ providerplugin("file",
339
+ [](const ProviderSpec& spec) -> std::shared_ptr<Provider> {
340
+ return std::make_shared<FileProvider>(spec.dir, spec.prefix);
341
+ }),
342
+ };
343
+ }
344
+
345
+ const Kinds& KINDS() {
346
+ static const Kinds one{
347
+ {"env", "memory", "dotenv", "file"},
348
+ {"hashicorp", "boru", "awssecrets", "awsparams", "gcpsecrets", "azuresecrets",
349
+ "onepassword", "doppler", "infisical", "secretspec"},
350
+ };
351
+ return one;
352
+ }
353
+
354
+ } // namespace sekreto
@@ -0,0 +1,111 @@
1
+ // VENDORED: @voxgig/sekreto sdk-20260908-1556-0 (cpp/src/Providers.hpp)
2
+ // Source: https://github.com/voxgig/sekreto @ 1267ee2e5f49566bc92695bc9eb3a60ef4924998 [tag: sdk-20260908-1556-0]
3
+ // License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
4
+ // THE BUILT-IN PROVIDER KINDS - the same four in every port - and the
5
+ // address check every kind that dials one runs first.
6
+ //
7
+ // What makes a kind built in is that it needs nothing of the platform
8
+ // beyond reading a local file: no socket, no TLS, no crypto, no child
9
+ // process. These four are the floor every chain stands on, and a chain
10
+ // that reads secrets from options, the environment, a plaintext `.env` and
11
+ // a mounted secret directory works with no plugin loaded at all.
12
+ // Everything else - the vault clients, the cloud stores, the two CLIs, and
13
+ // SigV4 signing with them - is a voxgig/plugin definition and lives under
14
+ // `plugins/` (docs/design/plugin-providers.md).
15
+ //
16
+ // A port of typescript/src/provider/builtin.ts and
17
+ // typescript/src/provider/addr.ts, which are canonical.
18
+
19
+ #ifndef SEKRETO_PROVIDERS_HPP
20
+ #define SEKRETO_PROVIDERS_HPP
21
+
22
+ #include <memory>
23
+ #include <string>
24
+ #include <vector>
25
+
26
+ #include "Provider.hpp"
27
+
28
+ namespace sekreto {
29
+
30
+ /// Every kind this library ships, built in or as a plugin, so that an
31
+ /// unknown kind can be told from a plugin that was not passed in.
32
+ struct Kinds {
33
+ std::vector<std::string> builtin;
34
+ std::vector<std::string> plugin;
35
+ };
36
+
37
+ const Kinds& KINDS();
38
+
39
+ /// The four kinds a Sekreto can always build, as plugin definitions. Fresh
40
+ /// ones on every call: two Sekretos never share a definition.
41
+ std::vector<Definition> builtins();
42
+
43
+ // --------------------------------------------------------------- addresses
44
+
45
+ /// An address with any userinfo replaced by `[redacted]`, for messages.
46
+ std::string safeaddr(const std::string& addr);
47
+
48
+ /// Refuse to send a secret-bearing credential in the clear, and refuse an
49
+ /// address this library will not dial. Raises; answers nothing otherwise.
50
+ ///
51
+ /// In the CORE even though only plugins dial: it is a rule about what may
52
+ /// be configured, it opens nothing itself, and a plugin that carried its
53
+ /// own copy would be a second opinion about what is safe.
54
+ void checkaddr(const std::string& addr);
55
+
56
+ // ----------------------------------------------------------- the helpers
57
+ //
58
+ // The helpers below are the shared bottom of every kind, built-in or
59
+ // plugin. They live in the CORE rather than beside the plugins that use
60
+ // them because each is inside the line that makes a kind built in - a
61
+ // local file, an environment variable, some string trimming - and a copy
62
+ // on each side of the boundary is two things to get wrong. It is the core
63
+ // lending downwards, never the core reaching up.
64
+
65
+ /// The first candidate that is non-empty, or the empty string.
66
+ std::string first(const std::string& one, const std::string& two);
67
+ std::string first(const std::string& one, const std::string& two, const std::string& three);
68
+
69
+ // -------------------------------------------------------------- file reads
70
+
71
+ enum class Readstate { Text, Absent, Failed };
72
+
73
+ /// The outcome of reading a file that may legitimately not be there.
74
+ struct Readout {
75
+ Readstate state = Readstate::Absent;
76
+ std::string text;
77
+ std::string why;
78
+ };
79
+
80
+ /// Read a whole file.
81
+ ///
82
+ /// Absence is a MISS and the chain carries on; anything else - permission
83
+ /// denied, an unreadable mount, a failing disk - is an ERROR, because
84
+ /// returning a miss there falls silently through to a weaker store.
85
+ ///
86
+ /// Reading a local file is the line that makes a kind built in, so this
87
+ /// lives in the core and the plugins that also need one (a Kubernetes
88
+ /// service-account token, say) use this rather than carrying a second
89
+ /// copy. It is the core lending downwards, never the core reaching up.
90
+ Readout readfile(const std::string& path);
91
+
92
+ /// One environment variable, or "". An empty value is absence: every port
93
+ /// treats a variable exported blank as one never set.
94
+ std::string envvar(const std::string& name);
95
+
96
+ /// Strip one trailing slash - a store's base address, a secret directory.
97
+ std::string trimslash(const std::string& text);
98
+
99
+ /// Strip space, tab, CR and LF from both ends - and NOT `\f` or `\v`. The
100
+ /// `.env` parser needs those two as well and keeps its own wider trim
101
+ /// (`trimdotenv`, in Sekreto.cpp), because the spec pins what that produces;
102
+ /// reaching for this one there instead is a silent behaviour change.
103
+ std::string trimtext(const std::string& text);
104
+
105
+ /// Strip one trailing newline, which is a file's or a CLI's line ending
106
+ /// and never part of the secret.
107
+ std::string dropnewline(const std::string& text);
108
+
109
+ } // namespace sekreto
110
+
111
+ #endif