@samanhappy/mcphub 1.0.28 → 1.0.30

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/README.fr.md +2 -1
  2. package/README.md +2 -1
  3. package/README.zh.md +2 -1
  4. package/dist/betterAuth.js +3 -6
  5. package/dist/betterAuth.js.map +1 -1
  6. package/dist/clients/openapi.js +194 -15
  7. package/dist/clients/openapi.js.map +1 -1
  8. package/dist/controllers/serverController.js +108 -16
  9. package/dist/controllers/serverController.js.map +1 -1
  10. package/dist/dao/ServerDao.js +3 -1
  11. package/dist/dao/ServerDao.js.map +1 -1
  12. package/dist/dao/ServerDaoDbImpl.js +3 -0
  13. package/dist/dao/ServerDaoDbImpl.js.map +1 -1
  14. package/dist/db/entities/Server.js +4 -0
  15. package/dist/db/entities/Server.js.map +1 -1
  16. package/dist/db/repositories/ServerRepository.js +1 -0
  17. package/dist/db/repositories/ServerRepository.js.map +1 -1
  18. package/dist/routes/index.js +2 -1
  19. package/dist/routes/index.js.map +1 -1
  20. package/dist/server.js +12 -9
  21. package/dist/server.js.map +1 -1
  22. package/dist/services/betterAuthConfig.js +4 -0
  23. package/dist/services/betterAuthConfig.js.map +1 -1
  24. package/dist/services/dataService.js +8 -3
  25. package/dist/services/dataService.js.map +1 -1
  26. package/dist/services/mcpOAuthProvider.js +13 -4
  27. package/dist/services/mcpOAuthProvider.js.map +1 -1
  28. package/dist/services/mcpService.js +47 -12
  29. package/dist/services/mcpService.js.map +1 -1
  30. package/dist/services/smartRoutingService.js +4 -3
  31. package/dist/services/smartRoutingService.js.map +1 -1
  32. package/dist/utils/migration.js +1 -0
  33. package/dist/utils/migration.js.map +1 -1
  34. package/dist/utils/serverConfigPersistence.js +10 -1
  35. package/dist/utils/serverConfigPersistence.js.map +1 -1
  36. package/dist/utils/serverShutdown.js +27 -0
  37. package/dist/utils/serverShutdown.js.map +1 -0
  38. package/frontend/dist/assets/{ActivityPage-D0SFqsRe.js → ActivityPage-U9om5C9X.js} +2 -2
  39. package/frontend/dist/assets/{ActivityPage-D0SFqsRe.js.map → ActivityPage-U9om5C9X.js.map} +1 -1
  40. package/frontend/dist/assets/{Dashboard-DzWkQnht.js → Dashboard-DGqpU4bd.js} +2 -2
  41. package/frontend/dist/assets/{Dashboard-DzWkQnht.js.map → Dashboard-DGqpU4bd.js.map} +1 -1
  42. package/frontend/dist/assets/{EndpointCopy-Bqjt3lGe.js → EndpointCopy-DuGmhiMq.js} +2 -2
  43. package/frontend/dist/assets/{EndpointCopy-Bqjt3lGe.js.map → EndpointCopy-DuGmhiMq.js.map} +1 -1
  44. package/frontend/dist/assets/{GroupsPage-DsmZMSK0.js → GroupsPage-Dhqy02FY.js} +2 -2
  45. package/frontend/dist/assets/{GroupsPage-DsmZMSK0.js.map → GroupsPage-Dhqy02FY.js.map} +1 -1
  46. package/frontend/dist/assets/{LoginPage-_Gr1ere-.js → LoginPage-BXRn47pC.js} +2 -2
  47. package/frontend/dist/assets/{LoginPage-_Gr1ere-.js.map → LoginPage-BXRn47pC.js.map} +1 -1
  48. package/frontend/dist/assets/{LogsPage-D2vByutC.js → LogsPage-CiO6LZEJ.js} +2 -2
  49. package/frontend/dist/assets/LogsPage-CiO6LZEJ.js.map +1 -0
  50. package/frontend/dist/assets/{MarketPage-BhyrxwBv.js → MarketPage-BEdWfj0u.js} +2 -2
  51. package/frontend/dist/assets/{MarketPage-BhyrxwBv.js.map → MarketPage-BEdWfj0u.js.map} +1 -1
  52. package/frontend/dist/assets/{PromptsPage-BLn95Icp.js → PromptsPage-BG6oWgAk.js} +2 -2
  53. package/frontend/dist/assets/{PromptsPage-BLn95Icp.js.map → PromptsPage-BG6oWgAk.js.map} +1 -1
  54. package/frontend/dist/assets/{ResourcesPage-B27GVOO6.js → ResourcesPage-BqJUKqnV.js} +2 -2
  55. package/frontend/dist/assets/{ResourcesPage-B27GVOO6.js.map → ResourcesPage-BqJUKqnV.js.map} +1 -1
  56. package/frontend/dist/assets/{ServersPage-BuoWpLAq.js → ServersPage-CHbXHEcG.js} +4 -4
  57. package/frontend/dist/assets/{ServersPage-BuoWpLAq.js.map → ServersPage-CHbXHEcG.js.map} +1 -1
  58. package/frontend/dist/assets/SettingsPage-B6yl-U9T.js +12 -0
  59. package/frontend/dist/assets/SettingsPage-B6yl-U9T.js.map +1 -0
  60. package/frontend/dist/assets/{StatusDot-BUWJw3dA.js → StatusDot-Bz7sBh0t.js} +2 -2
  61. package/frontend/dist/assets/{StatusDot-BUWJw3dA.js.map → StatusDot-Bz7sBh0t.js.map} +1 -1
  62. package/frontend/dist/assets/{ToggleGroup-BPAIOm5B.js → ToggleGroup-60voS_0U.js} +2 -2
  63. package/frontend/dist/assets/{ToggleGroup-BPAIOm5B.js.map → ToggleGroup-60voS_0U.js.map} +1 -1
  64. package/frontend/dist/assets/{UsersPage-SZrL0bKd.js → UsersPage-Dzzo9CC-.js} +2 -2
  65. package/frontend/dist/assets/{UsersPage-SZrL0bKd.js.map → UsersPage-Dzzo9CC-.js.map} +1 -1
  66. package/frontend/dist/assets/{contextCost-BxT09q-Y.js → contextCost-CIOdvJNu.js} +2 -2
  67. package/frontend/dist/assets/{contextCost-BxT09q-Y.js.map → contextCost-CIOdvJNu.js.map} +1 -1
  68. package/frontend/dist/assets/index-CGvImZ3F.css +1 -0
  69. package/frontend/dist/assets/index-Ca9HKIrV.js +3 -0
  70. package/frontend/dist/assets/index-Ca9HKIrV.js.map +1 -0
  71. package/frontend/dist/assets/{resourceService-CWKSpa0p.js → resourceService-DIIsi_li.js} +2 -2
  72. package/frontend/dist/assets/{resourceService-CWKSpa0p.js.map → resourceService-DIIsi_li.js.map} +1 -1
  73. package/frontend/dist/assets/useSettingsData-C84qj7ge.js +2 -0
  74. package/frontend/dist/assets/{useSettingsData-0sbahDtL.js.map → useSettingsData-C84qj7ge.js.map} +1 -1
  75. package/frontend/dist/assets/variableDetection-Y9ymMI80.js +16 -0
  76. package/frontend/dist/assets/variableDetection-Y9ymMI80.js.map +1 -0
  77. package/frontend/dist/index.html +2 -2
  78. package/package.json +4 -3
  79. package/frontend/dist/assets/LogsPage-D2vByutC.js.map +0 -1
  80. package/frontend/dist/assets/SettingsPage-BzCwUvx7.js +0 -12
  81. package/frontend/dist/assets/SettingsPage-BzCwUvx7.js.map +0 -1
  82. package/frontend/dist/assets/index-Bz_euXvO.js +0 -3
  83. package/frontend/dist/assets/index-Bz_euXvO.js.map +0 -1
  84. package/frontend/dist/assets/index-DEAy4k6z.css +0 -1
  85. package/frontend/dist/assets/useSettingsData-0sbahDtL.js +0 -2
  86. package/frontend/dist/assets/variableDetection-DfkBZ0gv.js +0 -16
  87. package/frontend/dist/assets/variableDetection-DfkBZ0gv.js.map +0 -1
