@versori/run 0.4.5 → 0.5.0-alpha.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 (199) hide show
  1. package/esm/src/connection/DirectConnectionFactory.d.ts +3 -5
  2. package/esm/src/connection/DirectConnectionFactory.d.ts.map +1 -1
  3. package/esm/src/connection/DirectConnectionFactory.js +0 -5
  4. package/esm/src/connection/internal/CredentialHolder.d.ts.map +1 -1
  5. package/esm/src/connection/internal/CredentialHolder.js +1 -1
  6. package/esm/src/connection/internal/FetchBuilder.d.ts +9 -2
  7. package/esm/src/connection/internal/FetchBuilder.d.ts.map +1 -1
  8. package/esm/src/connection/internal/FetchBuilder.js +120 -4
  9. package/esm/src/connection/internal/OutboundConnectionFactory.d.ts.map +1 -1
  10. package/esm/src/connection/internal/OutboundConnectionFactory.js +2 -2
  11. package/esm/src/context/Context.d.ts +1 -0
  12. package/esm/src/context/Context.d.ts.map +1 -1
  13. package/esm/src/context/Context.js +3 -0
  14. package/esm/src/context/ContextProvider.d.ts +1 -1
  15. package/esm/src/context/ContextProvider.d.ts.map +1 -1
  16. package/esm/src/context/ContextProvider.js +1 -1
  17. package/esm/src/dsl/Workflow.d.ts.map +1 -1
  18. package/esm/src/dsl/Workflow.js +2 -0
  19. package/esm/src/dsl/http/types.d.ts +2 -0
  20. package/esm/src/dsl/http/types.d.ts.map +1 -1
  21. package/esm/src/dsl/http/versori/configloader.js +1 -1
  22. package/esm/src/dsl/http/versori/cronapi.d.ts +2 -3
  23. package/esm/src/dsl/http/versori/cronapi.d.ts.map +1 -1
  24. package/esm/src/dsl/http/versori/cronapi.js +14 -15
  25. package/esm/src/dsl/http/versori/kvapi/core/OpenAPI.js +1 -1
  26. package/esm/src/dsl/http/versori/webhookmiddleware.d.ts.map +1 -1
  27. package/esm/src/dsl/http/versori/webhookmiddleware.js +69 -38
  28. package/esm/src/dsl/triggers/WebhookTrigger.d.ts.map +1 -1
  29. package/esm/src/dsl/triggers/WebhookTrigger.js +3 -1
  30. package/esm/src/internal/InternalAuth.d.ts +0 -1
  31. package/esm/src/internal/InternalAuth.d.ts.map +1 -1
  32. package/esm/src/internal/InternalAuth.js +1 -14
  33. package/esm/src/internal/constants.d.ts +3 -1
  34. package/esm/src/internal/constants.d.ts.map +1 -1
  35. package/esm/src/internal/constants.js +4 -1
  36. package/esm/src/internal/supervisor.d.ts +25 -0
  37. package/esm/src/internal/supervisor.d.ts.map +1 -0
  38. package/esm/src/internal/supervisor.js +156 -0
  39. package/esm/src/interpreter/durable/DurableInterpreter.d.ts +8 -2
  40. package/esm/src/interpreter/durable/DurableInterpreter.d.ts.map +1 -1
  41. package/esm/src/interpreter/durable/DurableInterpreter.js +80 -15
  42. package/esm/src/interpreter/durable/ObservableCompiler.d.ts +6 -1
  43. package/esm/src/interpreter/durable/ObservableCompiler.d.ts.map +1 -1
  44. package/esm/src/interpreter/durable/Queue.js +1 -1
  45. package/esm/src/interpreter/durable/compilers/catch.d.ts.map +1 -1
  46. package/esm/src/interpreter/durable/compilers/catch.js +1 -0
  47. package/esm/src/interpreter/durable/compilers/fn.d.ts.map +1 -1
  48. package/esm/src/interpreter/durable/compilers/fn.js +19 -4
  49. package/esm/src/interpreter/durable/compilers/http.d.ts.map +1 -1
  50. package/esm/src/interpreter/durable/compilers/http.js +40 -7
  51. package/esm/src/interpreter/durable/compilers/schedule.d.ts.map +1 -1
  52. package/esm/src/interpreter/durable/compilers/schedule.js +2 -1
  53. package/esm/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
  54. package/esm/src/interpreter/durable/compilers/webhook.js +14 -4
  55. package/esm/src/interpreter/memory/MemoryInterpreter.d.ts +7 -1
  56. package/esm/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
  57. package/esm/src/interpreter/memory/MemoryInterpreter.js +79 -14
  58. package/esm/src/interpreter/memory/ObservableCompiler.d.ts +6 -1
  59. package/esm/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
  60. package/esm/src/interpreter/memory/compilers/catch.d.ts.map +1 -1
  61. package/esm/src/interpreter/memory/compilers/catch.js +1 -0
  62. package/esm/src/interpreter/memory/compilers/fn.d.ts.map +1 -1
  63. package/esm/src/interpreter/memory/compilers/fn.js +19 -16
  64. package/esm/src/interpreter/memory/compilers/http.d.ts.map +1 -1
  65. package/esm/src/interpreter/memory/compilers/http.js +39 -6
  66. package/esm/src/interpreter/memory/compilers/schedule.d.ts.map +1 -1
  67. package/esm/src/interpreter/memory/compilers/schedule.js +2 -1
  68. package/esm/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
  69. package/esm/src/interpreter/memory/compilers/webhook.js +15 -4
  70. package/esm/src/issues/Issues.js +1 -1
  71. package/esm/src/kv/nats/NatsKeyValueProvider.d.ts.map +1 -1
  72. package/esm/src/kv/nats/NatsKeyValueProvider.js +2 -2
  73. package/esm/src/kv/sdk/SDKKeyValueProvider.d.ts.map +1 -1
  74. package/esm/src/kv/sdk/SDKKeyValueProvider.js +3 -3
  75. package/esm/src/observability/logging/ConsoleLogger.d.ts.map +1 -1
  76. package/package.json +3 -1
  77. package/script/src/connection/DirectConnectionFactory.d.ts +3 -5
  78. package/script/src/connection/DirectConnectionFactory.d.ts.map +1 -1
  79. package/script/src/connection/DirectConnectionFactory.js +0 -5
  80. package/script/src/connection/internal/CredentialHolder.d.ts.map +1 -1
  81. package/script/src/connection/internal/CredentialHolder.js +1 -1
  82. package/script/src/connection/internal/FetchBuilder.d.ts +9 -2
  83. package/script/src/connection/internal/FetchBuilder.d.ts.map +1 -1
  84. package/script/src/connection/internal/FetchBuilder.js +143 -4
  85. package/script/src/connection/internal/OutboundConnectionFactory.d.ts.map +1 -1
  86. package/script/src/connection/internal/OutboundConnectionFactory.js +2 -2
  87. package/script/src/context/Context.d.ts +1 -0
  88. package/script/src/context/Context.d.ts.map +1 -1
  89. package/script/src/context/Context.js +3 -0
  90. package/script/src/context/ContextProvider.d.ts +1 -1
  91. package/script/src/context/ContextProvider.d.ts.map +1 -1
  92. package/script/src/context/ContextProvider.js +1 -1
  93. package/script/src/dsl/Workflow.d.ts.map +1 -1
  94. package/script/src/dsl/Workflow.js +2 -0
  95. package/script/src/dsl/http/types.d.ts +2 -0
  96. package/script/src/dsl/http/types.d.ts.map +1 -1
  97. package/script/src/dsl/http/versori/configloader.js +1 -1
  98. package/script/src/dsl/http/versori/cronapi.d.ts +2 -3
  99. package/script/src/dsl/http/versori/cronapi.d.ts.map +1 -1
  100. package/script/src/dsl/http/versori/cronapi.js +14 -15
  101. package/script/src/dsl/http/versori/kvapi/core/OpenAPI.js +1 -1
  102. package/script/src/dsl/http/versori/webhookmiddleware.d.ts.map +1 -1
  103. package/script/src/dsl/http/versori/webhookmiddleware.js +69 -38
  104. package/script/src/dsl/triggers/WebhookTrigger.d.ts.map +1 -1
  105. package/script/src/dsl/triggers/WebhookTrigger.js +3 -1
  106. package/script/src/internal/InternalAuth.d.ts +0 -1
  107. package/script/src/internal/InternalAuth.d.ts.map +1 -1
  108. package/script/src/internal/InternalAuth.js +0 -13
  109. package/script/src/internal/constants.d.ts +3 -1
  110. package/script/src/internal/constants.d.ts.map +1 -1
  111. package/script/src/internal/constants.js +5 -2
  112. package/script/src/internal/supervisor.d.ts +25 -0
  113. package/script/src/internal/supervisor.d.ts.map +1 -0
  114. package/script/src/internal/supervisor.js +163 -0
  115. package/script/src/interpreter/durable/DurableInterpreter.d.ts +8 -2
  116. package/script/src/interpreter/durable/DurableInterpreter.d.ts.map +1 -1
  117. package/script/src/interpreter/durable/DurableInterpreter.js +85 -20
  118. package/script/src/interpreter/durable/ObservableCompiler.d.ts +6 -1
  119. package/script/src/interpreter/durable/ObservableCompiler.d.ts.map +1 -1
  120. package/script/src/interpreter/durable/Queue.js +1 -1
  121. package/script/src/interpreter/durable/compilers/catch.d.ts.map +1 -1
  122. package/script/src/interpreter/durable/compilers/catch.js +1 -0
  123. package/script/src/interpreter/durable/compilers/fn.d.ts.map +1 -1
  124. package/script/src/interpreter/durable/compilers/fn.js +19 -4
  125. package/script/src/interpreter/durable/compilers/http.d.ts.map +1 -1
  126. package/script/src/interpreter/durable/compilers/http.js +40 -7
  127. package/script/src/interpreter/durable/compilers/schedule.d.ts.map +1 -1
  128. package/script/src/interpreter/durable/compilers/schedule.js +2 -1
  129. package/script/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
  130. package/script/src/interpreter/durable/compilers/webhook.js +14 -4
  131. package/script/src/interpreter/memory/MemoryInterpreter.d.ts +7 -1
  132. package/script/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
  133. package/script/src/interpreter/memory/MemoryInterpreter.js +78 -13
  134. package/script/src/interpreter/memory/ObservableCompiler.d.ts +6 -1
  135. package/script/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
  136. package/script/src/interpreter/memory/compilers/catch.d.ts.map +1 -1
  137. package/script/src/interpreter/memory/compilers/catch.js +1 -0
  138. package/script/src/interpreter/memory/compilers/fn.d.ts.map +1 -1
  139. package/script/src/interpreter/memory/compilers/fn.js +19 -16
  140. package/script/src/interpreter/memory/compilers/http.d.ts.map +1 -1
  141. package/script/src/interpreter/memory/compilers/http.js +39 -6
  142. package/script/src/interpreter/memory/compilers/schedule.d.ts.map +1 -1
  143. package/script/src/interpreter/memory/compilers/schedule.js +2 -1
  144. package/script/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
  145. package/script/src/interpreter/memory/compilers/webhook.js +15 -4
  146. package/script/src/issues/Issues.js +1 -1
  147. package/script/src/kv/nats/NatsKeyValueProvider.d.ts.map +1 -1
  148. package/script/src/kv/nats/NatsKeyValueProvider.js +2 -2
  149. package/script/src/kv/sdk/SDKKeyValueProvider.d.ts.map +1 -1
  150. package/script/src/kv/sdk/SDKKeyValueProvider.js +3 -3
  151. package/script/src/observability/logging/ConsoleLogger.d.ts.map +1 -1
  152. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common64.d.ts +0 -35
  153. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common64.d.ts.map +0 -1
  154. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common64.js +0 -113
  155. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts +0 -4
  156. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map +0 -1
  157. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.js +0 -13
  158. package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts +0 -9
  159. package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map +0 -1
  160. package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.js +0 -2
  161. package/esm/deps/jsr.io/@std/encoding/1.0.10/base64.d.ts +0 -40
  162. package/esm/deps/jsr.io/@std/encoding/1.0.10/base64.d.ts.map +0 -1
  163. package/esm/deps/jsr.io/@std/encoding/1.0.10/base64.js +0 -82
  164. package/esm/src/connection/CredentialsProvider.d.ts +0 -17
  165. package/esm/src/connection/CredentialsProvider.d.ts.map +0 -1
  166. package/esm/src/connection/CredentialsProvider.js +0 -63
  167. package/esm/src/credentials/CredentialsProvider.d.ts +0 -49
  168. package/esm/src/credentials/CredentialsProvider.d.ts.map +0 -1
  169. package/esm/src/credentials/CredentialsProvider.js +0 -102
  170. package/esm/src/dsl/http/versori/constants.d.ts +0 -20
  171. package/esm/src/dsl/http/versori/constants.d.ts.map +0 -1
  172. package/esm/src/dsl/http/versori/constants.js +0 -37
  173. package/esm/src/internal/cli.d.ts +0 -2
  174. package/esm/src/internal/cli.d.ts.map +0 -1
  175. package/esm/src/internal/cli.js +0 -32
  176. package/script/deps/jsr.io/@std/encoding/1.0.10/_common64.d.ts +0 -35
  177. package/script/deps/jsr.io/@std/encoding/1.0.10/_common64.d.ts.map +0 -1
  178. package/script/deps/jsr.io/@std/encoding/1.0.10/_common64.js +0 -119
  179. package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts +0 -4
  180. package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map +0 -1
  181. package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.js +0 -16
  182. package/script/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts +0 -9
  183. package/script/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map +0 -1
  184. package/script/deps/jsr.io/@std/encoding/1.0.10/_types.js +0 -3
  185. package/script/deps/jsr.io/@std/encoding/1.0.10/base64.d.ts +0 -40
  186. package/script/deps/jsr.io/@std/encoding/1.0.10/base64.d.ts.map +0 -1
  187. package/script/deps/jsr.io/@std/encoding/1.0.10/base64.js +0 -86
  188. package/script/src/connection/CredentialsProvider.d.ts +0 -17
  189. package/script/src/connection/CredentialsProvider.d.ts.map +0 -1
  190. package/script/src/connection/CredentialsProvider.js +0 -67
  191. package/script/src/credentials/CredentialsProvider.d.ts +0 -49
  192. package/script/src/credentials/CredentialsProvider.d.ts.map +0 -1
  193. package/script/src/credentials/CredentialsProvider.js +0 -106
  194. package/script/src/dsl/http/versori/constants.d.ts +0 -20
  195. package/script/src/dsl/http/versori/constants.d.ts.map +0 -1
  196. package/script/src/dsl/http/versori/constants.js +0 -40
  197. package/script/src/internal/cli.d.ts +0 -2
  198. package/script/src/internal/cli.d.ts.map +0 -1
  199. package/script/src/internal/cli.js +0 -35
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.createStaticWebhookMiddleware = createStaticWebhookMiddleware;
16
16
  exports.createActIdDynamicWebhookMiddleware = createActIdDynamicWebhookMiddleware;
