@memberjunction/server 6.1.0-edge.2 → 6.1.0-edge.4

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 (210) hide show
  1. package/LICENSE +180 -4
  2. package/dist/agentSessions/SessionManager.d.ts +19 -5
  3. package/dist/agentSessions/SessionManager.d.ts.map +1 -1
  4. package/dist/agentSessions/SessionManager.js +27 -9
  5. package/dist/agentSessions/SessionManager.js.map +1 -1
  6. package/dist/auth/AuthProviderCatalogRouter.d.ts +31 -0
  7. package/dist/auth/AuthProviderCatalogRouter.d.ts.map +1 -0
  8. package/dist/auth/AuthProviderCatalogRouter.js +69 -0
  9. package/dist/auth/AuthProviderCatalogRouter.js.map +1 -0
  10. package/dist/auth/AuthProviderEngine.d.ts +96 -0
  11. package/dist/auth/AuthProviderEngine.d.ts.map +1 -0
  12. package/dist/auth/AuthProviderEngine.js +245 -0
  13. package/dist/auth/AuthProviderEngine.js.map +1 -0
  14. package/dist/auth/index.d.ts +12 -0
  15. package/dist/auth/index.d.ts.map +1 -1
  16. package/dist/auth/index.js +57 -13
  17. package/dist/auth/index.js.map +1 -1
  18. package/dist/auth/initializeProviders.d.ts +64 -1
  19. package/dist/auth/initializeProviders.d.ts.map +1 -1
  20. package/dist/auth/initializeProviders.js +117 -5
  21. package/dist/auth/initializeProviders.js.map +1 -1
  22. package/dist/auth/scopeLimitedPrincipal.d.ts +39 -0
  23. package/dist/auth/scopeLimitedPrincipal.d.ts.map +1 -0
  24. package/dist/auth/scopeLimitedPrincipal.js +49 -0
  25. package/dist/auth/scopeLimitedPrincipal.js.map +1 -0
  26. package/dist/config.d.ts +89 -0
  27. package/dist/config.d.ts.map +1 -1
  28. package/dist/config.js +52 -35
  29. package/dist/config.js.map +1 -1
  30. package/dist/context.d.ts.map +1 -1
  31. package/dist/context.js +21 -1
  32. package/dist/context.js.map +1 -1
  33. package/dist/entitySubclasses/MJEntityPermissionEntityServer.server.d.ts.map +1 -1
  34. package/dist/entitySubclasses/MJEntityPermissionEntityServer.server.js +8 -7
  35. package/dist/entitySubclasses/MJEntityPermissionEntityServer.server.js.map +1 -1
  36. package/dist/generated/generated.d.ts +619 -1597
  37. package/dist/generated/generated.d.ts.map +1 -1
  38. package/dist/generated/generated.js +3341 -17021
  39. package/dist/generated/generated.js.map +1 -1
  40. package/dist/generic/ResolverBase.d.ts +28 -1
  41. package/dist/generic/ResolverBase.d.ts.map +1 -1
  42. package/dist/generic/ResolverBase.js +57 -8
  43. package/dist/generic/ResolverBase.js.map +1 -1
  44. package/dist/generic/RunViewResolver.d.ts +4 -0
  45. package/dist/generic/RunViewResolver.d.ts.map +1 -1
  46. package/dist/generic/RunViewResolver.js +31 -0
  47. package/dist/generic/RunViewResolver.js.map +1 -1
  48. package/dist/index.d.ts +3 -0
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +147 -14
  51. package/dist/index.js.map +1 -1
  52. package/dist/integration/CustomColumnPromoter.d.ts +79 -15
  53. package/dist/integration/CustomColumnPromoter.d.ts.map +1 -1
  54. package/dist/integration/CustomColumnPromoter.js +472 -97
  55. package/dist/integration/CustomColumnPromoter.js.map +1 -1
  56. package/dist/integration/InactiveRowWarnings.d.ts +48 -0
  57. package/dist/integration/InactiveRowWarnings.d.ts.map +1 -0
  58. package/dist/integration/InactiveRowWarnings.js +57 -0
  59. package/dist/integration/InactiveRowWarnings.js.map +1 -0
  60. package/dist/integration/RSUProgressBridge.d.ts +83 -0
  61. package/dist/integration/RSUProgressBridge.d.ts.map +1 -0
  62. package/dist/integration/RSUProgressBridge.js +230 -0
  63. package/dist/integration/RSUProgressBridge.js.map +1 -0
  64. package/dist/integration/SchemaRefreshLaunch.d.ts +62 -0
  65. package/dist/integration/SchemaRefreshLaunch.d.ts.map +1 -0
  66. package/dist/integration/SchemaRefreshLaunch.js +67 -0
  67. package/dist/integration/SchemaRefreshLaunch.js.map +1 -0
  68. package/dist/providerConfigUnits.d.ts +20 -0
  69. package/dist/providerConfigUnits.d.ts.map +1 -0
  70. package/dist/providerConfigUnits.js +22 -0
  71. package/dist/providerConfigUnits.js.map +1 -0
  72. package/dist/resolvers/AdhocQueryResolver.d.ts +4 -0
  73. package/dist/resolvers/AdhocQueryResolver.d.ts.map +1 -1
  74. package/dist/resolvers/AdhocQueryResolver.js +20 -6
  75. package/dist/resolvers/AdhocQueryResolver.js.map +1 -1
  76. package/dist/resolvers/FileResolver.d.ts +34 -4
  77. package/dist/resolvers/FileResolver.d.ts.map +1 -1
  78. package/dist/resolvers/FileResolver.js +218 -28
  79. package/dist/resolvers/FileResolver.js.map +1 -1
  80. package/dist/resolvers/IdentityClaimRedemptionResolver.d.ts +37 -0
  81. package/dist/resolvers/IdentityClaimRedemptionResolver.d.ts.map +1 -0
  82. package/dist/resolvers/IdentityClaimRedemptionResolver.js +220 -0
  83. package/dist/resolvers/IdentityClaimRedemptionResolver.js.map +1 -0
  84. package/dist/resolvers/IntegrationDiscoveryResolver.d.ts +108 -3
  85. package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -1
  86. package/dist/resolvers/IntegrationDiscoveryResolver.js +374 -87
  87. package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -1
  88. package/dist/resolvers/QueryResolver.d.ts +5 -4
  89. package/dist/resolvers/QueryResolver.d.ts.map +1 -1
  90. package/dist/resolvers/QueryResolver.js +29 -14
  91. package/dist/resolvers/QueryResolver.js.map +1 -1
  92. package/dist/resolvers/QuerySystemUserResolver.d.ts +12 -3
  93. package/dist/resolvers/QuerySystemUserResolver.d.ts.map +1 -1
  94. package/dist/resolvers/QuerySystemUserResolver.js +33 -14
  95. package/dist/resolvers/QuerySystemUserResolver.js.map +1 -1
  96. package/dist/resolvers/RunAIAgentResolver.d.ts +3 -1
  97. package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
  98. package/dist/resolvers/RunAIAgentResolver.js +20 -7
  99. package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
  100. package/dist/resolvers/TaskGraphFrameResolver.d.ts +18 -0
  101. package/dist/resolvers/TaskGraphFrameResolver.d.ts.map +1 -1
  102. package/dist/resolvers/TaskGraphFrameResolver.js +75 -0
  103. package/dist/resolvers/TaskGraphFrameResolver.js.map +1 -1
  104. package/dist/resolvers/UserResolver.d.ts +19 -17
  105. package/dist/resolvers/UserResolver.d.ts.map +1 -1
  106. package/dist/resolvers/UserResolver.js +66 -67
  107. package/dist/resolvers/UserResolver.js.map +1 -1
  108. package/dist/resolvers/currentUserRoles.d.ts +19 -0
  109. package/dist/resolvers/currentUserRoles.d.ts.map +1 -0
  110. package/dist/resolvers/currentUserRoles.js +36 -0
  111. package/dist/resolvers/currentUserRoles.js.map +1 -0
  112. package/dist/resolvers/meetingRecordingRegistration.d.ts.map +1 -1
  113. package/dist/resolvers/meetingRecordingRegistration.js +3 -6
  114. package/dist/resolvers/meetingRecordingRegistration.js.map +1 -1
  115. package/dist/rest/MediaAccessKeys.d.ts +17 -0
  116. package/dist/rest/MediaAccessKeys.d.ts.map +1 -1
  117. package/dist/rest/MediaAccessKeys.js +42 -1
  118. package/dist/rest/MediaAccessKeys.js.map +1 -1
  119. package/dist/rest/MediaStreamHandler.d.ts +3 -2
  120. package/dist/rest/MediaStreamHandler.d.ts.map +1 -1
  121. package/dist/rest/MediaStreamHandler.js +83 -2
  122. package/dist/rest/MediaStreamHandler.js.map +1 -1
  123. package/dist/rest/OAuthCallbackHandler.d.ts +49 -1
  124. package/dist/rest/OAuthCallbackHandler.d.ts.map +1 -1
  125. package/dist/rest/OAuthCallbackHandler.js +129 -43
  126. package/dist/rest/OAuthCallbackHandler.js.map +1 -1
  127. package/dist/rest/UploadTokenManager.d.ts +90 -0
  128. package/dist/rest/UploadTokenManager.d.ts.map +1 -0
  129. package/dist/rest/UploadTokenManager.js +156 -0
  130. package/dist/rest/UploadTokenManager.js.map +1 -0
  131. package/dist/services/IntegrationSyncWorkerService.d.ts +48 -0
  132. package/dist/services/IntegrationSyncWorkerService.d.ts.map +1 -0
  133. package/dist/services/IntegrationSyncWorkerService.js +132 -0
  134. package/dist/services/IntegrationSyncWorkerService.js.map +1 -0
  135. package/dist/services/StartTaskGraphDispatcher.d.ts +0 -10
  136. package/dist/services/StartTaskGraphDispatcher.d.ts.map +1 -1
  137. package/dist/services/StartTaskGraphDispatcher.js +21 -1
  138. package/dist/services/StartTaskGraphDispatcher.js.map +1 -1
  139. package/dist/services/TaskGraphAgentRunner.d.ts +7 -0
  140. package/dist/services/TaskGraphAgentRunner.d.ts.map +1 -1
  141. package/dist/services/TaskGraphAgentRunner.js +23 -0
  142. package/dist/services/TaskGraphAgentRunner.js.map +1 -1
  143. package/dist/services/TaskGraphContinuationDeliverer.d.ts.map +1 -1
  144. package/dist/services/TaskGraphContinuationDeliverer.js +12 -1
  145. package/dist/services/TaskGraphContinuationDeliverer.js.map +1 -1
  146. package/dist/types.d.ts +14 -0
  147. package/dist/types.d.ts.map +1 -1
  148. package/dist/types.js.map +1 -1
  149. package/package.json +92 -92
  150. package/src/__tests__/APIKeyScopeAuth.test.ts +475 -0
  151. package/src/__tests__/AdhocQueryResolver.scopeGuard.test.ts +84 -0
  152. package/src/__tests__/AuthProviderEngine.test.ts +278 -0
  153. package/src/__tests__/CustomColumnPromoterOnePass.test.ts +387 -0
  154. package/src/__tests__/EntityCRUDHandler.test.ts +378 -0
  155. package/src/__tests__/InactiveRowWarnings.test.ts +87 -0
  156. package/src/__tests__/IntegrationSyncWorkerService.test.ts +275 -0
  157. package/src/__tests__/OAuthCallbackHandler.openRedirect.test.ts +117 -0
  158. package/src/__tests__/OAuthCallbackHandler.xss.test.ts +4 -1
  159. package/src/__tests__/RESTEndpointHandler.test.ts +672 -0
  160. package/src/__tests__/RSUProgressBridge.test.ts +250 -0
  161. package/src/__tests__/ReactivateRefreshMessage.test.ts +85 -0
  162. package/src/__tests__/RealtimeBridgeResolver.test.ts +10 -2
  163. package/src/__tests__/ResolverBase.filterEscaping.test.ts +147 -0
  164. package/src/__tests__/SchemaRefreshLaunch.test.ts +114 -0
  165. package/src/__tests__/SessionManager.test.ts +55 -0
  166. package/src/__tests__/UserResolver.currentUser.test.ts +87 -0
  167. package/src/__tests__/ViewOperationsHandler.test.ts +277 -0
  168. package/src/__tests__/config-units.test.ts +74 -0
  169. package/src/__tests__/initializeProviders.refresh.test.ts +146 -0
  170. package/src/__tests__/mjapi-bootstrap.test.ts +0 -6
  171. package/src/__tests__/newUsers.test.ts +726 -0
  172. package/src/__tests__/uploadTokenManager.test.ts +159 -0
  173. package/src/agentSessions/SessionManager.ts +27 -9
  174. package/src/auth/AuthProviderCatalogRouter.ts +76 -0
  175. package/src/auth/AuthProviderEngine.ts +253 -0
  176. package/src/auth/index.ts +60 -15
  177. package/src/auth/initializeProviders.ts +128 -7
  178. package/src/auth/scopeLimitedPrincipal.ts +50 -0
  179. package/src/config.ts +55 -36
  180. package/src/context.ts +26 -2
  181. package/src/entitySubclasses/MJEntityPermissionEntityServer.server.ts +8 -7
  182. package/src/generated/generated.ts +2347 -10551
  183. package/src/generic/ResolverBase.ts +67 -8
  184. package/src/generic/RunViewResolver.ts +31 -0
  185. package/src/index.ts +165 -16
  186. package/src/integration/CustomColumnPromoter.ts +520 -98
  187. package/src/integration/InactiveRowWarnings.ts +85 -0
  188. package/src/integration/RSUProgressBridge.ts +248 -0
  189. package/src/integration/SchemaRefreshLaunch.ts +93 -0
  190. package/src/providerConfigUnits.ts +21 -0
  191. package/src/resolvers/AdhocQueryResolver.ts +21 -6
  192. package/src/resolvers/FileResolver.ts +200 -40
  193. package/src/resolvers/IdentityClaimRedemptionResolver.ts +184 -0
  194. package/src/resolvers/IntegrationDiscoveryResolver.ts +390 -71
  195. package/src/resolvers/QueryResolver.ts +25 -11
  196. package/src/resolvers/QuerySystemUserResolver.ts +28 -13
  197. package/src/resolvers/RunAIAgentResolver.ts +21 -6
  198. package/src/resolvers/TaskGraphFrameResolver.ts +67 -0
  199. package/src/resolvers/UserResolver.ts +99 -60
  200. package/src/resolvers/currentUserRoles.ts +47 -0
  201. package/src/resolvers/meetingRecordingRegistration.ts +3 -7
  202. package/src/rest/MediaAccessKeys.ts +47 -1
  203. package/src/rest/MediaStreamHandler.ts +98 -3
  204. package/src/rest/OAuthCallbackHandler.ts +149 -41
  205. package/src/rest/UploadTokenManager.ts +211 -0
  206. package/src/services/IntegrationSyncWorkerService.ts +141 -0
  207. package/src/services/StartTaskGraphDispatcher.ts +21 -1
  208. package/src/services/TaskGraphAgentRunner.ts +23 -0
  209. package/src/services/TaskGraphContinuationDeliverer.ts +11 -1
  210. package/src/types.ts +14 -0
