mcp-creatio 0.6.4 → 0.6.7

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 (60) hide show
  1. package/README.md +31 -11
  2. package/dist/creatio/auth/headers.d.ts +7 -0
  3. package/dist/creatio/auth/headers.d.ts.map +1 -1
  4. package/dist/creatio/auth/headers.js +16 -0
  5. package/dist/creatio/auth/headers.js.map +1 -1
  6. package/dist/creatio/auth/providers/legacy-provider.d.ts +2 -0
  7. package/dist/creatio/auth/providers/legacy-provider.d.ts.map +1 -1
  8. package/dist/creatio/auth/providers/legacy-provider.js +14 -7
  9. package/dist/creatio/auth/providers/legacy-provider.js.map +1 -1
  10. package/dist/creatio/auth/providers/oauth2-bearer-provider.d.ts +8 -7
  11. package/dist/creatio/auth/providers/oauth2-bearer-provider.d.ts.map +1 -1
  12. package/dist/creatio/auth/providers/oauth2-bearer-provider.js +19 -14
  13. package/dist/creatio/auth/providers/oauth2-bearer-provider.js.map +1 -1
  14. package/dist/creatio/services/dataservice/data-service-schema.d.ts.map +1 -1
  15. package/dist/creatio/services/dataservice/data-service-schema.js +16 -15
  16. package/dist/creatio/services/dataservice/data-service-schema.js.map +1 -1
  17. package/dist/creatio/services/odata/metadata-store.d.ts +10 -17
  18. package/dist/creatio/services/odata/metadata-store.d.ts.map +1 -1
  19. package/dist/creatio/services/odata/metadata-store.js +47 -75
  20. package/dist/creatio/services/odata/metadata-store.js.map +1 -1
  21. package/dist/creatio/services/versioned-ttl-cache.d.ts +33 -0
  22. package/dist/creatio/services/versioned-ttl-cache.d.ts.map +1 -0
  23. package/dist/creatio/services/versioned-ttl-cache.js +95 -0
  24. package/dist/creatio/services/versioned-ttl-cache.js.map +1 -0
  25. package/dist/server/bearer/bearer-edge.d.ts +4 -1
  26. package/dist/server/bearer/bearer-edge.d.ts.map +1 -1
  27. package/dist/server/bearer/bearer-edge.js +41 -15
  28. package/dist/server/bearer/bearer-edge.js.map +1 -1
  29. package/dist/server/http/health.d.ts +19 -0
  30. package/dist/server/http/health.d.ts.map +1 -0
  31. package/dist/server/http/health.js +41 -0
  32. package/dist/server/http/health.js.map +1 -0
  33. package/dist/server/http/http-server.d.ts +1 -0
  34. package/dist/server/http/http-server.d.ts.map +1 -1
  35. package/dist/server/http/http-server.js +9 -0
  36. package/dist/server/http/http-server.js.map +1 -1
  37. package/dist/server/http/index.d.ts +1 -0
  38. package/dist/server/http/index.d.ts.map +1 -1
  39. package/dist/server/http/index.js +1 -0
  40. package/dist/server/http/index.js.map +1 -1
  41. package/dist/server/http/mcp-handlers.d.ts.map +1 -1
  42. package/dist/server/http/mcp-handlers.js +12 -10
  43. package/dist/server/http/mcp-handlers.js.map +1 -1
  44. package/dist/server/mcp/server.d.ts +37 -28
  45. package/dist/server/mcp/server.d.ts.map +1 -1
  46. package/dist/server/mcp/server.js +96 -73
  47. package/dist/server/mcp/server.js.map +1 -1
  48. package/dist/server/mcp/tenant-tool-registry.d.ts +66 -0
  49. package/dist/server/mcp/tenant-tool-registry.d.ts.map +1 -0
  50. package/dist/server/mcp/tenant-tool-registry.js +113 -0
  51. package/dist/server/mcp/tenant-tool-registry.js.map +1 -0
  52. package/dist/utils/context.d.ts +21 -6
  53. package/dist/utils/context.d.ts.map +1 -1
  54. package/dist/utils/context.js +6 -6
  55. package/dist/utils/context.js.map +1 -1
  56. package/dist/utils/network.d.ts +2 -0
  57. package/dist/utils/network.d.ts.map +1 -1
  58. package/dist/utils/network.js +11 -0
  59. package/dist/utils/network.js.map +1 -1
  60. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-store.js","sourceRoot":"","sources":["../../../../src/creatio/services/odata/metadata-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata-store.js","sourceRoot":"","sources":["../../../../src/creatio/services/odata/metadata-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * A per-key cache whose entry is valid only while (a) its stamped freshness `version` still matches