17
17
  exports.createUserIdDynamicWebhookMiddleware = createUserIdDynamicWebhookMiddleware;
18
+ const supervisor_js_1 = require("../../../internal/supervisor.js");
18
19
  // TODO: this gets called for every request for all endpoints, can we cache this?
19
20
  async function getStaticActivation(opts) {
20
21
  const { data: activations } = await opts.platformApi.listActivations({
@@ -43,15 +44,32 @@ async function getStaticActivation(opts) {
43
44
  }
44
45
  // TODO: Refactor this so we don't have like three different middlewares for static and dynamic webhooks
45
46
  function createStaticWebhookMiddleware(opts) {
47
+ const staticMiddleware = async (_req, res, next) => {
48
+ try {
49
+ res.locals.activation = await getStaticActivation(opts);
50
+ }
51
+ catch (err) {
52
+ if (supervisor_js_1.enabled) {
53
+ res.locals.activation = {};
54
+ next();
55
+ return;
56
+ }
57
+ opts.log.error('Failed to get static activation', { error: err });
58
+ res.status(500).json({ error: 'Failed to get static activation' });
59
+ return;
60
+ }
61
+ next();
62
+ };
46
63
  if (opts.connName === undefined) {
47
64
  opts.log.warn(`No connection ID found for webhook, accepting any requests which is unsecure!`, { webhookId: opts.id });
48
- return async (_req, res, next) => {
49
- res.locals.activation = await getStaticActivation(opts);
50
- next();
51
- };
65
+ return staticMiddleware;
52
66
  }
53
67
  // TODO(@teo): move db access to outside of the middleware??? (genuine question - not instruction)
54
68
  return async (req, res, next) => {
69
+ if (supervisor_js_1.enabled) {
70
+ opts.log.warn("Disabling webhook auth in test mode.");
71
+ return staticMiddleware(req, res, next);
72
+ }
55
73
  if (!opts.connName) {
56
74
  // This is mainly for type safety, but we should never reach this point
57
75
  opts.log.error('Connection name is not defined for webhook middleware');
@@ -94,23 +112,31 @@ function createStaticWebhookMiddleware(opts) {
94
112
  };
95
113
  }
96
114
  function createActIdDynamicWebhookMiddleware(opts) {
115
+ const staticMiddleware = async (_req, res, next) => {
116
+ try {
117
+ res.locals.activation = await getStaticActivation(opts);
118
+ }
119
+ catch (err) {
120
+ if (supervisor_js_1.enabled) {
121
+ res.locals.activation = {};
122
+ next();
123
+ return;
124
+ }
125
+ opts.log.error('Failed to get static activation', { error: err });
126
+ res.status(500).json({ error: 'Failed to get static activation' });
127
+ return;
128
+ }
129
+ next();
130
+ };
97
131
  if (!opts.connName) {
98
132
  opts.log.warn(`No template ID found for webhook, accepting any requests which is unsecure!`, { webhookId: opts.id });
99
- return async (req, res, next) => {
100
- const activationId = req.params.activationId;
101
- const activation = await opts.platformApi.getActivation({
102
- path: {
103
- organisation_id: opts.organisationId,
104
- environment_id: opts.environmentId,
105
- activation_id: activationId,
106
- },
107
- throwOnError: true,
108
- });
109
- res.locals.activation = activation;
110
- next();
111
- };
133
+ return staticMiddleware;
112
134
  }
113
135
  return async (req, res, next) => {
136
+ if (supervisor_js_1.enabled) {
137
+ opts.log.warn("Disabling webhook out in test mode.");
138
+ return staticMiddleware(req, res, next);
139
+ }
114
140
  if (!opts.connName) {
115
141
  // This is mainly for type safety, but we should never reach this point
116
142
  opts.log.error('Connection name is not defined for webhook middleware');
@@ -145,31 +171,36 @@ function createActIdDynamicWebhookMiddleware(opts) {
145
171
  };
146
172
  }
147
173
  function createUserIdDynamicWebhookMiddleware(opts) {
174
+ const staticMiddleware = async (req, res, next) => {
175
+ const userId = req.params.userId;
176
+ const { data: activations } = await opts.platformApi.listUserActivations({
177
+ path: {
178
+ organisation_id: opts.organisationId,
179
+ environment_id: opts.environmentId,
180
+ external_user_id: userId,
181
+ },
182
+ throwOnError: true,
183
+ });
184
+ if (activations.length === 0) {
185
+ opts.log.error(`No activations found for user: ${userId}`);
186
+ res.status(401).json({ error: 'Unauthorised' });
187
+ return;
188
+ }
189
+ if (activations.length > 1) {
190
+ opts.log.warn(`Multiple activations found for user: ${userId}, using the first one: ${activations[0].id}`);
191
+ }
192
+ res.locals.activation = activations[0];
193
+ next();
194
+ };
148
195
  if (!opts.connName) {
149
196
  opts.log.warn(`No template ID found for webhook, accepting any requests which is unsecure!`, { webhookId: opts.id });
150
- return async (req, res, next) => {
151
- const userId = req.params.userId;
152
- const { data: activations } = await opts.platformApi.listUserActivations({
153
- path: {
154
- organisation_id: opts.organisationId,
155
- environment_id: opts.environmentId,
156
- external_user_id: userId,
157
- },
158
- throwOnError: true,
159
- });
160
- if (activations.length === 0) {
161
- opts.log.error(`No activations found for user: ${userId}`);
162
- res.status(401).json({ error: 'Unauthorised' });
163
- return;
164
- }
165
- if (activations.length > 1) {
166
- opts.log.warn(`Multiple activations found for user: ${userId}, using the first one: ${activations[0].id}`);
167
- }
168
- res.locals.activation = activations[0];
169
- next();
170
- };
197
+ return staticMiddleware;
171
198
  }
172
199
  return async (req, res, next) => {
200
+ if (supervisor_js_1.enabled) {
201
+ opts.log.warn("Disabling webhook auth in test mode.");
202
+ return staticMiddleware(req, res, next);
203
+ }
173
204
  if (!opts.connName) {
174
205
  // This is mainly for type safety, but we should never reach this point
175
206
  opts.log.error('Connection name is not defined for webhook middleware');
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookTrigger.d.ts","sourceRoot":"","sources":["../../../../src/src/dsl/triggers/WebhookTrigger.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AAExD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG;IACvC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAExB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;IAE7C;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;CAC9C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAElC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAElF;;OAEG;IACH,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACnC,CAAC;AAEF,qBAAa,cAAe,YAAW,OAAO,CAAC,WAAW,CAAC;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,cAAc,CAAC;IAExB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAa;gBAEtB,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB;IAKpD,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;CAG1D;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAElF"}
1
+ {"version":3,"file":"WebhookTrigger.d.ts","sourceRoot":"","sources":["../../../../src/src/dsl/triggers/WebhookTrigger.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AAExD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG;IACvC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAExB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;IAE7C;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;CAC9C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAElC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAElF;;OAEG;IACH,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACnC,CAAC;AAEF,qBAAa,cAAe,YAAW,OAAO,CAAC,WAAW,CAAC;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,cAAc,CAAC;IAExB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAa;gBAEtB,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB;IAOpD,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;CAK1D;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAElF"}
@@ -40,9 +40,11 @@ class WebhookTrigger {
40
40
  });
41
41
  this.id = id;
42
42
  this.options = options;
43
+ this.then = this.then.bind(this);
43
44
  }
44
45
  then(task) {
45
- return new Workflow_js_1.WorkflowImpl(this, (0, ensureTask_js_1.ensureTask)(task));
46
+ const actualTask = (0, ensureTask_js_1.ensureTask)(task);
47
+ return new Workflow_js_1.WorkflowImpl(this, actualTask);
46
48
  }
47
49
  }
48
50
  exports.WebhookTrigger = WebhookTrigger;
@@ -5,7 +5,6 @@ export declare class InternalAuth {
5
5
  private clientId;
6
6
  private clientSecret;
7
7
  private tokenEndpoint;
8
- private runLocal;
9
8
  private accessToken;
10
9
  private expiresAt;
11
10
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"InternalAuth.d.ts","sourceRoot":"","sources":["../../../src/src/internal/InternalAuth.ts"],"names":[],"mappings":"AAsBA,KAAK,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEpD,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAU;IAE1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;;IAkCpB,aAAa,IAAI,OAAO,CAAC,kBAAkB,CAAC;CAsBrD"}
1
+ {"version":3,"file":"InternalAuth.d.ts","sourceRoot":"","sources":["../../../src/src/internal/InternalAuth.ts"],"names":[],"mappings":"AAoBA,KAAK,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEpD,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;;IA2BpB,aAAa,IAAI,OAAO,CAAC,kBAAkB,CAAC;CAsBrD"}
@@ -13,7 +13,6 @@
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.InternalAuth = void 0;
16
- const cli_js_1 = require("./cli.js");
17
16
  const constants_js_1 = require("./constants.js");
18
17
  class InternalAuth {
19
18
  constructor() {
@@ -35,12 +34,6 @@ class InternalAuth {
35
34
  writable: true,
36
35
  value: void 0
37
36
  });
38
- Object.defineProperty(this, "runLocal", {
39
- enumerable: true,
40
- configurable: true,
41
- writable: true,
42
- value: void 0
43
- });
44
37
  Object.defineProperty(this, "accessToken", {
45
38
  enumerable: true,
46
39
  configurable: true,
@@ -58,18 +51,12 @@ class InternalAuth {
58
51
  this.tokenEndpoint = Deno.env.get(constants_js_1.envVarTokenEndpoint) || '';
59
52
  this.accessToken = '';
60
53
  this.expiresAt = 0;
61
- this.runLocal = Deno.env.get(constants_js_1.envVarLocalRun) === 'true';
62
54
  if (Deno.env.get(constants_js_1.envVarInternalToken)) {
63
55
  this.accessToken = Deno.env.get(constants_js_1.envVarInternalToken) || '';
64
56
  this.expiresAt = Date.now() + 365 * 24 * 60 * 60 * 1000; // expires in 1 year
65
57
  console.log(`Using static token provided by ${constants_js_1.envVarInternalToken}`);
66
58
  return;
67
59
  }
68
- if (this.runLocal) {
69
- console.info('Running in local mode using cookie for authentication');
70
- this.accessToken = (0, cli_js_1.getVersoriCookie)();
71
- return;
72
- }
73
60
  if (!this.clientId || !this.clientSecret || !this.tokenEndpoint) {
74
61
  const missingVars = [];
75
62
  if (!this.clientId)
@@ -10,11 +10,13 @@ export declare const envVarSelfRefURL = "RUN_SELF_REF_URL";
10
10
  export declare const envVarCredsBaseURL = "RUN_CREDENTIALS_SERVICE_INTERNAL_URL";
11
11
  export declare const envVarOtelTracesURL = "RUN_OTEL_TRACES_URL";
12
12
  export declare const envVarVersion = "RUN_SERVICE_VERSION";
13
+ export declare const envReadyCheckURL = "READY_CHECK_URL";
14
+ export declare const envPort = "PORT";
15
+ export declare const envCronPort = "CRON_PORT";
13
16
  export declare const envVarConfigFile = "RUN_CONFIG_FILE";
14
17
  export declare const envVarClientId = "RUN_CLIENT_ID";
15
18
  export declare const envVarClientSecret = "RUN_CLIENT_SECRET";
16
19
  export declare const envVarTokenEndpoint = "RUN_TOKEN_ENDPOINT";
17
20
  export declare const envVarInternalToken = "RUN_INTERNAL_TOKEN";
18
- export declare const envVarLocalRun = "RUN_LOCAL";
19
21
  export declare const cronPort = 3001;
20
22
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/src/internal/constants.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,WAAW,wBAAwB,CAAC;AACjD,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAChD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAChD,eAAO,MAAM,aAAa,0BAA0B,CAAC;AACrD,eAAO,MAAM,wBAAwB,kCAAkC,CAAC;AACxE,eAAO,MAAM,oBAAoB,8BAA8B,CAAC;AAChE,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AACrD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,kBAAkB,yCAAyC,CAAC;AACzE,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AACzD,eAAO,MAAM,aAAa,wBAAwB,CAAC;AAEnD,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAGlD,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAC9C,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AACtD,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AACxD,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AAGxD,eAAO,MAAM,cAAc,cAAc,CAAC;AAG1C,eAAO,MAAM,QAAQ,OAAO,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/src/internal/constants.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,WAAW,wBAAwB,CAAC;AACjD,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAChD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAChD,eAAO,MAAM,aAAa,0BAA0B,CAAC;AACrD,eAAO,MAAM,wBAAwB,kCAAkC,CAAC;AACxE,eAAO,MAAM,oBAAoB,8BAA8B,CAAC;AAChE,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AACrD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,kBAAkB,yCAAyC,CAAC;AACzE,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AACzD,eAAO,MAAM,aAAa,wBAAwB,CAAC;AACnD,eAAO,MAAM,gBAAgB,oBAAoB,CAAA;AACjD,eAAO,MAAM,OAAO,SAAS,CAAC;AAC9B,eAAO,MAAM,WAAW,cAAc,CAAC;AAGvC,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAGlD,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAC9C,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AACtD,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AACxD,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AAMxD,eAAO,MAAM,QAAQ,OAAO,CAAC"}
@@ -12,7 +12,7 @@
12
12
  * use of this software will be governed by the Apache License, Version 2.0.
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.cronPort = exports.envVarLocalRun = exports.envVarInternalToken = exports.envVarTokenEndpoint = exports.envVarClientSecret = exports.envVarClientId = exports.envVarConfigFile = exports.envVarVersion = exports.envVarOtelTracesURL = exports.envVarCredsBaseURL = exports.envVarSelfRefURL = exports.envVarSDKApiBaseURL = exports.envVarCronApiBaseURL = exports.envVarPlatformApiBaseURL = exports.envVarOrgSlug = exports.envVarProjectId = exports.envVarEnvironmentName = exports.envVarEnvId = exports.envVarOrgId = void 0;
15
+ exports.cronPort = exports.envVarInternalToken = exports.envVarTokenEndpoint = exports.envVarClientSecret = exports.envVarClientId = exports.envVarConfigFile = exports.envCronPort = exports.envPort = exports.envReadyCheckURL = exports.envVarVersion = exports.envVarOtelTracesURL = exports.envVarCredsBaseURL = exports.envVarSelfRefURL = exports.envVarSDKApiBaseURL = exports.envVarCronApiBaseURL = exports.envVarPlatformApiBaseURL = exports.envVarOrgSlug = exports.envVarProjectId = exports.envVarEnvironmentName = exports.envVarEnvId = exports.envVarOrgId = void 0;
16
16
  // This file contains constants used in the Versori DSL HTTP client.
17
17
  exports.envVarOrgId = 'RUN_ORGANISATION_ID';
18
18
  exports.envVarEnvId = 'RUN_ENVIRONMENT_ID';
@@ -26,6 +26,9 @@ exports.envVarSelfRefURL = 'RUN_SELF_REF_URL';
26
26
  exports.envVarCredsBaseURL = 'RUN_CREDENTIALS_SERVICE_INTERNAL_URL';
27
27
  exports.envVarOtelTracesURL = 'RUN_OTEL_TRACES_URL';
28
28
  exports.envVarVersion = 'RUN_SERVICE_VERSION';
29
+ exports.envReadyCheckURL = 'READY_CHECK_URL';
30
+ exports.envPort = 'PORT';
31
+ exports.envCronPort = 'CRON_PORT';
29
32
  // The following environment variables are used for the config file
30
33
  exports.envVarConfigFile = 'RUN_CONFIG_FILE';
31
34
  // The following environment variables are used for internal authentication
@@ -34,6 +37,6 @@ exports.envVarClientSecret = 'RUN_CLIENT_SECRET';
34
37
  exports.envVarTokenEndpoint = 'RUN_TOKEN_ENDPOINT';
35
38
  exports.envVarInternalToken = 'RUN_INTERNAL_TOKEN';
36
39
  // The following are for running locally
37
- exports.envVarLocalRun = 'RUN_LOCAL';
40
+ // export const envVarLocalRun = 'RUN_LOCAL';
38
41
  // please no changerino
39
42
  exports.cronPort = 3001; // The port on which the cron API communicates with the service
@@ -0,0 +1,25 @@
1
+ import { ExportResult } from '@opentelemetry/core';
2
+ import { ReadableSpan, SpanExporter } from '@opentelemetry/sdk-trace-node';
3
+ export declare const enabled: boolean;
4
+ type Webhooks = Map<string, {
5
+ method: string;
6
+ path: string;
7
+ options: any;
8
+ }>;
9
+ type Crons = Map<string, string>;
10
+ type MockConnection = {
11
+ name: string;
12
+ id?: string;
13
+ baseUrl?: string;
14
+ };
15
+ export declare function registerWebhooks(webhooks: Webhooks): Promise<void>;
16
+ export declare function registerCrons(crons: Crons): Promise<void>;
17
+ export declare function mockAPIRequest(info: RequestInfo | URL, cnx?: MockConnection, options?: RequestInit): Promise<Response>;
18
+ export declare class Fake implements SpanExporter {
19
+ constructor();
20
+ export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): void;
21
+ shutdown(): Promise<void>;
22
+ forceFlush(): Promise<void>;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=supervisor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../../src/src/internal/supervisor.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAA6D,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAO3E,eAAO,MAAM,OAAO,SAEjB,CAAA;AAyBH,KAAK,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,CAAC,CAAC;AAC5E,KAAK,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjC,KAAK,cAAc,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAA;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBxE;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB/D;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAoC5H;AAyBD,qBAAa,IAAK,YAAW,YAAY;;IAOrC,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI;IAmBnF,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2025 Versori Group Inc
4
+ *
5
+ * Use of this software is governed by the Business Source License 1.1
6
+ * included in the LICENSE file at the root of this repository.
7
+ *
8
+ * Change Date: 2029-01-01
9
+ * Change License: Apache License, Version 2.0
10
+ *
11
+ * As of the Change Date, in accordance with the Business Source License,
12
+ * use of this software will be governed by the Apache License, Version 2.0.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.Fake = exports.enabled = void 0;
16
+ exports.registerWebhooks = registerWebhooks;
17
+ exports.registerCrons = registerCrons;
18
+ exports.mockAPIRequest = mockAPIRequest;
19
+ const core_1 = require("@opentelemetry/core");
20
+ const ConsoleLogger_js_1 = require("../observability/logging/ConsoleLogger.js");
21
+ const supervisorURL = function () {
22
+ return Deno.env.get('RUN_SUPERVISOR_URL') || '';
23
+ }();
24
+ exports.enabled = function () {
25
+ return Deno.env.get('RUN_SUPERVISOR_URL') ? true : false;
26
+ }();
27
+ const flows = function () {
28
+ try {
29
+ const _cwd = Deno.cwd();
30
+ const flowsFile = Deno.readTextFileSync(_cwd + '/versori-flow.json');
31
+ const flows = JSON.parse(flowsFile);
32
+ const nodes = {};
33
+ for (const node of flows.nodes) {
34
+ nodes[node.id] = {
35
+ description: node.data.description,
36
+ steps: node.data.steps,
37
+ };
38
+ }
39
+ return nodes;
40
+ }
41
+ catch (err) {
42
+ return {};
43
+ }
44
+ }();
45
+ const logger = new ConsoleLogger_js_1.ConsoleLogger('debug');
46
+ async function registerWebhooks(webhooks) {
47
+ if (!exports.enabled) {
48
+ return;
49
+ }
50
+ try {
51
+ await fetch(`${supervisorURL}/register-webhooks`, {
52
+ method: "POST",
53
+ body: JSON.stringify(Object.fromEntries(webhooks)),
54
+ headers: {
55
+ "Content-Type": "application/json",
56
+ },
57
+ });
58
+ }
59
+ catch (err) {
60
+ logger.error('Failed to register webhooks with supervisor', { error: err });
61
+ }
62
+ }
63
+ async function registerCrons(crons) {
64
+ if (!exports.enabled) {
65
+ return;
66
+ }
67
+ try {
68
+ await fetch(`${supervisorURL}/register-schedulers`, {
69
+ method: "POST",
70
+ body: JSON.stringify(Object.fromEntries(crons)),
71
+ headers: {
72
+ "Content-Type": "application/json",
73
+ },
74
+ });
75
+ }
76
+ catch (err) {
77
+ logger.error('Failed to register crons with supervisor', { error: err });
78
+ }
79
+ }
80
+ async function mockAPIRequest(info, cnx, options) {
81
+ if (!exports.enabled) {
82
+ return new Response();
83
+ }
84
+ const mockRequest = {
85
+ url: info.toString(),
86
+ payload: options?.body || '',
87
+ method: options?.method || "GET",
88
+ headers: options?.headers,
89
+ connection: cnx?.name,
90
+ connectionId: cnx?.id,
91
+ };
92
+ try {
93
+ const response = await fetch(`${supervisorURL}/ai/fake-fetch-call`, {
94
+ method: "POST",
95
+ body: JSON.stringify(mockRequest),
96
+ headers: {
97
+ "Content-Type": "application/json",
98
+ },
99
+ });
100
+ if (!response.ok) {
101
+ logger.error('Failed to mock api request', { response });
102
+ return new Response();
103
+ }
104
+ const text = await response.text();
105
+ return new Response(text);
106
+ }
107
+ catch (err) {
108
+ logger.error('Failed to mock api request', { error: err });
109
+ return new Response();
110
+ }
111
+ }
112
+ function printableSpan(s) {
113
+ let span = {
114
+ name: s.name,
115
+ startTime: (0, core_1.hrTimeToTimeStamp)(s.startTime),
116
+ endTime: (0, core_1.hrTimeToTimeStamp)(s.endTime),
117
+ duration: (0, core_1.hrTimeToMilliseconds)(s.duration),
118
+ attributes: s.attributes,
119
+ status: s.status,
120
+ ended: s.ended,
121
+ events: s.events,
122
+ parentSpanContext: s.parentSpanContext,
123
+ spanContext: s.spanContext(),
124
+ };
125
+ const nodeDetail = flows[span.attributes['task.id']]; // I know I have coded all of those as string
126
+ if (nodeDetail) {
127
+ span.attributes['description'] = nodeDetail.description;
128
+ span.attributes['steps'] = nodeDetail.steps;
129
+ }
130
+ return span;
131
+ }
132
+ class Fake {
133
+ constructor() {
134
+ this.export = this.export.bind(this);
135
+ this.shutdown = this.shutdown.bind(this);
136
+ this.forceFlush = this.forceFlush.bind(this);
137
+ }
138
+ export(spans, resultCallback) {
139
+ const ss = spans.map(printableSpan);
140
+ try {
141
+ fetch(`${supervisorURL}/receive-spans`, {
142
+ method: "POST",
143
+ body: JSON.stringify({ spans: ss }),
144
+ headers: {
145
+ "Content-Type": "application/json",
146
+ },
147
+ }).catch((err) => {
148
+ logger.error('Failed to send spans to supervisor', { error: err });
149
+ });
150
+ }
151
+ catch (err) {
152
+ logger.error('Failed to send spans to supervisor', { error: err });
153
+ }
154
+ resultCallback({ code: core_1.ExportResultCode.SUCCESS });
155
+ }
156
+ shutdown() {
157
+ return Promise.resolve();
158
+ }
159
+ forceFlush() {
160
+ return Promise.resolve();
161
+ }
162
+ }
163
+ exports.Fake = Fake;
@@ -45,6 +45,11 @@ type Registration = {
45
45
  sigintListener: () => void;
46
46
  subscription?: Subscription;
47
47
  };
48
+ type WebhookRegistry = Map<string, {
49
+ method: string;
50
+ path: string;
51
+ options: any;
52
+ }>;
48
53
  /**
49
54
  * DurableInterpreter is an interpreter for executing Versori workflows with support for durable, queue-based workflow
50
55
  * execution. It supports all trigger types including the {@link workflow} trigger which allows workflows to be started
@@ -75,7 +80,8 @@ export declare class DurableInterpreter {
75
80
  private readonly contextProvider;
76
81
  private readonly webhookRouter;
77
82
  private readonly cronRouter;
78
- private readonly cronRegistry;
83
+ private cronRegistry;
84
+ private webhookRegistry;
79
85
  private readonly platformApi;
80
86
  private readonly cnxFetchFactory;
81
87
  private readonly cronProvider;
@@ -89,7 +95,7 @@ export declare class DurableInterpreter {
89
95
  private cronServer?;
90
96
  private shutdownServer?;
91
97
  private isShuttingDown;
92
- constructor(log: Logger, compiler: ObservableCompiler, contextProvider: ContextProvider, webhookRouter: Router, cronRouter: Router, cronRegistry: Map<string, string>, platformApi: PlatformApi, cnxFetchFactory: DirectConnectionFactory, cronProvider: CronProvider, tracer: Tracer, issue: IssueAPI, cfgReader: ConfigReader, queueProvider: QueueAPI, otelSDK?: NodeSDK | undefined);
98
+ constructor(log: Logger, compiler: ObservableCompiler, contextProvider: ContextProvider, webhookRouter: Router, cronRouter: Router, cronRegistry: Map<string, string>, webhookRegistry: WebhookRegistry, platformApi: PlatformApi, cnxFetchFactory: DirectConnectionFactory, cronProvider: CronProvider, tracer: Tracer, issue: IssueAPI, cfgReader: ConfigReader, queueProvider: QueueAPI, otelSDK?: NodeSDK | undefined);
93
99
  static newInstance(options?: DurableInterpreterOptions): Promise<DurableInterpreter>;
94
100
  register<O>(workflow: Workflow<O>, options?: DurableInterpreterOptions): Registration;
95
101
  start(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"DurableInterpreter.d.ts","sourceRoot":"","sources":["../../../../src/src/interpreter/durable/DurableInterpreter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DurableInterpreter.d.ts","sourceRoot":"","sources":["../../../../src/src/interpreter/durable/DurableInterpreter.ts"],"names":[],"mappings":"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"}