@samanhappy/mcphub 1.2.1 → 1.2.3
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.
- package/dist/constants/oauthServerDefaults.js +2 -0
- package/dist/constants/oauthServerDefaults.js.map +1 -1
- package/dist/controllers/bearerKeyController.js +50 -2
- package/dist/controllers/bearerKeyController.js.map +1 -1
- package/dist/controllers/credentialBindingController.js +30 -1
- package/dist/controllers/credentialBindingController.js.map +1 -1
- package/dist/controllers/oauthApprovalController.js +63 -0
- package/dist/controllers/oauthApprovalController.js.map +1 -0
- package/dist/controllers/oauthServerController.js +55 -20
- package/dist/controllers/oauthServerController.js.map +1 -1
- package/dist/controllers/serverController.js +19 -1
- package/dist/controllers/serverController.js.map +1 -1
- package/dist/dao/DaoFactory.js +7 -0
- package/dist/dao/DaoFactory.js.map +1 -1
- package/dist/dao/DatabaseDaoFactory.js +4 -0
- package/dist/dao/DatabaseDaoFactory.js.map +1 -1
- package/dist/dao/OAuthApprovalDao.js +52 -0
- package/dist/dao/OAuthApprovalDao.js.map +1 -0
- package/dist/dao/OAuthApprovalDaoDbImpl.js +26 -0
- package/dist/dao/OAuthApprovalDaoDbImpl.js.map +1 -0
- package/dist/dao/OAuthTokenDaoDbImpl.js +2 -0
- package/dist/dao/OAuthTokenDaoDbImpl.js.map +1 -1
- package/dist/dao/index.js +1 -0
- package/dist/dao/index.js.map +1 -1
- package/dist/db/entities/OAuthApproval.js +58 -0
- package/dist/db/entities/OAuthApproval.js.map +1 -0
- package/dist/db/entities/OAuthToken.js +4 -0
- package/dist/db/entities/OAuthToken.js.map +1 -1
- package/dist/db/entities/index.js +3 -1
- package/dist/db/entities/index.js.map +1 -1
- package/dist/middlewares/auth.js +2 -2
- package/dist/middlewares/auth.js.map +1 -1
- package/dist/middlewares/userContext.js +26 -5
- package/dist/middlewares/userContext.js.map +1 -1
- package/dist/models/OAuth.js +19 -3
- package/dist/models/OAuth.js.map +1 -1
- package/dist/routes/index.js +6 -1
- package/dist/routes/index.js.map +1 -1
- package/dist/services/credentialBindingService.js +39 -3
- package/dist/services/credentialBindingService.js.map +1 -1
- package/dist/services/forwardAuthService.js +27 -11
- package/dist/services/forwardAuthService.js.map +1 -1
- package/dist/services/mcpService.js +131 -5
- package/dist/services/mcpService.js.map +1 -1
- package/dist/services/oauthApprovalService.js +74 -0
- package/dist/services/oauthApprovalService.js.map +1 -0
- package/dist/services/oauthClientRegistration.js +9 -4
- package/dist/services/oauthClientRegistration.js.map +1 -1
- package/dist/services/oauthServerService.js +24 -7
- package/dist/services/oauthServerService.js.map +1 -1
- package/dist/services/personalOAuthService.js +3 -1
- package/dist/services/personalOAuthService.js.map +1 -1
- package/dist/services/sseService.js +23 -11
- package/dist/services/sseService.js.map +1 -1
- package/dist/services/userService.js +2 -0
- package/dist/services/userService.js.map +1 -1
- package/dist/services/vectorSearchService.js +139 -73
- package/dist/services/vectorSearchService.js.map +1 -1
- package/dist/utils/bearerAuth.js +23 -0
- package/dist/utils/bearerAuth.js.map +1 -1
- package/dist/utils/migration.js +1 -0
- package/dist/utils/migration.js.map +1 -1
- package/dist/utils/passthroughHeaders.js +4 -3
- package/dist/utils/passthroughHeaders.js.map +1 -1
- package/dist/utils/resourceTemplateMatch.js +229 -0
- package/dist/utils/resourceTemplateMatch.js.map +1 -0
- package/dist/utils/upstreamError.js +10 -1
- package/dist/utils/upstreamError.js.map +1 -1
- package/frontend/dist/assets/{ActivityPage-DZFLY-Um.js → ActivityPage-DhNQ7kmd.js} +2 -2
- package/frontend/dist/assets/{ActivityPage-DZFLY-Um.js.map → ActivityPage-DhNQ7kmd.js.map} +1 -1
- package/frontend/dist/assets/CredentialsPage-DysT6EhJ.js +2 -0
- package/frontend/dist/assets/CredentialsPage-DysT6EhJ.js.map +1 -0
- package/frontend/dist/assets/{Dashboard-BRU2Gk9z.js → Dashboard-CIkS2wIr.js} +2 -2
- package/frontend/dist/assets/{Dashboard-BRU2Gk9z.js.map → Dashboard-CIkS2wIr.js.map} +1 -1
- package/frontend/dist/assets/{EndpointCopy-3f1Uw-gu.js → EndpointCopy-zuPM6wTV.js} +2 -2
- package/frontend/dist/assets/{EndpointCopy-3f1Uw-gu.js.map → EndpointCopy-zuPM6wTV.js.map} +1 -1
- package/frontend/dist/assets/{GroupsPage-D_E7QL_o.js → GroupsPage-DXE8on9r.js} +2 -2
- package/frontend/dist/assets/{GroupsPage-D_E7QL_o.js.map → GroupsPage-DXE8on9r.js.map} +1 -1
- package/frontend/dist/assets/{LoginPage-Bsfdp4yD.js → LoginPage-DP5A-fpr.js} +2 -2
- package/frontend/dist/assets/{LoginPage-Bsfdp4yD.js.map → LoginPage-DP5A-fpr.js.map} +1 -1
- package/frontend/dist/assets/{LogsPage-CCHmA5cZ.js → LogsPage-kFZF0A3x.js} +2 -2
- package/frontend/dist/assets/{LogsPage-CCHmA5cZ.js.map → LogsPage-kFZF0A3x.js.map} +1 -1
- package/frontend/dist/assets/{MarketPage-DrQQT14y.js → MarketPage-DaodfOD8.js} +2 -2
- package/frontend/dist/assets/{MarketPage-DrQQT14y.js.map → MarketPage-DaodfOD8.js.map} +1 -1
- package/frontend/dist/assets/OAuthApprovalsPage-BbkfaOs3.js +2 -0
- package/frontend/dist/assets/OAuthApprovalsPage-BbkfaOs3.js.map +1 -0
- package/frontend/dist/assets/{OAuthConsentPage-934ieVvL.js → OAuthConsentPage-BX5MIl4y.js} +2 -2
- package/frontend/dist/assets/{OAuthConsentPage-934ieVvL.js.map → OAuthConsentPage-BX5MIl4y.js.map} +1 -1
- package/frontend/dist/assets/{PromptsPage-QAI8kF63.js → PromptsPage-DEIMpdNn.js} +2 -2
- package/frontend/dist/assets/{PromptsPage-QAI8kF63.js.map → PromptsPage-DEIMpdNn.js.map} +1 -1
- package/frontend/dist/assets/{ResourcesPage-TclV1l2q.js → ResourcesPage-CjkaRPQd.js} +2 -2
- package/frontend/dist/assets/{ResourcesPage-TclV1l2q.js.map → ResourcesPage-CjkaRPQd.js.map} +1 -1
- package/frontend/dist/assets/{ServersPage-Bc0tS2uo.js → ServersPage-LpIlO6by.js} +4 -4
- package/frontend/dist/assets/{ServersPage-Bc0tS2uo.js.map → ServersPage-LpIlO6by.js.map} +1 -1
- package/frontend/dist/assets/SettingsPage-fL5-63Ve.js +14 -0
- package/frontend/dist/assets/SettingsPage-fL5-63Ve.js.map +1 -0
- package/frontend/dist/assets/{StatusDot-C_UTW6B7.js → StatusDot-DyEnhqJV.js} +2 -2
- package/frontend/dist/assets/{StatusDot-C_UTW6B7.js.map → StatusDot-DyEnhqJV.js.map} +1 -1
- package/frontend/dist/assets/{ToggleGroup-CUUsTJDm.js → ToggleGroup-CNkUGOeP.js} +2 -2
- package/frontend/dist/assets/{ToggleGroup-CUUsTJDm.js.map → ToggleGroup-CNkUGOeP.js.map} +1 -1
- package/frontend/dist/assets/{UsersPage-MpTb3xJ-.js → UsersPage-DeGScomQ.js} +2 -2
- package/frontend/dist/assets/{UsersPage-MpTb3xJ-.js.map → UsersPage-DeGScomQ.js.map} +1 -1
- package/frontend/dist/assets/{clipboard-DVbqnePj.js → clipboard-PC3TyCTa.js} +2 -2
- package/frontend/dist/assets/{clipboard-DVbqnePj.js.map → clipboard-PC3TyCTa.js.map} +1 -1
- package/frontend/dist/assets/{costRevision-DXEYAFUy.js → costRevision-DkLRM8DI.js} +2 -2
- package/frontend/dist/assets/{costRevision-DXEYAFUy.js.map → costRevision-DkLRM8DI.js.map} +1 -1
- package/frontend/dist/assets/index-8GliUQTA.js +3 -0
- package/frontend/dist/assets/index-8GliUQTA.js.map +1 -0
- package/frontend/dist/assets/index-CyD60EHI.css +1 -0
- package/frontend/dist/assets/{resourceService-DPjgql8Z.js → resourceService-BN-FT_uq.js} +2 -2
- package/frontend/dist/assets/{resourceService-DPjgql8Z.js.map → resourceService-BN-FT_uq.js.map} +1 -1
- package/frontend/dist/assets/{useCostData-CDNXYHZf.js → useCostData-DNk0WL-a.js} +2 -2
- package/frontend/dist/assets/{useCostData-CDNXYHZf.js.map → useCostData-DNk0WL-a.js.map} +1 -1
- package/frontend/dist/assets/{variableDetection-DGr_LErx.js → variableDetection-DQg-vRNn.js} +2 -2
- package/frontend/dist/assets/{variableDetection-DGr_LErx.js.map → variableDetection-DQg-vRNn.js.map} +1 -1
- package/frontend/dist/index.html +2 -2
- package/mcp_settings.json +2 -0
- package/package.json +1 -1
- package/frontend/dist/assets/CredentialsPage-BqEsnkMx.js +0 -2
- package/frontend/dist/assets/CredentialsPage-BqEsnkMx.js.map +0 -1
- package/frontend/dist/assets/SettingsPage-Dfhl51E1.js +0 -14
- package/frontend/dist/assets/SettingsPage-Dfhl51E1.js.map +0 -1
- package/frontend/dist/assets/index-BNm-68Gn.js +0 -3
- package/frontend/dist/assets/index-BNm-68Gn.js.map +0 -1
- package/frontend/dist/assets/index-C33aH9Y7.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentialBindingService.js","sourceRoot":"","sources":["../../src/services/credentialBindingService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"credentialBindingService.js","sourceRoot":"","sources":["../../src/services/credentialBindingService.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import crypto from 'crypto';
|
|
|
2
2
|
import { createRemoteJWKSet, decodeJwt, errors as joseErrors, jwtVerify } from 'jose';
|
|
3
3
|
import { createUser, findUserByEmail, findUserBySsoUserId, findUserByUsername, } from '../models/User.js';
|
|
4
4
|
import { normalizeOptionalString, normalizeStringArray, resolveBooleanSetting, resolveStringArraySetting, resolveStringSetting, } from '../utils/settingResolvers.js';
|
|
5
|
+
import { resolveForwardAuthTokenHeaderName } from '../utils/bearerAuth.js';
|
|
5
6
|
import { logger } from '../utils/logger.js';
|
|
6
7
|
/**
|
|
7
8
|
* Forward auth trusts an identity asserted by an upstream gateway as a JWT and
|
|
@@ -23,6 +24,8 @@ const DEFAULT_USERNAME_CLAIM = 'preferred_username';
|
|
|
23
24
|
const DEFAULT_EMAIL_CLAIM = 'email';
|
|
24
25
|
const CLOCK_TOLERANCE_SECONDS = 30;
|
|
25
26
|
const MAX_USERNAME_LENGTH = 255;
|
|
27
|
+
// RFC 9110 field-name: one or more token characters.
|
|
28
|
+
const HEADER_NAME_PATTERN = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
|
|
26
29
|
// Only asymmetric algorithms are meaningful with a remote JWKS. HS* and `none`
|
|
27
30
|
// are never accepted, whatever the configuration says.
|
|
28
31
|
const ASYMMETRIC_ALGORITHMS = new Set([
|
|
@@ -83,6 +86,7 @@ export const resolveForwardAuthRuntimeConfig = (systemConfig) => {
|
|
|
83
86
|
const audience = resolveAudienceSetting(process.env.FORWARD_AUTH_AUDIENCE, jwksSettings.audience);
|
|
84
87
|
const configuredAlgorithms = resolveStringArraySetting(process.env.FORWARD_AUTH_ALGORITHMS, jwksSettings.algorithms, DEFAULT_ALGORITHMS);
|
|
85
88
|
const algorithms = configuredAlgorithms.filter((alg) => ASYMMETRIC_ALGORITHMS.has(alg));
|
|
89
|
+
const tokenHeader = resolveForwardAuthTokenHeaderName(systemConfig);
|
|
86
90
|
const usernameClaim = resolveStringSetting(process.env.FORWARD_AUTH_USERNAME_CLAIM, settings.usernameClaim, DEFAULT_USERNAME_CLAIM) || DEFAULT_USERNAME_CLAIM;
|
|
87
91
|
const emailClaim = resolveStringSetting(process.env.FORWARD_AUTH_EMAIL_CLAIM, settings.emailClaim, DEFAULT_EMAIL_CLAIM) || DEFAULT_EMAIL_CLAIM;
|
|
88
92
|
const autoCreate = resolveBooleanSetting(process.env.FORWARD_AUTH_AUTO_CREATE, settings.autoCreate, true);
|
|
@@ -109,6 +113,10 @@ export const resolveForwardAuthRuntimeConfig = (systemConfig) => {
|
|
|
109
113
|
reportConfigError(`jwks.algorithms must list only asymmetric algorithms (${[...ASYMMETRIC_ALGORITHMS].join(', ')})`);
|
|
110
114
|
enabled = false;
|
|
111
115
|
}
|
|
116
|
+
else if (tokenHeader && !HEADER_NAME_PATTERN.test(tokenHeader)) {
|
|
117
|
+
reportConfigError('jwks.tokenHeader must be a valid HTTP header name');
|
|
118
|
+
enabled = false;
|
|
119
|
+
}
|
|
112
120
|
}
|
|
113
121
|
return {
|
|
114
122
|
enabled,
|
|
@@ -117,6 +125,7 @@ export const resolveForwardAuthRuntimeConfig = (systemConfig) => {
|
|
|
117
125
|
issuer,
|
|
118
126
|
audience,
|
|
119
127
|
algorithms,
|
|
128
|
+
tokenHeader,
|
|
120
129
|
usernameClaim,
|
|
121
130
|
emailClaim,
|
|
122
131
|
autoCreate,
|
|
@@ -221,6 +230,23 @@ const describeVerificationError = (error) => {
|
|
|
221
230
|
return 'JWKS request timed out';
|
|
222
231
|
return error instanceof Error ? error.message : 'verification failed';
|
|
223
232
|
};
|
|
233
|
+
const claimsConfiguredIssuer = (token, config) => {
|
|
234
|
+
if (!config.enabled || !config.jwksUri || !config.issuer) {
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
try {
|
|
238
|
+
return decodeJwt(token).iss === config.issuer;
|
|
239
|
+
}
|
|
240
|
+
catch {
|
|
241
|
+
return false;
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
/**
|
|
245
|
+
* Whether forward auth owns this token: it then either authenticates or
|
|
246
|
+
* rejects it, and other methods are never tried. The signature is not checked.
|
|
247
|
+
*/
|
|
248
|
+
export const isForwardAuthToken = (token, systemConfig) => Boolean(token) &&
|
|
249
|
+
claimsConfiguredIssuer(token, resolveForwardAuthRuntimeConfig(systemConfig));
|
|
224
250
|
/**
|
|
225
251
|
* Authenticate a bearer token as a forward-auth JWT.
|
|
226
252
|
*
|
|
@@ -234,17 +260,7 @@ export const authenticateForwardAuthToken = async (token, systemConfig) => {
|
|
|
234
260
|
return { status: 'skipped' };
|
|
235
261
|
}
|
|
236
262
|
const config = resolveForwardAuthRuntimeConfig(systemConfig);
|
|
237
|
-
if (!
|
|
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) {
|
|
263
|
+
if (!claimsConfiguredIssuer(token, config)) {
|
|
248
264
|
return { status: 'skipped' };
|
|
249
265
|
}
|
|
250
266
|
let payload;
|
|
@@ -1 +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;
|
|
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,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAC3E,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;AAChC,qDAAqD;AACrD,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;AAE5D,+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;AAoBH,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,WAAW,GAAG,iCAAiC,CAAC,YAAY,CAAC,CAAC;IACpE,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;aAAM,IAAI,WAAW,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACjE,iBAAiB,CAAC,mDAAmD,CAAC,CAAC;YACvE,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,WAAW;QACX,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,MAAM,sBAAsB,GAAG,CAC7B,KAAa,EACb,MAAgC,EAC0C,EAAE;IAC5E,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,KAAgC,EAChC,YAAkC,EACzB,EAAE,CACX,OAAO,CAAC,KAAK,CAAC;IACd,sBAAsB,CAAC,KAAe,EAAE,+BAA+B,CAAC,YAAY,CAAC,CAAC,CAAC;AAEzF;;;;;;;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,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QAC3C,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"}
|
|
@@ -5,7 +5,7 @@ import { withReplicaLock } from './replicaLock.js';
|
|
|
5
5
|
import { projectGroupToolName, assertValidGroupToolNames } from '../utils/groupToolNames.js';
|
|
6
6
|
import { isSafePassthroughHeader } from '../utils/passthroughHeaders.js';
|
|
7
7
|
import { observeToolCall, setMetricsServer } from './metricsService.js';
|
|
8
|
-
import { hasPersonalOAuth, PersonalOAuthContext, personalOAuthContexts, personalAuthorizationRequired, } from './personalOAuthService.js';
|
|
8
|
+
import { hasPersonalOAuth, PersonalOAuthContext, personalOAuthContexts, personalAuthorizationRequired, PersonalAuthorizationRequiredError, } from './personalOAuthService.js';
|
|
9
9
|
import { preserveListFreshness, combineListFreshness, remainingListTtl, } from '../utils/listFreshness.js';
|
|
10
10
|
import { expandServerConfig, getServerEnvironment } from './serverConfigEnvironment.js';
|
|
11
11
|
import { getMcpRequestGroup } from '../utils/mcpRequestGroup.js';
|
|
@@ -17,6 +17,7 @@ import { AsyncLocalStorage } from 'node:async_hooks';
|
|
|
17
17
|
import { createHash } from 'node:crypto';
|
|
18
18
|
import { canAccessGroupRoute } from '../utils/groupAccess.js';
|
|
19
19
|
import { canServeToolRequests } from '../utils/serverAvailability.js';
|
|
20
|
+
import { uriMatchesResourceTemplate } from '../utils/resourceTemplateMatch.js';
|
|
20
21
|
import { assertToolCallArgumentsSafe, isToolCallGuardEnabled, ToolCallBlockedError, } from '../middlewares/toolCallGuard.js';
|
|
21
22
|
import { applyHiddenParams, findToolConfig, removeHiddenArguments, } from '../utils/toolConfig.js';
|
|
22
23
|
import { prepareCapabilitySnapshot, recordCapabilitySnapshot, flushCapabilitySnapshot, } from './capabilitySnapshotService.js';
|
|
@@ -31,7 +32,7 @@ import treeKill from 'tree-kill';
|
|
|
31
32
|
import { isProcessTreeKillAvailable } from '../utils/processTree.js';
|
|
32
33
|
import { StdioClientTransport } from '@modelcontextprotocol/client/stdio';
|
|
33
34
|
import { SSEClientTransport, StreamableHTTPClientTransport, } from '../clients/mcpSdkClient.js';
|
|
34
|
-
import { Server } from '@modelcontextprotocol/server';
|
|
35
|
+
import { ProtocolError, Server } from '@modelcontextprotocol/server';
|
|
35
36
|
import { createFetchWithProxy, getProxyConfigFromEnv } from './proxy.js';
|
|
36
37
|
import { assertSafeUrl, createRedirectValidatingFetch } from '../utils/ssrf.js';
|
|
37
38
|
import { createAbortIsolatingFetch } from '../utils/abortIsolatingFetch.js';
|
|
@@ -862,6 +863,29 @@ const updateServerPromptsCache = (serverInfo, prompts) => {
|
|
|
862
863
|
const updateServerResourcesCache = (serverInfo, resources) => {
|
|
863
864
|
serverInfo.resources = preserveListFreshness(resources, resources.map(normalizeResourceForCache));
|
|
864
865
|
};
|
|
866
|
+
const updateServerResourceTemplatesCache = (serverInfo, resourceTemplates) => {
|
|
867
|
+
serverInfo.resourceTemplates = Array.isArray(resourceTemplates) ? resourceTemplates : [];
|
|
868
|
+
};
|
|
869
|
+
// Best effort: many servers do not implement resources/templates/list.
|
|
870
|
+
const refreshServerResourceTemplatesCache = async (getTarget, client, options, owner = client) => {
|
|
871
|
+
try {
|
|
872
|
+
if (!client.getServerCapabilities?.()?.resources)
|
|
873
|
+
return undefined;
|
|
874
|
+
const { resourceTemplates } = await client.listResourceTemplates({}, options || {});
|
|
875
|
+
const target = getTarget();
|
|
876
|
+
if (target && target.client === owner) {
|
|
877
|
+
updateServerResourceTemplatesCache(target, resourceTemplates);
|
|
878
|
+
}
|
|
879
|
+
return resourceTemplates;
|
|
880
|
+
}
|
|
881
|
+
catch (error) {
|
|
882
|
+
logger.debug('Failed to list resource templates for server', {
|
|
883
|
+
serverName: getTarget()?.name,
|
|
884
|
+
error: summarizeErrorForLogging(error),
|
|
885
|
+
});
|
|
886
|
+
return undefined;
|
|
887
|
+
}
|
|
888
|
+
};
|
|
865
889
|
// Modern HTTP has no list-changed push stream. Refresh only the lists needed
|
|
866
890
|
// by the current request; TTL and in-flight work are scoped to the live client.
|
|
867
891
|
const refreshModernServerLists = async (info, fields) => {
|
|
@@ -983,6 +1007,10 @@ const createUpstreamMcpClient = (name, getServerInfo, serverConfig, downstream)
|
|
|
983
1007
|
}
|
|
984
1008
|
updateServerResourcesCache(serverInfo, resources);
|
|
985
1009
|
broadcastResourceListChanged();
|
|
1010
|
+
// Templates have no list-changed notification of their own.
|
|
1011
|
+
if (serverInfo.client) {
|
|
1012
|
+
void refreshServerResourceTemplatesCache(getServerInfo, serverInfo.client, serverInfo.options);
|
|
1013
|
+
}
|
|
986
1014
|
},
|
|
987
1015
|
},
|
|
988
1016
|
},
|
|
@@ -2111,6 +2139,7 @@ export const initializeClientsFromSettings = async (isInit, serverName, options)
|
|
|
2111
2139
|
});
|
|
2112
2140
|
}
|
|
2113
2141
|
if (capabilities?.resources) {
|
|
2142
|
+
void refreshServerResourceTemplatesCache(liveServerInfo, client, initRequestOptions || requestOptions);
|
|
2114
2143
|
client
|
|
2115
2144
|
.listResources({}, initRequestOptions || requestOptions)
|
|
2116
2145
|
.then((resources) => {
|
|
@@ -2910,6 +2939,7 @@ const ensureServerReady = async (serverInfo) => {
|
|
|
2910
2939
|
}
|
|
2911
2940
|
}
|
|
2912
2941
|
if (capabilities?.resources) {
|
|
2942
|
+
void refreshServerResourceTemplatesCache(() => serverInfo, client, requestOptions);
|
|
2913
2943
|
try {
|
|
2914
2944
|
const resources = await client.listResources({}, requestOptions);
|
|
2915
2945
|
resourceCount = resources.resources.length;
|
|
@@ -3004,6 +3034,7 @@ export const resetServerOAuthConnection = (name) => {
|
|
|
3004
3034
|
serverInfo.tools = [];
|
|
3005
3035
|
serverInfo.prompts = [];
|
|
3006
3036
|
serverInfo.resources = [];
|
|
3037
|
+
serverInfo.resourceTemplates = undefined;
|
|
3007
3038
|
serverInfo.oauth = undefined;
|
|
3008
3039
|
broadcastToolListChanged();
|
|
3009
3040
|
broadcastPromptListChanged();
|
|
@@ -4220,8 +4251,12 @@ const handleListResourceTemplatesRequestImpl = async (_, extra) => {
|
|
|
4220
4251
|
if (!serverInfo.client?.listResourceTemplates) {
|
|
4221
4252
|
return [];
|
|
4222
4253
|
}
|
|
4223
|
-
const
|
|
4254
|
+
const client = serverInfo.client;
|
|
4255
|
+
const templates = await client.listResourceTemplates({}, serverInfo.options || {});
|
|
4224
4256
|
snapshots.push(templates.resourceTemplates);
|
|
4257
|
+
if (serverInfo.client === client) {
|
|
4258
|
+
updateServerResourceTemplatesCache(serverInfo, templates.resourceTemplates);
|
|
4259
|
+
}
|
|
4225
4260
|
const filteredTemplates = await filterResourceTemplatesByGroup(lookupGroup, serverInfo.name, templates.resourceTemplates || [], serverConfigsByName.get(serverInfo.name));
|
|
4226
4261
|
return appsRouteContext.enabled
|
|
4227
4262
|
? filteredTemplates
|
|
@@ -4234,6 +4269,60 @@ const handleListResourceTemplatesRequestImpl = async (_, extra) => {
|
|
|
4234
4269
|
}
|
|
4235
4270
|
return { resourceTemplates };
|
|
4236
4271
|
};
|
|
4272
|
+
const TEMPLATE_LIST_RETRY_MS = 60000;
|
|
4273
|
+
const templateListFailedAt = new WeakMap();
|
|
4274
|
+
const getReadableResourceTemplates = async (serverInfo, uri, lookupGroup, groupServerConfig) => {
|
|
4275
|
+
const serverConfig = await getServerDao().findById(serverInfo.name);
|
|
4276
|
+
const groupConfig = await getGroupServerConfig(lookupGroup, serverInfo.name, groupServerConfig);
|
|
4277
|
+
if (serverConfig?.resources?.[uri]?.enabled === false ||
|
|
4278
|
+
(Array.isArray(groupConfig?.resources) && groupConfig.resources.length === 0)) {
|
|
4279
|
+
return [];
|
|
4280
|
+
}
|
|
4281
|
+
const client = serverInfo.client;
|
|
4282
|
+
// Modern upstreams have no list-changed stream, so honor the templates' own TTL.
|
|
4283
|
+
const modern = client?.getProtocolEra?.() === 'modern';
|
|
4284
|
+
if ((serverInfo.resourceTemplates === undefined || modern) &&
|
|
4285
|
+
serverInfo.status === 'connected' &&
|
|
4286
|
+
client &&
|
|
4287
|
+
(templateListFailedAt.get(client) ?? -Infinity) < Date.now() - TEMPLATE_LIST_RETRY_MS) {
|
|
4288
|
+
const refresh = async () => {
|
|
4289
|
+
const listed = await refreshServerResourceTemplatesCache(() => serverInfo, client, serverInfo.options);
|
|
4290
|
+
if (listed === undefined) {
|
|
4291
|
+
templateListFailedAt.set(client, Date.now());
|
|
4292
|
+
}
|
|
4293
|
+
};
|
|
4294
|
+
await (modern ? revalidateUpstreamList(client, 'templates', refresh) : refresh());
|
|
4295
|
+
}
|
|
4296
|
+
const templates = serverInfo.resourceTemplates;
|
|
4297
|
+
if (!templates?.length) {
|
|
4298
|
+
return [];
|
|
4299
|
+
}
|
|
4300
|
+
const enabled = templates.filter((template) => serverConfig?.resources?.[template.uriTemplate]?.enabled !== false);
|
|
4301
|
+
if (!groupConfig ||
|
|
4302
|
+
!Array.isArray(groupConfig.resources) ||
|
|
4303
|
+
groupConfig.resources.includes(uri)) {
|
|
4304
|
+
return enabled;
|
|
4305
|
+
}
|
|
4306
|
+
// Listing shows templates under any selected prefix; reading needs the template itself selected.
|
|
4307
|
+
const selected = new Set(groupConfig.resources);
|
|
4308
|
+
return enabled.filter((template) => selected.has(template.uriTemplate));
|
|
4309
|
+
};
|
|
4310
|
+
const findResourceTemplateServer = async (uri, lookupGroup, filteredServerInfos, serverConfigsByName) => {
|
|
4311
|
+
for (const serverInfo of filteredServerInfos) {
|
|
4312
|
+
// Idle on-demand servers keep cached templates; the read wakes them.
|
|
4313
|
+
const idleOnDemand = serverInfo.config?.startOnDemand === true &&
|
|
4314
|
+
serverInfo.status === 'disconnected' &&
|
|
4315
|
+
!serverInfo.client;
|
|
4316
|
+
if (serverInfo.status !== 'connected' && !idleOnDemand) {
|
|
4317
|
+
continue;
|
|
4318
|
+
}
|
|
4319
|
+
const templates = await getReadableResourceTemplates(serverInfo, uri, lookupGroup, serverConfigsByName.get(serverInfo.name));
|
|
4320
|
+
if (templates.some((template) => uriMatchesResourceTemplate(template.uriTemplate, uri))) {
|
|
4321
|
+
return serverInfo;
|
|
4322
|
+
}
|
|
4323
|
+
}
|
|
4324
|
+
return undefined;
|
|
4325
|
+
};
|
|
4237
4326
|
const handleReadResourceRequestImpl = async (request, extra) => {
|
|
4238
4327
|
try {
|
|
4239
4328
|
const { uri } = request.params;
|
|
@@ -4349,7 +4438,32 @@ const handleReadResourceRequestImpl = async (request, extra) => {
|
|
|
4349
4438
|
}
|
|
4350
4439
|
}
|
|
4351
4440
|
else {
|
|
4352
|
-
|
|
4441
|
+
const templateServer = await findResourceTemplateServer(uri, lookupGroup, filteredServerInfos, serverConfigsByName);
|
|
4442
|
+
if (!templateServer) {
|
|
4443
|
+
throw new Error(`Resource not found: ${uri}`);
|
|
4444
|
+
}
|
|
4445
|
+
const releaseOnDemandRead = beginOnDemandToolCall(templateServer);
|
|
4446
|
+
try {
|
|
4447
|
+
if (templateServer.config?.startOnDemand) {
|
|
4448
|
+
if (!templateServer.client) {
|
|
4449
|
+
await ensureServerReady(templateServer);
|
|
4450
|
+
}
|
|
4451
|
+
templateServer.lastUsedAt = Date.now();
|
|
4452
|
+
}
|
|
4453
|
+
const client = templateServer.client;
|
|
4454
|
+
if (!client) {
|
|
4455
|
+
throw new Error(`Resource not found: ${uri}`);
|
|
4456
|
+
}
|
|
4457
|
+
result = readOptions
|
|
4458
|
+
? await client.readResource({ uri }, readOptions)
|
|
4459
|
+
: await client.readResource({ uri });
|
|
4460
|
+
}
|
|
4461
|
+
finally {
|
|
4462
|
+
releaseOnDemandRead?.();
|
|
4463
|
+
}
|
|
4464
|
+
if (!result || !Array.isArray(result.contents)) {
|
|
4465
|
+
throw new Error(`Failed to read resource: ${uri}`);
|
|
4466
|
+
}
|
|
4353
4467
|
}
|
|
4354
4468
|
return appsRouteContext.enabled
|
|
4355
4469
|
? result
|
|
@@ -4497,6 +4611,8 @@ const createPrincipalRuntime = async (name, resolvedConfig, scope, toolsOnly = f
|
|
|
4497
4611
|
info.prompts = preserveListFreshness(prompts, prompts.map((prompt) => normalizePromptForCache(name, prompt)));
|
|
4498
4612
|
}
|
|
4499
4613
|
if (capabilities?.resources) {
|
|
4614
|
+
// The raw client: the protected one holds the replica credential lock while listing.
|
|
4615
|
+
void refreshServerResourceTemplatesCache(() => info, client, resolvedConfig.options, info.client);
|
|
4500
4616
|
const { resources } = await client.listResources({}, resolvedConfig.options);
|
|
4501
4617
|
info.resources = preserveListFreshness(resources, resources.map(normalizeResourceForCache));
|
|
4502
4618
|
}
|
|
@@ -4755,7 +4871,17 @@ const withPrincipalServers = (handler, operation) => async (request, extra) => {
|
|
|
4755
4871
|
: { ...request, params: { ...request.params, name: `${prefix}${requestedName}` } };
|
|
4756
4872
|
}
|
|
4757
4873
|
}
|
|
4758
|
-
|
|
4874
|
+
const result = await principalServerScope.run([...scoped.values()], () => handler(resolvedRequest, extra));
|
|
4875
|
+
if (operation === 'tools-list' && result.tools?.length === 0) {
|
|
4876
|
+
const authorizationFailures = [...failures].filter(([, error]) => error instanceof PersonalAuthorizationRequiredError);
|
|
4877
|
+
if (authorizationFailures.length) {
|
|
4878
|
+
throw new ProtocolError(-32000, authorizationFailures.map(([, error]) => error.message).join(' '), {
|
|
4879
|
+
code: 'PERSONAL_AUTHORIZATION_REQUIRED',
|
|
4880
|
+
servers: authorizationFailures.map(([name]) => name),
|
|
4881
|
+
});
|
|
4882
|
+
}
|
|
4883
|
+
}
|
|
4884
|
+
return result;
|
|
4759
4885
|
}
|
|
4760
4886
|
finally {
|
|
4761
4887
|
for (const release of releases)
|