@versori/run 0.2.28 → 0.3.0-beta.2

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 (425) hide show
  1. package/esm/src/connection/DirectConnectionFactory.d.ts +29 -0
  2. package/esm/src/connection/DirectConnectionFactory.d.ts.map +1 -0
  3. package/esm/src/connection/DirectConnectionFactory.js +82 -0
  4. package/esm/src/connection/DynamicFetchFactory.d.ts +30 -0
  5. package/esm/src/connection/DynamicFetchFactory.d.ts.map +1 -0
  6. package/esm/src/connection/DynamicFetchFactory.js +113 -0
  7. package/esm/src/connection/StaticFetchFactory.d.ts +11 -0
  8. package/esm/src/connection/StaticFetchFactory.d.ts.map +1 -0
  9. package/esm/src/connection/StaticFetchFactory.js +35 -0
  10. package/esm/src/connection/internal/CredentialHolder.d.ts +11 -0
  11. package/esm/src/connection/internal/CredentialHolder.d.ts.map +1 -0
  12. package/esm/src/connection/internal/CredentialHolder.js +66 -0
  13. package/esm/src/connection/internal/FetchBuilder.d.ts +15 -0
  14. package/esm/src/connection/internal/FetchBuilder.d.ts.map +1 -0
  15. package/esm/src/connection/internal/FetchBuilder.js +89 -0
  16. package/esm/src/connection/internal/HttpClientFactory.d.ts +14 -0
  17. package/esm/src/connection/internal/HttpClientFactory.d.ts.map +1 -0
  18. package/esm/src/connection/internal/HttpClientFactory.js +42 -0
  19. package/esm/src/connection/internal/InboundConnectionFactory.d.ts +19 -0
  20. package/esm/src/connection/internal/InboundConnectionFactory.d.ts.map +1 -0
  21. package/esm/src/connection/internal/InboundConnectionFactory.js +390 -0
  22. package/esm/src/connection/internal/OutboundConnectionFactory.d.ts +31 -0
  23. package/esm/src/connection/internal/OutboundConnectionFactory.d.ts.map +1 -0
  24. package/esm/src/connection/internal/OutboundConnectionFactory.js +447 -0
  25. package/esm/src/connection/types.d.ts +32 -0
  26. package/esm/src/connection/types.d.ts.map +1 -0
  27. package/esm/src/connection/types.js +1 -0
  28. package/esm/src/context/ActivationImpl.d.ts +18 -0
  29. package/esm/src/context/ActivationImpl.d.ts.map +1 -0
  30. package/esm/src/context/ActivationImpl.js +82 -0
  31. package/esm/src/context/Context.d.ts +5 -6
  32. package/esm/src/context/Context.d.ts.map +1 -1
  33. package/esm/src/context/Context.js +9 -16
  34. package/esm/src/context/ContextProvider.d.ts +7 -3
  35. package/esm/src/context/ContextProvider.d.ts.map +1 -1
  36. package/esm/src/context/ContextProvider.js +28 -10
  37. package/esm/src/dsl/http/default.d.ts.map +1 -1
  38. package/esm/src/dsl/http/default.js +3 -1
  39. package/esm/src/dsl/http/types.d.ts +9 -4
  40. package/esm/src/dsl/http/types.d.ts.map +1 -1
  41. package/esm/src/dsl/http/versori/configloader.d.ts.map +1 -1
  42. package/esm/src/dsl/http/versori/configloader.js +3 -1
  43. package/esm/src/dsl/http/versori/constants.d.ts.map +1 -1
  44. package/esm/src/dsl/http/versori/constants.js +1 -0
  45. package/esm/src/dsl/http/versori/contextcredentials.d.ts.map +1 -1
  46. package/esm/src/dsl/http/versori/platformapi.d.ts.map +1 -1
  47. package/esm/src/dsl/http/versori/proxyroundtripper.d.ts +5 -3
  48. package/esm/src/dsl/http/versori/proxyroundtripper.d.ts.map +1 -1
  49. package/esm/src/dsl/http/versori/proxyroundtripper.js +31 -8
  50. package/esm/src/dsl/http/versori/webhookmiddleware.d.ts +8 -5
  51. package/esm/src/dsl/http/versori/webhookmiddleware.d.ts.map +1 -1
  52. package/esm/src/dsl/http/versori/webhookmiddleware.js +106 -115
  53. package/esm/src/dsl/tasks/HttpTask.d.ts +7 -5
  54. package/esm/src/dsl/tasks/HttpTask.d.ts.map +1 -1
  55. package/esm/src/dsl/tasks/HttpTask.js +22 -22
  56. package/esm/src/internal/InternalAuth.d.ts +15 -0
  57. package/esm/src/internal/InternalAuth.d.ts.map +1 -0
  58. package/esm/src/internal/InternalAuth.js +90 -0
  59. package/esm/src/internal/cli.d.ts +2 -0
  60. package/esm/src/internal/cli.d.ts.map +1 -0
  61. package/esm/src/internal/cli.js +20 -0
  62. package/esm/src/internal/constants.d.ts +20 -0
  63. package/esm/src/internal/constants.d.ts.map +1 -0
  64. package/esm/src/internal/constants.js +24 -0
  65. package/esm/src/interpreter/durable/DurableInterpreter.d.ts +14 -5
  66. package/esm/src/interpreter/durable/DurableInterpreter.d.ts.map +1 -1
  67. package/esm/src/interpreter/durable/DurableInterpreter.js +20 -18
  68. package/esm/src/interpreter/durable/ObservableCompiler.d.ts +6 -3
  69. package/esm/src/interpreter/durable/ObservableCompiler.d.ts.map +1 -1
  70. package/esm/src/interpreter/durable/compilers/durableworkflow.d.ts.map +1 -1
  71. package/esm/src/interpreter/durable/compilers/durableworkflow.js +10 -1
  72. package/esm/src/interpreter/durable/compilers/http.d.ts.map +1 -1
  73. package/esm/src/interpreter/durable/compilers/http.js +26 -9
  74. package/esm/src/interpreter/durable/compilers/schedule.d.ts.map +1 -1
  75. package/esm/src/interpreter/durable/compilers/schedule.js +41 -18
  76. package/esm/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
  77. package/esm/src/interpreter/durable/compilers/webhook.js +30 -33
  78. package/esm/src/interpreter/memory/MemoryInterpreter.d.ts +4 -4
  79. package/esm/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
  80. package/esm/src/interpreter/memory/MemoryInterpreter.js +14 -23
  81. package/esm/src/interpreter/memory/ObservableCompiler.d.ts +6 -3
  82. package/esm/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
  83. package/esm/src/interpreter/memory/compilers/http.d.ts.map +1 -1
  84. package/esm/src/interpreter/memory/compilers/http.js +26 -9
  85. package/esm/src/interpreter/memory/compilers/schedule.d.ts.map +1 -1
  86. package/esm/src/interpreter/memory/compilers/schedule.js +34 -18
  87. package/esm/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
  88. package/esm/src/interpreter/memory/compilers/webhook.js +31 -34
  89. package/esm/src/kv/nats/NatsKeyValueProvider.d.ts.map +1 -1
  90. package/esm/src/kv/nats/NatsKeyValueProvider.js +16 -0
  91. package/esm/src/kv/sdk/SDKKeyValueProvider.d.ts.map +1 -1
  92. package/esm/src/kv/sdk/SDKKeyValueProvider.js +14 -0
  93. package/esm/src/services/credentials/credential-v1alpha1.d.ts +4 -0
  94. package/esm/src/services/credentials/credential-v1alpha1.d.ts.map +1 -0
  95. package/esm/src/services/credentials/credential-v1alpha1.js +3 -0
  96. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.d.ts +119 -0
  97. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.d.ts.map +1 -0
  98. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.js +67 -0
  99. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.d.ts +245 -0
  100. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.d.ts.map +1 -0
  101. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.js +44 -0
  102. package/esm/src/services/credentials/generated/versori/credential/oauth2/v1/token_pb.d.ts +38 -0
  103. package/esm/src/services/credentials/generated/versori/credential/oauth2/v1/token_pb.d.ts.map +1 -0
  104. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/oauth2/v1/token_pb.js +1 -1
  105. package/esm/src/services/credentials/generated/versori/credential/oauth2/v1/token_service_pb.d.ts +471 -0
  106. package/esm/src/services/credentials/generated/versori/credential/oauth2/v1/token_service_pb.d.ts.map +1 -0
  107. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/oauth2/v1/token_service_pb.js +1 -1
  108. package/esm/src/services/credentials/generated/versori/credential/tokens/v1/token_pb.d.ts +38 -0
  109. package/esm/src/services/credentials/generated/versori/credential/tokens/v1/token_pb.d.ts.map +1 -0
  110. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/tokens/v1/token_pb.js +1 -1
  111. package/esm/src/services/credentials/generated/versori/credential/tokens/v1/token_service_pb.d.ts +128 -0
  112. package/esm/src/services/credentials/generated/versori/credential/tokens/v1/token_service_pb.d.ts.map +1 -0
  113. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/tokens/v1/token_service_pb.js +1 -1
  114. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/common_pb.d.ts +90 -0
  115. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/common_pb.d.ts.map +1 -0
  116. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/v1alpha1/common_pb.js +16 -6
  117. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.d.ts +1468 -0
  118. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.d.ts.map +1 -0
  119. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.js +534 -0
  120. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_service_pb.d.ts +390 -0
  121. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_service_pb.d.ts.map +1 -0
  122. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/v1alpha1/credential_service_pb.js +1 -1
  123. package/esm/src/services/credentials/isTokenValid.d.ts +3 -0
  124. package/esm/src/services/credentials/isTokenValid.d.ts.map +1 -0
  125. package/esm/src/services/credentials/isTokenValid.js +8 -0
  126. package/esm/src/services/credentials/mod.d.ts +5 -0
  127. package/esm/src/services/credentials/mod.d.ts.map +1 -0
  128. package/esm/src/services/credentials/mod.js +4 -0
  129. package/esm/src/services/credentials/oauth1-v1.d.ts +3 -0
  130. package/esm/src/services/credentials/oauth1-v1.d.ts.map +1 -0
  131. package/esm/src/services/credentials/oauth1-v1.js +2 -0
  132. package/esm/src/services/credentials/oauth2-v1.d.ts +3 -0
  133. package/esm/src/services/credentials/oauth2-v1.d.ts.map +1 -0
  134. package/esm/src/services/credentials/oauth2-v1.js +2 -0
  135. package/esm/src/services/credentials/tokens-v1.d.ts +3 -0
  136. package/esm/src/services/credentials/tokens-v1.d.ts.map +1 -0
  137. package/esm/src/services/credentials/tokens-v1.js +2 -0
  138. package/esm/src/services/platform/PlatformApi.d.ts +7 -0
  139. package/esm/src/services/platform/PlatformApi.d.ts.map +1 -0
  140. package/esm/src/services/platform/PlatformApi.js +25 -0
  141. package/esm/src/services/platform/generated/client/client.gen.d.ts +3 -0
  142. package/esm/src/services/platform/generated/client/client.gen.d.ts.map +1 -0
  143. package/esm/src/services/platform/generated/client/client.gen.js +176 -0
  144. package/esm/src/services/platform/generated/client/index.d.ts +8 -0
  145. package/esm/src/services/platform/generated/client/index.d.ts.map +1 -0
  146. package/esm/src/services/platform/generated/client/index.js +5 -0
  147. package/esm/src/services/platform/generated/client/types.gen.d.ts +125 -0
  148. package/esm/src/services/platform/generated/client/types.gen.d.ts.map +1 -0
  149. package/esm/src/services/platform/generated/client/types.gen.js +2 -0
  150. package/esm/src/services/platform/generated/client/utils.gen.d.ts +39 -0
  151. package/esm/src/services/platform/generated/client/utils.gen.d.ts.map +1 -0
  152. package/esm/src/services/platform/generated/client/utils.gen.js +234 -0
  153. package/esm/src/services/platform/generated/client.gen.d.ts +13 -0
  154. package/esm/src/services/platform/generated/client.gen.d.ts.map +1 -0
  155. package/esm/src/services/platform/generated/client.gen.js +5 -0
  156. package/esm/src/services/platform/generated/core/auth.gen.d.ts +19 -0
  157. package/esm/src/services/platform/generated/core/auth.gen.d.ts.map +1 -0
  158. package/esm/src/services/platform/generated/core/auth.gen.js +14 -0
  159. package/esm/src/services/platform/generated/core/bodySerializer.gen.d.ts +18 -0
  160. package/esm/src/services/platform/generated/core/bodySerializer.gen.d.ts.map +1 -0
  161. package/esm/src/services/platform/generated/core/bodySerializer.gen.js +57 -0
  162. package/esm/src/services/platform/generated/core/params.gen.d.ts +34 -0
  163. package/esm/src/services/platform/generated/core/params.gen.d.ts.map +1 -0
  164. package/esm/src/services/platform/generated/core/params.gen.js +88 -0
  165. package/esm/src/services/platform/generated/core/pathSerializer.gen.d.ts +34 -0
  166. package/esm/src/services/platform/generated/core/pathSerializer.gen.d.ts.map +1 -0
  167. package/esm/src/services/platform/generated/core/pathSerializer.gen.js +114 -0
  168. package/esm/src/services/platform/generated/core/serverSentEvents.gen.d.ts +60 -0
  169. package/esm/src/services/platform/generated/core/serverSentEvents.gen.d.ts.map +1 -0
  170. package/esm/src/services/platform/generated/core/serverSentEvents.gen.js +121 -0
  171. package/esm/src/services/platform/generated/core/types.gen.d.ts +79 -0
  172. package/esm/src/services/platform/generated/core/types.gen.d.ts.map +1 -0
  173. package/esm/src/services/platform/generated/core/types.gen.js +2 -0
  174. package/esm/src/services/platform/generated/core/utils.gen.d.ts +15 -0
  175. package/esm/src/services/platform/generated/core/utils.gen.d.ts.map +1 -0
  176. package/esm/src/services/platform/generated/core/utils.gen.js +69 -0
  177. package/esm/src/services/platform/generated/index.d.ts +3 -0
  178. package/esm/src/services/platform/generated/index.d.ts.map +1 -0
  179. package/esm/src/services/platform/generated/index.js +3 -0
  180. package/esm/src/services/platform/generated/sdk.gen.d.ts +494 -0
  181. package/esm/src/services/platform/generated/sdk.gen.d.ts.map +1 -0
  182. package/esm/src/services/platform/generated/sdk.gen.js +1908 -0
  183. package/esm/src/services/platform/generated/types.gen.d.ts +3798 -0
  184. package/esm/src/services/platform/generated/types.gen.d.ts.map +1 -0
  185. package/esm/src/services/platform/generated/types.gen.js +2 -0
  186. package/esm/src/services/platform/mod.d.ts +5 -0
  187. package/esm/src/services/platform/mod.d.ts.map +1 -0
  188. package/esm/src/services/platform/mod.js +2 -0
  189. package/package.json +4 -4
  190. package/script/src/connection/DirectConnectionFactory.d.ts +29 -0
  191. package/script/src/connection/DirectConnectionFactory.d.ts.map +1 -0
  192. package/script/src/connection/DirectConnectionFactory.js +86 -0
  193. package/script/src/connection/DynamicFetchFactory.d.ts +30 -0
  194. package/script/src/connection/DynamicFetchFactory.d.ts.map +1 -0
  195. package/script/src/connection/DynamicFetchFactory.js +117 -0
  196. package/script/src/connection/StaticFetchFactory.d.ts +11 -0
  197. package/script/src/connection/StaticFetchFactory.d.ts.map +1 -0
  198. package/script/src/connection/StaticFetchFactory.js +39 -0
  199. package/script/src/connection/internal/CredentialHolder.d.ts +11 -0
  200. package/script/src/connection/internal/CredentialHolder.d.ts.map +1 -0
  201. package/script/src/connection/internal/CredentialHolder.js +71 -0
  202. package/script/src/connection/internal/FetchBuilder.d.ts +15 -0
  203. package/script/src/connection/internal/FetchBuilder.d.ts.map +1 -0
  204. package/script/src/connection/internal/FetchBuilder.js +93 -0
  205. package/script/src/connection/internal/HttpClientFactory.d.ts +14 -0
  206. package/script/src/connection/internal/HttpClientFactory.d.ts.map +1 -0
  207. package/script/src/connection/internal/HttpClientFactory.js +46 -0
  208. package/script/src/connection/internal/InboundConnectionFactory.d.ts +19 -0
  209. package/script/src/connection/internal/InboundConnectionFactory.d.ts.map +1 -0
  210. package/script/src/connection/internal/InboundConnectionFactory.js +394 -0
  211. package/script/src/connection/internal/OutboundConnectionFactory.d.ts +31 -0
  212. package/script/src/connection/internal/OutboundConnectionFactory.d.ts.map +1 -0
  213. package/script/src/connection/internal/OutboundConnectionFactory.js +454 -0
  214. package/script/src/connection/types.d.ts +32 -0
  215. package/script/src/connection/types.d.ts.map +1 -0
  216. package/script/src/connection/types.js +2 -0
  217. package/script/src/context/ActivationImpl.d.ts +18 -0
  218. package/script/src/context/ActivationImpl.d.ts.map +1 -0
  219. package/script/src/context/ActivationImpl.js +86 -0
  220. package/script/src/context/Context.d.ts +5 -6
  221. package/script/src/context/Context.d.ts.map +1 -1
  222. package/script/src/context/Context.js +9 -16
  223. package/script/src/context/ContextProvider.d.ts +7 -3
  224. package/script/src/context/ContextProvider.d.ts.map +1 -1
  225. package/script/src/context/ContextProvider.js +28 -10
  226. package/script/src/dsl/http/default.d.ts.map +1 -1
  227. package/script/src/dsl/http/default.js +3 -1
  228. package/script/src/dsl/http/types.d.ts +9 -4
  229. package/script/src/dsl/http/types.d.ts.map +1 -1
  230. package/script/src/dsl/http/versori/configloader.d.ts.map +1 -1
  231. package/script/src/dsl/http/versori/configloader.js +3 -1
  232. package/script/src/dsl/http/versori/constants.d.ts.map +1 -1
  233. package/script/src/dsl/http/versori/constants.js +1 -0
  234. package/script/src/dsl/http/versori/contextcredentials.d.ts.map +1 -1
  235. package/script/src/dsl/http/versori/platformapi.d.ts.map +1 -1
  236. package/script/src/dsl/http/versori/proxyroundtripper.d.ts +5 -3
  237. package/script/src/dsl/http/versori/proxyroundtripper.d.ts.map +1 -1
  238. package/script/src/dsl/http/versori/proxyroundtripper.js +31 -8
  239. package/script/src/dsl/http/versori/webhookmiddleware.d.ts +8 -5
  240. package/script/src/dsl/http/versori/webhookmiddleware.d.ts.map +1 -1
  241. package/script/src/dsl/http/versori/webhookmiddleware.js +106 -115
  242. package/script/src/dsl/tasks/HttpTask.d.ts +7 -5
  243. package/script/src/dsl/tasks/HttpTask.d.ts.map +1 -1
  244. package/script/src/dsl/tasks/HttpTask.js +22 -22
  245. package/script/src/internal/InternalAuth.d.ts +15 -0
  246. package/script/src/internal/InternalAuth.d.ts.map +1 -0
  247. package/script/src/internal/InternalAuth.js +94 -0
  248. package/script/src/internal/cli.d.ts +2 -0
  249. package/script/src/internal/cli.d.ts.map +1 -0
  250. package/script/src/internal/cli.js +23 -0
  251. package/script/src/internal/constants.d.ts +20 -0
  252. package/script/src/internal/constants.d.ts.map +1 -0
  253. package/script/src/internal/constants.js +27 -0
  254. package/script/src/interpreter/durable/DurableInterpreter.d.ts +14 -5
  255. package/script/src/interpreter/durable/DurableInterpreter.d.ts.map +1 -1
  256. package/script/src/interpreter/durable/DurableInterpreter.js +20 -18
  257. package/script/src/interpreter/durable/ObservableCompiler.d.ts +6 -3
  258. package/script/src/interpreter/durable/ObservableCompiler.d.ts.map +1 -1
  259. package/script/src/interpreter/durable/compilers/durableworkflow.d.ts.map +1 -1
  260. package/script/src/interpreter/durable/compilers/durableworkflow.js +10 -1
  261. package/script/src/interpreter/durable/compilers/http.d.ts.map +1 -1
  262. package/script/src/interpreter/durable/compilers/http.js +26 -9
  263. package/script/src/interpreter/durable/compilers/schedule.d.ts.map +1 -1
  264. package/script/src/interpreter/durable/compilers/schedule.js +41 -18
  265. package/script/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
  266. package/script/src/interpreter/durable/compilers/webhook.js +30 -33
  267. package/script/src/interpreter/memory/MemoryInterpreter.d.ts +4 -4
  268. package/script/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
  269. package/script/src/interpreter/memory/MemoryInterpreter.js +14 -23
  270. package/script/src/interpreter/memory/ObservableCompiler.d.ts +6 -3
  271. package/script/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
  272. package/script/src/interpreter/memory/compilers/http.d.ts.map +1 -1
  273. package/script/src/interpreter/memory/compilers/http.js +26 -9
  274. package/script/src/interpreter/memory/compilers/schedule.d.ts.map +1 -1
  275. package/script/src/interpreter/memory/compilers/schedule.js +34 -18
  276. package/script/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
  277. package/script/src/interpreter/memory/compilers/webhook.js +31 -34
  278. package/script/src/kv/nats/NatsKeyValueProvider.d.ts.map +1 -1
  279. package/script/src/kv/nats/NatsKeyValueProvider.js +16 -0
  280. package/script/src/kv/sdk/SDKKeyValueProvider.d.ts.map +1 -1
  281. package/script/src/kv/sdk/SDKKeyValueProvider.js +14 -0
  282. package/script/src/services/credentials/credential-v1alpha1.d.ts +4 -0
  283. package/script/src/services/credentials/credential-v1alpha1.d.ts.map +1 -0
  284. package/script/src/services/credentials/credential-v1alpha1.js +19 -0
  285. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.d.ts +119 -0
  286. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.d.ts.map +1 -0
  287. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.js +70 -0
  288. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.d.ts +245 -0
  289. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.d.ts.map +1 -0
  290. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.js +47 -0
  291. package/script/src/services/credentials/generated/versori/credential/oauth2/v1/token_pb.d.ts +38 -0
  292. package/script/src/services/credentials/generated/versori/credential/oauth2/v1/token_pb.d.ts.map +1 -0
  293. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/oauth2/v1/token_pb.js +1 -1
  294. package/script/src/services/credentials/generated/versori/credential/oauth2/v1/token_service_pb.d.ts +471 -0
  295. package/script/src/services/credentials/generated/versori/credential/oauth2/v1/token_service_pb.d.ts.map +1 -0
  296. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/oauth2/v1/token_service_pb.js +1 -1
  297. package/script/src/services/credentials/generated/versori/credential/tokens/v1/token_pb.d.ts +38 -0
  298. package/script/src/services/credentials/generated/versori/credential/tokens/v1/token_pb.d.ts.map +1 -0
  299. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/tokens/v1/token_pb.js +1 -1
  300. package/script/src/services/credentials/generated/versori/credential/tokens/v1/token_service_pb.d.ts +128 -0
  301. package/script/src/services/credentials/generated/versori/credential/tokens/v1/token_service_pb.d.ts.map +1 -0
  302. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/tokens/v1/token_service_pb.js +1 -1
  303. package/script/src/services/credentials/generated/versori/credential/v1alpha1/common_pb.d.ts +90 -0
  304. package/script/src/services/credentials/generated/versori/credential/v1alpha1/common_pb.d.ts.map +1 -0
  305. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/v1alpha1/common_pb.js +16 -6
  306. package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.d.ts +1468 -0
  307. package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.d.ts.map +1 -0
  308. package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.js +538 -0
  309. package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_service_pb.d.ts +390 -0
  310. package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_service_pb.d.ts.map +1 -0
  311. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/v1alpha1/credential_service_pb.js +1 -1
  312. package/script/src/services/credentials/isTokenValid.d.ts +3 -0
  313. package/script/src/services/credentials/isTokenValid.d.ts.map +1 -0
  314. package/script/src/services/credentials/isTokenValid.js +11 -0
  315. package/script/src/services/credentials/mod.d.ts +5 -0
  316. package/script/src/services/credentials/mod.d.ts.map +1 -0
  317. package/script/src/services/credentials/mod.js +30 -0
  318. package/script/src/services/credentials/oauth1-v1.d.ts +3 -0
  319. package/script/src/services/credentials/oauth1-v1.d.ts.map +1 -0
  320. package/script/src/services/credentials/oauth1-v1.js +18 -0
  321. package/script/src/services/credentials/oauth2-v1.d.ts +3 -0
  322. package/script/src/services/credentials/oauth2-v1.d.ts.map +1 -0
  323. package/script/src/services/credentials/oauth2-v1.js +18 -0
  324. package/script/src/services/credentials/tokens-v1.d.ts +3 -0
  325. package/script/src/services/credentials/tokens-v1.d.ts.map +1 -0
  326. package/script/src/services/credentials/tokens-v1.js +18 -0
  327. package/script/src/services/platform/PlatformApi.d.ts +7 -0
  328. package/script/src/services/platform/PlatformApi.d.ts.map +1 -0
  329. package/script/src/services/platform/PlatformApi.js +52 -0
  330. package/script/src/services/platform/generated/client/client.gen.d.ts +3 -0
  331. package/script/src/services/platform/generated/client/client.gen.d.ts.map +1 -0
  332. package/script/src/services/platform/generated/client/client.gen.js +180 -0
  333. package/script/src/services/platform/generated/client/index.d.ts +8 -0
  334. package/script/src/services/platform/generated/client/index.d.ts.map +1 -0
  335. package/script/src/services/platform/generated/client/index.js +15 -0
  336. package/script/src/services/platform/generated/client/types.gen.d.ts +125 -0
  337. package/script/src/services/platform/generated/client/types.gen.d.ts.map +1 -0
  338. package/script/src/services/platform/generated/client/types.gen.js +3 -0
  339. package/script/src/services/platform/generated/client/utils.gen.d.ts +39 -0
  340. package/script/src/services/platform/generated/client/utils.gen.d.ts.map +1 -0
  341. package/script/src/services/platform/generated/client/utils.gen.js +245 -0
  342. package/script/src/services/platform/generated/client.gen.d.ts +13 -0
  343. package/script/src/services/platform/generated/client.gen.d.ts.map +1 -0
  344. package/script/src/services/platform/generated/client.gen.js +8 -0
  345. package/script/src/services/platform/generated/core/auth.gen.d.ts +19 -0
  346. package/script/src/services/platform/generated/core/auth.gen.d.ts.map +1 -0
  347. package/script/src/services/platform/generated/core/auth.gen.js +18 -0
  348. package/script/src/services/platform/generated/core/bodySerializer.gen.d.ts +18 -0
  349. package/script/src/services/platform/generated/core/bodySerializer.gen.d.ts.map +1 -0
  350. package/script/src/services/platform/generated/core/bodySerializer.gen.js +60 -0
  351. package/script/src/services/platform/generated/core/params.gen.d.ts +34 -0
  352. package/script/src/services/platform/generated/core/params.gen.d.ts.map +1 -0
  353. package/script/src/services/platform/generated/core/params.gen.js +92 -0
  354. package/script/src/services/platform/generated/core/pathSerializer.gen.d.ts +34 -0
  355. package/script/src/services/platform/generated/core/pathSerializer.gen.d.ts.map +1 -0
  356. package/script/src/services/platform/generated/core/pathSerializer.gen.js +123 -0
  357. package/script/src/services/platform/generated/core/serverSentEvents.gen.d.ts +60 -0
  358. package/script/src/services/platform/generated/core/serverSentEvents.gen.d.ts.map +1 -0
  359. package/script/src/services/platform/generated/core/serverSentEvents.gen.js +125 -0
  360. package/script/src/services/platform/generated/core/types.gen.d.ts +79 -0
  361. package/script/src/services/platform/generated/core/types.gen.d.ts.map +1 -0
  362. package/script/src/services/platform/generated/core/types.gen.js +3 -0
  363. package/script/src/services/platform/generated/core/utils.gen.d.ts +15 -0
  364. package/script/src/services/platform/generated/core/utils.gen.d.ts.map +1 -0
  365. package/script/src/services/platform/generated/core/utils.gen.js +74 -0
  366. package/script/src/services/platform/generated/index.d.ts +3 -0
  367. package/script/src/services/platform/generated/index.d.ts.map +1 -0
  368. package/script/src/services/platform/generated/index.js +19 -0
  369. package/script/src/services/platform/generated/sdk.gen.d.ts +494 -0
  370. package/script/src/services/platform/generated/sdk.gen.d.ts.map +1 -0
  371. package/script/src/services/platform/generated/sdk.gen.js +1992 -0
  372. package/script/src/services/platform/generated/types.gen.d.ts +3798 -0
  373. package/script/src/services/platform/generated/types.gen.d.ts.map +1 -0
  374. package/script/src/services/platform/generated/types.gen.js +3 -0
  375. package/script/src/services/platform/mod.d.ts +5 -0
  376. package/script/src/services/platform/mod.d.ts.map +1 -0
  377. package/script/src/services/platform/mod.js +18 -0
  378. package/esm/src/dsl/http/versori/credential/client.d.ts +0 -13
  379. package/esm/src/dsl/http/versori/credential/client.d.ts.map +0 -1
  380. package/esm/src/dsl/http/versori/credential/client.js +0 -35
  381. package/esm/src/dsl/http/versori/credential/credentials.d.ts +0 -98
  382. package/esm/src/dsl/http/versori/credential/credentials.d.ts.map +0 -1
  383. package/esm/src/dsl/http/versori/credential/credentials.js +0 -40
  384. package/esm/src/dsl/http/versori/credential/mod.d.ts +0 -2
  385. package/esm/src/dsl/http/versori/credential/mod.d.ts.map +0 -1
  386. package/esm/src/dsl/http/versori/credential/mod.js +0 -1
  387. package/esm/src/dsl/http/versori/credential/oauth2/v1/token_pb.d.ts +0 -13
  388. package/esm/src/dsl/http/versori/credential/oauth2/v1/token_pb.d.ts.map +0 -1
  389. package/esm/src/dsl/http/versori/credential/oauth2/v1/token_service_pb.d.ts +0 -102
  390. package/esm/src/dsl/http/versori/credential/oauth2/v1/token_service_pb.d.ts.map +0 -1
  391. package/esm/src/dsl/http/versori/credential/tokens/v1/token_pb.d.ts +0 -13
  392. package/esm/src/dsl/http/versori/credential/tokens/v1/token_pb.d.ts.map +0 -1
  393. package/esm/src/dsl/http/versori/credential/tokens/v1/token_service_pb.d.ts +0 -46
  394. package/esm/src/dsl/http/versori/credential/tokens/v1/token_service_pb.d.ts.map +0 -1
  395. package/esm/src/dsl/http/versori/credential/v1alpha1/common_pb.d.ts +0 -40
  396. package/esm/src/dsl/http/versori/credential/v1alpha1/common_pb.d.ts.map +0 -1
  397. package/esm/src/dsl/http/versori/credential/v1alpha1/credential_service_pb.d.ts +0 -129
  398. package/esm/src/dsl/http/versori/credential/v1alpha1/credential_service_pb.d.ts.map +0 -1
  399. package/esm/src/dsl/http/versori/roundtripper.d.ts +0 -61
  400. package/esm/src/dsl/http/versori/roundtripper.d.ts.map +0 -1
  401. package/esm/src/dsl/http/versori/roundtripper.js +0 -967
  402. package/script/src/dsl/http/versori/credential/client.d.ts +0 -13
  403. package/script/src/dsl/http/versori/credential/client.d.ts.map +0 -1
  404. package/script/src/dsl/http/versori/credential/client.js +0 -39
  405. package/script/src/dsl/http/versori/credential/credentials.d.ts +0 -98
  406. package/script/src/dsl/http/versori/credential/credentials.d.ts.map +0 -1
  407. package/script/src/dsl/http/versori/credential/credentials.js +0 -46
  408. package/script/src/dsl/http/versori/credential/mod.d.ts +0 -2
  409. package/script/src/dsl/http/versori/credential/mod.d.ts.map +0 -1
  410. package/script/src/dsl/http/versori/credential/mod.js +0 -5
  411. package/script/src/dsl/http/versori/credential/oauth2/v1/token_pb.d.ts +0 -13
  412. package/script/src/dsl/http/versori/credential/oauth2/v1/token_pb.d.ts.map +0 -1
  413. package/script/src/dsl/http/versori/credential/oauth2/v1/token_service_pb.d.ts +0 -102
  414. package/script/src/dsl/http/versori/credential/oauth2/v1/token_service_pb.d.ts.map +0 -1
  415. package/script/src/dsl/http/versori/credential/tokens/v1/token_pb.d.ts +0 -13
  416. package/script/src/dsl/http/versori/credential/tokens/v1/token_pb.d.ts.map +0 -1
  417. package/script/src/dsl/http/versori/credential/tokens/v1/token_service_pb.d.ts +0 -46
  418. package/script/src/dsl/http/versori/credential/tokens/v1/token_service_pb.d.ts.map +0 -1
  419. package/script/src/dsl/http/versori/credential/v1alpha1/common_pb.d.ts +0 -40
  420. package/script/src/dsl/http/versori/credential/v1alpha1/common_pb.d.ts.map +0 -1
  421. package/script/src/dsl/http/versori/credential/v1alpha1/credential_service_pb.d.ts +0 -129
  422. package/script/src/dsl/http/versori/credential/v1alpha1/credential_service_pb.d.ts.map +0 -1
  423. package/script/src/dsl/http/versori/roundtripper.d.ts +0 -61
  424. package/script/src/dsl/http/versori/roundtripper.d.ts.map +0 -1
  425. package/script/src/dsl/http/versori/roundtripper.js +0 -974
