@versori/run 0.2.30 → 0.3.0-beta.10

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 (455) hide show
  1. package/{script/deps/jsr.io/@std/fs/1.0.19 → esm/deps/jsr.io/@std/fs/1.0.20}/exists.d.ts.map +1 -1
  2. package/esm/deps/jsr.io/@std/log/0.224.14/rotating_file_handler.js +1 -1
  3. package/esm/src/connection/DirectConnectionFactory.d.ts +29 -0
  4. package/esm/src/connection/DirectConnectionFactory.d.ts.map +1 -0
  5. package/esm/src/connection/DirectConnectionFactory.js +82 -0
  6. package/esm/src/connection/DynamicFetchFactory.d.ts +30 -0
  7. package/esm/src/connection/DynamicFetchFactory.d.ts.map +1 -0
  8. package/esm/src/connection/DynamicFetchFactory.js +113 -0
  9. package/esm/src/connection/StaticFetchFactory.d.ts +11 -0
  10. package/esm/src/connection/StaticFetchFactory.d.ts.map +1 -0
  11. package/esm/src/connection/StaticFetchFactory.js +35 -0
  12. package/esm/src/connection/internal/CredentialHolder.d.ts +11 -0
  13. package/esm/src/connection/internal/CredentialHolder.d.ts.map +1 -0
  14. package/esm/src/connection/internal/CredentialHolder.js +66 -0
  15. package/esm/src/connection/internal/FetchBuilder.d.ts +15 -0
  16. package/esm/src/connection/internal/FetchBuilder.d.ts.map +1 -0
  17. package/esm/src/connection/internal/FetchBuilder.js +89 -0
  18. package/esm/src/connection/internal/HttpClientFactory.d.ts +14 -0
  19. package/esm/src/connection/internal/HttpClientFactory.d.ts.map +1 -0
  20. package/esm/src/connection/internal/HttpClientFactory.js +42 -0
  21. package/esm/src/connection/internal/InboundConnectionFactory.d.ts +19 -0
  22. package/esm/src/connection/internal/InboundConnectionFactory.d.ts.map +1 -0
  23. package/esm/src/connection/internal/InboundConnectionFactory.js +390 -0
  24. package/esm/src/connection/internal/OutboundConnectionFactory.d.ts +31 -0
  25. package/esm/src/connection/internal/OutboundConnectionFactory.d.ts.map +1 -0
  26. package/esm/src/connection/internal/OutboundConnectionFactory.js +447 -0
  27. package/esm/src/connection/types.d.ts +32 -0
  28. package/esm/src/connection/types.d.ts.map +1 -0
  29. package/esm/src/connection/types.js +1 -0
  30. package/esm/src/context/ActivationImpl.d.ts +18 -0
  31. package/esm/src/context/ActivationImpl.d.ts.map +1 -0
  32. package/esm/src/context/ActivationImpl.js +82 -0
  33. package/esm/src/context/AsyncWorkflow.js +1 -1
  34. package/esm/src/context/Context.d.ts +10 -13
  35. package/esm/src/context/Context.d.ts.map +1 -1
  36. package/esm/src/context/Context.js +21 -19
  37. package/esm/src/context/ContextProvider.d.ts +9 -3
  38. package/esm/src/context/ContextProvider.d.ts.map +1 -1
  39. package/esm/src/context/ContextProvider.js +31 -10
  40. package/esm/src/context/WorkflowClient.d.ts +29 -0
  41. package/esm/src/context/WorkflowClient.d.ts.map +1 -0
  42. package/esm/src/context/WorkflowClient.js +95 -0
  43. package/esm/src/dsl/http/default.d.ts.map +1 -1
  44. package/esm/src/dsl/http/default.js +2 -2
  45. package/esm/src/dsl/http/types.d.ts +9 -4
  46. package/esm/src/dsl/http/types.d.ts.map +1 -1
  47. package/esm/src/dsl/http/versori/configloader.d.ts.map +1 -1
  48. package/esm/src/dsl/http/versori/configloader.js +3 -1
  49. package/esm/src/dsl/http/versori/constants.d.ts.map +1 -1
  50. package/esm/src/dsl/http/versori/constants.js +1 -0
  51. package/esm/src/dsl/http/versori/contextcredentials.d.ts.map +1 -1
  52. package/esm/src/dsl/http/versori/proxyroundtripper.d.ts +5 -3
  53. package/esm/src/dsl/http/versori/proxyroundtripper.d.ts.map +1 -1
  54. package/esm/src/dsl/http/versori/proxyroundtripper.js +31 -8
  55. package/esm/src/dsl/http/versori/webhookmiddleware.d.ts +8 -5
  56. package/esm/src/dsl/http/versori/webhookmiddleware.d.ts.map +1 -1
  57. package/esm/src/dsl/http/versori/webhookmiddleware.js +114 -115
  58. package/esm/src/dsl/tasks/HttpTask.d.ts +8 -6
  59. package/esm/src/dsl/tasks/HttpTask.d.ts.map +1 -1
  60. package/esm/src/dsl/tasks/HttpTask.js +22 -22
  61. package/esm/src/dsl/triggers/DurableTrigger.d.ts +0 -1
  62. package/esm/src/dsl/triggers/DurableTrigger.d.ts.map +1 -1
  63. package/esm/src/internal/InternalAuth.d.ts +14 -0
  64. package/esm/src/internal/InternalAuth.d.ts.map +1 -0
  65. package/esm/src/internal/InternalAuth.js +74 -0
  66. package/esm/src/internal/constants.d.ts +20 -0
  67. package/esm/src/internal/constants.d.ts.map +1 -0
  68. package/esm/src/internal/constants.js +24 -0
  69. package/esm/src/interpreter/durable/DurableInterpreter.d.ts +14 -5
  70. package/esm/src/interpreter/durable/DurableInterpreter.d.ts.map +1 -1
  71. package/esm/src/interpreter/durable/DurableInterpreter.js +22 -38
  72. package/esm/src/interpreter/durable/ObservableCompiler.d.ts +6 -3
  73. package/esm/src/interpreter/durable/ObservableCompiler.d.ts.map +1 -1
  74. package/esm/src/interpreter/durable/Queue.d.ts +24 -16
  75. package/esm/src/interpreter/durable/Queue.d.ts.map +1 -1
  76. package/esm/src/interpreter/durable/Queue.js +3 -4
  77. package/esm/src/interpreter/durable/compilers/catch.js +2 -2
  78. package/esm/src/interpreter/durable/compilers/durableworkflow.d.ts.map +1 -1
  79. package/esm/src/interpreter/durable/compilers/durableworkflow.js +29 -20
  80. package/esm/src/interpreter/durable/compilers/http.d.ts.map +1 -1
  81. package/esm/src/interpreter/durable/compilers/http.js +26 -9
  82. package/esm/src/interpreter/durable/compilers/schedule.d.ts.map +1 -1
  83. package/esm/src/interpreter/durable/compilers/schedule.js +41 -18
  84. package/esm/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
  85. package/esm/src/interpreter/durable/compilers/webhook.js +30 -33
  86. package/esm/src/interpreter/memory/MemoryInterpreter.d.ts +4 -4
  87. package/esm/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
  88. package/esm/src/interpreter/memory/MemoryInterpreter.js +15 -25
  89. package/esm/src/interpreter/memory/ObservableCompiler.d.ts +6 -3
  90. package/esm/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
  91. package/esm/src/interpreter/memory/compilers/catch.js +2 -2
  92. package/esm/src/interpreter/memory/compilers/http.d.ts.map +1 -1
  93. package/esm/src/interpreter/memory/compilers/http.js +26 -9
  94. package/esm/src/interpreter/memory/compilers/schedule.d.ts.map +1 -1
  95. package/esm/src/interpreter/memory/compilers/schedule.js +34 -18
  96. package/esm/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
  97. package/esm/src/interpreter/memory/compilers/webhook.js +31 -34
  98. package/esm/src/kv/sdk/SDKKeyValue.d.ts.map +1 -1
  99. package/esm/src/kv/sdk/SDKKeyValue.js +7 -1
  100. package/esm/src/services/credentials/credential-v1alpha1.d.ts +4 -0
  101. package/esm/src/services/credentials/credential-v1alpha1.d.ts.map +1 -0
  102. package/esm/src/services/credentials/credential-v1alpha1.js +3 -0
  103. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.d.ts +119 -0
  104. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.d.ts.map +1 -0
  105. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.js +67 -0
  106. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.d.ts +245 -0
  107. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.d.ts.map +1 -0
  108. package/esm/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.js +44 -0
  109. package/esm/src/services/credentials/generated/versori/credential/oauth2/v1/token_pb.d.ts +38 -0
  110. package/esm/src/services/credentials/generated/versori/credential/oauth2/v1/token_pb.d.ts.map +1 -0
  111. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/oauth2/v1/token_pb.js +1 -1
  112. package/esm/src/services/credentials/generated/versori/credential/oauth2/v1/token_service_pb.d.ts +471 -0
  113. package/esm/src/services/credentials/generated/versori/credential/oauth2/v1/token_service_pb.d.ts.map +1 -0
  114. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/oauth2/v1/token_service_pb.js +1 -1
  115. package/esm/src/services/credentials/generated/versori/credential/tokens/v1/token_pb.d.ts +38 -0
  116. package/esm/src/services/credentials/generated/versori/credential/tokens/v1/token_pb.d.ts.map +1 -0
  117. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/tokens/v1/token_pb.js +1 -1
  118. package/esm/src/services/credentials/generated/versori/credential/tokens/v1/token_service_pb.d.ts +128 -0
  119. package/esm/src/services/credentials/generated/versori/credential/tokens/v1/token_service_pb.d.ts.map +1 -0
  120. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/tokens/v1/token_service_pb.js +1 -1
  121. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/common_pb.d.ts +90 -0
  122. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/common_pb.d.ts.map +1 -0
  123. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/v1alpha1/common_pb.js +16 -6
  124. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.d.ts +1468 -0
  125. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.d.ts.map +1 -0
  126. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.js +534 -0
  127. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_service_pb.d.ts +390 -0
  128. package/esm/src/services/credentials/generated/versori/credential/v1alpha1/credential_service_pb.d.ts.map +1 -0
  129. package/esm/src/{dsl/http → services/credentials/generated}/versori/credential/v1alpha1/credential_service_pb.js +1 -1
  130. package/esm/src/services/credentials/isTokenValid.d.ts +3 -0
  131. package/esm/src/services/credentials/isTokenValid.d.ts.map +1 -0
  132. package/esm/src/services/credentials/isTokenValid.js +23 -0
  133. package/esm/src/services/credentials/mod.d.ts +5 -0
  134. package/esm/src/services/credentials/mod.d.ts.map +1 -0
  135. package/esm/src/services/credentials/mod.js +4 -0
  136. package/esm/src/services/credentials/oauth1-v1.d.ts +3 -0
  137. package/esm/src/services/credentials/oauth1-v1.d.ts.map +1 -0
  138. package/esm/src/services/credentials/oauth1-v1.js +2 -0
  139. package/esm/src/services/credentials/oauth2-v1.d.ts +3 -0
  140. package/esm/src/services/credentials/oauth2-v1.d.ts.map +1 -0
  141. package/esm/src/services/credentials/oauth2-v1.js +2 -0
  142. package/esm/src/services/credentials/tokens-v1.d.ts +3 -0
  143. package/esm/src/services/credentials/tokens-v1.d.ts.map +1 -0
  144. package/esm/src/services/credentials/tokens-v1.js +2 -0
  145. package/esm/src/services/platform/PlatformApi.d.ts +7 -0
  146. package/esm/src/services/platform/PlatformApi.d.ts.map +1 -0
  147. package/esm/src/services/platform/PlatformApi.js +25 -0
  148. package/esm/src/services/platform/generated/client/client.gen.d.ts +3 -0
  149. package/esm/src/services/platform/generated/client/client.gen.d.ts.map +1 -0
  150. package/esm/src/services/platform/generated/client/client.gen.js +176 -0
  151. package/esm/src/services/platform/generated/client/index.d.ts +8 -0
  152. package/esm/src/services/platform/generated/client/index.d.ts.map +1 -0
  153. package/esm/src/services/platform/generated/client/index.js +5 -0
  154. package/esm/src/services/platform/generated/client/types.gen.d.ts +125 -0
  155. package/esm/src/services/platform/generated/client/types.gen.d.ts.map +1 -0
  156. package/esm/src/services/platform/generated/client/types.gen.js +2 -0
  157. package/esm/src/services/platform/generated/client/utils.gen.d.ts +39 -0
  158. package/esm/src/services/platform/generated/client/utils.gen.d.ts.map +1 -0
  159. package/esm/src/services/platform/generated/client/utils.gen.js +234 -0
  160. package/esm/src/services/platform/generated/client.gen.d.ts +13 -0
  161. package/esm/src/services/platform/generated/client.gen.d.ts.map +1 -0
  162. package/esm/src/services/platform/generated/client.gen.js +5 -0
  163. package/esm/src/services/platform/generated/core/auth.gen.d.ts +19 -0
  164. package/esm/src/services/platform/generated/core/auth.gen.d.ts.map +1 -0
  165. package/esm/src/services/platform/generated/core/auth.gen.js +14 -0
  166. package/esm/src/services/platform/generated/core/bodySerializer.gen.d.ts +18 -0
  167. package/esm/src/services/platform/generated/core/bodySerializer.gen.d.ts.map +1 -0
  168. package/esm/src/services/platform/generated/core/bodySerializer.gen.js +57 -0
  169. package/esm/src/services/platform/generated/core/params.gen.d.ts +34 -0
  170. package/esm/src/services/platform/generated/core/params.gen.d.ts.map +1 -0
  171. package/esm/src/services/platform/generated/core/params.gen.js +88 -0
  172. package/esm/src/services/platform/generated/core/pathSerializer.gen.d.ts +34 -0
  173. package/esm/src/services/platform/generated/core/pathSerializer.gen.d.ts.map +1 -0
  174. package/esm/src/services/platform/generated/core/pathSerializer.gen.js +114 -0
  175. package/esm/src/services/platform/generated/core/serverSentEvents.gen.d.ts +60 -0
  176. package/esm/src/services/platform/generated/core/serverSentEvents.gen.d.ts.map +1 -0
  177. package/esm/src/services/platform/generated/core/serverSentEvents.gen.js +121 -0
  178. package/esm/src/services/platform/generated/core/types.gen.d.ts +79 -0
  179. package/esm/src/services/platform/generated/core/types.gen.d.ts.map +1 -0
  180. package/esm/src/services/platform/generated/core/types.gen.js +2 -0
  181. package/esm/src/services/platform/generated/core/utils.gen.d.ts +15 -0
  182. package/esm/src/services/platform/generated/core/utils.gen.d.ts.map +1 -0
  183. package/esm/src/services/platform/generated/core/utils.gen.js +69 -0
  184. package/esm/src/services/platform/generated/index.d.ts +3 -0
  185. package/esm/src/services/platform/generated/index.d.ts.map +1 -0
  186. package/esm/src/services/platform/generated/index.js +3 -0
  187. package/esm/src/services/platform/generated/sdk.gen.d.ts +494 -0
  188. package/esm/src/services/platform/generated/sdk.gen.d.ts.map +1 -0
  189. package/esm/src/services/platform/generated/sdk.gen.js +1908 -0
  190. package/esm/src/services/platform/generated/types.gen.d.ts +3798 -0
  191. package/esm/src/services/platform/generated/types.gen.d.ts.map +1 -0
  192. package/esm/src/services/platform/generated/types.gen.js +2 -0
  193. package/esm/src/services/platform/mod.d.ts +5 -0
  194. package/esm/src/services/platform/mod.d.ts.map +1 -0
  195. package/esm/src/services/platform/mod.js +2 -0
  196. package/package.json +4 -4
  197. package/{esm/deps/jsr.io/@std/fs/1.0.19 → script/deps/jsr.io/@std/fs/1.0.20}/exists.d.ts.map +1 -1
  198. package/script/deps/jsr.io/@std/log/0.224.14/rotating_file_handler.js +1 -1
  199. package/script/src/connection/DirectConnectionFactory.d.ts +29 -0
  200. package/script/src/connection/DirectConnectionFactory.d.ts.map +1 -0
  201. package/script/src/connection/DirectConnectionFactory.js +86 -0
  202. package/script/src/connection/DynamicFetchFactory.d.ts +30 -0
  203. package/script/src/connection/DynamicFetchFactory.d.ts.map +1 -0
  204. package/script/src/connection/DynamicFetchFactory.js +117 -0
  205. package/script/src/connection/StaticFetchFactory.d.ts +11 -0
  206. package/script/src/connection/StaticFetchFactory.d.ts.map +1 -0
  207. package/script/src/connection/StaticFetchFactory.js +39 -0
  208. package/script/src/connection/internal/CredentialHolder.d.ts +11 -0
  209. package/script/src/connection/internal/CredentialHolder.d.ts.map +1 -0
  210. package/script/src/connection/internal/CredentialHolder.js +71 -0
  211. package/script/src/connection/internal/FetchBuilder.d.ts +15 -0
  212. package/script/src/connection/internal/FetchBuilder.d.ts.map +1 -0
  213. package/script/src/connection/internal/FetchBuilder.js +93 -0
  214. package/script/src/connection/internal/HttpClientFactory.d.ts +14 -0
  215. package/script/src/connection/internal/HttpClientFactory.d.ts.map +1 -0
  216. package/script/src/connection/internal/HttpClientFactory.js +46 -0
  217. package/script/src/connection/internal/InboundConnectionFactory.d.ts +19 -0
  218. package/script/src/connection/internal/InboundConnectionFactory.d.ts.map +1 -0
  219. package/script/src/connection/internal/InboundConnectionFactory.js +394 -0
  220. package/script/src/connection/internal/OutboundConnectionFactory.d.ts +31 -0
  221. package/script/src/connection/internal/OutboundConnectionFactory.d.ts.map +1 -0
  222. package/script/src/connection/internal/OutboundConnectionFactory.js +454 -0
  223. package/script/src/connection/types.d.ts +32 -0
  224. package/script/src/connection/types.d.ts.map +1 -0
  225. package/script/src/connection/types.js +2 -0
  226. package/script/src/context/ActivationImpl.d.ts +18 -0
  227. package/script/src/context/ActivationImpl.d.ts.map +1 -0
  228. package/script/src/context/ActivationImpl.js +86 -0
  229. package/script/src/context/AsyncWorkflow.js +1 -1
  230. package/script/src/context/Context.d.ts +10 -13
  231. package/script/src/context/Context.d.ts.map +1 -1
  232. package/script/src/context/Context.js +21 -19
  233. package/script/src/context/ContextProvider.d.ts +9 -3
  234. package/script/src/context/ContextProvider.d.ts.map +1 -1
  235. package/script/src/context/ContextProvider.js +31 -10
  236. package/script/src/context/WorkflowClient.d.ts +29 -0
  237. package/script/src/context/WorkflowClient.d.ts.map +1 -0
  238. package/script/src/context/WorkflowClient.js +99 -0
  239. package/script/src/dsl/http/default.d.ts.map +1 -1
  240. package/script/src/dsl/http/default.js +2 -2
  241. package/script/src/dsl/http/types.d.ts +9 -4
  242. package/script/src/dsl/http/types.d.ts.map +1 -1
  243. package/script/src/dsl/http/versori/configloader.d.ts.map +1 -1
  244. package/script/src/dsl/http/versori/configloader.js +3 -1
  245. package/script/src/dsl/http/versori/constants.d.ts.map +1 -1
  246. package/script/src/dsl/http/versori/constants.js +1 -0
  247. package/script/src/dsl/http/versori/contextcredentials.d.ts.map +1 -1
  248. package/script/src/dsl/http/versori/proxyroundtripper.d.ts +5 -3
  249. package/script/src/dsl/http/versori/proxyroundtripper.d.ts.map +1 -1
  250. package/script/src/dsl/http/versori/proxyroundtripper.js +31 -8
  251. package/script/src/dsl/http/versori/webhookmiddleware.d.ts +8 -5
  252. package/script/src/dsl/http/versori/webhookmiddleware.d.ts.map +1 -1
  253. package/script/src/dsl/http/versori/webhookmiddleware.js +114 -115
  254. package/script/src/dsl/tasks/HttpTask.d.ts +8 -6
  255. package/script/src/dsl/tasks/HttpTask.d.ts.map +1 -1
  256. package/script/src/dsl/tasks/HttpTask.js +22 -22
  257. package/script/src/dsl/triggers/DurableTrigger.d.ts +0 -1
  258. package/script/src/dsl/triggers/DurableTrigger.d.ts.map +1 -1
  259. package/script/src/internal/InternalAuth.d.ts +14 -0
  260. package/script/src/internal/InternalAuth.d.ts.map +1 -0
  261. package/script/src/internal/InternalAuth.js +78 -0
  262. package/script/src/internal/constants.d.ts +20 -0
  263. package/script/src/internal/constants.d.ts.map +1 -0
  264. package/script/src/internal/constants.js +27 -0
  265. package/script/src/interpreter/durable/DurableInterpreter.d.ts +14 -5
  266. package/script/src/interpreter/durable/DurableInterpreter.d.ts.map +1 -1
  267. package/script/src/interpreter/durable/DurableInterpreter.js +21 -37
  268. package/script/src/interpreter/durable/ObservableCompiler.d.ts +6 -3
  269. package/script/src/interpreter/durable/ObservableCompiler.d.ts.map +1 -1
  270. package/script/src/interpreter/durable/Queue.d.ts +24 -16
  271. package/script/src/interpreter/durable/Queue.d.ts.map +1 -1
  272. package/script/src/interpreter/durable/Queue.js +3 -4
  273. package/script/src/interpreter/durable/compilers/catch.js +2 -2
  274. package/script/src/interpreter/durable/compilers/durableworkflow.d.ts.map +1 -1
  275. package/script/src/interpreter/durable/compilers/durableworkflow.js +29 -20
  276. package/script/src/interpreter/durable/compilers/http.d.ts.map +1 -1
  277. package/script/src/interpreter/durable/compilers/http.js +26 -9
  278. package/script/src/interpreter/durable/compilers/schedule.d.ts.map +1 -1
  279. package/script/src/interpreter/durable/compilers/schedule.js +41 -18
  280. package/script/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
  281. package/script/src/interpreter/durable/compilers/webhook.js +30 -33
  282. package/script/src/interpreter/memory/MemoryInterpreter.d.ts +4 -4
  283. package/script/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
  284. package/script/src/interpreter/memory/MemoryInterpreter.js +15 -25
  285. package/script/src/interpreter/memory/ObservableCompiler.d.ts +6 -3
  286. package/script/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
  287. package/script/src/interpreter/memory/compilers/catch.js +2 -2
  288. package/script/src/interpreter/memory/compilers/http.d.ts.map +1 -1
  289. package/script/src/interpreter/memory/compilers/http.js +26 -9
  290. package/script/src/interpreter/memory/compilers/schedule.d.ts.map +1 -1
  291. package/script/src/interpreter/memory/compilers/schedule.js +34 -18
  292. package/script/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
  293. package/script/src/interpreter/memory/compilers/webhook.js +31 -34
  294. package/script/src/kv/sdk/SDKKeyValue.d.ts.map +1 -1
  295. package/script/src/kv/sdk/SDKKeyValue.js +7 -1
  296. package/script/src/services/credentials/credential-v1alpha1.d.ts +4 -0
  297. package/script/src/services/credentials/credential-v1alpha1.d.ts.map +1 -0
  298. package/script/src/services/credentials/credential-v1alpha1.js +19 -0
  299. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.d.ts +119 -0
  300. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.d.ts.map +1 -0
  301. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_metadata_pb.js +70 -0
  302. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.d.ts +245 -0
  303. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.d.ts.map +1 -0
  304. package/script/src/services/credentials/generated/versori/credential/oauth1/v1/authorization_service_pb.js +47 -0
  305. package/script/src/services/credentials/generated/versori/credential/oauth2/v1/token_pb.d.ts +38 -0
  306. package/script/src/services/credentials/generated/versori/credential/oauth2/v1/token_pb.d.ts.map +1 -0
  307. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/oauth2/v1/token_pb.js +1 -1
  308. package/script/src/services/credentials/generated/versori/credential/oauth2/v1/token_service_pb.d.ts +471 -0
  309. package/script/src/services/credentials/generated/versori/credential/oauth2/v1/token_service_pb.d.ts.map +1 -0
  310. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/oauth2/v1/token_service_pb.js +1 -1
  311. package/script/src/services/credentials/generated/versori/credential/tokens/v1/token_pb.d.ts +38 -0
  312. package/script/src/services/credentials/generated/versori/credential/tokens/v1/token_pb.d.ts.map +1 -0
  313. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/tokens/v1/token_pb.js +1 -1
  314. package/script/src/services/credentials/generated/versori/credential/tokens/v1/token_service_pb.d.ts +128 -0
  315. package/script/src/services/credentials/generated/versori/credential/tokens/v1/token_service_pb.d.ts.map +1 -0
  316. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/tokens/v1/token_service_pb.js +1 -1
  317. package/script/src/services/credentials/generated/versori/credential/v1alpha1/common_pb.d.ts +90 -0
  318. package/script/src/services/credentials/generated/versori/credential/v1alpha1/common_pb.d.ts.map +1 -0
  319. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/v1alpha1/common_pb.js +16 -6
  320. package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.d.ts +1468 -0
  321. package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.d.ts.map +1 -0
  322. package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_pb.js +538 -0
  323. package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_service_pb.d.ts +390 -0
  324. package/script/src/services/credentials/generated/versori/credential/v1alpha1/credential_service_pb.d.ts.map +1 -0
  325. package/script/src/{dsl/http → services/credentials/generated}/versori/credential/v1alpha1/credential_service_pb.js +1 -1
  326. package/script/src/services/credentials/isTokenValid.d.ts +3 -0
  327. package/script/src/services/credentials/isTokenValid.d.ts.map +1 -0
  328. package/script/src/services/credentials/isTokenValid.js +26 -0
  329. package/script/src/services/credentials/mod.d.ts +5 -0
  330. package/script/src/services/credentials/mod.d.ts.map +1 -0
  331. package/script/src/services/credentials/mod.js +30 -0
  332. package/script/src/services/credentials/oauth1-v1.d.ts +3 -0
  333. package/script/src/services/credentials/oauth1-v1.d.ts.map +1 -0
  334. package/script/src/services/credentials/oauth1-v1.js +18 -0
  335. package/script/src/services/credentials/oauth2-v1.d.ts +3 -0
  336. package/script/src/services/credentials/oauth2-v1.d.ts.map +1 -0
  337. package/script/src/services/credentials/oauth2-v1.js +18 -0
  338. package/script/src/services/credentials/tokens-v1.d.ts +3 -0
  339. package/script/src/services/credentials/tokens-v1.d.ts.map +1 -0
  340. package/script/src/services/credentials/tokens-v1.js +18 -0
  341. package/script/src/services/platform/PlatformApi.d.ts +7 -0
  342. package/script/src/services/platform/PlatformApi.d.ts.map +1 -0
  343. package/script/src/services/platform/PlatformApi.js +52 -0
  344. package/script/src/services/platform/generated/client/client.gen.d.ts +3 -0
  345. package/script/src/services/platform/generated/client/client.gen.d.ts.map +1 -0
  346. package/script/src/services/platform/generated/client/client.gen.js +180 -0
  347. package/script/src/services/platform/generated/client/index.d.ts +8 -0
  348. package/script/src/services/platform/generated/client/index.d.ts.map +1 -0
  349. package/script/src/services/platform/generated/client/index.js +15 -0
  350. package/script/src/services/platform/generated/client/types.gen.d.ts +125 -0
  351. package/script/src/services/platform/generated/client/types.gen.d.ts.map +1 -0
  352. package/script/src/services/platform/generated/client/types.gen.js +3 -0
  353. package/script/src/services/platform/generated/client/utils.gen.d.ts +39 -0
  354. package/script/src/services/platform/generated/client/utils.gen.d.ts.map +1 -0
  355. package/script/src/services/platform/generated/client/utils.gen.js +245 -0
  356. package/script/src/services/platform/generated/client.gen.d.ts +13 -0
  357. package/script/src/services/platform/generated/client.gen.d.ts.map +1 -0
  358. package/script/src/services/platform/generated/client.gen.js +8 -0
  359. package/script/src/services/platform/generated/core/auth.gen.d.ts +19 -0
  360. package/script/src/services/platform/generated/core/auth.gen.d.ts.map +1 -0
  361. package/script/src/services/platform/generated/core/auth.gen.js +18 -0
  362. package/script/src/services/platform/generated/core/bodySerializer.gen.d.ts +18 -0
  363. package/script/src/services/platform/generated/core/bodySerializer.gen.d.ts.map +1 -0
  364. package/script/src/services/platform/generated/core/bodySerializer.gen.js +60 -0
  365. package/script/src/services/platform/generated/core/params.gen.d.ts +34 -0
  366. package/script/src/services/platform/generated/core/params.gen.d.ts.map +1 -0
  367. package/script/src/services/platform/generated/core/params.gen.js +92 -0
  368. package/script/src/services/platform/generated/core/pathSerializer.gen.d.ts +34 -0
  369. package/script/src/services/platform/generated/core/pathSerializer.gen.d.ts.map +1 -0
  370. package/script/src/services/platform/generated/core/pathSerializer.gen.js +123 -0
  371. package/script/src/services/platform/generated/core/serverSentEvents.gen.d.ts +60 -0
  372. package/script/src/services/platform/generated/core/serverSentEvents.gen.d.ts.map +1 -0
  373. package/script/src/services/platform/generated/core/serverSentEvents.gen.js +125 -0
  374. package/script/src/services/platform/generated/core/types.gen.d.ts +79 -0
  375. package/script/src/services/platform/generated/core/types.gen.d.ts.map +1 -0
  376. package/script/src/services/platform/generated/core/types.gen.js +3 -0
  377. package/script/src/services/platform/generated/core/utils.gen.d.ts +15 -0
  378. package/script/src/services/platform/generated/core/utils.gen.d.ts.map +1 -0
  379. package/script/src/services/platform/generated/core/utils.gen.js +74 -0
  380. package/script/src/services/platform/generated/index.d.ts +3 -0
  381. package/script/src/services/platform/generated/index.d.ts.map +1 -0
  382. package/script/src/services/platform/generated/index.js +19 -0
  383. package/script/src/services/platform/generated/sdk.gen.d.ts +494 -0
  384. package/script/src/services/platform/generated/sdk.gen.d.ts.map +1 -0
  385. package/script/src/services/platform/generated/sdk.gen.js +1992 -0
  386. package/script/src/services/platform/generated/types.gen.d.ts +3798 -0
  387. package/script/src/services/platform/generated/types.gen.d.ts.map +1 -0
  388. package/script/src/services/platform/generated/types.gen.js +3 -0
  389. package/script/src/services/platform/mod.d.ts +5 -0
  390. package/script/src/services/platform/mod.d.ts.map +1 -0
  391. package/script/src/services/platform/mod.js +18 -0
  392. package/esm/src/dsl/http/versori/activation.d.ts +0 -13
  393. package/esm/src/dsl/http/versori/activation.d.ts.map +0 -1
  394. package/esm/src/dsl/http/versori/activation.js +0 -61
  395. package/esm/src/dsl/http/versori/credential/client.d.ts +0 -13
  396. package/esm/src/dsl/http/versori/credential/client.d.ts.map +0 -1
  397. package/esm/src/dsl/http/versori/credential/client.js +0 -35
  398. package/esm/src/dsl/http/versori/credential/credentials.d.ts +0 -98
  399. package/esm/src/dsl/http/versori/credential/credentials.d.ts.map +0 -1
  400. package/esm/src/dsl/http/versori/credential/credentials.js +0 -40
  401. package/esm/src/dsl/http/versori/credential/mod.d.ts +0 -2
  402. package/esm/src/dsl/http/versori/credential/mod.d.ts.map +0 -1
  403. package/esm/src/dsl/http/versori/credential/mod.js +0 -1
  404. package/esm/src/dsl/http/versori/credential/oauth2/v1/token_pb.d.ts +0 -13
  405. package/esm/src/dsl/http/versori/credential/oauth2/v1/token_pb.d.ts.map +0 -1
  406. package/esm/src/dsl/http/versori/credential/oauth2/v1/token_service_pb.d.ts +0 -102
  407. package/esm/src/dsl/http/versori/credential/oauth2/v1/token_service_pb.d.ts.map +0 -1
  408. package/esm/src/dsl/http/versori/credential/tokens/v1/token_pb.d.ts +0 -13
  409. package/esm/src/dsl/http/versori/credential/tokens/v1/token_pb.d.ts.map +0 -1
  410. package/esm/src/dsl/http/versori/credential/tokens/v1/token_service_pb.d.ts +0 -46
  411. package/esm/src/dsl/http/versori/credential/tokens/v1/token_service_pb.d.ts.map +0 -1
  412. package/esm/src/dsl/http/versori/credential/v1alpha1/common_pb.d.ts +0 -40
  413. package/esm/src/dsl/http/versori/credential/v1alpha1/common_pb.d.ts.map +0 -1
  414. package/esm/src/dsl/http/versori/credential/v1alpha1/credential_service_pb.d.ts +0 -129
  415. package/esm/src/dsl/http/versori/credential/v1alpha1/credential_service_pb.d.ts.map +0 -1
  416. package/esm/src/dsl/http/versori/platformapi.d.ts +0 -19
  417. package/esm/src/dsl/http/versori/platformapi.d.ts.map +0 -1
  418. package/esm/src/dsl/http/versori/platformapi.js +0 -148
  419. package/esm/src/dsl/http/versori/roundtripper.d.ts +0 -61
  420. package/esm/src/dsl/http/versori/roundtripper.d.ts.map +0 -1
  421. package/esm/src/dsl/http/versori/roundtripper.js +0 -967
  422. package/script/src/dsl/http/versori/activation.d.ts +0 -13
  423. package/script/src/dsl/http/versori/activation.d.ts.map +0 -1
  424. package/script/src/dsl/http/versori/activation.js +0 -65
  425. package/script/src/dsl/http/versori/credential/client.d.ts +0 -13
  426. package/script/src/dsl/http/versori/credential/client.d.ts.map +0 -1
  427. package/script/src/dsl/http/versori/credential/client.js +0 -39
  428. package/script/src/dsl/http/versori/credential/credentials.d.ts +0 -98
  429. package/script/src/dsl/http/versori/credential/credentials.d.ts.map +0 -1
  430. package/script/src/dsl/http/versori/credential/credentials.js +0 -46
  431. package/script/src/dsl/http/versori/credential/mod.d.ts +0 -2
  432. package/script/src/dsl/http/versori/credential/mod.d.ts.map +0 -1
  433. package/script/src/dsl/http/versori/credential/mod.js +0 -5
  434. package/script/src/dsl/http/versori/credential/oauth2/v1/token_pb.d.ts +0 -13
  435. package/script/src/dsl/http/versori/credential/oauth2/v1/token_pb.d.ts.map +0 -1
  436. package/script/src/dsl/http/versori/credential/oauth2/v1/token_service_pb.d.ts +0 -102
  437. package/script/src/dsl/http/versori/credential/oauth2/v1/token_service_pb.d.ts.map +0 -1
  438. package/script/src/dsl/http/versori/credential/tokens/v1/token_pb.d.ts +0 -13
  439. package/script/src/dsl/http/versori/credential/tokens/v1/token_pb.d.ts.map +0 -1
  440. package/script/src/dsl/http/versori/credential/tokens/v1/token_service_pb.d.ts +0 -46
  441. package/script/src/dsl/http/versori/credential/tokens/v1/token_service_pb.d.ts.map +0 -1
  442. package/script/src/dsl/http/versori/credential/v1alpha1/common_pb.d.ts +0 -40
  443. package/script/src/dsl/http/versori/credential/v1alpha1/common_pb.d.ts.map +0 -1
  444. package/script/src/dsl/http/versori/credential/v1alpha1/credential_service_pb.d.ts +0 -129
  445. package/script/src/dsl/http/versori/credential/v1alpha1/credential_service_pb.d.ts.map +0 -1
  446. package/script/src/dsl/http/versori/platformapi.d.ts +0 -19
  447. package/script/src/dsl/http/versori/platformapi.d.ts.map +0 -1
  448. package/script/src/dsl/http/versori/platformapi.js +0 -152
  449. package/script/src/dsl/http/versori/roundtripper.d.ts +0 -61
  450. package/script/src/dsl/http/versori/roundtripper.d.ts.map +0 -1
  451. package/script/src/dsl/http/versori/roundtripper.js +0 -974
  452. /package/esm/deps/jsr.io/@std/fs/{1.0.19 → 1.0.20}/exists.d.ts +0 -0
  453. /package/esm/deps/jsr.io/@std/fs/{1.0.19 → 1.0.20}/exists.js +0 -0
  454. /package/script/deps/jsr.io/@std/fs/{1.0.19 → 1.0.20}/exists.d.ts +0 -0
  455. /package/script/deps/jsr.io/@std/fs/{1.0.19 → 1.0.20}/exists.js +0 -0
