@araminix/platform 1.0.0 → 1.7.0

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 (59) hide show
  1. package/README.md +73 -1
  2. package/dist/src/Platform.d.ts +12 -1
  3. package/dist/src/Platform.d.ts.map +1 -1
  4. package/dist/src/Platform.js +217 -77
  5. package/dist/src/Platform.js.map +1 -1
  6. package/dist/src/agent/AgentController.d.ts +24 -3
  7. package/dist/src/agent/AgentController.d.ts.map +1 -1
  8. package/dist/src/agent/AgentController.js +168 -60
  9. package/dist/src/agent/AgentController.js.map +1 -1
  10. package/dist/src/agent/worker.js +5 -0
  11. package/dist/src/agent/worker.js.map +1 -1
  12. package/dist/src/executor/Instance.d.ts +9 -3
  13. package/dist/src/executor/Instance.d.ts.map +1 -1
  14. package/dist/src/executor/Instance.js +148 -36
  15. package/dist/src/executor/Instance.js.map +1 -1
  16. package/dist/src/server/AuthProvider.d.ts +70 -1
  17. package/dist/src/server/AuthProvider.d.ts.map +1 -1
  18. package/dist/src/server/AuthProvider.js +12 -1
  19. package/dist/src/server/AuthProvider.js.map +1 -1
  20. package/dist/src/server/Endpoint.d.ts +30 -1
  21. package/dist/src/server/Endpoint.d.ts.map +1 -1
  22. package/dist/src/server/Endpoint.js +467 -72
  23. package/dist/src/server/Endpoint.js.map +1 -1
  24. package/dist/src/server/index.d.ts +1 -0
  25. package/dist/src/server/index.d.ts.map +1 -1
  26. package/dist/src/server/index.js +1 -0
  27. package/dist/src/server/index.js.map +1 -1
  28. package/dist/src/utils/log_middleware.d.ts.map +1 -1
  29. package/dist/src/utils/log_middleware.js +2 -1
  30. package/dist/src/utils/log_middleware.js.map +1 -1
  31. package/dist/src/utils/minioService.d.ts +1 -0
  32. package/dist/src/utils/minioService.d.ts.map +1 -1
  33. package/dist/src/utils/minioService.js +6 -3
  34. package/dist/src/utils/minioService.js.map +1 -1
  35. package/dist/tests/agentWorker.test.d.ts +2 -0
  36. package/dist/tests/agentWorker.test.d.ts.map +1 -0
  37. package/dist/tests/agentWorker.test.js +225 -0
  38. package/dist/tests/agentWorker.test.js.map +1 -0
  39. package/dist/tests/authProvider.test.js +15 -0
  40. package/dist/tests/authProvider.test.js.map +1 -1
  41. package/dist/tests/endpointSecurity.test.d.ts +2 -0
  42. package/dist/tests/endpointSecurity.test.d.ts.map +1 -0
  43. package/dist/tests/endpointSecurity.test.js +1007 -0
  44. package/dist/tests/endpointSecurity.test.js.map +1 -0
  45. package/dist/tests/logMiddleware.test.js +50 -0
  46. package/dist/tests/logMiddleware.test.js.map +1 -1
  47. package/dist/tests/minioService.test.js +178 -1
  48. package/dist/tests/minioService.test.js.map +1 -1
  49. package/dist/tests/platform.test.js +245 -0
  50. package/dist/tests/platform.test.js.map +1 -1
  51. package/dist/tests/unhandledRejections.test.d.ts +2 -0
  52. package/dist/tests/unhandledRejections.test.d.ts.map +1 -0
  53. package/dist/tests/unhandledRejections.test.js +204 -0
  54. package/dist/tests/unhandledRejections.test.js.map +1 -0
  55. package/dist/tests/uploadSecurity.test.d.ts +2 -0
  56. package/dist/tests/uploadSecurity.test.d.ts.map +1 -0
  57. package/dist/tests/uploadSecurity.test.js +219 -0
  58. package/dist/tests/uploadSecurity.test.js.map +1 -0
  59. package/package.json +4 -3
@@ -1,4 +1,4 @@
1
- import { deal, Err, err, Ok, ok, once, StreamCloseCodes, t, uuid } from '@araminix/lib';
1
+ import { deal, Err, err, logger, Ok, ok, once, StreamCloseCodes, t, uuid } from '@araminix/lib';
2
2
  import { MessageChannel, Worker } from 'worker_threads';
