@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.
Files changed (27) hide show
  1. package/esm/src/context/Context.d.ts +4 -0
  2. package/esm/src/context/Context.d.ts.map +1 -1
  3. package/esm/src/context/Context.js +3 -0
  4. package/esm/src/dsl/http/versori/roundtripper.d.ts +6 -1
  5. package/esm/src/dsl/http/versori/roundtripper.d.ts.map +1 -1
  6. package/esm/src/dsl/http/versori/roundtripper.js +81 -38
  7. package/esm/src/dsl/tasks/HttpTask.d.ts +2 -0
  8. package/esm/src/dsl/tasks/HttpTask.d.ts.map +1 -1
  9. package/esm/src/dsl/tasks/HttpTask.js +3 -0
  10. package/esm/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
  11. package/esm/src/interpreter/durable/compilers/webhook.js +6 -5
  12. package/esm/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
  13. package/esm/src/interpreter/memory/compilers/webhook.js +6 -5
  14. package/package.json +1 -1
  15. package/script/src/context/Context.d.ts +4 -0
  16. package/script/src/context/Context.d.ts.map +1 -1
  17. package/script/src/context/Context.js +3 -0
  18. package/script/src/dsl/http/versori/roundtripper.d.ts +6 -1
  19. package/script/src/dsl/http/versori/roundtripper.d.ts.map +1 -1
  20. package/script/src/dsl/http/versori/roundtripper.js +81 -38
  21. package/script/src/dsl/tasks/HttpTask.d.ts +2 -0
  22. package/script/src/dsl/tasks/HttpTask.d.ts.map +1 -1
  23. package/script/src/dsl/tasks/HttpTask.js +3 -0
  24. package/script/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
  25. package/script/src/interpreter/durable/compilers/webhook.js +6 -5
  26. package/script/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
  27. 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":"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"}
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<typeof fetch | undefined>;
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,EAEZ,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;AAGrD;;;;;;;;;;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,OAAO,KAAK,GAAG,SAAS,CAAC;IAqC3D,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAgDxE,OAAO,CAAC,UAAU;IAqClB,WAAW,IAAI,mBAAmB;IAOlC,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc;IAuC9C,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;YAoDP,gBAAgB;YAmChB,kBAAkB;YAiClB,aAAa;YAwEb,QAAQ;YA2BR,MAAM;CA0BvB"}
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
- switch (conn.credentials[0].authSchemeConfig.type) {
155
- case 'api-key':
156
- return (await this.apiKeyFetcher(conn, this.traceFetch))(_input, init);
157
- case 'basic-auth':
158
- return (await this.basicAuthFetcher(conn, this.traceFetch))(_input, init);
159
- case 'jwt-bearer':
160
- return (await this.bearerTokenFetcher(conn, this.traceFetch))(_input, init);
161
- case 'oauth2':
162
- return (await this.oauth2Fetcher(conn, this.traceFetch))(_input, init);
163
- default:
164
- return this.traceFetch(_input, init);
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
- switch (conn.credentials[0].authSchemeConfig.type) {
188
- case 'api-key':
189
- return (await this.apiKeyFetcher(conn, this.traceFetch))(_input, init);
190
- case 'basic-auth':
191
- return (await this.basicAuthFetcher(conn, this.traceFetch))(_input, init);
192
- case 'jwt-bearer':
193
- return (await this.bearerTokenFetcher(conn, this.traceFetch))(_input, init);
194
- case 'oauth2':
195
- return (await this.oauth2Fetcher(conn, this.traceFetch))(_input, init);
196
- default:
197
- return this.traceFetch(_input, init);
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
- let buffer = raw?.credential?.data['raw'] ?? undefined;
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(conn, fn) {
347
+ apiKeyFetcher(cred, fn) {
326
348
  const _fn = async (input, init) => {
327
- const tokenResponse = await this.getToken(conn.credentials[0].credential.id);
349
+ const tokenResponse = await this.getToken(cred.credential.id);
328
350
  const token = tokenResponse.token?.accessToken;
329
- const asc = conn.credentials[0].authSchemeConfig.apiKey;
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 Promise.resolve(_fn);
393
+ return _fn;
372
394
  }
373
- async basicAuthFetcher(conn, fn) {
395
+ basicAuthFetcher(cred, fn) {
374
396
  const _fn = async (input, init) => {
375
- const tokenResponse = await this.getToken(conn.credentials[0].credential.id);
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 Promise.resolve(_fn);
422
+ return _fn;
401
423
  }
402
424
  // TODO: need to make the prefix and header name configurable from authschemeconfig
403
- async bearerTokenFetcher(conn, fn) {
425
+ bearerTokenFetcher(cred, fn) {
404
426
  const _fn = async (input, init) => {
405
- const tokenResponse = await this.getToken(conn.credentials[0].credential.id);
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 Promise.resolve(_fn);
452
+ return _fn;
431
453
  }
432
- async oauth2Fetcher(conn, fn) {
454
+ oauth2Fetcher(cred, fn) {
433
455
  const refreshFn = async (input, init, forceRefresh = false) => {
434
- const tokenResponse = await this.getToken(conn.credentials[0].credential.id, forceRefresh);
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 Promise.resolve(_fn);
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":"AAOA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAmD7C,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,WAAW,EAAE,cAAc,CAuRxE,CAAC"}
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":"AAOA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAkD7C,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,WAAW,EAAE,cAAc,CAuRxE,CAAC"}
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@versori/run",
3
- "version": "v0.2.18",
3
+ "version": "v0.2.20",
4
4
  "description": "Versori Run",
5
5
  "homepage": "https://github.com/versori/versori-run#readme",
6
6
  "repository": {
@@ -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":"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"}
1
+ {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../src/src/context/Context.ts"],"names":[],"mappings":"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"}
@@ -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<typeof fetch | undefined>;
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,EAEZ,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;AAGrD;;;;;;;;;;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,OAAO,KAAK,GAAG,SAAS,CAAC;IAqC3D,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAgDxE,OAAO,CAAC,UAAU;IAqClB,WAAW,IAAI,mBAAmB;IAOlC,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc;IAuC9C,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;YAoDP,gBAAgB;YAmChB,kBAAkB;YAiClB,aAAa;YAwEb,QAAQ;YA2BR,MAAM;CA0BvB"}
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
- switch (conn.credentials[0].authSchemeConfig.type) {
158
- case 'api-key':
159
- return (await this.apiKeyFetcher(conn, this.traceFetch))(_input, init);
160
- case 'basic-auth':
161
- return (await this.basicAuthFetcher(conn, this.traceFetch))(_input, init);
162
- case 'jwt-bearer':
163
- return (await this.bearerTokenFetcher(conn, this.traceFetch))(_input, init);
164
- case 'oauth2':
165
- return (await this.oauth2Fetcher(conn, this.traceFetch))(_input, init);
166
- default:
167
- return this.traceFetch(_input, init);
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
- switch (conn.credentials[0].authSchemeConfig.type) {
191
- case 'api-key':
192
- return (await this.apiKeyFetcher(conn, this.traceFetch))(_input, init);
193
- case 'basic-auth':
194
- return (await this.basicAuthFetcher(conn, this.traceFetch))(_input, init);
195
- case 'jwt-bearer':
196
- return (await this.bearerTokenFetcher(conn, this.traceFetch))(_input, init);
197
- case 'oauth2':
198
- return (await this.oauth2Fetcher(conn, this.traceFetch))(_input, init);
199
- default:
200
- return this.traceFetch(_input, init);
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
- let buffer = raw?.credential?.data['raw'] ?? undefined;
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(conn, fn) {
350
+ apiKeyFetcher(cred, fn) {
329
351
  const _fn = async (input, init) => {
330
- const tokenResponse = await this.getToken(conn.credentials[0].credential.id);
352
+ const tokenResponse = await this.getToken(cred.credential.id);
331
353
  const token = tokenResponse.token?.accessToken;
332
- const asc = conn.credentials[0].authSchemeConfig.apiKey;
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 Promise.resolve(_fn);
396
+ return _fn;
375
397
  }
376
- async basicAuthFetcher(conn, fn) {
398
+ basicAuthFetcher(cred, fn) {
377
399
  const _fn = async (input, init) => {
378
- const tokenResponse = await this.getToken(conn.credentials[0].credential.id);
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 Promise.resolve(_fn);
425
+ return _fn;
404
426
  }
405
427
  // TODO: need to make the prefix and header name configurable from authschemeconfig
406
- async bearerTokenFetcher(conn, fn) {
428
+ bearerTokenFetcher(cred, fn) {
407
429
  const _fn = async (input, init) => {
408
- const tokenResponse = await this.getToken(conn.credentials[0].credential.id);
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 Promise.resolve(_fn);
455
+ return _fn;
434
456
  }
435
- async oauth2Fetcher(conn, fn) {
457
+ oauth2Fetcher(cred, fn) {
436
458
  const refreshFn = async (input, init, forceRefresh = false) => {
437
- const tokenResponse = await this.getToken(conn.credentials[0].credential.id, forceRefresh);
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 Promise.resolve(_fn);
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":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAsB,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMjE,MAAM,WAAW,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,CAAE,SAAQ,OAAO,CAAC,IAAI,CAAC;IAC5E,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED,MAAM,MAAM,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,IAAI,CAC/C,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,UAAU,CAAC,KAC/B,OAAO,CAAC,GAAG,CAAC,CAAC;AAElB,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC7B,aAAa,EAAE,CAAC,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,IAAI;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;CAC5C,CAAC;AAEF,qBAAa,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,CAAE,YAAW,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC;IACnE,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAU;IAE5B,EAAE,EAAE,MAAM,CAAC;IAEX,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAEzC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;gBAGnC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,EACtC,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC;IAO5C,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC;IAI9D,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC;IAIjE,UAAU,IAAI,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;IAI5B,MAAM,CAAC,OAAO,GAAG,GAAG,SAAS,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,KAAK,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC;IACtF,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,EAAE,GAAG,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC;IASzE,KAAK,IAAI,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC;CAGzB;AAED,qBAAa,eAAe,CAAC,CAAC,EAAE,UAAU,CAAE,YAAW,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC;;IAC7E,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAC9C,UAAU,CAAC,EAAE,UAAU,CAAC;gBAUpB,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,EACxB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,cAAc,EAAE,cAAc,EAC9B,aAAa,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,EACvC,cAAc,CAAC,EAAE,cAAc,EAC/B,UAAU,CAAC,EAAE,UAAU;IAiB3B,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,IAAI,UAAU,IAAI,UAAU,GAAG,SAAS,CAEvC;IAED,IAAI,IAAI,IAAI,CAAC,CAEZ;IAED,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,QAAQ;IAIvC,WAAW,IAAI,mBAAmB;IAIlC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAI7E,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;QACtC,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAIzB,IAAI,KAAK,IAAI,OAAO,UAAU,CAAC,KAAK,CAKnC;IAED,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAE7B;IAEK,QAAQ,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,OAAO,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS;CAGzC;AAED,wBAAgB,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,UAAU,GAAG,OAAO,EAC1D,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,EACtC,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,GACzC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAEf"}
@@ -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":"AAOA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAmD7C,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,WAAW,EAAE,cAAc,CAuRxE,CAAC"}
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":"AAOA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAkD7C,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,WAAW,EAAE,cAAc,CAuRxE,CAAC"}
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);