@versori/run 0.2.29 → 0.3.0-veta.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 (447) hide show
  1. package/esm/deps/jsr.io/@std/cache/0.2.0/_serialize_arg_list.d.ts +12 -0
  2. package/esm/deps/jsr.io/@std/cache/0.2.0/_serialize_arg_list.d.ts.map +1 -0
  3. package/esm/deps/jsr.io/@std/cache/0.2.0/_serialize_arg_list.js +69 -0
  4. package/esm/deps/jsr.io/@std/cache/0.2.0/lru_cache.d.ts +112 -0
  5. package/esm/deps/jsr.io/@std/cache/0.2.0/lru_cache.d.ts.map +1 -0
  6. package/esm/deps/jsr.io/@std/cache/0.2.0/lru_cache.js +151 -0
  7. package/esm/deps/jsr.io/@std/cache/0.2.0/memoize.d.ts +111 -0
  8. package/esm/deps/jsr.io/@std/cache/0.2.0/memoize.d.ts.map +1 -0
  9. package/esm/deps/jsr.io/@std/cache/0.2.0/memoize.js +82 -0
  10. package/esm/deps/jsr.io/@std/cache/0.2.0/mod.d.ts +24 -0
  11. package/esm/deps/jsr.io/@std/cache/0.2.0/mod.d.ts.map +1 -0
  12. package/esm/deps/jsr.io/@std/cache/0.2.0/mod.js +25 -0
  13. package/esm/deps/jsr.io/@std/cache/0.2.0/ttl_cache.d.ts +129 -0
  14. package/esm/deps/jsr.io/@std/cache/0.2.0/ttl_cache.d.ts.map +1 -0
  15. package/esm/deps/jsr.io/@std/cache/0.2.0/ttl_cache.js +162 -0
  16. package/esm/src/connection/DirectConnectionFactory.d.ts +29 -0
  17. package/esm/src/connection/DirectConnectionFactory.d.ts.map +1 -0
  18. package/esm/src/connection/DirectConnectionFactory.js +82 -0
  19. package/esm/src/connection/DynamicFetchFactory.d.ts +30 -0
  20. package/esm/src/connection/DynamicFetchFactory.d.ts.map +1 -0
  21. package/esm/src/connection/DynamicFetchFactory.js +113 -0
  22. package/esm/src/connection/StaticFetchFactory.d.ts +11 -0
  23. package/esm/src/connection/StaticFetchFactory.d.ts.map +1 -0
  24. package/esm/src/connection/StaticFetchFactory.js +35 -0
  25. package/esm/src/connection/internal/CredentialHolder.d.ts +11 -0
  26. package/esm/src/connection/internal/CredentialHolder.d.ts.map +1 -0
  27. package/esm/src/connection/internal/CredentialHolder.js +66 -0
  28. package/esm/src/connection/internal/FetchBuilder.d.ts +15 -0
  29. package/esm/src/connection/internal/FetchBuilder.d.ts.map +1 -0
  30. package/esm/src/connection/internal/FetchBuilder.js +89 -0
  31. package/esm/src/connection/internal/HttpClientFactory.d.ts +14 -0
  32. package/esm/src/connection/internal/HttpClientFactory.d.ts.map +1 -0
  33. package/esm/src/connection/internal/HttpClientFactory.js +42 -0
  34. package/esm/src/connection/internal/InboundConnectionFactory.d.ts +19 -0
  35. package/esm/src/connection/internal/InboundConnectionFactory.d.ts.map +1 -0
  36. package/esm/src/connection/internal/InboundConnectionFactory.js +390 -0
  37. package/esm/src/connection/internal/OutboundConnectionFactory.d.ts +31 -0
  38. package/esm/src/connection/internal/OutboundConnectionFactory.d.ts.map +1 -0
  39. package/esm/src/connection/internal/OutboundConnectionFactory.js +447 -0
  40. package/esm/src/connection/types.d.ts +32 -0
  41. package/esm/src/connection/types.d.ts.map +1 -0
  42. package/esm/src/connection/types.js +1 -0
  43. package/esm/src/context/ActivationImpl.d.ts +18 -0
  44. package/esm/src/context/ActivationImpl.d.ts.map +1 -0
  45. package/esm/src/context/ActivationImpl.js +82 -0
  46. package/esm/src/context/Context.d.ts +4 -6
  47. package/esm/src/context/Context.d.ts.map +1 -1
  48. package/esm/src/context/Context.js +8 -16
  49. package/esm/src/context/ContextProvider.d.ts +7 -3
  50. package/esm/src/context/ContextProvider.d.ts.map +1 -1
  51. package/esm/src/context/ContextProvider.js +28 -10
  52. package/esm/src/dsl/http/default.d.ts.map +1 -1
  53. package/esm/src/dsl/http/default.js +2 -2
  54. package/esm/src/dsl/http/types.d.ts +9 -4
  55. package/esm/src/dsl/http/types.d.ts.map +1 -1
  56. package/esm/src/dsl/http/versori/configloader.d.ts.map +1 -1
  57. package/esm/src/dsl/http/versori/configloader.js +3 -1
  58. package/esm/src/dsl/http/versori/constants.d.ts.map +1 -1
  59. package/esm/src/dsl/http/versori/constants.js +1 -0
  60. package/esm/src/dsl/http/versori/contextcredentials.d.ts.map +1 -1
  61. package/esm/src/dsl/http/versori/platformapi.d.ts.map +1 -1
  62. package/esm/src/dsl/http/versori/proxyroundtripper.d.ts +5 -3
  63. package/esm/src/dsl/http/versori/proxyroundtripper.d.ts.map +1 -1
  64. package/esm/src/dsl/http/versori/proxyroundtripper.js +31 -8
  65. package/esm/src/dsl/http/versori/webhookmiddleware.d.ts +8 -5
  66. package/esm/src/dsl/http/versori/webhookmiddleware.d.ts.map +1 -1
  67. package/esm/src/dsl/http/versori/webhookmiddleware.js +106 -115
  68. package/esm/src/dsl/tasks/HttpTask.d.ts +6 -5
  69. package/esm/src/dsl/tasks/HttpTask.d.ts.map +1 -1
  70. package/esm/src/dsl/tasks/HttpTask.js +19 -22
  71. package/esm/src/internal/InternalAuth.d.ts +15 -0
  72. package/esm/src/internal/InternalAuth.d.ts.map +1 -0
  73. package/esm/src/internal/InternalAuth.js +90 -0
  74. package/esm/src/internal/cli.d.ts +2 -0
  75. package/esm/src/internal/cli.d.ts.map +1 -0
  76. package/esm/src/internal/cli.js +20 -0
  77. package/esm/src/internal/constants.d.ts +20 -0
  78. package/esm/src/internal/constants.d.ts.map +1 -0
  79. package/esm/src/internal/constants.js +24 -0
  80. package/esm/src/interpreter/durable/DurableInterpreter.d.ts +14 -5
  81. package/esm/src/interpreter/durable/DurableInterpreter.d.ts.map +1 -1
  82. package/esm/src/interpreter/durable/DurableInterpreter.js +20 -18
  83. package/esm/src/interpreter/durable/ObservableCompiler.d.ts +6 -3
  84. package/esm/src/interpreter/durable/ObservableCompiler.d.ts.map +1 -1
  85. package/esm/src/interpreter/durable/compilers/durableworkflow.d.ts.map +1 -1
  86. package/esm/src/interpreter/durable/compilers/durableworkflow.js +10 -1
  87. package/esm/src/interpreter/durable/compilers/http.d.ts.map +1 -1
  88. package/esm/src/interpreter/durable/compilers/http.js +26 -9
  89. package/esm/src/interpreter/durable/compilers/schedule.d.ts.map +1 -1
  90. package/esm/src/interpreter/durable/compilers/schedule.js +41 -18
  91. package/esm/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
  92. package/esm/src/interpreter/durable/compilers/webhook.js +30 -33
  93. package/esm/src/interpreter/memory/MemoryInterpreter.d.ts +4 -4
  94. package/esm/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
  95. package/esm/src/interpreter/memory/MemoryInterpreter.js +14 -23
  96. package/esm/src/interpreter/memory/ObservableCompiler.d.ts +6 -3
  97. package/esm/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
  98. package/esm/src/interpreter/memory/compilers/http.d.ts.map +1 -1
  99. package/esm/src/interpreter/memory/compilers/http.js +26 -9
  100. package/esm/src/interpreter/memory/compilers/schedule.d.ts.map +1 -1
  101. package/esm/src/interpreter/memory/compilers/schedule.js +34 -18
  102. package/esm/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
  103. package/esm/src/interpreter/memory/compilers/webhook.js +31 -34
  104. package/esm/src/services/credentials/credential-v1alpha1.d.ts +4 -0
  105. package/esm/src/services/credentials/credential-v1alpha1.d.ts.map +1 -0
  106. package/esm/src/services/credentials/credential-v1alpha1.js +3 -0
  107. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.d.ts +119 -0
  108. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.d.ts.map +1 -0
  109. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.js +67 -0
  110. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.d.ts +245 -0
  111. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.d.ts.map +1 -0
  112. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.js +44 -0
  113. package/esm/src/services/credentials/generated/versori/credential/oauth2/v1/token_pb.d.ts +38 -0
  114. package/esm/src/services/credentials/generated/versori/credential/oauth2/v1/token_pb.d.ts.map +1 -0
  115. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/oauth2/v1/token_pb.js +1 -1
  116. package/esm/src/services/credentials/generated/versori/credential/oauth2/v1/token_service_pb.d.ts +471 -0
  117. package/esm/src/services/credentials/generated/versori/credential/oauth2/v1/token_service_pb.d.ts.map +1 -0
  118. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/oauth2/v1/token_service_pb.js +1 -1
  119. package/esm/src/services/credentials/generated/versori/credential/tokens/v1/token_pb.d.ts +38 -0
  120. package/esm/src/services/credentials/generated/versori/credential/tokens/v1/token_pb.d.ts.map +1 -0
  121. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/tokens/v1/token_pb.js +1 -1
  122. package/esm/src/services/credentials/generated/versori/credential/tokens/v1/token_service_pb.d.ts +128 -0
  123. package/esm/src/services/credentials/generated/versori/credential/tokens/v1/token_service_pb.d.ts.map +1 -0
  124. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/tokens/v1/token_service_pb.js +1 -1
  125. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/common_pb.d.ts +90 -0
  126. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/common_pb.d.ts.map +1 -0
  127. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/v1alpha1/common_pb.js +16 -6
  128. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.d.ts +1468 -0
  129. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.d.ts.map +1 -0
  130. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.js +534 -0
  131. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_service_pb.d.ts +390 -0
  132. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_service_pb.d.ts.map +1 -0
  133. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/v1alpha1/credential_service_pb.js +1 -1
  134. package/esm/src/services/credentials/isTokenValid.d.ts +3 -0
  135. package/esm/src/services/credentials/isTokenValid.d.ts.map +1 -0
  136. package/esm/src/services/credentials/isTokenValid.js +8 -0
  137. package/esm/src/services/credentials/mod.d.ts +5 -0
  138. package/esm/src/services/credentials/mod.d.ts.map +1 -0
  139. package/esm/src/services/credentials/mod.js +4 -0
  140. package/esm/src/services/credentials/oauth1-v1.d.ts +3 -0
  141. package/esm/src/services/credentials/oauth1-v1.d.ts.map +1 -0
  142. package/esm/src/services/credentials/oauth1-v1.js +2 -0
  143. package/esm/src/services/credentials/oauth2-v1.d.ts +3 -0
  144. package/esm/src/services/credentials/oauth2-v1.d.ts.map +1 -0
  145. package/esm/src/services/credentials/oauth2-v1.js +2 -0
  146. package/esm/src/services/credentials/tokens-v1.d.ts +3 -0
  147. package/esm/src/services/credentials/tokens-v1.d.ts.map +1 -0
  148. package/esm/src/services/credentials/tokens-v1.js +2 -0
  149. package/esm/src/services/platform/PlatformApi.d.ts +7 -0
  150. package/esm/src/services/platform/PlatformApi.d.ts.map +1 -0
  151. package/esm/src/services/platform/PlatformApi.js +25 -0
  152. package/esm/src/services/platform/generated/client/client.gen.d.ts +3 -0
  153. package/esm/src/services/platform/generated/client/client.gen.d.ts.map +1 -0
  154. package/esm/src/services/platform/generated/client/client.gen.js +176 -0
  155. package/esm/src/services/platform/generated/client/index.d.ts +8 -0
  156. package/esm/src/services/platform/generated/client/index.d.ts.map +1 -0
  157. package/esm/src/services/platform/generated/client/index.js +5 -0
  158. package/esm/src/services/platform/generated/client/types.gen.d.ts +125 -0
  159. package/esm/src/services/platform/generated/client/types.gen.d.ts.map +1 -0
  160. package/esm/src/services/platform/generated/client/types.gen.js +2 -0
  161. package/esm/src/services/platform/generated/client/utils.gen.d.ts +39 -0
  162. package/esm/src/services/platform/generated/client/utils.gen.d.ts.map +1 -0
  163. package/esm/src/services/platform/generated/client/utils.gen.js +234 -0
  164. package/esm/src/services/platform/generated/client.gen.d.ts +13 -0
  165. package/esm/src/services/platform/generated/client.gen.d.ts.map +1 -0
  166. package/esm/src/services/platform/generated/client.gen.js +5 -0
  167. package/esm/src/services/platform/generated/core/auth.gen.d.ts +19 -0
  168. package/esm/src/services/platform/generated/core/auth.gen.d.ts.map +1 -0
  169. package/esm/src/services/platform/generated/core/auth.gen.js +14 -0
  170. package/esm/src/services/platform/generated/core/bodySerializer.gen.d.ts +18 -0
  171. package/esm/src/services/platform/generated/core/bodySerializer.gen.d.ts.map +1 -0
  172. package/esm/src/services/platform/generated/core/bodySerializer.gen.js +57 -0
  173. package/esm/src/services/platform/generated/core/params.gen.d.ts +34 -0
  174. package/esm/src/services/platform/generated/core/params.gen.d.ts.map +1 -0
  175. package/esm/src/services/platform/generated/core/params.gen.js +88 -0
  176. package/esm/src/services/platform/generated/core/pathSerializer.gen.d.ts +34 -0
  177. package/esm/src/services/platform/generated/core/pathSerializer.gen.d.ts.map +1 -0
  178. package/esm/src/services/platform/generated/core/pathSerializer.gen.js +114 -0
  179. package/esm/src/services/platform/generated/core/serverSentEvents.gen.d.ts +60 -0
  180. package/esm/src/services/platform/generated/core/serverSentEvents.gen.d.ts.map +1 -0
  181. package/esm/src/services/platform/generated/core/serverSentEvents.gen.js +121 -0
  182. package/esm/src/services/platform/generated/core/types.gen.d.ts +79 -0
  183. package/esm/src/services/platform/generated/core/types.gen.d.ts.map +1 -0
  184. package/esm/src/services/platform/generated/core/types.gen.js +2 -0
  185. package/esm/src/services/platform/generated/core/utils.gen.d.ts +15 -0
  186. package/esm/src/services/platform/generated/core/utils.gen.d.ts.map +1 -0
  187. package/esm/src/services/platform/generated/core/utils.gen.js +69 -0
  188. package/esm/src/services/platform/generated/index.d.ts +3 -0
  189. package/esm/src/services/platform/generated/index.d.ts.map +1 -0
  190. package/esm/src/services/platform/generated/index.js +3 -0
  191. package/esm/src/services/platform/generated/sdk.gen.d.ts +494 -0
  192. package/esm/src/services/platform/generated/sdk.gen.d.ts.map +1 -0
  193. package/esm/src/services/platform/generated/sdk.gen.js +1908 -0
  194. package/esm/src/services/platform/generated/types.gen.d.ts +3798 -0
  195. package/esm/src/services/platform/generated/types.gen.d.ts.map +1 -0
  196. package/esm/src/services/platform/generated/types.gen.js +2 -0
  197. package/esm/src/services/platform/mod.d.ts +5 -0
  198. package/esm/src/services/platform/mod.d.ts.map +1 -0
  199. package/esm/src/services/platform/mod.js +2 -0
  200. package/package.json +3 -4
  201. package/script/deps/jsr.io/@std/cache/0.2.0/_serialize_arg_list.d.ts +12 -0
  202. package/script/deps/jsr.io/@std/cache/0.2.0/_serialize_arg_list.d.ts.map +1 -0
  203. package/script/deps/jsr.io/@std/cache/0.2.0/_serialize_arg_list.js +72 -0
  204. package/script/deps/jsr.io/@std/cache/0.2.0/lru_cache.d.ts +112 -0
  205. package/script/deps/jsr.io/@std/cache/0.2.0/lru_cache.d.ts.map +1 -0
  206. package/script/deps/jsr.io/@std/cache/0.2.0/lru_cache.js +155 -0
  207. package/script/deps/jsr.io/@std/cache/0.2.0/memoize.d.ts +111 -0
  208. package/script/deps/jsr.io/@std/cache/0.2.0/memoize.d.ts.map +1 -0
  209. package/script/deps/jsr.io/@std/cache/0.2.0/memoize.js +85 -0
  210. package/script/deps/jsr.io/@std/cache/0.2.0/mod.d.ts +24 -0
  211. package/script/deps/jsr.io/@std/cache/0.2.0/mod.d.ts.map +1 -0
  212. package/script/deps/jsr.io/@std/cache/0.2.0/mod.js +41 -0
  213. package/script/deps/jsr.io/@std/cache/0.2.0/ttl_cache.d.ts +129 -0
  214. package/script/deps/jsr.io/@std/cache/0.2.0/ttl_cache.d.ts.map +1 -0
  215. package/script/deps/jsr.io/@std/cache/0.2.0/ttl_cache.js +166 -0
  216. package/script/src/connection/DirectConnectionFactory.d.ts +29 -0
  217. package/script/src/connection/DirectConnectionFactory.d.ts.map +1 -0
  218. package/script/src/connection/DirectConnectionFactory.js +86 -0
  219. package/script/src/connection/DynamicFetchFactory.d.ts +30 -0
  220. package/script/src/connection/DynamicFetchFactory.d.ts.map +1 -0
  221. package/script/src/connection/DynamicFetchFactory.js +117 -0
  222. package/script/src/connection/StaticFetchFactory.d.ts +11 -0
  223. package/script/src/connection/StaticFetchFactory.d.ts.map +1 -0
  224. package/script/src/connection/StaticFetchFactory.js +39 -0
  225. package/script/src/connection/internal/CredentialHolder.d.ts +11 -0
  226. package/script/src/connection/internal/CredentialHolder.d.ts.map +1 -0
  227. package/script/src/connection/internal/CredentialHolder.js +71 -0
  228. package/script/src/connection/internal/FetchBuilder.d.ts +15 -0
  229. package/script/src/connection/internal/FetchBuilder.d.ts.map +1 -0
  230. package/script/src/connection/internal/FetchBuilder.js +93 -0
  231. package/script/src/connection/internal/HttpClientFactory.d.ts +14 -0
  232. package/script/src/connection/internal/HttpClientFactory.d.ts.map +1 -0
  233. package/script/src/connection/internal/HttpClientFactory.js +46 -0
  234. package/script/src/connection/internal/InboundConnectionFactory.d.ts +19 -0
  235. package/script/src/connection/internal/InboundConnectionFactory.d.ts.map +1 -0
  236. package/script/src/connection/internal/InboundConnectionFactory.js +394 -0
  237. package/script/src/connection/internal/OutboundConnectionFactory.d.ts +31 -0
  238. package/script/src/connection/internal/OutboundConnectionFactory.d.ts.map +1 -0
  239. package/script/src/connection/internal/OutboundConnectionFactory.js +454 -0
  240. package/script/src/connection/types.d.ts +32 -0
  241. package/script/src/connection/types.d.ts.map +1 -0
  242. package/script/src/connection/types.js +2 -0
  243. package/script/src/context/ActivationImpl.d.ts +18 -0
  244. package/script/src/context/ActivationImpl.d.ts.map +1 -0
  245. package/script/src/context/ActivationImpl.js +86 -0
  246. package/script/src/context/Context.d.ts +4 -6
  247. package/script/src/context/Context.d.ts.map +1 -1
  248. package/script/src/context/Context.js +8 -16
  249. package/script/src/context/ContextProvider.d.ts +7 -3
  250. package/script/src/context/ContextProvider.d.ts.map +1 -1
  251. package/script/src/context/ContextProvider.js +28 -10
  252. package/script/src/dsl/http/default.d.ts.map +1 -1
  253. package/script/src/dsl/http/default.js +2 -2
  254. package/script/src/dsl/http/types.d.ts +9 -4
  255. package/script/src/dsl/http/types.d.ts.map +1 -1
  256. package/script/src/dsl/http/versori/configloader.d.ts.map +1 -1
  257. package/script/src/dsl/http/versori/configloader.js +3 -1
  258. package/script/src/dsl/http/versori/constants.d.ts.map +1 -1
  259. package/script/src/dsl/http/versori/constants.js +1 -0
  260. package/script/src/dsl/http/versori/contextcredentials.d.ts.map +1 -1
  261. package/script/src/dsl/http/versori/platformapi.d.ts.map +1 -1
  262. package/script/src/dsl/http/versori/proxyroundtripper.d.ts +5 -3
  263. package/script/src/dsl/http/versori/proxyroundtripper.d.ts.map +1 -1
  264. package/script/src/dsl/http/versori/proxyroundtripper.js +31 -8
  265. package/script/src/dsl/http/versori/webhookmiddleware.d.ts +8 -5
  266. package/script/src/dsl/http/versori/webhookmiddleware.d.ts.map +1 -1
  267. package/script/src/dsl/http/versori/webhookmiddleware.js +106 -115
  268. package/script/src/dsl/tasks/HttpTask.d.ts +6 -5
  269. package/script/src/dsl/tasks/HttpTask.d.ts.map +1 -1
  270. package/script/src/dsl/tasks/HttpTask.js +19 -22
  271. package/script/src/internal/InternalAuth.d.ts +15 -0
  272. package/script/src/internal/InternalAuth.d.ts.map +1 -0
  273. package/script/src/internal/InternalAuth.js +94 -0
  274. package/script/src/internal/cli.d.ts +2 -0
  275. package/script/src/internal/cli.d.ts.map +1 -0
  276. package/script/src/internal/cli.js +23 -0
  277. package/script/src/internal/constants.d.ts +20 -0
  278. package/script/src/internal/constants.d.ts.map +1 -0
  279. package/script/src/internal/constants.js +27 -0
  280. package/script/src/interpreter/durable/DurableInterpreter.d.ts +14 -5
  281. package/script/src/interpreter/durable/DurableInterpreter.d.ts.map +1 -1
  282. package/script/src/interpreter/durable/DurableInterpreter.js +20 -18
  283. package/script/src/interpreter/durable/ObservableCompiler.d.ts +6 -3
  284. package/script/src/interpreter/durable/ObservableCompiler.d.ts.map +1 -1
  285. package/script/src/interpreter/durable/compilers/durableworkflow.d.ts.map +1 -1
  286. package/script/src/interpreter/durable/compilers/durableworkflow.js +10 -1
  287. package/script/src/interpreter/durable/compilers/http.d.ts.map +1 -1
  288. package/script/src/interpreter/durable/compilers/http.js +26 -9
  289. package/script/src/interpreter/durable/compilers/schedule.d.ts.map +1 -1
  290. package/script/src/interpreter/durable/compilers/schedule.js +41 -18
  291. package/script/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
  292. package/script/src/interpreter/durable/compilers/webhook.js +30 -33
  293. package/script/src/interpreter/memory/MemoryInterpreter.d.ts +4 -4
  294. package/script/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
  295. package/script/src/interpreter/memory/MemoryInterpreter.js +14 -23
  296. package/script/src/interpreter/memory/ObservableCompiler.d.ts +6 -3
  297. package/script/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
  298. package/script/src/interpreter/memory/compilers/http.d.ts.map +1 -1
  299. package/script/src/interpreter/memory/compilers/http.js +26 -9
  300. package/script/src/interpreter/memory/compilers/schedule.d.ts.map +1 -1
  301. package/script/src/interpreter/memory/compilers/schedule.js +34 -18
  302. package/script/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
  303. package/script/src/interpreter/memory/compilers/webhook.js +31 -34
  304. package/script/src/services/credentials/credential-v1alpha1.d.ts +4 -0
  305. package/script/src/services/credentials/credential-v1alpha1.d.ts.map +1 -0
  306. package/script/src/services/credentials/credential-v1alpha1.js +19 -0
  307. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.d.ts +119 -0
  308. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.d.ts.map +1 -0
  309. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.js +70 -0
  310. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.d.ts +245 -0
  311. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.d.ts.map +1 -0
  312. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.js +47 -0
  313. package/script/src/services/credentials/generated/versori/credential/oauth2/v1/token_pb.d.ts +38 -0
  314. package/script/src/services/credentials/generated/versori/credential/oauth2/v1/token_pb.d.ts.map +1 -0
  315. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/oauth2/v1/token_pb.js +1 -1
  316. package/script/src/services/credentials/generated/versori/credential/oauth2/v1/token_service_pb.d.ts +471 -0
  317. package/script/src/services/credentials/generated/versori/credential/oauth2/v1/token_service_pb.d.ts.map +1 -0
  318. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/oauth2/v1/token_service_pb.js +1 -1
  319. package/script/src/services/credentials/generated/versori/credential/tokens/v1/token_pb.d.ts +38 -0
  320. package/script/src/services/credentials/generated/versori/credential/tokens/v1/token_pb.d.ts.map +1 -0
  321. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/tokens/v1/token_pb.js +1 -1
  322. package/script/src/services/credentials/generated/versori/credential/tokens/v1/token_service_pb.d.ts +128 -0
  323. package/script/src/services/credentials/generated/versori/credential/tokens/v1/token_service_pb.d.ts.map +1 -0
  324. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/tokens/v1/token_service_pb.js +1 -1
  325. package/script/src/services/credentials/generated/versori/credential/v1alpha1/common_pb.d.ts +90 -0
  326. package/script/src/services/credentials/generated/versori/credential/v1alpha1/common_pb.d.ts.map +1 -0
  327. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/v1alpha1/common_pb.js +16 -6
  328. package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.d.ts +1468 -0
  329. package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.d.ts.map +1 -0
  330. package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.js +538 -0
  331. package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_service_pb.d.ts +390 -0
  332. package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_service_pb.d.ts.map +1 -0
  333. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/v1alpha1/credential_service_pb.js +1 -1
  334. package/script/src/services/credentials/isTokenValid.d.ts +3 -0
  335. package/script/src/services/credentials/isTokenValid.d.ts.map +1 -0
  336. package/script/src/services/credentials/isTokenValid.js +11 -0
  337. package/script/src/services/credentials/mod.d.ts +5 -0
  338. package/script/src/services/credentials/mod.d.ts.map +1 -0
  339. package/script/src/services/credentials/mod.js +30 -0
  340. package/script/src/services/credentials/oauth1-v1.d.ts +3 -0
  341. package/script/src/services/credentials/oauth1-v1.d.ts.map +1 -0
  342. package/script/src/services/credentials/oauth1-v1.js +18 -0
  343. package/script/src/services/credentials/oauth2-v1.d.ts +3 -0
  344. package/script/src/services/credentials/oauth2-v1.d.ts.map +1 -0
  345. package/script/src/services/credentials/oauth2-v1.js +18 -0
  346. package/script/src/services/credentials/tokens-v1.d.ts +3 -0
  347. package/script/src/services/credentials/tokens-v1.d.ts.map +1 -0
  348. package/script/src/services/credentials/tokens-v1.js +18 -0
  349. package/script/src/services/platform/PlatformApi.d.ts +7 -0
  350. package/script/src/services/platform/PlatformApi.d.ts.map +1 -0
  351. package/script/src/services/platform/PlatformApi.js +52 -0
  352. package/script/src/services/platform/generated/client/client.gen.d.ts +3 -0
  353. package/script/src/services/platform/generated/client/client.gen.d.ts.map +1 -0
  354. package/script/src/services/platform/generated/client/client.gen.js +180 -0
  355. package/script/src/services/platform/generated/client/index.d.ts +8 -0
  356. package/script/src/services/platform/generated/client/index.d.ts.map +1 -0
  357. package/script/src/services/platform/generated/client/index.js +15 -0
  358. package/script/src/services/platform/generated/client/types.gen.d.ts +125 -0
  359. package/script/src/services/platform/generated/client/types.gen.d.ts.map +1 -0
  360. package/script/src/services/platform/generated/client/types.gen.js +3 -0
  361. package/script/src/services/platform/generated/client/utils.gen.d.ts +39 -0
  362. package/script/src/services/platform/generated/client/utils.gen.d.ts.map +1 -0
  363. package/script/src/services/platform/generated/client/utils.gen.js +245 -0
  364. package/script/src/services/platform/generated/client.gen.d.ts +13 -0
  365. package/script/src/services/platform/generated/client.gen.d.ts.map +1 -0
  366. package/script/src/services/platform/generated/client.gen.js +8 -0
  367. package/script/src/services/platform/generated/core/auth.gen.d.ts +19 -0
  368. package/script/src/services/platform/generated/core/auth.gen.d.ts.map +1 -0
  369. package/script/src/services/platform/generated/core/auth.gen.js +18 -0
  370. package/script/src/services/platform/generated/core/bodySerializer.gen.d.ts +18 -0
  371. package/script/src/services/platform/generated/core/bodySerializer.gen.d.ts.map +1 -0
  372. package/script/src/services/platform/generated/core/bodySerializer.gen.js +60 -0
  373. package/script/src/services/platform/generated/core/params.gen.d.ts +34 -0
  374. package/script/src/services/platform/generated/core/params.gen.d.ts.map +1 -0
  375. package/script/src/services/platform/generated/core/params.gen.js +92 -0
  376. package/script/src/services/platform/generated/core/pathSerializer.gen.d.ts +34 -0
  377. package/script/src/services/platform/generated/core/pathSerializer.gen.d.ts.map +1 -0
  378. package/script/src/services/platform/generated/core/pathSerializer.gen.js +123 -0
  379. package/script/src/services/platform/generated/core/serverSentEvents.gen.d.ts +60 -0
  380. package/script/src/services/platform/generated/core/serverSentEvents.gen.d.ts.map +1 -0
  381. package/script/src/services/platform/generated/core/serverSentEvents.gen.js +125 -0
  382. package/script/src/services/platform/generated/core/types.gen.d.ts +79 -0
  383. package/script/src/services/platform/generated/core/types.gen.d.ts.map +1 -0
  384. package/script/src/services/platform/generated/core/types.gen.js +3 -0
  385. package/script/src/services/platform/generated/core/utils.gen.d.ts +15 -0
  386. package/script/src/services/platform/generated/core/utils.gen.d.ts.map +1 -0
  387. package/script/src/services/platform/generated/core/utils.gen.js +74 -0
  388. package/script/src/services/platform/generated/index.d.ts +3 -0
  389. package/script/src/services/platform/generated/index.d.ts.map +1 -0
  390. package/script/src/services/platform/generated/index.js +19 -0
  391. package/script/src/services/platform/generated/sdk.gen.d.ts +494 -0
  392. package/script/src/services/platform/generated/sdk.gen.d.ts.map +1 -0
  393. package/script/src/services/platform/generated/sdk.gen.js +1992 -0
  394. package/script/src/services/platform/generated/types.gen.d.ts +3798 -0
  395. package/script/src/services/platform/generated/types.gen.d.ts.map +1 -0
  396. package/script/src/services/platform/generated/types.gen.js +3 -0
  397. package/script/src/services/platform/mod.d.ts +5 -0
  398. package/script/src/services/platform/mod.d.ts.map +1 -0
  399. package/script/src/services/platform/mod.js +18 -0
  400. package/esm/src/dsl/http/versori/credential/client.d.ts +0 -13
  401. package/esm/src/dsl/http/versori/credential/client.d.ts.map +0 -1
  402. package/esm/src/dsl/http/versori/credential/client.js +0 -35
  403. package/esm/src/dsl/http/versori/credential/credentials.d.ts +0 -98
  404. package/esm/src/dsl/http/versori/credential/credentials.d.ts.map +0 -1
  405. package/esm/src/dsl/http/versori/credential/credentials.js +0 -40
  406. package/esm/src/dsl/http/versori/credential/mod.d.ts +0 -2
  407. package/esm/src/dsl/http/versori/credential/mod.d.ts.map +0 -1
  408. package/esm/src/dsl/http/versori/credential/mod.js +0 -1
  409. package/esm/src/dsl/http/versori/credential/oauth2/v1/token_pb.d.ts +0 -13
  410. package/esm/src/dsl/http/versori/credential/oauth2/v1/token_pb.d.ts.map +0 -1
  411. package/esm/src/dsl/http/versori/credential/oauth2/v1/token_service_pb.d.ts +0 -102
  412. package/esm/src/dsl/http/versori/credential/oauth2/v1/token_service_pb.d.ts.map +0 -1
  413. package/esm/src/dsl/http/versori/credential/tokens/v1/token_pb.d.ts +0 -13
  414. package/esm/src/dsl/http/versori/credential/tokens/v1/token_pb.d.ts.map +0 -1
  415. package/esm/src/dsl/http/versori/credential/tokens/v1/token_service_pb.d.ts +0 -46
  416. package/esm/src/dsl/http/versori/credential/tokens/v1/token_service_pb.d.ts.map +0 -1
  417. package/esm/src/dsl/http/versori/credential/v1alpha1/common_pb.d.ts +0 -40
  418. package/esm/src/dsl/http/versori/credential/v1alpha1/common_pb.d.ts.map +0 -1
  419. package/esm/src/dsl/http/versori/credential/v1alpha1/credential_service_pb.d.ts +0 -129
  420. package/esm/src/dsl/http/versori/credential/v1alpha1/credential_service_pb.d.ts.map +0 -1
  421. package/esm/src/dsl/http/versori/roundtripper.d.ts +0 -61
  422. package/esm/src/dsl/http/versori/roundtripper.d.ts.map +0 -1
  423. package/esm/src/dsl/http/versori/roundtripper.js +0 -967
  424. package/script/src/dsl/http/versori/credential/client.d.ts +0 -13
  425. package/script/src/dsl/http/versori/credential/client.d.ts.map +0 -1
  426. package/script/src/dsl/http/versori/credential/client.js +0 -39
  427. package/script/src/dsl/http/versori/credential/credentials.d.ts +0 -98
  428. package/script/src/dsl/http/versori/credential/credentials.d.ts.map +0 -1
  429. package/script/src/dsl/http/versori/credential/credentials.js +0 -46
  430. package/script/src/dsl/http/versori/credential/mod.d.ts +0 -2
  431. package/script/src/dsl/http/versori/credential/mod.d.ts.map +0 -1
  432. package/script/src/dsl/http/versori/credential/mod.js +0 -5
  433. package/script/src/dsl/http/versori/credential/oauth2/v1/token_pb.d.ts +0 -13
  434. package/script/src/dsl/http/versori/credential/oauth2/v1/token_pb.d.ts.map +0 -1
  435. package/script/src/dsl/http/versori/credential/oauth2/v1/token_service_pb.d.ts +0 -102
  436. package/script/src/dsl/http/versori/credential/oauth2/v1/token_service_pb.d.ts.map +0 -1
  437. package/script/src/dsl/http/versori/credential/tokens/v1/token_pb.d.ts +0 -13
  438. package/script/src/dsl/http/versori/credential/tokens/v1/token_pb.d.ts.map +0 -1
  439. package/script/src/dsl/http/versori/credential/tokens/v1/token_service_pb.d.ts +0 -46
  440. package/script/src/dsl/http/versori/credential/tokens/v1/token_service_pb.d.ts.map +0 -1
  441. package/script/src/dsl/http/versori/credential/v1alpha1/common_pb.d.ts +0 -40
  442. package/script/src/dsl/http/versori/credential/v1alpha1/common_pb.d.ts.map +0 -1
  443. package/script/src/dsl/http/versori/credential/v1alpha1/credential_service_pb.d.ts +0 -129
  444. package/script/src/dsl/http/versori/credential/v1alpha1/credential_service_pb.d.ts.map +0 -1
  445. package/script/src/dsl/http/versori/roundtripper.d.ts +0 -61
  446. package/script/src/dsl/http/versori/roundtripper.d.ts.map +0 -1
  447. package/script/src/dsl/http/versori/roundtripper.js +0 -974
