@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.
- package/esm/src/connection/DirectConnectionFactory.d.ts +3 -5
- package/esm/src/connection/DirectConnectionFactory.d.ts.map +1 -1
- package/esm/src/connection/DirectConnectionFactory.js +0 -5
- package/esm/src/connection/internal/CredentialHolder.d.ts.map +1 -1
- package/esm/src/connection/internal/CredentialHolder.js +1 -1
- package/esm/src/connection/internal/FetchBuilder.d.ts +9 -2
- package/esm/src/connection/internal/FetchBuilder.d.ts.map +1 -1
- package/esm/src/connection/internal/FetchBuilder.js +120 -4
- package/esm/src/connection/internal/OutboundConnectionFactory.d.ts.map +1 -1
- package/esm/src/connection/internal/OutboundConnectionFactory.js +2 -2
- package/esm/src/context/Context.d.ts +1 -0
- package/esm/src/context/Context.d.ts.map +1 -1
- package/esm/src/context/Context.js +3 -0
- package/esm/src/context/ContextProvider.d.ts +1 -1
- package/esm/src/context/ContextProvider.d.ts.map +1 -1
- package/esm/src/context/ContextProvider.js +1 -1
- package/esm/src/dsl/Workflow.d.ts.map +1 -1
- package/esm/src/dsl/Workflow.js +2 -0
- package/esm/src/dsl/http/types.d.ts +2 -0
- package/esm/src/dsl/http/types.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/configloader.js +1 -1
- package/esm/src/dsl/http/versori/cronapi.d.ts +2 -3
- package/esm/src/dsl/http/versori/cronapi.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/cronapi.js +14 -15
- package/esm/src/dsl/http/versori/kvapi/core/OpenAPI.js +1 -1
- package/esm/src/dsl/http/versori/webhookmiddleware.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/webhookmiddleware.js +69 -38
- package/esm/src/dsl/triggers/WebhookTrigger.d.ts.map +1 -1
- package/esm/src/dsl/triggers/WebhookTrigger.js +3 -1
- package/esm/src/internal/InternalAuth.d.ts +0 -1
- package/esm/src/internal/InternalAuth.d.ts.map +1 -1
- package/esm/src/internal/InternalAuth.js +1 -14
- package/esm/src/internal/constants.d.ts +3 -1
- package/esm/src/internal/constants.d.ts.map +1 -1
- package/esm/src/internal/constants.js +4 -1
- package/esm/src/internal/supervisor.d.ts +25 -0
- package/esm/src/internal/supervisor.d.ts.map +1 -0
- package/esm/src/internal/supervisor.js +156 -0
- package/esm/src/interpreter/durable/DurableInterpreter.d.ts +8 -2
- package/esm/src/interpreter/durable/DurableInterpreter.d.ts.map +1 -1
- package/esm/src/interpreter/durable/DurableInterpreter.js +80 -15
- package/esm/src/interpreter/durable/ObservableCompiler.d.ts +6 -1
- package/esm/src/interpreter/durable/ObservableCompiler.d.ts.map +1 -1
- package/esm/src/interpreter/durable/Queue.js +1 -1
- package/esm/src/interpreter/durable/compilers/catch.d.ts.map +1 -1
- package/esm/src/interpreter/durable/compilers/catch.js +1 -0
- package/esm/src/interpreter/durable/compilers/fn.d.ts.map +1 -1
- package/esm/src/interpreter/durable/compilers/fn.js +19 -4
- package/esm/src/interpreter/durable/compilers/http.d.ts.map +1 -1
- package/esm/src/interpreter/durable/compilers/http.js +40 -7
- package/esm/src/interpreter/durable/compilers/schedule.d.ts.map +1 -1
- package/esm/src/interpreter/durable/compilers/schedule.js +2 -1
- package/esm/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
- package/esm/src/interpreter/durable/compilers/webhook.js +14 -4
- package/esm/src/interpreter/memory/MemoryInterpreter.d.ts +7 -1
- package/esm/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
- package/esm/src/interpreter/memory/MemoryInterpreter.js +79 -14
- package/esm/src/interpreter/memory/ObservableCompiler.d.ts +6 -1
- package/esm/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/catch.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/catch.js +1 -0
- package/esm/src/interpreter/memory/compilers/fn.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/fn.js +19 -16
- package/esm/src/interpreter/memory/compilers/http.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/http.js +39 -6
- package/esm/src/interpreter/memory/compilers/schedule.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/schedule.js +2 -1
- package/esm/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/webhook.js +15 -4
- package/esm/src/issues/Issues.js +1 -1
- package/esm/src/kv/nats/NatsKeyValueProvider.d.ts.map +1 -1
- package/esm/src/kv/nats/NatsKeyValueProvider.js +2 -2
- package/esm/src/kv/sdk/SDKKeyValueProvider.d.ts.map +1 -1
- package/esm/src/kv/sdk/SDKKeyValueProvider.js +3 -3
- package/esm/src/observability/logging/ConsoleLogger.d.ts.map +1 -1
- package/package.json +3 -1
- package/script/src/connection/DirectConnectionFactory.d.ts +3 -5
- package/script/src/connection/DirectConnectionFactory.d.ts.map +1 -1
- package/script/src/connection/DirectConnectionFactory.js +0 -5
- package/script/src/connection/internal/CredentialHolder.d.ts.map +1 -1
- package/script/src/connection/internal/CredentialHolder.js +1 -1
- package/script/src/connection/internal/FetchBuilder.d.ts +9 -2
- package/script/src/connection/internal/FetchBuilder.d.ts.map +1 -1
- package/script/src/connection/internal/FetchBuilder.js +143 -4
- package/script/src/connection/internal/OutboundConnectionFactory.d.ts.map +1 -1
- package/script/src/connection/internal/OutboundConnectionFactory.js +2 -2
- package/script/src/context/Context.d.ts +1 -0
- package/script/src/context/Context.d.ts.map +1 -1
- package/script/src/context/Context.js +3 -0
- package/script/src/context/ContextProvider.d.ts +1 -1
- package/script/src/context/ContextProvider.d.ts.map +1 -1
- package/script/src/context/ContextProvider.js +1 -1
- package/script/src/dsl/Workflow.d.ts.map +1 -1
- package/script/src/dsl/Workflow.js +2 -0
- package/script/src/dsl/http/types.d.ts +2 -0
- package/script/src/dsl/http/types.d.ts.map +1 -1
- package/script/src/dsl/http/versori/configloader.js +1 -1
- package/script/src/dsl/http/versori/cronapi.d.ts +2 -3
- package/script/src/dsl/http/versori/cronapi.d.ts.map +1 -1
- package/script/src/dsl/http/versori/cronapi.js +14 -15
- package/script/src/dsl/http/versori/kvapi/core/OpenAPI.js +1 -1
- package/script/src/dsl/http/versori/webhookmiddleware.d.ts.map +1 -1
- package/script/src/dsl/http/versori/webhookmiddleware.js +69 -38
- package/script/src/dsl/triggers/WebhookTrigger.d.ts.map +1 -1
- package/script/src/dsl/triggers/WebhookTrigger.js +3 -1
- package/script/src/internal/InternalAuth.d.ts +0 -1
- package/script/src/internal/InternalAuth.d.ts.map +1 -1
- package/script/src/internal/InternalAuth.js +0 -13
- package/script/src/internal/constants.d.ts +3 -1
- package/script/src/internal/constants.d.ts.map +1 -1
- package/script/src/internal/constants.js +5 -2
- package/script/src/internal/supervisor.d.ts +25 -0
- package/script/src/internal/supervisor.d.ts.map +1 -0
- package/script/src/internal/supervisor.js +163 -0
- package/script/src/interpreter/durable/DurableInterpreter.d.ts +8 -2
- package/script/src/interpreter/durable/DurableInterpreter.d.ts.map +1 -1
- package/script/src/interpreter/durable/DurableInterpreter.js +85 -20
- package/script/src/interpreter/durable/ObservableCompiler.d.ts +6 -1
- package/script/src/interpreter/durable/ObservableCompiler.d.ts.map +1 -1
- package/script/src/interpreter/durable/Queue.js +1 -1
- package/script/src/interpreter/durable/compilers/catch.d.ts.map +1 -1
- package/script/src/interpreter/durable/compilers/catch.js +1 -0
- package/script/src/interpreter/durable/compilers/fn.d.ts.map +1 -1
- package/script/src/interpreter/durable/compilers/fn.js +19 -4
- package/script/src/interpreter/durable/compilers/http.d.ts.map +1 -1
- package/script/src/interpreter/durable/compilers/http.js +40 -7
- package/script/src/interpreter/durable/compilers/schedule.d.ts.map +1 -1
- package/script/src/interpreter/durable/compilers/schedule.js +2 -1
- package/script/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
- package/script/src/interpreter/durable/compilers/webhook.js +14 -4
- package/script/src/interpreter/memory/MemoryInterpreter.d.ts +7 -1
- package/script/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
- package/script/src/interpreter/memory/MemoryInterpreter.js +78 -13
- package/script/src/interpreter/memory/ObservableCompiler.d.ts +6 -1
- package/script/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/catch.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/catch.js +1 -0
- package/script/src/interpreter/memory/compilers/fn.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/fn.js +19 -16
- package/script/src/interpreter/memory/compilers/http.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/http.js +39 -6
- package/script/src/interpreter/memory/compilers/schedule.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/schedule.js +2 -1
- package/script/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/webhook.js +15 -4
- package/script/src/issues/Issues.js +1 -1
- package/script/src/kv/nats/NatsKeyValueProvider.d.ts.map +1 -1
- package/script/src/kv/nats/NatsKeyValueProvider.js +2 -2
- package/script/src/kv/sdk/SDKKeyValueProvider.d.ts.map +1 -1
- package/script/src/kv/sdk/SDKKeyValueProvider.js +3 -3
- package/script/src/observability/logging/ConsoleLogger.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_common64.d.ts +0 -35
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_common64.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_common64.js +0 -113
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts +0 -4
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.js +0 -13
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts +0 -9
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.js +0 -2
- package/esm/deps/jsr.io/@std/encoding/1.0.10/base64.d.ts +0 -40
- package/esm/deps/jsr.io/@std/encoding/1.0.10/base64.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.10/base64.js +0 -82
- package/esm/src/connection/CredentialsProvider.d.ts +0 -17
- package/esm/src/connection/CredentialsProvider.d.ts.map +0 -1
- package/esm/src/connection/CredentialsProvider.js +0 -63
- package/esm/src/credentials/CredentialsProvider.d.ts +0 -49
- package/esm/src/credentials/CredentialsProvider.d.ts.map +0 -1
- package/esm/src/credentials/CredentialsProvider.js +0 -102
- package/esm/src/dsl/http/versori/constants.d.ts +0 -20
- package/esm/src/dsl/http/versori/constants.d.ts.map +0 -1
- package/esm/src/dsl/http/versori/constants.js +0 -37
- package/esm/src/internal/cli.d.ts +0 -2
- package/esm/src/internal/cli.d.ts.map +0 -1
- package/esm/src/internal/cli.js +0 -32
- package/script/deps/jsr.io/@std/encoding/1.0.10/_common64.d.ts +0 -35
- package/script/deps/jsr.io/@std/encoding/1.0.10/_common64.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.10/_common64.js +0 -119
- package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts +0 -4
- package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.js +0 -16
- package/script/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts +0 -9
- package/script/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.10/_types.js +0 -3
- package/script/deps/jsr.io/@std/encoding/1.0.10/base64.d.ts +0 -40
- package/script/deps/jsr.io/@std/encoding/1.0.10/base64.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.10/base64.js +0 -86
- package/script/src/connection/CredentialsProvider.d.ts +0 -17
- package/script/src/connection/CredentialsProvider.d.ts.map +0 -1
- package/script/src/connection/CredentialsProvider.js +0 -67
- package/script/src/credentials/CredentialsProvider.d.ts +0 -49
- package/script/src/credentials/CredentialsProvider.d.ts.map +0 -1
- package/script/src/credentials/CredentialsProvider.js +0 -106
- package/script/src/dsl/http/versori/constants.d.ts +0 -20
- package/script/src/dsl/http/versori/constants.d.ts.map +0 -1
- package/script/src/dsl/http/versori/constants.js +0 -40
- package/script/src/internal/cli.d.ts +0 -2
- package/script/src/internal/cli.d.ts.map +0 -1
- 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
|
|
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
|
|
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
|
|
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;
|
|
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
|
-
|
|
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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalAuth.d.ts","sourceRoot":"","sources":["../../../src/src/internal/InternalAuth.ts"],"names":[],"mappings":"
|
|
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;
|
|
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.
|
|
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
|
-
|
|
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
|
|
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":"
|
|
1
|
+
{"version":3,"file":"DurableInterpreter.d.ts","sourceRoot":"","sources":["../../../../src/src/interpreter/durable/DurableInterpreter.ts"],"names":[],"mappings":"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"}
|