@@ -0,0 +1,454 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OutboundConnectionFactory = void 0;
7
+ const lru_cache_1 = require("lru-cache");
8
+ const isTokenValid_js_1 = require("../../services/credentials/isTokenValid.js");
9
+ const CredentialHolder_js_1 = require("./CredentialHolder.js");
10
+ const FetchBuilder_js_1 = require("./FetchBuilder.js");
11
+ const oauth_1_0a_1 = __importDefault(require("oauth-1.0a"));
12
+ const node_crypto_1 = require("node:crypto");
13
+ class OutboundConnectionFactory {
14
+ constructor(httpClientFactory, credentials, tokens, oauth1, logger) {
15
+ Object.defineProperty(this, "httpClientFactory", {
16
+ enumerable: true,
17
+ configurable: true,
18
+ writable: true,
19
+ value: httpClientFactory
20
+ });
21
+ Object.defineProperty(this, "credentials", {
22
+ enumerable: true,
23
+ configurable: true,
24
+ writable: true,
25
+ value: credentials
26
+ });
27
+ Object.defineProperty(this, "tokens", {
28
+ enumerable: true,
29
+ configurable: true,
30
+ writable: true,
31
+ value: tokens
32
+ });
33
+ Object.defineProperty(this, "oauth1", {
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true,
37
+ value: oauth1
38
+ });
39
+ Object.defineProperty(this, "logger", {
40
+ enumerable: true,
41
+ configurable: true,
42
+ writable: true,
43
+ value: logger
44
+ });
45
+ Object.defineProperty(this, "cache", {
46
+ enumerable: true,
47
+ configurable: true,
48
+ writable: true,
49
+ value: void 0
50
+ });
51
+ this.cache = new lru_cache_1.LRUCache({ max: 100 });
52
+ }
53
+ fetcher(cnx) {
54
+ // This function must be synchronous, do not update to be async/await!!!
55
+ // This implementation prevents multiple concurrent requests to trigger multiple calls to
56
+ // `this.buildFetcher` since the cache is populated synchronously with promises to the built fetch.
57
+ const cachedFetch = this.cache.get(cnx.id);
58
+ if (cachedFetch) {
59
+ return cachedFetch;
60
+ }
61
+ const fetcherPromise = this.buildFetcher(cnx);
62
+ // all subsequent callers to `fetcher()` will block on `fetcherPromise` if it is still pending.
63
+ this.cache.set(cnx.id, fetcherPromise);
64
+ return fetcherPromise;
65
+ }
66
+ async buildFetcher(cnx) {
67
+ // TODO(@teo): we have a tracing fetch as the base implementation on the old approach, this needs updating here.
68
+ const builder = new FetchBuilder_js_1.FetchBuilder(globalThis.fetch, cnx);
69
+ const middlewares = [];
70
+ for (const [index, cnxCredential] of cnx.credentials.entries()) {
71
+ middlewares.push(this.buildMiddleware(cnxCredential, index, cnx));
72
+ }
73
+ for (const middleware of await Promise.all(middlewares)) {
74
+ if (middleware) {
75
+ builder.use(middleware);
76
+ }
77
+ }
78
+ return builder.build();
79
+ }
80
+ buildMiddleware(cnxCredential, index, cnx) {
81
+ const { authSchemeConfig, credential: redactedCredential } = cnxCredential;
82
+ if (!authSchemeConfig || !redactedCredential) {
83
+ this.logger.warn('Connection credential is missing authSchemeConfig or credential', {
84
+ connectionId: cnx.id,
85
+ index,
86
+ authSchemeConfig,
87
+ redactedCredential,
88
+ });
89
+ return Promise.resolve(undefined);
90
+ }
91
+ switch (authSchemeConfig.type) {
92
+ case 'certificate': {
93
+ return this.buildCertificateMiddleware(redactedCredential);
94
+ }
95
+ case 'api-key': {
96
+ return this.buildApiKeyMiddleware(authSchemeConfig, redactedCredential);
97
+ }
98
+ case 'basic-auth': {
99
+ return this.buildBasicAuthMiddleware(redactedCredential);
100
+ }
101
+ case 'jwt-bearer': {
102
+ return this.buildJwtBearerMiddleware(redactedCredential);
103
+ }
104
+ case 'oauth2': {
105
+ return this.buildOAuth2Middleware(redactedCredential);
106
+ }
107
+ case 'oauth1': {
108
+ return this.buildOAuth1Middleware(redactedCredential);
109
+ }
110
+ // TODO(@teo): add support for all the other auth schemes
111
+ default:
112
+ this.logger.warn('Unsupported authSchemeConfig type', {
113
+ connectionId: cnx.id,
114
+ index,
115
+ authSchemeConfig,
116
+ });
117
+ return Promise.resolve(undefined);
118
+ }
119
+ }
120
+ async buildCertificateMiddleware(redactedCredential) {
121
+ const response = await this.credentials.get({
122
+ id: redactedCredential.id,
123
+ });
124
+ if (!response || !response.credential) {
125
+ return undefined;
126
+ }
127
+ const client = await this.httpClientFactory.getClient(response.credential);
128
+ if (!client) {
129
+ return undefined;
130
+ }
131
+ return (fetch) => {
132
+ return (input, init = {}) => {
133
+ return fetch(input, { ...init, client });
134
+ };
135
+ };
136
+ }
137
+ async buildApiKeyMiddleware(asc, redactedCredential) {
138
+ if (!asc.apiKey) {
139
+ throw new Error('AuthSchemeConfig.apiKey is required');
140
+ }
141
+ const response = await this.tokens.getToken({
142
+ credentialId: redactedCredential.id,
143
+ forceRefresh: false,
144
+ });
145
+ if (!response || !response.token) {
146
+ this.logger.warn('Response from getToken is empty', {
147
+ credentialId: redactedCredential.id,
148
+ response,
149
+ });
150
+ return undefined;
151
+ }
152
+ const tokenHolder = new CredentialHolder_js_1.CredentialHolder(response.token, isTokenValid_js_1.isTokenValid, async () => {
153
+ const refreshed = await this.tokens.getToken({
154
+ credentialId: redactedCredential.id,
155
+ forceRefresh: false,
156
+ });
157
+ return refreshed.token;
158
+ });
159
+ let authMiddleware;
160
+ switch (asc.apiKey?.in) {
161
+ case 'header':
162
+ authMiddleware = this.buildApiKeyHeaderMiddleware(asc.apiKey, tokenHolder);
163
+ break;
164
+ case 'query':
165
+ authMiddleware = this.buildApiKeyQueryMiddleware(asc.apiKey, tokenHolder);
166
+ break;
167
+ case 'cookie':
168
+ authMiddleware = this.buildApiKeyCookieMiddleware(asc.apiKey, tokenHolder);
169
+ break;
170
+ default:
171
+ throw new Error('Unsupported apiKey.in value: ' + asc.apiKey?.in);
172
+ }
173
+ // wrap the middleware applying auth in a new middleware that handles refreshing tokens
174
+ // in the event of a 401 or 403 response. It's important that non of the middlewares above
175
+ // mutate the input or init parameters.
176
+ return refreshTokenMiddleware(authMiddleware, tokenHolder, this.logger);
177
+ }
178
+ buildApiKeyHeaderMiddleware(cfg, tokenHolder) {
179
+ return (fetch) => {
180
+ return async (input, init = {}) => {
181
+ const token = await tokenHolder.get();
182
+ const headers = new Headers(init?.headers);
183
+ headers.set(cfg.name, token.tokenType ? `${token.tokenType} ${token.accessToken}` : token.accessToken);
184
+ return fetch(input, {
185
+ ...init,
186
+ headers,
187
+ });
188
+ };
189
+ };
190
+ }
191
+ buildApiKeyQueryMiddleware(cfg, tokenHolder) {
192
+ return (fetch) => {
193
+ return async (input, init) => {
194
+ const token = await tokenHolder.get();
195
+ const params = new URLSearchParams({
196
+ [cfg.name]: token.accessToken,
197
+ });
198
+ if (input instanceof URL) {
199
+ // must clone the URL object to avoid modifying the original object in case of
200
+ // refreshing tokens and retrying the request.
201
+ const nextInput = new URL(input.toString());
202
+ params.forEach((value, key) => {
203
+ nextInput.searchParams.set(key, value);
204
+ });
205
+ input = nextInput;
206
+ }
207
+ else if (input instanceof Request) {
208
+ const url = new URL(input.url);
209
+ params.forEach((value, key) => {
210
+ url.searchParams.set(key, value);
211
+ });
212
+ input = new Request(url.toString(), {
213
+ ...init,
214
+ headers: new Headers(init?.headers),
215
+ });
216
+ }
217
+ else if (typeof input === 'string') {
218
+ const url = new URL(input);
219
+ params.forEach((value, key) => {
220
+ url.searchParams.set(key, value);
221
+ });
222
+ input = url.toString();
223
+ }
224
+ else {
225
+ throw new Error('Unsupported input parameter to fetch(): ' + typeof input);
226
+ }
227
+ return fetch(input, init);
228
+ };
229
+ };
230
+ }
231
+ buildApiKeyCookieMiddleware(cfg, tokenHolder) {
232
+ return (fetch) => {
233
+ return async (input, init = {}) => {
234
+ const token = await tokenHolder.get();
235
+ const cookie = `${cfg.name}=${token.accessToken}`;
236
+ const headers = new Headers(init?.headers);
237
+ if (headers.has('Cookie')) {
238
+ headers.set('Cookie', `${headers.get('Cookie')}; ${cookie}`);
239
+ }
240
+ else {
241
+ headers.set('Cookie', cookie);
242
+ }
243
+ return fetch(input, {
244
+ ...init,
245
+ headers,
246
+ });
247
+ };
248
+ };
249
+ }
250
+ async buildBasicAuthMiddleware(redactedCredential) {
251
+ const response = await this.tokens.getToken({
252
+ credentialId: redactedCredential.id,
253
+ });
254
+ if (!response || !response.token) {
255
+ this.logger.warn('Empty response for basic auth credential', {
256
+ credentialId: redactedCredential.id,
257
+ response,
258
+ });
259
+ return Promise.resolve(undefined);
260
+ }
261
+ const tokenHolder = new CredentialHolder_js_1.CredentialHolder(response.token, isTokenValid_js_1.isTokenValid, async () => {
262
+ const refreshed = await this.tokens.getToken({
263
+ credentialId: redactedCredential.id,
264
+ forceRefresh: false,
265
+ });
266
+ return refreshed.token;
267
+ });
268
+ const authMiddleware = this.buildBasicAuthHeaderMiddleware(tokenHolder);
269
+ return Promise.resolve(refreshTokenMiddleware(authMiddleware, tokenHolder, this.logger));
270
+ }
271
+ async buildOAuth1Middleware(redactedCredential) {
272
+ const oauth1Meta = await this.oauth1.getAuthorizationMetadata({
273
+ credentialId: redactedCredential.id,
274
+ });
275
+ if (!oauth1Meta || !oauth1Meta.authorizationMetadata) {
276
+ this.logger.warn('Empty response for OAuth1 metadata', {
277
+ credentialId: redactedCredential.id,
278
+ oauth1Meta,
279
+ });
280
+ return Promise.resolve(undefined);
281
+ }
282
+ const tokenHolder = new CredentialHolder_js_1.CredentialHolder(oauth1Meta.authorizationMetadata, () => true, async () => {
283
+ const refreshed = await this.oauth1.getAuthorizationMetadata({
284
+ credentialId: redactedCredential.id,
285
+ });
286
+ return refreshed.authorizationMetadata;
287
+ });
288
+ const authMiddleware = this.buildOAuth1HeaderMiddleware(tokenHolder);
289
+ return Promise.resolve(refreshTokenMiddleware(authMiddleware, tokenHolder, this.logger));
290
+ }
291
+ buildBasicAuthHeaderMiddleware(tokenHolder) {
292
+ return (fetch) => {
293
+ return async (input, init = {}) => {
294
+ const token = await tokenHolder.get();
295
+ const headers = new Headers(init?.headers);
296
+ headers.set('Authorization', `Basic ${token.accessToken}`);
297
+ return fetch(input, {
298
+ ...init,
299
+ headers,
300
+ });
301
+ };
302
+ };
303
+ }
304
+ buildOAuth1HeaderMiddleware(tokenHolder) {
305
+ return (fetch) => {
306
+ return async (input, init = {}) => {
307
+ const metadata = await tokenHolder.get();
308
+ const authParams = new URLSearchParams(metadata.authorizationParams);
309
+ if (!metadata.authorizationParams) {
310
+ throw new Error('OAuth1 metadata not found');
311
+ }
312
+ const oauth = new oauth_1_0a_1.default({
313
+ consumer: {
314
+ key: metadata.consumerKey,
315
+ secret: metadata.consumerSecret,
316
+ },
317
+ signature_method: 'HMAC-SHA256',
318
+ hash_function: (baseString, key) => (0, node_crypto_1.createHmac)('sha256', key).update(baseString).digest('base64'),
319
+ realm: authParams.get('realm') || undefined,
320
+ });
321
+ let url;
322
+ if (input instanceof Request) {
323
+ url = input.url;
324
+ }
325
+ else if (input instanceof URL) {
326
+ url = input.toString();
327
+ }
328
+ else if (typeof input === 'string') {
329
+ url = input;
330
+ }
331
+ else {
332
+ throw new Error('Invalid input type for OAuth1 fetcher');
333
+ }
334
+ const header = oauth.toHeader(oauth.authorize({
335
+ url: url,
336
+ method: init?.method || 'GET',
337
+ }, {
338
+ key: metadata.oauthToken,
339
+ secret: metadata.oauthTokenSecret,
340
+ }));
341
+ const authHeader = header.Authorization;
342
+ if (!init) {
343
+ init = {};
344
+ }
345
+ if (!init.headers) {
346
+ init.headers = new Headers();
347
+ }
348
+ if (init.headers instanceof Headers) {
349
+ init.headers.set('Authorization', authHeader);
350
+ }
351
+ else if (init.headers instanceof Array) {
352
+ init.headers.push(['Authorization', authHeader]);
353
+ }
354
+ else {
355
+ init.headers = {
356
+ ...init.headers,
357
+ ['Authorization']: authHeader,
358
+ };
359
+ }
360
+ return fetch(input, init);
361
+ };
362
+ };
363
+ }
364
+ async buildJwtBearerMiddleware(redactedCredential) {
365
+ const response = await this.tokens.getToken({
366
+ credentialId: redactedCredential.id,
367
+ });
368
+ if (!response || !response.token) {
369
+ this.logger.warn('Empty response for JWT bearer credential', {
370
+ credentialId: redactedCredential.id,
371
+ response,
372
+ });
373
+ return Promise.resolve(undefined);
374
+ }
375
+ const tokenHolder = new CredentialHolder_js_1.CredentialHolder(response.token, isTokenValid_js_1.isTokenValid, async () => {
376
+ const refreshed = await this.tokens.getToken({
377
+ credentialId: redactedCredential.id,
378
+ forceRefresh: false,
379
+ });
380
+ return refreshed.token;
381
+ });
382
+ const authMiddleware = this.buildAuthorizationHeaderMiddleware(tokenHolder);
383
+ return Promise.resolve(refreshTokenMiddleware(authMiddleware, tokenHolder, this.logger));
384
+ }
385
+ async buildOAuth2Middleware(redactedCredential) {
386
+ const response = await this.tokens.getToken({
387
+ credentialId: redactedCredential.id,
388
+ });
389
+ if (!response || !response.token) {
390
+ return Promise.resolve(undefined);
391
+ }
392
+ const tokenHolder = new CredentialHolder_js_1.CredentialHolder(response.token, isTokenValid_js_1.isTokenValid, async () => {
393
+ const refreshed = await this.tokens.getToken({
394
+ credentialId: redactedCredential.id,
395
+ forceRefresh: true,
396
+ });
397
+ return refreshed.token;
398
+ });
399
+ let tokenType = 'Bearer';
400
+ switch (response.token.tokenType?.toLowerCase()) {
401
+ case 'mac':
402
+ tokenType = 'MAC';
403
+ break;
404
+ case 'bearer':
405
+ tokenType = 'Bearer';
406
+ break;
407
+ case 'basic':
408
+ tokenType = 'Basic';
409
+ break;
410
+ default:
411
+ tokenType = 'Bearer';
412
+ break;
413
+ }
414
+ return this.buildAuthorizationHeaderMiddleware(tokenHolder, tokenType);
415
+ }
416
+ buildAuthorizationHeaderMiddleware(tokenHolder, tokenType = 'Bearer') {
417
+ return (fetch) => {
418
+ return async (input, init = {}) => {
419
+ const token = await tokenHolder.get();
420
+ const headers = new Headers(init?.headers);
421
+ headers.set('Authorization', `${tokenType} ${token.accessToken}`);
422
+ console.log('headers', input);
423
+ return fetch(input, {
424
+ ...init,
425
+ headers,
426
+ });
427
+ };
428
+ };
429
+ }
430
+ }
431
+ exports.OutboundConnectionFactory = OutboundConnectionFactory;
432
+ function refreshTokenMiddleware(authMiddleware, tokenHolder, logger) {
433
+ return (fetch) => {
434
+ if (authMiddleware) {
435
+ fetch = authMiddleware(fetch);
436
+ }
437
+ return async (input, init = {}) => {
438
+ const response = await fetch(input, init);
439
+ if (response.ok) {
440
+ return response;
441
+ }
442
+ if (response.status !== 401 && response.status !== 403) {
443
+ return response;
444
+ }
445
+ // the response is a 401 or 403, try refreshing the token and retrying the request
446
+ tokenHolder.refresh();
447
+ if (init.body instanceof ReadableStream) {
448
+ logger.warn(`received ${response.status} but cannot refresh token requests using ReadableStream body`);
449
+ return response;
450
+ }
451
+ return fetch(input, init);
452
+ };
453
+ };
454
+ }
@@ -0,0 +1,32 @@
1
+ import type * as express from 'express';
2
+ import { Context } from '../context/Context.js';
3
+ import { Connection } from '../services/platform/mod.js';
4
+ export type FetchLike = typeof fetch;
5
+ export type OutboundMiddleware = (fetch: FetchLike) => FetchLike;
6
+ /**
7
+ * ConnectionFactory is a factory class that can be used to create an instance of {@link RuntimeConnectionFactory} based
8
+ * on the type of connection being used by a step.
9
+ */
10
+ export interface ConnectionFactory {
11
+ fetcher(cnx: Connection): Promise<FetchLike>;
12
+ handler(cnx: Connection): Promise<express.RequestHandler>;
13
+ }
14
+ /**
15
+ * RuntimeConnectionFactory is similar to {@link ConnectionFactory} but is constructed at boot-time by the interpreter
16
+ * and is used during execution runtime to return the associated {@link FetchLike} and {@link express.RequestHandler}
17
+ * for a given {@link Context}.
18
+ *
19
+ * This will either be a {@link StaticFetchFactory} or a {@link DynamicFetchFactory} depending on the type of connection
20
+ * being used.
21
+ */
22
+ export interface RuntimeConnectionFactory {
23
+ fetcher(ctx: Context<unknown>): Promise<FetchLike>;
24
+ baseUrl(ctx: Context<unknown>): Promise<string>;
25
+ handler(ctx: Context<unknown>): Promise<express.RequestHandler>;
26
+ }
27
+ /**
28
+ * ExpressHandlers is the interface for returning a dynamic express handler based on the provided context.
29
+ */
30
+ export interface ExpressHandlers {
31
+ }
32
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/connection/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC;AAErC,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;CAC7D;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACrC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;CACnE;AAuBD;;GAEG;AACH,MAAM,WAAW,eAAe;CAC/B"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,18 @@
1
+ import { Logger } from '../observability/mod.js';
2
+ import { Activation, Connection, DynamicVariables, EndUser, PlatformApi, ProjectEnvironment } from '../services/platform/mod.js';
3
+ export declare class ActivationImpl implements Activation {
4
+ private readonly activation;
5
+ private readonly platformApi;
6
+ private readonly organisationId;
7
+ private readonly environmentId;
8
+ private readonly log;
9
+ constructor(activation: Activation, platformApi: PlatformApi, organisationId: string, environmentId: string, log: Logger);
10
+ get id(): string;
11
+ get user(): EndUser;
12
+ get environment(): ProjectEnvironment | undefined;
13
+ get connections(): Array<Connection> | undefined;
14
+ get dynamicVariables(): DynamicVariables | undefined;
15
+ getVariable<T = unknown>(name: string): T | undefined;
16
+ setVariable(name: string, value: unknown): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=ActivationImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivationImpl.d.ts","sourceRoot":"","sources":["../../../src/src/context/ActivationImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjI,qBAAa,cAAe,YAAW,UAAU;IAEzC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAJH,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM;IAGhC,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,IAAI,WAAW,IAAI,kBAAkB,GAAG,SAAS,CAEhD;IAED,IAAI,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,SAAS,CAE/C;IAED,IAAI,gBAAgB,IAAI,gBAAgB,GAAG,SAAS,CAEnD;IAED,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAQ/C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CA8BjE"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ActivationImpl = void 0;
4
+ class ActivationImpl {
5
+ constructor(activation, platformApi, organisationId, environmentId, log) {
6
+ Object.defineProperty(this, "activation", {
7
+ enumerable: true,
8
+ configurable: true,
9
+ writable: true,
10
+ value: activation
11
+ });
12
+ Object.defineProperty(this, "platformApi", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: platformApi
17
+ });
18
+ Object.defineProperty(this, "organisationId", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: organisationId
23
+ });
24
+ Object.defineProperty(this, "environmentId", {
25
+ enumerable: true,
26
+ configurable: true,
27
+ writable: true,
28
+ value: environmentId
29
+ });
30
+ Object.defineProperty(this, "log", {
31
+ enumerable: true,
32
+ configurable: true,
33
+ writable: true,
34
+ value: log
35
+ });
36
+ }
37
+ get id() {
38
+ return this.activation.id;
39
+ }
40
+ get user() {
41
+ return this.activation.user;
42
+ }
43
+ get environment() {
44
+ return this.activation.environment;
45
+ }
46
+ get connections() {
47
+ return this.activation.connections;
48
+ }
49
+ get dynamicVariables() {
50
+ return this.activation.dynamicVariables;
51
+ }
52
+ getVariable(name) {
53
+ if (!this.activation.dynamicVariables) {
54
+ return undefined;
55
+ }
56
+ return this.activation.dynamicVariables[name];
57
+ }
58
+ async setVariable(name, value) {
59
+ if (!this.activation.dynamicVariables) {
60
+ this.log.error(`No variables found for activation`);
61
+ return;
62
+ }
63
+ try {
64
+ await this.platformApi.setDynamicVariable({
65
+ path: {
66
+ organisation_id: this.organisationId,
67
+ environment_id: this.environmentId,
68
+ activation_id: this.id,
69
+ variable_name: name,
70
+ },
71
+ body: {
72
+ value,
73
+ }
74
+ });
75
+ }
76
+ catch (err) {
77
+ this.log.error(`Failed to set variable`, {
78
+ error: err,
79
+ variableName: name,
80
+ });
81
+ return;
82
+ }
83
+ this.activation.dynamicVariables[name] = value;
84
+ }
85
+ }
86
+ exports.ActivationImpl = ActivationImpl;
@@ -63,7 +63,7 @@ class AsyncWorkflow {
63
63
  this.isWaiting = false;
64
64
  throw new Error('wait timed out');
65
65
  }