@@ -22,18 +22,94 @@ import { LogError, Metadata } from '@memberjunction/core';
22
22
  import { FileStorageEngine } from '@memberjunction/storage';
23
23
  import { getSystemUser } from '../auth/index.js';
24
24
  import { MediaAccessKeyManager } from './MediaAccessKeys.js';
25
+ import { UploadTokenManager } from './UploadTokenManager.js';
25
26
  import { parseRange, parseRangeHeaderLoose } from './mediaRange.js';
26
27
  /**
27
- * Builds the Express router exposing `GET /media/:fileId`. Stateless — verification
28
- * and byte-source resolution happen per request.
28
+ * Builds the Express router exposing:
29
+ * - `GET /media/:fileId` and `GET /media/:fileId/:filename` (Range streaming)
30
+ * - `POST /media/upload-stage` (Raw binary upload staging)
29
31
  */
30
32
  export function createMediaStreamRouter() {
31
33
  const router = express.Router();
34
+ router.post('/upload-stage', express.raw({ type: () => true, limit: '100mb' }), async (req, res) => {
35
+ await handleUploadStageRequest(req, res);
36
+ });
32
37
  router.get('/:fileId', async (req, res) => {
33
38
  await handleMediaRequest(req, res);
34
39
  });
40
+ router.get('/:fileId/:filename', async (req, res) => {
41
+ await handleMediaRequest(req, res);
42
+ });
35
43
  return router;
36
44
  }
