@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,516 @@
1
+
2
+ import {
3
+ Model,
4
+ ModelEntity,
5
+ ModelPoint,
6
+ nom,
7
+ depluralize,
8
+ } from '@voxgig/apidef'
9
+
10
+
11
+ import {
12
+ Content,
13
+ File,
14
+ Folder,
15
+ Fragment,
16
+ Slot,
17
+ cmp,
18
+ snakify,
19
+ isAuthActive, envName, envToken,
20
+ serverVarEnv,
21
+ serverVariables,
22
+ pointParts,
23
+ } from '@voxgig/sdkgen'
24
+
25
+
26
+ import {
27
+ projectPath,
28
+ dartValue, dartStringLiteral} from './utility_dart'
29
+
30
+
31
+ const TestDirect = cmp(function TestDirect(props: any) {
32
+ const ctx$ = props.ctx$
33
+ const model: Model = ctx$.model
34
+ const stdrep = ctx$.stdrep
35
+
36
+ const entity: ModelEntity = props.entity
37
+
38
+ const ff = projectPath('src/cmp/dart/fragment/')
39
+
40
+ const PROJECTNAME = envName(model)
41
+ const entidEnvVar = `${PROJECTNAME}_TEST_${envToken(entity.name)}_ENTID`
42
+
43
+ const authActive = isAuthActive(model)
44
+ const apikeyEnvEntry = authActive
45
+ ? `\n '${PROJECTNAME}_APIKEY': '',`
46
+ : ''
47
+ const apikeyLiveField = authActive
48
+ ? `
49
+ 'apikey': env['${PROJECTNAME}_APIKEY'],`
50
+ : ''
51
+
52
+ // A templated server URL (OpenAPI server variables) makes a LIVE client
53
+ // impossible to construct without values: makeOptions raises rather than
54
+ // request a URL with a literal `{account_id}` in it. So the live suite
55
+ // takes them from the environment the same way it takes the apikey.
56
+ const svars = serverVariables(model)
57
+ const serverEnvEntry = svars
58
+ .map((v: any) => `\n '${serverVarEnv(PROJECTNAME, v.name)}': ${dartStringLiteral(v.dflt)},`).join('')
59
+ const serverLiveField = 0 === svars.length ? '' : `
60
+ 'server': <String, dynamic>{${svars
61
+ .map((v: any) => `
62
+ '${v.name}': env['${serverVarEnv(PROJECTNAME, v.name)}'],`).join('')}
63
+ },`
64
+
65
+ const opnames = Object.keys(entity.op || {})
66
+ const hasLoad = opnames.includes('load')
67
+ const hasList = opnames.includes('list')
68
+
69
+ if (!hasLoad && !hasList) {
70
+ return
71
+ }
72
+
73
+ Folder({ name: entity.name }, () => {
74
+
75
+ File({ name: nom(entity, 'Name') + 'Direct_test.dart' }, () => {
76
+
77
+ Fragment({
78
+ from: ff + 'Direct.test.fragment.dart',
79
+ replace: {
80
+ SdkName: nom(model.const, 'Name'),
81
+ EntityName: nom(entity, 'Name'),
82
+ entityname: entity.name,
83
+ PROJECTNAME,
84
+ ...stdrep,
85
+ }
86
+ }, () => {
87
+
88
+
89
+ Slot({ name: 'directSetup' }, () => {
90
+ Content(`
91
+ Map<String, dynamic> directSetup([dynamic mockres]) {
92
+ final calls = <Map<String, dynamic>>[];
93
+
94
+ final env = envOverride({
95
+ '${entidEnvVar}': <String, dynamic>{},
96
+ '${PROJECTNAME}_TEST_LIVE': 'FALSE',${apikeyEnvEntry}${serverEnvEntry}
97
+ });
98
+
99
+ final live = 'TRUE' == env['${PROJECTNAME}_TEST_LIVE'];
100
+
101
+ if (live) {
102
+ // Spread FIRST, so the generated fields below win: sdk-test-control.json's
103
+ // test.client.options adds to the live client, it does not redirect it.
104
+ final client = ${nom(model.const, 'Name')}SDK(<String, dynamic>{
105
+ ...liveClientOptions(),${apikeyLiveField}${serverLiveField}
106
+ });
107
+
108
+ dynamic idmap = env['${entidEnvVar}'];
109
+ if (idmap is String && idmap.startsWith('{')) {
110
+ idmap = jsonDecode(idmap);
111
+ }
112
+
113
+ return {'client': client, 'calls': calls, 'live': live, 'idmap': idmap};
114
+ }
115
+
116
+ mockFetch(dynamic url, dynamic init) async {
117
+ calls.add({'url': url, 'init': init});
118
+ return {
119
+ 'status': 200,
120
+ 'statusText': 'OK',
121
+ 'headers': <String, dynamic>{},
122
+ 'json': () => mockres ?? {'id': 'direct01'},
123
+ };
124
+ }
125
+
126
+ final client = ${nom(model.const, 'Name')}SDK({
127
+ 'base': 'http://localhost:8080',
128
+ 'system': {'fetch': mockFetch},
129
+ });
130
+
131
+ return {
132
+ 'client': client,
133
+ 'calls': calls,
134
+ 'live': live,
135
+ 'idmap': <String, dynamic>{},
136
+ };
137
+ }
138
+
139
+ // direct() returns the raw response body. List endpoints often wrap the
140
+ // array in an envelope (e.g. { data: [...] }, { entities: [...] }). The
141
+ // test transforms the raw body to extract the first list — either the body
142
+ // itself or the first list property of an envelope map.
143
+ dynamic unwrapListData(dynamic data) {
144
+ if (data is List) {
145
+ return data;
146
+ }
147
+ if (data is Map) {
148
+ for (final v in data.values) {
149
+ if (v is List) {
150
+ return v;
151
+ }
152
+ }
153
+ }
154
+ return null;
155
+ }
156
+ `)
157
+ })
158
+
159
+
160
+ Slot({ name: 'direct' }, () => {
161
+
162
+ if (hasLoad) {
163
+ generateDirectLoad(model, entity)
164
+ }
165
+
166
+ if (hasList) {
167
+ generateDirectList(model, entity)
168
+ }
169
+ })
170
+
171
+ })
172
+ })
173
+ })
174
+ })
175
+
176
+
177
+ function generateDirectLoad(model: Model, entity: ModelEntity) {
178
+ const loadOp = entity.op?.load
179
+ const loadPoint: ModelPoint | undefined = loadOp?.points?.[0]
180
+
181
+ if (null == loadPoint) {
182
+ return
183
+ }
184
+
185
+ const allLoadParams = loadPoint.args?.params || []
186
+ const loadPath = normalizePathParams(pointParts(loadPoint), allLoadParams, loadPoint.rename?.param)
187
+
188
+ // Only path params that actually appear in the URL template drive the
189
+ // direct-test path-param setup and URL-substitution asserts.
190
+ const pathPlaceholders = new Set<string>()
191
+ for (const part of pointParts(loadPoint)) {
192
+ if (typeof part === 'string' && part.startsWith('{') && part.endsWith('}')) {
193
+ pathPlaceholders.add(part.slice(1, -1))
194
+ }
195
+ }
196
+ const renameMap = (loadPoint.rename?.param || {}) as Record<string, string>
197
+ const renamedPlaceholders = new Set<string>()
198
+ for (const ph of pathPlaceholders) {
199
+ renamedPlaceholders.add(ph)
200
+ for (const [orig, renamed] of Object.entries(renameMap)) {
201
+ if (renamed === ph) renamedPlaceholders.add(orig)
202
+ }
203
+ }
204
+ const loadParams = allLoadParams.filter((p: any) =>
205
+ renamedPlaceholders.has(p.name) || renamedPlaceholders.has(p.orig))
206
+
207
+ // Required query params with spec-provided examples — needed to satisfy
208
+ // the API contract in live mode; mock mode ignores them.
209
+ const loadQuery = loadPoint.args?.query || []
210
+ const liveQueryEntries = loadQuery
211
+ .filter((q: any) => q.reqd && undefined !== q.example && null !== q.example)
212
+ const hasLiveQuery = liveQueryEntries.length > 0
213
+ const liveQueryLines = liveQueryEntries
214
+ .map((q: any) => ` query['${q.name}'] = ${dartValue(q.example)};`)
215
+ .join('\n')
216
+
217
+ // Get list info for live mode bootstrapping
218
+ const listOp = entity.op?.list
219
+ const listPoint = listOp?.points?.[0]
220
+ const listParams = listPoint?.args?.params || []
221
+ const listPath = listPoint ? normalizePathParams(pointParts(listPoint), listParams, listPoint.rename?.param) : ''
222
+ const hasList = null != listPoint
223
+
224
+ // Ancestor params (not 'id') for live mode
225
+ const ancestorParams = loadParams.filter((p: any) => p.name !== 'id')
226
+
227
+ const paramAsserts = loadParams.map((p: any, i: number) =>
228
+ ` ok(calls[0]['url'].toString().contains('direct0${i + 1}'));\n`).join('')
229
+
230
+ // Build live list params
231
+ const liveListParams = listParams.map((p: any) => {
232
+ const key = p.name === 'id'
233
+ ? entity.name + '01'
234
+ : p.name.replace(/_id$/, '') + '01'
235
+ return { name: p.name, key }
236
+ })
237
+
238
+ // Build live ancestor params for load
239
+ const liveAncestorParams = ancestorParams.map((p: any) => {
240
+ const key = p.name.replace(/_id$/, '') + '01'
241
+ return { name: p.name, key }
242
+ })
243
+
244
+ const liveQueryPrefix = liveQueryLines ? liveQueryLines + '\n' : ''
245
+
246
+ // Path params with spec-provided examples — when present, prefer them
247
+ // over list-bootstrap.
248
+ const liveExampleParams = loadParams.filter(
249
+ (p: any) => undefined !== p.example && null !== p.example
250
+ )
251
+ const allLoadParamsHaveExamples =
252
+ loadParams.length > 0 && liveExampleParams.length === loadParams.length
253
+
254
+ // Set of idmap keys this test reads in live mode: used to skip-on-missing.
255
+ let liveIdKeys: string[] = []
256
+
257
+ const mockParamLines = loadParams.map((p: any, i: number) =>
258
+ ` params['${p.name}'] = 'direct0${i + 1}';`).join('\n')
259
+
260
+ let liveParamsBlock = ''
261
+ if (allLoadParamsHaveExamples) {
262
+ const exampleLines = loadParams.map(
263
+ (p: any) => ` params['${p.name}'] = ${dartValue(p.example)};`
264
+ ).join('\n')
265
+ liveParamsBlock = ` if (true == setup['live']) {
266
+ ${liveQueryPrefix}${exampleLines}
267
+ } else {
268
+ ${mockParamLines}
269
+ }`
270
+ }
271
+ else if (hasList) {
272
+ // List-bootstrap pattern picks the load id from a list call's response.
273
+ liveIdKeys = liveAncestorParams.map((lp: any) => lp.key)
274
+ const listParamLines = liveListParams.map((lp: any) =>
275
+ ` '${lp.name}': setup['idmap']['${lp.key}'],`).join('\n')
276
+ const ancestorParamLines = liveAncestorParams.map((lp: any) =>
277
+ ` params['${lp.name}'] = setup['idmap']['${lp.key}'];`).join('\n')
278
+ const idParamName = loadParams.find((p: any) => p.name === 'id')
279
+ ? 'id'
280
+ : (loadParams[0]?.name ?? 'id')
281
+
282
+ liveParamsBlock = ` if (true == setup['live']) {
283
+ ${liveQueryPrefix} final listResult = await client.direct({
284
+ 'path': '${listPath}',
285
+ 'method': 'GET',
286
+ 'params': {
287
+ ${listParamLines}
288
+ },
289
+ });
290
+ if (true != listResult['ok']) {
291
+ return; // skip: list call failed (likely synthetic IDs against live API)
292
+ }
293
+ final listArr = unwrapListData(listResult['data']);
294
+ if (null == listArr || 0 == listArr.length) {
295
+ return; // skip: no entities to load in live mode
296
+ }
297
+ final candidateId =
298
+ (listArr[0] is Map ? listArr[0]['${idParamName}'] : null) ??
299
+ (listArr[0] is Map ? listArr[0]['id'] : null);
300
+ if (null == candidateId) {
301
+ return; // skip: list response shape does not expose load identifier
302
+ }
303
+ params['${idParamName}'] = candidateId;
304
+ ${ancestorParamLines}
305
+ } else {
306
+ ${mockParamLines}
307
+ }`
308
+ } else if (hasLiveQuery || loadParams.length > 0) {
309
+ // Synthetic-only fallback: skip live when ENTID overrides are missing.
310
+ if (loadParams.length > 0) {
311
+ liveIdKeys = loadParams.map((p: any) => p.name + '01')
312
+ }
313
+ liveParamsBlock = ` if (true == setup['live']) {
314
+ ${liveQueryPrefix.replace(/\n$/, '')}
315
+ } else {
316
+ ${mockParamLines}
317
+ }`
318
+ } else {
319
+ liveParamsBlock = ''
320
+ }
321
+
322
+ const skipMissingLine = liveIdKeys.length > 0
323
+ ? ` if (skipIfMissingIds(t, setup, ${JSON.stringify(liveIdKeys)})) {
324
+ return;
325
+ }\n`
326
+ : ''
327
+
328
+ Content(`
329
+ test('direct-load-${entity.name}', (t) async {
330
+ final setup = directSetup({'id': 'direct01'});
331
+ if (maybeSkipControl(
332
+ t, 'direct', 'direct-load-${entity.name}', true == setup['live'])) {
333
+ return;
334
+ }
335
+ ${skipMissingLine} final client = setup['client'];
336
+ final calls = setup['calls'];
337
+
338
+ final params = <String, dynamic>{};
339
+ final query = <String, dynamic>{};
340
+ ${liveParamsBlock}
341
+
342
+ final result = await client.direct({
343
+ 'path': '${loadPath}',
344
+ 'method': 'GET',
345
+ 'params': params,
346
+ 'query': query,
347
+ });
348
+
349
+ if (true == setup['live']) {
350
+ // Live mode is lenient: synthetic IDs frequently 4xx. Skip rather
351
+ // than fail when the load endpoint isn't reachable.
352
+ if (true != result['ok'] ||
353
+ result['status'] < 200 ||
354
+ result['status'] >= 300) {
355
+ return;
356
+ }
357
+ } else {
358
+ ok(true == result['ok']);
359
+ ok(200 == result['status']);
360
+ ok(null != result['data']);
361
+ ok('direct01' == result['data']['id']);
362
+ ok(1 == calls.length);
363
+ ok('GET' == calls[0]['init']['method']);
364
+ ${paramAsserts} }
365
+ });
366
+ `)
367
+ }
368
+
369
+
370
+ function generateDirectList(model: Model, entity: ModelEntity) {
371
+ const listOp = entity.op?.list
372
+ const listPoint: ModelPoint | undefined = listOp?.points?.[0]
373
+
374
+ if (null == listPoint) {
375
+ return
376
+ }
377
+
378
+ const listParams = listPoint.args?.params || []
379
+ const listPath = normalizePathParams(pointParts(listPoint), listParams, listPoint.rename?.param)
380
+
381
+ const listQuery = listPoint.args?.query || []
382
+ const liveQueryLines = listQuery
383
+ .filter((q: any) => q.reqd && undefined !== q.example && null !== q.example)
384
+ .map((q: any) => ` query['${q.name}'] = ${dartValue(q.example)};`)
385
+ .join('\n')
386
+
387
+ const liveParams = listParams.map((p: any) => {
388
+ const key = p.name === 'id'
389
+ ? entity.name + '01'
390
+ : p.name.replace(/_id$/, '') + '01'
391
+ return { name: p.name, key }
392
+ })
393
+
394
+ const paramAsserts = listParams.map((p: any, i: number) =>
395
+ ` ok(calls[0]['url'].toString().contains('direct0${i + 1}'));\n`).join('')
396
+
397
+ let paramsBlock = ''
398
+ if (listParams.length > 0 || liveQueryLines) {
399
+ const liveLines = [
400
+ liveQueryLines,
401
+ liveParams.map((lp: any) =>
402
+ ` params['${lp.name}'] = setup['idmap']['${lp.key}'];`).join('\n'),
403
+ ].filter(Boolean).join('\n')
404
+ const mockLines = listParams.map((p: any, i: number) =>
405
+ ` params['${p.name}'] = 'direct0${i + 1}';`).join('\n')
406
+
407
+ paramsBlock = ` if (true == setup['live']) {
408
+ ${liveLines}
409
+ }${mockLines ? ` else {
410
+ ${mockLines}
411
+ }` : ''}
412
+ `
413
+ } else {
414
+ paramsBlock = ''
415
+ }
416
+
417
+ const liveIdKeys: string[] = listParams.length > 0
418
+ ? liveParams.map((lp: any) => lp.key)
419
+ : []
420
+ const skipMissingLine = liveIdKeys.length > 0
421
+ ? ` if (skipIfMissingIds(t, setup, ${JSON.stringify(liveIdKeys)})) {
422
+ return;
423
+ }\n`
424
+ : ''
425
+
426
+ Content(`
427
+ test('direct-list-${entity.name}', (t) async {
428
+ final setup = directSetup([
429
+ {'id': 'direct01'},
430
+ {'id': 'direct02'}
431
+ ]);
432
+ if (maybeSkipControl(
433
+ t, 'direct', 'direct-list-${entity.name}', true == setup['live'])) {
434
+ return;
435
+ }
436
+ ${skipMissingLine} final client = setup['client'];
437
+ final calls = setup['calls'];
438
+
439
+ final params = <String, dynamic>{};
440
+ final query = <String, dynamic>{};
441
+ ${paramsBlock}
442
+ final result = await client.direct({
443
+ 'path': '${listPath}',
444
+ 'method': 'GET',
445
+ 'params': params,
446
+ 'query': query,
447
+ });
448
+
449
+ if (true == setup['live']) {
450
+ // Live mode is lenient: synthetic IDs frequently 4xx and the list-
451
+ // response shape varies wildly across public APIs. Skip rather than
452
+ // fail when the call doesn't return a usable list.
453
+ if (true != result['ok'] ||
454
+ result['status'] < 200 ||
455
+ result['status'] >= 300) {
456
+ return;
457
+ }
458
+ final listArr = unwrapListData(result['data']);
459
+ if (listArr is! List) {
460
+ return;
461
+ }
462
+ } else {
463
+ ok(true == result['ok']);
464
+ ok(200 == result['status']);
465
+ ok(null != result['data']);
466
+ final listArr = unwrapListData(result['data']);
467
+ ok(listArr is List);
468
+ ok(2 == listArr.length);
469
+ ok(1 == calls.length);
470
+ ok('GET' == calls[0]['init']['method']);
471
+ ${paramAsserts} }
472
+ });
473
+ `)
474
+ }
475
+
476
+
477
+ // Replace raw OpenAPI parameter names in path parts with model parameter
478
+ // names (see TestDirect_ts.ts for the full rationale).
479
+ function normalizePathParams(
480
+ parts: string[],
481
+ params: any[],
482
+ rename?: Record<string, string>
483
+ ): string {
484
+ return parts.map((part: string) => {
485
+ return part.replace(/\{([^}]+)\}/g, (match: string, rawName: string) => {
486
+ const snaked = snakify(rawName)
487
+ const depluralized = depluralize(snaked)
488
+ const param = params.find((p: any) =>
489
+ p.name === snaked || p.name === depluralized) ||
490
+ params.find((p: any) =>
491
+ p.orig === snaked || p.orig === depluralized)
492
+ if (param) return '{' + param.name + '}'
493
+
494
+ if (rename) {
495
+ for (const [origCamel, renamedTo] of Object.entries(rename)) {
496
+ if (renamedTo === rawName) {
497
+ const origSnaked = snakify(origCamel)
498
+ const origDepluralized = depluralize(origSnaked)
499
+ const renamedParam = params.find(
500
+ (p: any) => p.orig === origSnaked || p.name === origSnaked ||
501
+ p.orig === origDepluralized || p.name === origDepluralized
502
+ )
503
+ if (renamedParam) return '{' + renamedParam.name + '}'
504
+ }
505
+ }
506
+ }
507
+
508
+ return match
509
+ })
510
+ }).join('/')
511
+ }
512
+
513
+
514
+ export {
515
+ TestDirect
516
+ }