@voxgig/sdkgen-langpack 0.0.1

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 (300) hide show
  1. package/.sdk/model/target/dart.aon +63 -0
  2. package/.sdk/model/target/haskell.aon +72 -0
  3. package/.sdk/model/target/lean.aon +91 -0
  4. package/.sdk/src/cmp/dart/Config_dart.ts +248 -0
  5. package/.sdk/src/cmp/dart/EntityBase_dart.ts +34 -0
  6. package/.sdk/src/cmp/dart/EntityOperation_dart.ts +43 -0
  7. package/.sdk/src/cmp/dart/EntityTypes_dart.ts +207 -0
  8. package/.sdk/src/cmp/dart/Entity_dart.ts +87 -0
  9. package/.sdk/src/cmp/dart/Gitignore_dart.ts +34 -0
  10. package/.sdk/src/cmp/dart/MainEntity_dart.ts +33 -0
  11. package/.sdk/src/cmp/dart/Main_dart.ts +178 -0
  12. package/.sdk/src/cmp/dart/Package_dart.ts +82 -0
  13. package/.sdk/src/cmp/dart/ReadmeEntity_dart.ts +177 -0
  14. package/.sdk/src/cmp/dart/ReadmeExamplesTest_dart.ts +238 -0
  15. package/.sdk/src/cmp/dart/ReadmeExplanation_dart.ts +53 -0
  16. package/.sdk/src/cmp/dart/ReadmeHowto_dart.ts +152 -0
  17. package/.sdk/src/cmp/dart/ReadmeInstall_dart.ts +59 -0
  18. package/.sdk/src/cmp/dart/ReadmeIntro_dart.ts +65 -0
  19. package/.sdk/src/cmp/dart/ReadmeModel_dart.ts +151 -0
  20. package/.sdk/src/cmp/dart/ReadmeOptions_dart.ts +63 -0
  21. package/.sdk/src/cmp/dart/ReadmeQuick_dart.ts +225 -0
  22. package/.sdk/src/cmp/dart/ReadmeRef_dart.ts +397 -0
  23. package/.sdk/src/cmp/dart/ReadmeTopHowto_dart.ts +24 -0
  24. package/.sdk/src/cmp/dart/ReadmeTopQuick_dart.ts +106 -0
  25. package/.sdk/src/cmp/dart/ReadmeTopTest_dart.ts +78 -0
  26. package/.sdk/src/cmp/dart/SdkError_dart.ts +42 -0
  27. package/.sdk/src/cmp/dart/TestDirect_dart.ts +516 -0
  28. package/.sdk/src/cmp/dart/TestEntity_dart.ts +628 -0
  29. package/.sdk/src/cmp/dart/Test_dart.ts +138 -0
  30. package/.sdk/src/cmp/dart/fragment/Config.data.fragment.dart +98 -0
  31. package/.sdk/src/cmp/dart/fragment/Config.fragment.dart +70 -0
  32. package/.sdk/src/cmp/dart/fragment/Direct.test.fragment.dart +25 -0
  33. package/.sdk/src/cmp/dart/fragment/Entity.fragment.dart +29 -0
  34. package/.sdk/src/cmp/dart/fragment/Entity.test.fragment.dart +28 -0
  35. package/.sdk/src/cmp/dart/fragment/EntityBase.fragment.dart +302 -0
  36. package/.sdk/src/cmp/dart/fragment/EntityCreateOp.fragment.dart +98 -0
  37. package/.sdk/src/cmp/dart/fragment/EntityListOp.fragment.dart +90 -0
  38. package/.sdk/src/cmp/dart/fragment/EntityLoadOp.fragment.dart +102 -0
  39. package/.sdk/src/cmp/dart/fragment/EntityRemoveOp.fragment.dart +108 -0
  40. package/.sdk/src/cmp/dart/fragment/EntityUpdateOp.fragment.dart +102 -0
  41. package/.sdk/src/cmp/dart/fragment/Main.fragment.dart +339 -0
  42. package/.sdk/src/cmp/dart/fragment/SdkError.fragment.dart +26 -0
  43. package/.sdk/src/cmp/dart/tsconfig.json +15 -0
  44. package/.sdk/src/cmp/dart/utility_dart.ts +155 -0
  45. package/.sdk/src/cmp/haskell/Config_haskell.ts +98 -0
  46. package/.sdk/src/cmp/haskell/Entity_haskell.ts +13 -0
  47. package/.sdk/src/cmp/haskell/Gitignore_haskell.ts +27 -0
  48. package/.sdk/src/cmp/haskell/Main_haskell.ts +123 -0
  49. package/.sdk/src/cmp/haskell/Package_haskell.ts +60 -0
  50. package/.sdk/src/cmp/haskell/ReadmeEntity_haskell.ts +186 -0
  51. package/.sdk/src/cmp/haskell/ReadmeExamplesTest_haskell.ts +135 -0
  52. package/.sdk/src/cmp/haskell/ReadmeExplanation_haskell.ts +48 -0
  53. package/.sdk/src/cmp/haskell/ReadmeHowto_haskell.ts +168 -0
  54. package/.sdk/src/cmp/haskell/ReadmeInstall_haskell.ts +51 -0
  55. package/.sdk/src/cmp/haskell/ReadmeIntro_haskell.ts +67 -0
  56. package/.sdk/src/cmp/haskell/ReadmeModel_haskell.ts +162 -0
  57. package/.sdk/src/cmp/haskell/ReadmeOptions_haskell.ts +74 -0
  58. package/.sdk/src/cmp/haskell/ReadmeQuick_haskell.ts +241 -0
  59. package/.sdk/src/cmp/haskell/ReadmeRef_haskell.ts +408 -0
  60. package/.sdk/src/cmp/haskell/ReadmeTopHowto_haskell.ts +31 -0
  61. package/.sdk/src/cmp/haskell/ReadmeTopQuick_haskell.ts +104 -0
  62. package/.sdk/src/cmp/haskell/ReadmeTopTest_haskell.ts +80 -0
  63. package/.sdk/src/cmp/haskell/Test_haskell.ts +297 -0
  64. package/.sdk/src/cmp/haskell/tsconfig.json +15 -0
  65. package/.sdk/src/cmp/haskell/utility_haskell.ts +166 -0
  66. package/.sdk/src/cmp/lean/Config_lean.ts +93 -0
  67. package/.sdk/src/cmp/lean/Entity_lean.ts +9 -0
  68. package/.sdk/src/cmp/lean/Gitignore_lean.ts +18 -0
  69. package/.sdk/src/cmp/lean/Main_lean.ts +120 -0
  70. package/.sdk/src/cmp/lean/Package_lean.ts +93 -0
  71. package/.sdk/src/cmp/lean/ReadmeEntity_lean.ts +29 -0
  72. package/.sdk/src/cmp/lean/ReadmeExplanation_lean.ts +19 -0
  73. package/.sdk/src/cmp/lean/ReadmeHowto_lean.ts +25 -0
  74. package/.sdk/src/cmp/lean/ReadmeInstall_lean.ts +39 -0
  75. package/.sdk/src/cmp/lean/ReadmeIntro_lean.ts +25 -0
  76. package/.sdk/src/cmp/lean/ReadmeModel_lean.ts +24 -0
  77. package/.sdk/src/cmp/lean/ReadmeOptions_lean.ts +22 -0
  78. package/.sdk/src/cmp/lean/ReadmeQuick_lean.ts +50 -0
  79. package/.sdk/src/cmp/lean/ReadmeRef_lean.ts +40 -0
  80. package/.sdk/src/cmp/lean/ReadmeTopHowto_lean.ts +16 -0
  81. package/.sdk/src/cmp/lean/ReadmeTopQuick_lean.ts +23 -0
  82. package/.sdk/src/cmp/lean/ReadmeTopTest_lean.ts +19 -0
  83. package/.sdk/src/cmp/lean/Test_lean.ts +261 -0
  84. package/.sdk/src/cmp/lean/utility_lean.ts +129 -0
  85. package/.sdk/tm/dart/LICENSE +22 -0
  86. package/.sdk/tm/dart/Makefile +50 -0
  87. package/.sdk/tm/dart/lib/Context.dart +150 -0
  88. package/.sdk/tm/dart/lib/Control.dart +15 -0
  89. package/.sdk/tm/dart/lib/Operation.dart +31 -0
  90. package/.sdk/tm/dart/lib/Point.dart +51 -0
  91. package/.sdk/tm/dart/lib/Response.dart +32 -0
  92. package/.sdk/tm/dart/lib/Result.dart +39 -0
  93. package/.sdk/tm/dart/lib/Spec.dart +49 -0
  94. package/.sdk/tm/dart/lib/feature/audit/AuditFeature.dart +103 -0
  95. package/.sdk/tm/dart/lib/feature/base/BaseFeature.dart +76 -0
  96. package/.sdk/tm/dart/lib/feature/cache/CacheFeature.dart +152 -0
  97. package/.sdk/tm/dart/lib/feature/clienttrack/ClienttrackFeature.dart +104 -0
  98. package/.sdk/tm/dart/lib/feature/cost/CostFeature.dart +446 -0
  99. package/.sdk/tm/dart/lib/feature/debug/DebugFeature.dart +153 -0
  100. package/.sdk/tm/dart/lib/feature/idempotency/IdempotencyFeature.dart +92 -0
  101. package/.sdk/tm/dart/lib/feature/log/LogFeature.dart +85 -0
  102. package/.sdk/tm/dart/lib/feature/metrics/MetricsFeature.dart +103 -0
  103. package/.sdk/tm/dart/lib/feature/netsim/NetsimFeature.dart +186 -0
  104. package/.sdk/tm/dart/lib/feature/paging/PagingFeature.dart +240 -0
  105. package/.sdk/tm/dart/lib/feature/proxy/ProxyFeature.dart +118 -0
  106. package/.sdk/tm/dart/lib/feature/ratelimit/RatelimitFeature.dart +103 -0
  107. package/.sdk/tm/dart/lib/feature/rbac/RbacFeature.dart +121 -0
  108. package/.sdk/tm/dart/lib/feature/retry/RetryFeature.dart +155 -0
  109. package/.sdk/tm/dart/lib/feature/secrets/SecretsFeature.dart +649 -0
  110. package/.sdk/tm/dart/lib/feature/secrets/plugin/capability.dart +105 -0
  111. package/.sdk/tm/dart/lib/feature/secrets/plugin/catalog.dart +46 -0
  112. package/.sdk/tm/dart/lib/feature/secrets/plugin/config.dart +297 -0
  113. package/.sdk/tm/dart/lib/feature/secrets/plugin/depend.dart +198 -0
  114. package/.sdk/tm/dart/lib/feature/secrets/plugin/env.dart +144 -0
  115. package/.sdk/tm/dart/lib/feature/secrets/plugin/export.dart +58 -0
  116. package/.sdk/tm/dart/lib/feature/secrets/plugin/graph.dart +160 -0
  117. package/.sdk/tm/dart/lib/feature/secrets/plugin/host.dart +1067 -0
  118. package/.sdk/tm/dart/lib/feature/secrets/plugin/order.dart +172 -0
  119. package/.sdk/tm/dart/lib/feature/secrets/plugin/plugin.dart +23 -0
  120. package/.sdk/tm/dart/lib/feature/secrets/plugin/point.dart +117 -0
  121. package/.sdk/tm/dart/lib/feature/secrets/plugin/ref.dart +105 -0
  122. package/.sdk/tm/dart/lib/feature/secrets/plugin/resolve.dart +58 -0
  123. package/.sdk/tm/dart/lib/feature/secrets/plugin/types.dart +201 -0
  124. package/.sdk/tm/dart/lib/feature/secrets/plugin/version.dart +116 -0
  125. package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/aws.dart +285 -0
  126. package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/azuresecrets.dart +178 -0
  127. package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/boru.dart +145 -0
  128. package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/crypto.dart +194 -0
  129. package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/doppler.dart +101 -0
  130. package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/gcpsecrets.dart +143 -0
  131. package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/hashicorp.dart +190 -0
  132. package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/httpjson.dart +363 -0
  133. package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/infisical.dart +149 -0
  134. package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/onepassword.dart +146 -0
  135. package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/secretspec.dart +116 -0
  136. package/.sdk/tm/dart/lib/feature/secrets/sekreto/plugins/sigv4.dart +237 -0
  137. package/.sdk/tm/dart/lib/feature/secrets/sekreto/src/addr.dart +138 -0
  138. package/.sdk/tm/dart/lib/feature/secrets/sekreto/src/json.dart +276 -0
  139. package/.sdk/tm/dart/lib/feature/secrets/sekreto/src/provider.dart +31 -0
  140. package/.sdk/tm/dart/lib/feature/secrets/sekreto/src/providers.dart +243 -0
  141. package/.sdk/tm/dart/lib/feature/secrets/sekreto/src/sekreto.dart +730 -0
  142. package/.sdk/tm/dart/lib/feature/secrets/sekreto/src/spec.dart +200 -0
  143. package/.sdk/tm/dart/lib/feature/secrets/sekreto/src/support.dart +217 -0
  144. package/.sdk/tm/dart/lib/feature/streaming/StreamingFeature.dart +97 -0
  145. package/.sdk/tm/dart/lib/feature/telemetry/TelemetryFeature.dart +136 -0
  146. package/.sdk/tm/dart/lib/feature/test/TestFeature.dart +328 -0
  147. package/.sdk/tm/dart/lib/feature/timeout/TimeoutFeature.dart +104 -0
  148. package/.sdk/tm/dart/lib/utility/CleanUtility.dart +12 -0
  149. package/.sdk/tm/dart/lib/utility/DoneUtility.dart +18 -0
  150. package/.sdk/tm/dart/lib/utility/ErrUtility.dart +46 -0
  151. package/.sdk/tm/dart/lib/utility/FeatureAddUtility.dart +35 -0
  152. package/.sdk/tm/dart/lib/utility/FeatureHookUtility.dart +20 -0
  153. package/.sdk/tm/dart/lib/utility/FeatureInitUtility.dart +9 -0
  154. package/.sdk/tm/dart/lib/utility/FetcherUtility.dart +104 -0
  155. package/.sdk/tm/dart/lib/utility/GraphqlUtility.dart +162 -0
  156. package/.sdk/tm/dart/lib/utility/MakeContextUtility.dart +6 -0
  157. package/.sdk/tm/dart/lib/utility/MakeErrorUtility.dart +71 -0
  158. package/.sdk/tm/dart/lib/utility/MakeFetchDefUtility.dart +42 -0
  159. package/.sdk/tm/dart/lib/utility/MakeOptionsUtility.dart +233 -0
  160. package/.sdk/tm/dart/lib/utility/MakePointUtility.dart +130 -0
  161. package/.sdk/tm/dart/lib/utility/MakeRequestUtility.dart +66 -0
  162. package/.sdk/tm/dart/lib/utility/MakeResponseUtility.dart +59 -0
  163. package/.sdk/tm/dart/lib/utility/MakeResultUtility.dart +49 -0
  164. package/.sdk/tm/dart/lib/utility/MakeSpecUtility.dart +77 -0
  165. package/.sdk/tm/dart/lib/utility/MakeUrlUtility.dart +51 -0
  166. package/.sdk/tm/dart/lib/utility/ParamUtility.dart +56 -0
  167. package/.sdk/tm/dart/lib/utility/PrepareAuthUtility.dart +46 -0
  168. package/.sdk/tm/dart/lib/utility/PrepareBodyUtility.dart +19 -0
  169. package/.sdk/tm/dart/lib/utility/PrepareHeadersUtility.dart +11 -0
  170. package/.sdk/tm/dart/lib/utility/PrepareMethodUtility.dart +30 -0
  171. package/.sdk/tm/dart/lib/utility/PrepareParamsUtility.dart +23 -0
  172. package/.sdk/tm/dart/lib/utility/PreparePathUtility.dart +9 -0
  173. package/.sdk/tm/dart/lib/utility/PrepareQueryUtility.dart +18 -0
  174. package/.sdk/tm/dart/lib/utility/ResultBasicUtility.dart +29 -0
  175. package/.sdk/tm/dart/lib/utility/ResultBodyUtility.dart +15 -0
  176. package/.sdk/tm/dart/lib/utility/ResultHeadersUtility.dart +18 -0
  177. package/.sdk/tm/dart/lib/utility/StructUtility.dart +127 -0
  178. package/.sdk/tm/dart/lib/utility/TransformRequestUtility.dart +28 -0
  179. package/.sdk/tm/dart/lib/utility/TransformResponseUtility.dart +44 -0
  180. package/.sdk/tm/dart/lib/utility/Utility.dart +239 -0
  181. package/.sdk/tm/dart/lib/utility/voxgig_struct.dart +2462 -0
  182. package/.sdk/tm/dart/src/feature/README.md +3 -0
  183. package/.sdk/tm/dart/src/feature/audit/.gitkeep +0 -0
  184. package/.sdk/tm/dart/src/feature/base/.gitkeep +0 -0
  185. package/.sdk/tm/dart/src/feature/cache/.gitkeep +0 -0
  186. package/.sdk/tm/dart/src/feature/clienttrack/.gitkeep +0 -0
  187. package/.sdk/tm/dart/src/feature/cost/.gitkeep +0 -0
  188. package/.sdk/tm/dart/src/feature/debug/.gitkeep +0 -0
  189. package/.sdk/tm/dart/src/feature/idempotency/.gitkeep +0 -0
  190. package/.sdk/tm/dart/src/feature/log/.gitkeep +0 -0
  191. package/.sdk/tm/dart/src/feature/metrics/.gitkeep +0 -0
  192. package/.sdk/tm/dart/src/feature/netsim/.gitkeep +0 -0
  193. package/.sdk/tm/dart/src/feature/paging/.gitkeep +0 -0
  194. package/.sdk/tm/dart/src/feature/proxy/.gitkeep +0 -0
  195. package/.sdk/tm/dart/src/feature/ratelimit/.gitkeep +0 -0
  196. package/.sdk/tm/dart/src/feature/rbac/.gitkeep +0 -0
  197. package/.sdk/tm/dart/src/feature/retry/.gitkeep +0 -0
  198. package/.sdk/tm/dart/src/feature/secrets/.gitkeep +0 -0
  199. package/.sdk/tm/dart/src/feature/streaming/.gitkeep +0 -0
  200. package/.sdk/tm/dart/src/feature/telemetry/.gitkeep +0 -0
  201. package/.sdk/tm/dart/src/feature/test/.gitkeep +0 -0
  202. package/.sdk/tm/dart/src/feature/timeout/.gitkeep +0 -0
  203. package/.sdk/tm/dart/test/custom_test.dart +65 -0
  204. package/.sdk/tm/dart/test/exists_test.dart +12 -0
  205. package/.sdk/tm/dart/test/feature/harness.dart +347 -0
  206. package/.sdk/tm/dart/test/feature/secrets/secrets_test.dart +1107 -0
  207. package/.sdk/tm/dart/test/feature_test.dart +1193 -0
  208. package/.sdk/tm/dart/test/harness.dart +153 -0
  209. package/.sdk/tm/dart/test/netsim_test.dart +48 -0
  210. package/.sdk/tm/dart/test/omni.dart +520 -0
  211. package/.sdk/tm/dart/test/omni_smoke_test.dart +143 -0
  212. package/.sdk/tm/dart/test/pipeline_test.dart +608 -0
  213. package/.sdk/tm/dart/test/primary_test.dart +476 -0
  214. package/.sdk/tm/dart/test/sdk-test-control.json +19 -0
  215. package/.sdk/tm/dart/test/struct_test.dart +468 -0
  216. package/.sdk/tm/dart/test/utility.dart +198 -0
  217. package/.sdk/tm/dart/test/vendor/omni/omni.dart +7 -0
  218. package/.sdk/tm/dart/test/vendor/omni/runner.dart +653 -0
  219. package/.sdk/tm/dart/test/vendor/omni/util.dart +232 -0
  220. package/.sdk/tm/haskell/LICENSE +21 -0
  221. package/.sdk/tm/haskell/Makefile +22 -0
  222. package/.sdk/tm/haskell/VERSION +1 -0
  223. package/.sdk/tm/haskell/src/SdkFeatures.hs +1440 -0
  224. package/.sdk/tm/haskell/src/SdkHelpers.hs +337 -0
  225. package/.sdk/tm/haskell/src/SdkJson.hs +111 -0
  226. package/.sdk/tm/haskell/src/SdkRuntime.hs +1279 -0
  227. package/.sdk/tm/haskell/src/SdkTypes.hs +195 -0
  228. package/.sdk/tm/haskell/src/VoxgigStruct.hs +2299 -0
  229. package/.sdk/tm/haskell/src/Vregex.hs +237 -0
  230. package/.sdk/tm/haskell/src/feature/README.md +5 -0
  231. package/.sdk/tm/haskell/src/feature/audit/.gitkeep +0 -0
  232. package/.sdk/tm/haskell/src/feature/base/.gitkeep +0 -0
  233. package/.sdk/tm/haskell/src/feature/cache/.gitkeep +0 -0
  234. package/.sdk/tm/haskell/src/feature/clienttrack/.gitkeep +0 -0
  235. package/.sdk/tm/haskell/src/feature/debug/.gitkeep +0 -0
  236. package/.sdk/tm/haskell/src/feature/idempotency/.gitkeep +0 -0
  237. package/.sdk/tm/haskell/src/feature/log/.gitkeep +0 -0
  238. package/.sdk/tm/haskell/src/feature/metrics/.gitkeep +0 -0
  239. package/.sdk/tm/haskell/src/feature/netsim/.gitkeep +0 -0
  240. package/.sdk/tm/haskell/src/feature/paging/.gitkeep +0 -0
  241. package/.sdk/tm/haskell/src/feature/proxy/.gitkeep +0 -0
  242. package/.sdk/tm/haskell/src/feature/ratelimit/.gitkeep +0 -0
  243. package/.sdk/tm/haskell/src/feature/rbac/.gitkeep +0 -0
  244. package/.sdk/tm/haskell/src/feature/retry/.gitkeep +0 -0
  245. package/.sdk/tm/haskell/src/feature/streaming/.gitkeep +0 -0
  246. package/.sdk/tm/haskell/src/feature/telemetry/.gitkeep +0 -0
  247. package/.sdk/tm/haskell/src/feature/test/.gitkeep +0 -0
  248. package/.sdk/tm/haskell/src/feature/timeout/.gitkeep +0 -0
  249. package/.sdk/tm/haskell/test/Harness.hs +281 -0
  250. package/.sdk/tm/haskell/test/OmniResolver.hs +252 -0
  251. package/.sdk/tm/haskell/test/Runner.hs +49 -0
  252. package/.sdk/tm/haskell/test/StructCorpus.hs +449 -0
  253. package/.sdk/tm/haskell/test/TCustomUtility.hs +38 -0
  254. package/.sdk/tm/haskell/test/TFeature.hs +794 -0
  255. package/.sdk/tm/haskell/test/TNetsim.hs +50 -0
  256. package/.sdk/tm/haskell/test/TPipeline.hs +334 -0
  257. package/.sdk/tm/haskell/test/TPrimaryCorpus.hs +263 -0
  258. package/.sdk/tm/haskell/test/TPrimaryUtility.hs +386 -0
  259. package/.sdk/tm/haskell/test/Testutil.hs +59 -0
  260. package/.sdk/tm/haskell/test/vendor/omni/Omni.hs +1147 -0
  261. package/.sdk/tm/lean/LICENSE +21 -0
  262. package/.sdk/tm/lean/Makefile +32 -0
  263. package/.sdk/tm/lean/VERSION +1 -0
  264. package/.sdk/tm/lean/src/SdkFeature.lean +171 -0
  265. package/.sdk/tm/lean/src/SdkFeatures.lean +787 -0
  266. package/.sdk/tm/lean/src/SdkJson.lean +134 -0
  267. package/.sdk/tm/lean/src/SdkRuntime.lean +374 -0
  268. package/.sdk/tm/lean/src/SdkUtility.lean +809 -0
  269. package/.sdk/tm/lean/src/VoxgigStruct.lean +2880 -0
  270. package/.sdk/tm/lean/src/Vregex.lean +412 -0
  271. package/.sdk/tm/lean/src/feature/README.md +5 -0
  272. package/.sdk/tm/lean/src/feature/audit/.gitkeep +0 -0
  273. package/.sdk/tm/lean/src/feature/base/.gitkeep +0 -0
  274. package/.sdk/tm/lean/src/feature/cache/.gitkeep +0 -0
  275. package/.sdk/tm/lean/src/feature/clienttrack/.gitkeep +0 -0
  276. package/.sdk/tm/lean/src/feature/cost/.gitkeep +0 -0
  277. package/.sdk/tm/lean/src/feature/debug/.gitkeep +0 -0
  278. package/.sdk/tm/lean/src/feature/idempotency/.gitkeep +0 -0
  279. package/.sdk/tm/lean/src/feature/log/.gitkeep +0 -0
  280. package/.sdk/tm/lean/src/feature/metrics/.gitkeep +0 -0
  281. package/.sdk/tm/lean/src/feature/netsim/.gitkeep +0 -0
  282. package/.sdk/tm/lean/src/feature/paging/.gitkeep +0 -0
  283. package/.sdk/tm/lean/src/feature/proxy/.gitkeep +0 -0
  284. package/.sdk/tm/lean/src/feature/ratelimit/.gitkeep +0 -0
  285. package/.sdk/tm/lean/src/feature/rbac/.gitkeep +0 -0
  286. package/.sdk/tm/lean/src/feature/retry/.gitkeep +0 -0
  287. package/.sdk/tm/lean/src/feature/streaming/.gitkeep +0 -0
  288. package/.sdk/tm/lean/src/feature/telemetry/.gitkeep +0 -0
  289. package/.sdk/tm/lean/src/feature/test/.gitkeep +0 -0
  290. package/.sdk/tm/lean/src/feature/timeout/.gitkeep +0 -0
  291. package/.sdk/tm/lean/test/OmniResolver.lean +358 -0
  292. package/.sdk/tm/lean/test/OmniSmoke.lean +174 -0
  293. package/.sdk/tm/lean/test/StructCorpus.lean +368 -0
  294. package/.sdk/tm/lean/test/TFeature.lean +281 -0
  295. package/.sdk/tm/lean/test/TPrimaryUtility.lean +227 -0
  296. package/.sdk/tm/lean/test/vendor/omni/Omni.lean +997 -0
  297. package/LICENSE +21 -0
  298. package/README.md +104 -0
  299. package/package.json +78 -0
  300. package/sdkgen-package.json +22 -0