45
+ /**
46
+ * Authenticated raw binary upload staging handler (`POST /media/upload-stage`).
47
+ *
48
+ * Accepts raw file binary bytes directly in request body, stages in UploadTokenManager
49
+ * memory cache, and returns an ephemeral single-use upload token for the GraphQL mutation.
50
+ *
51
+ * Security: Requires a cryptographically signed media-upload token minted by `CreateUploadStageToken`
52
+ * (verified via `MediaAccessKeyManager.Instance.VerifyUpload`).
53
+ */
54
+ async function handleUploadStageRequest(req, res) {
55
+ // Never let CDNs or shared caches retain upload endpoints
56
+ res.setHeader('Cache-Control', 'private, no-store');
57
+ res.setHeader('X-Content-Type-Options', 'nosniff');
58
+ // 1. Resolve signed upload token strictly from Authorization header (avoids bearer token in URL logs)
59
+ const authHeader = req.headers.authorization || '';
60
+ const token = authHeader.startsWith('Bearer ') ? authHeader.substring(7).trim() : authHeader.trim();
61
+ if (!token) {
62
+ console.warn('[MediaStreamHandler] POST /media/upload-stage: Missing or empty Authorization header');
63
+ res.status(401).json({ Success: false, ErrorMessage: 'Authorization header with Bearer token required.' });
64
+ return;
65
+ }
66
+ // Cryptographically verify token signature, expiry, and 'media-upload' typ claim
67
+ const uploadVerify = MediaAccessKeyManager.Instance.VerifyUpload(token);
68
+ if (!uploadVerify.Valid || !uploadVerify.UserId) {
69
+ console.warn(`[MediaStreamHandler] POST /media/upload-stage: Token verification failed: ${uploadVerify.Error || 'invalid or expired'}`);
70
+ res.status(401).json({ Success: false, ErrorMessage: `Invalid or expired upload token: ${uploadVerify.Error || 'unauthorized'}` });
71
+ return;
72
+ }
73
+ const userId = uploadVerify.UserId;
74
+ // 2. Validate binary body
75
+ const buffer = req.body;
76
+ if (!buffer || !Buffer.isBuffer(buffer) || buffer.length === 0) {
77
+ res.status(400).json({ Success: false, ErrorMessage: 'Empty or invalid file payload.' });
78
+ return;
79
+ }
80
+ // 3. Extract and sanitize metadata
81
+ const rawFileName = req.headers['x-file-name'] || req.query.fileName || 'upload.bin';
82
+ let fileName = 'upload.bin';
83
+ try {
84
+ fileName = decodeURIComponent(rawFileName);
85
+ }
86
+ catch {
87
+ fileName = rawFileName;
88
+ }
89
+ // Sanitize filename: remove directory traversal, leading slashes, control chars
90
+ fileName = fileName.replace(/[/\\]+/g, '_').replace(/^\.+/, '').replace(/[\x00-\x1f\x7f]/g, '').trim() || 'upload.bin';
91
+ const mimeType = req.headers['content-type'] || req.query.mimeType || 'application/octet-stream';
92
+ try {
93
+ const uploadToken = UploadTokenManager.Instance.Stage({
94
+ buffer,
95
+ fileName,
96
+ mimeType,
97
+ userId,
98
+ });
99
+ res.status(200).json({
100
+ Success: true,
101
+ UploadToken: uploadToken,
102
+ FileName: fileName,
103
+ MimeType: mimeType,
104
+ ContentLength: buffer.length,
105
+ });
106
+ }
107
+ catch (err) {
108
+ const message = err instanceof Error ? err.message : String(err);
109
+ LogError(`[MediaStream] Upload staging failed for '${fileName}': ${message}`);
110
+ res.status(400).json({ Success: false, ErrorMessage: message });
111
+ }
112
+ }
37
113
  /** Top-level request handler: verify token → resolve bytes → stream/buffer with Range support. */
