@versori/run 0.2.18 → 0.2.20
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 -0
- package/esm/src/context/Context.d.ts.map +1 -1
- package/esm/src/context/Context.js +3 -0
- package/esm/src/dsl/http/versori/roundtripper.d.ts +6 -1
- package/esm/src/dsl/http/versori/roundtripper.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/roundtripper.js +81 -38
- package/esm/src/dsl/tasks/HttpTask.d.ts +2 -0
- package/esm/src/dsl/tasks/HttpTask.d.ts.map +1 -1
- package/esm/src/dsl/tasks/HttpTask.js +3 -0
- package/esm/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
- package/esm/src/interpreter/durable/compilers/webhook.js +6 -5
- package/esm/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/webhook.js +6 -5
- package/package.json +1 -1
- package/script/src/context/Context.d.ts +4 -0
- package/script/src/context/Context.d.ts.map +1 -1
- package/script/src/context/Context.js +3 -0
- package/script/src/dsl/http/versori/roundtripper.d.ts +6 -1
- package/script/src/dsl/http/versori/roundtripper.d.ts.map +1 -1
- package/script/src/dsl/http/versori/roundtripper.js +81 -38
- package/script/src/dsl/tasks/HttpTask.d.ts +2 -0
- package/script/src/dsl/tasks/HttpTask.d.ts.map +1 -1
- package/script/src/dsl/tasks/HttpTask.js +3 -0
- package/script/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
- package/script/src/interpreter/durable/compilers/webhook.js +6 -5
- package/script/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/webhook.js +6 -5
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type * as express from 'express';
|
|
1
2
|
import { Activation } from '../dsl/http/types.js';
|
|
2
3
|
import { CredentialsProvider } from '../dsl/http/versori/contextcredentials.js';
|
|
3
4
|
import { QueueAPI } from '../interpreter/durable/Queue.js';
|
|
@@ -10,6 +11,7 @@ export type OnErrorFn = (ctx: Context<any>) => void;
|
|
|
10
11
|
export type ContextOptions = {
|
|
11
12
|
activation?: Activation;
|
|
12
13
|
workflowId?: string;
|
|
14
|
+
request?: express.Request;
|
|
13
15
|
onSuccess?: OnSuccessFn;
|
|
14
16
|
onError?: OnErrorFn;
|
|
15
17
|
};
|
|
@@ -40,6 +42,7 @@ export interface Context<D> {
|
|
|
40
42
|
createIssue(issue: CreateIssue, options?: {
|
|
41
43
|
deduplicate?: boolean;
|
|
42
44
|
}): Promise<Issue | null>;
|
|
45
|
+
request(): express.Request | undefined;
|
|
43
46
|
}
|
|
44
47
|
export declare class ContextImpl<D, Index = void> implements Context<D> {
|
|
45
48
|
#private;
|
|
@@ -58,6 +61,7 @@ export declare class ContextImpl<D, Index = void> implements Context<D> {
|
|
|
58
61
|
withActivation(activation: Activation): ContextImpl<D, Index>;
|
|
59
62
|
withData<D2>(data: D2): ContextImpl<D2, Index>;
|
|
60
63
|
openKv(scope?: KeyValueScope): KeyValue;
|
|
64
|
+
request(): express.Request | undefined;
|
|
61
65
|
start(group: string, opts: WorkflowOpts): Promise<AsyncWorkflow>;
|
|
62
66
|
createIssue(issue: CreateIssue, options?: {
|
|
63
67
|
deduplicate?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../src/src/context/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAKF,MAAM,MAAM,YAAY,GAAG;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,WAAW,OAAO,CAAC,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjB,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC;IAExC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE9E,WAAW,IAAI,mBAAmB,CAAC;IAEnC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../src/src/context/Context.ts"],"names":[],"mappings":"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"}
|
|
@@ -117,6 +117,9 @@ export class ContextImpl {
|
|
|
117
117
|
activationId: this.activation?.id,
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
|
+
request() {
|
|
121
|
+
return this.options.request;
|
|
122
|
+
}
|
|
120
123
|
async start(group, opts) {
|
|
121
124
|
// this makes a post request to the endpoint sending a message and schedule the workflow to run
|
|
122
125
|
if (!this.queue) {
|
|
@@ -4,6 +4,9 @@ import { BaseUrlFetcher, ConfigReader, DynamicFetcher, RoundTripperFactory } fro
|
|
|
4
4
|
import { CredentialsProvider, Token } from './contextcredentials.js';
|
|
5
5
|
import { VersoriCredentialClient } from './credentials/mod.js';
|
|
6
6
|
import { PlatformAPIClient } from './platformapi.js';
|
|
7
|
+
type denoFetch = (input: RequestInfo | URL, init?: RequestInit & {
|
|
8
|
+
client?: Deno.HttpClient;
|
|
9
|
+
}) => Promise<Response>;
|
|
7
10
|
/**
|
|
8
11
|
* VersoriRoundTripper is an implementation of the RoundTripperFactory interface for Versori connections.
|
|
9
12
|
* This is the intended implementation for when projects/services are hosted on Versori infrastructure.
|
|
@@ -27,7 +30,7 @@ export declare class VersoriCredentialsFactory implements RoundTripperFactory {
|
|
|
27
30
|
static fromEnv(logger: Logger, tracer: Tracer): VersoriCredentialsFactory;
|
|
28
31
|
private changeRequestInit;
|
|
29
32
|
private changeBaseUrl;
|
|
30
|
-
create(connName: string): Promise<
|
|
33
|
+
create(connName: string): Promise<denoFetch | undefined>;
|
|
31
34
|
createDynamic(templateName: string): Promise<DynamicFetcher | undefined>;
|
|
32
35
|
private traceFetch;
|
|
33
36
|
credentials(): CredentialsProvider;
|
|
@@ -39,7 +42,9 @@ export declare class VersoriCredentialsFactory implements RoundTripperFactory {
|
|
|
39
42
|
private basicAuthFetcher;
|
|
40
43
|
private bearerTokenFetcher;
|
|
41
44
|
private oauth2Fetcher;
|
|
45
|
+
private mtlsFetcher;
|
|
42
46
|
private getToken;
|
|
43
47
|
private getRaw;
|
|
44
48
|
}
|
|
49
|
+
export {};
|
|
45
50
|
//# sourceMappingURL=roundtripper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roundtripper.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/roundtripper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAElE,OAAO,EAEH,cAAc,EACd,YAAY,
|
|
1
|
+
{"version":3,"file":"roundtripper.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/roundtripper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAElE,OAAO,EAEH,cAAc,EACd,YAAY,EAGZ,cAAc,EACd,mBAAmB,EACtB,MAAM,aAAa,CAAC;AAQrB,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAM/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIrD,KAAK,SAAS,GAAG,CACb,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAA;CAAE,KAChD,OAAO,CAAC,QAAQ,CAAC,CAAC;AAIvB;;;;;;;;;;GAUG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACjE,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,OAAO,CAAC,SAAS,CAAe;IAEhC,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAK7B;gBAGE,WAAW,EAAE,uBAAuB,EACpC,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,YAAY;IAe3B,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,yBAAyB;IAoCzE,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,aAAa;IAwBrB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAkDxD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IA6DxE,OAAO,CAAC,UAAU;IAqClB,WAAW,IAAI,mBAAmB;IAOlC,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc;IAyC9C,cAAc,CAChB,IAAI,EAAE,MAAM,EACZ,YAAY,UAAQ,EACpB,YAAY,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,KAAK,CAAC;IAiBX,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAqB9D,uBAAuB;IAoDrC,OAAO,CAAC,aAAa;IAoDrB,OAAO,CAAC,gBAAgB;IAmCxB,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,aAAa;IAqErB,OAAO,CAAC,WAAW;YA6BL,QAAQ;YA2BR,MAAM;CA0BvB"}
|
|
@@ -151,18 +151,29 @@ export class VersoriCredentialsFactory {
|
|
|
151
151
|
return this.traceFetch(input, init);
|
|
152
152
|
}
|
|
153
153
|
const _input = this.changeRequestInit(input, conn);
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
154
|
+
let _fetch = this.traceFetch;
|
|
155
|
+
conn.credentials.forEach((cred) => {
|
|
156
|
+
switch (cred.authSchemeConfig.type) {
|
|
157
|
+
case 'api-key':
|
|
158
|
+
_fetch = this.apiKeyFetcher(cred, _fetch);
|
|
159
|
+
break;
|
|
160
|
+
case 'basic-auth':
|
|
161
|
+
_fetch = this.basicAuthFetcher(cred, _fetch);
|
|
162
|
+
break;
|
|
163
|
+
case 'jwt-bearer':
|
|
164
|
+
_fetch = this.bearerTokenFetcher(cred, _fetch);
|
|
165
|
+
break;
|
|
166
|
+
case 'oauth2':
|
|
167
|
+
_fetch = this.oauth2Fetcher(cred, _fetch);
|
|
168
|
+
break;
|
|
169
|
+
case 'certificate':
|
|
170
|
+
_fetch = this.mtlsFetcher(cred, _fetch);
|
|
171
|
+
break;
|
|
172
|
+
default:
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
return _fetch(_input, init);
|
|
166
177
|
};
|
|
167
178
|
return Promise.resolve(_fn);
|
|
168
179
|
}
|
|
@@ -184,18 +195,29 @@ export class VersoriCredentialsFactory {
|
|
|
184
195
|
})(activation, input, init);
|
|
185
196
|
}
|
|
186
197
|
const _input = this.changeRequestInit(input, conn);
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
198
|
+
let _fetch = this.traceFetch;
|
|
199
|
+
conn.credentials.forEach((cred) => {
|
|
200
|
+
switch (cred.authSchemeConfig.type) {
|
|
201
|
+
case 'api-key':
|
|
202
|
+
_fetch = this.apiKeyFetcher(cred, _fetch);
|
|
203
|
+
break;
|
|
204
|
+
case 'basic-auth':
|
|
205
|
+
_fetch = this.basicAuthFetcher(cred, _fetch);
|
|
206
|
+
break;
|
|
207
|
+
case 'jwt-bearer':
|
|
208
|
+
_fetch = this.bearerTokenFetcher(cred, _fetch);
|
|
209
|
+
break;
|
|
210
|
+
case 'oauth2':
|
|
211
|
+
_fetch = this.oauth2Fetcher(cred, _fetch);
|
|
212
|
+
break;
|
|
213
|
+
case 'certificate':
|
|
214
|
+
_fetch = this.mtlsFetcher(cred, _fetch);
|
|
215
|
+
break;
|
|
216
|
+
default:
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
return _fetch(_input, init);
|
|
199
221
|
};
|
|
200
222
|
return Promise.resolve(_fn);
|
|
201
223
|
}
|
|
@@ -283,7 +305,7 @@ export class VersoriCredentialsFactory {
|
|
|
283
305
|
if (!raw) {
|
|
284
306
|
throw new Error(`Raw data not found for connection ${name} with credential ID ${credId}`);
|
|
285
307
|
}
|
|
286
|
-
|
|
308
|
+
const buffer = raw?.credential?.data['raw'] ?? undefined;
|
|
287
309
|
if (!buffer) {
|
|
288
310
|
throw new Error(`Credential ${raw?.credential?.id} is missing raw data, please contact your administrator`);
|
|
289
311
|
}
|
|
@@ -322,11 +344,11 @@ export class VersoriCredentialsFactory {
|
|
|
322
344
|
}
|
|
323
345
|
return staticConn.credentials[0].credential.id;
|
|
324
346
|
}
|
|
325
|
-
apiKeyFetcher(
|
|
347
|
+
apiKeyFetcher(cred, fn) {
|
|
326
348
|
const _fn = async (input, init) => {
|
|
327
|
-
const tokenResponse = await this.getToken(
|
|
349
|
+
const tokenResponse = await this.getToken(cred.credential.id);
|
|
328
350
|
const token = tokenResponse.token?.accessToken;
|
|
329
|
-
const asc =
|
|
351
|
+
const asc = cred.authSchemeConfig.apiKey;
|
|
330
352
|
if (!token) {
|
|
331
353
|
throw new Error('Token not found');
|
|
332
354
|
}
|
|
@@ -368,11 +390,11 @@ export class VersoriCredentialsFactory {
|
|
|
368
390
|
}
|
|
369
391
|
return fn(input, init);
|
|
370
392
|
};
|
|
371
|
-
return
|
|
393
|
+
return _fn;
|
|
372
394
|
}
|
|
373
|
-
|
|
395
|
+
basicAuthFetcher(cred, fn) {
|
|
374
396
|
const _fn = async (input, init) => {
|
|
375
|
-
const tokenResponse = await this.getToken(
|
|
397
|
+
const tokenResponse = await this.getToken(cred.credential.id);
|
|
376
398
|
const token = tokenResponse.token?.accessToken;
|
|
377
399
|
if (!token) {
|
|
378
400
|
throw new Error('Token not found');
|
|
@@ -397,12 +419,12 @@ export class VersoriCredentialsFactory {
|
|
|
397
419
|
}
|
|
398
420
|
return fn(input, init);
|
|
399
421
|
};
|
|
400
|
-
return
|
|
422
|
+
return _fn;
|
|
401
423
|
}
|
|
402
424
|
// TODO: need to make the prefix and header name configurable from authschemeconfig
|
|
403
|
-
|
|
425
|
+
bearerTokenFetcher(cred, fn) {
|
|
404
426
|
const _fn = async (input, init) => {
|
|
405
|
-
const tokenResponse = await this.getToken(
|
|
427
|
+
const tokenResponse = await this.getToken(cred.credential.id);
|
|
406
428
|
const token = tokenResponse.token?.accessToken;
|
|
407
429
|
if (!token) {
|
|
408
430
|
throw new Error('Token not found');
|
|
@@ -427,11 +449,11 @@ export class VersoriCredentialsFactory {
|
|
|
427
449
|
}
|
|
428
450
|
return fn(input, init);
|
|
429
451
|
};
|
|
430
|
-
return
|
|
452
|
+
return _fn;
|
|
431
453
|
}
|
|
432
|
-
|
|
454
|
+
oauth2Fetcher(cred, fn) {
|
|
433
455
|
const refreshFn = async (input, init, forceRefresh = false) => {
|
|
434
|
-
const tokenResponse = await this.getToken(
|
|
456
|
+
const tokenResponse = await this.getToken(cred.credential.id, forceRefresh);
|
|
435
457
|
const token = tokenResponse.token?.accessToken;
|
|
436
458
|
const tokenType = tokenResponse.token?.tokenType;
|
|
437
459
|
if (!token) {
|
|
@@ -482,7 +504,28 @@ export class VersoriCredentialsFactory {
|
|
|
482
504
|
}
|
|
483
505
|
return Promise.resolve(resp);
|
|
484
506
|
};
|
|
485
|
-
return
|
|
507
|
+
return _fn;
|
|
508
|
+
}
|
|
509
|
+
mtlsFetcher(cred, fn) {
|
|
510
|
+
const _fn = async (input, init) => {
|
|
511
|
+
const raw = await this.getRaw(cred.credential.id);
|
|
512
|
+
if (!raw?.credential?.data) {
|
|
513
|
+
throw new Error(`Cannot fetch MTLS credentials for connection ${cred.credential.name}, no data found`);
|
|
514
|
+
}
|
|
515
|
+
const cert = new TextDecoder().decode(raw.credential.data['certificate']);
|
|
516
|
+
const key = new TextDecoder().decode(raw.credential.data['key']);
|
|
517
|
+
const caCerts = new TextDecoder().decode(raw.credential.data['ca'] || '');
|
|
518
|
+
const httpClient = Deno.createHttpClient({
|
|
519
|
+
cert,
|
|
520
|
+
key,
|
|
521
|
+
caCerts: caCerts ? [caCerts] : [],
|
|
522
|
+
});
|
|
523
|
+
return fn(input, {
|
|
524
|
+
...init,
|
|
525
|
+
client: httpClient,
|
|
526
|
+
});
|
|
527
|
+
};
|
|
528
|
+
return _fn;
|
|
486
529
|
}
|
|
487
530
|
async getToken(id, forceRefresh = false) {
|
|
488
531
|
try {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type * as express from 'express';
|
|
1
2
|
import { AsyncWorkflow } from '../../context/AsyncWorkflow.js';
|
|
2
3
|
import { Context, ContextImpl, CreateIssue } from '../../context/Context.js';
|
|
3
4
|
import { Issue } from '../../issues/Issues.js';
|
|
@@ -55,6 +56,7 @@ export declare class HttpContextImpl<D, PageParams> implements HttpContext<D, Pa
|
|
|
55
56
|
get fetch(): typeof globalThis.fetch;
|
|
56
57
|
get baseUrl(): Promise<string>;
|
|
57
58
|
nextPage(_nextParams: PageParams): Promise<void>;
|
|
59
|
+
request(): express.Request | undefined;
|
|
58
60
|
}
|
|
59
61
|
export declare function http<In = any, Out = any, PageParams = unknown>(taskId: string, opts: HttpOptions<In, Out, PageParams>, fn: HttpContextFunc<In, Out, PageParams>): Task<In, Out>;
|
|
60
62
|
//# sourceMappingURL=HttpTask.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpTask.d.ts","sourceRoot":"","sources":["../../../../src/src/dsl/tasks/HttpTask.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"HttpTask.d.ts","sourceRoot":"","sources":["../../../../src/src/dsl/tasks/HttpTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -138,6 +138,9 @@ export class HttpContextImpl {
|
|
|
138
138
|
async nextPage(_nextParams) {
|
|
139
139
|
throw new Error('Method not implemented.');
|
|
140
140
|
}
|
|
141
|
+
request() {
|
|
142
|
+
return __classPrivateFieldGet(this, _HttpContextImpl_inner, "f").request();
|
|
143
|
+
}
|
|
141
144
|
}
|
|
142
145
|
_HttpContextImpl_dynamicFetcher = new WeakMap(), _HttpContextImpl_staticFetcher = new WeakMap(), _HttpContextImpl_baseUrlFetcher = new WeakMap(), _HttpContextImpl_inner = new WeakMap();
|
|
143
146
|
export function http(taskId, opts, fn) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../../../../src/src/interpreter/durable/compilers/webhook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../../../../src/src/interpreter/durable/compilers/webhook.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgD7C,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,WAAW,EAAE,cAAc,CA8RxE,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import cors from 'cors';
|
|
2
2
|
import { pipeline } from 'node:stream/promises';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
|
+
import { createActIdDynamicWebhookMiddleware, createStaticWebhookMiddleware, createUserIdDynamicWebhookMiddleware, } from '../../../dsl/http/versori/webhookmiddleware.js';
|
|
4
5
|
import { WebhookTrigger } from '../../../dsl/triggers/WebhookTrigger.js';
|
|
5
|
-
import { createActIdDynamicWebhookMiddleware, createStaticWebhookMiddleware, createUserIdDynamicWebhookMiddleware } from '../../../dsl/http/versori/webhookmiddleware.js';
|
|
6
6
|
const DEFAULT_SYNC_ON_SUCCESS = (ctx) => new Response(JSON.stringify(ctx.data), {
|
|
7
7
|
status: 200,
|
|
8
8
|
headers: {
|
|
@@ -54,7 +54,7 @@ export const webhookCompiler = {
|
|
|
54
54
|
if (trigger.options.response?.onError) {
|
|
55
55
|
onError = trigger.options.response.onError;
|
|
56
56
|
}
|
|
57
|
-
const ctxOptionsFn = (res) => ({
|
|
57
|
+
const ctxOptionsFn = (req, res) => ({
|
|
58
58
|
onSuccess: (ctx) => {
|
|
59
59
|
if (isSync) {
|
|
60
60
|
sendResponse(res, onSuccess(ctx));
|
|
@@ -65,6 +65,7 @@ export const webhookCompiler = {
|
|
|
65
65
|
sendResponse(res, onError(ctx));
|
|
66
66
|
}
|
|
67
67
|
},
|
|
68
|
+
request: req,
|
|
68
69
|
});
|
|
69
70
|
return new Observable((subscriber) => {
|
|
70
71
|
if (!ctx.webhookRouter) {
|
|
@@ -92,7 +93,7 @@ export const webhookCompiler = {
|
|
|
92
93
|
await ctx.tracer.startActiveSpan(`webhook-${trigger.id}`, async (span) => {
|
|
93
94
|
span.setAttribute('task.id', trigger.id);
|
|
94
95
|
span.setAttribute('task.type', 'webhook');
|
|
95
|
-
let executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(res));
|
|
96
|
+
let executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(req, res));
|
|
96
97
|
const staticActivation = res.locals.activation;
|
|
97
98
|
if (staticActivation) {
|
|
98
99
|
executionCtx = executionCtx.withActivation(staticActivation);
|
|
@@ -146,7 +147,7 @@ export const webhookCompiler = {
|
|
|
146
147
|
span.end();
|
|
147
148
|
return;
|
|
148
149
|
}
|
|
149
|
-
const executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(res));
|
|
150
|
+
const executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(req, res));
|
|
150
151
|
span.setAttribute('execution.id', executionCtx.executionId);
|
|
151
152
|
const errors = [];
|
|
152
153
|
activations.forEach((activation) => {
|
|
@@ -202,7 +203,7 @@ export const webhookCompiler = {
|
|
|
202
203
|
return;
|
|
203
204
|
}
|
|
204
205
|
const activationCtx = ctx.contextProvider.create(req.body, {
|
|
205
|
-
...ctxOptionsFn(res),
|
|
206
|
+
...ctxOptionsFn(req, res),
|
|
206
207
|
activation,
|
|
207
208
|
});
|
|
208
209
|
span.setAttribute('execution.id', activationCtx.executionId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../../../../src/src/interpreter/memory/compilers/webhook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../../../../src/src/interpreter/memory/compilers/webhook.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgD7C,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,WAAW,EAAE,cAAc,CA8RxE,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import cors from 'cors';
|
|
2
2
|
import { pipeline } from 'node:stream/promises';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
|
+
import { createActIdDynamicWebhookMiddleware, createStaticWebhookMiddleware, createUserIdDynamicWebhookMiddleware, } from '../../../dsl/http/versori/webhookmiddleware.js';
|
|
4
5
|
import { WebhookTrigger } from '../../../dsl/triggers/WebhookTrigger.js';
|
|
5
|
-
import { createActIdDynamicWebhookMiddleware, createStaticWebhookMiddleware, createUserIdDynamicWebhookMiddleware } from '../../../dsl/http/versori/webhookmiddleware.js';
|
|
6
6
|
const DEFAULT_SYNC_ON_SUCCESS = (ctx) => new Response(JSON.stringify(ctx.data), {
|
|
7
7
|
status: 200,
|
|
8
8
|
headers: {
|
|
@@ -54,7 +54,7 @@ export const webhookCompiler = {
|
|
|
54
54
|
if (trigger.options.response?.onError) {
|
|
55
55
|
onError = trigger.options.response.onError;
|
|
56
56
|
}
|
|
57
|
-
const ctxOptionsFn = (res) => ({
|
|
57
|
+
const ctxOptionsFn = (req, res) => ({
|
|
58
58
|
onSuccess: (ctx) => {
|
|
59
59
|
if (isSync) {
|
|
60
60
|
sendResponse(res, onSuccess(ctx));
|
|
@@ -65,6 +65,7 @@ export const webhookCompiler = {
|
|
|
65
65
|
sendResponse(res, onError(ctx));
|
|
66
66
|
}
|
|
67
67
|
},
|
|
68
|
+
request: req,
|
|
68
69
|
});
|
|
69
70
|
return new Observable((subscriber) => {
|
|
70
71
|
if (!ctx.webhookRouter) {
|
|
@@ -92,7 +93,7 @@ export const webhookCompiler = {
|
|
|
92
93
|
await ctx.tracer.startActiveSpan(`webhook-${trigger.id}`, async (span) => {
|
|
93
94
|
span.setAttribute('task.id', trigger.id);
|
|
94
95
|
span.setAttribute('task.type', 'webhook');
|
|
95
|
-
let executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(res));
|
|
96
|
+
let executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(req, res));
|
|
96
97
|
const staticActivation = res.locals.activation;
|
|
97
98
|
if (staticActivation) {
|
|
98
99
|
executionCtx = executionCtx.withActivation(staticActivation);
|
|
@@ -146,7 +147,7 @@ export const webhookCompiler = {
|
|
|
146
147
|
span.end();
|
|
147
148
|
return;
|
|
148
149
|
}
|
|
149
|
-
const executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(res));
|
|
150
|
+
const executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(req, res));
|
|
150
151
|
span.setAttribute('execution.id', executionCtx.executionId);
|
|
151
152
|
const errors = [];
|
|
152
153
|
activations.forEach((activation) => {
|
|
@@ -202,7 +203,7 @@ export const webhookCompiler = {
|
|
|
202
203
|
return;
|
|
203
204
|
}
|
|
204
205
|
const activationCtx = ctx.contextProvider.create(req.body, {
|
|
205
|
-
...ctxOptionsFn(res),
|
|
206
|
+
...ctxOptionsFn(req, res),
|
|
206
207
|
activation,
|
|
207
208
|
});
|
|
208
209
|
span.setAttribute('execution.id', activationCtx.executionId);
|
package/package.json
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type * as express from 'express';
|
|
1
2
|
import { Activation } from '../dsl/http/types.js';
|
|
2
3
|
import { CredentialsProvider } from '../dsl/http/versori/contextcredentials.js';
|
|
3
4
|
import { QueueAPI } from '../interpreter/durable/Queue.js';
|
|
@@ -10,6 +11,7 @@ export type OnErrorFn = (ctx: Context<any>) => void;
|
|
|
10
11
|
export type ContextOptions = {
|
|
11
12
|
activation?: Activation;
|
|
12
13
|
workflowId?: string;
|
|
14
|
+
request?: express.Request;
|
|
13
15
|
onSuccess?: OnSuccessFn;
|
|
14
16
|
onError?: OnErrorFn;
|
|
15
17
|
};
|
|
@@ -40,6 +42,7 @@ export interface Context<D> {
|
|
|
40
42
|
createIssue(issue: CreateIssue, options?: {
|
|
41
43
|
deduplicate?: boolean;
|
|
42
44
|
}): Promise<Issue | null>;
|
|
45
|
+
request(): express.Request | undefined;
|
|
43
46
|
}
|
|
44
47
|
export declare class ContextImpl<D, Index = void> implements Context<D> {
|
|
45
48
|
#private;
|
|
@@ -58,6 +61,7 @@ export declare class ContextImpl<D, Index = void> implements Context<D> {
|
|
|
58
61
|
withActivation(activation: Activation): ContextImpl<D, Index>;
|
|
59
62
|
withData<D2>(data: D2): ContextImpl<D2, Index>;
|
|
60
63
|
openKv(scope?: KeyValueScope): KeyValue;
|
|
64
|
+
request(): express.Request | undefined;
|
|
61
65
|
start(group: string, opts: WorkflowOpts): Promise<AsyncWorkflow>;
|
|
62
66
|
createIssue(issue: CreateIssue, options?: {
|
|
63
67
|
deduplicate?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../src/src/context/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAKF,MAAM,MAAM,YAAY,GAAG;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,WAAW,OAAO,CAAC,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjB,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC;IAExC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE9E,WAAW,IAAI,mBAAmB,CAAC;IAEnC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../src/src/context/Context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAKF,MAAM,MAAM,YAAY,GAAG;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,WAAW,OAAO,CAAC,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjB,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC;IAExC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE9E,WAAW,IAAI,mBAAmB,CAAC;IAEnC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAE5F,OAAO,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;CAC1C;AAED,qBAAa,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;;IAC3D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjB,GAAG,EAAE,KAAK,CAAC;IAEX,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;IAE1B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;gBAI7B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,mBAAmB,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,IAAI,EACf,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,QAAQ,EAChB,KAAK,CAAC,EAAE,QAAQ,EAChB,OAAO,GAAE,cAAmB;IAsBhC,IAAI,UAAU,IAAI,UAAU,GAAG,SAAS,CAEvC;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC;IAiB7C,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC;IAsB7D,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC;IAc9C,MAAM,CAAC,KAAK,GAAE,aAA2B,GAAG,QAAQ;IAepD,OAAO,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS;IAIhC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAgCtE,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAO3F,WAAW,IAAI,mBAAmB;IAQlC,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAe5C,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAQlD"}
|
|
@@ -120,6 +120,9 @@ class ContextImpl {
|
|
|
120
120
|
activationId: this.activation?.id,
|
|
121
121
|
});
|
|
122
122
|
}
|
|
123
|
+
request() {
|
|
124
|
+
return this.options.request;
|
|
125
|
+
}
|
|
123
126
|
async start(group, opts) {
|
|
124
127
|
// this makes a post request to the endpoint sending a message and schedule the workflow to run
|
|
125
128
|
if (!this.queue) {
|
|
@@ -4,6 +4,9 @@ import { BaseUrlFetcher, ConfigReader, DynamicFetcher, RoundTripperFactory } fro
|
|
|
4
4
|
import { CredentialsProvider, Token } from './contextcredentials.js';
|
|
5
5
|
import { VersoriCredentialClient } from './credentials/mod.js';
|
|
6
6
|
import { PlatformAPIClient } from './platformapi.js';
|
|
7
|
+
type denoFetch = (input: RequestInfo | URL, init?: RequestInit & {
|
|
8
|
+
client?: Deno.HttpClient;
|
|
9
|
+
}) => Promise<Response>;
|
|
7
10
|
/**
|
|
8
11
|
* VersoriRoundTripper is an implementation of the RoundTripperFactory interface for Versori connections.
|
|
9
12
|
* This is the intended implementation for when projects/services are hosted on Versori infrastructure.
|
|
@@ -27,7 +30,7 @@ export declare class VersoriCredentialsFactory implements RoundTripperFactory {
|
|
|
27
30
|
static fromEnv(logger: Logger, tracer: Tracer): VersoriCredentialsFactory;
|
|
28
31
|
private changeRequestInit;
|
|
29
32
|
private changeBaseUrl;
|
|
30
|
-
create(connName: string): Promise<
|
|
33
|
+
create(connName: string): Promise<denoFetch | undefined>;
|
|
31
34
|
createDynamic(templateName: string): Promise<DynamicFetcher | undefined>;
|
|
32
35
|
private traceFetch;
|
|
33
36
|
credentials(): CredentialsProvider;
|
|
@@ -39,7 +42,9 @@ export declare class VersoriCredentialsFactory implements RoundTripperFactory {
|
|
|
39
42
|
private basicAuthFetcher;
|
|
40
43
|
private bearerTokenFetcher;
|
|
41
44
|
private oauth2Fetcher;
|
|
45
|
+
private mtlsFetcher;
|
|
42
46
|
private getToken;
|
|
43
47
|
private getRaw;
|
|
44
48
|
}
|
|
49
|
+
export {};
|
|
45
50
|
//# sourceMappingURL=roundtripper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roundtripper.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/roundtripper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAElE,OAAO,EAEH,cAAc,EACd,YAAY,
|
|
1
|
+
{"version":3,"file":"roundtripper.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/roundtripper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAElE,OAAO,EAEH,cAAc,EACd,YAAY,EAGZ,cAAc,EACd,mBAAmB,EACtB,MAAM,aAAa,CAAC;AAQrB,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAM/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIrD,KAAK,SAAS,GAAG,CACb,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAA;CAAE,KAChD,OAAO,CAAC,QAAQ,CAAC,CAAC;AAIvB;;;;;;;;;;GAUG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACjE,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,OAAO,CAAC,SAAS,CAAe;IAEhC,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAK7B;gBAGE,WAAW,EAAE,uBAAuB,EACpC,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,YAAY;IAe3B,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,yBAAyB;IAoCzE,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,aAAa;IAwBrB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAkDxD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IA6DxE,OAAO,CAAC,UAAU;IAqClB,WAAW,IAAI,mBAAmB;IAOlC,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc;IAyC9C,cAAc,CAChB,IAAI,EAAE,MAAM,EACZ,YAAY,UAAQ,EACpB,YAAY,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,KAAK,CAAC;IAiBX,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAqB9D,uBAAuB;IAoDrC,OAAO,CAAC,aAAa;IAoDrB,OAAO,CAAC,gBAAgB;IAmCxB,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,aAAa;IAqErB,OAAO,CAAC,WAAW;YA6BL,QAAQ;YA2BR,MAAM;CA0BvB"}
|
|
@@ -154,18 +154,29 @@ class VersoriCredentialsFactory {
|
|
|
154
154
|
return this.traceFetch(input, init);
|
|
155
155
|
}
|
|
156
156
|
const _input = this.changeRequestInit(input, conn);
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
157
|
+
let _fetch = this.traceFetch;
|
|
158
|
+
conn.credentials.forEach((cred) => {
|
|
159
|
+
switch (cred.authSchemeConfig.type) {
|
|
160
|
+
case 'api-key':
|
|
161
|
+
_fetch = this.apiKeyFetcher(cred, _fetch);
|
|
162
|
+
break;
|
|
163
|
+
case 'basic-auth':
|
|
164
|
+
_fetch = this.basicAuthFetcher(cred, _fetch);
|
|
165
|
+
break;
|
|
166
|
+
case 'jwt-bearer':
|
|
167
|
+
_fetch = this.bearerTokenFetcher(cred, _fetch);
|
|
168
|
+
break;
|
|
169
|
+
case 'oauth2':
|
|
170
|
+
_fetch = this.oauth2Fetcher(cred, _fetch);
|
|
171
|
+
break;
|
|
172
|
+
case 'certificate':
|
|
173
|
+
_fetch = this.mtlsFetcher(cred, _fetch);
|
|
174
|
+
break;
|
|
175
|
+
default:
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
return _fetch(_input, init);
|
|
169
180
|
};
|
|
170
181
|
return Promise.resolve(_fn);
|
|
171
182
|
}
|
|
@@ -187,18 +198,29 @@ class VersoriCredentialsFactory {
|
|
|
187
198
|
})(activation, input, init);
|
|
188
199
|
}
|
|
189
200
|
const _input = this.changeRequestInit(input, conn);
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
201
|
+
let _fetch = this.traceFetch;
|
|
202
|
+
conn.credentials.forEach((cred) => {
|
|
203
|
+
switch (cred.authSchemeConfig.type) {
|
|
204
|
+
case 'api-key':
|
|
205
|
+
_fetch = this.apiKeyFetcher(cred, _fetch);
|
|
206
|
+
break;
|
|
207
|
+
case 'basic-auth':
|
|
208
|
+
_fetch = this.basicAuthFetcher(cred, _fetch);
|
|
209
|
+
break;
|
|
210
|
+
case 'jwt-bearer':
|
|
211
|
+
_fetch = this.bearerTokenFetcher(cred, _fetch);
|
|
212
|
+
break;
|
|
213
|
+
case 'oauth2':
|
|
214
|
+
_fetch = this.oauth2Fetcher(cred, _fetch);
|
|
215
|
+
break;
|
|
216
|
+
case 'certificate':
|
|
217
|
+
_fetch = this.mtlsFetcher(cred, _fetch);
|
|
218
|
+
break;
|
|
219
|
+
default:
|
|
220
|
+
break;
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
return _fetch(_input, init);
|
|
202
224
|
};
|
|
203
225
|
return Promise.resolve(_fn);
|
|
204
226
|
}
|
|
@@ -286,7 +308,7 @@ class VersoriCredentialsFactory {
|
|
|
286
308
|
if (!raw) {
|
|
287
309
|
throw new Error(`Raw data not found for connection ${name} with credential ID ${credId}`);
|
|
288
310
|
}
|
|
289
|
-
|
|
311
|
+
const buffer = raw?.credential?.data['raw'] ?? undefined;
|
|
290
312
|
if (!buffer) {
|
|
291
313
|
throw new Error(`Credential ${raw?.credential?.id} is missing raw data, please contact your administrator`);
|
|
292
314
|
}
|
|
@@ -325,11 +347,11 @@ class VersoriCredentialsFactory {
|
|
|
325
347
|
}
|
|
326
348
|
return staticConn.credentials[0].credential.id;
|
|
327
349
|
}
|
|
328
|
-
apiKeyFetcher(
|
|
350
|
+
apiKeyFetcher(cred, fn) {
|
|
329
351
|
const _fn = async (input, init) => {
|
|
330
|
-
const tokenResponse = await this.getToken(
|
|
352
|
+
const tokenResponse = await this.getToken(cred.credential.id);
|
|
331
353
|
const token = tokenResponse.token?.accessToken;
|
|
332
|
-
const asc =
|
|
354
|
+
const asc = cred.authSchemeConfig.apiKey;
|
|
333
355
|
if (!token) {
|
|
334
356
|
throw new Error('Token not found');
|
|
335
357
|
}
|
|
@@ -371,11 +393,11 @@ class VersoriCredentialsFactory {
|
|
|
371
393
|
}
|
|
372
394
|
return fn(input, init);
|
|
373
395
|
};
|
|
374
|
-
return
|
|
396
|
+
return _fn;
|
|
375
397
|
}
|
|
376
|
-
|
|
398
|
+
basicAuthFetcher(cred, fn) {
|
|
377
399
|
const _fn = async (input, init) => {
|
|
378
|
-
const tokenResponse = await this.getToken(
|
|
400
|
+
const tokenResponse = await this.getToken(cred.credential.id);
|
|
379
401
|
const token = tokenResponse.token?.accessToken;
|
|
380
402
|
if (!token) {
|
|
381
403
|
throw new Error('Token not found');
|
|
@@ -400,12 +422,12 @@ class VersoriCredentialsFactory {
|
|
|
400
422
|
}
|
|
401
423
|
return fn(input, init);
|
|
402
424
|
};
|
|
403
|
-
return
|
|
425
|
+
return _fn;
|
|
404
426
|
}
|
|
405
427
|
// TODO: need to make the prefix and header name configurable from authschemeconfig
|
|
406
|
-
|
|
428
|
+
bearerTokenFetcher(cred, fn) {
|
|
407
429
|
const _fn = async (input, init) => {
|
|
408
|
-
const tokenResponse = await this.getToken(
|
|
430
|
+
const tokenResponse = await this.getToken(cred.credential.id);
|
|
409
431
|
const token = tokenResponse.token?.accessToken;
|
|
410
432
|
if (!token) {
|
|
411
433
|
throw new Error('Token not found');
|
|
@@ -430,11 +452,11 @@ class VersoriCredentialsFactory {
|
|
|
430
452
|
}
|
|
431
453
|
return fn(input, init);
|
|
432
454
|
};
|
|
433
|
-
return
|
|
455
|
+
return _fn;
|
|
434
456
|
}
|
|
435
|
-
|
|
457
|
+
oauth2Fetcher(cred, fn) {
|
|
436
458
|
const refreshFn = async (input, init, forceRefresh = false) => {
|
|
437
|
-
const tokenResponse = await this.getToken(
|
|
459
|
+
const tokenResponse = await this.getToken(cred.credential.id, forceRefresh);
|
|
438
460
|
const token = tokenResponse.token?.accessToken;
|
|
439
461
|
const tokenType = tokenResponse.token?.tokenType;
|
|
440
462
|
if (!token) {
|
|
@@ -485,7 +507,28 @@ class VersoriCredentialsFactory {
|
|
|
485
507
|
}
|
|
486
508
|
return Promise.resolve(resp);
|
|
487
509
|
};
|
|
488
|
-
return
|
|
510
|
+
return _fn;
|
|
511
|
+
}
|
|
512
|
+
mtlsFetcher(cred, fn) {
|
|
513
|
+
const _fn = async (input, init) => {
|
|
514
|
+
const raw = await this.getRaw(cred.credential.id);
|
|
515
|
+
if (!raw?.credential?.data) {
|
|
516
|
+
throw new Error(`Cannot fetch MTLS credentials for connection ${cred.credential.name}, no data found`);
|
|
517
|
+
}
|
|
518
|
+
const cert = new TextDecoder().decode(raw.credential.data['certificate']);
|
|
519
|
+
const key = new TextDecoder().decode(raw.credential.data['key']);
|
|
520
|
+
const caCerts = new TextDecoder().decode(raw.credential.data['ca'] || '');
|
|
521
|
+
const httpClient = Deno.createHttpClient({
|
|
522
|
+
cert,
|
|
523
|
+
key,
|
|
524
|
+
caCerts: caCerts ? [caCerts] : [],
|
|
525
|
+
});
|
|
526
|
+
return fn(input, {
|
|
527
|
+
...init,
|
|
528
|
+
client: httpClient,
|
|
529
|
+
});
|
|
530
|
+
};
|
|
531
|
+
return _fn;
|
|
489
532
|
}
|
|
490
533
|
async getToken(id, forceRefresh = false) {
|
|
491
534
|
try {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type * as express from 'express';
|
|
1
2
|
import { AsyncWorkflow } from '../../context/AsyncWorkflow.js';
|
|
2
3
|
import { Context, ContextImpl, CreateIssue } from '../../context/Context.js';
|
|
3
4
|
import { Issue } from '../../issues/Issues.js';
|
|
@@ -55,6 +56,7 @@ export declare class HttpContextImpl<D, PageParams> implements HttpContext<D, Pa
|
|
|
55
56
|
get fetch(): typeof globalThis.fetch;
|
|
56
57
|
get baseUrl(): Promise<string>;
|
|
57
58
|
nextPage(_nextParams: PageParams): Promise<void>;
|
|
59
|
+
request(): express.Request | undefined;
|
|
58
60
|
}
|
|
59
61
|
export declare function http<In = any, Out = any, PageParams = unknown>(taskId: string, opts: HttpOptions<In, Out, PageParams>, fn: HttpContextFunc<In, Out, PageParams>): Task<In, Out>;
|
|
60
62
|
//# sourceMappingURL=HttpTask.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpTask.d.ts","sourceRoot":"","sources":["../../../../src/src/dsl/tasks/HttpTask.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"HttpTask.d.ts","sourceRoot":"","sources":["../../../../src/src/dsl/tasks/HttpTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -143,6 +143,9 @@ class HttpContextImpl {
|
|
|
143
143
|
async nextPage(_nextParams) {
|
|
144
144
|
throw new Error('Method not implemented.');
|
|
145
145
|
}
|
|
146
|
+
request() {
|
|
147
|
+
return __classPrivateFieldGet(this, _HttpContextImpl_inner, "f").request();
|
|
148
|
+
}
|
|
146
149
|
}
|
|
147
150
|
exports.HttpContextImpl = HttpContextImpl;
|
|
148
151
|
_HttpContextImpl_dynamicFetcher = new WeakMap(), _HttpContextImpl_staticFetcher = new WeakMap(), _HttpContextImpl_baseUrlFetcher = new WeakMap(), _HttpContextImpl_inner = new WeakMap();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../../../../src/src/interpreter/durable/compilers/webhook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../../../../src/src/interpreter/durable/compilers/webhook.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgD7C,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,WAAW,EAAE,cAAc,CA8RxE,CAAC"}
|
|
@@ -7,8 +7,8 @@ exports.webhookCompiler = void 0;
|
|
|
7
7
|
const cors_1 = __importDefault(require("cors"));
|
|
8
8
|
const promises_1 = require("node:stream/promises");
|
|
9
9
|
const rxjs_1 = require("rxjs");
|
|
10
|
-
const WebhookTrigger_js_1 = require("../../../dsl/triggers/WebhookTrigger.js");
|
|
11
10
|
const webhookmiddleware_js_1 = require("../../../dsl/http/versori/webhookmiddleware.js");
|
|
11
|
+
const WebhookTrigger_js_1 = require("../../../dsl/triggers/WebhookTrigger.js");
|
|
12
12
|
const DEFAULT_SYNC_ON_SUCCESS = (ctx) => new Response(JSON.stringify(ctx.data), {
|
|
13
13
|
status: 200,
|
|
14
14
|
headers: {
|
|
@@ -60,7 +60,7 @@ exports.webhookCompiler = {
|
|
|
60
60
|
if (trigger.options.response?.onError) {
|
|
61
61
|
onError = trigger.options.response.onError;
|
|
62
62
|
}
|
|
63
|
-
const ctxOptionsFn = (res) => ({
|
|
63
|
+
const ctxOptionsFn = (req, res) => ({
|
|
64
64
|
onSuccess: (ctx) => {
|
|
65
65
|
if (isSync) {
|
|
66
66
|
sendResponse(res, onSuccess(ctx));
|
|
@@ -71,6 +71,7 @@ exports.webhookCompiler = {
|
|
|
71
71
|
sendResponse(res, onError(ctx));
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
|
+
request: req,
|
|
74
75
|
});
|
|
75
76
|
return new rxjs_1.Observable((subscriber) => {
|
|
76
77
|
if (!ctx.webhookRouter) {
|
|
@@ -98,7 +99,7 @@ exports.webhookCompiler = {
|
|
|
98
99
|
await ctx.tracer.startActiveSpan(`webhook-${trigger.id}`, async (span) => {
|
|
99
100
|
span.setAttribute('task.id', trigger.id);
|
|
100
101
|
span.setAttribute('task.type', 'webhook');
|
|
101
|
-
let executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(res));
|
|
102
|
+
let executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(req, res));
|
|
102
103
|
const staticActivation = res.locals.activation;
|
|
103
104
|
if (staticActivation) {
|
|
104
105
|
executionCtx = executionCtx.withActivation(staticActivation);
|
|
@@ -152,7 +153,7 @@ exports.webhookCompiler = {
|
|
|
152
153
|
span.end();
|
|
153
154
|
return;
|
|
154
155
|
}
|
|
155
|
-
const executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(res));
|
|
156
|
+
const executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(req, res));
|
|
156
157
|
span.setAttribute('execution.id', executionCtx.executionId);
|
|
157
158
|
const errors = [];
|
|
158
159
|
activations.forEach((activation) => {
|
|
@@ -208,7 +209,7 @@ exports.webhookCompiler = {
|
|
|
208
209
|
return;
|
|
209
210
|
}
|
|
210
211
|
const activationCtx = ctx.contextProvider.create(req.body, {
|
|
211
|
-
...ctxOptionsFn(res),
|
|
212
|
+
...ctxOptionsFn(req, res),
|
|
212
213
|
activation,
|
|
213
214
|
});
|
|
214
215
|
span.setAttribute('execution.id', activationCtx.executionId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../../../../src/src/interpreter/memory/compilers/webhook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../../../../src/src/interpreter/memory/compilers/webhook.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgD7C,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,WAAW,EAAE,cAAc,CA8RxE,CAAC"}
|
|
@@ -7,8 +7,8 @@ exports.webhookCompiler = void 0;
|
|
|
7
7
|
const cors_1 = __importDefault(require("cors"));
|
|
8
8
|
const promises_1 = require("node:stream/promises");
|
|
9
9
|
const rxjs_1 = require("rxjs");
|
|
10
|
-
const WebhookTrigger_js_1 = require("../../../dsl/triggers/WebhookTrigger.js");
|
|
11
10
|
const webhookmiddleware_js_1 = require("../../../dsl/http/versori/webhookmiddleware.js");
|
|
11
|
+
const WebhookTrigger_js_1 = require("../../../dsl/triggers/WebhookTrigger.js");
|
|
12
12
|
const DEFAULT_SYNC_ON_SUCCESS = (ctx) => new Response(JSON.stringify(ctx.data), {
|
|
13
13
|
status: 200,
|
|
14
14
|
headers: {
|
|
@@ -60,7 +60,7 @@ exports.webhookCompiler = {
|
|
|
60
60
|
if (trigger.options.response?.onError) {
|
|
61
61
|
onError = trigger.options.response.onError;
|
|
62
62
|
}
|
|
63
|
-
const ctxOptionsFn = (res) => ({
|
|
63
|
+
const ctxOptionsFn = (req, res) => ({
|
|
64
64
|
onSuccess: (ctx) => {
|
|
65
65
|
if (isSync) {
|
|
66
66
|
sendResponse(res, onSuccess(ctx));
|
|
@@ -71,6 +71,7 @@ exports.webhookCompiler = {
|
|
|
71
71
|
sendResponse(res, onError(ctx));
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
|
+
request: req,
|
|
74
75
|
});
|
|
75
76
|
return new rxjs_1.Observable((subscriber) => {
|
|
76
77
|
if (!ctx.webhookRouter) {
|
|
@@ -98,7 +99,7 @@ exports.webhookCompiler = {
|
|
|
98
99
|
await ctx.tracer.startActiveSpan(`webhook-${trigger.id}`, async (span) => {
|
|
99
100
|
span.setAttribute('task.id', trigger.id);
|
|
100
101
|
span.setAttribute('task.type', 'webhook');
|
|
101
|
-
let executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(res));
|
|
102
|
+
let executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(req, res));
|
|
102
103
|
const staticActivation = res.locals.activation;
|
|
103
104
|
if (staticActivation) {
|
|
104
105
|
executionCtx = executionCtx.withActivation(staticActivation);
|
|
@@ -152,7 +153,7 @@ exports.webhookCompiler = {
|
|
|
152
153
|
span.end();
|
|
153
154
|
return;
|
|
154
155
|
}
|
|
155
|
-
const executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(res));
|
|
156
|
+
const executionCtx = ctx.contextProvider.create(req.body, ctxOptionsFn(req, res));
|
|
156
157
|
span.setAttribute('execution.id', executionCtx.executionId);
|
|
157
158
|
const errors = [];
|
|
158
159
|
activations.forEach((activation) => {
|
|
@@ -208,7 +209,7 @@ exports.webhookCompiler = {
|
|
|
208
209
|
return;
|
|
209
210
|
}
|
|
210
211
|
const activationCtx = ctx.contextProvider.create(req.body, {
|
|
211
|
-
...ctxOptionsFn(res),
|
|
212
|
+
...ctxOptionsFn(req, res),
|
|
212
213
|
activation,
|
|
213
214
|
});
|
|
214
215
|
span.setAttribute('execution.id', activationCtx.executionId);
|