@samanhappy/mcphub 1.1.1 → 1.1.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 (87) hide show
  1. package/dist/clients/legacyMcpClient.js +1 -1
  2. package/dist/clients/legacyMcpClient.js.map +1 -1
  3. package/dist/clients/mcpSdkClient.js +28359 -0
  4. package/dist/clients/mcpSdkClient.js.map +7 -0
  5. package/dist/controllers/betterAuthController.js +3 -1
  6. package/dist/controllers/betterAuthController.js.map +1 -1
  7. package/dist/controllers/serverController.js +55 -14
  8. package/dist/controllers/serverController.js.map +1 -1
  9. package/dist/dao/UserDao.js +57 -34
  10. package/dist/dao/UserDao.js.map +1 -1
  11. package/dist/middlewares/auth.js +17 -0
  12. package/dist/middlewares/auth.js.map +1 -1
  13. package/dist/services/betterAuthConfig.js +2 -96
  14. package/dist/services/betterAuthConfig.js.map +1 -1
  15. package/dist/services/betterAuthSession.js +19 -3
  16. package/dist/services/betterAuthSession.js.map +1 -1
  17. package/dist/services/credentialBindingService.js +42 -0
  18. package/dist/services/credentialBindingService.js.map +1 -1
  19. package/dist/services/forwardAuthService.js +277 -0
  20. package/dist/services/forwardAuthService.js.map +1 -0
  21. package/dist/services/keepAliveService.js +1 -1
  22. package/dist/services/keepAliveService.js.map +1 -1
  23. package/dist/services/mcpOAuthProvider.js +13 -0
  24. package/dist/services/mcpOAuthProvider.js.map +1 -1
  25. package/dist/services/mcpService.js +43 -10
  26. package/dist/services/mcpService.js.map +1 -1
  27. package/dist/services/sseService.js +20 -0
  28. package/dist/services/sseService.js.map +1 -1
  29. package/dist/services/templateService.js +10 -9
  30. package/dist/services/templateService.js.map +1 -1
  31. package/dist/utils/serverConfigPersistence.js +8 -1
  32. package/dist/utils/serverConfigPersistence.js.map +1 -1
  33. package/dist/utils/serverConfigValidation.js +5 -1
  34. package/dist/utils/serverConfigValidation.js.map +1 -1
  35. package/dist/utils/settingResolvers.js +97 -0
  36. package/dist/utils/settingResolvers.js.map +1 -0
  37. package/dist/utils/ssrf.js +1 -1
  38. package/dist/utils/ssrf.js.map +1 -1
  39. package/frontend/dist/assets/{ActivityPage-D3Oto1RE.js → ActivityPage-DFLMe7o2.js} +2 -2
  40. package/frontend/dist/assets/{ActivityPage-D3Oto1RE.js.map → ActivityPage-DFLMe7o2.js.map} +1 -1
  41. package/frontend/dist/assets/{CopyClientConfigDialog-kX5ewtFp.js → CopyClientConfigDialog-DukyyXVp.js} +2 -2
  42. package/frontend/dist/assets/{CopyClientConfigDialog-kX5ewtFp.js.map → CopyClientConfigDialog-DukyyXVp.js.map} +1 -1
  43. package/frontend/dist/assets/{CredentialsPage-C9dHU6Wf.js → CredentialsPage-BpBCEmEE.js} +2 -2
  44. package/frontend/dist/assets/{CredentialsPage-C9dHU6Wf.js.map → CredentialsPage-BpBCEmEE.js.map} +1 -1
  45. package/frontend/dist/assets/{Dashboard-DFyfT22A.js → Dashboard-DjZkbAPt.js} +2 -2
  46. package/frontend/dist/assets/{Dashboard-DFyfT22A.js.map → Dashboard-DjZkbAPt.js.map} +1 -1
  47. package/frontend/dist/assets/{EndpointCopy-6sqlZ15W.js → EndpointCopy-Bv-_FPmR.js} +2 -2
  48. package/frontend/dist/assets/{EndpointCopy-6sqlZ15W.js.map → EndpointCopy-Bv-_FPmR.js.map} +1 -1
  49. package/frontend/dist/assets/{GroupsPage-joJmAW7F.js → GroupsPage-B8BWRIWv.js} +2 -2
  50. package/frontend/dist/assets/{GroupsPage-joJmAW7F.js.map → GroupsPage-B8BWRIWv.js.map} +1 -1
  51. package/frontend/dist/assets/{LoginPage-10tXreQ_.js → LoginPage-OH73zcbT.js} +2 -2
  52. package/frontend/dist/assets/{LoginPage-10tXreQ_.js.map → LoginPage-OH73zcbT.js.map} +1 -1
  53. package/frontend/dist/assets/{LogsPage-yBj3gqOU.js → LogsPage-B6P_uQvL.js} +2 -2
  54. package/frontend/dist/assets/{LogsPage-yBj3gqOU.js.map → LogsPage-B6P_uQvL.js.map} +1 -1
  55. package/frontend/dist/assets/{MarketPage-CuAl4IXf.js → MarketPage-CKjkgZpe.js} +2 -2
  56. package/frontend/dist/assets/{MarketPage-CuAl4IXf.js.map → MarketPage-CKjkgZpe.js.map} +1 -1
  57. package/frontend/dist/assets/{OAuthConsentPage-BuvpRon8.js → OAuthConsentPage-DjvtbLnm.js} +2 -2
  58. package/frontend/dist/assets/{OAuthConsentPage-BuvpRon8.js.map → OAuthConsentPage-DjvtbLnm.js.map} +1 -1
  59. package/frontend/dist/assets/{PromptsPage-DsYU0Kgm.js → PromptsPage-CCMb9OH2.js} +2 -2
  60. package/frontend/dist/assets/{PromptsPage-DsYU0Kgm.js.map → PromptsPage-CCMb9OH2.js.map} +1 -1
  61. package/frontend/dist/assets/{ResourcesPage-DVxFnDJE.js → ResourcesPage-BERaKn0d.js} +2 -2
  62. package/frontend/dist/assets/{ResourcesPage-DVxFnDJE.js.map → ResourcesPage-BERaKn0d.js.map} +1 -1
  63. package/frontend/dist/assets/{ServersPage-DWq6jqvv.js → ServersPage-BNsFiZez.js} +4 -4
  64. package/frontend/dist/assets/{ServersPage-DWq6jqvv.js.map → ServersPage-BNsFiZez.js.map} +1 -1
  65. package/frontend/dist/assets/{SettingsPage-Db0jJzi0.js → SettingsPage-PiL7o9b9.js} +2 -2
  66. package/frontend/dist/assets/{SettingsPage-Db0jJzi0.js.map → SettingsPage-PiL7o9b9.js.map} +1 -1
  67. package/frontend/dist/assets/{StatusDot-DdZTtyw1.js → StatusDot-IWYCjv_t.js} +2 -2
  68. package/frontend/dist/assets/{StatusDot-DdZTtyw1.js.map → StatusDot-IWYCjv_t.js.map} +1 -1
  69. package/frontend/dist/assets/{ToggleGroup-tJbhgavL.js → ToggleGroup-B_NGGU8p.js} +2 -2
  70. package/frontend/dist/assets/{ToggleGroup-tJbhgavL.js.map → ToggleGroup-B_NGGU8p.js.map} +1 -1
  71. package/frontend/dist/assets/{UsersPage-BqM1rGSo.js → UsersPage-D9QdH-ma.js} +2 -2
  72. package/frontend/dist/assets/{UsersPage-BqM1rGSo.js.map → UsersPage-D9QdH-ma.js.map} +1 -1
  73. package/frontend/dist/assets/{clipboard-CakNzStU.js → clipboard-CFeeSZ4D.js} +2 -2
  74. package/frontend/dist/assets/{clipboard-CakNzStU.js.map → clipboard-CFeeSZ4D.js.map} +1 -1
  75. package/frontend/dist/assets/index-RTKBtgGw.js +3 -0
  76. package/frontend/dist/assets/{index-DE5u_PAU.js.map → index-RTKBtgGw.js.map} +1 -1
  77. package/frontend/dist/assets/{resourceService-BkO_Mq1D.js → resourceService-BoJqsssR.js} +2 -2
  78. package/frontend/dist/assets/{resourceService-BkO_Mq1D.js.map → resourceService-BoJqsssR.js.map} +1 -1
  79. package/frontend/dist/assets/{useCostData-inPDjb84.js → useCostData-Dld-MisV.js} +2 -2
  80. package/frontend/dist/assets/{useCostData-inPDjb84.js.map → useCostData-Dld-MisV.js.map} +1 -1
  81. package/frontend/dist/assets/variableDetection-C1abuc-p.js +16 -0
  82. package/frontend/dist/assets/variableDetection-C1abuc-p.js.map +1 -0
  83. package/frontend/dist/index.html +1 -1
  84. package/package.json +5 -3
  85. package/frontend/dist/assets/index-DE5u_PAU.js +0 -3
  86. package/frontend/dist/assets/variableDetection-Dt-yEyj8.js +0 -16
  87. package/frontend/dist/assets/variableDetection-Dt-yEyj8.js.map +0 -1