38
114
  async function handleMediaRequest(req, res) {
39
115
  // Express type defs allow req.params values to be string | string[]; normalize to string
@@ -117,6 +193,7 @@ async function resolveFileBytesSource(fileId) {
117
193
  driver,
118
194
  providerKey: file.ProviderKey,
119
195
  contentType: file.ContentType ?? 'application/octet-stream',
196
+ fileName: file.Name || 'file',
120
197
  };
121
198
  }
122
199
  /**
@@ -143,6 +220,8 @@ async function serveViaStream(res, source, rangeHeader) {
143
220
  const result = await source.driver.GetObjectStream({ fullPath: source.providerKey, Range: streamRange });
144
221
  res.setHeader('Accept-Ranges', 'bytes');
145
222
  res.setHeader('Content-Type', result.ContentType ?? source.contentType);
223
+ res.setHeader('Content-Disposition', `inline; filename="${encodeURIComponent(source.fileName)}"`);
224
+ res.setHeader('X-Content-Type-Options', 'nosniff');
146
225
  if (result.ContentLength != null) {
147
226
  res.setHeader('Content-Length', String(result.ContentLength));
148
227
  }
@@ -173,6 +252,8 @@ async function serveViaBuffer(res, source, rangeHeader) {
173
252
  const total = buffer.length;
174
253
  res.setHeader('Accept-Ranges', 'bytes');
175
254
  res.setHeader('Content-Type', source.contentType);
255
+ res.setHeader('Content-Disposition', `inline; filename="${encodeURIComponent(source.fileName)}"`);
256
+ res.setHeader('X-Content-Type-Options', 'nosniff');
176
257
  if (!rangeHeader) {
177
258
  res.status(200);
178
259
  res.setHeader('Content-Length', String(total));
@@ -1 +1 @@
1
- {"version":3,"file":"MediaStreamHandler.js","sourceRoot":"","sources":["../../src/rest/MediaStreamHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MediaStreamHandler.js","sourceRoot":"","sources":["../../src/rest/MediaStreamHandler.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,23 @@ export interface OAuthCallbackHandlerOptions {
22
22
  successRedirectUrl?: string;
23
23
  /** URL to redirect to after failed authorization */
24
24
  errorRedirectUrl?: string;
25
+ /**
26
+ * Origins a caller-supplied `frontendReturnUrl` is allowed to point at, so the OAuth callback
27
+ * cannot be turned into an open redirect from the trusted MJAPI origin. Normally wired to
28
+ * `cors.allowedOrigins`. Pass `['*']` to allow any origin — MJ's backward-compatible default
29
+ * CORS posture, and what a deployment that has not narrowed `cors.allowedOrigins` gets.
30
+ *
31
+ * REQUIRED on purpose. An optional field defaulting to allow-all is fail-open: a construction
32
+ * site that forgets it loses the open-redirect protection silently, with nothing to notice.
33
+ * Being required makes that a compile error instead. The handler is not exported from this
34
+ * package's barrel and the package declares no subpath exports, so no consumer outside MJServer
35
+ * can construct it — revisit this if it is ever added to the public API.
36
+ *
37
+ * Injected rather than read from `configInfo` directly so this module has no import-time
38
+ * dependency on configuration loading — importing the config module validates the whole config
39
+ * as a side effect, which makes this handler unimportable in any context without one.
40
+ */
41
+ allowedFrontendOrigins: string[];
25
42
  }
26
43
  /**
27
44
  * Handles OAuth callbacks and related endpoints for MCP server authentication.
@@ -29,10 +46,15 @@ export interface OAuthCallbackHandlerOptions {
29
46
  * The callback endpoint is unauthenticated because it's called by external auth servers.
30
47
  * It uses the state parameter to look up the authorization context and validate the flow.
31
48
  *
49
+ * NOTE: `allowedFrontendOrigins` is what prevents the callback becoming an open redirect, and is
50
+ * required so it cannot be forgotten. Wire it to `configInfo.cors?.allowedOrigins`; `['*']` allows
51
+ * any origin, matching MJ's default CORS posture.
52
+ *
32
53
  * @example
33
54
  * ```typescript
34
55
  * const oauthHandler = new OAuthCallbackHandler({
35
- * publicUrl: 'https://api.example.com'
56
+ * publicUrl: 'https://api.example.com',
57
+ * allowedFrontendOrigins: configInfo.cors?.allowedOrigins ?? ['*']
36
58
  * });
37
59
  *
38
60
  * // Mount unauthenticated callback route
@@ -120,6 +142,32 @@ export declare class OAuthCallbackHandler {
120
142
  * Loads connection and server OAuth configuration.
121
143
  */
122
144
  private loadConnectionConfig;