package/README.fr.md CHANGED
@@ -16,6 +16,7 @@ MCPHub facilite la gestion et la mise à l'échelle de plusieurs serveurs MCP (M
16
16
  - **Gestion centralisée** - Surveillez et contrôlez tous les serveurs MCP depuis un tableau de bord unifié
17
17
  - **Routage flexible** - Accédez à tous les serveurs, groupes spécifiques ou serveurs individuels via HTTP/SSE
18
18
  - **Visibilité granulaire par groupe** - Contrôlez indépendamment la visibilité des Tools, Prompts et Resources de chaque serveur dans un groupe
19
+ - **Partage par serveur** - Gardez un serveur privé, partagez-le avec certains utilisateurs ou rendez-le public
19
20
  - **Routage intelligent** - Découverte d'outils propulsée par IA utilisant la recherche sémantique vectorielle ([En savoir plus](https://docs.mcphub.app/features/smart-routing))
20
21
  - **Compression des résultats d'outils** - Réduisez automatiquement les grands résultats texte avant qu'ils n'atteignent les clients
21
22
  - **Configuration à chaud** - Ajoutez, supprimez ou mettez à jour les serveurs sans temps d'arrêt
@@ -137,7 +138,7 @@ Les contributions sont les bienvenues ! Rejoignez notre [communauté Discord](ht
137
138
 
138
139
  ## 🌟 Historique des étoiles
139
140
 
140
- [![Historique des étoiles](https://api.star-history.com/svg?repos=samanhappy/mcphub&type=Date)](https://www.star-history.com/#samanhappy/mcphub&Date)
141
+ [![Historique des étoiles](https://star-history.dera.page/svg?repos=samanhappy/mcphub&type=Date)](https://star-history.dera.page/#samanhappy/mcphub&Date)
141
142
 
142
143
  ## 📄 Licence
143
144
 
package/README.md CHANGED
@@ -18,6 +18,7 @@ MCPHub makes it easy to manage and scale multiple MCP (Model Context Protocol) s
18
18
  - **Centralized Management** - Monitor and control all MCP servers from a unified dashboard
19
19
  - **Flexible Routing** - Access all servers, specific groups, or individual servers via HTTP/SSE
20
20
  - **Granular Group Visibility** - Control Tool, Prompt, and Resource visibility independently for each server inside a group
21
+ - **Per-Server Sharing** - Keep servers private, share them with selected users, or make them public
21
22
  - **Smart Routing** - AI-powered tool discovery using vector semantic search ([Learn more](https://docs.mcphub.app/features/smart-routing))
22
23
  - **MCP Apps Proxy** - Transparently forward interactive MCP Apps on single-server routes ([Learn more](https://docs.mcphub.app/features/mcp-apps))
23
24
  - **Tool Result Compression** - Transparently reduce large text tool outputs before they reach clients
@@ -160,7 +161,7 @@ Contributions welcome! See our [Discord community](https://discord.gg/2BJehJZVH5
160
161
 
161
162
  ## 🌟 Star History
162
163
 
163
- [![Star History Chart](https://api.star-history.com/svg?repos=samanhappy/mcphub&type=Date)](https://www.star-history.com/#samanhappy/mcphub&Date)
164
+ [![Star History Chart](https://star-history.dera.page/svg?repos=samanhappy/mcphub&type=Date)](https://star-history.dera.page/#samanhappy/mcphub&Date)
164
165
 
165
166
  ## 📄 License
166
167
 
package/README.zh.md CHANGED
@@ -16,6 +16,7 @@ MCPHub 通过将多个 MCP(Model Context Protocol)服务器组织为灵活
16
16
  - **集中式管理** - 在统一控制台中监控和管理所有 MCP 服务器
17
17
  - **灵活路由** - 通过 HTTP/SSE 访问所有服务器、特定分组或单个服务器
18
18
  - **细粒度分组可见性** - 在分组中可独立控制每个服务器的 Tool、Prompt 与 Resource 是否对外暴露
19
+ - **服务器级共享** - 服务器可保持私有、共享给指定用户或设为公开
19
20
  - **智能路由** - 基于向量语义搜索的 AI 工具发现 ([了解更多](https://docs.mcphub.app/zh/features/smart-routing))
20
21
  - **工具结果压缩** - 在返回客户端前透明压缩大型文本工具输出
21
22
  - **热插拔配置** - 无需停机即可添加、移除或更新服务器
@@ -162,7 +163,7 @@ pnpm dev
162
163
 
163
164
  ## 🌟 Star 历史趋势
164
165
 
165
- [![Star History Chart](https://api.star-history.com/svg?repos=samanhappy/mcphub&type=Date)](https://www.star-history.com/#samanhappy/mcphub&Date)
166
+ [![Star History Chart](https://star-history.dera.page/svg?repos=samanhappy/mcphub&type=Date)](https://star-history.dera.page/#samanhappy/mcphub&Date)
166
167
 
167
168
  ## 📄 许可证
168
169
 
@@ -3,8 +3,7 @@ import { genericOAuth } from 'better-auth/plugins';
3
3
  import { PostgresDialect } from 'kysely';
4
4
  import { Pool } from 'pg';
5
5
  import defaultConfig, { loadSettings } from './config/index.js';
6
- import { resolveBetterAuthRuntimeConfig } from './services/betterAuthConfig.js';
7
- import { resolveInstallBaseUrl } from './utils/installBaseUrl.js';
6
+ import { resolveBetterAuthBaseUrl, resolveBetterAuthRuntimeConfig, } from './services/betterAuthConfig.js';
8
7
  import { getCachedSystemConfig, isDatabaseModeEnabled } from './utils/systemConfigCache.js';
9
8
  const resolveSystemConfig = () => {
10
9
  const cachedSystemConfig = getCachedSystemConfig();
@@ -73,10 +72,8 @@ const resolveBaseURL = (baseUrl, basePath) => {
73
72
  return `${trimmedBase}${normalizedPath}`;
74
73
  }
75
74
  };
76
- const systemInstallBaseUrl = resolveInstallBaseUrl(systemConfig);
77
- const baseURL = resolveBaseURL(process.env.BETTER_AUTH_URL ||
78
- systemInstallBaseUrl ||
79
- `http://localhost:${defaultConfig.port}${defaultConfig.basePath}`, runtimeConfig.basePath);
75
+ const betterAuthBaseUrl = resolveBetterAuthBaseUrl(systemConfig);
76
+ const baseURL = resolveBaseURL(betterAuthBaseUrl || `http://localhost:${defaultConfig.port}${defaultConfig.basePath}`, runtimeConfig.basePath);
80
77
  const databaseUrl = process.env.DB_URL;
81
78
  if (!databaseUrl) {
82
79
  throw new Error('DB_URL is required for Better Auth PostgreSQL storage.');
@@ -1 +1 @@
1
- {"version":3,"file":"betterAuth.js","sourceRoot":"","sources":["../src/betterAuth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"betterAuth.js","sourceRoot":"","sources":["../src/betterAuth.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import axios from 'axios';
2
+ import { CookieJar } from 'tough-cookie';
2
3
  import SwaggerParser from '@apidevtools/swagger-parser';
3
- import { assertSafeUrl } from '../utils/ssrf.js';
4
+ import * as yaml from 'js-yaml';
5
+ import { assertSafeUrl, UnsafeUrlError } from '../utils/ssrf.js';
4
6
  import { getUserDao } from '../dao/index.js';
5
7
  import { sanitizeStringForLogging, createSafeJSON } from '../utils/serialization.js';
6
8
  export class OpenAPIClient {
@@ -8,6 +10,10 @@ export class OpenAPIClient {
8
10
  this.config = config;
9
11
  this.spec = null;
10
12
  this.tools = [];
13
+ // Per-session cookie jars for the dynamic Set-Cookie login flow. Keyed by
14
+ // downstream MCP sessionId so authenticated state never crosses users or
15
+ // sessions. In-memory only; never persisted.
16
+ this.cookieJars = new Map();
11
17
  // Resolved in initialize(): admin-owned servers may target internal services
12
18
  // and skip the SSRF internal-IP blocklist.
13
19
  this.allowInternalNetworks = false;
@@ -56,7 +62,9 @@ export class OpenAPIClient {
56
62
  return config;
57
63
  });
58
64
  }
59
- // Note: Cookie authentication would need additional setup
65
+ else if (location === 'cookie') {
66
+ this.staticCookieHeader = `${name}=${value}`;
67
+ }
60
68
  }
61
69
  break;
62
70
  case 'http':
@@ -194,9 +202,41 @@ export class OpenAPIClient {
194
202
  }
195
203
  async initialize() {
196
204
  try {
205
+ // Resolve whether this server's owner is an admin first; admin-owned
206
+ // servers may legitimately target internal services and skip the SSRF
207
+ // blocklist. Needed before the URL fetch so the spec-download guard is
208
+ // scoped the same way as callTool's.
209
+ const ownerUser = this.config.owner
210
+ ? await getUserDao().findByUsername(this.config.owner)
211
+ : null;
212
+ this.allowInternalNetworks = !!ownerUser?.isAdmin;
213
+ // Obtain/refresh the OAuth2 access token up front so it authenticates the
214
+ // document download (for url configs) and is ready for later API calls.
215
+ // No-op when no OAuth2 security is configured.
216
+ await this.ensureOAuth2AccessToken();
197
217
  // Parse and dereference the OpenAPI specification
198
218
  if (this.config.openapi?.url) {
199
- this.spec = (await SwaggerParser.dereference(this.config.openapi.url));
219
+ // Fetch the document through the authenticated httpClient (carries
220
+ // config.headers + security credentials from setupSecurity, and uses
221
+ // maxRedirects: 0 so credentials are never forwarded across a
222
+ // cross-origin redirect). SwaggerParser's own resolver is bypassed for
223
+ // the main document so its (unauthenticated) headers never see the
224
+ // credentials; external $ref resolution still uses that resolver and
225
+ // therefore receives no auth by default.
226
+ const specUrl = this.config.openapi.url;
227
+ await assertSafeUrl(specUrl, { allowInternal: this.allowInternalNetworks });
228
+ const requestConfig = {
229
+ responseType: 'text',
230
+ transformResponse: [(data) => data],
231
+ };
232
+ // The static apiKey.in:'cookie' value is otherwise only injected in
233
+ // callTool; apply it here too so cookie-protected spec URLs load.
234
+ if (this.staticCookieHeader) {
235
+ requestConfig.headers = { Cookie: this.staticCookieHeader };
236
+ }
237
+ const response = await this.httpClient.get(specUrl, requestConfig);
238
+ const raw = typeof response.data === 'string' ? response.data : String(response.data);
239
+ this.spec = (await SwaggerParser.dereference(specUrl, this.parseSpecDocument(raw), {}));
200
240
  }
201
241
  else if (this.config.openapi?.schema) {
202
242
  // For schema object, we need to pass it as a cloned object
@@ -207,18 +247,27 @@ export class OpenAPIClient {
207
247
  }
208
248
  // Update baseUrl from OpenAPI servers field
209
249
  this.updateBaseUrlFromServers();
210
- // Resolve whether this server's owner is an admin; admin-owned servers
211
- // may legitimately target internal services and skip the SSRF blocklist.
212
- const ownerUser = this.config.owner
213
- ? await getUserDao().findByUsername(this.config.owner)
214
- : null;
215
- this.allowInternalNetworks = !!ownerUser?.isAdmin;
216
250
  this.extractTools();
217
- await this.ensureOAuth2AccessToken();
218
251
  }
219
252
  catch (error) {
253
+ // Let SSRF rejections propagate as-is so callers can distinguish a blocked
254
+ // target from a parse/auth failure (matches callTool's handling).
255
+ if (error instanceof UnsafeUrlError) {
256
+ throw error;
257
+ }
220
258
  const errorMessage = error instanceof Error ? error.message : String(error);
221
- throw new Error(`Failed to load OpenAPI specification: ${errorMessage}`);
259
+ throw new Error(`Failed to load OpenAPI specification: ${sanitizeStringForLogging(errorMessage)}`);
260
+ }
261
+ }
262
+ // Parse a fetched spec body into an object. JSON first (stricter errors for
263
+ // malformed JSON), YAML fallback so protected YAML documents work without
264
+ // relying on SwaggerParser's own fetch (which cannot carry our credentials).
265
+ parseSpecDocument(raw) {
266
+ try {
267
+ return JSON.parse(raw);
268
+ }
269
+ catch {
270
+ return yaml.load(raw);
222
271
  }
223
272
  }
224
273
  generateOperationName(method, path) {
@@ -389,13 +438,14 @@ export class OpenAPIClient {
389
438
  }
390
439
  return parameterSchema;
391
440
  }
392
- async callTool(toolName, args, passthroughHeaders, hasRetriedAfterUnauthorized = false) {
441
+ async callTool(toolName, args, passthroughHeaders, hasRetriedAfterUnauthorized = false, sessionId) {
393
442
  const tool = this.tools.find((t) => t.name === toolName);
394
443
  if (!tool) {
395
444
  throw new Error(`Tool '${toolName}' not found`);
396
445
  }
397
446
  let attemptedUpstreamRequest = false;
398
447
  let authorizationUsedForRequest;
448
+ let resolvedTarget = null;
399
449
  try {
400
450
  await this.ensureOAuth2AccessToken();
401
451
  // Build the request URL with path parameters
@@ -452,7 +502,7 @@ export class OpenAPIClient {
452
502
  // internal/loopback/link-local address. The baseURL and tool path are
453
503
  // both attacker-influenced (via the OpenAPI spec), so validate the
454
504
  // final URL rather than trusting either alone.
455
- let resolvedTarget = null;
505
+ resolvedTarget = null;
456
506
  try {
457
507
  resolvedTarget = new URL(String(requestConfig.url ?? '/'), this.baseUrl || undefined);
458
508
  }
@@ -464,25 +514,44 @@ export class OpenAPIClient {
464
514
  allowInternal: this.allowInternalNetworks,
465
515
  });
466
516
  }
517
+ const cookieSessionEnabled = this.isCookieSessionEnabled(sessionId);
518
+ // Inject cookies when either the dynamic session store is active for this
519
+ // call or a static `apiKey.in: 'cookie'` is configured (static cookies
520
+ // apply to every request regardless of session).
521
+ if ((cookieSessionEnabled || this.staticCookieHeader) && resolvedTarget) {
522
+ this.applyRequestCookies(requestConfig, resolvedTarget.href, cookieSessionEnabled ? sessionId : undefined);
523
+ }
467
524
  authorizationUsedForRequest = this.getDefaultAuthorizationHeader();
468
525
  attemptedUpstreamRequest = true;
469
526
  const response = await this.httpClient.request(requestConfig);
527
+ if (cookieSessionEnabled && resolvedTarget) {
528
+ this.captureResponseCookies(response, resolvedTarget.href, sessionId);
529
+ }
470
530
  return response.data;
471
531
  }
472
532
  catch (error) {
473
533
  if (axios.isAxiosError(error)) {
534
+ // Capture Set-Cookie from non-2xx responses too. With maxRedirects: 0,
535
+ // a 3xx login redirect is surfaced as an error; 4xx logout responses
536
+ // may expire cookies. Capture before retry/rethrow so the jar stays
537
+ // current and the 401-retry path can re-inject updated cookies.
538
+ if (this.isCookieSessionEnabled(sessionId) &&
539
+ resolvedTarget &&
540
+ error.response) {
541
+ this.captureResponseCookies(error.response, resolvedTarget.href, sessionId);
542
+ }
474
543
  if (attemptedUpstreamRequest &&
475
544
  error.response?.status === 401 &&
476
545
  !hasRetriedAfterUnauthorized &&
477
546
  authorizationUsedForRequest &&
478
547
  authorizationUsedForRequest !== this.getDefaultAuthorizationHeader()) {
479
- return this.callTool(toolName, args, passthroughHeaders, true);
548
+ return this.callTool(toolName, args, passthroughHeaders, true, sessionId);
480
549
  }
481
550
  if (attemptedUpstreamRequest &&
482
551
  error.response?.status === 401 &&
483
552
  !hasRetriedAfterUnauthorized &&
484
553
  (await this.invalidateRefreshableOAuth2Token())) {
485
- return this.callTool(toolName, args, passthroughHeaders, true);
554
+ return this.callTool(toolName, args, passthroughHeaders, true, sessionId);
486
555
  }
487
556
  const status = error.response?.status ?? 'unknown';
488
557
  const statusText = error.response?.statusText ?? 'Unknown Error';
@@ -513,8 +582,118 @@ export class OpenAPIClient {
513
582
  getSpec() {
514
583
  return this.spec;
515
584
  }
585
+ isCookieSessionEnabled(sessionId) {
586
+ return !!this.config.openapi?.cookieSession && typeof sessionId === 'string' && sessionId.length > 0;
587
+ }
588
+ // Lazily create a per-session cookie jar, seeded with the static apiKey
589
+ // cookie (if any) so it applies to every request and can be overridden by a
590
+ // dynamic Set-Cookie of the same name.
591
+ getCookieJar(sessionId) {
592
+ let jar = this.cookieJars.get(sessionId);
593
+ if (jar) {
594
+ return jar;
595
+ }
596
+ // Backstop: evict the oldest jar before exceeding the cap. Session-end
597
+ // cleanup is the primary eviction path; this guards against leaks when a
598
+ // session is abandoned without an explicit close.
599
+ if (this.cookieJars.size >= OpenAPIClient.MAX_COOKIE_JARS) {
600
+ const oldest = this.cookieJars.keys().next().value;
601
+ if (oldest !== undefined) {
602
+ this.cookieJars.delete(oldest);
603
+ }
604
+ }
605
+ jar = new CookieJar();
606
+ if (this.staticCookieHeader && this.baseUrl) {
607
+ try {
608
+ jar.setCookieSync(`${this.staticCookieHeader}; Path=/`, this.baseUrl);
609
+ }
610
+ catch {
611
+ // ignore malformed static cookie / unsuitable baseUrl
612
+ }
613
+ }
614
+ this.cookieJars.set(sessionId, jar);
615
+ return jar;
616
+ }
617
+ // Apply stored cookies to an outgoing request. When a session jar exists,
618
+ // use it (it already includes any seeded static cookie and captured dynamic
619
+ // cookies). Otherwise fall back to the static `apiKey.in: 'cookie'` value so
620
+ // static cookie auth works without opting into session handling.
621
+ applyRequestCookies(requestConfig, requestUrl, sessionId) {
622
+ let cookieString = '';
623
+ if (sessionId) {
624
+ const jar = this.cookieJars.get(sessionId);
625
+ if (jar) {
626
+ try {
627
+ cookieString = jar.getCookieStringSync(requestUrl);
628
+ }
629
+ catch {
630
+ return;
631
+ }
632
+ }
633
+ else if (this.staticCookieHeader) {
634
+ cookieString = this.staticCookieHeader;
635
+ }
636
+ }
637
+ else if (this.staticCookieHeader) {
638
+ cookieString = this.staticCookieHeader;
639
+ }
640
+ if (cookieString) {
641
+ const existingHeaders = requestConfig.headers;
642
+ const merged = OpenAPIClient.mergeCookieHeader(existingHeaders?.Cookie, cookieString);
643
+ requestConfig.headers = {
644
+ ...existingHeaders,
645
+ Cookie: merged,
646
+ };
647
+ }
648
+ }
649
+ // Merge two Cookie header strings, with `additional` (jar/static) values
650
+ // winning for duplicate names so caller-configured cookies are preserved.
651
+ static mergeCookieHeader(existing, additional) {
652
+ const entries = new Map();
653
+ const parse = (header) => {
654
+ for (const part of header.split(';')) {
655
+ const trimmed = part.trim();
656
+ if (!trimmed) {
657
+ continue;
658
+ }
659
+ const eq = trimmed.indexOf('=');
660
+ if (eq <= 0) {
661
+ continue;
662
+ }
663
+ entries.set(trimmed.slice(0, eq).trim(), trimmed.slice(eq + 1));
664
+ }
665
+ };
666
+ if (existing) {
667
+ parse(existing);
668
+ }
669
+ parse(additional);
670
+ return [...entries].map(([k, v]) => `${k}=${v}`).join('; ');
671
+ }
672
+ // Capture Set-Cookie headers from an upstream response into the session jar.
673
+ captureResponseCookies(response, requestUrl, sessionId) {
674
+ const setCookie = response.headers?.['set-cookie'];
675
+ if (!setCookie) {
676
+ return;
677
+ }
678
+ const jar = this.getCookieJar(sessionId);
679
+ const headers = Array.isArray(setCookie) ? setCookie : [setCookie];
680
+ for (const header of headers) {
681
+ try {
682
+ jar.setCookieSync(header, requestUrl);
683
+ }
684
+ catch {
685
+ // skip unparseable Set-Cookie rather than failing the tool call
686
+ }
687
+ }
688
+ }
689
+ // Drop the cookie jar for a session. Called from session-end cleanup.
690
+ clearSessionCookies(sessionId) {
691
+ this.cookieJars.delete(sessionId);
692
+ }
516
693
  disconnect() {
517
694
  // No persistent connection to close for OpenAPI
695
+ this.cookieJars.clear();
518
696
  }
519
697
  }
698
+ OpenAPIClient.MAX_COOKIE_JARS = 1000;
520
699
  //# sourceMappingURL=openapi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/clients/openapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/clients/openapi.ts"],"names":[],"mappings":"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"}