@versori/run 0.0.1-alpha.1 → 0.0.1-alpha.2

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 (99) hide show
  1. package/esm/src/dsl/http/default.d.ts +23 -0
  2. package/esm/src/dsl/http/default.d.ts.map +1 -0
  3. package/esm/src/dsl/http/default.js +25 -0
  4. package/esm/src/dsl/http/types.d.ts +53 -0
  5. package/esm/src/dsl/http/types.d.ts.map +1 -0
  6. package/esm/src/dsl/http/types.js +2 -0
  7. package/esm/src/dsl/http/versori/configloader.d.ts +12 -0
  8. package/esm/src/dsl/http/versori/configloader.d.ts.map +1 -0
  9. package/esm/src/dsl/http/versori/configloader.js +14 -0
  10. package/esm/src/dsl/http/versori/connectapi.d.ts +11 -0
  11. package/esm/src/dsl/http/versori/connectapi.d.ts.map +1 -0
  12. package/esm/src/dsl/http/versori/connectapi.js +57 -0
  13. package/esm/src/dsl/http/versori/credentials/client.d.ts +10 -0
  14. package/esm/src/dsl/http/versori/credentials/client.d.ts.map +1 -0
  15. package/esm/src/dsl/http/versori/credentials/client.js +30 -0
  16. package/esm/src/dsl/http/versori/credentials/credentials.d.ts +42 -0
  17. package/esm/src/dsl/http/versori/credentials/credentials.d.ts.map +1 -0
  18. package/esm/src/dsl/http/versori/credentials/credentials.js +34 -0
  19. package/esm/src/dsl/http/versori/credentials/mod.d.ts +2 -0
  20. package/esm/src/dsl/http/versori/credentials/mod.d.ts.map +1 -0
  21. package/esm/src/dsl/http/versori/credentials/mod.js +1 -0
  22. package/esm/src/dsl/http/versori/credentials/oauth2/v1/token_pb.d.ts +10 -0
  23. package/esm/src/dsl/http/versori/credentials/oauth2/v1/token_pb.d.ts.map +1 -0
  24. package/esm/src/dsl/http/versori/credentials/oauth2/v1/token_pb.js +14 -0
  25. package/esm/src/dsl/http/versori/credentials/oauth2/v1/token_service_pb.d.ts +69 -0
  26. package/esm/src/dsl/http/versori/credentials/oauth2/v1/token_service_pb.d.ts.map +1 -0
  27. package/esm/src/dsl/http/versori/credentials/oauth2/v1/token_service_pb.js +76 -0
  28. package/esm/src/dsl/http/versori/credentials/tokens/v1/token_pb.d.ts +10 -0
  29. package/esm/src/dsl/http/versori/credentials/tokens/v1/token_pb.d.ts.map +1 -0
  30. package/esm/src/dsl/http/versori/credentials/tokens/v1/token_pb.js +14 -0
  31. package/esm/src/dsl/http/versori/credentials/tokens/v1/token_service_pb.d.ts +34 -0
  32. package/esm/src/dsl/http/versori/credentials/tokens/v1/token_service_pb.d.ts.map +1 -0
  33. package/esm/src/dsl/http/versori/credentials/tokens/v1/token_service_pb.js +40 -0
  34. package/esm/src/dsl/http/versori/credentials/v1alpha1/credential_pb.d.ts +165 -0
  35. package/esm/src/dsl/http/versori/credentials/v1alpha1/credential_pb.d.ts.map +1 -0
  36. package/esm/src/dsl/http/versori/credentials/v1alpha1/credential_pb.js +155 -0
  37. package/esm/src/dsl/http/versori/internalauth.d.ts +10 -0
  38. package/esm/src/dsl/http/versori/internalauth.d.ts.map +1 -0
  39. package/esm/src/dsl/http/versori/internalauth.js +67 -0
  40. package/esm/src/dsl/http/versori/roundtripper.d.ts +31 -0
  41. package/esm/src/dsl/http/versori/roundtripper.d.ts.map +1 -0
  42. package/esm/src/dsl/http/versori/roundtripper.js +218 -0
  43. package/esm/src/interpreter/memory/MemoryInterpreter.d.ts +2 -0
  44. package/esm/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
  45. package/esm/src/interpreter/memory/MemoryInterpreter.js +10 -0
  46. package/esm/src/interpreter/memory/ObservableCompiler.d.ts +2 -0
  47. package/esm/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
  48. package/esm/src/interpreter/memory/compilers/http.d.ts.map +1 -1
  49. package/esm/src/interpreter/memory/compilers/http.js +3 -1
  50. package/package.json +4 -1
  51. package/script/src/dsl/http/default.d.ts +23 -0
  52. package/script/src/dsl/http/default.d.ts.map +1 -0
  53. package/script/src/dsl/http/default.js +29 -0
  54. package/script/src/dsl/http/types.d.ts +53 -0
  55. package/script/src/dsl/http/types.d.ts.map +1 -0
  56. package/script/src/dsl/http/types.js +3 -0
  57. package/script/src/dsl/http/versori/configloader.d.ts +12 -0
  58. package/script/src/dsl/http/versori/configloader.d.ts.map +1 -0
  59. package/script/src/dsl/http/versori/configloader.js +40 -0
  60. package/script/src/dsl/http/versori/connectapi.d.ts +11 -0
  61. package/script/src/dsl/http/versori/connectapi.d.ts.map +1 -0
  62. package/script/src/dsl/http/versori/connectapi.js +61 -0
  63. package/script/src/dsl/http/versori/credentials/client.d.ts +10 -0
  64. package/script/src/dsl/http/versori/credentials/client.d.ts.map +1 -0
  65. package/script/src/dsl/http/versori/credentials/client.js +32 -0
  66. package/script/src/dsl/http/versori/credentials/credentials.d.ts +42 -0
  67. package/script/src/dsl/http/versori/credentials/credentials.d.ts.map +1 -0
  68. package/script/src/dsl/http/versori/credentials/credentials.js +38 -0
  69. package/script/src/dsl/http/versori/credentials/mod.d.ts +2 -0
  70. package/script/src/dsl/http/versori/credentials/mod.d.ts.map +1 -0
  71. package/script/src/dsl/http/versori/credentials/mod.js +5 -0
  72. package/script/src/dsl/http/versori/credentials/oauth2/v1/token_pb.d.ts +10 -0
  73. package/script/src/dsl/http/versori/credentials/oauth2/v1/token_pb.d.ts.map +1 -0
  74. package/script/src/dsl/http/versori/credentials/oauth2/v1/token_pb.js +17 -0
  75. package/script/src/dsl/http/versori/credentials/oauth2/v1/token_service_pb.d.ts +69 -0
  76. package/script/src/dsl/http/versori/credentials/oauth2/v1/token_service_pb.d.ts.map +1 -0
  77. package/script/src/dsl/http/versori/credentials/oauth2/v1/token_service_pb.js +79 -0
  78. package/script/src/dsl/http/versori/credentials/tokens/v1/token_pb.d.ts +10 -0
  79. package/script/src/dsl/http/versori/credentials/tokens/v1/token_pb.d.ts.map +1 -0
  80. package/script/src/dsl/http/versori/credentials/tokens/v1/token_pb.js +17 -0
  81. package/script/src/dsl/http/versori/credentials/tokens/v1/token_service_pb.d.ts +34 -0
  82. package/script/src/dsl/http/versori/credentials/tokens/v1/token_service_pb.d.ts.map +1 -0
  83. package/script/src/dsl/http/versori/credentials/tokens/v1/token_service_pb.js +43 -0
  84. package/script/src/dsl/http/versori/credentials/v1alpha1/credential_pb.d.ts +165 -0
  85. package/script/src/dsl/http/versori/credentials/v1alpha1/credential_pb.d.ts.map +1 -0
  86. package/script/src/dsl/http/versori/credentials/v1alpha1/credential_pb.js +158 -0
  87. package/script/src/dsl/http/versori/internalauth.d.ts +10 -0
  88. package/script/src/dsl/http/versori/internalauth.d.ts.map +1 -0
  89. package/script/src/dsl/http/versori/internalauth.js +94 -0
  90. package/script/src/dsl/http/versori/roundtripper.d.ts +31 -0
  91. package/script/src/dsl/http/versori/roundtripper.d.ts.map +1 -0
  92. package/script/src/dsl/http/versori/roundtripper.js +246 -0
  93. package/script/src/interpreter/memory/MemoryInterpreter.d.ts +2 -0
  94. package/script/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
  95. package/script/src/interpreter/memory/MemoryInterpreter.js +10 -0
  96. package/script/src/interpreter/memory/ObservableCompiler.d.ts +2 -0
  97. package/script/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
  98. package/script/src/interpreter/memory/compilers/http.d.ts.map +1 -1
  99. package/script/src/interpreter/memory/compilers/http.js +3 -1