145
+ /**
146
+ * Validates that a caller-supplied frontend return URL points at an allowed origin, so the
147
+ * OAuth callback cannot be turned into an open redirect from the trusted MJAPI origin.
148
+ *
149
+ * Allowed when: the allowlist is "allow all" (`['*']`, the backward-compatible default),
150
+ * the URL's origin is in `options.allowedFrontendOrigins`, or it matches the origin of a
151
+ * built-in success/error redirect URL. Anything else is rejected and the caller falls back to
152
+ * the default redirect page.
153
+ */
154
+ private isFrontendReturnUrlAllowed;
155
+ /**
156
+ * Parses a caller-supplied return URL and applies {@link isFrontendReturnUrlAllowed}.
157
+ *
158
+ * @returns the parsed URL when it is well-formed AND points at an allowed origin, otherwise null.
159
+ */
160
+ private parseAllowedFrontendReturnUrl;
161
+ /**
162
+ * Boundary check for `/oauth/initiate` — validates the return URL before it is persisted onto
163
+ * the authorization state, so a caller gets a 400 instead of a silent fallback later.
164
+ *
165
+ * An ABSENT value (undefined / null / empty string) is acceptable: it means "no return URL", and
166
+ * every downstream consumer treats it that way via a truthiness check. Only a value the caller
167
+ * actually supplied is validated — otherwise omitting the field, or sending an empty one, would
168
+ * newly fail a request that has always worked.
169
+ */
170
+ private isFrontendReturnUrlAcceptable;
123
171
  /**
124
172
  * Redirects to success page with state info.
125
173
  * If a frontend return URL is provided, redirects there instead of the default success page.
@@ -1 +1 @@
1
- {"version":3,"file":"OAuthCallbackHandler.d.ts","sourceRoot":"","sources":["../../src/rest/OAuthCallbackHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAgB9B;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAiB;gBAEzC,OAAO,EAAE,2BAA2B;IAYhD;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAmCvB;;;;;;;;OAQG;YACW,cAAc;IAkF5B;;;;;;;OAOG;YACW,SAAS;IA0EvB;;;;;;;OAOG;YACW,YAAY;IA2F1B;;;;;;;;;OASG;YACW,cAAc;IA+F5B;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU;IASlB;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;YACW,sBAAsB;IAoDpC;;OAEG;YACW,oBAAoB;IAmElC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAwBvB;;OAEG;IACI,iBAAiB,IAAI,OAAO,CAAC,MAAM;IAI1C;;OAEG;IACI,sBAAsB,IAAI,OAAO,CAAC,MAAM;CAGlD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,2BAA2B,GAAG;IAC9E,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC;CACvC,CAMA"}
1
+ {"version":3,"file":"OAuthCallbackHandler.d.ts","sourceRoot":"","sources":["../../src/rest/OAuthCallbackHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAgB9B;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;;;;;;OAeG;IACH,sBAAsB,EAAE,MAAM,EAAE,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAiB;gBAEzC,OAAO,EAAE,2BAA2B;IAYhD;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAmCvB;;;;;;;;OAQG;YACW,cAAc;IAkF5B;;;;;;;OAOG;YACW,SAAS;IA0EvB;;;;;;;OAOG;YACW,YAAY;IAqH1B;;;;;;;;;OASG;YACW,cAAc;IA+F5B;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU;IASlB;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;YACW,sBAAsB;IAoDpC;;OAEG;YACW,oBAAoB;IAsElC;;;;;;;;OAQG;IACH,OAAO,CAAC,0BAA0B;IAoBlC;;;;OAIG;IACH,OAAO,CAAC,6BAA6B;IAerC;;;;;;;;OAQG;IACH,OAAO,CAAC,6BAA6B;IAOrC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACI,iBAAiB,IAAI,OAAO,CAAC,MAAM;IAI1C;;OAEG;IACI,sBAAsB,IAAI,OAAO,CAAC,MAAM;CAGlD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,2BAA2B,GAAG;IAC9E,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC;CACvC,CAMA"}
@@ -13,7 +13,7 @@
13
13
  */
14
14
  import express from 'express';
15
15
  import { LogError, LogStatus, RunView } from '@memberjunction/core';
16
- import { UUIDsEqual } from '@memberjunction/global';
16
+ import { IsValidUUID, UUIDsEqual } from '@memberjunction/global';
17
17
  import { UserCache } from '@memberjunction/generic-database-provider';
18
18
  import { OAuthManager, MCPClientManager } from '@memberjunction/ai-mcp-client';
19
19
  /** Entity name for MCP Server Connections */
@@ -28,10 +28,15 @@ const ENTITY_OAUTH_AUTHORIZATION_STATES = 'MJ: O Auth Authorization States';
28
28
  * The callback endpoint is unauthenticated because it's called by external auth servers.
29
29
  * It uses the state parameter to look up the authorization context and validate the flow.
30
30
  *
31
+ * NOTE: `allowedFrontendOrigins` is what prevents the callback becoming an open redirect, and is
32
+ * required so it cannot be forgotten. Wire it to `configInfo.cors?.allowedOrigins`; `['*']` allows
33
+ * any origin, matching MJ's default CORS posture.
34
+ *
31
35
  * @example
32
36
  * ```typescript
33
37
  * const oauthHandler = new OAuthCallbackHandler({
34
- * publicUrl: 'https://api.example.com'
38
+ * publicUrl: 'https://api.example.com',
39
+ * allowedFrontendOrigins: configInfo.cors?.allowedOrigins ?? ['*']
35
40
  * });
36
41
  *
37
42
  * // Mount unauthenticated callback route
@@ -293,7 +298,10 @@ export class OAuthCallbackHandler {
293
298
  * @param res - Express response
294
299
  */
295
300
  async initiateFlow(req, res) {
296
- const { connectionId, additionalScopes, frontendReturnUrl } = req.body;
301
+ // Coerce request-body values to strings up front. A JSON body can carry arrays/objects, and
302
+ // passing those downstream unvalidated turns a bad request into a confusing internal failure.
303
+ const connectionId = typeof req.body?.connectionId === 'string' ? req.body.connectionId : '';
304
+ const { additionalScopes, frontendReturnUrl } = req.body;
297
305
  const contextUser = req['mjUser'];
298
306
  if (!contextUser) {
299
307
  res.status(401).json({
@@ -310,6 +318,27 @@ export class OAuthCallbackHandler {
310
318
  });
311
319
  return;
312
320
  }
321
+ // connectionId is a record ID (UUID). Reject anything else at the boundary so it can never
322
+ // reach a SQL filter or downstream consumer as injectable input.
323
+ if (!IsValidUUID(connectionId)) {
324
+ res.status(400).json({
325
+ success: false,
326
+ errorCode: 'invalid_request',
327
+ errorMessage: 'connectionId must be a valid record identifier'
328
+ });
329
+ return;
330
+ }
331
+ // Reject a disallowed return URL here rather than at the callback. Otherwise the caller only
332
+ // finds out after the whole OAuth round trip, by being silently sent to the default page.
333
+ // An absent value is acceptable — see isFrontendReturnUrlAcceptable.
334
+ if (!this.isFrontendReturnUrlAcceptable(frontendReturnUrl)) {
335
+ res.status(400).json({
336
+ success: false,
337
+ errorCode: 'invalid_request',
338
+ errorMessage: 'frontendReturnUrl is not an allowed redirect target'
339
+ });
340
+ return;
341
+ }
313
342
  try {
314
343
  // Load connection and server config
315
344
  const config = await this.loadConnectionConfig(connectionId, contextUser);
@@ -529,10 +558,13 @@ export class OAuthCallbackHandler {
529
558
  async loadConnectionConfig(connectionId, contextUser) {
530
559
  try {
531
560
  const rv = new RunView();
532
- // Get connection to get server ID
561
+ // Get connection to get server ID.
562
+ // connectionId is caller-supplied (POST /oauth/initiate body). MJ ExtraFilter is a raw
563
+ // SQL fragment, so single quotes MUST be doubled to prevent injection — matching the
564
+ // escaping used for stateParameter in loadAuthorizationState().
533
565
  const connResult = await rv.RunView({
534
566
  EntityName: ENTITY_MCP_SERVER_CONNECTIONS,
535
- ExtraFilter: `ID='${connectionId}'`,
567
+ ExtraFilter: `ID='${connectionId.replace(/'/g, "''")}'`,
536
568
  Fields: ['MCPServerID'],
537
569
  ResultType: 'simple'
538
570
  }, contextUser);
@@ -570,58 +602,112 @@ export class OAuthCallbackHandler {
570
602
  }
571
603
  }