@@ -0,0 +1,277 @@
1
+ import crypto from 'crypto';
2
+ import { createRemoteJWKSet, decodeJwt, errors as joseErrors, jwtVerify } from 'jose';
3
+ import { createUser, findUserByEmail, findUserBySsoUserId, findUserByUsername, } from '../models/User.js';
4
+ import { normalizeOptionalString, normalizeStringArray, resolveBooleanSetting, resolveStringArraySetting, resolveStringSetting, } from '../utils/settingResolvers.js';
5
+ import { logger } from '../utils/logger.js';
6
+ /**
7
+ * Forward auth trusts an identity asserted by an upstream gateway as a JWT and
8
+ * verifies it against the identity provider's JWKS.
9
+ *
10
+ * Boundaries (agreed in issue #1207):
11
+ * - External identities are kept separate from Better Auth identities: they are
12
+ * stored in `ssoUserId` under the `forward-auth:` namespace, which Better Auth
13
+ * never produces.
14
+ * - Existing accounts are never linked by username or email. An identity is
15
+ * either already bound to a forward-auth user or gets a new non-admin user.
16
+ * - A token from the configured issuer that fails verification is rejected and
17
+ * never falls back to another authentication method.
18
+ */
19
+ export const FORWARD_AUTH_SSO_PREFIX = 'forward-auth:';
20
+ const SUPPORTED_MODES = ['jwks'];
21
+ const DEFAULT_ALGORITHMS = ['RS256', 'ES256'];
22
+ const DEFAULT_USERNAME_CLAIM = 'preferred_username';
23
+ const DEFAULT_EMAIL_CLAIM = 'email';
24
+ const CLOCK_TOLERANCE_SECONDS = 30;
25
+ const MAX_USERNAME_LENGTH = 255;
26
+ // Only asymmetric algorithms are meaningful with a remote JWKS. HS* and `none`
27
+ // are never accepted, whatever the configuration says.
28
+ const ASYMMETRIC_ALGORITHMS = new Set([
29
+ 'RS256',
30
+ 'RS384',
31
+ 'RS512',
32
+ 'PS256',
33
+ 'PS384',
34
+ 'PS512',
35
+ 'ES256',
36
+ 'ES384',
37
+ 'ES512',
38
+ 'EdDSA',
39
+ ]);
40
+ const reportedConfigErrors = new Set();
41
+ const reportConfigError = (message) => {
42
+ if (reportedConfigErrors.has(message)) {
43
+ return;
44
+ }
45
+ reportedConfigErrors.add(message);
46
+ logger.error(`Forward auth disabled: ${message}`);
47
+ };
48
+ const isAllowedJwksUri = (uri) => {
49
+ try {
50
+ const url = new URL(uri);
51
+ if (url.protocol === 'https:') {
52
+ return true;
53
+ }
54
+ return url.protocol === 'http:' && ['localhost', '127.0.0.1', '[::1]'].includes(url.hostname);
55
+ }
56
+ catch {
57
+ return false;
58
+ }
59
+ };
60
+ // Audience names may contain spaces (e.g. "My API"), so a plain string is split
61
+ // on commas only. Arrays and JSON-array strings use the shared parser.
62
+ const parseAudience = (value) => {
63
+ const text = normalizeOptionalString(value);
64
+ if (text && !text.startsWith('[')) {
65
+ return text
66
+ .split(',')
67
+ .map((item) => item.trim())
68
+ .filter((item) => item.length > 0);
69
+ }
70
+ return normalizeStringArray(value);
71
+ };
72
+ const resolveAudienceSetting = (envValue, settingsValue) => {
73
+ const envAudience = parseAudience(envValue);
74
+ return envAudience.length > 0 ? envAudience : parseAudience(settingsValue);
75
+ };
76
+ export const resolveForwardAuthRuntimeConfig = (systemConfig) => {
77
+ const settings = systemConfig?.auth?.forwardAuth || {};
78
+ const jwksSettings = settings.jwks || {};
79
+ const enabledSetting = resolveBooleanSetting(process.env.FORWARD_AUTH_ENABLED, settings.enabled, false);
80
+ const mode = resolveStringSetting(process.env.FORWARD_AUTH_MODE, settings.mode, 'jwks');
81
+ const jwksUri = resolveStringSetting(process.env.FORWARD_AUTH_JWKS_URI, jwksSettings.uri);
82
+ const issuer = resolveStringSetting(process.env.FORWARD_AUTH_ISSUER, jwksSettings.issuer);
83
+ const audience = resolveAudienceSetting(process.env.FORWARD_AUTH_AUDIENCE, jwksSettings.audience);
84
+ const configuredAlgorithms = resolveStringArraySetting(process.env.FORWARD_AUTH_ALGORITHMS, jwksSettings.algorithms, DEFAULT_ALGORITHMS);
85
+ const algorithms = configuredAlgorithms.filter((alg) => ASYMMETRIC_ALGORITHMS.has(alg));
86
+ const usernameClaim = resolveStringSetting(process.env.FORWARD_AUTH_USERNAME_CLAIM, settings.usernameClaim, DEFAULT_USERNAME_CLAIM) || DEFAULT_USERNAME_CLAIM;
87
+ const emailClaim = resolveStringSetting(process.env.FORWARD_AUTH_EMAIL_CLAIM, settings.emailClaim, DEFAULT_EMAIL_CLAIM) || DEFAULT_EMAIL_CLAIM;
88
+ const autoCreate = resolveBooleanSetting(process.env.FORWARD_AUTH_AUTO_CREATE, settings.autoCreate, true);
89
+ let enabled = enabledSetting;
90
+ if (enabled) {
91
+ const rejectedAlgorithms = configuredAlgorithms.filter((alg) => !ASYMMETRIC_ALGORITHMS.has(alg));
92
+ if (!SUPPORTED_MODES.includes(mode)) {
93
+ reportConfigError(`unsupported mode "${mode}"; only "jwks" is supported`);
94
+ enabled = false;
95
+ }
96
+ else if (!jwksUri || !isAllowedJwksUri(jwksUri)) {
97
+ reportConfigError('jwks.uri must be an https URL (http is allowed only for localhost)');
98
+ enabled = false;
99
+ }
100
+ else if (!issuer) {
101
+ reportConfigError('jwks.issuer is required');
102
+ enabled = false;
103
+ }
104
+ else if (audience.length === 0) {
105
+ reportConfigError('jwks.audience is required');
106
+ enabled = false;
107
+ }
108
+ else if (rejectedAlgorithms.length > 0 || algorithms.length === 0) {
109
+ reportConfigError(`jwks.algorithms must list only asymmetric algorithms (${[...ASYMMETRIC_ALGORITHMS].join(', ')})`);
110
+ enabled = false;
111
+ }
112
+ }
113
+ return {
114
+ enabled,
115
+ mode: 'jwks',
116
+ jwksUri,
117
+ issuer,
118
+ audience,
119
+ algorithms,
120
+ usernameClaim,
121
+ emailClaim,
122
+ autoCreate,
123
+ };
124
+ };
125
+ const jwksCache = new Map();
126
+ // createRemoteJWKSet caches keys and refetches on an unknown `kid`, which is
127
+ // what handles key rotation at the identity provider.
128
+ const getRemoteJwks = (uri) => {
129
+ let jwks = jwksCache.get(uri);
130
+ if (!jwks) {
131
+ jwks = createRemoteJWKSet(new URL(uri));
132
+ jwksCache.set(uri, jwks);
133
+ }
134
+ return jwks;
135
+ };
136
+ /** Test hook: drop cached JWKS clients and once-only config error reports. */
137
+ export const resetForwardAuthStateForTests = () => {
138
+ jwksCache.clear();
139
+ reportedConfigErrors.clear();
140
+ };
141
+ // Claims are used exactly as issued and never normalized. A missing, non-string
142
+ // or whitespace-only claim counts as absent.
143
+ const readStringClaim = (payload, claim) => {
144
+ const value = payload[claim];
145
+ return typeof value === 'string' && value.trim() ? value : undefined;
146
+ };
147
+ export const buildForwardAuthSsoUserId = (issuer, subject) => `${FORWARD_AUTH_SSO_PREFIX}${crypto
148
+ .createHash('sha256')
149
+ .update(`${issuer}\n${subject}`)
150
+ .digest('hex')}`;
151
+ export const isForwardAuthUser = (user) => Boolean(user?.ssoUserId?.startsWith(FORWARD_AUTH_SSO_PREFIX));
152
+ const resolveForwardAuthUser = async (payload, config) => {
153
+ // `sub` is the identity key; normalizing it could merge distinct identities.
154
+ const subject = readStringClaim(payload, 'sub');
155
+ if (!subject || !config.issuer) {
156
+ return { status: 'rejected', reason: 'token has no usable sub claim' };
157
+ }
158
+ const ssoUserId = buildForwardAuthSsoUserId(config.issuer, subject);
159
+ const boundUser = await findUserBySsoUserId(ssoUserId);
160
+ if (boundUser) {
161
+ return { status: 'authenticated', user: boundUser };
162
+ }
163
+ if (!config.autoCreate) {
164
+ return {
165
+ status: 'rejected',
166
+ reason: 'identity is not bound to a local user and autoCreate is disabled',
167
+ };
168
+ }
169
+ const email = readStringClaim(payload, config.emailClaim);
170
+ const username = readStringClaim(payload, config.usernameClaim) || email || subject;
171
+ if (username.length > MAX_USERNAME_LENGTH) {
172
+ return { status: 'rejected', reason: 'username claim is too long' };
173
+ }
174
+ // The username is used as-is, but ownership checks trim owners, so a padded
175
+ // username could alias another account. Reject it rather than normalize it.
176
+ if (/^\s|\s$/.test(username)) {
177
+ return { status: 'rejected', reason: 'username has leading or trailing whitespace' };
178
+ }
179
+ // Never link an existing account by username or email, so a gateway identity
180
+ // cannot take over a local, Better Auth or admin account.
181
+ if (await findUserByUsername(username)) {
182
+ return {
183
+ status: 'rejected',
184
+ reason: `username "${username}" already belongs to another account`,
185
+ };
186
+ }
187
+ if (email && (await findUserByEmail(email))) {
188
+ return { status: 'rejected', reason: 'email already belongs to another account' };
189
+ }
190
+ const createdUser = await createUser({
191
+ username,
192
+ password: crypto.randomUUID(),
193
+ isAdmin: false,
194
+ email,
195
+ ssoUserId,
196
+ });
197
+ if (createdUser) {
198
+ logger.info(`Forward auth created local user "${username}"`);
199
+ return { status: 'authenticated', user: createdUser };
200
+ }
201
+ // A concurrent request for the same identity may have created the user first.
202
+ const racedUser = await findUserBySsoUserId(ssoUserId);
203
+ if (racedUser) {
204
+ return { status: 'authenticated', user: racedUser };
205
+ }
206
+ return { status: 'rejected', reason: `could not create local user "${username}"` };
207
+ };
208
+ const describeVerificationError = (error) => {
209
+ if (error instanceof joseErrors.JWTExpired)
210
+ return 'token expired';
211
+ if (error instanceof joseErrors.JWTClaimValidationFailed) {
212
+ return `claim "${error.claim}" ${error.reason}`;
213
+ }
214
+ if (error instanceof joseErrors.JOSEAlgNotAllowed)
215
+ return 'algorithm not allowed';
216
+ if (error instanceof joseErrors.JWKSNoMatchingKey)
217
+ return 'no matching key in JWKS';
218
+ if (error instanceof joseErrors.JWSSignatureVerificationFailed)
219
+ return 'invalid signature';
220
+ if (error instanceof joseErrors.JWKSTimeout)
221
+ return 'JWKS request timed out';
222
+ return error instanceof Error ? error.message : 'verification failed';
223
+ };
224
+ /**
225
+ * Authenticate a bearer token as a forward-auth JWT.
226
+ *
227
+ * Returns `skipped` when forward auth is disabled or the token is not a JWT from
228
+ * the configured issuer, so callers continue with their other methods. Returns
229
+ * `rejected` for a token from the configured issuer that fails verification or
230
+ * cannot be mapped to a user; callers must not fall back in that case.
231
+ */
232
+ export const authenticateForwardAuthToken = async (token, systemConfig) => {
233
+ if (!token) {
234
+ return { status: 'skipped' };
235
+ }
236
+ const config = resolveForwardAuthRuntimeConfig(systemConfig);
237
+ if (!config.enabled || !config.jwksUri || !config.issuer) {
238
+ return { status: 'skipped' };
239
+ }
240
+ let unverifiedIssuer;
241
+ try {
242
+ unverifiedIssuer = decodeJwt(token).iss;
243
+ }
244
+ catch {
245
+ return { status: 'skipped' };
246
+ }
247
+ if (unverifiedIssuer !== config.issuer) {
248
+ return { status: 'skipped' };
249
+ }
250
+ let payload;
251
+ try {
252
+ ({ payload } = await jwtVerify(token, getRemoteJwks(config.jwksUri), {
253
+ issuer: config.issuer,
254
+ audience: config.audience,
255
+ algorithms: config.algorithms,
256
+ requiredClaims: ['exp', 'sub'],
257
+ clockTolerance: CLOCK_TOLERANCE_SECONDS,
258
+ }));
259
+ }
260
+ catch (error) {
261
+ const reason = describeVerificationError(error);
262
+ logger.warn(`Forward auth rejected token: ${reason}`);
263
+ return { status: 'rejected', reason };
264
+ }
265
+ try {
266
+ const result = await resolveForwardAuthUser(payload, config);
267
+ if (result.status === 'rejected') {
268
+ logger.warn(`Forward auth rejected token: ${result.reason}`);
269
+ }
270
+ return result;
271
+ }
272
+ catch (error) {
273
+ logger.error('Forward auth user resolution failed:', error);
274
+ return { status: 'rejected', reason: 'user resolution failed' };
275
+ }
276
+ };
277
+ //# sourceMappingURL=forwardAuthService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forwardAuthService.js","sourceRoot":"","sources":["../../src/services/forwardAuthService.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,IAAI,UAAU,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEtF,OAAO,EACL,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;;;;;;;;;;GAYG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAC;AAEvD,MAAM,eAAe,GAAsB,CAAC,MAAM,CAAC,CAAC;AACpD,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9C,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AACpD,MAAM,mBAAmB,GAAG,OAAO,CAAC;AACpC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,+EAA+E;AAC/E,uDAAuD;AACvD,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;CACR,CAAC,CAAC;AAmBH,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE/C,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAQ,EAAE;IAClD,IAAI,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO;IACT,CAAC;IACD,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAW,EAAE;IAChD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,gFAAgF;AAChF,uEAAuE;AACvE,MAAM,aAAa,GAAG,CAAC,KAAc,EAAY,EAAE;IACjD,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI;aACR,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,QAA4B,EAAE,aAAsB,EAAY,EAAE;IAChG,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,YAAkC,EACR,EAAE;IAC5B,MAAM,QAAQ,GAAsB,YAAY,EAAE,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;IAC1E,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IAEzC,MAAM,cAAc,GAAG,qBAAqB,CAC1C,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAChC,QAAQ,CAAC,OAAO,EAChB,KAAK,CACN,CAAC;IACF,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC1F,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAClG,MAAM,oBAAoB,GAAG,yBAAyB,CACpD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EACnC,YAAY,CAAC,UAAU,EACvB,kBAAkB,CACnB,CAAC;IACF,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxF,MAAM,aAAa,GACjB,oBAAoB,CAClB,OAAO,CAAC,GAAG,CAAC,2BAA2B,EACvC,QAAQ,CAAC,aAAa,EACtB,sBAAsB,CACvB,IAAI,sBAAsB,CAAC;IAC9B,MAAM,UAAU,GACd,oBAAoB,CAClB,OAAO,CAAC,GAAG,CAAC,wBAAwB,EACpC,QAAQ,CAAC,UAAU,EACnB,mBAAmB,CACpB,IAAI,mBAAmB,CAAC;IAC3B,MAAM,UAAU,GAAG,qBAAqB,CACtC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EACpC,QAAQ,CAAC,UAAU,EACnB,IAAI,CACL,CAAC;IAEF,IAAI,OAAO,GAAG,cAAc,CAAC;IAC7B,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,MAAM,CACpD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAuB,CAAC,EAAE,CAAC;YACvD,iBAAiB,CAAC,qBAAqB,IAAI,6BAA6B,CAAC,CAAC;YAC1E,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;aAAM,IAAI,CAAC,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,iBAAiB,CAAC,oEAAoE,CAAC,CAAC;YACxF,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;aAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACnB,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;YAC7C,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;YAC/C,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;aAAM,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,iBAAiB,CACf,yDAAyD,CAAC,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAClG,CAAC;YACF,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO;QACP,IAAI,EAAE,MAAM;QACZ,OAAO;QACP,MAAM;QACN,QAAQ;QACR,UAAU;QACV,aAAa;QACb,UAAU;QACV,UAAU;KACX,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAC;AAErD,6EAA6E;AAC7E,sDAAsD;AACtD,MAAM,aAAa,GAAG,CAAC,GAAW,EAAmB,EAAE;IACrD,IAAI,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,kBAAkB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAS,EAAE;IACtD,SAAS,CAAC,KAAK,EAAE,CAAC;IAClB,oBAAoB,CAAC,KAAK,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF,gFAAgF;AAChF,6CAA6C;AAC7C,MAAM,eAAe,GAAG,CAAC,OAAmB,EAAE,KAAa,EAAsB,EAAE;IACjF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,MAAc,EAAE,OAAe,EAAU,EAAE,CACnF,GAAG,uBAAuB,GAAG,MAAM;KAChC,UAAU,CAAC,QAAQ,CAAC;KACpB,MAAM,CAAC,GAAG,MAAM,KAAK,OAAO,EAAE,CAAC;KAC/B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAErB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAsC,EAAW,EAAE,CACnF,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAEhE,MAAM,sBAAsB,GAAG,KAAK,EAClC,OAAmB,EACnB,MAAgC,EACJ,EAAE;IAC9B,6EAA6E;IAC7E,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC;IACzE,CAAC;IAED,MAAM,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,kEAAkE;SAC3E,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,IAAI,OAAO,CAAC;IACpF,IAAI,QAAQ,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;QAC1C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;IACtE,CAAC;IACD,4EAA4E;IAC5E,4EAA4E;IAC5E,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,6CAA6C,EAAE,CAAC;IACvF,CAAC;IAED,6EAA6E;IAC7E,0DAA0D;IAC1D,IAAI,MAAM,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,aAAa,QAAQ,sCAAsC;SACpE,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,IAAI,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,0CAA0C,EAAE,CAAC;IACpF,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC;QACnC,QAAQ;QACR,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE;QAC7B,OAAO,EAAE,KAAK;QACd,KAAK;QACL,SAAS;KACV,CAAC,CAAC;IACH,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,oCAAoC,QAAQ,GAAG,CAAC,CAAC;QAC7D,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACxD,CAAC;IAED,8EAA8E;IAC9E,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,gCAAgC,QAAQ,GAAG,EAAE,CAAC;AACrF,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,KAAc,EAAU,EAAE;IAC3D,IAAI,KAAK,YAAY,UAAU,CAAC,UAAU;QAAE,OAAO,eAAe,CAAC;IACnE,IAAI,KAAK,YAAY,UAAU,CAAC,wBAAwB,EAAE,CAAC;QACzD,OAAO,UAAU,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;IAClD,CAAC;IACD,IAAI,KAAK,YAAY,UAAU,CAAC,iBAAiB;QAAE,OAAO,uBAAuB,CAAC;IAClF,IAAI,KAAK,YAAY,UAAU,CAAC,iBAAiB;QAAE,OAAO,yBAAyB,CAAC;IACpF,IAAI,KAAK,YAAY,UAAU,CAAC,8BAA8B;QAAE,OAAO,mBAAmB,CAAC;IAC3F,IAAI,KAAK,YAAY,UAAU,CAAC,WAAW;QAAE,OAAO,wBAAwB,CAAC;IAC7E,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC;AACxE,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAC/C,KAAgC,EAChC,YAAkC,EACN,EAAE;IAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,MAAM,GAAG,+BAA+B,CAAC,YAAY,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACzD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,gBAAoC,CAAC;IACzC,IAAI,CAAC;QACH,gBAAgB,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,gBAAgB,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QACvC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,OAAmB,CAAC;IACxB,IAAI,CAAC;QACH,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACnE,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;YAC9B,cAAc,EAAE,uBAAuB;SACxC,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC;QACtD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,gCAAgC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;QAC5D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;IAClE,CAAC;AACH,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { SSEClientTransport, StreamableHTTPClientTransport } from '@modelcontextprotocol/client';
1
+ import { SSEClientTransport, StreamableHTTPClientTransport } from '../clients/mcpSdkClient.js';
2
2
  import { formatErrorForLogging } from '../utils/serialization.js';