@@ -0,0 +1,123 @@
1
+ import {
2
+ cmp, each,
3
+ File, Content, Copy, Folder,
4
+ } from '@voxgig/sdkgen'
5
+
6
+
7
+ import type {
8
+ ModelEntity
9
+ } from '@voxgig/apidef'
10
+
11
+
12
+ import {
13
+ KIT,
14
+ getModelPath
15
+ } from '@voxgig/apidef'
16
+
17
+
18
+ import { Package } from './Package_haskell'
19
+ import { Config } from './Config_haskell'
20
+ import { Gitignore } from './Gitignore_haskell'
21
+ import { hsVarName } from './utility_haskell'
22
+
23
+
24
+ const Main = cmp(async function Main(props: any) {
25
+
26
+ const { target } = props
27
+ const { model } = props.ctx$
28
+
29
+ const entity: ModelEntity = getModelPath(model, `main.${KIT}.entity`)
30
+
31
+ Package({ target })
32
+
33
+ Gitignore({})
34
+
35
+ // Copy tm/haskell verbatim: the runtime under src/ (VoxgigStruct, Vregex,
36
+ // SdkTypes, SdkHelpers, SdkRuntime, SdkFeatures), the test suite under
37
+ // test/, and Makefile/LICENSE/VERSION. The per-feature custom-source
38
+ // scaffold under src/feature is excluded (this target does not use it —
39
+ // entities are generic and config-driven, so there are no per-entity or
40
+ // per-feature generated modules). Placeholder substitution applies.
41
+ Copy({
42
+ from: 'tm/' + target.name,
43
+ exclude: [/src\/feature\//],
44
+ replace: {
45
+ ...props.ctx$.stdrep,
46
+ }
47
+ })
48
+
49
+ // Generated modules under src/: the API config + feature factory, and the
50
+ // public client (SDK constructors + entity accessors).
51
+ Folder({ name: 'src' }, () => {
52
+
53
+ Config({ target })
54
+
55
+ File({ name: 'SdkClient.' + target.ext }, () => {
56
+
57
+ let accessors = ''
58
+ let exports = ''
59
+ each(entity, (e: any) => {
60
+ const fn = hsVarName(e.name)
61
+ exports += ` , ${fn}\n`
62
+ accessors += `-- | The ${e.Name} entity bound to this client.
63
+ ${fn} :: Client -> Value -> IO Entity
64
+ ${fn} client entopts = F.makeEntity client "${e.name}" entopts
65
+
66
+ `
67
+ })
68
+
69
+ Content(`-- ${model.const.Name} SDK public client (generated by @voxgig/sdkgen).
70
+ --
71
+ -- SDK constructors (newSdk / testSdk) and one accessor per entity. Entities
72
+ -- are generic — every accessor calls the config-driven F.makeEntity, so the
73
+ -- operation pipeline is identical for every entity and every API.
74
+
75
+ module SdkClient
76
+ ( module SdkTypes
77
+ , newSdk
78
+ , newSdk0
79
+ , testSdk
80
+ , testSdk0
81
+ ${exports} ) where
82
+
83
+ import Data.IORef (readIORef)
84
+
85
+ import VoxgigStruct (Value (..))
86
+ import SdkTypes
87
+ import SdkConfig (makeConfig, makeFeature)
88
+ import qualified SdkFeatures as F
89
+
90
+ -- | Construct a live SDK client from an options map (Noval for defaults).
91
+ newSdk :: Value -> IO Client
92
+ newSdk options = do
93
+ cfg <- makeConfig
94
+ F.makeClientBase cfg makeFeature options
95
+
96
+ -- | No-argument convenience constructor.
97
+ newSdk0 :: IO Client
98
+ newSdk0 = newSdk VNoval
99
+
100
+ -- | Construct a test-mode SDK: testSdk testopts sdkopts.
101
+ testSdk :: Value -> Value -> IO Client
102
+ testSdk testopts sdkopts = do
103
+ cfg <- makeConfig
104
+ F.sdkTest cfg makeFeature testopts sdkopts
105
+
106
+ -- | No-argument convenience test constructor.
107
+ testSdk0 :: IO Client
108
+ testSdk0 = testSdk VNoval VNoval
109
+
110
+ -- | The active client mode ("live" or "test").
111
+ clientMode :: Client -> IO String
112
+ clientMode = readIORef . clMode
113
+
114
+ ${accessors}`)
115
+ })
116
+ })
117
+
118
+ })
119
+
120
+
121
+ export {
122
+ Main
123
+ }
@@ -0,0 +1,60 @@
1
+ import {
2
+ Content,
3
+ File,
4
+ cmp,
5
+ packageVersion,
6
+ } from '@voxgig/sdkgen'
7
+
8
+
9
+ import type {
10
+ Model,
11
+ } from '@voxgig/apidef'
12
+
13
+
14
+ function pkgName(model: any): string {
15
+ const org = (model.origin || 'voxgig-sdk').replace(/-sdk$/, '')
16
+ return `${org}-${model.name}-sdk`.toLowerCase().replace(/[^a-z0-9-]/g, '-')
17
+ }
18
+
19
+
20
+ // The cabal package file (for Hackage publication). The offline test build
21
+ // uses the Makefile (stock ghc, boot libraries only: base + containers +
22
+ // array + time), so no cabal solve is required to run the suite.
23
+ const Package = cmp(async function Package(props: any) {
24
+ const ctx$ = props.ctx$
25
+ const target = props.target
26
+
27
+ const model: Model = ctx$.model
28
+
29
+ File({ name: pkgName(model) + '.cabal' }, () => {
30
+ Content(`cabal-version: 2.4
31
+ name: ${pkgName(model)}
32
+ version: ${packageVersion(model, target.name)}
33
+ synopsis: ${model.const.Name} SDK for Haskell (generated by @voxgig/sdkgen)
34
+ license: MIT
35
+ build-type: Simple
36
+
37
+ library
38
+ default-language: Haskell2010
39
+ hs-source-dirs: src
40
+ exposed-modules: VoxgigStruct
41
+ Vregex
42
+ SdkJson
43
+ SdkTypes
44
+ SdkHelpers
45
+ SdkRuntime
46
+ SdkFeatures
47
+ SdkConfig
48
+ SdkClient
49
+ build-depends: base >=4.14 && <5
50
+ , containers >=0.6 && <0.8
51
+ , array >=0.5 && <0.6
52
+ , time >=1.9 && <1.15
53
+ `)
54
+ })
55
+ })
56
+
57
+
58
+ export {
59
+ Package
60
+ }
@@ -0,0 +1,186 @@
1
+
2
+ import { cmp, each, Content, canonKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
+
4
+ import {
5
+ KIT,
6
+ getModelPath,
7
+ } from '@voxgig/apidef'
8
+
9
+ import { hsVarName } from './utility_haskell'
10
+
11
+
12
+ // A type-correct Haskell `Value` literal for a field's canonical type.
13
+ function hsLit(type: any, placeholder: string = 'example'): string {
14
+ const k = canonKey(type)
15
+ if ('INTEGER' === k || 'NUMBER' === k) return 'VNum 1'
16
+ if ('BOOLEAN' === k) return 'VBool True'
17
+ if ('ARRAY' === k || 'OBJECT' === k) return 'VNoval'
18
+ return `VStr "${placeholder}"`
19
+ }
20
+
21
+
22
+ // A readable Haskell type name for a field's canonical type. The runtime
23
+ // carries every field as a dynamic `Value`; this documents the logical type.
24
+ function hsType(type: any): string {
25
+ const k = canonKey(type)
26
+ if ('STRING' === k) return 'String'
27
+ if ('INTEGER' === k) return 'Int'
28
+ if ('NUMBER' === k) return 'Double'
29
+ if ('BOOLEAN' === k) return 'Bool'
30
+ if ('ARRAY' === k) return '[Value]'
31
+ return 'Value'
32
+ }
33
+
34
+
35
+ const OP_DESC: Record<string, { method: string, desc: string }> = {
36
+ load: { method: 'eLoad ent match ctrl', desc: 'Load a single entity by match criteria. Resolves to the entity.' },
37
+ list: { method: 'eList ent match ctrl', desc: 'List entities, optionally matching the given criteria. Resolves to one entity per record.' },
38
+ create: { method: 'eCreate ent data ctrl', desc: 'Create a new entity with the given data. Resolves to the entity.' },
39
+ update: { method: 'eUpdate ent data ctrl', desc: 'Update an existing entity. Resolves to the entity.' },
40
+ remove: { method: 'eRemove ent match ctrl', desc: 'Remove the matching entity. Resolves to the entity, marked deleted.' },
41
+ }
42
+
43
+
44
+ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
45
+ const { target } = props
46
+ const { model } = props.ctx$
47
+
48
+ const entity = getModelPath(model, `main.${KIT}.entity`)
49
+
50
+ const publishedEntities = each(entity)
51
+ .filter((entity: any) => entity.active !== false)
52
+
53
+ if (0 === publishedEntities.length) {
54
+ return
55
+ }
56
+
57
+ Content(`
58
+
59
+ ## Entities
60
+
61
+ `)
62
+
63
+ publishedEntities.map((entity: any) => {
64
+ const opnames = Object.keys(entity.op || {})
65
+ const fields = entity.fields || []
66
+ const idF = entityIdField(entity)
67
+ const eFn = hsVarName(entity.name)
68
+
69
+ Content(`
70
+ ### ${entity.Name}
71
+
72
+ `)
73
+
74
+ if (entity.short) {
75
+ Content(`${entity.short}
76
+
77
+ `)
78
+ }
79
+
80
+ Content(`Create an instance: \`${eFn} <- Sdk.${eFn} sdk VNoval\`
81
+
82
+ `)
83
+
84
+ if (opnames.length > 0) {
85
+ Content(`#### Operations
86
+
87
+ | Method | Description |
88
+ | --- | --- |
89
+ `)
90
+ opnames.map((opname: string) => {
91
+ const info = OP_DESC[opname]
92
+ if (info) {
93
+ Content(`| \`${info.method}\` | ${info.desc} |
94
+ `)
95
+ }
96
+ })
97
+
98
+ Content(`
99
+ `)
100
+ }
101
+
102
+ if (fields.length > 0) {
103
+ Content(`#### Fields
104
+
105
+ | Field | Type | Description |
106
+ | --- | --- | --- |
107
+ `)
108
+
109
+ each(fields, (field: any) => {
110
+ const desc = field.short || ''
111
+ Content(`| \`${field.name}\` | \`${hsType(field.type)}\` | ${desc} |
112
+ `)
113
+ })
114
+
115
+ Content(`
116
+ `)
117
+ }
118
+
119
+ if (opnames.includes('load')) {
120
+ const loadItems = opRequestShape(entity, 'load').items
121
+ .filter((it: any) => !it.optional || it.name === idF)
122
+ .sort((a: any, b: any) =>
123
+ (a.name === idF ? 0 : 1) - (b.name === idF ? 0 : 1))
124
+ const loadArg = 0 < loadItems.length
125
+ ? `[${loadItems.map((it: any) =>
126
+ `("${it.name}", ${hsLit(it.type,
127
+ it.name === idF ? entity.name + '_id' : it.name)})`).join(', ')}]`
128
+ : '[]'
129
+ Content(`#### Example: Load
130
+
131
+ \`\`\`haskell
132
+ ent <- Sdk.${eFn} sdk VNoval
133
+ match <- jo ${loadArg}
134
+ ctrl <- emptyMap
135
+ ${eFn} <- Sdk.eLoad ent match ctrl
136
+ -- The op resolves to the ENTITY; the record is inside it.
137
+ ${eFn}Data <- Sdk.eDataGet ${eFn}
138
+ \`\`\`
139
+
140
+ `)
141
+ }
142
+
143
+ if (opnames.includes('list')) {
144
+ Content(`#### Example: List
145
+
146
+ \`\`\`haskell
147
+ ent <- Sdk.${eFn} sdk VNoval
148
+ match <- emptyMap
149
+ ctrl <- emptyMap
150
+ -- One ENTITY per record.
151
+ ${eFn}s <- Sdk.eList ent match ctrl
152
+ ${eFn}Datas <- mapM Sdk.eDataGet ${eFn}s
153
+ \`\`\`
154
+
155
+ `)
156
+ }
157
+
158
+ if (opnames.includes('create')) {
159
+ const createItems = opRequestShape(entity, 'create').items
160
+ .filter((it: any) => !it.optional)
161
+ Content(`#### Example: Create
162
+
163
+ \`\`\`haskell
164
+ ent <- Sdk.${eFn} sdk VNoval
165
+ d <- jo
166
+ [`)
167
+ createItems.map((it: any, i: number) => {
168
+ const bracket = 0 === i ? ' ' : ', '
169
+ Content(`${bracket}("${it.name}", ${hsLit(it.type, 'example_' + it.name)}) -- ${hsType(it.type)}
170
+ `)
171
+ })
172
+ Content(`]
173
+ ctrl <- emptyMap
174
+ ${eFn} <- Sdk.eCreate ent d ctrl
175
+ ${eFn}Data <- Sdk.eDataGet ${eFn}
176
+ \`\`\`
177
+
178
+ `)
179
+ }
180
+ })
181
+ })
182
+
183
+
184
+ export {
185
+ ReadmeEntity
186
+ }
@@ -0,0 +1,135 @@
1
+
2
+ import { cmp, File, Content } from '@voxgig/sdkgen'
3
+
4
+
5
+ // Emits test/TReadmeExamples.hs — a STRUCTURAL gate over every fenced
6
+ // Haskell code block in the three docs that ship Haskell examples:
7
+ // - the root README.md (top-level, multi-language quick start)
8
+ // - the per-language haskell/README.md
9
+ // - the per-language haskell/REFERENCE.md
10
+ //
11
+ // DESIGN NOTE vs the Python gate (ReadmeExamplesTest_py.ts): the Python
12
+ // version parses AND executes every block in a seeded test-mode subprocess.
13
+ // A faithful Haskell port would compile every snippet against the generated
14
+ // SDK — a throwaway module per block plus a GHC invocation — a large,
15
+ // environment-sensitive harness that cannot be authored safely without a build
16
+ // to validate it. This gate instead validates that every documented Haskell
17
+ // block is PRESENT, non-empty, and STRUCTURALLY well-formed (balanced
18
+ // delimiters). Missing docs are tolerated (a run may generate a subset of
19
+ // phases), and no blocks found records no failures — so this never breaks the
20
+ // shared runner. Upgrading it to a true compile gate is left as a follow-up.
21
+ //
22
+ // The emitted module exposes `tests :: Counters -> IO ()`; the generated
23
+ // SdkGenTests calls it, so it runs inside the standard Runner. The triple
24
+ // backtick fence marker is built from its char code (toEnum 96) so this
25
+ // component's Haskell source needs no backtick/backslash gymnastics.
26
+ const ReadmeExamplesTest = cmp(function ReadmeExamplesTest(props: any) {
27
+ const { target, ctx$: { model } } = props
28
+
29
+ const Name = model.const.Name
30
+
31
+ File({ name: 'TReadmeExamples.' + target.ext }, () => {
32
+ Content(`-- ${Name} SDK — documentation Haskell-examples structural gate.
33
+ --
34
+ -- Validates that every fenced Haskell code block in the SDK docs (the root
35
+ -- README.md, the per-language README.md, and REFERENCE.md) is present,
36
+ -- non-empty, and has balanced delimiters. Missing docs are tolerated (a run
37
+ -- may generate a subset of phases), so this gate never breaks the shared
38
+ -- runner. See ReadmeExamplesTest_haskell for why this is a structural gate
39
+ -- rather than a full compile harness. Generated by @voxgig/sdkgen.
40
+
41
+ {-# LANGUAGE ScopedTypeVariables #-}
42
+
43
+ module TReadmeExamples (tests) where
44
+
45
+ import Control.Exception (SomeException, evaluate, try)
46
+ import Control.Monad (forM_)
47
+
48
+ import Testutil (Counters, runTest)
49
+
50
+
51
+ -- True for the whitespace characters we trim: space, tab, carriage return.
52
+ isWs :: Char -> Bool
53
+ isWs ch = let n = fromEnum ch in n == 32 || n == 9 || n == 13
54
+
55
+
56
+ -- Trim leading/trailing whitespace from a line.
57
+ trimWs :: String -> String
58
+ trimWs = f . f
59
+ where f = reverse . dropWhile isWs
60
+
61
+
62
+ -- Read a doc file, tolerating absence (returns "" when missing/unreadable).
63
+ readDoc :: FilePath -> IO String
64
+ readDoc path = do
65
+ r <- try (do s <- readFile path; _ <- evaluate (length s); pure s)
66
+ :: IO (Either SomeException String)
67
+ pure (either (const "") id r)
68
+
69
+
70
+ -- Extract the body of every fenced Haskell block from markdown. Returns
71
+ -- (blocks, allClosed) where allClosed is False when a fence was opened but
72
+ -- never closed before EOF — a malformed doc that must fail rather than pass
73
+ -- silently on the unterminated block. The fence marker (three backticks) is
74
+ -- built from its char code so this source stays backtick-free.
75
+ haskellBlocks :: String -> ([String], Bool)
76
+ haskellBlocks src = go (lines src)
77
+ where
78
+ fence3 = replicate 3 (toEnum 96 :: Char)
79
+ fenceHs = fence3 ++ "haskell"
80
+ go [] = ([], True)
81
+ go (l : ls)
82
+ | trimWs l == fenceHs =
83
+ case break (\\x -> trimWs x == fence3) ls of
84
+ (blk, []) -> ([unlines blk], False)
85
+ (blk, _ : rest) -> let (bs, ok) = go rest in (unlines blk : bs, ok)
86
+ | otherwise = go ls
87
+
88
+
89
+ -- Balanced (), [], {} outside of double-quoted string literals, with each
90
+ -- closer matching the most-recent opener via a stack (so "([)]" is rejected,
91
+ -- not merely counted). The generated snippets never embed an escaped quote
92
+ -- inside a string.
93
+ balanced :: String -> Bool
94
+ balanced = go False []
95
+ where
96
+ go inStr stack [] = not inStr && null stack
97
+ go inStr stack (c : cs)
98
+ | c == '"' = go (not inStr) stack cs
99
+ | inStr = go inStr stack cs
100
+ | c == '(' = go inStr (')' : stack) cs
101
+ | c == '[' = go inStr (']' : stack) cs
102
+ | c == '{' = go inStr ('}' : stack) cs
103
+ | c == ')' || c == ']' || c == '}' =
104
+ case stack of
105
+ (top : rest) | top == c -> go inStr rest cs
106
+ _ -> False
107
+ | otherwise = go inStr stack cs
108
+
109
+
110
+ -- The three documents held to the gate, tagged by human label.
111
+ docs :: [(String, FilePath)]
112
+ docs =
113
+ [ ("root README", "../README.md")
114
+ , ("${target.name} README", "README.md")
115
+ , ("${target.name} REFERENCE", "REFERENCE.md")
116
+ ]
117
+
118
+
119
+ tests :: Counters -> IO ()
120
+ tests c =
121
+ forM_ docs (\\(label, path) -> do
122
+ src <- readDoc path
123
+ let (blocks, closed) = haskellBlocks src
124
+ runTest c (label ++ " haskell fences closed") (pure closed)
125
+ forM_ (zip [1 :: Int ..] blocks) (\\(i, blk) ->
126
+ runTest c (label ++ " haskell block " ++ show i ++ " well-formed")
127
+ (pure (not (null (trimWs blk)) && balanced blk))))
128
+ `)
129
+ })
130
+ })
131
+
132
+
133
+ export {
134
+ ReadmeExamplesTest
135
+ }
@@ -0,0 +1,48 @@
1
+
2
+ import { cmp, Content } from '@voxgig/sdkgen'
3
+
4
+
5
+ const ReadmeExplanation = cmp(function ReadmeExplanation(props: any) {
6
+ const { target, ctx$: { model } } = props
7
+
8
+ Content(`### Data as struct Values
9
+
10
+ The Haskell SDK models every API record as the dynamic \`Value\` type (from
11
+ the vendored \`VoxgigStruct\` module) rather than bespoke Haskell records.
12
+ This mirrors the dynamic nature of the API and keeps the SDK flexible — no
13
+ new datatypes or code generation are needed when the API schema changes.
14
+
15
+ Build request maps with \`jo [(key, value)]\` and read fields back with
16
+ \`getp value "field"\`; scalars are the \`VStr\` / \`VNum\` / \`VBool\`
17
+ constructors, and \`VNoval\` stands for an absent property.
18
+
19
+ ### Module structure
20
+
21
+ \`\`\`
22
+ ${target.name}/
23
+ ├── src/
24
+ │ ├── VoxgigStruct.hs -- vendored dependency-free struct library (Value)
25
+ │ ├── Vregex.hs -- vendored regex support
26
+ │ ├── SdkTypes.hs -- core types (Client, Entity, Feature)
27
+ │ ├── SdkHelpers.hs -- helper functions (jo, getp, ...)
28
+ │ ├── SdkRuntime.hs -- the generic operation pipeline
29
+ │ ├── SdkFeatures.hs -- built-in features + makeEntity
30
+ │ ├── SdkConfig.hs -- generated API configuration + feature factory
31
+ │ └── SdkClient.hs -- generated public client (newSdk, entity accessors)
32
+ ├── test/ -- test suites
33
+ ├── Makefile -- stock-GHC build/test (no third-party deps)
34
+ └── ${model.const.Name.toLowerCase()}-sdk.cabal -- package manifest (for Hackage)
35
+ \`\`\`
36
+
37
+ The public module (\`SdkClient\`) exports the SDK constructors (\`newSdk\`,
38
+ \`testSdk\`) and one accessor per entity. Import \`VoxgigStruct\` for the
39
+ \`Value\` constructors and \`SdkHelpers\` for \`jo\` / \`getp\`.
40
+
41
+ `)
42
+
43
+ })
44
+
45
+
46
+ export {
47
+ ReadmeExplanation
48
+ }