3
+ * and (b) it is within `ttlMs` of being stored, bounded to `maxEntries` by LRU eviction.
4
+ *
5
+ * One abstraction for every "cache something per Creatio base URL, keyed and version-stamped" need —
6
+ * OData `$metadata` documents, OData entity-set lists, and DataService runtime schemas — so the
7
+ * freshness + TTL + eviction policy lives, and is tested, in exactly one place instead of being
8
+ * re-implemented (and drifting) in each schema provider. The `version` is supplied by the caller
9
+ * (typically {@link SchemaFreshnessGate}); when no gate is wired the caller passes a constant and
10
+ * the cache degrades to pure TTL + LRU.
11
+ */
12
+ export declare class VersionedTtlCache<V> {
13
+ private readonly _ttlMs;
14
+ private readonly _maxEntries;
15
+ private readonly _entries;
16
+ private readonly _inflight;
17
+ constructor(ttlMs: number, maxEntries: number);
18
+ get size(): number;
19
+ /** The cached value iff present, version-matching and within TTL; otherwise `undefined`. Touches
20
+ * recency on a hit so the LRU cap evicts genuinely-cold keys, not just-used ones. */
21
+ get(key: string, version: string, now?: number): V | undefined;
22
+ /** Store (or replace) a value under `key`, then prune TTL-expired entries and enforce the LRU cap. */
23
+ set(key: string, value: V, version: string, now?: number): void;
24
+ /**
25
+ * Return the cached value, or run `loader` to produce and cache it on a miss. Concurrent misses
26
+ * for the same (key, version) are coalesced into a single `loader` call (single-flight), so a
27
+ * burst of cold requests for the same schema/metadata makes ONE network round-trip, not N. A
28
+ * rejected load is propagated to every waiter and NOT cached, so the next call retries.
29
+ */
30
+ getOrLoad(key: string, version: string, loader: () => Promise<V>, now?: number): Promise<V>;
31
+ private _prune;
32
+ }
33
+ //# sourceMappingURL=versioned-ttl-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioned-ttl-cache.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/versioned-ttl-cache.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB,CAAC,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAI3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;gBAE/C,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAK7C,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;0FACsF;IAC/E,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,CAAC,GAAG,SAAS;IASjF,sGAAsG;IAC/F,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI;IAKlF;;;;;OAKG;IACU,SAAS,CACrB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACxB,GAAG,GAAE,MAAmB,GACtB,OAAO,CAAC,CAAC,CAAC;IAuBb,OAAO,CAAC,MAAM;CAqBd"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VersionedTtlCache = void 0;
4
+ /**
5
+ * A per-key cache whose entry is valid only while (a) its stamped freshness `version` still matches
6
+ * and (b) it is within `ttlMs` of being stored, bounded to `maxEntries` by LRU eviction.
7
+ *
8
+ * One abstraction for every "cache something per Creatio base URL, keyed and version-stamped" need —
9
+ * OData `$metadata` documents, OData entity-set lists, and DataService runtime schemas — so the
10
+ * freshness + TTL + eviction policy lives, and is tested, in exactly one place instead of being
11
+ * re-implemented (and drifting) in each schema provider. The `version` is supplied by the caller
12
+ * (typically {@link SchemaFreshnessGate}); when no gate is wired the caller passes a constant and
13
+ * the cache degrades to pure TTL + LRU.
14
+ */
15
+ class VersionedTtlCache {
16
+ _ttlMs;
17
+ _maxEntries;
18
+ _entries = new Map();
19
+ // In-flight loads for {@link getOrLoad}, keyed by key+version so concurrent misses for the same
20
+ // (key, version) share ONE loader call (single-flight) — and a stale-version miss never coalesces
21
+ // onto a fresh-version load. Cleared as soon as the load settles (whether it resolves or rejects).
22
+ _inflight = new Map();
23
+ constructor(ttlMs, maxEntries) {
24
+ this._ttlMs = ttlMs;
25
+ this._maxEntries = maxEntries;
26
+ }
27
+ get size() {
28
+ return this._entries.size;
29
+ }
30
+ /** The cached value iff present, version-matching and within TTL; otherwise `undefined`. Touches
31
+ * recency on a hit so the LRU cap evicts genuinely-cold keys, not just-used ones. */
32
+ get(key, version, now = Date.now()) {
33
+ const box = this._entries.get(key);
34
+ if (!box || box.version !== version || now - box.storedAt >= this._ttlMs) {
35
+ return undefined;
36
+ }
37
+ box.lastAccessMs = now;
38
+ return box.value;
39
+ }
40
+ /** Store (or replace) a value under `key`, then prune TTL-expired entries and enforce the LRU cap. */
41
+ set(key, value, version, now = Date.now()) {
42
+ this._entries.set(key, { value, version, storedAt: now, lastAccessMs: now });
43
+ this._prune(now);
44
+ }
45
+ /**
46
+ * Return the cached value, or run `loader` to produce and cache it on a miss. Concurrent misses
47
+ * for the same (key, version) are coalesced into a single `loader` call (single-flight), so a
48
+ * burst of cold requests for the same schema/metadata makes ONE network round-trip, not N. A
49
+ * rejected load is propagated to every waiter and NOT cached, so the next call retries.
50
+ */
51
+ async getOrLoad(key, version, loader, now = Date.now()) {
52
+ const hit = this.get(key, version, now);
53
+ if (hit !== undefined) {
54
+ return hit;
55
+ }
56
+ const flightKey = `${key}\u0000${version}`;
57
+ const existing = this._inflight.get(flightKey);
58
+ if (existing) {
59
+ return existing;
60
+ }
61
+ const flight = (async () => {
62
+ const value = await loader();
63
+ this.set(key, value, version);
64
+ return value;
65
+ })();
66
+ this._inflight.set(flightKey, flight);
67
+ try {
68
+ return await flight;
69
+ }
70
+ finally {
71
+ this._inflight.delete(flightKey);
72
+ }
73
+ }
74
+ _prune(now) {
75
+ for (const [key, box] of this._entries) {
76
+ if (now - box.storedAt >= this._ttlMs) {
77
+ this._entries.delete(key);
78
+ }
79
+ }
80
+ if (this._entries.size <= this._maxEntries) {
81
+ return;
82
+ }
83
+ const byAge = Array.from(this._entries.entries()).sort((a, b) => a[1].lastAccessMs - b[1].lastAccessMs);
84
+ let over = this._entries.size - this._maxEntries;
85
+ for (const [key] of byAge) {
86
+ if (over <= 0) {
87
+ break;
88
+ }
89
+ this._entries.delete(key);
90
+ over--;
91
+ }
92
+ }
93
+ }
94
+ exports.VersionedTtlCache = VersionedTtlCache;
95
+ //# sourceMappingURL=versioned-ttl-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioned-ttl-cache.js","sourceRoot":"","sources":["../../../src/creatio/services/versioned-ttl-cache.ts"],"names":[],"mappings":"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"}
@@ -32,11 +32,14 @@ export declare class BearerEdge {
32
32
  /** Identity Service base advertised to clients. */
33
33
  private get _identityBase();
34
34
  constructor(config: BearerAuthConfig, baseUrl: string);
35
+ /** Pull the per-request credential the client/gateway supplied: a Bearer token, or a forwarded
36
+ * Creatio Forms-auth session (cookie + BPMCSRF). Returns undefined when neither is present. */
37
+ private _extractCredential;
35
38
  private _accept;
36
39
  private _challenge;
37
40
  /** Delegated mode publishes RFC 9728 metadata so clients can discover the authorization server. */
38
41
  registerRoutes(app: Express): void;
39
- /** Express middleware guarding `/mcp`. Sets `req.bearerToken` / `req.userKey` / `req.baseUrlOverride`. */
42
+ /** Express middleware guarding `/mcp`. Sets `req.credential` / `req.userKey` / `req.baseUrlOverride`. */
40
43
  mcpAuth(): (req: Request, res: Response, next: NextFunction) => void;
41
44
  }