66
- const workflow = await this.queue.poll(this.workflowId);
66
+ const workflow = await this.queue.getWorkflow(this.workflowId);
67
67
  if (workflow.status === 'completed') {
68
68
  // workflow is completed, parse the output and set the data and completed to true
69
69
  const stringData = workflow.output;
@@ -1,25 +1,21 @@
1
1
  import type * as express from 'express';
2
- import { Activation } from '../dsl/http/types.js';
3
2
  import { CredentialsProvider } from '../dsl/http/versori/contextcredentials.js';
4
3
  import { QueueAPI } from '../interpreter/durable/Queue.js';
5
4
  import { Issue, IssueAPI } from '../issues/Issues.js';
6
5
  import { KeyValue, KeyValueProvider, KeyValueScope } from '../kv/KeyValue.js';
7
6
  import { Logger } from '../observability/logging/Logger.js';
8
7
  import { AsyncWorkflow } from './AsyncWorkflow.js';
8
+ import { Workflow } from '../interpreter/durable/Queue.js';
9
+ import { ActivationImpl } from './ActivationImpl.js';
10
+ import { WorkflowInterface, WorkflowOpts } from './WorkflowClient.js';
9
11
  export type OnSuccessFn = (ctx: Context<any>) => void;
10
12
  export type OnErrorFn = (ctx: Context<any>) => void;
11
13
  export type ContextOptions = {
12
- activation?: Activation;
13
- workflowId?: string;
14
+ workflow?: Workflow;
14
15
  request?: express.Request;
15
16
  onSuccess?: OnSuccessFn;
16
17
  onError?: OnErrorFn;
17
18
  };
18
- export type WorkflowOpts = {
19
- maxAttempts?: number;
20
- data?: unknown;
21
- dataRaw?: string;
22
- };
23
19
  export type CreateIssue = {
24
20
  severity: 'low' | 'medium' | 'high';
25
21
  title: string;
@@ -31,7 +27,7 @@ export interface Context<D> {
31
27
  readonly executionId: string;
32
28
  readonly startTime: Date;
33
29
  readonly data: D;
34
- activation?: Activation;
30
+ activation: ActivationImpl;
35
31
  /**
36
32
  * Opens a key value store for the given scope, defaulting to ':project:' if not provided.
37
33
  * @param scope
@@ -44,6 +40,7 @@ export interface Context<D> {
44
40
  deduplicate?: boolean;
45
41
  }): Promise<Issue | null>;
46
42
  request(): express.Request | undefined;
43
+ workflowClient(): WorkflowInterface;
47
44
  }
48
45
  export declare class ContextImpl<D, Index = void> implements Context<D> {
49
46
  #private;
@@ -55,14 +52,14 @@ export declare class ContextImpl<D, Index = void> implements Context<D> {
55
52
  readonly kvp: KeyValueProvider;
56
53
  readonly queue?: QueueAPI;
57
54
  readonly options: ContextOptions;
58
- constructor(log: Logger, kvp: KeyValueProvider, creds: CredentialsProvider, executionId: string, startTime: Date, data: D, issues: IssueAPI, queue?: QueueAPI, options?: ContextOptions);
59
- get activation(): Activation | undefined;
60
- get workflowId(): string | undefined;
55
+ constructor(log: Logger, kvp: KeyValueProvider, creds: CredentialsProvider, executionId: string, startTime: Date, data: D, activation: ActivationImpl, issues: IssueAPI, queue?: QueueAPI, options?: ContextOptions);
56
+ get activation(): ActivationImpl;
57
+ get workflow(): Workflow | undefined;
61
58
  setIndex(idx: number): ContextImpl<D, number>;
62
- withActivation(activation: Activation): ContextImpl<D, Index>;
63
59
  withData<D2>(data: D2): ContextImpl<D2, Index>;
64
60
  openKv(scope?: KeyValueScope): KeyValue;
65
61
  request(): express.Request | undefined;
62
+ workflowClient(): WorkflowInterface;
66
63
  start(group: string, opts: WorkflowOpts): Promise<AsyncWorkflow>;
67
64
  createIssue(issue: CreateIssue, options?: {
68
65
  deduplicate?: boolean;