@@ -0,0 +1,218 @@
1
+ import * as dntShim from "../../../../_dnt.shims.js";
2
+ import { ConnectAPIClient } from './connectapi.js';
3
+ import { LoadConfigFromJSON } from './configloader.js';
4
+ import { VersoriCredentialClient } from './credentials/mod.js';
5
+ export function CreateFromEnv() {
6
+ const connAPIBaseURL = dntShim.Deno.env.get('RUN_CONNECT_API_INTERNAL_URL');
7
+ const credsBaseURL = dntShim.Deno.env.get('RUN_CREDENTIALS_SERVICE_INTERNAL_URL');
8
+ const orgId = dntShim.Deno.env.get('RUN_ORGANISATION_ID');
9
+ const serviceConnId = dntShim.Deno.env.get('RUN_CONNECTOR_ID');
10
+ if (!orgId || !serviceConnId || !connAPIBaseURL || !credsBaseURL) {
11
+ throw new Error('ORGANISATION_ID or CONNECTOR_ID not found in environment');
12
+ }
13
+ const cAPIClient = new ConnectAPIClient(connAPIBaseURL, orgId, serviceConnId, {});
14
+ const tokenClient = new VersoriCredentialClient(credsBaseURL);
15
+ return new VersoriRoundTripperFactory(cAPIClient, tokenClient);
16
+ }
17
+ /**
18
+ * VersoriRoundTripper is an implementation of the RoundTripperFactory interface for Versori connections.
19
+ * This is the intended implementation for when projects/services are hosted on Versori infrastructure.
20
+ *
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * const factory = new VersoriRoundTripperFactory(connectAPIClient, tokenClient);
25
+ * const customFetch = await factory.create('connectionName');
26
+ * const response = await customFetch('https://api.example.com/data');
27
+ * ```
28
+ */
29
+ export class VersoriRoundTripperFactory {
30
+ constructor(cAPIClient, credsClient) {
31
+ Object.defineProperty(this, "cAPIClient", {
32
+ enumerable: true,
33
+ configurable: true,
34
+ writable: true,
35
+ value: void 0
36
+ });
37
+ Object.defineProperty(this, "tokenClient", {
38
+ enumerable: true,
39
+ configurable: true,
40
+ writable: true,
41
+ value: void 0
42
+ });
43
+ Object.defineProperty(this, "versoriCfg", {
44
+ enumerable: true,
45
+ configurable: true,
46
+ writable: true,
47
+ value: void 0
48
+ });
49
+ this.cAPIClient = cAPIClient;
50
+ this.tokenClient = credsClient;
51
+ this.versoriCfg = LoadConfigFromJSON(); // for now?
52
+ }
53
+ async create(connName, fn = fetch) {
54
+ const cnxId = this.getConnectionID(connName);
55
+ const conn = await this.cAPIClient.getConnection(cnxId);
56
+ if (!conn) {
57
+ throw new Error(`Connection ${connName} not found`);
58
+ }
59
+ switch (conn.credentials.action[0].authSchemeConfig.schemeType) {
60
+ case 'api-key':
61
+ return this.apiKeyFetcher(conn, fn);
62
+ case 'basic-auth':
63
+ return this.basicAuthFetcher(conn, fn);
64
+ case 'jwt-bearer':
65
+ return this.bearerTokenFetcher(conn, fn);
66
+ case 'oauth2':
67
+ return this.oauth2Fetcher(conn, fn);
68
+ default:
69
+ return fn;
70
+ }
71
+ }
72
+ async createDynamic(templateName, fn) {
73
+ throw new Error('Method not implemented.');
74
+ }
75
+ getConnectionID(connName) {
76
+ // Note that this is till very up in the air whether we are going to store the connection ID in the config
77
+ const conn = this.versoriCfg.connections.find(c => c.name === connName);
78
+ if (!conn) {
79
+ throw new Error(`Connection ${connName} not found`);
80
+ }
81
+ return conn.id;
82
+ }
83
+ async apiKeyFetcher(conn, fn) {
84
+ const tokenResponse = await this.tokenClient.getToken(conn.credentials.action[0].credential.id);
85
+ const token = tokenResponse.token?.accessToken;
86
+ if (!token) {
87
+ throw new Error('Token not found');
88
+ }
89
+ const _fn = (input, init) => {
90
+ if (!init) {
91
+ init = {};
92
+ }
93
+ switch (conn.credentials.action[0].authSchemeConfig.in) {
94
+ case 'header':
95
+ if (!init.headers) {
96
+ init.headers = new Headers();
97
+ }
98
+ if (init.headers instanceof Headers) {
99
+ init.headers.set('Authorization', token);
100
+ }
101
+ else if (init.headers instanceof Array) {
102
+ init.headers.push(['Authorization', token]);
103
+ }
104
+ else {
105
+ init.headers = {
106
+ ...init.headers,
107
+ ['Authorization']: token
108
+ };
109
+ }
110
+ break;
111
+ case 'query':
112
+ if (typeof input === 'string') {
113
+ input += `?${'Authorization'}=${token}`;
114
+ }
115
+ else if (input instanceof Request) {
116
+ input = new Request(input.url + `?${'Authorization'}=${token}`, init);
117
+ }
118
+ else if (input instanceof URL) {
119
+ input.searchParams.append('Authorization', token);
120
+ }
121
+ break;
122
+ }
123
+ return fn(input, init);
124
+ };
125
+ return _fn;
126
+ }
127
+ async basicAuthFetcher(conn, fn) {
128
+ const tokenResponse = await this.tokenClient.getToken(conn.credentials.action[0].credential.id);
129
+ const token = tokenResponse.token?.accessToken;
130
+ if (!token) {
131
+ throw new Error('Token not found');
132
+ }
133
+ const _fn = (input, init) => {
134
+ if (!init) {
135
+ init = {};
136
+ }
137
+ if (!init.headers) {
138
+ init.headers = new Headers();
139
+ }
140
+ init.headers.set('Authorization', token);
141
+ return fn(input, init);
142
+ };
143
+ return _fn;
144
+ }
145
+ // TODO: need to make the prefix and header name configuratble from authschemeconfig
146
+ async bearerTokenFetcher(conn, fn) {
147
+ const tokenResponse = await this.tokenClient.getToken(conn.credentials.action[0].credential.id);
148
+ const token = tokenResponse.token?.accessToken;
149
+ if (!token) {
150
+ throw new Error('Token not found');
151
+ }
152
+ const _fn = (input, init) => {
153
+ if (!init) {
154
+ init = {};
155
+ }
156
+ if (!init.headers) {
157
+ init.headers = new Headers();
158
+ }
159
+ if (init.headers instanceof Headers) {
160
+ init.headers.set('Authorization', `Bearer ${token}`);
161
+ }
162
+ else if (init.headers instanceof Array) {
163
+ init.headers.push(['Authorization', `Bearer ${token}`]);
164
+ }
165
+ else {
166
+ init.headers = {
167
+ ...init.headers,
168
+ ['Authorization']: `Bearer ${token}`
169
+ };
170
+ }
171
+ return fn(input, init);
172
+ };
173
+ return _fn;
174
+ }
175
+ async oauth2Fetcher(conn, fn) {
176
+ const tokenResponse = await this.tokenClient.getOAuth2Token(conn.credentials.action[0].credential.id);
177
+ const token = tokenResponse.token?.accessToken;
178
+ const tokenType = tokenResponse.token?.tokenType;
179
+ if (!token) {
180
+ throw new Error('Token not found');
181
+ }
182
+ const _tokenType = () => {
183
+ const _tt = tokenType?.toLowerCase();
184
+ switch (_tt) {
185
+ case 'bearer':
186
+ return 'Bearer';
187
+ case 'mac':
188
+ return 'MAC';
189
+ case 'basic':
190
+ return 'Basic';
191
+ default:
192
+ return 'Bearer';
193
+ }
194
+ };
195
+ const _fn = (input, init) => {
196
+ if (!init) {
197
+ init = {};
198
+ }
199
+ if (!init.headers) {
200
+ init.headers = new Headers();
201
+ }
202
+ if (init.headers instanceof Headers) {
203
+ init.headers.set('Authorization', `${_tokenType()} ${token}`);
204
+ }
205
+ else if (init.headers instanceof Array) {
206
+ init.headers.push(['Authorization', `${_tokenType()} ${token}`]);
207
+ }
208
+ else {
209
+ init.headers = {
210
+ ...init.headers,
211
+ ['Authorization']: `${_tokenType()} ${token}`
212
+ };
213
+ }
214
+ return fn(input, init);
215
+ };
216
+ return _fn;
217
+ }
218
+ }
@@ -7,11 +7,13 @@ export type MemoryInterpreterOptions = {
7
7
  compiler?: ObservableCompiler;
8
8
  contextProvider?: ContextProvider;
9
9
  signal?: AbortSignal;
10
+ skipVersoriCredentials?: boolean;
10
11
  };