@@ -0,0 +1,29 @@
1
+ import { Client } from '@connectrpc/connect';
2
+ import { RequestHandler } from 'express';
3
+ import { Logger } from '../observability/mod.js';
4
+ import { credentialv1alpha1, tokensv1, oauth1v1 } from '../services/credentials/mod.js';
5
+ import { Connection } from '../services/platform/mod.js';
6
+ import { HttpClientFactory } from './internal/HttpClientFactory.js';
7
+ import { ConnectionFactory, FetchLike } from './types.js';
8
+ /**
9
+ * DirectConnectionFactory is used by actual {@link FetchFactory} and {@link ExpressHandlers} implementations to build a
10
+ * fetchers and handlers for a given connection.
11
+ *
12
+ * This should be used by the internal runtime to construct either a static or dynamic {@link ConnectionFactory} (or
13
+ * some other implementation that implements {@link ConnectionFactory}), which can be used to build a {@link FetchLike}
14
+ * or {@link RequestHandler} for a given {@link Context}.
15
+ */
16
+ export declare class DirectConnectionFactory implements ConnectionFactory {
17
+ private readonly httpClientFactory;
18
+ private readonly credentials;
19
+ private readonly tokens;
20
+ private readonly oauth1;
21
+ private readonly logger;
22
+ private readonly outboundConnectionFactory;
23
+ private readonly expressInboundConnectionFactory;
24
+ constructor(httpClientFactory: HttpClientFactory, credentials: Client<typeof credentialv1alpha1.CredentialService>, tokens: Client<typeof tokensv1.TokenService>, oauth1: Client<typeof oauth1v1.AuthorizationService>, logger: Logger);
25
+ fetcher(cnx: Connection): Promise<FetchLike>;
26
+ handler(cnx: Connection): Promise<RequestHandler>;
27
+ static fromEnv(logger: Logger): DirectConnectionFactory;
28
+ }
29
+ //# sourceMappingURL=DirectConnectionFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DirectConnectionFactory.d.ts","sourceRoot":"","sources":["../../../src/src/connection/DirectConnectionFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG1D;;;;;;;GAOG;AACH,qBAAa,uBAAwB,YAAW,iBAAiB;IAKzD,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAR3B,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA4B;IACtE,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAA2B;gBAGtD,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,MAAM,CAAC,OAAO,kBAAkB,CAAC,iBAAiB,CAAC,EAChE,MAAM,EAAE,MAAM,CAAC,OAAO,QAAQ,CAAC,YAAY,CAAC,EAC5C,MAAM,EAAE,MAAM,CAAC,OAAO,QAAQ,CAAC,oBAAoB,CAAC,EACpD,MAAM,EAAE,MAAM;IAkBnC,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAI5C,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC;IAIjD,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,uBAAuB;CAqB1D"}
@@ -0,0 +1,82 @@
1
+ import { createClient } from '@connectrpc/connect';
2
+ import { createGrpcTransport } from '@connectrpc/connect-node';
3
+ import { credentialv1alpha1, tokensv1, oauth1v1 } from '../services/credentials/mod.js';
4
+ import { HttpClientFactory } from './internal/HttpClientFactory.js';
5
+ import { ExpressInboundConnectionFactory as InboundConnectionFactory } from './internal/InboundConnectionFactory.js';
6
+ import { OutboundConnectionFactory } from './internal/OutboundConnectionFactory.js';
7
+ import { envVarCredsBaseURL } from '../internal/constants.js';
8
+ /**
9
+ * DirectConnectionFactory is used by actual {@link FetchFactory} and {@link ExpressHandlers} implementations to build a
10
+ * fetchers and handlers for a given connection.
11
+ *
12
+ * This should be used by the internal runtime to construct either a static or dynamic {@link ConnectionFactory} (or
13
+ * some other implementation that implements {@link ConnectionFactory}), which can be used to build a {@link FetchLike}
14
+ * or {@link RequestHandler} for a given {@link Context}.
15
+ */
16
+ export class DirectConnectionFactory {
17
+ constructor(httpClientFactory, credentials, tokens, oauth1, logger) {
18
+ Object.defineProperty(this, "httpClientFactory", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: httpClientFactory
23
+ });
24
+ Object.defineProperty(this, "credentials", {
25
+ enumerable: true,
26
+ configurable: true,
27
+ writable: true,
28
+ value: credentials
29
+ });
30
+ Object.defineProperty(this, "tokens", {
31
+ enumerable: true,
32
+ configurable: true,
33
+ writable: true,
34
+ value: tokens
35
+ });
36
+ Object.defineProperty(this, "oauth1", {
37
+ enumerable: true,
38
+ configurable: true,
39
+ writable: true,
40
+ value: oauth1
41
+ });
42
+ Object.defineProperty(this, "logger", {
43
+ enumerable: true,
44
+ configurable: true,
45
+ writable: true,
46
+ value: logger
47
+ });
48
+ Object.defineProperty(this, "outboundConnectionFactory", {
49
+ enumerable: true,
50
+ configurable: true,
51
+ writable: true,
52
+ value: void 0
53
+ });
54
+ Object.defineProperty(this, "expressInboundConnectionFactory", {
55
+ enumerable: true,
56
+ configurable: true,
57
+ writable: true,
58
+ value: void 0
59
+ });
60
+ // the only real reason the outbound and inbound implementations are separate is to keep the code separate
61
+ // since both classes are fairly large and complex.
62
+ this.outboundConnectionFactory = new OutboundConnectionFactory(httpClientFactory, credentials, tokens, oauth1, logger);
63
+ this.expressInboundConnectionFactory = new InboundConnectionFactory(credentials, tokens, logger);
64
+ }
65
+ fetcher(cnx) {
66
+ return this.outboundConnectionFactory.fetcher(cnx);
67
+ }
68
+ handler(cnx) {
69
+ return this.expressInboundConnectionFactory.handler(cnx);
70
+ }
71
+ static fromEnv(logger) {
72
+ const baseUrl = Deno.env.get(envVarCredsBaseURL) || 'http://localhost:9000';
73
+ const transport = createGrpcTransport({
74
+ baseUrl,
75
+ });
76
+ const credentials = createClient(credentialv1alpha1.CredentialService, transport);
77
+ const tokens = createClient(tokensv1.TokenService, transport);
78
+ const oauth1 = createClient(oauth1v1.AuthorizationService, transport);
79
+ const httpClientFactory = new HttpClientFactory();
80
+ return new DirectConnectionFactory(httpClientFactory, credentials, tokens, oauth1, logger);
81
+ }
82
+ }
@@ -0,0 +1,30 @@
1
+ import { RequestHandler } from 'express';
2
+ import { Context } from '../context/Context.js';
3
+ import { PlatformApi } from '../services/platform/mod.js';
4
+ import { ConnectionFactory } from './types.js';
5
+ import { FetchLike, RuntimeConnectionFactory } from './types.js';
6
+ export declare class DynamicFetchFactory implements RuntimeConnectionFactory {
7
+ private readonly factory;
8
+ private readonly platformApi;
9
+ private readonly organisationId;
10
+ private readonly envSystemId;
11
+ private readonly cache;
12
+ private readonly cnxCache;
13
+ private readonly handlerCache;
14
+ constructor(factory: ConnectionFactory, platformApi: PlatformApi, organisationId: string, envSystemId: string);
15
+ fetcher(ctx: Context<unknown>): Promise<FetchLike>;
16
+ baseUrl(ctx: Context<unknown>): Promise<string>;
17
+ handler(ctx: Context<unknown>): Promise<RequestHandler>;
18
+ purgeCache(): void;
19
+ /**
20
+ * getConnection is a synchronous function that is used to get a connection from the cache. It reads and writes
21
+ * a promise to the connection cache within the same tick, ensuring that concurrent requests for the same
22
+ * activation does not swamp the API with requests.
23
+ *
24
+ * @param activationId
25
+ * @returns
26
+ */
27
+ private getConnection;
28
+ private loadConnection;
29
+ }
30
+ //# sourceMappingURL=DynamicFetchFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicFetchFactory.d.ts","sourceRoot":"","sources":["../../../src/src/connection/DynamicFetchFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAc,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEjE,qBAAa,mBAAoB,YAAW,wBAAwB;IAQ5D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAVhC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAE7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IAEjE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4C;gBAGpD,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM;IAOxC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAkB5C,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAQrD,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAiBvD,UAAU;IAMV;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;YAgBP,cAAc;CAY/B"}
@@ -0,0 +1,113 @@
1
+ import { LRUCache } from 'lru-cache';
2
+ export class DynamicFetchFactory {
3
+ constructor(factory, platformApi, organisationId, envSystemId) {
4
+ Object.defineProperty(this, "factory", {
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true,
8
+ value: factory
9
+ });
10
+ Object.defineProperty(this, "platformApi", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: platformApi
15
+ });
16
+ Object.defineProperty(this, "organisationId", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: organisationId
21
+ });
22
+ Object.defineProperty(this, "envSystemId", {
23
+ enumerable: true,
24
+ configurable: true,
25
+ writable: true,
26
+ value: envSystemId
27
+ });
28
+ Object.defineProperty(this, "cache", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: void 0
33
+ });
34
+ Object.defineProperty(this, "cnxCache", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: void 0
39
+ });
40
+ Object.defineProperty(this, "handlerCache", {
41
+ enumerable: true,
42
+ configurable: true,
43
+ writable: true,
44
+ value: void 0
45
+ });
46
+ this.cache = new LRUCache({ max: 100 });
47
+ this.cnxCache = new LRUCache({ max: 100 });
48
+ this.handlerCache = new LRUCache({ max: 100 });
49
+ }
50
+ fetcher(ctx) {
51
+ // This function must be synchronous, do not update to be async/await!!!
52
+ const { id: activationId } = ctx.activation;
53
+ const cached = this.cache.get(activationId);
54
+ if (cached) {
55
+ return cached;
56
+ }
57
+ const fetcher = this.getConnection(activationId)
58
+ .then((cnx) => this.factory.fetcher(cnx));
59
+ this.cache.set(activationId, fetcher);
60
+ return fetcher;
61
+ }
62
+ async baseUrl(ctx) {
63
+ const { id: activationId } = ctx.activation;
64
+ const cnx = await this.getConnection(activationId);
65
+ return cnx.baseUrl ?? '';
66
+ }
67
+ handler(ctx) {
68
+ const { id: activationId } = ctx.activation;
69
+ const cached = this.handlerCache.get(activationId);
70
+ if (cached) {
71
+ return cached;
72
+ }
73
+ const handler = this.getConnection(activationId)
74
+ .then((cnx) => this.factory.handler(cnx));
75
+ this.handlerCache.set(activationId, handler);
76
+ return handler;
77
+ }
78
+ purgeCache() {
79
+ this.cache.clear();
80
+ this.cnxCache.clear();
81
+ this.handlerCache.clear();
82
+ }
83
+ /**
84
+ * getConnection is a synchronous function that is used to get a connection from the cache. It reads and writes
85
+ * a promise to the connection cache within the same tick, ensuring that concurrent requests for the same
86
+ * activation does not swamp the API with requests.
87
+ *
88
+ * @param activationId
89
+ * @returns
90
+ */
91
+ getConnection(activationId) {
92
+ // see tsdoc comments, do not update to be async/await!!!
93
+ const key = `${this.organisationId}-${this.envSystemId}-${activationId}`;
94
+ const cached = this.cnxCache.get(key);
95
+ if (cached) {
96
+ return cached;
97
+ }
98
+ const cnx = this.loadConnection(activationId);
99
+ this.cnxCache.set(key, cnx);
100
+ return cnx;
101
+ }
102
+ async loadConnection(activationId) {
103
+ const response = await this.platformApi.getActivationConnection({
104
+ path: {
105
+ activation_id: activationId,
106
+ env_system_id: this.envSystemId,
107
+ organisation_id: this.organisationId,
108
+ },
109
+ throwOnError: true,
110
+ });
111
+ return response.data;
112
+ }
113
+ }
@@ -0,0 +1,11 @@
1
+ import type { RequestHandler } from 'express';
2
+ import { Context } from '../context/Context.js';
3
+ import { FetchLike, RuntimeConnectionFactory } from './types.js';
4
+ export declare class StaticFetchFactory implements RuntimeConnectionFactory {
5
+ #private;
6
+ constructor(fetch: FetchLike, baseUrl?: string, handler?: RequestHandler);
7
+ fetcher(_ctx: Context<unknown>): Promise<FetchLike>;
8
+ baseUrl(_ctx: Context<unknown>): Promise<string>;
9
+ handler(_ctx: Context<unknown>): Promise<RequestHandler>;
10
+ }
11
+ //# sourceMappingURL=StaticFetchFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticFetchFactory.d.ts","sourceRoot":"","sources":["../../../src/src/connection/StaticFetchFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmC,cAAc,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAMjE,qBAAa,kBAAmB,YAAW,wBAAwB;;gBAKnD,KAAK,EAAE,SAAS,EAAE,OAAO,GAAE,MAAW,EAAE,OAAO,CAAC,EAAE,cAAc;IAM5E,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAInD,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhD,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAG3D"}
@@ -0,0 +1,35 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _StaticFetchFactory_fetch, _StaticFetchFactory_baseUrl, _StaticFetchFactory_handler;
13
+ function passthroughHandler(_req, _res, next) {
14
+ next();
15
+ }
16
+ export class StaticFetchFactory {
17
+ constructor(fetch, baseUrl = '', handler) {
18
+ _StaticFetchFactory_fetch.set(this, void 0);
19
+ _StaticFetchFactory_baseUrl.set(this, void 0);
20
+ _StaticFetchFactory_handler.set(this, void 0);
21
+ __classPrivateFieldSet(this, _StaticFetchFactory_fetch, Promise.resolve(fetch), "f");
22
+ __classPrivateFieldSet(this, _StaticFetchFactory_baseUrl, Promise.resolve(baseUrl), "f");
23
+ __classPrivateFieldSet(this, _StaticFetchFactory_handler, Promise.resolve(handler ?? passthroughHandler), "f");
24
+ }
25
+ fetcher(_ctx) {
26
+ return __classPrivateFieldGet(this, _StaticFetchFactory_fetch, "f");
27
+ }
28
+ baseUrl(_ctx) {
29
+ return __classPrivateFieldGet(this, _StaticFetchFactory_baseUrl, "f");
30
+ }
31
+ handler(_ctx) {
32
+ return __classPrivateFieldGet(this, _StaticFetchFactory_handler, "f");
33
+ }
34
+ }
35
+ _StaticFetchFactory_fetch = new WeakMap(), _StaticFetchFactory_baseUrl = new WeakMap(), _StaticFetchFactory_handler = new WeakMap();
@@ -0,0 +1,11 @@
1
+ export declare function alwaysValid(): boolean;
2
+ /**
3
+ * CredentialHolder is a class that holds a credential and provides a way to refresh it.
4
+ */
5
+ export declare class CredentialHolder<T> {
6
+ #private;
7
+ constructor(initialValue: T, isValid: (t: T) => boolean, refresh: () => Promise<T | undefined>);
8
+ get(refresh?: boolean): Promise<T>;
9
+ refresh(): void;
10
+ }
11
+ //# sourceMappingURL=CredentialHolder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CredentialHolder.d.ts","sourceRoot":"","sources":["../../../../src/src/connection/internal/CredentialHolder.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;GAEG;AACH,qBAAa,gBAAgB,CAAC,CAAC;;gBAOf,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAMxF,GAAG,CAAC,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,CAAC,CAAC;IAkB/C,OAAO,IAAI,IAAI;CAgClB"}
@@ -0,0 +1,66 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _CredentialHolder_value, _CredentialHolder_isValid, _CredentialHolder_refresh, _CredentialHolder_isRefreshing;
13
+ export function alwaysValid() {
14
+ return true;
15
+ }
16
+ /**
17
+ * CredentialHolder is a class that holds a credential and provides a way to refresh it.
18
+ */
19
+ export class CredentialHolder {
20
+ constructor(initialValue, isValid, refresh) {
21
+ _CredentialHolder_value.set(this, void 0);
22
+ _CredentialHolder_isValid.set(this, void 0);
23
+ _CredentialHolder_refresh.set(this, void 0);
24
+ _CredentialHolder_isRefreshing.set(this, false);
25
+ __classPrivateFieldSet(this, _CredentialHolder_value, Promise.resolve(initialValue), "f");
26
+ __classPrivateFieldSet(this, _CredentialHolder_refresh, refresh, "f");
27
+ __classPrivateFieldSet(this, _CredentialHolder_isValid, isValid, "f");
28
+ }
29
+ async get(refresh = false) {
30
+ if (refresh) {
31
+ this.refresh();
32
+ return __classPrivateFieldGet(this, _CredentialHolder_value, "f");
33
+ }
34
+ const value = await __classPrivateFieldGet(this, _CredentialHolder_value, "f");
35
+ if (!__classPrivateFieldGet(this, _CredentialHolder_isValid, "f").call(this, value)) {
36
+ this.refresh();
37
+ }
38
+ // must return this.#value and not value, since calling `this.refresh()` above will replace
39
+ // the value with a new promise.
40
+ return __classPrivateFieldGet(this, _CredentialHolder_value, "f");
41
+ }
42
+ refresh() {
43
+ if (__classPrivateFieldGet(this, _CredentialHolder_isRefreshing, "f")) {
44
+ return;
45
+ }
46
+ __classPrivateFieldSet(this, _CredentialHolder_isRefreshing, true, "f");
47
+ // refresh works by replacing the existing #value promise with a new one which is pending
48
+ // on a new promise which is refreshing the credential.
49
+ // multiple calls to refresh() will be ignored until the first refresh is complete.
50
+ __classPrivateFieldSet(this, _CredentialHolder_value, new Promise((resolve, reject) => __classPrivateFieldGet(this, _CredentialHolder_refresh, "f").call(this).then((refreshed) => {
51
+ if (!refreshed) {
52
+ reject(new Error('Refreshed credential is undefined'));
53
+ return;
54
+ }
55
+ if (!__classPrivateFieldGet(this, _CredentialHolder_isValid, "f").call(this, refreshed)) {
56
+ reject(new Error('Refreshed credential is invalid'));
57
+ return;
58
+ }
59
+ resolve(refreshed);
60
+ }).catch((error) => reject(error)).finally(() => {
61
+ __classPrivateFieldSet(this, _CredentialHolder_isRefreshing, false, "f");
62
+ })), "f");
63
+ return;
64
+ }
65
+ }
66
+ _CredentialHolder_value = new WeakMap(), _CredentialHolder_isValid = new WeakMap(), _CredentialHolder_refresh = new WeakMap(), _CredentialHolder_isRefreshing = new WeakMap();
@@ -0,0 +1,15 @@
1
+ import { OutboundMiddleware, FetchLike } from '../types.js';
2
+ import { Connection } from '../../services/platform/mod.js';
3
+ /**
4
+ * FetchBuilder is used to build a fetch function which can be composed by multiple middlewares for
5
+ * modifying the request/response and makes the implementation of {@link ConnectionFetchFactory}
6
+ * easier to understand.
7
+ */
8
+ export declare class FetchBuilder {
9
+ #private;
10
+ middlewares: OutboundMiddleware[];
11
+ constructor(fetch: FetchLike, cnx: Connection);
12
+ use(fn: OutboundMiddleware): void;
13
+ build(): FetchLike;
14
+ }
15
+ //# sourceMappingURL=FetchBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FetchBuilder.d.ts","sourceRoot":"","sources":["../../../../src/src/connection/internal/FetchBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAI5D;;;;GAIG;AACH,qBAAa,YAAY;;IACrB,WAAW,EAAE,kBAAkB,EAAE,CAAC;gBAKtB,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU;IAM7C,GAAG,CAAC,EAAE,EAAE,kBAAkB;IAI1B,KAAK,IAAI,SAAS;CAWrB"}
@@ -0,0 +1,89 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _FetchBuilder_base, _FetchBuilder_cnx;
13
+ import { isValidURL } from '../../dsl/http/versori/helpers.js';
14
+ /**
15
+ * FetchBuilder is used to build a fetch function which can be composed by multiple middlewares for
16
+ * modifying the request/response and makes the implementation of {@link ConnectionFetchFactory}
17
+ * easier to understand.
18
+ */
19
+ export class FetchBuilder {
20
+ constructor(fetch, cnx) {
21
+ Object.defineProperty(this, "middlewares", {
22
+ enumerable: true,
23
+ configurable: true,
24
+ writable: true,
25
+ value: void 0
26
+ });
27
+ _FetchBuilder_base.set(this, void 0);
28
+ _FetchBuilder_cnx.set(this, void 0);
29
+ __classPrivateFieldSet(this, _FetchBuilder_base, fetch, "f");
30
+ __classPrivateFieldSet(this, _FetchBuilder_cnx, cnx, "f");
31
+ this.middlewares = [changeRequestbaseURLMiddleware(cnx)];
32
+ }
33
+ use(fn) {
34
+ this.middlewares.push(fn);
35
+ }
36
+ build() {
37
+ let fetch = __classPrivateFieldGet(this, _FetchBuilder_base, "f");
38
+ for (let i = this.middlewares.length - 1; i >= 0; i--) {
39
+ // apply middlewares in reverse order so that the actual middleware executes in the
40
+ // order they were added
41
+ fetch = this.middlewares[i](fetch);
42
+ }
43
+ return fetch;
44
+ }
45
+ }
46
+ _FetchBuilder_base = new WeakMap(), _FetchBuilder_cnx = new WeakMap();
47
+ function changeBaseUrl(pathname, conn) {
48
+ const connBaseURL = conn.baseUrl;
49
+ // if the connection has no baseUrl set, but the pathname is a valid URL, return it as is
50
+ if (!connBaseURL && isValidURL(pathname)) {
51
+ return pathname;
52
+ }
53
+ // if connBaseURL is undefined, we can't create a URL object
54
+ if (!connBaseURL) {
55
+ throw new Error('Connection baseUrl is required but not provided');
56
+ }
57
+ const connBaseURLObj = new URL(connBaseURL);
58
+ let _pathname = pathname;
59
+ if (isValidURL(pathname)) {
60
+ const pathnameObj = new URL(pathname);
61
+ _pathname = pathnameObj.pathname;
62
+ }
63
+ const newURL = new URL(_pathname, connBaseURLObj.origin);
64
+ return newURL.toString();
65
+ }
66
+ function changeRequestInit(info, conn) {
67
+ if (typeof info === 'string') {
68
+ if (isValidURL(info)) {
69
+ return info;
70
+ }
71
+ return changeBaseUrl(info, conn);
72
+ }
73
+ else if (info instanceof URL) {
74
+ return info;
75
+ }
76
+ else if (info instanceof Request) {
77
+ const url = changeBaseUrl(info.url, conn);
78
+ return new Request(url, info);
79
+ }
80
+ return info;
81
+ }
82
+ function changeRequestbaseURLMiddleware(conn) {
83
+ return (fetch) => {
84
+ return async (input, init = {}) => {
85
+ const newInput = changeRequestInit(input, conn);
86
+ return fetch(newInput, init);
87
+ };
88
+ };
89
+ }
@@ -0,0 +1,14 @@
1
+ import { credentialv1alpha1 } from '../../services/credentials/mod.js';
2
+ /**
3
+ * HttpClientFactory is used to create a {@link Deno.HttpClient} for a given {@link credentialv1alpha1.Credential}.
4
+ *
5
+ * This is build to support being provided any credential type, and if the credential does not require a specific
6
+ * client then the factory will return undefined.
7
+ */
8
+ export declare class HttpClientFactory {
9
+ private readonly cache;
10
+ constructor();
11
+ getClient(credential: credentialv1alpha1.Credential): Deno.HttpClient | undefined;
12
+ private newMtlsClient;
13
+ }
14
+ //# sourceMappingURL=HttpClientFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpClientFactory.d.ts","sourceRoot":"","sources":["../../../../src/src/connection/internal/HttpClientFactory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;;IAM1D,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,SAAS;IAcjF,OAAO,CAAC,aAAa;CAaxB"}
@@ -0,0 +1,42 @@
1
+ import { create } from '@bufbuild/protobuf';
2
+ import { LRUCache } from 'lru-cache';
3
+ import { credentialv1alpha1 } from '../../services/credentials/mod.js';
4
+ /**
5
+ * HttpClientFactory is used to create a {@link Deno.HttpClient} for a given {@link credentialv1alpha1.Credential}.
6
+ *
7
+ * This is build to support being provided any credential type, and if the credential does not require a specific
8
+ * client then the factory will return undefined.
9
+ */
10
+ export class HttpClientFactory {
11
+ constructor() {
12
+ Object.defineProperty(this, "cache", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: void 0
17
+ });
18
+ this.cache = new LRUCache({ max: 100 });
19
+ }
20
+ getClient(credential) {
21
+ const cached = this.cache.get(credential.id);
22
+ if (cached) {
23
+ return cached;
24
+ }
25
+ switch (credential.type) {
26
+ case credentialv1alpha1.Credential_Type.Certificate:
27
+ return this.newMtlsClient(credential);
28
+ default:
29
+ return undefined;
30
+ }
31
+ }
32
+ newMtlsClient(credential) {
33
+ const data = create(credentialv1alpha1.CredentialDataCertificateSchema, credential.data);
34
+ const client = Deno.createHttpClient({
35
+ cert: new TextDecoder().decode(data.certificate),
36
+ key: new TextDecoder().decode(data.key),
37
+ caCerts: data.ca ? [new TextDecoder().decode(data.ca)] : [],
38
+ });
39
+ this.cache.set(credential.id, client);
40
+ return client;
41
+ }
42
+ }
@@ -0,0 +1,19 @@
1
+ import { Client } from '@connectrpc/connect';
2
+ import { Logger } from '../../observability/logging/Logger.js';
3
+ import { credentialv1alpha1, tokensv1 } from '../../services/credentials/mod.js';
4
+ import type * as express from 'express';
5
+ import { Connection } from '../../services/platform/mod.js';
6
+ export declare class ExpressInboundConnectionFactory {
7
+ private readonly credentials;
8
+ private readonly tokens;
9
+ private readonly logger;
10
+ private readonly cache;
11
+ constructor(credentials: Client<typeof credentialv1alpha1.CredentialService>, tokens: Client<typeof tokensv1.TokenService>, logger: Logger);
12
+ handler(cnx: Connection): Promise<express.RequestHandler>;
13
+ private buildHandlers;
14
+ private buildHandler;
15
+ private buildApiKeyHandler;
16
+ private buildBasicAuthHandler;
17
+ private buildHmacHandler;
18
+ }
19
+ //# sourceMappingURL=InboundConnectionFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InboundConnectionFactory.d.ts","sourceRoot":"","sources":["../../../../src/src/connection/internal/InboundConnectionFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,KAAK,OAAO,MAAM,SAAS,CAAC;AACxC,OAAO,EAIH,UAAU,EAGb,MAAM,gCAAgC,CAAC;AAQxC,qBAAa,+BAA+B;IAGpC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoD;gBAErD,WAAW,EAAE,MAAM,CAAC,OAAO,kBAAkB,CAAC,iBAAiB,CAAC,EAChE,MAAM,EAAE,MAAM,CAAC,OAAO,QAAQ,CAAC,YAAY,CAAC,EAC5C,MAAM,EAAE,MAAM;IAKnC,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;YAa3C,aAAa;IAc3B,OAAO,CAAC,YAAY;YAuDN,kBAAkB;YAiIlB,qBAAqB;YA2FrB,gBAAgB;CAsJjC"}