3
3
  import { logger } from '../utils/logger.js';
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"keepAliveService.js","sourceRoot":"","sources":["../../src/services/keepAliveService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keepAliveService.js","sourceRoot":"","sources":["../../src/services/keepAliveService.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,19 @@ export class MCPHubOAuthProvider {
44
44
  getSystemInstallBaseUrl() {
45
45
  return this._systemInstallBaseUrl;
46
46
  }
47
+ async allowInsecureTokenEndpoint(endpoint) {
48
+ // Re-read the admin-controlled setting so a revoked exception cannot be
49
+ // reused by an old transport or a pending authorization callback.
50
+ const config = await loadServerConfig(this.serverName);
51
+ if (endpoint.protocol !== 'http:' || config?.oauth?.allowInsecureTokenEndpoint !== true) {
52
+ return false;
53
+ }
54
+ logger.warn('Sending OAuth credentials over HTTP with an admin-enabled exception', {
55
+ serverName: this.serverName,
56
+ tokenEndpointOrigin: endpoint.origin,
57
+ });
58
+ return true;
59
+ }
47
60
  /**
48
61
  * Get redirect URL for OAuth callback
49
62
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mcpOAuthProvider.js","sourceRoot":"","sources":["../../src/services/mcpOAuthProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAEL,0BAA0B,EAE1B,4BAA4B,GAC7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,0BAA0B,GAE3B,MAAM,yBAAyB,CAAC;AAEjC,8CAA8C;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAK5C;;;;;;GAMG;AACH,MAAM,OAAO,mBAAmB;IAU9B,YAAY,UAAkB,EAAE,YAA0B,EAAE,oBAA6B;QACvF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,UAAkB,EAClB,YAA0B;QAE1B,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC;QACjD,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACjE,OAAO,IAAI,mBAAmB,CAAC,UAAU,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;IACjF,CAAC;IAEO,uBAAuB;QAC7B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,CACL,4BAA4B,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,CAAC;YAClF,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,mBAAmB,CAAC;QACnE,MAAM,QAAQ,GAAG,aAAa,EAAE,QAAQ,IAAI,EAAE,CAAC;QAE/C,2DAA2D;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,YAAY,GAAG,4BAA4B,CAC/C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,uBAAuB,EAAE,CAC/B,CAAC;QAEF,MAAM,uBAAuB,GAC3B,QAAQ,CAAC,0BAA0B,IAAI,QAAQ,CAAC,0BAA0B,KAAK,EAAE;YAC/E,CAAC,CAAC,QAAQ,CAAC,0BAA0B;YACrC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY;gBACrC,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,MAAM,CAAC;QAEf,yFAAyF;QACzF,2FAA2F;QAC3F,4FAA4F;QAC5F,mFAAmF;QACnF,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC;QACzD,MAAM,KAAK,GACT,QAAQ,CAAC,KAAK,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAE7F,OAAO;YACL,GAAG,QAAQ,EAAE,yCAAyC;YACtD,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,YAAY,IAAI,CAAC,UAAU,EAAE;YAClE,aAAa,EAAE,YAAY;YAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC;YAC5E,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC;YACnD,0BAA0B,EAAE,uBAAuB;YACnD,KAAK;SACN,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;QACxC,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC;QAEvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,qFAAqF;QACrF,4FAA4F;QAC5F,yBAAyB;QACzB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CACxC,SAAS,EACT,MAAM,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAC1C,CAAC;YACF,uFAAuF;YACvF,6BAA6B;YAC7B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;oBAC7E,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBACxB,CAAC,CAAC,CAAC;gBACH,IAAI,aAAa,EAAE,CAAC;oBAClB,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;gBACpC,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE;oBAC9C,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,MAAM;iBACP,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;gBAChD,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,aAAa;QACnB,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;SACvC,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxD,kEAAkE;QAClE,0EAA0E;QAC1E,2EAA2E;QAC3E,yCAAyC;QACzC,MAAM,uBAAuB,GAAG,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC;QAE/E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,kEAAkE;YAClE,2DAA2D;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAEvC,2DAA2D;YAC3D,IAAI,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;gBAClC,OAAO;oBACL,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ;oBACtC,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY;oBAC9C,0BAA0B,EAAE,uBAAuB;iBACpD,CAAC;YACJ,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,SAAS,EAAE,UAAU,CAAC,QAAQ;YAC9B,aAAa,EAAE,UAAU,CAAC,YAAY;YACtC,0BAA0B,EAAE,uBAAuB;SACpD,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,IAAgC;QAC1D,MAAM,CAAC,GAAG,CAAC,iCAAiC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAE/E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QACvC,MAAM,MAAM,GACV,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9D,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpE,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,YAAY,EAAE,IAAI,CAAC,aAAa;gBAChC,MAAM;aACP,CAAC,CAAC;YAEH,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;YACpC,CAAC;YAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACtC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE;gBACzD,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK;aACN,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,iFAAiF;QACjF,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAEvC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW;YAC5C,UAAU,EAAE,QAAQ;YACpB,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY;YAC9C,kEAAkE;YAClE,gDAAgD;SACjD,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,MAAmB;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAC7C,MAAM,kBAAkB,GAAG,YAAY,EAAE,WAAW,KAAK,MAAM,CAAC,YAAY,CAAC;QAC7E,MAAM,oBAAoB,GAAG,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC;QAChE,MAAM,mBAAmB,GACvB,oBAAoB,IAAI,YAAY,EAAE,YAAY,KAAK,MAAM,CAAC,aAAa,CAAC;QAC9E,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;QAE/D,IAAI,CAAC,kBAAkB,IAAI,CAAC,mBAAmB,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;YAC5C,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;SAC/C,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE;YACzD,WAAW,EAAE,MAAM,CAAC,YAAY;YAChC,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAC/E,yBAAyB,EAAE,UAAU;SACtC,CAAC,CAAC;QAEH,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAE9B,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC;QAC/B,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,kBAAkB,CAAC,KAA0B;QAC3C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,2BAA2B,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,MAAM,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,OAAO,CACzB,QAAQ;YACN,gDAAgD,IAAI,QAAQ;YAC5D,QAAQ,CAAC,8CAA8C,KAAK,IAAI,CACnE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC;QAEtD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,YAAY,EAAE,KAAK,EAAE,oBAAoB,EAAE,cAAc,CAAC;QACxE,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,uBAAuB,CAAC,GAAQ;QACpC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,4CAA4C,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1E,MAAM,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;QAEvD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;QAED,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,aAAa,GAAwE;gBACzF,gBAAgB;gBAChB,cAAc,EAAE,IAAI,CAAC,eAAe;gBACpC,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM;gBAC5E,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,KAAK;aACN,CAAC;YAEF,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;YAClD,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;YACvF,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE;gBAClE,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK;aACN,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;QAED,uEAAuE;QACvE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,UAAU,EAAE,CAAC;YACf,oEAAoE;YACpE,wEAAwE;YACxE,yEAAyE;YACzE,6EAA6E;YAC7E,0EAA0E;YAC1E,uEAAuE;YACvE,uEAAuE;YACvE,kEAAkE;YAClE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YACxC,CAAC;YACD,UAAU,CAAC,MAAM,GAAG,gBAAgB,CAAC;YACrC,UAAU,CAAC,KAAK,GAAG;gBACjB,gBAAgB;gBAChB,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM;gBAC5E,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,KAAK;gBACL,wEAAwE;gBACxE,0EAA0E;gBAC1E,uEAAuE;gBACvE,yEAAyE;gBACzE,4EAA4E;gBAC5E,6EAA6E;gBAC7E,0EAA0E;gBAC1E,kFAAkF;gBAClF,gFAAgF;gBAChF,2FAA2F;gBAC3F,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC;aAChE,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,+CAA+C,EAAE;gBAC1D,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,6DAA6D,EAAE;gBACzE,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,kDAAkD;QAClD,4EAA4E;QAC5E,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,UAAU,0CAA0C,CACrG,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACrC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,UAAU,EAAE;gBACtE,YAAY,EAAE,QAAQ;aACvB,CAAC,CAAC;YACH,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE;gBACpD,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,YAAY,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,CAAC;QAE/E,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;YACtD,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC;YACpC,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CACzB,KAA6D;QAE7D,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACrE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAChC,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE7D,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC;YACzB,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBAC5C,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YACjC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,aAAa,GAAG,YAAqC,CAAC;QAC1D,MAAM,mBAAmB,GAAG,CAAC,OAA+B,EAAE,EAAE;YAC9D,IAAI,OAAO,EAAE,CAAC;gBACZ,aAAa,GAAG,OAAO,CAAC;gBACxB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;YACpC,CAAC;QACH,CAAC,CAAC;QAEF,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACnC,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YAC1C,IAAI,aAAa,CAAC,KAAK,CAAC,WAAW,IAAI,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACxE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAChE,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YAC1C,MAAM,qBAAqB,GAAG,aAAa,CAAC,KAAK,CAAC,mBAAmB,EAAE,OAAO,KAAK,IAAI,CAAC;YAExF,IACE,qBAAqB;gBACrB,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,IAAI,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,EAClE,CAAC;gBACD,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACxC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAChE,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,IAAI,KAAK,KAAK,WAAW,IAAI,aAAa,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;YACtE,mBAAmB,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YAC5C,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,aAAa,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAClE,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,MAAM,GAAG,gBAAgB,CAAC;gBACrC,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,0BAA0B,GAAG,KAAK,EACtC,UAAkB,EAClB,YAA0B,EACX,EAAE;IACjB,qFAAqF;IACrF,sEAAsE;IACtE,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CACxC,YAAY,CAAC,GAAG,EAChB,MAAM,gBAAgB,CAAC,YAAY,CAAC,CACrC,CAAC;QACF,wFAAwF;QACxF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,oFAAoF;YACpF,sFAAsF;YACtF,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBACxB,YAAY,CAAC,KAAK,GAAG,EAAE,CAAC;YAC1B,CAAC;YACD,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAEnC,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;gBACxE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,CAAC,GAAG,CAAC,kEAAkE,EAAE;oBAC7E,UAAU;oBACV,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,mEAAmE,EAAE;YAC/E,UAAU;YACV,KAAK;SACN,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,OAAgC,EAAW,EAAE;IAC3E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,UAAkB,EAClB,YAA0B,EACgB,EAAE;IAC5C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IAEjC,4EAA4E;IAC5E,8EAA8E;IAC9E,+EAA+E;IAC/E,iFAAiF;IACjF,iFAAiF;IACjF,iEAAiE;IACjE,MAAM,cAAc,GAAG,OAAO,CAC5B,KAAK;QACH,CAAC,KAAK,CAAC,QAAQ;YACb,KAAK,CAAC,WAAW;YACjB,KAAK,CAAC,YAAY;YAClB,KAAK,CAAC,qBAAqB;YAC3B,KAAK,CAAC,aAAa;YACnB,KAAK,CAAC,mBAAmB,EAAE,OAAO;YAClC,KAAK,CAAC,mBAAmB,EAAE,MAAM;YACjC,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CACrD,CAAC;IAEF,IAAI,CAAC,cAAc,IAAI,sBAAsB,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QACpE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,6FAA6F;IAC7F,MAAM,0BAA0B,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAE3D,oEAAoE;IACpE,uEAAuE;IACvE,IAAI,CAAC;QACH,MAAM,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,uDAAuD;IACzD,CAAC;IAED,0DAA0D;IAC1D,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAE5E,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IACrE,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"mcpOAuthProvider.js","sourceRoot":"","sources":["../../src/services/mcpOAuthProvider.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ import fs from 'fs';
16
16
  import treeKill from 'tree-kill';
17
17
  import { isProcessTreeKillAvailable } from '../utils/processTree.js';
18
18
  import { StdioClientTransport } from '@modelcontextprotocol/client/stdio';
19
- import { SSEClientTransport, StreamableHTTPClientTransport, } from '@modelcontextprotocol/client';
19
+ import { SSEClientTransport, StreamableHTTPClientTransport, } from '../clients/mcpSdkClient.js';
20
20
  import { Server } from '@modelcontextprotocol/server';
21
21
  import { createFetchWithProxy, getProxyConfigFromEnv } from './proxy.js';
22
22
  import { assertSafeUrl, createRedirectValidatingFetch } from '../utils/ssrf.js';
@@ -2670,12 +2670,19 @@ const primeOnDemandServers = (gate) => {
2670
2670
  const run = gate ? gate.run : (start) => start();
2671
2671
  return Promise.allSettled(targets.map(async (si) => {
2672
2672
  try {
2673
- await run(() => ensureServerReady(si));
2673
+ await run(() => ensureServerReady(si),
2674
+ // A reload may replace this runtime or finish its discovery while it
2675
+ // waits for a slot. Neither needs another child from the old queue.
2676
+ () => serverInfos.includes(si) && si.enabled !== false && si.tools.length === 0);
2674
2677
  // Sleep the child unless a tool call is using it; keep the cached tool list.
2675
2678
  shutdownOnDemandServer(si);
2676
2679
  logger.log('On-demand server tool cache primed');
2677
2680
  }
2678
2681
  catch (error) {
2682
+ if (error instanceof QueuedConnectCancelledError) {
2683
+ logger.log('Cancelled queued on-demand discovery', { serverName: si.name });
2684
+ return;
2685
+ }
2679
2686
  logger.warn('Failed to prime on-demand server', {
2680
2687
  error: summarizeErrorForLogging(error),
2681
2688
  });
@@ -2843,9 +2850,21 @@ const getMcpAppsRouteContext = async (sessionId, group) => {
2843
2850
  : sessionId
2844
2851
  ? servers[sessionId]?.getClientCapabilities()
2845
2852
  : undefined;
2846
- if (isSmartRoutingGroup(group) || !hasMcpAppsCapability(clientCapabilities)) {
2853
+ if (!hasMcpAppsCapability(clientCapabilities)) {
2847
2854
  return { enabled: false };
2848
2855
  }
2856
+ if (isSmartRoutingGroup(group)) {
2857
+ // Only pinned tools are listed under their own descriptor, so only the servers
2858
+ // that pin something can own a widget here. Always the multi-server shape:
2859
+ // names stay qualified and calls resolve through the group, so a pin never
2860
+ // widens what the group allows.
2861
+ const pinned = await resolvePinnedSmartRoutingServers(group);
2862
+ // An idle on-demand server still advertises its cached tools, so it keeps its
2863
+ // widget link: dropping it here would hand the host a descriptor without one
2864
+ // that the next call, which wakes the server, can no longer correct.
2865
+ const eligible = (pinned?.pinnedServerInfos ?? []).filter(canServeToolRequests);
2866
+ return eligible.length > 0 ? { enabled: true, serverInfos: eligible } : { enabled: false };
2867
+ }
2849
2868
  const { filteredServerInfos } = await getFilteredServerInfosForGroup(group);
2850
2869
  const connectedServerInfos = filteredServerInfos.filter((serverInfo) => serverInfo.status === 'connected' && !!serverInfo.client);
2851
2870
  if (connectedServerInfos.length === 0) {
@@ -3041,13 +3060,12 @@ const listGroupTools = async (group, filteredServerInfos, serverConfigsByName, a
3041
3060
  // Names the call handler always routes to a meta-tool on a Smart Routing session,
3042
3061
  // whichever of them the current mode lists (see handleCallToolRequestImpl)
3043
3062
  const SMART_ROUTING_META_TOOL_NAMES = new Set(['search_tools', 'describe_tool', 'call_tool']);
3044
- // Tools a $smart/<group> lists next to its meta-tools: each member's pinnedTools,
3045
- // narrowed to its tools selection and then run through the same filtering and
3046
- // projection as a direct group listing.
3047
- const getPinnedSmartRoutingTools = async (group) => {
3063
+ // Each member's pinnedTools, narrowed to its tools selection. Empty when the
3064
+ // route is not a $smart/<group> or the group pins nothing.
3065
+ const resolvePinnedSmartRoutingServers = async (group) => {
3048
3066
  const lookupGroup = getGroupLookupName(group);
3049
3067
  if (!lookupGroup) {
3050
- return [];
3068
+ return undefined;
3051
3069
  }
3052
3070
  const { filteredServerInfos, serverConfigsByName } = await getFilteredServerInfosForGroup(lookupGroup);
3053
3071
  const pinnedConfigsByName = new Map();
@@ -3059,9 +3077,23 @@ const getPinnedSmartRoutingTools = async (group) => {
3059
3077
  }
3060
3078
  }
3061
3079
  if (pinnedConfigsByName.size === 0) {
3080
+ return undefined;
3081
+ }
3082
+ return {
3083
+ lookupGroup,
3084
+ pinnedServerInfos: filteredServerInfos.filter((serverInfo) => pinnedConfigsByName.has(serverInfo.name)),
3085
+ pinnedConfigsByName,
3086
+ };
3087
+ };
3088
+ // Tools a $smart/<group> lists next to its meta-tools: each member's pinnedTools,
3089
+ // narrowed to its tools selection and then run through the same filtering and
3090
+ // projection as a direct group listing.
3091
+ const getPinnedSmartRoutingTools = async (group, appsRouteContext = { enabled: false }) => {
3092
+ const pinned = await resolvePinnedSmartRoutingServers(group);
3093
+ if (!pinned) {
3062
3094
  return [];
3063
3095
  }
3064
- return listGroupTools(lookupGroup, filteredServerInfos.filter((serverInfo) => pinnedConfigsByName.has(serverInfo.name)), pinnedConfigsByName, { enabled: false });
3096
+ return listGroupTools(pinned.lookupGroup, pinned.pinnedServerInfos, pinned.pinnedConfigsByName, appsRouteContext);
3065
3097
  };
3066
3098
  const handleListToolsRequestImpl = async (_, extra) => {
3067
3099
  const sessionId = extra.sessionId || '';
@@ -3073,10 +3105,11 @@ const handleListToolsRequestImpl = async (_, extra) => {
3073
3105
  const smartRoutingTools = await getSmartRoutingTools(group);
3074
3106
  let pinnedTools = [];
3075
3107
  try {
3108
+ const appsRouteContext = await getMcpAppsRouteContext(sessionId, group);
3076
3109
  // A pin named like a meta-tool (e.g. alias "describe" + separator "_" +
3077
3110
  // tool "tool") would be intercepted by it on call, even in a mode that
3078
3111
  // does not list that meta-tool, so it is not listed at all
3079
- pinnedTools = (await getPinnedSmartRoutingTools(group)).filter((tool) => !SMART_ROUTING_META_TOOL_NAMES.has(tool.name));
3112
+ pinnedTools = (await getPinnedSmartRoutingTools(group, appsRouteContext)).filter((tool) => !SMART_ROUTING_META_TOOL_NAMES.has(tool.name));
3080
3113
  }
3081
3114
  catch (error) {
3082
3115
  // Pins are an optimisation: failing to resolve them must not cost the meta-tools