42
45
  //# sourceMappingURL=bearer-edge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bearer-edge.d.ts","sourceRoot":"","sources":["../../../src/server/bearer/bearer-edge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,eAAe,CAAC;AAQjE,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKxE,sGAAsG;AACtG,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;;;;;EAOpF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,UAAU;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAW;IAE5C,OAAO,KAAK,YAAY,GAEvB;IAED,mDAAmD;IACnD,OAAO,KAAK,aAAa,GAExB;gBAEW,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM;IAMrD,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,UAAU;IAiBlB,mGAAmG;IAC5F,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAUzC,0GAA0G;IACnG,OAAO,KACL,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,IAAI;CAkC/D"}
1
+ {"version":3,"file":"bearer-edge.d.ts","sourceRoot":"","sources":["../../../src/server/bearer/bearer-edge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,eAAe,CAAC;AAQjE,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAUxE,sGAAsG;AACtG,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;;;;;EAOpF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,UAAU;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAW;IAE5C,OAAO,KAAK,YAAY,GAEvB;IAED,mDAAmD;IACnD,OAAO,KAAK,aAAa,GAExB;gBAEW,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM;IAMrD;oGACgG;IAChG,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,UAAU;IAiBlB,mGAAmG;IAC5F,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAUzC,yGAAyG;IAClG,OAAO,KACL,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,IAAI;CAqC/D"}
@@ -13,6 +13,11 @@ const base_url_guard_1 = require("./base-url-guard");
13
13
  const bearer_token_1 = require("./bearer-token");
14
14
  const PROTECTED_RESOURCE_METADATA_PATH = '/.well-known/oauth-protected-resource';
15
15
  const BASE_URL_OVERRIDE_HEADER = 'x-creatio-base-url';
16
+ // Cookie passthrough (Forms-auth tenants without OAuth): the client/gateway forwards the Creatio
17
+ // session in a dedicated header (not the transport's own `Cookie`, which proxies mangle). BPMCSRF
18
+ // is read from the cookie string, or overridden by an explicit header.
19
+ const COOKIE_HEADER = 'x-creatio-cookie';
20
+ const BPMCSRF_HEADER = 'x-creatio-bpmcsrf';
16
21
  /** RFC 9728 Protected Resource Metadata, advertising Creatio Identity as the authorization server. */
17
22
  function buildProtectedResourceMetadata(resource, identityBase) {
18
23
  return {
@@ -55,10 +60,28 @@ class BearerEdge {
55
60
  this._baseUrl = baseUrl;
56
61
  this._allowedBaseUrls = (0, base_url_guard_1.parseAllowedBaseUrls)((0, utils_1.env)('CREATIO_MCP_ALLOWED_BASE_URLS'));
57
62
  }
58
- _accept(req, token, next, userKey) {
63
+ /** Pull the per-request credential the client/gateway supplied: a Bearer token, or a forwarded
64
+ * Creatio Forms-auth session (cookie + BPMCSRF). Returns undefined when neither is present. */
65
+ _extractCredential(req) {
66
+ const auth = req.headers.authorization;
67
+ if (typeof auth === 'string' && auth.startsWith('Bearer ')) {
68
+ return { kind: 'bearer', token: auth.slice(7) };
69
+ }
70
+ const cookie = req.headers[COOKIE_HEADER];
71
+ if (typeof cookie === 'string' && cookie) {
72
+ const explicitCsrf = req.headers[BPMCSRF_HEADER];
73
+ const bpmcsrf = typeof explicitCsrf === 'string' && explicitCsrf ? explicitCsrf : (0, utils_1.extractBpmcsrf)(cookie);
74
+ return { kind: 'cookie', cookie, bpmcsrf };
75
+ }
76
+ return undefined;
77
+ }
78
+ _accept(req, credential, next, userKey) {
59
79
  const r = req;
60
- r.userKey = userKey ?? (0, bearer_token_1.inspectBearer)(token).userKey;
61
- r.bearerToken = token;
80
+ const resolvedUserKey = userKey ?? (credential.kind === 'bearer' ? (0, bearer_token_1.inspectBearer)(credential.token).userKey : undefined);
81
+ if (resolvedUserKey !== undefined) {
82
+ r.userKey = resolvedUserKey;
83
+ }
84
+ r.credential = credential;
62
85
  next();
63
86
  }
64
87
  _challenge(req, res, reason) {
@@ -69,7 +92,7 @@ class BearerEdge {
69
92
  res.status(401).json({
70
93
  error: 'unauthorized',
71
94
  error_description: reason === 'missing_token'
72
- ? 'A Creatio access token is required in the Authorization header.'
95
+ ? 'A Creatio credential is required: a Bearer token (Authorization) or a forwarded session (X-Creatio-Cookie).'
73
96
  : `Bearer token rejected: ${reason}.`,
74
97
  });
75
98
  }
@@ -83,18 +106,17 @@ class BearerEdge {
83
106
  res.json(buildProtectedResourceMetadata(resource, this._identityBase));
84
107
  });
85
108
  }
86
- /** Express middleware guarding `/mcp`. Sets `req.bearerToken` / `req.userKey` / `req.baseUrlOverride`. */
109
+ /** Express middleware guarding `/mcp`. Sets `req.credential` / `req.userKey` / `req.baseUrlOverride`. */
87
110
  mcpAuth() {
88
111
  return (req, res, next) => {
89
- const header = req.headers.authorization;
90
- if (!header || !header.startsWith('Bearer ')) {
112
+ const credential = this._extractCredential(req);
113
+ if (!credential) {
91
114
  return this._challenge(req, res, 'missing_token');
92
115
  }
93
- const token = header.slice(7);
94
116
  if (!this._isDelegated) {
95
117
  // gateway: a per-request instance override is honored only here (from the trusted
96
- // gateway). Still validate it — the override decides where the Bearer is sent, so a
97
- // bad value is an SSRF / token-redirection lever even from a trusted source (CWE-918).
118
+ // gateway). Still validate it — the override decides where the credential is sent, so a
119
+ // bad value is an SSRF / credential-redirection lever even from a trusted source (CWE-918).
98
120
  const baseOverride = req.headers[BASE_URL_OVERRIDE_HEADER];
99
121
  if (typeof baseOverride === 'string' && baseOverride) {
100
122
  if (!(0, base_url_guard_1.isAllowedBaseUrl)(baseOverride, this._allowedBaseUrls)) {
@@ -107,14 +129,18 @@ class BearerEdge {
107
129
  }
108
130
  req.baseUrlOverride = baseOverride;
109
131
  }
110
- return this._accept(req, token, next);
132
+ return this._accept(req, credential, next);
111
133
  }
112
134
  // delegated: fail fast on an obviously-expired JWT; Creatio validates the rest on the call.
113
- const decoded = (0, bearer_token_1.inspectBearer)(token);
114
- if (decoded.isJwt && (0, bearer_token_1.isExpired)(decoded)) {
115
- return this._challenge(req, res, 'token_expired');
135
+ // A forwarded cookie session has no client-readable expiry, so it is accepted as-is.
136
+ if (credential.kind === 'bearer') {
137
+ const decoded = (0, bearer_token_1.inspectBearer)(credential.token);
138
+ if (decoded.isJwt && (0, bearer_token_1.isExpired)(decoded)) {
139
+ return this._challenge(req, res, 'token_expired');
140
+ }
141
+ return this._accept(req, credential, next, decoded.userKey);
116
142
  }
117
- return this._accept(req, token, next, decoded.userKey);
143
+ return this._accept(req, credential, next);
118
144
  };
119
145
  }
120
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bearer-edge.js","sourceRoot":"","sources":["../../../src/server/bearer/bearer-edge.ts"],"names":[],"mappings":";;;;;;AAcA,wEAOC;AArBD,2CAAiE;AACjE,oDAA4B;AAC5B,uCAAkC;AAClC,yDAA4D;AAE5D,qDAA0E;AAC1E,iDAA0D;AAI1D,MAAM,gCAAgC,GAAG,uCAAuC,CAAC;AACjF,MAAM,wBAAwB,GAAG,oBAAoB,CAAC;AAEtD,sGAAsG;AACtG,SAAgB,8BAA8B,CAAC,QAAgB,EAAE,YAAoB;IACpF,OAAO;QACN,QAAQ;QACR,qBAAqB,EAAE,CAAC,YAAY,CAAC;QACrC,gBAAgB,EAAE,CAAC,gBAAgB,CAAC;QACpC,wBAAwB,EAAE,CAAC,QAAQ,CAAC;KACpC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,UAAU;IACL,OAAO,CAAmB;IAC1B,QAAQ,CAAS;IACjB,gBAAgB,CAAW;IAE5C,IAAY,YAAY;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,wBAAc,CAAC,SAAS,CAAC;IACvD,CAAC;IAED,mDAAmD;IACnD,IAAY,aAAa;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC;IAC1E,CAAC;IAED,YAAY,MAAwB,EAAE,OAAe;QACpD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,IAAA,qCAAoB,EAAC,IAAA,WAAG,EAAC,+BAA+B,CAAC,CAAC,CAAC;IACpF,CAAC;IAEO,OAAO,CAAC,GAAY,EAAE,KAAa,EAAE,IAAkB,EAAE,OAAgB;QAChF,MAAM,CAAC,GAAG,GAA2D,CAAC;QACtE,CAAC,CAAC,OAAO,GAAG,OAAO,IAAI,IAAA,4BAAa,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC;QACpD,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;QACtB,IAAI,EAAE,CAAC;IACR,CAAC;IAEO,UAAU,CAAC,GAAY,EAAE,GAAa,EAAE,MAAc;QAC7D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,gBAAgB,GAAG,GAAG,IAAA,mCAAmB,EAAC,GAAG,CAAC,GAAG,gCAAgC,EAAE,CAAC;YAC1F,GAAG,CAAC,SAAS,CACZ,kBAAkB,EAClB,6BAA6B,gBAAgB,aAAa,MAAM,GAAG,CACnE,CAAC;QACH,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACpB,KAAK,EAAE,cAAc;YACrB,iBAAiB,EAChB,MAAM,KAAK,eAAe;gBACzB,CAAC,CAAC,iEAAiE;gBACnE,CAAC,CAAC,0BAA0B,MAAM,GAAG;SACvC,CAAC,CAAC;IACJ,CAAC;IAED,mGAAmG;IAC5F,cAAc,CAAC,GAAY;QACjC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,OAAO;QACR,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,gCAAgC,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;YACzE,MAAM,QAAQ,GAAG,GAAG,IAAA,mCAAmB,EAAC,GAAG,CAAC,MAAM,CAAC;YACnD,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,0GAA0G;IACnG,OAAO;QACb,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;YAChE,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;YACzC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE9B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACxB,kFAAkF;gBAClF,oFAAoF;gBACpF,uFAAuF;gBACvF,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;gBAC3D,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,EAAE,CAAC;oBACtD,IAAI,CAAC,IAAA,iCAAgB,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBAC5D,aAAG,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;wBAC1E,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;4BACpB,KAAK,EAAE,iBAAiB;4BACxB,iBAAiB,EAAE,yCAAyC;yBAC5D,CAAC,CAAC;wBACH,OAAO;oBACR,CAAC;oBACA,GAA8C,CAAC,eAAe,GAAG,YAAY,CAAC;gBAChF,CAAC;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACvC,CAAC;YAED,4FAA4F;YAC5F,MAAM,OAAO,GAAG,IAAA,4BAAa,EAAC,KAAK,CAAC,CAAC;YACrC,IAAI,OAAO,CAAC,KAAK,IAAI,IAAA,wBAAS,EAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC;IACH,CAAC;CACD;AA3FD,gCA2FC"}
1
+ {"version":3,"file":"bearer-edge.js","sourceRoot":"","sources":["../../../src/server/bearer/bearer-edge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { Express } from 'express';
2
+ export declare const LIVENESS_PATH = "/healthz";
3
+ export declare const READINESS_PATH = "/readyz";
4
+ /**
5
+ * Liveness + readiness endpoints for orchestrators (Kubernetes probes, load balancers).
6
+ *
7
+ * Registered BEFORE the auth and request-logging middleware so probes are unauthenticated and do
8
+ * not flood the logs at the probe interval. Liveness reports only that the process is up; readiness
9
+ * gates on a flag the app flips on once the HTTP listener accepts traffic and back off at the start
10
+ * of graceful shutdown — so the orchestrator drains this pod before SIGTERM tears connections down.
11
+ */
12
+ export declare class HealthEndpoints {
13
+ private _ready;
14
+ private readonly _startedAt;
15
+ /** On once the server is listening; off again when shutdown begins (stop routing new traffic). */
16
+ setReady(ready: boolean): void;
17
+ register(app: Express): void;
18
+ }
19
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../../src/server/http/health.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAE1D,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,cAAc,YAAY,CAAC;AAExC;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IAEzC,kGAAkG;IAC3F,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI9B,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;CAiBnC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HealthEndpoints = exports.READINESS_PATH = exports.LIVENESS_PATH = void 0;
4
+ const version_1 = require("../../version");
5
+ exports.LIVENESS_PATH = '/healthz';
6
+ exports.READINESS_PATH = '/readyz';
7
+ /**
8
+ * Liveness + readiness endpoints for orchestrators (Kubernetes probes, load balancers).
9
+ *
10
+ * Registered BEFORE the auth and request-logging middleware so probes are unauthenticated and do
11
+ * not flood the logs at the probe interval. Liveness reports only that the process is up; readiness
12
+ * gates on a flag the app flips on once the HTTP listener accepts traffic and back off at the start
13
+ * of graceful shutdown — so the orchestrator drains this pod before SIGTERM tears connections down.
14
+ */
15
+ class HealthEndpoints {
16
+ _ready = false;
17
+ _startedAt = Date.now();
18
+ /** On once the server is listening; off again when shutdown begins (stop routing new traffic). */
19
+ setReady(ready) {
20
+ this._ready = ready;
21
+ }
22
+ register(app) {
23
+ app.get(exports.LIVENESS_PATH, (_req, res) => {
24
+ res.status(200).json({
25
+ status: 'ok',
26
+ name: version_1.NAME,
27
+ version: version_1.VERSION,
28
+ uptimeSec: Math.floor((Date.now() - this._startedAt) / 1000),
29
+ });
30
+ });
31
+ app.get(exports.READINESS_PATH, (_req, res) => {
32
+ if (this._ready) {
33
+ res.status(200).json({ status: 'ready' });
34
+ return;
35
+ }
36
+ res.status(503).json({ status: 'starting' });
37
+ });
38
+ }
39
+ }
40
+ exports.HealthEndpoints = HealthEndpoints;
41
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../../src/server/http/health.ts"],"names":[],"mappings":";;;AAAA,2CAA8C;AAIjC,QAAA,aAAa,GAAG,UAAU,CAAC;AAC3B,QAAA,cAAc,GAAG,SAAS,CAAC;AAExC;;;;;;;GAOG;AACH,MAAa,eAAe;IACnB,MAAM,GAAG,KAAK,CAAC;IACN,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzC,kGAAkG;IAC3F,QAAQ,CAAC,KAAc;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,QAAQ,CAAC,GAAY;QAC3B,GAAG,CAAC,GAAG,CAAC,qBAAa,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;YACvD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,cAAI;gBACV,OAAO,EAAE,iBAAO;gBAChB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5D,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,sBAAc,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;YACxD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC1C,OAAO;YACR,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AA1BD,0CA0BC"}
@@ -11,6 +11,7 @@ export declare class HttpServer {
11
11
  private _cleanupTimer;
12
12
  private readonly _sessionContext;
13
13
  private readonly _middleware;
14
+ private readonly _health;
14
15
  private readonly _mcpHandlers;
15
16
  private readonly _authEdge;
16
17
  get app(): express.Express;
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../../src/server/http/http-server.ts"],"names":[],"mappings":"AAGA,OAAO,OAAO,MAAM,SAAS,CAAC;AAS9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,UAAU;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAU;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAiB;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IAEjD,IAAW,GAAG,IAAI,OAAO,CAAC,OAAO,CAEhC;gBAEW,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,mBAAmB;IAQxD,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,kBAAkB;IAMnB,KAAK,CAAC,IAAI,EAAE,MAAM;IA4BZ,IAAI;CAoCjB"}
1
+ {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../../src/server/http/http-server.ts"],"names":[],"mappings":"AAGA,OAAO,OAAO,MAAM,SAAS,CAAC;AAU9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,UAAU;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAU;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAiB;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IAEjD,IAAW,GAAG,IAAI,OAAO,CAAC,OAAO,CAEhC;gBAEW,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,mBAAmB;IAWxD,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,kBAAkB;IAMnB,KAAK,CAAC,IAAI,EAAE,MAAM;IA6BZ,IAAI;CAuCjB"}
@@ -8,6 +8,7 @@ const express_1 = __importDefault(require("express"));
8
8
  const log_1 = __importDefault(require("../../log"));
9
9
  const sessions_1 = require("../../sessions");
10
10
  const auth_edge_1 = require("./auth-edge");
11
+ const health_1 = require("./health");
11
12
  const mcp_handlers_1 = require("./mcp-handlers");
12
13
  const middleware_1 = require("./middleware");
13
14
  class HttpServer {
@@ -20,6 +21,7 @@ class HttpServer {
20
21
  _cleanupTimer;
21
22
  _sessionContext = sessions_1.SessionContext.instance;
22
23
  _middleware = new middleware_1.HttpMiddleware();
24
+ _health = new health_1.HealthEndpoints();
23
25
  _mcpHandlers;
24
26
  _authEdge;
25
27
  get app() {
@@ -29,6 +31,9 @@ class HttpServer {
29
31
  this._server = server;
30
32
  this._mcpHandlers = new mcp_handlers_1.McpHandlers(this._server);
31
33
  this._authEdge = (0, auth_edge_1.createAuthEdge)(config, this._sessionContext);
34
+ // Health probes are registered first so they sit ahead of the auth + request-logging
35
+ // middleware: probes stay unauthenticated and never spam the request log at probe cadence.
36
+ this._health.register(this._app);
32
37
  this._setupMiddleware();
33
38
  this._setupRoutes();
34
39
  }
@@ -56,6 +61,7 @@ class HttpServer {
56
61
  start(port) {
57
62
  return new Promise((resolve, reject) => {
58
63
  this._srv = this._app.listen(port, () => {
64
+ this._health.setReady(true);
59
65
  log_1.default.httpStart(port);
60
66
  resolve();
61
67
  });
@@ -78,6 +84,9 @@ class HttpServer {
78
84
  });
79
85
  }
80
86
  async stop() {
87
+ // Fail readiness immediately so the orchestrator drains traffic from this pod before we
88
+ // start closing connections below.
89
+ this._health.setReady(false);
81
90
  if (this._cleanupTimer) {
82
91
  clearInterval(this._cleanupTimer);
83
92
  this._cleanupTimer = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../../src/server/http/http-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../../src/server/http/http-server.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export * from './health';
1
2
  export * from './http-server';
2
3
  export * from './mcp-handlers';
3
4
  export * from './middleware';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/http/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/http/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./health"), exports);
17
18
  __exportStar(require("./http-server"), exports);
18
19
  __exportStar(require("./mcp-handlers"), exports);
19
20
  __exportStar(require("./middleware"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/http/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,iDAA+B;AAC/B,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/http/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,gDAA8B;AAC9B,iDAA+B;AAC/B,+CAA6B"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-handlers.d.ts","sourceRoot":"","sources":["../../../src/server/http/mcp-handlers.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,MAAM;IAIb,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4DzD,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAuB7E"}
1
+ {"version":3,"file":"mcp-handlers.d.ts","sourceRoot":"","sources":["../../../src/server/http/mcp-handlers.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,MAAM;IAIb,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DzD,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAuB7E"}
@@ -19,6 +19,9 @@ class McpHandlers {
19
19
  async handleMcpPost(req, res) {
20
20
  const sessionId = (0, utils_1.getSessionIdFromRequest)(req);
21
21
  const bearerUserKey = req.userKey;
22
+ // Gateway multi-tenant routing key — selects which tenant the session server and capability
23
+ // probe bind to (absent in single-tenant modes ⇒ the default tenant).
24
+ const baseUrlOverride = req.baseUrlOverride;
22
25
  let transport;
23
26
  const remoteIp = (0, utils_1.getClientIp)(req);
24
27
  if (sessionId && this._sessionContext.hasSession(sessionId)) {
@@ -42,9 +45,9 @@ class McpHandlers {
42
45
  },
43
46
  });
44
47
  // Each session gets its own McpServer (a single McpServer connects to one transport
45
- // only). Release it when the transport closes so we don't leak servers or register
46
- // late-probed tools into dead sessions.
47
- const mcp = this._server.createSessionServer();
48
+ // only), bound to the request's tenant. Release it when the transport closes so we
49
+ // don't leak servers or register late-probed tools into dead sessions.
50
+ const mcp = this._server.createSessionServer(baseUrlOverride);
48
51
  transport.onclose = () => {
49
52
  this._server.releaseSessionServer(mcp);
50
53
  if (transport?.sessionId) {
@@ -64,12 +67,11 @@ class McpHandlers {
64
67
  }
65
68
  const session = this._sessionContext.getSession(sessionId);
66
69
  const userKey = bearerUserKey || session?.userKey;
67
- const bearerToken = req.bearerToken;
68
- const baseUrlOverride = req.baseUrlOverride;
69
- await (0, utils_1.runWithContext)({ userKey, sessionId, bearerToken, baseUrlOverride }, async () => {
70
- // Kick the one-time capability probe from inside the request context so its Creatio
70
+ const credential = req.credential;
71
+ await (0, utils_1.runWithContext)({ userKey, sessionId, credential, baseUrlOverride }, async () => {
72
+ // Kick the per-tenant capability probe from inside the request context so its Creatio
71
73
  // calls carry this caller's identity (broker mode has no user otherwise). Non-blocking.
72
- this._server.ensureCapabilitiesProbed();
74
+ this._server.ensureCapabilitiesProbed(baseUrlOverride);
73
75
  return transport.handleRequest(req, res, req.body);
74
76
  });
75
77
  }
@@ -89,9 +91,9 @@ class McpHandlers {
89
91
  // caller-supplied ?userKey=/x-user-key, which must not override an authenticated
90
92
  // identity (CWE-639).
91
93
  const userKey = req.userKey || session?.userKey || (0, utils_1.getUserKeyFromRequest)(req);
92
- const bearerToken = req.bearerToken;
94
+ const credential = req.credential;
93
95
  const baseUrlOverride = req.baseUrlOverride;
94
- await (0, utils_1.runWithContext)({ userKey, sessionId, bearerToken, baseUrlOverride }, async () => transport.handleRequest(req, res));
96
+ await (0, utils_1.runWithContext)({ userKey, sessionId, credential, baseUrlOverride }, async () => transport.handleRequest(req, res));
95
97
  }
96
98
  }
97
99
  exports.McpHandlers = McpHandlers;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-handlers.js","sourceRoot":"","sources":["../../../src/server/http/mcp-handlers.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAyC;AAEzC,0FAAmG;AACnG,iEAAyE;AAEzE,oDAA4B;AAC5B,6CAAgD;AAChD,uCAKqB;AAKrB,MAAa,WAAW;IACN,eAAe,GAAG,yBAAc,CAAC,QAAQ,CAAC;IAC1C,OAAO,CAAS;IAEjC,YAAY,MAAc;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,GAAY,EAAE,GAAa;QACrD,MAAM,SAAS,GAAG,IAAA,+BAAuB,EAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAI,GAAW,CAAC,OAAO,CAAC;QAC3C,IAAI,SAAoD,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC;QAClC,IAAI,SAAS,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC3D,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;YAC/B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBACpD,aAAG,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjD,CAAC;QACF,CAAC;aAAM,IAAI,CAAC,SAAS,IAAI,IAAA,8BAAmB,EAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,SAAS,GAAG,IAAI,iDAA6B,CAAC;gBAC7C,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAA,wBAAU,GAAE;gBACtC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC7B,IAAI,SAAS,EAAE,CAAC;wBACf,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CACjD,GAAG,EACH,aAAa,EACb,QAAQ,CACR,CAAC;wBACF,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;wBACzD,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC9C,aAAG,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC3C,CAAC;gBACF,CAAC;aACD,CAAC,CAAC;YACH,oFAAoF;YACpF,mFAAmF;YACnF,wCAAwC;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAC/C,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;gBACxB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,SAAS,EAAE,SAAS,EAAE,CAAC;oBAC1B,aAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC7D,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACzD,CAAC;YACF,CAAC,CAAC;YACF,MAAM,GAAG,CAAC,OAAO,CAAC,SAAgB,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,2CAA2C,EAAE;gBAC7E,EAAE,EAAE,IAAI;aACR,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,aAAa,IAAI,OAAO,EAAE,OAAO,CAAC;QAClD,MAAM,WAAW,GAAI,GAAW,CAAC,WAAiC,CAAC;QACnE,MAAM,eAAe,GAAI,GAAW,CAAC,eAAqC,CAAC;QAC3E,MAAM,IAAA,sBAAc,EAAC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,KAAK,IAAI,EAAE;YACrF,oFAAoF;YACpF,wFAAwF;YACxF,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC;YACxC,OAAO,SAAU,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,GAAY,EAAE,GAAa;QAC5D,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;QACtE,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACtD,OAAO;QACR,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QACrC,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACjD,OAAO;QACR,CAAC;QACD,8EAA8E;QAC9E,iFAAiF;QACjF,sBAAsB;QACtB,MAAM,OAAO,GACX,GAAW,CAAC,OAAO,IAAI,OAAO,EAAE,OAAO,IAAI,IAAA,6BAAqB,EAAC,GAAU,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAI,GAAW,CAAC,WAAiC,CAAC;QACnE,MAAM,eAAe,GAAI,GAAW,CAAC,eAAqC,CAAC;QAC3E,MAAM,IAAA,sBAAc,EAAC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,KAAK,IAAI,EAAE,CACrF,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CACjC,CAAC;IACH,CAAC;CACD;AA3FD,kCA2FC"}
1
+ {"version":3,"file":"mcp-handlers.js","sourceRoot":"","sources":["../../../src/server/http/mcp-handlers.ts"],"names":[],"mappings":"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"}