3
3
  import { Rej, RequestSocket, Res, ResponseSocket } from '../lib/worker_socket.js';
4
4
  import { AcquireAgent, Action, AgentList, AgentTask, Close, Data, deserialize, Load, Prev, Query, Refresh, Reload, SendBuild, SendPush, SendUpdate, Switch, UpdateActivityList, } from './proto.js';
@@ -21,9 +21,11 @@ export default class Instance {
21
21
  appIndexPath;
22
22
  tabLimit;
23
23
  agentController;
24
+ resourceLimits;
25
+ terminationGracePeriodMs;
24
26
  worker = undefined;
25
- requestSocket;
26
- responseSocket;
27
+ requestSocket = undefined;
28
+ responseSocket = undefined;
27
29
  status = Status.Created;
28
30
  id = uuid();
29
31
  appTitle = '';
@@ -31,32 +33,57 @@ export default class Instance {
31
33
  onDestroy = undefined;
32
34
  _touched = Date.now();
33
35
  userSocket = undefined;
34
- constructor(userId, appName, profile, appIndexPath, tabLimit, agentController) {
36
+ terminationTimer = undefined;
37
+ constructor(userId, appName, profile, appIndexPath, tabLimit, agentController, resourceLimits, terminationGracePeriodMs = 500) {
35
38
  this.userId = userId;
36
39
  this.appName = appName;
37
40
  this.profile = profile;
38
41
  this.appIndexPath = appIndexPath;
39
42
  this.tabLimit = tabLimit;
40
43
  this.agentController = agentController;
44
+ this.resourceLimits = resourceLimits;
45
+ this.terminationGracePeriodMs = terminationGracePeriodMs;
46
+ }
47
+ get isDestroyed() {
48
+ return this.status === Status.Destroyed;
41
49
  }
42
50
  get touched() {
43
51
  return this._touched;
44
52
  }
53
+ touch(time = Date.now()) {
54
+ this._touched = time;
55
+ }
45
56
  connect(socket) {
46
- this._touched = Date.now();
57
+ this.touch();
47
58
  if (this.userSocket) {
48
59
  this.userSocket.destroy();
49
60
  }
50
61
  this.userSocket = socket;
51
62
  once(async () => {
52
- this.processStream(socket, 'load', () => this.load()).then();
53
- this.processStream(socket, 'reload', (args) => this.reload(args)).then();
54
- this.processStream(socket, 'prev', (args) => this.prev(args)).then();
55
- this.processStream(socket, 'close', (args) => this.close(args)).then();
56
- this.processStream(socket, 'switch', (args) => this.switchActive(args)).then();
57
- this.processStream(socket, 'action', (args) => this.action(args)).then();
58
- this.processStream(socket, 'query', (args) => this.query(args)).then();
59
- this.processStream(socket, 'refresh', (args) => this.refresh(args)).then();
63
+ this.processStream(socket, 'load', () => this.load()).catch((err) => {
64
+ logger.error('Unhandled error in processStream load:', err);
65
+ });
66
+ this.processStream(socket, 'reload', (args) => this.reload(args)).catch((err) => {
67
+ logger.error('Unhandled error in processStream reload:', err);
68
+ });
69
+ this.processStream(socket, 'prev', (args) => this.prev(args)).catch((err) => {
70
+ logger.error('Unhandled error in processStream prev:', err);
71
+ });
72
+ this.processStream(socket, 'close', (args) => this.close(args)).catch((err) => {
73
+ logger.error('Unhandled error in processStream close:', err);
74
+ });
75
+ this.processStream(socket, 'switch', (args) => this.switchActive(args)).catch((err) => {
76
+ logger.error('Unhandled error in processStream switch:', err);
77
+ });
78
+ this.processStream(socket, 'action', (args) => this.action(args)).catch((err) => {
79
+ logger.error('Unhandled error in processStream action:', err);
80
+ });
81
+ this.processStream(socket, 'query', (args) => this.query(args)).catch((err) => {
82
+ logger.error('Unhandled error in processStream query:', err);
83
+ });
84
+ this.processStream(socket, 'refresh', (args) => this.refresh(args)).catch((err) => {
85
+ logger.error('Unhandled error in processStream refresh:', err);
86
+ });
60
87
  await socket.waitClose();
61
88
  if (this.userSocket === socket) {
62
89
  this.userSocket = undefined;
@@ -64,6 +91,9 @@ export default class Instance {
64
91
  });
65
92
  }
66
93
  async load() {
94
+ if (!this.requestSocket) {
95
+ return new Err(IncomingStreamErr.Execution);
96
+ }
67
97
  const result = await this.requestSocket.writeRead(new Load());
68
98
  if (result.isErr()) {
69
99
  return new Err(IncomingStreamErr.Execution);
@@ -74,6 +104,9 @@ export default class Instance {
74
104
  if (typeof args !== 'string') {
75
105
  return new Err(IncomingStreamErr.Format);
76
106
  }
107
+ if (!this.requestSocket) {
108
+ return new Err(IncomingStreamErr.Execution);
109
+ }
77
110
  const result = await this.requestSocket.writeRead(new Reload(args));
78
111
  if (result.isErr()) {
79
112
  return new Err(IncomingStreamErr.Execution);
@@ -84,6 +117,9 @@ export default class Instance {
84
117
  if (typeof args !== 'string') {
85
118
  return new Err(IncomingStreamErr.Format);
86
119
  }
120
+ if (!this.requestSocket) {
121
+ return new Err(IncomingStreamErr.Execution);
122
+ }
87
123
  const result = await this.requestSocket.writeRead(new Prev(args));
88
124
  if (result.isErr()) {
89
125
  return new Err(IncomingStreamErr.Execution);
@@ -94,6 +130,9 @@ export default class Instance {
94
130
  if (typeof args !== 'string') {
95
131
  return new Err(IncomingStreamErr.Format);
96
132
  }
133
+ if (!this.requestSocket) {
134
+ return new Err(IncomingStreamErr.Execution);
135
+ }
97
136
  const result = await this.requestSocket.writeRead(new Close(args));
98
137
  if (result.isErr()) {
99
138
  return new Err(IncomingStreamErr.Execution);
@@ -104,6 +143,9 @@ export default class Instance {
104
143
  if (typeof args !== 'string') {
105
144
  return new Err(IncomingStreamErr.Format);
106
145
  }
146
+ if (!this.requestSocket) {
147
+ return new Err(IncomingStreamErr.Execution);
148
+ }
107
149
  const result = await this.requestSocket.writeRead(new Switch(args));
108
150
  if (result.isErr()) {
109
151
  return new Err(IncomingStreamErr.Execution);
@@ -114,6 +156,9 @@ export default class Instance {
114
156
  if (typeof args !== 'string') {
115
157
  return new Err(IncomingStreamErr.Format);
116
158
  }
159
+ if (!this.requestSocket) {
160
+ return new Err(IncomingStreamErr.Execution);
161
+ }
117
162
  const result = await this.requestSocket.writeRead(new Refresh(args));
118
163
  if (result.isErr()) {
119
164
  return new Err(IncomingStreamErr.Execution);
@@ -129,6 +174,9 @@ export default class Instance {
129
174
  if (!argsType.is(args)) {
130
175
  return new Err(IncomingStreamErr.Format);
131
176
  }
177
+ if (!this.requestSocket) {
178
+ return new Err(IncomingStreamErr.Execution);
179
+ }
132
180
  const result = await this.requestSocket.writeRead(new Action(args.fragmentId, args.name, args.data));
133
181
  if (result.isErr()) {
134
182
  return new Err(IncomingStreamErr.Execution);
@@ -144,6 +192,9 @@ export default class Instance {
144
192
  if (!argsType.is(args)) {
145
193
  return new Err(IncomingStreamErr.Format);
146
194
  }
195
+ if (!this.requestSocket) {
196
+ return new Err(IncomingStreamErr.Execution);
197
+ }
147
198
  const result = await this.requestSocket.writeRead(new Query(args.fragmentId, args.name, args.data));
148
199
  if (result.isErr() || !(result.unwrap() instanceof Data)) {
149
200
  return new Err(IncomingStreamErr.Execution);
@@ -157,16 +208,26 @@ export default class Instance {
157
208
  return;
158
209
  }
159
210
  const stream = streamResult.unwrap();
160
- const result = await handler(stream.args);
161
- await stream.write(result.serialize());
162
- stream.closeOk();
211
+ try {
212
+ const result = await handler(stream.args);
213
+ await stream.write(result.serialize());
214
+ stream.closeOk();
215
+ }
216
+ catch (err) {
217
+ logger.error(`Error processing stream '${streamName}':`, err);
218
+ try {
219
+ stream.closeErr();
220
+ }
221
+ catch { }
222
+ }
163
223
  }
164
224
  }
165
225
  async init(onDestroy) {
166
226
  if (this.status !== Status.Created) {
167
- console.log('Tried to initiate more than once');
168
- return ok();
227
+ logger.warn('Tried to initiate instance more than once or when not in Created status');
228
+ return err();
169
229
  }
230
+ this.onDestroy = onDestroy;
170
231
  this.status = Status.Initiating;
171
232
  const requestChannel = new MessageChannel();
172
233
  const responseChannel = new MessageChannel();
@@ -181,7 +242,13 @@ export default class Instance {
181
242
  };
182
243
  this.requestSocket = new RequestSocket(requestChannel.port1, deserialize);
183
244
  this.responseSocket = new ResponseSocket(responseChannel.port1, deserialize);
184
- this.worker = new Worker(new URL('./worker.js', import.meta.url));
245
+ const resourceLimits = this.resourceLimits ?? {
246
+ maxOldGenerationSizeMb: 128,
247
+ stackSizeMb: 4,
248
+ };
249
+ this.worker = new Worker(new URL('./worker.js', import.meta.url), {
250
+ resourceLimits,
251
+ });
185
252
  const [promise, resolve] = deal();
186
253
  this.worker.postMessage(workerInit, [workerInit.requestPort, workerInit.responsePort]);
187
254
  this.worker.on('message', (appTitle) => {
@@ -194,30 +261,76 @@ export default class Instance {
194
261
  });
195
262
  this.worker.on('error', (error) => {
196
263
  if (error !== true) {
197
- console.log('worker error', error);
264
+ logger.error('worker error', error);
198
265
  }
199
266
  resolve(err());
200
267
  });
201
268
  const result = await promise;
202
- if (result.isOk()) {
203
- this.onDestroy = onDestroy;
269
+ if (result.isOk() && !this.isDestroyed) {
204
270
  this.status = Status.Initiated;
205
271
  this.responseLoop().then();
206
272
  return result;
207
273
  }
208
- this.status = Status.Destroyed;
209
- return result;
274
+ this.destroy();
275
+ return err();
210
276
  }
211
277
  destroy() {
212
- if (this.onDestroy) {
213
- this.onDestroy();
214
- this.onDestroy = undefined;
278
+ const cleanup = this.onDestroy;
279
+ this.onDestroy = undefined;
280
+ if (cleanup) {
281
+ try {
282
+ cleanup();
283
+ }
284
+ catch (err) {
285
+ logger.error('Error during instance onDestroy cleanup:', err);
286
+ }
287
+ }
288
+ if (this.status === Status.Destroyed) {
289
+ return;
290
+ }
291
+ this.status = Status.Destroyed;
292
+ try {
293
+ this.requestSocket?.close();
294
+ }
295
+ catch { }
296
+ try {
297
+ this.responseSocket?.close();
298
+ }
299
+ catch { }
300
+ if (this.userSocket) {
301
+ try {
302
+ this.userSocket.destroy();
303
+ }
304
+ catch { }
305
+ this.userSocket = undefined;
306
+ }
307
+ if (this.worker) {
308
+ const worker = this.worker;
309
+ this.worker = undefined;
310
+ if (this.terminationTimer) {
311
+ clearTimeout(this.terminationTimer);
312
+ this.terminationTimer = undefined;
313
+ }
314
+ this.terminationTimer = setTimeout(() => {
315
+ this.terminationTimer = undefined;
316
+ worker.terminate().catch((err) => {
317
+ logger.error('Error terminating worker:', err);
318
+ });
319
+ }, this.terminationGracePeriodMs);
320
+ if (typeof this.terminationTimer.unref === 'function') {
321
+ this.terminationTimer.unref();
322
+ }
323
+ worker.once('exit', () => {
324
+ if (this.terminationTimer) {
325
+ clearTimeout(this.terminationTimer);
326
+ this.terminationTimer = undefined;
327
+ }
328
+ });
215
329
  }
216
- this.requestSocket.close();
217
330
  }
218
331
  async outgoingStream(name, arg) {
219
- if (!this.userSocket) {
220
- this.responseSocket.write(new Rej());
332
+ if (!this.userSocket || !this.responseSocket) {
333
+ this.responseSocket?.write(new Rej());
221
334
  return;
222
335
  }
223
336
  const streamResult = await this.userSocket.outgoingStream(name, arg);
@@ -234,7 +347,10 @@ export default class Instance {
234
347
  this.responseSocket.write(new Res());
235
348
  }
236
349
  async responseLoop() {
237
- while (true) {
350
+ while (this.status !== Status.Destroyed) {
351
+ if (!this.responseSocket) {
352
+ break;
353
+ }
238
354
  const result = await this.responseSocket.read();
239
355
  if (result.isErr()) {
240
356
  break;
@@ -293,11 +409,7 @@ export default class Instance {
293
409
  }
294
410
  }
295
411
  }
296
- this.status = Status.Destroyed;
297
- this.requestSocket.close();
298
- if (this.onDestroy) {
299
- this.onDestroy();
300
- }
412
+ this.destroy();
301
413
  }
302
414
  }
303
415
  //# sourceMappingURL=Instance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Instance.js","sourceRoot":"","sources":["../../../src/executor/Instance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Instance.js","sourceRoot":"","sources":["../../../src/executor/Instance.ts"],"names":[],"mappings":"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"}
@@ -107,23 +107,92 @@ export type MobileResponseType<R = unknown, E = unknown> = {
107
107
  result?: R;
108
108
  };
109
109
  export declare abstract class AuthProvider {
110
+ /**
111
+ * Get information about a user.
112
+ *
113
+ * @param token The token of the user.
114
+ */
110
115
  abstract getInfo<TClient extends ClientInfo = ClientInfo, TErr = unknown>(token: Token): Promise<Result<TClient, TErr>>;
116
+ /**
117
+ * Authenticate a user.
118
+ *
119
+ * @param data The data of the user.
120
+ */
111
121
  abstract auth<TAuthData = unknown, TErr = unknown>(data: TAuthData): Promise<Result<Token | {
112
122
  twoFactorCode: string;
113
123
  accountName: string;
114
124
  }, TErr>>;
125
+ /**
126
+ * Authenticate a user using Google.
127
+ *
128
+ * @param data The data of the user.
129
+ */
115
130
  abstract googleAuth<TErr = unknown>(data: GoogleDataType): Promise<Result<Token | {
116
131
  twoFactorCode: string;
117
132
  accountName: string;
118
133
  }, TErr>>;
134
+ /**
135
+ * Destroy a session.
136
+ *
137
+ * @param token The token of the user.
138
+ */
119
139
  abstract destroy(token: string): Promise<void>;
140
+ /**
141
+ * Refresh a token.
142
+ *
143
+ * @param old_token The old token.
144
+ */
120
145
  abstract refreshToken<TErr = unknown>(old_token: string): Promise<Result<string, TErr>>;
146
+ /**
147
+ * Request 2FA for a user.
148
+ *
149
+ * @param userId The ID of the user.
150
+ */
121
151
  abstract request2FA<TErr = unknown>(userId: string): Promise<Result<string, TErr>>;
152
+ /**
153
+ * Enable 2FA for a user.
154
+ *
155
+ * SECURITY REQUIREMENT:
156
+ * The AuthProvider implementation MUST verify that the provided `secret` matches the one
157
+ * generated and issued by the server during `request2FA` for this `userId`, rather than
158
+ * trusting an arbitrary secret supplied by the client.
159
+ */
122
160
  abstract enable2FA<TErr = unknown>(userId: string, secret: string, code: string): Promise<Result<boolean, TErr>>;
161
+ /**
162
+ * Verify 2FA for a user.
163
+ *
164
+ * @param accountName The account name.
165
+ * @param code The verification code.
166
+ * @param uuid The UUID of the user.
167
+ */
123
168
  abstract verify2FA<TErr = unknown>(accountName: string, code: string, uuid: string): Promise<Result<Token | boolean, TErr>>;
124
- abstract disable2FA<TErr = unknown>(userId: string): Promise<Result<boolean, TErr>>;
169
+ /**
170
+ * Disable 2FA for a user.
171
+ *
172
+ * @param userId The ID of the user.
173
+ * @param code Optional TOTP verification code to verify user authorization before disabling 2FA.
174
+ */
175
+ abstract disable2FA<TErr = unknown>(userId: string, code?: string): Promise<Result<boolean, TErr>>;
176
+ /**
177
+ * Request an upload URL.
178
+ *
179
+ * @param attachmentId The attachment ID.
180
+ * @param fileName The file name.
181
+ * @param mimeType The mime type.
182
+ */
125
183
  abstract requestUploadUrl<TErr = unknown>(attachmentId: string, fileName: string, mimeType: string): Promise<Result<string, TErr>>;
184
+ /**
185
+ * Request a download URL.
186
+ *
187
+ * @param attachmentId The attachment ID.
188
+ * @param fileName The file name.
189
+ */
126
190
  abstract requestDownloadUrl<TErr = unknown>(attachmentId: string, fileName: string): Promise<Result<string, TErr>>;
191
+ /**
192
+ * Process mobile requests. This method is used to process requests from the mobile application.
193
+ *
194
+ * @param data The mobile request data.
195
+ */
127
196
  abstract mobileRequests<MODULE extends string = string, ACTION extends string = string, R = unknown, E = unknown>(data: MobileRequestType<MODULE, ACTION>): Promise<MobileResponseType<R, E>>;
128
197
  }
129
198
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../../src/server/AuthProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAEpD,eAAO,MAAM,UAAU;;;;;;EAMrB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AACzD,KAAK,KAAK,GAAG,MAAM,CAAC;AAEpB,oBAAY,UAAU;IAClB,KAAK,UAAU;IACf,IAAI,SAAS;CAChB;AAED,8BAAsB,UAAU;IAC5B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG;QACX,SAAS,EAAE,YAAY,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC;QACxD,OAAO,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACL;AAED,MAAM,WAAW,qBAAqB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG;QACX,SAAS,EAAE,YAAY,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC;KAC3D,CAAC;CACL;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAClD,eAAe,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAClD,IAAI,CAAC,EAAE;QACH,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;CACL;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,aAAa,EAAE,mBAAmB,CAAC;IACnC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC5C,CAAC;AAEF,qBAAa,QAAS,SAAQ,UAAU;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KAChB,EAAE,CAAC;IACJ,QAAQ,CAAC,UAAU,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EACZ;QACI,aAAa,EAAE,mBAAmB,CAAC;QACnC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;KAChD,GACD,SAAS,CAAC;IAChB,QAAQ,CAAC,UAAU,mBAAmB;IAEtC,YACI,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KAChB,EAAE,EACH,UAAU,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KAChB,EACD,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,EAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,EAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,EAChC,QAAQ,CAAC,EACH;QACI,aAAa,EAAE,mBAAmB,CAAC;QACnC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;KAChD,GACD,SAAS,EAclB;CACJ;AAED,qBAAa,SAAU,SAAQ,UAAU;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,UAAU,oBAAoB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,YAAY,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAKxC;CACJ;AAED,MAAM,MAAM,iBAAiB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,GAAG,OAAO,IAAI;IAC7G,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,MAAM,CAAC,EAAE,CAAC,CAAC;CACd,CAAC;AAEF,8BAAsB,YAAY;IAC9B,QAAQ,CAAC,OAAO,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,IAAI,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACxH,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IACnJ,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IACzI,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACxF,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACnF,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACjH,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5H,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACpF,QAAQ,CAAC,gBAAgB,CAAC,IAAI,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACnI,QAAQ,CAAC,kBAAkB,CAAC,IAAI,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACnH,QAAQ,CAAC,cAAc,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAC5G,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACxC"}
1
+ {"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../../src/server/AuthProvider.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,18 @@ export class UserInfo extends ClientInfo {
38
38
  this.picture = picture;
39
39
  this.language = language;
40
40
  this.employeeKey = employeeKey;
41
- this.settings = settings;
41
+ if (settings && settings.two_factor) {
42
+ const { secret: _secret, code: _code, enabled } = settings.two_factor;
43
+ this.settings = {
44
+ ...settings,
45
+ two_factor: {
46
+ enabled: Boolean(enabled),
47
+ },
48
+ };
49
+ }
50
+ else {
51
+ this.settings = settings;
52
+ }
42
53
  }
43
54
  }
44
55
  export class AgentInfo extends ClientInfo {
@@ -1 +1 @@
1
- {"version":3,"file":"AuthProvider.js","sourceRoot":"","sources":["../../../src/server/AuthProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,CAAC,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM;IACf,UAAU,EAAE,CAAC,CAAC,MAAM;IACpB,WAAW,EAAE,CAAC,CAAC,MAAM;IACrB,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,OAAO,EAAE,CAAC,CAAC,MAAM;CACpB,CAAC,CAAC;AAKH,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,2BAAa,CAAA;AACjB,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,OAAgB,UAAU;CAI/B;AAsCD,MAAM,OAAO,QAAS,SAAQ,UAAU;IAC3B,EAAE,CAAS;IACX,QAAQ,CAAS;IACjB,IAAI,CAAS;IACb,SAAS,CAAS;IAClB,KAAK,CAAS;IACd,KAAK,CAIV;IACK,UAAU,CAIjB;IACO,OAAO,CAAwB;IAC/B,QAAQ,CAAsB;IAC9B,WAAW,CAAsB;IACjC,QAAQ,CAMD;IACP,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;IAEtC,YACI,EAAU,EACV,QAAgB,EAChB,IAAY,EACZ,SAAiB,EACjB,KAAa,EACb,KAIG,EACH,UAIC,EACD,OAA8B,EAC9B,QAA6B,EAC7B,WAAgC,EAChC,QAMe;QAEf,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AAED,MAAM,OAAO,SAAU,SAAQ,UAAU;IACrC,EAAE,CAAS;IACX,SAAS,CAAS;IACT,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC;IAC9B,SAAS,CAAS;IAE3B,YAAY,EAAU,EAAE,SAAiB;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACxB,CAAC;CACJ;AAgBD,MAAM,OAAgB,YAAY;CAejC"}
1
+ {"version":3,"file":"AuthProvider.js","sourceRoot":"","sources":["../../../src/server/AuthProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,CAAC,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM;IACf,UAAU,EAAE,CAAC,CAAC,MAAM;IACpB,WAAW,EAAE,CAAC,CAAC,MAAM;IACrB,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,OAAO,EAAE,CAAC,CAAC,MAAM;CACpB,CAAC,CAAC;AAKH,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,2BAAa,CAAA;AACjB,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,OAAgB,UAAU;CAI/B;AAsCD,MAAM,OAAO,QAAS,SAAQ,UAAU;IAC3B,EAAE,CAAS;IACX,QAAQ,CAAS;IACjB,IAAI,CAAS;IACb,SAAS,CAAS;IAClB,KAAK,CAAS;IACd,KAAK,CAIV;IACK,UAAU,CAIjB;IACO,OAAO,CAAwB;IAC/B,QAAQ,CAAsB;IAC9B,WAAW,CAAsB;IACjC,QAAQ,CAMD;IACP,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;IAEtC,YACI,EAAU,EACV,QAAgB,EAChB,IAAY,EACZ,SAAiB,EACjB,KAAa,EACb,KAIG,EACH,UAIC,EACD,OAA8B,EAC9B,QAA6B,EAC7B,WAAgC,EAChC,QAMe;QAEf,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,QAAQ,IAAK,QAAgB,CAAC,UAAU,EAAE,CAAC;YAC3C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAI,QAAgB,CAAC,UAAU,CAAC;YAC/E,IAAI,CAAC,QAAQ,GAAG;gBACZ,GAAG,QAAQ;gBACX,UAAU,EAAE;oBACR,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;iBAC5B;aACJ,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,CAAC;IACL,CAAC;CACJ;AAED,MAAM,OAAO,SAAU,SAAQ,UAAU;IACrC,EAAE,CAAS;IACX,SAAS,CAAS;IACT,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC;IAC9B,SAAS,CAAS;IAE3B,YAAY,EAAU,EAAE,SAAiB;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACxB,CAAC;CACJ;AAgBD,MAAM,OAAgB,YAAY;CA+FjC"}
@@ -1,11 +1,25 @@
1
1
  import { Result } from '@araminix/lib';
2
+ import { CookieOptions, Request, Response } from 'express';
2
3
  import expressWs from 'express-ws';
3
4
  import { MinioOptions } from '../utils/index.js';
4
5
  import { AuthProvider } from './AuthProvider.js';
5
6
  import { ConnectRequest } from './ConnectRequest.js';
7
+ export { MinioOptions };
6
8
  export interface ServerDriver {
7
9
  getUserId: (token: string) => Promise<Result<string, unknown>>;
8
10
  }
11
+ export interface UploadAllowlist {
12
+ extensions?: string[];
13
+ mimetypes?: string[];
14
+ }
15
+ export interface RateLimitConfig {
16
+ windowMs?: number;
17
+ max?: number;
18
+ limit?: number;
19
+ message?: any;
20
+ keyGenerator?: (req: Request, res: Response) => string | Promise<string>;
21
+ skipSuccessfulRequests?: boolean;
22
+ }
9
23
  export interface EndpointOptions {
10
24
  authProvider: AuthProvider;
11
25
  port?: number;
@@ -15,6 +29,12 @@ export interface EndpointOptions {
15
29
  sessionTtl?: number;
16
30
  uploadDir?: string | void;
17
31
  minio?: MinioOptions | void;
32
+ cookieOptions?: CookieOptions;
33
+ maxUploadBytes?: number;
34
+ uploadAllowlist?: UploadAllowlist;
35
+ googleClientIds?: string[];
36
+ allowedOrigins?: string[];
37
+ authRateLimit?: RateLimitConfig | boolean;
18
38
  }
19
39
  export default class Endpoint {
20
40
  private authProvider;
@@ -25,12 +45,20 @@ export default class Endpoint {
25
45
  private sessionTtl;
26
46
  private uploadDir?;
27
47
  private minio?;
48
+ private maxUploadBytes;
49
+ private uploadAllowlist?;
50
+ private googleClientIds?;
51
+ private allowedOrigins?;
52
+ private authRateLimit?;
53
+ private authRateLimiter;
28
54
  readonly express: expressWs.Application;
29
55
  private server?;
30
56
  private readonly connections;
31
57
  private endpoints;
32
58
  private COOKIE_OPTIONS;
33
- constructor({ authProvider, port, mount, version, cookieSecret, sessionTtl, uploadDir, minio }: EndpointOptions);
59
+ constructor({ authProvider, port, mount, version, cookieSecret, sessionTtl, uploadDir, minio, cookieOptions, maxUploadBytes, uploadAllowlist, googleClientIds, allowedOrigins, authRateLimit, }: EndpointOptions);
60
+ private checkOrigin;
61
+ private isOriginAllowed;
34
62
  private init;
35
63
  declare(name: string): void;
36
64
  acquire(name: string): Promise<Result<ConnectRequest, void>>;
@@ -39,6 +67,7 @@ export default class Endpoint {
39
67
  private initMiddleware;
40
68
  private initWs;
41
69
  private initAuth;
70
+ private sanitizeFilename;
42
71
  private initMulter;
43
72
  private init2FA;
44
73
  private initMinio;
@@ -1 +1 @@
1
- {"version":3,"file":"Endpoint.d.ts","sourceRoot":"","sources":["../../../src/server/Endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,MAAM,EAAuC,MAAM,eAAe,CAAC;AAIpF,OAAO,SAAS,MAAM,YAAY,CAAC;AAMnC,OAAO,EAAiB,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AASrD,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,eAAe;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC/B;AAUD,MAAM,CAAC,OAAO,OAAO,QAAQ;IACzB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAC,CAAgB;IAClC,OAAO,CAAC,KAAK,CAAC,CAAsB;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,WAAW,CAAC;IACxC,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAC/D,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,cAAc,CAAyD;IAE/E,YAAY,EAAE,YAAY,EAAE,IAAW,EAAE,KAAK,EAAE,OAAO,EAAE,YAAqB,EAAE,UAAsB,EAAE,SAAS,EAAE,KAAiB,EAAE,EAAE,eAAe,EAYtJ;IAED,OAAO,CAAC,IAAI;IAkBZ,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAK1B;IAED,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAI3D;YAEa,MAAM;IASpB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,MAAM;IAgDd,OAAO,CAAC,QAAQ;IAuFhB,OAAO,CAAC,UAAU;IA8ClB,OAAO,CAAC,OAAO;IA6Ef,OAAO,CAAC,SAAS;IA+BjB,OAAO,CAAC,kBAAkB;IAyB1B,IAAI,IAAI,IAAI,CAIX;IAED,KAAK,IAAI,IAAI,CAIZ;CACJ"}
1
+ {"version":3,"file":"Endpoint.d.ts","sourceRoot":"","sources":["../../../src/server/Endpoint.ts"],"names":[],"mappings":"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"}