@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,118 @@
1
+ // ignore_for_file: non_constant_identifier_names
2
+
3
+ import 'dart:io';
4
+
5
+ import '../base/BaseFeature.dart';
6
+
7
+ // Outbound HTTP(S) proxy support. Wraps the active transport and attaches
8
+ // proxy routing to each request's fetch definition. The proxy target comes
9
+ // from options (`url`) or, when `fromEnv` is set, the standard
10
+ // HTTPS_PROXY / HTTP_PROXY / NO_PROXY environment variables. Constructing a
11
+ // concrete proxied client is transport-specific, so a factory may be
12
+ // supplied via `options.agent`; when absent the request is annotated with
13
+ // `fetchdef.proxy` for the transport to honour. Hosts matching `noProxy`
14
+ // bypass the proxy.
15
+ class ProxyFeature extends BaseFeature {
16
+ dynamic _client;
17
+ dynamic _url;
18
+ List<String> _noProxy = [];
19
+
20
+ ProxyFeature() {
21
+ version = '0.0.1';
22
+ name = 'proxy';
23
+ active = true;
24
+ }
25
+
26
+ @override
27
+ dynamic init(dynamic ctx, dynamic opts) {
28
+ _client = ctx.client;
29
+ options = opts is Map ? Map<String, dynamic>.from(opts) : {};
30
+ active = true == options['active'];
31
+
32
+ if (!active) {
33
+ return null;
34
+ }
35
+
36
+ _url = options['url'];
37
+ dynamic noProxy = options['noProxy'];
38
+
39
+ if (true == options['fromEnv']) {
40
+ final env = Platform.environment;
41
+ _url = _url ??
42
+ env['HTTPS_PROXY'] ??
43
+ env['https_proxy'] ??
44
+ env['HTTP_PROXY'] ??
45
+ env['http_proxy'];
46
+ noProxy = noProxy ?? env['NO_PROXY'] ?? env['no_proxy'];
47
+ }
48
+
49
+ _noProxy = (noProxy is String
50
+ ? noProxy.split(RegExp(r'\s*,\s*'))
51
+ : (noProxy is List ? noProxy.map((s) => s.toString()).toList() : <String>[]))
52
+ .where((s) => '' != s)
53
+ .map((s) => s.toString())
54
+ .toList();
55
+
56
+ final self = this;
57
+ final utility = ctx.utility;
58
+ final inner = utility.fetcher;
59
+
60
+ utility.fetcher = (dynamic ctx2, dynamic url, dynamic fetchdef) async {
61
+ fetchdef = self._route(url, fetchdef);
62
+ return inner(ctx2, url, fetchdef);
63
+ };
64
+ return null;
65
+ }
66
+
67
+ dynamic _route(dynamic url, dynamic fetchdef) {
68
+ if (null == _url || _bypass(url.toString())) {
69
+ return fetchdef;
70
+ }
71
+
72
+ final out = <String, dynamic>{};
73
+ if (fetchdef is Map) {
74
+ fetchdef.forEach((k, v) => out[k.toString()] = v);
75
+ }
76
+ out['proxy'] = _url;
77
+
78
+ final agent = options['agent'];
79
+ if (agent is Function) {
80
+ // Factory returns a transport-specific agent/dispatcher.
81
+ final made = agent(_url, url);
82
+ out['dispatcher'] = made;
83
+ out['agent'] = made;
84
+ }
85
+
86
+ _track(url);
87
+ return out;
88
+ }
89
+
90
+ bool _bypass(String url) {
91
+ if (0 == _noProxy.length) {
92
+ return false;
93
+ }
94
+ var host = url;
95
+ final m = RegExp(r'^[a-z]+://([^/:]+)', caseSensitive: false).firstMatch(url);
96
+ if (null != m) {
97
+ host = m.group(1)!;
98
+ }
99
+ for (final np in _noProxy) {
100
+ if ('*' == np) {
101
+ return true;
102
+ }
103
+ if (host == np ||
104
+ host.endsWith('.' + np.replaceFirst(RegExp(r'^\.'), ''))) {
105
+ return true;
106
+ }
107
+ }
108
+ return false;
109
+ }
110
+
111
+ void _track(dynamic url) {
112
+ final track = _client.track;
113
+ if (null == track['proxy']) {
114
+ track['proxy'] = {'routed': 0, 'url': _url};
115
+ }
116
+ track['proxy']['routed']++;
117
+ }
118
+ }
@@ -0,0 +1,103 @@
1
+ // ignore_for_file: non_constant_identifier_names
2
+
3
+ import 'dart:async';
4
+
5
+ import '../base/BaseFeature.dart';
6
+
7
+ // Client-side rate limiting via a token bucket. Each request consumes a
8
+ // token; when the bucket is empty the request waits until the bucket
9
+ // refills at `rate` tokens per second (with capacity `burst`). This keeps
10
+ // the client under a server's published quota rather than discovering it
11
+ // via 429s. The clock (`now`) and the wait (`sleep`) are injectable so the
12
+ // accounting can be tested deterministically without wall-clock timing.
13
+ class RatelimitFeature extends BaseFeature {
14
+ dynamic _client;
15
+ num _tokens = 0;
16
+ num _last = 0;
17
+
18
+ RatelimitFeature() {
19
+ version = '0.0.1';
20
+ name = 'ratelimit';
21
+ active = true;
22
+ }
23
+
24
+ @override
25
+ dynamic init(dynamic ctx, dynamic opts) {
26
+ _client = ctx.client;
27
+ options = opts is Map ? Map<String, dynamic>.from(opts) : {};
28
+ active = true == options['active'];
29
+
30
+ if (!active) {
31
+ return null;
32
+ }
33
+
34
+ final burst = null == options['burst']
35
+ ? (options['rate'] ?? 5)
36
+ : options['burst'];
37
+ _tokens = burst is num ? burst : 5;
38
+ _last = _now();
39
+
40
+ final self = this;
41
+ final utility = ctx.utility;
42
+ final inner = utility.fetcher;
43
+
44
+ utility.fetcher = (dynamic ctx2, dynamic url, dynamic fetchdef) async {
45
+ await self._acquire(ctx2);
46
+ return inner(ctx2, url, fetchdef);
47
+ };
48
+ return null;
49
+ }
50
+
51
+ Future<void> _acquire(dynamic ctx) async {
52
+ final rate = (options['rate'] ?? 5) as num;
53
+ final burst = (null == options['burst'] ? rate : options['burst']) as num;
54
+
55
+ // Refill according to elapsed time.
56
+ final now = _now();
57
+ final elapsed = now - _last;
58
+ _last = now;
59
+ final refilled = _tokens + (elapsed / 1000) * rate;
60
+ _tokens = refilled < burst ? refilled : burst;
61
+
62
+ if (_tokens >= 1) {
63
+ _tokens -= 1;
64
+ return;
65
+ }
66
+
67
+ // Not enough tokens: wait for one to accrue, then consume it.
68
+ final needed = 1 - _tokens;
69
+ final waitMs = ((needed / rate) * 1000).ceil();
70
+ _track(ctx, waitMs);
71
+ await _sleep(waitMs);
72
+ _last = _now();
73
+ _tokens = 0;
74
+ }
75
+
76
+ num _now() {
77
+ final now = options['now'];
78
+ if (now is Function) {
79
+ return now();
80
+ }
81
+ return DateTime.now().millisecondsSinceEpoch;
82
+ }
83
+
84
+ Future<void> _sleep(int ms) {
85
+ if (0 >= ms) {
86
+ return Future.value();
87
+ }
88
+ final sleeper = options['sleep'];
89
+ if (sleeper is Function) {
90
+ return Future.value(sleeper(ms)).then((_x) {});
91
+ }
92
+ return Future.delayed(Duration(milliseconds: ms));
93
+ }
94
+
95
+ void _track(dynamic ctx, int waitMs) {
96
+ final track = _client.track;
97
+ if (null == track['ratelimit']) {
98
+ track['ratelimit'] = <String, dynamic>{'throttled': 0, 'waitMs': 0};
99
+ }
100
+ track['ratelimit']['throttled']++;
101
+ track['ratelimit']['waitMs'] += waitMs;
102
+ }
103
+ }
@@ -0,0 +1,121 @@
1
+ // ignore_for_file: non_constant_identifier_names
2
+
3
+ import '../../utility/voxgig_struct.dart' as vs;
4
+
5
+ import '../base/BaseFeature.dart';
6
+
7
+ // Client-side role/permission enforcement. Before an operation resolves its
8
+ // endpoint, the required permission for that entity+operation is checked
9
+ // against the permissions the client holds; a disallowed call is
10
+ // short-circuited with an `rbac_denied` error and never touches the
11
+ // network. Required permissions come from `rules` (keyed by
12
+ // `<entity>.<op>`, `<op>`, or `*`); the default when no rule matches is
13
+ // controlled by `deny` (default: allow when unspecified). Held permissions
14
+ // are the `permissions` list (a `*` grants everything).
15
+ class RbacFeature extends BaseFeature {
16
+ dynamic _client;
17
+ final Map<String, bool> _granted = {};
18
+
19
+ RbacFeature() {
20
+ version = '0.0.1';
21
+ name = 'rbac';
22
+ active = true;
23
+ }
24
+
25
+ @override
26
+ dynamic init(dynamic ctx, dynamic opts) {
27
+ _client = ctx.client;
28
+ options = opts is Map ? Map<String, dynamic>.from(opts) : {};
29
+ active = true == options['active'];
30
+
31
+ _granted.clear();
32
+ final perms = options['permissions'] ?? [];
33
+ for (final p in perms) {
34
+ _granted[p.toString()] = true;
35
+ }
36
+ return null;
37
+ }
38
+
39
+ @override
40
+ dynamic PrePoint(dynamic ctx) {
41
+ if (!active) {
42
+ return null;
43
+ }
44
+
45
+ final required = _required(ctx);
46
+ if (null == required) {
47
+ // No rule: honour the default policy.
48
+ if (true == options['deny']) {
49
+ return _reject(ctx, '<default-deny>');
50
+ }
51
+ return null;
52
+ }
53
+
54
+ if (true == _granted['*'] || true == _granted[required]) {
55
+ _track(ctx, required, true);
56
+ return null;
57
+ }
58
+
59
+ return _reject(ctx, required);
60
+ }
61
+
62
+ String? _required(dynamic ctx) {
63
+ final rules = options['rules'] ?? {};
64
+ final entity = _entname(ctx.entity) != ''
65
+ ? _entname(ctx.entity)
66
+ : (null == ctx.op ? '' : (ctx.op.entity ?? '')).toString();
67
+ final opname = (null == ctx.op ? '' : (ctx.op.name ?? '')).toString();
68
+
69
+ if (null != vs.getprop(rules, entity + '.' + opname)) {
70
+ return vs.getprop(rules, entity + '.' + opname).toString();
71
+ }
72
+ if (null != vs.getprop(rules, opname)) {
73
+ return vs.getprop(rules, opname).toString();
74
+ }
75
+ if (null != vs.getprop(rules, '*')) {
76
+ return vs.getprop(rules, '*').toString();
77
+ }
78
+ return null;
79
+ }
80
+
81
+ dynamic _reject(dynamic ctx, String required) {
82
+ _track(ctx, required, false);
83
+ final err = ctx.error(
84
+ 'rbac_denied',
85
+ 'Permission "' +
86
+ required +
87
+ '" required for operation "' +
88
+ (null == ctx.op ? '?' : (ctx.op.name ?? '?')).toString() +
89
+ '"');
90
+ // Short-circuit endpoint resolution; the pipeline surfaces this error.
91
+ ctx.out['point'] = err;
92
+ return err;
93
+ }
94
+
95
+ void _track(dynamic ctx, String required, bool allowed) {
96
+ final track = _client.track;
97
+ if (null == track['rbac']) {
98
+ track['rbac'] = <String, dynamic>{'allowed': 0, 'denied': 0, 'last': null};
99
+ }
100
+ track['rbac'][allowed ? 'allowed' : 'denied']++;
101
+ track['rbac']['last'] = <String, dynamic>{
102
+ 'required': required,
103
+ 'allowed': allowed,
104
+ 'op': null == ctx.op ? null : ctx.op.name,
105
+ };
106
+ }
107
+
108
+ String _entname(dynamic ent) {
109
+ if (null == ent) {
110
+ return '';
111
+ }
112
+ if (ent is Map) {
113
+ return (vs.getprop(ent, 'name', '') ?? '').toString();
114
+ }
115
+ try {
116
+ return (ent.name ?? '').toString();
117
+ } catch (_e) {
118
+ return '';
119
+ }
120
+ }
121
+ }
@@ -0,0 +1,155 @@
1
+ // ignore_for_file: non_constant_identifier_names
2
+
3
+ import 'dart:async';
4
+ import 'dart:math';
5
+
6
+ import '../../utility/ErrUtility.dart';
7
+ import '../../utility/voxgig_struct.dart' as vs;
8
+
9
+ import '../base/BaseFeature.dart';
10
+
11
+ // Automatic retry of transient failures with exponential backoff and
12
+ // jitter. Wraps the active transport so a single operation call may make
13
+ // several HTTP attempts. A failure is retryable when the transport throws
14
+ // / returns an error, or responds with a status in `statuses`
15
+ // (default: 408, 425, 429, 500, 502, 503, 504). An HTTP 429/503 with a
16
+ // `Retry-After` header overrides the computed backoff.
17
+ class RetryFeature extends BaseFeature {
18
+ dynamic _client;
19
+
20
+ RetryFeature() {
21
+ version = '0.0.1';
22
+ name = 'retry';
23
+ active = true;
24
+ }
25
+
26
+ @override
27
+ dynamic init(dynamic ctx, dynamic opts) {
28
+ _client = ctx.client;
29
+ options = opts is Map ? Map<String, dynamic>.from(opts) : {};
30
+ active = true == options['active'];
31
+
32
+ if (!active) {
33
+ return null;
34
+ }
35
+
36
+ final self = this;
37
+ final utility = ctx.utility;
38
+ final inner = utility.fetcher;
39
+
40
+ utility.fetcher = (dynamic ctx2, dynamic url, dynamic fetchdef) async {
41
+ return self._withRetry(ctx2, url, fetchdef, inner);
42
+ };
43
+ return null;
44
+ }
45
+
46
+ Future<dynamic> _withRetry(
47
+ dynamic ctx, dynamic url, dynamic fetchdef, dynamic inner) async {
48
+ final opts = options;
49
+ final max = null == opts['retries'] ? 2 : (opts['retries'] as num).toInt();
50
+ final minDelay =
51
+ null == opts['minDelay'] ? 50 : (opts['minDelay'] as num).toInt();
52
+ final maxDelay =
53
+ null == opts['maxDelay'] ? 2000 : (opts['maxDelay'] as num).toInt();
54
+ final factor = null == opts['factor'] ? 2 : opts['factor'];
55
+
56
+ var attempt = 0;
57
+
58
+ for (;;) {
59
+ dynamic res;
60
+ var threw = false;
61
+ try {
62
+ res = await Future.value(inner(ctx, url, fetchdef));
63
+ } catch (err) {
64
+ threw = true;
65
+ res = err;
66
+ }
67
+
68
+ final retryable = _retryable(res);
69
+ if (!retryable || attempt >= max) {
70
+ // Out of attempts: rethrow a thrown error to preserve pipeline
71
+ // semantics, otherwise return the last response/error.
72
+ if (threw && attempt >= max) {
73
+ throw res;
74
+ }
75
+ return res;
76
+ }
77
+
78
+ final wait = _backoff(res, attempt, minDelay, maxDelay, factor);
79
+ _track(ctx, attempt + 1, res, wait);
80
+ await _sleep(wait);
81
+ attempt++;
82
+ }
83
+ }
84
+
85
+ bool _retryable(dynamic res) {
86
+ if (null == res) {
87
+ return true;
88
+ }
89
+ if (iserr(res)) {
90
+ return true;
91
+ }
92
+ final status = vs.getprop(res, 'status');
93
+ if (status is! num) {
94
+ return false;
95
+ }
96
+ final statuses =
97
+ options['statuses'] ?? [408, 425, 429, 500, 502, 503, 504];
98
+ return (statuses as List).contains(status);
99
+ }
100
+
101
+ int _backoff(
102
+ dynamic res, int attempt, int minDelay, int maxDelay, dynamic factor) {
103
+ // Honour a server-provided Retry-After (seconds) when present.
104
+ final ra = _retryAfter(res);
105
+ if (null != ra) {
106
+ return min(maxDelay, ra);
107
+ }
108
+ final base = minDelay * pow(factor is num ? factor : 2, attempt);
109
+ final jitter = false == options['jitter']
110
+ ? 0
111
+ : Random().nextInt(minDelay < 1 ? 1 : minDelay);
112
+ return min(maxDelay, base.toInt() + jitter);
113
+ }
114
+
115
+ int? _retryAfter(dynamic res) {
116
+ if (null == res) {
117
+ return null;
118
+ }
119
+ final headers = vs.getprop(res, 'headers');
120
+ if (headers is! Map) {
121
+ return null;
122
+ }
123
+ final v = headers['retry-after'] ?? headers['Retry-After'];
124
+ if (null == v) {
125
+ return null;
126
+ }
127
+ final n = v is num ? v : num.tryParse(v.toString());
128
+ return null == n ? null : (n * 1000).toInt();
129
+ }
130
+
131
+ Future<void> _sleep(int ms) {
132
+ if (0 >= ms) {
133
+ return Future.value();
134
+ }
135
+ final sleeper = options['sleep'];
136
+ if (sleeper is Function) {
137
+ return Future.value(sleeper(ms)).then((_x) {});
138
+ }
139
+ return Future.delayed(Duration(milliseconds: ms));
140
+ }
141
+
142
+ void _track(dynamic ctx, int attempt, dynamic res, int wait) {
143
+ final track = _client.track;
144
+ if (null == track['retry']) {
145
+ track['retry'] = <String, dynamic>{'attempts': 0, 'retries': <dynamic>[]};
146
+ }
147
+ track['retry']['attempts']++;
148
+ track['retry']['retries'].add({
149
+ 'attempt': attempt,
150
+ 'status': vs.getprop(res, 'status'),
151
+ 'error': iserr(res) ? errmsg(res) : null,
152
+ 'wait': wait,
153
+ });
154
+ }
155
+ }