@@ -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 '../../../deps/jsr.io/@std/cache/0.2.0/mod.js';
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(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"}
@@ -0,0 +1,390 @@
1
+ import { credentialv1alpha1 } from '../../services/credentials/mod.js';
2
+ import { create } from '@bufbuild/protobuf';
3
+ import { Buffer } from 'node:buffer';
4
+ import { createHmac } from 'node:crypto';
5
+ import { alwaysValid, CredentialHolder } from './CredentialHolder.js';
6
+ import { isTokenValid } from '../../services/credentials/isTokenValid.js';
7
+ import { LruCache } from '../../../deps/jsr.io/@std/cache/0.2.0/mod.js';
8
+ export class ExpressInboundConnectionFactory {
9
+ constructor(credentials, tokens, logger) {
10
+ Object.defineProperty(this, "credentials", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: credentials
15
+ });
16
+ Object.defineProperty(this, "tokens", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: tokens
21
+ });
22
+ Object.defineProperty(this, "logger", {
23
+ enumerable: true,
24
+ configurable: true,
25
+ writable: true,
26
+ value: logger
27
+ });
28
+ Object.defineProperty(this, "cache", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: void 0
33
+ });
34
+ this.cache = new LruCache(100);
35
+ }
36
+ handler(cnx) {
37
+ const cached = this.cache.get(cnx.id);
38
+ if (cached) {
39
+ return cached;
40
+ }
41
+ const handler = this.buildHandlers(cnx);
42
+ this.cache.set(cnx.id, handler);
43
+ return handler;
44
+ }
45
+ async buildHandlers(cnx) {
46
+ const handlers = [];
47
+ for (const [index, cnxCredential] of cnx.credentials.entries()) {
48
+ const handler = await this.buildHandler(cnxCredential, index, cnx);
49
+ if (handler) {
50
+ handlers.push(handler);
51
+ }
52
+ }
53
+ return composeHandlers(handlers);
54
+ }
55
+ buildHandler(cnxCredential, index, cnx) {
56
+ const asc = cnxCredential.authSchemeConfig;
57
+ const redactedCredential = cnxCredential.credential;
58
+ if (!asc || !redactedCredential) {
59
+ this.logger.warn('Connection credential is missing authSchemeConfig or credential', {
60
+ connectionId: cnx.id,
61
+ index,
62
+ asc,
63
+ redactedCredential,
64
+ });
65
+ return Promise.resolve(undefined);
66
+ }
67
+ switch (asc.type) {
68
+ case 'api-key':
69
+ if (!asc.apiKey) {
70
+ this.logger.warn('api-key auth has missing apiKey config', {
71
+ connectionId: cnx.id,
72
+ index,
73
+ });
74
+ return Promise.resolve(undefined);
75
+ }
76
+ return this.buildApiKeyHandler(asc.apiKey, redactedCredential);
77
+ case 'basic-auth':
78
+ return this.buildBasicAuthHandler(redactedCredential);
79
+ case 'hmac':
80
+ if (!asc.hmac) {
81
+ this.logger.warn('hmac auth has missing hmac config', {
82
+ connectionId: cnx.id,
83
+ index,
84
+ });
85
+ return Promise.resolve(undefined);
86
+ }
87
+ return this.buildHmacHandler(asc.hmac, redactedCredential);
88
+ default:
89
+ this.logger.warn('Unsupported inbound authSchemeConfig type', {
90
+ connectionId: cnx.id,
91
+ index,
92
+ type: asc.type,
93
+ });
94
+ return Promise.resolve(undefined);
95
+ }
96
+ }
97
+ async buildApiKeyHandler(cfg, redactedCredential) {
98
+ const initial = await this.tokens.getToken({
99
+ credentialId: redactedCredential.id,
100
+ forceRefresh: false,
101
+ });
102
+ if (!initial || !initial.token) {
103
+ this.logger.error('API key token not found for credential when building handler', {
104
+ credentialId: redactedCredential.id,
105
+ });
106
+ return (_req, res) => {
107
+ this.logger.warn('API key not configured before deployment, please redeploy your project', { credentialId: redactedCredential.id });
108
+ res.status(401).json({ error: 'Unauthorised' });
109
+ };
110
+ }
111
+ const holder = new CredentialHolder(initial.token, isTokenValid, async () => {
112
+ const refreshed = await this.tokens.getToken({
113
+ credentialId: redactedCredential.id,
114
+ forceRefresh: false,
115
+ });
116
+ return refreshed.token;
117
+ });
118
+ let extractor;
119
+ switch (cfg.in) {
120
+ case 'header': {
121
+ const headerKey = cfg.name.toLowerCase();
122
+ extractor = (req) => {
123
+ const headerVal = req.headers[headerKey];
124
+ if (Array.isArray(headerVal)) {
125
+ return headerVal[0];
126
+ }
127
+ if (typeof headerVal === 'string') {
128
+ return headerVal;
129
+ }
130
+ return undefined;
131
+ };
132
+ break;
133
+ }
134
+ case 'query': {
135
+ const name = cfg.name;
136
+ extractor = (req) => {
137
+ const q = req.query?.[name];
138
+ if (typeof q === 'string') {
139
+ return q;
140
+ }
141
+ return undefined;
142
+ };
143
+ break;
144
+ }
145
+ case 'cookie': {
146
+ const name = cfg.name;
147
+ extractor = (req) => {
148
+ const c = req.cookies?.[name];
149
+ if (typeof c === 'string') {
150
+ return c;
151
+ }
152
+ return undefined;
153
+ };
154
+ break;
155
+ }
156
+ default:
157
+ throw new Error('Unsupported apiKey.in value: ' + cfg.in);
158
+ }
159
+ async function verify(apiKey) {
160
+ const expected = await holder.get();
161
+ if (!expected) {
162
+ return false;
163
+ }
164
+ let expectedKey = expected.tokenType
165
+ ? `${expected.tokenType} ${expected.accessToken}`
166
+ : expected.accessToken;
167
+ if (apiKey === expectedKey || apiKey === expected.accessToken) {
168
+ return true;
169
+ }
170
+ // TODO: Is this a DDOS if they just provide the wrong credential?
171
+ holder.refresh();
172
+ expectedKey = expected.tokenType
173
+ ? `${expected.tokenType} ${expected.accessToken}`
174
+ : expected.accessToken;
175
+ return apiKey === expectedKey || apiKey === expected.accessToken;
176
+ }
177
+ return async (req, res, next) => {
178
+ try {
179
+ const gotKey = extractor(req);
180
+ if (!gotKey) {
181
+ return res.status(401).json({ error: 'Unauthorised' });
182
+ }
183
+ if (await verify(gotKey)) {
184
+ return next();
185
+ }
186
+ return res.status(401).json({ error: 'Unauthorised' });
187
+ }
188
+ catch (err) {
189
+ this.logger.error('Error verifying API key', { err });
190
+ res.status(401).json({ error: 'Unauthorised' });
191
+ }
192
+ };
193
+ }
194
+ async buildBasicAuthHandler(redactedCredential) {
195
+ const response = await this.credentials.get({ id: redactedCredential.id });
196
+ if (!response || !response.credential) {
197
+ this.logger.error('BasicAuth credential not found when building handler', {
198
+ credentialId: redactedCredential.id,
199
+ });
200
+ return (_req, res) => {
201
+ this.logger.warn('BasicAuth not configured before deployment, please redeploy your project', {
202
+ credentialId: redactedCredential.id,
203
+ });
204
+ res.status(401).json({ error: 'Unauthorised' });
205
+ };
206
+ }
207
+ const holder = new CredentialHolder(response.credential, alwaysValid, async () => {
208
+ const refreshed = await this.credentials.get({ id: redactedCredential.id });
209
+ return refreshed.credential;
210
+ });
211
+ // Build parser once
212
+ const parseAuth = (req) => {
213
+ const headerVal = req.headers['authorization'];
214
+ const header = Array.isArray(headerVal) ? headerVal[0] : headerVal;
215
+ if (!header || typeof header !== 'string') {
216
+ return undefined;
217
+ }
218
+ const [scheme, encoded] = header.split(' ');
219
+ if (!scheme || scheme.toLowerCase() !== 'basic' || !encoded) {
220
+ return undefined;
221
+ }
222
+ let decoded = '';
223
+ try {
224
+ decoded = Buffer.from(encoded, 'base64').toString('utf8');
225
+ }
226
+ catch (err) {
227
+ this.logger.warn('Error decoding BasicAuth header', { encoded, error: err });
228
+ return undefined;
229
+ }
230
+ const sep = decoded.indexOf(':');
231
+ if (sep === -1) {
232
+ return undefined;
233
+ }
234
+ return { username: decoded.slice(0, sep), password: decoded.slice(sep + 1) };
235
+ };
236
+ return async (req, res, next) => {
237
+ try {
238
+ const parsed = parseAuth(req);
239
+ if (!parsed) {
240
+ return res.status(401).json({ error: 'Unauthorised' });
241
+ }
242
+ const c1 = await holder.get();
243
+ const data1 = create(credentialv1alpha1.CredentialDataBasicAuthSchema, c1.data);
244
+ if (parsed.username === data1.username && parsed.password === data1.password) {
245
+ return next();
246
+ }
247
+ const c2 = await holder.get(true);
248
+ const data2 = create(credentialv1alpha1.CredentialDataBasicAuthSchema, c2.data);
249
+ if (parsed.username === data2.username && parsed.password === data2.password) {
250
+ return next();
251
+ }
252
+ return res.status(401).json({ error: 'Unauthorised' });
253
+ }
254
+ catch (err) {
255
+ this.logger.error('Error verifying BasicAuth', { err });
256
+ res.status(401).json({ error: 'Unauthorised' });
257
+ }
258
+ };
259
+ }
260
+ async buildHmacHandler(cfg, redactedCredential) {
261
+ const response = await this.credentials.get({ id: redactedCredential.id });
262
+ if (!response || !response.credential) {
263
+ this.logger.error('HMAC credential not found', { credentialId: redactedCredential.id });
264
+ return (_req, res) => {
265
+ res.status(401).json({ error: 'Unauthorised' });
266
+ };
267
+ }
268
+ const holder = new CredentialHolder(response.credential, alwaysValid, async () => {
269
+ const refreshed = await this.credentials.get({ id: redactedCredential.id });
270
+ return refreshed.credential;
271
+ });
272
+ let extractor;
273
+ switch (cfg.in) {
274
+ case 'query': {
275
+ const name = cfg.name;
276
+ extractor = (req) => {
277
+ const q = req.query?.[name];
278
+ if (typeof q === 'string') {
279
+ return q;
280
+ }
281
+ return undefined;
282
+ };
283
+ break;
284
+ }
285
+ case 'header': {
286
+ const headerKey = cfg.name.toLowerCase();
287
+ extractor = (req) => {
288
+ const hv = req.headers[headerKey];
289
+ if (Array.isArray(hv)) {
290
+ return hv[0];
291
+ }
292
+ if (typeof hv === 'string') {
293
+ return hv;
294
+ }
295
+ return undefined;
296
+ };
297
+ break;
298
+ }
299
+ case 'cookie': {
300
+ const name = cfg.name;
301
+ extractor = (req) => {
302
+ const c = req.cookies?.[name];
303
+ if (typeof c === 'string') {
304
+ return c;
305
+ }
306
+ return undefined;
307
+ };
308
+ break;
309
+ }
310
+ default:
311
+ throw new Error('Unsupported hmac.in value: ' + cfg.in);
312
+ }
313
+ const logger = this.logger;
314
+ async function computeDigest(req) {
315
+ const cred = await holder.get();
316
+ const raw = create(credentialv1alpha1.CredentialDataRawSchema, cred.data);
317
+ const secret = Buffer.from(raw.raw).toString('utf8');
318
+ const hmac = createHmac(cfg.algorithm, secret);
319
+ for (const input of cfg.digestInputs) {
320
+ switch (input) {
321
+ case 'body': {
322
+ if (typeof req.rawBody === 'undefined') {
323
+ const { body: _body, ...rest } = req;
324
+ // NOTE: address this in future, at the moment only the JSON body-parser is populating the
325
+ // rawBody property, so this should only happen if the user is not using JSON.
326
+ logger.warn('request.rawBody missing from request, HMAC signature is likely going to fail, this can happen if the payload is not application/json', { req: { ...rest, body: '**redacted**' } });
327
+ return '';
328
+ }
329
+ hmac.update(req.rawBody);
330
+ break;
331
+ }
332
+ case 'url':
333
+ hmac.update(req.originalUrl ?? req.url);
334
+ break;
335
+ default:
336
+ break;
337
+ }
338
+ }
339
+ return hmac.digest(cfg.encoding);
340
+ }
341
+ return async (req, res, next) => {
342
+ try {
343
+ const provided = extractor(req);
344
+ if (!provided) {
345
+ return res.status(401).json({ error: 'Unauthorised' });
346
+ }
347
+ const digest1 = await computeDigest(req);
348
+ if (provided === digest1) {
349
+ return next();
350
+ }
351
+ // TODO: Is this a DDOS if they just provide the wrong credential?
352
+ holder.refresh();
353
+ const digest2 = await computeDigest(req);
354
+ if (provided === digest2) {
355
+ return next();
356
+ }
357
+ return res.status(401).json({ error: 'Unauthorised' });
358
+ }
359
+ catch (err) {
360
+ this.logger.error('Error verifying HMAC', { err });
361
+ res.status(401).json({ error: 'Unauthorised' });
362
+ }
363
+ };
364
+ }
365
+ }
366
+ function composeHandlers(handlers) {
367
+ return (req, res, next) => {
368
+ let index = -1;
369
+ const dispatch = (i, err) => {
370
+ if (err) {
371
+ return next(err);
372
+ }
373
+ if (i <= index) {
374
+ return next(new Error('next() called multiple times'));
375
+ }
376
+ index = i;
377
+ if (i === handlers.length) {
378
+ return next();
379
+ }
380
+ const handler = handlers[i];
381
+ try {
382
+ handler(req, res, (err2) => dispatch(i + 1, err2));
383
+ }
384
+ catch (e) {
385
+ next(e);
386
+ }
387
+ };
388
+ dispatch(0);
389
+ };
390
+ }