11
12
  export declare class MemoryInterpreter {
12
13
  private log;
13
14
  private compiler;
14
15
  private contextProvider;
16
+ private roundTripperFactory;
15
17
  constructor(options?: MemoryInterpreterOptions);
16
18
  run<O>(workflow: Workflow<O>, options?: MemoryInterpreterOptions): Promise<void>;
17
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryInterpreter.d.ts","sourceRoot":"","sources":["../../../../src/src/interpreter/memory/MemoryInterpreter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAuB,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAgB,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAmB,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG9E,MAAM,MAAM,wBAAwB,GAAG;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB,CAAC;AAEF,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,eAAe,CAAkB;gBAE7B,OAAO,GAAE,wBAA6B;IAMlD,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;CAyEnF"}
1
+ {"version":3,"file":"MemoryInterpreter.d.ts","sourceRoot":"","sources":["../../../../src/src/interpreter/memory/MemoryInterpreter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAuB,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAgB,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAmB,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAM9E,MAAM,MAAM,wBAAwB,GAAG;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,mBAAmB,CAAsB;gBAErC,OAAO,GAAE,wBAA6B;IAOlD,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;CA0EnF"}
@@ -4,6 +4,8 @@ import { ContextProviderImpl } from '../../context/ContextProvider.js';
4
4
  import { WorkflowImpl } from '../../dsl/Workflow.js';
5
5
  import { ObservableCompiler } from './ObservableCompiler.js';
6
6
  import { ConsoleLogger } from '../../observability/logging/ConsoleLogger.js';
7
+ import { DefaultRoundTripperFactory } from '../../dsl/http/default.js';
8
+ import { CreateFromEnv } from '../../dsl/http/versori/roundtripper.js';
7
9
  export class MemoryInterpreter {
8
10
  constructor(options = {}) {
9
11
  Object.defineProperty(this, "log", {
@@ -24,9 +26,16 @@ export class MemoryInterpreter {
24
26
  writable: true,
25
27
  value: void 0
26
28
  });
29
+ Object.defineProperty(this, "roundTripperFactory", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: void 0
34
+ });
27
35
  this.log = options.logger || new ConsoleLogger('debug');
28
36
  this.compiler = options.compiler || new ObservableCompiler();
29
37
  this.contextProvider = options.contextProvider || new ContextProviderImpl(this.log);
38
+ this.roundTripperFactory = options.skipVersoriCredentials ? new DefaultRoundTripperFactory() : CreateFromEnv();
30
39
  }
31
40
  run(workflow, options) {
32
41
  const localAbortController = new AbortController();
@@ -48,6 +57,7 @@ export class MemoryInterpreter {
48
57
  compiler: this.compiler,
49
58
  log: this.log,
50
59
  contextProvider: this.contextProvider,
60
+ roundTripperFactory: this.roundTripperFactory,
51
61
  };
52
62
  const trigger$ = this.compiler.compileTrigger(compilerContext, workflow.trigger, combinedSignal);
53
63
  const task$ = this.compiler.compileTask(compilerContext, workflow.task);
@@ -5,10 +5,12 @@ import { ContextOperatorFunction, TaskCompiler, TriggerCompiler } from './compil
5
5
  import { Trigger } from '../../dsl/Trigger.js';
6
6
  import { ContextProvider } from '../../context/ContextProvider.js';
7
7
  import { ContextImpl } from '../../context/Context.js';
8
+ import { RoundTripperFactory } from '../../dsl/http/types.js';
8
9
  export type CompilerContext = {
9
10
  compiler: ObservableCompiler;
10
11
  log: Logger;
11
12
  contextProvider: ContextProvider;
13
+ roundTripperFactory: RoundTripperFactory;
12
14
  };
13
15
  export type CompilerFunc<In = any, Out = any, T extends Task<In, Out> = Task<In, Out>> = (ctx: CompilerContext, task: T) => OperatorFunction<In, Out>;
14
16
  export declare class ObservableCompiler {
@@ -1 +1 @@
1
- {"version":3,"file":"ObservableCompiler.d.ts","sourceRoot":"","sources":["../../../../src/src/interpreter/memory/ObservableCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;AACpD,OAAO,EAAE,IAAI,EAAY,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAO/D,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE9F,OAAO,EAAE,OAAO,EAAe,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,eAAe,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CACrF,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,CAAC,KACN,gBAAgB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAE/B,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,aAAa,CAAkD;IACvE,OAAO,CAAC,gBAAgB,CAAgD;;IAexE,WAAW,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,EACzC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,GACpB,uBAAuB,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC;IAa1C,cAAc,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,EAC3D,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,WAAW,GACpB,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAarC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAKjF,eAAe,CAAC,GAAG,EAAE,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC;CAIjF"}
1
+ {"version":3,"file":"ObservableCompiler.d.ts","sourceRoot":"","sources":["../../../../src/src/interpreter/memory/ObservableCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;AACpD,OAAO,EAAE,IAAI,EAAY,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAO/D,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE9F,OAAO,EAAE,OAAO,EAAe,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,eAAe,CAAC;IACjC,mBAAmB,EAAE,mBAAmB,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CACrF,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,CAAC,KACN,gBAAgB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAE/B,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,aAAa,CAAkD;IACvE,OAAO,CAAC,gBAAgB,CAAgD;;IAexE,WAAW,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,EACzC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,GACpB,uBAAuB,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC;IAe1C,cAAc,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,EAC3D,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,WAAW,GACpB,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAerC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAKjF,eAAe,CAAC,GAAG,EAAE,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC;CAIjF"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../../../src/src/interpreter/memory/compilers/http.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAA2B,YAAY,EAAE,MAAM,YAAY,CAAC;AA4BnE,eAAO,MAAM,YAAY,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAG5E,CAAC"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../../../src/src/interpreter/memory/compilers/http.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAA2B,YAAY,EAAE,MAAM,YAAY,CAAC;AA+BnE,eAAO,MAAM,YAAY,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAG5E,CAAC"}
@@ -2,12 +2,14 @@ import { mergeMap } from 'rxjs';
2
2
  import { tap } from 'rxjs/operators';
3
3
  import { HttpTaskImpl } from '../../../dsl/tasks/HttpTask.js';
4
4
  function compileHttp(ctx, task) {
5
+ const roundtripper = ctx.roundTripperFactory.create(task.opts.connection, fetch);
5
6
  return (src) => src.pipe(tap({
6
7
  complete: () => ctx.log.debug('http.complete')
7
8
  }), mergeMap(async (ctx) => {
9
+ const _fetch = await roundtripper;
8
10
  const httpContext = {
9
11
  ...ctx,
10
- fetch,
12
+ fetch: _fetch,
11
13
  connectionVariables: {}, // TODO: Implement connection variables
12
14
  pageParams: undefined,
13
15
  nextPage: () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versori/run",
3
- "version": "0.0.1-alpha.1",
3
+ "version": "0.0.1-alpha.2",
4
4
  "description": "Versori Run",
5
5
  "homepage": "https://github.com/versori/versori-run#readme",
6
6
  "repository": {
@@ -23,6 +23,9 @@
23
23
  "access": "public"
24
24
  },
25
25
  "dependencies": {
26
+ "@bufbuild/protobuf": "^2.2.3",
27
+ "@connectrpc/connect": "^2.0.1",
28
+ "@connectrpc/connect-node": "^2.0.1",
26
29
  "cron": "3.5.0",
27
30
  "rxjs": "^7.8.1",
28
31
  "@deno/shim-deno": "~0.18.0"
@@ -0,0 +1,23 @@
1
+ import { DynamicFetcher, RoundTripperFactory } from './types.js';
2
+ /**
3
+ * A factory class for creating a default round tripper.
4
+ * This class is used to provide a default implementation for initializing
5
+ * if no round tripper factory is given.
6
+ */
7
+ export declare class DefaultRoundTripperFactory implements RoundTripperFactory {
8
+ /**
9
+ * Constructs a new instance of the DefaultRoundTripperFactory.
10
+ */
11
+ constructor();
12
+ /**
13
+ * Creates a round tripper function.
14
+ * This implementation simply returns the fetch function passed to it.
15
+ *
16
+ * @param connName - The name of the connection.
17
+ * @param fn - The fetch function to be used. Defaults to the global fetch function.
18
+ * @returns A promise that resolves to the fetch function.
19
+ */
20
+ create(connName: string, fn?: typeof fetch): Promise<typeof fetch>;
21
+ createDynamic(templateName: string, fn: typeof fetch): Promise<DynamicFetcher>;
22
+ }
23
+ //# sourceMappingURL=default.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../src/src/dsl/http/default.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjE;;;;GAIG;AACH,qBAAa,0BAA2B,YAAW,mBAAmB;IAClE;;OAEG;;IAGH;;;;;;;OAOG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAE,OAAO,KAAa,GAAG,OAAO,CAAC,OAAO,KAAK,CAAC;IAIzE,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC;CAGvF"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultRoundTripperFactory = void 0;
4
+ /**
5
+ * A factory class for creating a default round tripper.
6
+ * This class is used to provide a default implementation for initializing
7
+ * if no round tripper factory is given.
8
+ */
9
+ class DefaultRoundTripperFactory {
10
+ /**
11
+ * Constructs a new instance of the DefaultRoundTripperFactory.
12
+ */
13
+ constructor() { }
14
+ /**
15
+ * Creates a round tripper function.
16
+ * This implementation simply returns the fetch function passed to it.
17
+ *
18
+ * @param connName - The name of the connection.
19
+ * @param fn - The fetch function to be used. Defaults to the global fetch function.
20
+ * @returns A promise that resolves to the fetch function.
21
+ */
22
+ async create(connName, fn = fetch) {
23
+ return fn;
24
+ }
25
+ async createDynamic(templateName, fn) {
26
+ throw new Error('Method not implemented.');
27
+ }
28
+ }
29
+ exports.DefaultRoundTripperFactory = DefaultRoundTripperFactory;
@@ -0,0 +1,53 @@
1
+ export interface DynamicContext {
2
+ getUserId(): string | undefined;
3
+ }
4
+ export type DynamicFetcher = (ctx: DynamicContext, input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
5
+ export interface RoundTripperFactory {
6
+ create(connName: string, fn: typeof fetch): Promise<typeof fetch>;
7
+ createDynamic(templateName: string, fn: typeof fetch): Promise<DynamicFetcher>;
8
+ }
9
+ export type AuthSchemeConfig = {
10
+ schemeType: string;
11
+ [key: string]: any;
12
+ };
13
+ export type Credential = {
14
+ data: Record<string, string>;
15
+ id: string;
16
+ name: string;
17
+ organisationId: string;
18
+ type: string;
19
+ };
20
+ export type ConnectionCredential = {
21
+ authSchemeConfig: AuthSchemeConfig;
22
+ credential: Credential;
23
+ id: string;
24
+ };
25
+ export type Connection = {
26
+ createdAt: string;
27
+ credentials: {
28
+ action: ConnectionCredential[];
29
+ trigger: ConnectionCredential[];
30
+ };
31
+ id: string;
32
+ name: string;
33
+ updatedAt: string;
34
+ variables: Record<string, string>[];
35
+ };
36
+ export type System = {
37
+ documentationUrl: string;
38
+ name: string;
39
+ protocol: string;
40
+ variablesSchema: {
41
+ [key: string]: any;
42
+ };
43
+ };
44
+ export type ConfigConnection = {
45
+ id?: string;
46
+ name: string;
47
+ authSchemeConfig: AuthSchemeConfig;
48
+ };
49
+ export type VersoriSDKConfig = {
50
+ systems: System[];
51
+ connections: Connection[];
52
+ };
53
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/src/dsl/http/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,SAAS,IAAI,MAAM,GAAG,SAAS,CAAC;CACnC;AAGD,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEtH,MAAM,WAAW,mBAAmB;IAChC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,KAAK,GAAG,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC;IAGlE,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAClF;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE;QACT,MAAM,EAAE,oBAAoB,EAAE,CAAC;QAC/B,OAAO,EAAE,oBAAoB,EAAE,CAAC;KACnC,CAAC;IACF,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE;QACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACtB,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,gBAAgB,CAAC;CACtC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC7B,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ ;
@@ -0,0 +1,12 @@
1
+ import { VersoriSDKConfig } from '../types.js';
2
+ /**
3
+ * Loads the Versori SDK configuration from a JSON file.
4
+ *
5
+ * This function reads the 'versori.json' file synchronously and parses its content
6
+ * into a `VersoriSDKConfig` object. This assumes the config file is in the root where
7
+ * the application is run.
8
+ *
9
+ * @returns {VersoriSDKConfig} The parsed configuration object.
10
+ */
11
+ export declare function LoadConfigFromJSON(): VersoriSDKConfig;
12
+ //# sourceMappingURL=configloader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configloader.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/configloader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,gBAAgB,CAIrD"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.LoadConfigFromJSON = LoadConfigFromJSON;
27
+ const dntShim = __importStar(require("../../../../_dnt.shims.js"));
28
+ /**
29
+ * Loads the Versori SDK configuration from a JSON file.
30
+ *
31
+ * This function reads the 'versori.json' file synchronously and parses its content
32
+ * into a `VersoriSDKConfig` object. This assumes the config file is in the root where
33
+ * the application is run.
34
+ *
35
+ * @returns {VersoriSDKConfig} The parsed configuration object.
36
+ */
37
+ function LoadConfigFromJSON() {
38
+ const cfg = JSON.parse(dntShim.Deno.readTextFileSync('versori.json'));
39
+ return cfg;
40
+ }
@@ -0,0 +1,11 @@
1
+ import { Connection } from '../types.js';
2
+ export declare class ConnectAPIClient {
3
+ private baseUrl;
4
+ private orgId;
5
+ private serviceConnId;
6
+ private internalAuth;
7
+ private cache;
8
+ constructor(baseUrl: string, orgId: string, serviceConnId: string, cache?: Record<string, Connection>);
9
+ getConnection(cnxId: string): Promise<Connection | undefined>;
10
+ }
11
+ //# sourceMappingURL=connectapi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectapi.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/connectapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,qBAAa,gBAAgB;IACzB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,YAAY,CAAe;IAEnC,OAAO,CAAC,KAAK,CAA6B;gBAGtC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAM;IASpC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CAwBtE"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConnectAPIClient = void 0;
4
+ const internalauth_js_1 = require("./internalauth.js");
5
+ class ConnectAPIClient {
6
+ constructor(baseUrl, orgId, serviceConnId, cache = {} // for now this is an in-memory cache
7
+ ) {
8
+ Object.defineProperty(this, "baseUrl", {
9
+ enumerable: true,
10
+ configurable: true,
11
+ writable: true,
12
+ value: void 0
13
+ });
14
+ Object.defineProperty(this, "orgId", {
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true,
18
+ value: void 0
19
+ });
20
+ Object.defineProperty(this, "serviceConnId", {
21
+ enumerable: true,
22
+ configurable: true,
23
+ writable: true,
24
+ value: void 0
25
+ });
26
+ Object.defineProperty(this, "internalAuth", {
27
+ enumerable: true,
28
+ configurable: true,
29
+ writable: true,
30
+ value: void 0
31
+ });
32
+ Object.defineProperty(this, "cache", {
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true,
36
+ value: void 0
37
+ });
38
+ this.baseUrl = baseUrl;
39
+ this.orgId = orgId;
40
+ this.cache = cache;
41
+ this.serviceConnId = serviceConnId;
42
+ this.internalAuth = new internalauth_js_1.InternalAuth();
43
+ }
44
+ async getConnection(cnxId) {
45
+ if (this.cache[cnxId]) {
46
+ return this.cache[cnxId];
47
+ }
48
+ const resp = await fetch(`${this.baseUrl}/connect/v1/o/${this.orgId}/connectors/${this.serviceConnId}/connections/${cnxId}`, {
49
+ headers: {
50
+ 'x-versori-internal-token': await this.internalAuth.getToken(),
51
+ },
52
+ });
53
+ if (!resp.ok) {
54
+ return undefined;
55
+ }
56
+ const result = (await resp.json());
57
+ this.cache[cnxId] = result;
58
+ return result;
59
+ }
60
+ }
61
+ exports.ConnectAPIClient = ConnectAPIClient;
@@ -0,0 +1,10 @@
1
+ import { GetAccessTokenResponse } from './oauth2/v1/token_service_pb.js';
2
+ import { GetTokenResponse } from './tokens/v1/token_service_pb.js';
3
+ export declare class VersoriCredentialClient {
4
+ private oauth2Client;
5
+ private TokenService;
6
+ constructor(credsBaseUrl: string);
7
+ getToken(credId: string): Promise<GetTokenResponse>;
8
+ getOAuth2Token(credId: string): Promise<GetAccessTokenResponse>;
9
+ }
10
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/src/dsl/http/versori/credentials/client.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,qBAAa,uBAAuB;IAChC,OAAO,CAAC,YAAY,CAAoB;IAExC,OAAO,CAAC,YAAY,CAAc;gBAMtB,YAAY,EAAE,MAAM;IAMhC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAGlE"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VersoriCredentialClient = void 0;
4
+ const credentials_js_1 = require("./credentials.js");
5
+ class VersoriCredentialClient {
6
+ // private CredentialService: CredentialService;
7
+ // need to add custom function service
8
+ constructor(credsBaseUrl) {
9
+ Object.defineProperty(this, "oauth2Client", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: void 0
14
+ });
15
+ Object.defineProperty(this, "TokenService", {
16
+ enumerable: true,
17
+ configurable: true,
18
+ writable: true,
19
+ value: void 0
20
+ });
21
+ this.oauth2Client = (0, credentials_js_1.createOAuth2TokenService)(credsBaseUrl);
22
+ this.TokenService = (0, credentials_js_1.createTokenClient)(credsBaseUrl);
23
+ // this.CredentialService = createCredentialService(credsBaseUrl);
24
+ }
25
+ getToken(credId) {
26
+ return this.TokenService.getToken({ credentialId: credId });
27
+ }
28
+ getOAuth2Token(credId) {
29
+ return this.oauth2Client.getAccessToken({ credentialId: credId });
30
+ }
31
+ }
32
+ exports.VersoriCredentialClient = VersoriCredentialClient;