@versori/run 0.2.8 → 0.2.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.
- package/esm/src/context/Context.d.ts +4 -4
- package/esm/src/context/Context.d.ts.map +1 -1
- package/esm/src/context/ContextProvider.d.ts +3 -3
- package/esm/src/context/ContextProvider.d.ts.map +1 -1
- package/esm/src/dsl/http/default.d.ts +4 -4
- package/esm/src/dsl/http/default.d.ts.map +1 -1
- package/esm/src/dsl/http/default.js +3 -3
- package/esm/src/dsl/http/types.d.ts +8 -2
- package/esm/src/dsl/http/types.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/configloader.d.ts +10 -1
- package/esm/src/dsl/http/versori/configloader.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/configloader.js +37 -0
- package/esm/src/dsl/http/versori/constants.d.ts +1 -0
- package/esm/src/dsl/http/versori/constants.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/constants.js +2 -0
- package/esm/src/dsl/http/versori/contextcredentials.d.ts +0 -4
- package/esm/src/dsl/http/versori/contextcredentials.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/cronapi.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/cronapi.js +2 -2
- package/esm/src/dsl/http/versori/proxyroundtripper.d.ts +5 -7
- package/esm/src/dsl/http/versori/proxyroundtripper.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/proxyroundtripper.js +10 -24
- package/esm/src/dsl/http/versori/roundtripper.d.ts +6 -7
- package/esm/src/dsl/http/versori/roundtripper.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/roundtripper.js +32 -28
- package/esm/src/dsl/http/versori/webhookmiddleware.d.ts +16 -0
- package/esm/src/dsl/http/versori/webhookmiddleware.d.ts.map +1 -0
- package/esm/src/dsl/http/versori/webhookmiddleware.js +197 -0
- package/esm/src/dsl/tasks/HttpTask.d.ts +3 -3
- package/esm/src/dsl/tasks/HttpTask.d.ts.map +1 -1
- package/esm/src/dsl/tasks/HttpTask.js +1 -1
- package/esm/src/dsl/triggers/WebhookTrigger.d.ts +1 -0
- package/esm/src/dsl/triggers/WebhookTrigger.d.ts.map +1 -1
- package/esm/src/interpreter/memory/MemoryInterpreter.d.ts +7 -4
- package/esm/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
- package/esm/src/interpreter/memory/MemoryInterpreter.js +70 -20
- package/esm/src/interpreter/memory/ObservableCompiler.d.ts +4 -2
- package/esm/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/schedule.js +2 -2
- package/esm/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/webhook.js +38 -12
- package/esm/src/observability/logging/ConsoleLogger.d.ts +1 -0
- package/esm/src/observability/logging/ConsoleLogger.d.ts.map +1 -1
- package/esm/src/observability/logging/ConsoleLogger.js +7 -0
- package/esm/src/observability/logging/Logger.d.ts +2 -1
- package/esm/src/observability/logging/Logger.d.ts.map +1 -1
- package/package.json +1 -1
- package/script/src/context/Context.d.ts +4 -4
- package/script/src/context/Context.d.ts.map +1 -1
- package/script/src/context/ContextProvider.d.ts +3 -3
- package/script/src/context/ContextProvider.d.ts.map +1 -1
- package/script/src/dsl/http/default.d.ts +4 -4
- package/script/src/dsl/http/default.d.ts.map +1 -1
- package/script/src/dsl/http/default.js +3 -3
- package/script/src/dsl/http/types.d.ts +8 -2
- package/script/src/dsl/http/types.d.ts.map +1 -1
- package/script/src/dsl/http/versori/configloader.d.ts +10 -1
- package/script/src/dsl/http/versori/configloader.d.ts.map +1 -1
- package/script/src/dsl/http/versori/configloader.js +39 -0
- package/script/src/dsl/http/versori/constants.d.ts +1 -0
- package/script/src/dsl/http/versori/constants.d.ts.map +1 -1
- package/script/src/dsl/http/versori/constants.js +3 -1
- package/script/src/dsl/http/versori/contextcredentials.d.ts +0 -4
- package/script/src/dsl/http/versori/contextcredentials.d.ts.map +1 -1
- package/script/src/dsl/http/versori/cronapi.d.ts.map +1 -1
- package/script/src/dsl/http/versori/cronapi.js +1 -1
- package/script/src/dsl/http/versori/proxyroundtripper.d.ts +5 -7
- package/script/src/dsl/http/versori/proxyroundtripper.d.ts.map +1 -1
- package/script/src/dsl/http/versori/proxyroundtripper.js +9 -23
- package/script/src/dsl/http/versori/roundtripper.d.ts +6 -7
- package/script/src/dsl/http/versori/roundtripper.d.ts.map +1 -1
- package/script/src/dsl/http/versori/roundtripper.js +31 -27
- package/script/src/dsl/http/versori/webhookmiddleware.d.ts +16 -0
- package/script/src/dsl/http/versori/webhookmiddleware.d.ts.map +1 -0
- package/script/src/dsl/http/versori/webhookmiddleware.js +202 -0
- package/script/src/dsl/tasks/HttpTask.d.ts +3 -3
- package/script/src/dsl/tasks/HttpTask.d.ts.map +1 -1
- package/script/src/dsl/tasks/HttpTask.js +1 -1
- package/script/src/dsl/triggers/WebhookTrigger.d.ts +1 -0
- package/script/src/dsl/triggers/WebhookTrigger.d.ts.map +1 -1
- package/script/src/interpreter/memory/MemoryInterpreter.d.ts +7 -4
- package/script/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
- package/script/src/interpreter/memory/MemoryInterpreter.js +70 -20
- package/script/src/interpreter/memory/ObservableCompiler.d.ts +4 -2
- package/script/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/schedule.js +2 -2
- package/script/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/webhook.js +38 -12
- package/script/src/observability/logging/ConsoleLogger.d.ts +1 -0
- package/script/src/observability/logging/ConsoleLogger.d.ts.map +1 -1
- package/script/src/observability/logging/ConsoleLogger.js +7 -0
- package/script/src/observability/logging/Logger.d.ts +2 -1
- package/script/src/observability/logging/Logger.d.ts.map +1 -1
|
@@ -8,6 +8,7 @@ const cors_1 = __importDefault(require("cors"));
|
|
|
8
8
|
const promises_1 = require("node:stream/promises");
|
|
9
9
|
const rxjs_1 = require("rxjs");
|
|
10
10
|
const WebhookTrigger_js_1 = require("../../../dsl/triggers/WebhookTrigger.js");
|
|
11
|
+
const webhookmiddleware_js_1 = require("../../../dsl/http/versori/webhookmiddleware.js");
|
|
11
12
|
const DEFAULT_SYNC_ON_SUCCESS = (ctx) => new Response(JSON.stringify(ctx.data), {
|
|
12
13
|
status: 200,
|
|
13
14
|
headers: {
|
|
@@ -72,28 +73,35 @@ exports.webhookCompiler = {
|
|
|
72
73
|
},
|
|
73
74
|
});
|
|
74
75
|
return new rxjs_1.Observable((subscriber) => {
|
|
75
|
-
if (!ctx.
|
|
76
|
+
if (!ctx.webhookRouter) {
|
|
76
77
|
throw new Error('Router not available in compiler context');
|
|
77
78
|
}
|
|
78
79
|
// add the webhook endpoint to the router
|
|
79
80
|
ctx.log.info('webhook endpoint added:', { trigger });
|
|
80
81
|
if (corsOptions) {
|
|
81
82
|
if (typeof corsOptions === 'boolean') {
|
|
82
|
-
ctx.
|
|
83
|
+
ctx.webhookRouter.use((0, cors_1.default)());
|
|
83
84
|
}
|
|
84
85
|
else {
|
|
85
|
-
ctx.
|
|
86
|
+
ctx.webhookRouter.use((0, cors_1.default)(corsOptions));
|
|
86
87
|
}
|
|
87
88
|
}
|
|
88
89
|
// endpoint for sans user because I'm not quite sure how the dynamic routing works
|
|
89
|
-
ctx.
|
|
90
|
+
ctx.webhookRouter.post(`/${trigger.id}`, (0, webhookmiddleware_js_1.createStaticWebhookMiddleware)({
|
|
91
|
+
id: trigger.id,
|
|
92
|
+
connName: trigger.options.connection,
|
|
93
|
+
credentials: ctx.roundTripperFactory.credentials(),
|
|
94
|
+
cnxProvider: ctx.connectionProvider,
|
|
95
|
+
cfgReader: ctx.configReader,
|
|
96
|
+
log: ctx.log,
|
|
97
|
+
}), async (req, res) => {
|
|
90
98
|
await ctx.tracer.startActiveSpan(`webhook-${trigger.id}`, async (span) => {
|
|
91
99
|
span.setAttribute('task.id', trigger.id);
|
|
92
100
|
span.setAttribute('task.type', 'webhook');
|
|
93
101
|
let executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(res));
|
|
94
|
-
const
|
|
95
|
-
if (
|
|
96
|
-
executionCtx = executionCtx.withActivation(
|
|
102
|
+
const staticActivation = res.locals.activation;
|
|
103
|
+
if (staticActivation) {
|
|
104
|
+
executionCtx = executionCtx.withActivation(staticActivation);
|
|
97
105
|
}
|
|
98
106
|
span.setAttribute('execution.id', executionCtx.executionId);
|
|
99
107
|
try {
|
|
@@ -116,13 +124,24 @@ exports.webhookCompiler = {
|
|
|
116
124
|
});
|
|
117
125
|
});
|
|
118
126
|
// this endpoint will trigger the workflow for each activation given by the external user ID
|
|
119
|
-
ctx.
|
|
127
|
+
ctx.webhookRouter.post(`/${trigger.id}/users/:userId`, (0, webhookmiddleware_js_1.createUserIdDynamicWebhookMiddleware)({
|
|
128
|
+
id: trigger.id,
|
|
129
|
+
connName: trigger.options.connection,
|
|
130
|
+
credentials: ctx.roundTripperFactory.credentials(),
|
|
131
|
+
cnxProvider: ctx.connectionProvider,
|
|
132
|
+
cfgReader: ctx.configReader,
|
|
133
|
+
log: ctx.log,
|
|
134
|
+
}), async (req, res) => {
|
|
120
135
|
await ctx.tracer.startActiveSpan(`webhook-${trigger.id}`, async (span) => {
|
|
121
136
|
span.setAttribute('task.id', trigger.id);
|
|
122
137
|
span.setAttribute('task.type', 'webhook');
|
|
123
138
|
span.setAttribute('user.id', req.params.userId);
|
|
124
139
|
const userId = req.params.userId;
|
|
125
|
-
const
|
|
140
|
+
const activation = res.locals.activation;
|
|
141
|
+
const activations = [activation];
|
|
142
|
+
// Right now we only support a user having one activation
|
|
143
|
+
// so this will need changing when we support multiple activations per user
|
|
144
|
+
// as will the middleware
|
|
126
145
|
if (!activations || activations.length === 0) {
|
|
127
146
|
res.status(404).json({
|
|
128
147
|
status: 'error',
|
|
@@ -163,13 +182,20 @@ exports.webhookCompiler = {
|
|
|
163
182
|
});
|
|
164
183
|
});
|
|
165
184
|
// this endpoint will trigger the workflow only for the activation given by its ID
|
|
166
|
-
ctx.
|
|
185
|
+
ctx.webhookRouter.post(`/${trigger.id}/activations/:activationId`, (0, webhookmiddleware_js_1.createActIdDynamicWebhookMiddleware)({
|
|
186
|
+
id: trigger.id,
|
|
187
|
+
connName: trigger.options.connection,
|
|
188
|
+
credentials: ctx.roundTripperFactory.credentials(),
|
|
189
|
+
cnxProvider: ctx.connectionProvider,
|
|
190
|
+
cfgReader: ctx.configReader,
|
|
191
|
+
log: ctx.log,
|
|
192
|
+
}), async (req, res) => {
|
|
167
193
|
await ctx.tracer.startActiveSpan(`webhook-${trigger.id}`, async (span) => {
|
|
168
194
|
span.setAttribute('task.id', trigger.id);
|
|
169
195
|
span.setAttribute('task.type', 'webhook');
|
|
170
196
|
span.setAttribute('activation.id', req.params.activationId);
|
|
171
|
-
const
|
|
172
|
-
const
|
|
197
|
+
const activation = res.locals.activation;
|
|
198
|
+
const activationId = activation.id || req.params.activationId;
|
|
173
199
|
if (!activation) {
|
|
174
200
|
// TODO report back actual errors
|
|
175
201
|
res.status(404).json({
|
|
@@ -9,6 +9,7 @@ export declare class ConsoleLogger implements Logger {
|
|
|
9
9
|
fields: Record<string, unknown>;
|
|
10
10
|
constructor(level: LogLevel, fields?: Record<string, unknown>);
|
|
11
11
|
debug(message: string, fields?: Record<string, unknown>): void;
|
|
12
|
+
warn(message: string, fields?: Record<string, unknown>): void;
|
|
12
13
|
info(message: string, fields?: Record<string, unknown>): void;
|
|
13
14
|
error(message: string, err?: Error, fields?: Record<string, unknown>): void;
|
|
14
15
|
error(message: string, fields?: Record<string, unknown>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsoleLogger.d.ts","sourceRoot":"","sources":["../../../../src/src/observability/logging/ConsoleLogger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,+CAA+C,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ConsoleLogger.d.ts","sourceRoot":"","sources":["../../../../src/src/observability/logging/ConsoleLogger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,+CAA+C,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAqM/C;;GAEG;AACH,qBAAa,aAAc,YAAW,MAAM;IACxC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;IAEhB,KAAK,EAAE,QAAQ,CAAC;IAEhB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEpB,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAOjE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAO9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAO7D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAO7D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAC3E,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAsB9D,KAAK,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,aAAa;IAOvD,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;CAGlC"}
|
|
@@ -181,6 +181,7 @@ log.setup({
|
|
|
181
181
|
});
|
|
182
182
|
const levelMap = {
|
|
183
183
|
debug: log.getLevelByName('DEBUG'),
|
|
184
|
+
warn: log.getLevelByName('WARN'),
|
|
184
185
|
info: log.getLevelByName('INFO'),
|
|
185
186
|
error: log.getLevelByName('ERROR'),
|
|
186
187
|
};
|
|
@@ -218,6 +219,12 @@ class ConsoleLogger {
|
|
|
218
219
|
...fields,
|
|
219
220
|
});
|
|
220
221
|
}
|
|
222
|
+
warn(message, fields) {
|
|
223
|
+
this.log.warn(message, {
|
|
224
|
+
...this.fields,
|
|
225
|
+
...fields,
|
|
226
|
+
});
|
|
227
|
+
}
|
|
221
228
|
info(message, fields) {
|
|
222
229
|
this.log.info(message, {
|
|
223
230
|
...this.fields,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export type LogLevel = 'debug' | 'info' | 'error';
|
|
1
|
+
export type LogLevel = 'debug' | 'warn' | 'info' | 'error';
|
|
2
2
|
export interface Logger {
|
|
3
3
|
level: LogLevel;
|
|
4
4
|
debug(message: string, fields?: Record<string, unknown>): void;
|
|
5
|
+
warn(message: string, fields?: Record<string, unknown>): void;
|
|
5
6
|
info(message: string, fields?: Record<string, unknown>): void;
|
|
6
7
|
error(message: string, fields?: Record<string, unknown>): void;
|
|
7
8
|
child(fields: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../../../src/src/observability/logging/Logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../../../src/src/observability/logging/Logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,MAAM;IACnB,KAAK,EAAE,QAAQ,CAAC;IAEhB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE9D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE/D,KAAK,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IAEjD,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;CACnC"}
|