572
604
  /**
573
- * Redirects to success page with state info.
574
- * If a frontend return URL is provided, redirects there instead of the default success page.
605
+ * Validates that a caller-supplied frontend return URL points at an allowed origin, so the
606
+ * OAuth callback cannot be turned into an open redirect from the trusted MJAPI origin.
607
+ *
608
+ * Allowed when: the allowlist is "allow all" (`['*']`, the backward-compatible default),
609
+ * the URL's origin is in `options.allowedFrontendOrigins`, or it matches the origin of a
610
+ * built-in success/error redirect URL. Anything else is rejected and the caller falls back to
611
+ * the default redirect page.
575
612
  */
576
- redirectToSuccess(res, state, connectionId, frontendReturnUrl) {
577
- // If frontend return URL is provided, redirect there with success parameters
578
- if (frontendReturnUrl) {
613
+ isFrontendReturnUrlAllowed(url) {
614
+ const allowed = this.options.allowedFrontendOrigins;
615
+ if (allowed.includes('*')) {
616
+ return true;
617
+ }
618
+ if (allowed.includes(url.origin)) {
619
+ return true;
620
+ }
621
+ for (const builtIn of [this.options.successRedirectUrl, this.options.errorRedirectUrl]) {
579
622
  try {
580
- const url = new URL(frontendReturnUrl);
581
- url.searchParams.set('oauth', 'success');
582
- url.searchParams.set('state', state);
583
- url.searchParams.set('connectionId', connectionId);
584
- LogStatus(`[OAuth Callback] Redirecting to frontend URL: ${url.toString()}`);
585
- res.redirect(302, url.toString());
586
- return;
623
+ if (builtIn && new URL(builtIn).origin === url.origin) {
624
+ return true;
625
+ }
587
626
  }
588
- catch (error) {
589
- LogError(`[OAuth Callback] Invalid frontend return URL '${frontendReturnUrl}', falling back to default`);
590
- // Fall through to default redirect
627
+ catch {
628
+ // Ignore an unparseable built-in URL and keep checking.
591
629
  }
592
630
  }
631
+ return false;
632
+ }
633
+ /**
634
+ * Parses a caller-supplied return URL and applies {@link isFrontendReturnUrlAllowed}.
635
+ *
636
+ * @returns the parsed URL when it is well-formed AND points at an allowed origin, otherwise null.
637
+ */
638
+ parseAllowedFrontendReturnUrl(frontendReturnUrl) {
639
+ let url;
640
+ try {
641
+ url = new URL(frontendReturnUrl);
642
+ }
643
+ catch {
644
+ LogError(`[OAuth Callback] Invalid frontend return URL '${frontendReturnUrl}', falling back to default`);
645
+ return null;
646
+ }
647
+ if (!this.isFrontendReturnUrlAllowed(url)) {
648
+ LogError(`[OAuth Callback] frontend return URL '${frontendReturnUrl}' origin not allowed, falling back to default`);
649
+ return null;
650
+ }
651
+ return url;
652
+ }
653
+ /**
654
+ * Boundary check for `/oauth/initiate` — validates the return URL before it is persisted onto
655
+ * the authorization state, so a caller gets a 400 instead of a silent fallback later.
656
+ *
657
+ * An ABSENT value (undefined / null / empty string) is acceptable: it means "no return URL", and
658
+ * every downstream consumer treats it that way via a truthiness check. Only a value the caller
659
+ * actually supplied is validated — otherwise omitting the field, or sending an empty one, would
660
+ * newly fail a request that has always worked.
661
+ */
662
+ isFrontendReturnUrlAcceptable(frontendReturnUrl) {
663
+ if (!frontendReturnUrl) {
664
+ return true;
665
+ }
666
+ return typeof frontendReturnUrl === 'string' && this.parseAllowedFrontendReturnUrl(frontendReturnUrl) !== null;
667
+ }
668
+ /**
669
+ * Redirects to success page with state info.
670
+ * If a frontend return URL is provided, redirects there instead of the default success page.
671
+ */
672
+ redirectToSuccess(res, state, connectionId, frontendReturnUrl) {
673
+ // If frontend return URL is provided and points at an allowed origin, redirect there with
674
+ // success parameters. Anything else falls through to the built-in page.
675
+ const url = frontendReturnUrl ? this.parseAllowedFrontendReturnUrl(frontendReturnUrl) : null;
676
+ if (url) {
677
+ url.searchParams.set('oauth', 'success');
678
+ url.searchParams.set('state', state);
679
+ url.searchParams.set('connectionId', connectionId);
680
+ LogStatus(`[OAuth Callback] Redirecting to frontend URL: ${url.toString()}`);
681
+ res.redirect(302, url.toString());
682
+ return;
683
+ }
593
684
  // Default: redirect to built-in success page
594
- const url = new URL(this.options.successRedirectUrl);
595
- url.searchParams.set('state', state);
596
- url.searchParams.set('connectionId', connectionId);
597
- res.redirect(302, url.toString());
685
+ const defaultUrl = new URL(this.options.successRedirectUrl);
686
+ defaultUrl.searchParams.set('state', state);
687
+ defaultUrl.searchParams.set('connectionId', connectionId);
688
+ res.redirect(302, defaultUrl.toString());
598
689
  }
599
690
  /**
600
691
  * Redirects to error page with error info.
601
692
  * If a frontend return URL is provided, redirects there instead of the default error page.
602
693
  */
603
694
  redirectToError(res, errorCode, errorMessage, frontendReturnUrl) {
604
- // If frontend return URL is provided, redirect there with error parameters
605
- if (frontendReturnUrl) {
606
- try {
607
- const url = new URL(frontendReturnUrl);
608
- url.searchParams.set('oauth', 'error');
609
- url.searchParams.set('error', errorCode);
610
- url.searchParams.set('error_description', errorMessage);
611
- LogStatus(`[OAuth Callback] Redirecting to frontend URL with error: ${url.toString()}`);
612
- res.redirect(302, url.toString());
613
- return;
614
- }
615
- catch (error) {
616
- LogError(`[OAuth Callback] Invalid frontend return URL '${frontendReturnUrl}', falling back to default`);
617
- // Fall through to default redirect
618
- }
695
+ // If frontend return URL is provided and points at an allowed origin, redirect there with
696
+ // error parameters. Anything else falls through to the built-in page.
697
+ const url = frontendReturnUrl ? this.parseAllowedFrontendReturnUrl(frontendReturnUrl) : null;
698
+ if (url) {
699
+ url.searchParams.set('oauth', 'error');
700
+ url.searchParams.set('error', errorCode);
701
+ url.searchParams.set('error_description', errorMessage);
702
+ LogStatus(`[OAuth Callback] Redirecting to frontend URL with error: ${url.toString()}`);
703
+ res.redirect(302, url.toString());
704
+ return;
619
705
  }
620
706
  // Default: redirect to built-in error page
621
- const url = new URL(this.options.errorRedirectUrl);
622
- url.searchParams.set('error', errorCode);
623
- url.searchParams.set('error_description', errorMessage);
624
- res.redirect(302, url.toString());
707
+ const defaultUrl = new URL(this.options.errorRedirectUrl);
708
+ defaultUrl.searchParams.set('error', errorCode);
709
+ defaultUrl.searchParams.set('error_description', errorMessage);
710
+ res.redirect(302, defaultUrl.toString());
625
711
  }
626
712
  /**
627
713
  * Gets the router for unauthenticated callback endpoint.
@@ -1 +1 @@
1
- {"version":3,"file":"OAuthCallbackHandler.js","sourceRoot":"","sources":["../../src/rest/OAuthCallbackHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAY,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAG/E,6CAA6C;AAC7C,MAAM,6BAA6B,GAAG,4BAA4B,CAAC;AAEnE,kCAAkC;AAClC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAE7C,iDAAiD;AACjD,MAAM,iCAAiC,GAAG,iCAAiC,CAAC;AAc5E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,oBAAoB;IAM7B,YAAY,OAAoC;QAC5C,IAAI,CAAC,OAAO,GAAG;YACX,kBAAkB,EAAE,GAAG,OAAO,CAAC,SAAS,gBAAgB;YACxD,gBAAgB,EAAE,GAAG,OAAO,CAAC,SAAS,cAAc;YACpD,GAAG,OAAO;SACb,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACvC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,WAAW;QACf,iCAAiC;QACjC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAErE,kFAAkF;QAClF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnE,uBAAuB;QACvB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,GAAoB,EAAE,GAAqB;QACjE,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QACnC,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;UAqBnB,gBAAgB,CAAC,CAAC,CAAC,uCAAuC,gBAAgB,QAAQ,CAAC,CAAC,CAAC,EAAE;;;;SAIxF,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,GAAoB,EAAE,GAAqB;QAC/D,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC;QAEhI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;kCAqBK,SAAS;qCACN,YAAY;;;;;SAKxC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,cAAc,CAAC,GAAoB,EAAE,GAAqB;QACpE,SAAS,CAAC,uCAAuC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QACpE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QAC5D,SAAS,CAAC,wCAAwC,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,YAAY,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC;QAE7H,sCAAsC;QACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;YACxE,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,qCAAqC;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,QAAQ,CAAC,4CAA4C,CAAC,CAAC;gBACvD,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,cAAc,EAAE,4BAA4B,CAAC,CAAC;gBACxE,OAAO;YACX,CAAC;YAED,0DAA0D;YAC1D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACvE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,EAAE,0CAA0C,CAAC,CAAC;gBACvF,OAAO;YACX,CAAC;YAED,iCAAiC;YACjC,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAClF,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,QAAQ,CAAC,yBAAyB,SAAS,CAAC,MAAM,qBAAqB,CAAC,CAAC;gBACzE,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,cAAc,EAAE,wBAAwB,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;gBACjG,OAAO;YACX,CAAC;YAED,yCAAyC;YACzC,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC;gBAC5F,MAAM,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAC5C,KAAK,EACL,MAAM,CAAC,KAAK,CAAC,EACb,YAAY,EACZ,WAAW,CACd,CAAC;gBACF,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;gBACpF,OAAO;YACX,CAAC;YAED,yCAAyC;YACzC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;gBACxG,OAAO;YACX,CAAC;YAED,2BAA2B;YAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAE3F,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,SAAS,CAAC,sDAAsD,KAAK,EAAE,CAAC,CAAC;gBACzE,2DAA2D;gBAC3D,gBAAgB,CAAC,QAAQ,CAAC,iCAAiC,CAAC,SAAS,CAAC,YAAY,EAAE;oBAChF,cAAc,EAAE,KAAK;oBACrB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACxC,CAAC,CAAC;gBACH,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAC5F,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,0CAA0C,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC1E,IAAI,CAAC,eAAe,CAChB,GAAG,EACH,MAAM,CAAC,SAAS,IAAI,sBAAsB,EAC1C,MAAM,CAAC,YAAY,IAAI,sBAAsB,EAC7C,SAAS,CAAC,iBAAiB,CAC9B,CAAC;YACN,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,QAAQ,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,cAAc,EAAE,8BAA8B,CAAC,CAAC;QAC9E,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,SAAS,CAAC,GAAoB,EAAE,GAAqB;QAC/D,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC;QAC7C,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;QACpF,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAa,CAAC;QAE9C,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,yBAAyB;aAC1C,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAEjF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACjB,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,WAAW;oBACtB,YAAY,EAAE,+BAA+B;iBAChD,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACjB,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,WAAW;oBACtB,YAAY,EAAE,eAAe;iBAChC,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YAED,aAAa;YACb,IAAI,MAAsD,CAAC;YAC3D,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,SAAS;oBACV,MAAM,GAAG,IAAI,IAAI,EAAE,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,MAAM;gBACV,KAAK,WAAW;oBACZ,MAAM,GAAG,WAAW,CAAC;oBACrB,MAAM;gBACV,KAAK,QAAQ;oBACT,MAAM,GAAG,QAAQ,CAAC;oBAClB,MAAM;gBACV,KAAK,SAAS;oBACV,MAAM,GAAG,SAAS,CAAC;oBACnB,MAAM;gBACV;oBACI,MAAM,GAAG,SAAS,CAAC;YAC3B,CAAC;YAED,GAAG,CAAC,IAAI,CAAC;gBACL,MAAM;gBACN,YAAY,EAAE,SAAS,CAAC,YAAY;gBACpC,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,WAAW,EAAE;gBACjD,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,YAAY,EAAE,SAAS,CAAC,gBAAgB;gBACxC,WAAW,EAAE,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS;aAC3D,CAAC,CAAC;QAEP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,QAAQ,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,cAAc;gBACzB,YAAY,EAAE,oCAAoC;aACrD,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,YAAY,CAAC,GAAoB,EAAE,GAAqB;QAClE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QACvE,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAa,CAAC;QAE9C,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,yBAAyB;aAC1C,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,iBAAiB;gBAC5B,YAAY,EAAE,0BAA0B;aAC3C,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,oCAAoC;YACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAC1E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACjB,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,WAAW;oBACtB,YAAY,EAAE,sBAAsB;iBACvC,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YAED,qBAAqB;YACrB,MAAM,WAAW,GAAyB;gBACtC,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,WAAW,EAAE,gBAAgB;oBACzB,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,IAAI,gBAAgB,EAAE,CAAC,IAAI,EAAE;oBAC1D,CAAC,CAAC,MAAM,CAAC,WAAW;gBACxB,4BAA4B,EAAE,MAAM,CAAC,4BAA4B;gBACjE,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;gBAC7D,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;aAC5C,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;gBAC9B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACjB,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,uBAAuB;oBAClC,YAAY,EAAE,yCAAyC;iBAC1D,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YAED,sDAAsD;YACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAC5D,YAAY,EACZ,MAAM,CAAC,QAAQ,EACf,WAAW,EACX,IAAI,CAAC,OAAO,CAAC,SAAS,EACtB,WAAW,EACX,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CACnF,CAAC;YAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,GAAG,CAAC,IAAI,CAAC;oBACL,OAAO,EAAE,IAAI;oBACb,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;oBACzC,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE;oBAC1C,OAAO,EAAE,mDAAmD;iBAC/D,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACjB,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,mBAAmB;oBAC9B,YAAY,EAAE,MAAM,CAAC,YAAY;iBACpC,CAAC,CAAC;YACP,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,QAAQ,CAAC,2BAA2B,YAAY,EAAE,CAAC,CAAC;YACpD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,cAAc;gBACzB,YAAY,EAAE,+BAA+B;aAChD,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,cAAc,CAAC,GAAoB,EAAE,GAAqB;QACpE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QACjC,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAa,CAAC;QAE9C,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,cAAc;gBACzB,YAAY,EAAE,yBAAyB;aAC1C,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,iBAAiB;gBAC5B,YAAY,EAAE,mCAAmC;aACpD,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QAED,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,iBAAiB;gBAC5B,YAAY,EAAE,oCAAoC;aACrD,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,wDAAwD;YACxD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAExE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACjB,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,iBAAiB;oBAC5B,YAAY,EAAE,0CAA0C;iBAC3D,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YAED,8DAA8D;YAC9D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChD,QAAQ,CAAC,yBAAyB,WAAW,CAAC,EAAE,kDAAkD,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACjB,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,WAAW;oBACtB,YAAY,EAAE,4DAA4D;iBAC7E,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YAED,8CAA8C;YAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAE3F,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,SAAS,CAAC,+DAA+D,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;gBAEnG,2DAA2D;gBAC3D,gBAAgB,CAAC,QAAQ,CAAC,iCAAiC,CAAC,SAAS,CAAC,YAAY,EAAE;oBAChF,cAAc,EAAE,KAAK;oBACrB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACxC,CAAC,CAAC;gBAEH,GAAG,CAAC,IAAI,CAAC;oBACL,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,SAAS,CAAC,YAAY;iBACvC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,2CAA2C,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC3E,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACjB,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,iBAAiB;oBAChD,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,kDAAkD;oBACvF,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK;iBAC3C,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,QAAQ,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;YAC/D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,cAAc;gBACzB,YAAY,EAAE,oDAAoD;aACrE,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,2CAA2C;IAC3C,iBAAiB;IACjB,2CAA2C;IAE3C;;;;;;;OAOG;IACK,UAAU,CAAC,KAAa;QAC5B,OAAO,KAAK;aACP,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;aACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;aACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACK,aAAa;QACjB,IAAI,CAAC;YACD,OAAO,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAChC,cAAsB,EACtB,WAAqB;QAWrB,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAS5B;gBACC,UAAU,EAAE,iCAAiC;gBAC7C,WAAW,EAAE,mBAAmB,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG;gBACrE,MAAM,EAAE,CAAC,uBAAuB,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,CAAC;gBACvI,UAAU,EAAE,QAAQ;aACvB,EAAE,WAAW,CAAC,CAAC;YAEhB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACjC,OAAO;gBACH,YAAY,EAAE,MAAM,CAAC,qBAAqB;gBAC1C,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,SAAS;gBACxC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,SAAS;gBACtD,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;gBACrC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC1E,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,SAAS;aAC3D,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,wDAAwD,KAAK,EAAE,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAC9B,YAAoB,EACpB,WAAqB;QAUrB,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YAEzB,kCAAkC;YAClC,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,OAAO,CAA0B;gBACzD,UAAU,EAAE,6BAA6B;gBACzC,WAAW,EAAE,OAAO,YAAY,GAAG;gBACnC,MAAM,EAAE,CAAC,aAAa,CAAC;gBACvB,UAAU,EAAE,QAAQ;aACvB,EAAE,WAAW,CAAC,CAAC;YAEhB,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChF,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAEnD,0BAA0B;YAC1B,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,OAAO,CAOlC;gBACC,UAAU,EAAE,kBAAkB;gBAC9B,WAAW,EAAE,OAAO,QAAQ,GAAG;gBAC/B,MAAM,EAAE;oBACJ,gBAAgB,EAAE,aAAa,EAAE,8BAA8B;oBAC/D,eAAe,EAAE,4BAA4B,EAAE,kBAAkB;iBACpE;gBACD,UAAU,EAAE,QAAQ;aACvB,EAAE,WAAW,CAAC,CAAC;YAEhB,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtF,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvC,OAAO;gBACH,QAAQ;gBACR,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,SAAS;gBAClD,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,SAAS;gBAC5C,4BAA4B,EAAE,MAAM,CAAC,4BAA4B,IAAI,SAAS;gBAC9E,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,SAAS;gBAChD,0BAA0B,EAAE,MAAM,CAAC,0BAA0B,IAAI,SAAS;gBAC1E,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,SAAS;aACzD,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,sDAAsD,KAAK,EAAE,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,GAAqB,EAAE,KAAa,EAAE,YAAoB,EAAE,iBAA0B;QAC5G,6EAA6E;QAC7E,IAAI,iBAAiB,EAAE,CAAC;YACpB,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACvC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACzC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACrC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;gBACnD,SAAS,CAAC,iDAAiD,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC7E,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAClC,OAAO;YACX,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,QAAQ,CAAC,iDAAiD,iBAAiB,4BAA4B,CAAC,CAAC;gBACzG,mCAAmC;YACvC,CAAC;QACL,CAAC;QAED,6CAA6C;QAC7C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAmB,CAAC,CAAC;QACtD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACnD,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,GAAqB,EAAE,SAAiB,EAAE,YAAoB,EAAE,iBAA0B;QAC9G,2EAA2E;QAC3E,IAAI,iBAAiB,EAAE,CAAC;YACpB,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACvC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACvC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACzC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;gBACxD,SAAS,CAAC,4DAA4D,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACxF,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAClC,OAAO;YACX,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,QAAQ,CAAC,iDAAiD,iBAAiB,4BAA4B,CAAC,CAAC;gBACzG,mCAAmC;YACvC,CAAC;QACL,CAAC;QAED,2CAA2C;QAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAiB,CAAC,CAAC;QACpD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;QACxD,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,iBAAiB;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,sBAAsB;QACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAoC;IAI3E,MAAM,OAAO,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO;QACH,cAAc,EAAE,OAAO,CAAC,iBAAiB,EAAE;QAC3C,mBAAmB,EAAE,OAAO,CAAC,sBAAsB,EAAE;KACxD,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"OAuthCallbackHandler.js","sourceRoot":"","sources":["../../src/rest/OAuthCallbackHandler.ts"],"names":[],"mappings":"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"}