@0xmaxma/claude-gateway 1.8.7 → 1.8.8

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 (72) hide show
  1. package/README.md +96 -0
  2. package/dist/agent/runner.d.ts +47 -1
  3. package/dist/agent/runner.d.ts.map +1 -1
  4. package/dist/agent/runner.js +116 -17
  5. package/dist/agent/runner.js.map +1 -1
  6. package/dist/api/connectors-router.d.ts +50 -0
  7. package/dist/api/connectors-router.d.ts.map +1 -0
  8. package/dist/api/connectors-router.js +650 -0
  9. package/dist/api/connectors-router.js.map +1 -0
  10. package/dist/api/gateway-router.d.ts +4 -0
  11. package/dist/api/gateway-router.d.ts.map +1 -1
  12. package/dist/api/gateway-router.js +26 -0
  13. package/dist/api/gateway-router.js.map +1 -1
  14. package/dist/api/oauth-connectors-router.d.ts +43 -0
  15. package/dist/api/oauth-connectors-router.d.ts.map +1 -0
  16. package/dist/api/oauth-connectors-router.js +384 -0
  17. package/dist/api/oauth-connectors-router.js.map +1 -0
  18. package/dist/api/router.d.ts.map +1 -1
  19. package/dist/api/router.js +101 -13
  20. package/dist/api/router.js.map +1 -1
  21. package/dist/apps/agent-manager.d.ts +6 -2
  22. package/dist/apps/agent-manager.d.ts.map +1 -1
  23. package/dist/apps/agent-manager.js +10 -18
  24. package/dist/apps/agent-manager.js.map +1 -1
  25. package/dist/config/config-write-lock.d.ts +45 -0
  26. package/dist/config/config-write-lock.d.ts.map +1 -0
  27. package/dist/config/config-write-lock.js +164 -0
  28. package/dist/config/config-write-lock.js.map +1 -0
  29. package/dist/config/watcher.d.ts.map +1 -1
  30. package/dist/config/watcher.js +29 -0
  31. package/dist/config/watcher.js.map +1 -1
  32. package/dist/connectors/custom-connectors-store.d.ts +54 -0
  33. package/dist/connectors/custom-connectors-store.d.ts.map +1 -0
  34. package/dist/connectors/custom-connectors-store.js +204 -0
  35. package/dist/connectors/custom-connectors-store.js.map +1 -0
  36. package/dist/connectors/custom.d.ts +69 -0
  37. package/dist/connectors/custom.d.ts.map +1 -0
  38. package/dist/connectors/custom.js +158 -0
  39. package/dist/connectors/custom.js.map +1 -0
  40. package/dist/connectors/mcp-oauth.d.ts +152 -0
  41. package/dist/connectors/mcp-oauth.d.ts.map +1 -0
  42. package/dist/connectors/mcp-oauth.js +522 -0
  43. package/dist/connectors/mcp-oauth.js.map +1 -0
  44. package/dist/connectors/oauth-refresh-sweep.d.ts +71 -0
  45. package/dist/connectors/oauth-refresh-sweep.d.ts.map +1 -0
  46. package/dist/connectors/oauth-refresh-sweep.js +337 -0
  47. package/dist/connectors/oauth-refresh-sweep.js.map +1 -0
  48. package/dist/connectors/pending-oauth-store.d.ts +39 -0
  49. package/dist/connectors/pending-oauth-store.d.ts.map +1 -0
  50. package/dist/connectors/pending-oauth-store.js +50 -0
  51. package/dist/connectors/pending-oauth-store.js.map +1 -0
  52. package/dist/connectors/resolve.d.ts +52 -0
  53. package/dist/connectors/resolve.d.ts.map +1 -0
  54. package/dist/connectors/resolve.js +176 -0
  55. package/dist/connectors/resolve.js.map +1 -0
  56. package/dist/connectors/token-env.d.ts +93 -0
  57. package/dist/connectors/token-env.d.ts.map +1 -0
  58. package/dist/connectors/token-env.js +323 -0
  59. package/dist/connectors/token-env.js.map +1 -0
  60. package/dist/connectors/types.d.ts +126 -0
  61. package/dist/connectors/types.d.ts.map +1 -0
  62. package/dist/connectors/types.js +13 -0
  63. package/dist/connectors/types.js.map +1 -0
  64. package/dist/index.js +32 -1
  65. package/dist/index.js.map +1 -1
  66. package/dist/session/process.d.ts +23 -0
  67. package/dist/session/process.d.ts.map +1 -1
  68. package/dist/session/process.js +78 -2
  69. package/dist/session/process.js.map +1 -1
  70. package/dist/types.d.ts +46 -1
  71. package/dist/types.d.ts.map +1 -1
  72. package/package.json +1 -1
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Connector types.
3
+ *
4
+ * A "connector" is an MCP server the gateway can inject into a Claude Code session's
5
+ * mcp-config.json. The gateway stores only the definition (config.json's
6
+ * gateway.customConnectors), the per-connector secret (mcp-token.env) and the
7
+ * per-agent enablement (AgentConfig.connectors). At spawn, an enabled+connected
8
+ * connector is resolved to an mcpServers entry by resolve.ts — Claude Code then
9
+ * talks to the real MCP server directly.
10
+ */
11
+ /**
12
+ * Who holds the connector's credential and is responsible for keeping it valid.
13
+ *
14
+ * This is the only axis along which connectors actually differ. Every route, the
15
+ * refresh sweep and the disconnect semantics all branch on one of these four cases
16
+ * and nothing else, so they are one field rather than the several booleans this
17
+ * started as — `authKind` + `managed` + `oauth` had 8 representable combinations for
18
+ * 4 real states, and which of the 8 you got depended on which route wrote the entry.
19
+ *
20
+ * 'none' No credential exists. `secretNames` is empty and there is nothing to
21
+ * connect, disconnect or refresh.
22
+ * 'static' A human pasted a value through POST /v1/connectors/custom (or
23
+ * /:id/connect). It is valid until someone replaces it; nothing renews it.
24
+ * 'gateway' THIS gateway ran the OAuth flow (api/oauth-connectors-router.ts),
25
+ * holds the refresh_token, and renews the access_token itself
26
+ * (oauth-refresh-sweep.ts). The only value the sweep acts on.
27
+ * 'external' An external control plane owns the sign-in and pushes fresh tokens in
28
+ * via POST /v1/connectors/:id/oauth/receive. The gateway stores what it
29
+ * is handed and never refreshes it — it holds no refresh_token to do so.
30
+ *
31
+ * Deliberately about ownership, not about presentation. An earlier shape reported
32
+ * `source: 'built-in' | 'custom'` — a statement about which badge one particular web
33
+ * panel should draw, which is not the gateway's business to decide and was not read
34
+ * anywhere in this repo. A UI can still derive its badge from this field; the
35
+ * difference is that this field is true independently of any UI.
36
+ *
37
+ * Note what this does NOT affect: secret RESOLUTION is identical for all four. Every
38
+ * connector stores its values under the same `CUSTOM__<id>__<name>` keys and every
39
+ * one is resolved by the same `{placeholder}` substitution — a 'gateway' entry's
40
+ * config must still carry an `{access_token}` placeholder and still list it in
41
+ * `secretNames`, exactly like a pasted static-token one. resolve.ts's
42
+ * resolveEnabledConnectors needs no awareness of this field at all, and should not
43
+ * acquire any.
44
+ */
45
+ export type ConnectorCredentialOwner = 'none' | 'static' | 'gateway' | 'external';
46
+ export interface ConnectorStatus {
47
+ id: string;
48
+ label: string;
49
+ description?: string;
50
+ /** Mirrors CustomConnectorEntry.credentialOwner — see that type. Tells a caller
51
+ * which way to offer connecting: a paste-token box ('static'), a "Sign in" link
52
+ * to this gateway's own oauth/start ('gateway'), or neither ('external' is the
53
+ * control plane's to drive, 'none' needs nothing). */
54
+ credentialOwner: ConnectorCredentialOwner;
55
+ /** True when the connector's secret is present (or credentialOwner === 'none'). */
56
+ connected: boolean;
57
+ /** CustomConnectorEntry.sourceUrl — where the user says the config came from. */
58
+ repoUrl?: string;
59
+ /**
60
+ * Present only while an oauth connector's background token refresh is failing —
61
+ * see oauth-refresh-sweep.ts, which distinguishes the two kinds below.
62
+ *
63
+ * Transient failures (network, DNS, a 5xx: reasons the authorization server never
64
+ * declared) deliberately never delete the grant, so `connected` stays true off the
65
+ * still-present access_token even once that token has expired and every call
66
+ * through it is failing. Without this the API reports an indefinitely healthy
67
+ * connector that stopped working hours ago.
68
+ */
69
+ refresh?: {
70
+ /** Consecutive transient failures; resets to 0 on the first success. */
71
+ consecutiveFailures: number;
72
+ /**
73
+ * Consecutive refusals by the authorization server itself. At 3 the sweep
74
+ * deletes the stored credentials and `connected` flips to false, so a 2 here
75
+ * is the last warning before this connector disconnects itself.
76
+ */
77
+ permanentFailures: number;
78
+ /** Epoch ms — the sweep skips this connector until then. */
79
+ nextAttemptAt: number;
80
+ /**
81
+ * Set when this connector can never refresh: its access_token has expired and
82
+ * no refresh_token was ever stored. Both counters read 0 here, because nothing
83
+ * ever failed — the sweep has nothing to refresh with, so it skips the connector
84
+ * silently on every tick. Reachable through ordinary configuration: an
85
+ * authorization server that advertises scopes not including `offline_access`
86
+ * issues a token response with no refresh_token at all.
87
+ */
88
+ unrefreshable?: boolean;
89
+ };
90
+ }
91
+ /**
92
+ * A user-pasted connector: raw mcpServers-entry JSON (from the MCP registry, a
93
+ * docs page, wherever) with `{placeholderName}` tokens standing in for secrets.
94
+ * Stored in config.json's gateway.customConnectors, keyed by a slugified id.
95
+ * There is no build() step — resolve.ts does a generic find-and-replace of
96
+ * `{name}` against the connector's own namespaced secrets (see
97
+ * connectors/custom.ts: customSecretKey, substitutePlaceholders).
98
+ */
99
+ export interface CustomConnectorEntry {
100
+ label: string;
101
+ description?: string;
102
+ /** Raw config as pasted, e.g. {"command":"npx","args":["gmail-mcp"]} or
103
+ * {"type":"streamable-http","url":"...","headers":{"Authorization":"Bearer {api_key}"}}. */
104
+ config: Record<string, unknown>;
105
+ /** Placeholder names found in `config` at add-time, e.g. ['api_key']. */
106
+ secretNames: string[];
107
+ /** Where the user says this config came from — their own reference, unverified. */
108
+ sourceUrl?: string;
109
+ /**
110
+ * Who owns this connector's credential — see ConnectorCredentialOwner.
111
+ *
112
+ * Written once, by whichever route created the entry, and read verbatim
113
+ * everywhere after: POST /v1/connectors/custom decides between 'none', 'static'
114
+ * and 'gateway' from what the admin submitted, and POST /:id/oauth/receive always
115
+ * writes 'external'. Nothing infers it at read time, which is the point — the old
116
+ * shape derived the reported kind from `secretNames.length` on every status call
117
+ * while ALSO storing overrides for the two cases that derivation got wrong.
118
+ *
119
+ * Required rather than optional: an entry whose owner is unknown has no correct
120
+ * default. 'static' would put a paste-token box on an OAuth connector and 'none'
121
+ * would report it permanently connected. There is no legacy on-disk shape to be
122
+ * lenient towards — connectors ship for the first time in this change.
123
+ */
124
+ credentialOwner: ConnectorCredentialOwner;
125
+ }
126
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/connectors/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;2DAGuD;IACvD,eAAe,EAAE,wBAAwB,CAAC;IAC1C,mFAAmF;IACnF,SAAS,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE;QACR,wEAAwE;QACxE,mBAAmB,EAAE,MAAM,CAAC;QAC5B;;;;WAIG;QACH,iBAAiB,EAAE,MAAM,CAAC;QAC1B,4DAA4D;QAC5D,aAAa,EAAE,MAAM,CAAC;QACtB;;;;;;;WAOG;QACH,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;CACH;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;iGAC6F;IAC7F,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,yEAAyE;IACzE,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;OAcG;IACH,eAAe,EAAE,wBAAwB,CAAC;CAC3C"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ /**
3
+ * Connector types.
4
+ *
5
+ * A "connector" is an MCP server the gateway can inject into a Claude Code session's
6
+ * mcp-config.json. The gateway stores only the definition (config.json's
7
+ * gateway.customConnectors), the per-connector secret (mcp-token.env) and the
8
+ * per-agent enablement (AgentConfig.connectors). At spawn, an enabled+connected
9
+ * connector is resolved to an mcpServers entry by resolve.ts — Claude Code then
10
+ * talks to the real MCP server directly.
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/connectors/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG"}
package/dist/index.js CHANGED
@@ -829,6 +829,20 @@ async function main() {
829
829
  // Applies to sessions spawned after the change; running sessions keep their backend.
830
830
  config.gateway.headless = change.newValue;
831
831
  }
832
+ else if (change.field === 'gateway.customConnectors') {
833
+ // Same "new spawns only" scope as the agent-level 'connectors' case
834
+ // below — an already-running session's subprocess isn't hot-patched
835
+ // (see restartSessionsUsingConnector for that case), but every
836
+ // subsequent chat/spawn now sees connect/disconnect/add-custom
837
+ // changes without a gateway restart.
838
+ config.gateway.customConnectors = change.newValue;
839
+ }
840
+ else if (change.field === 'gateway.connectorsDefaultEnabled') {
841
+ // Same "new spawns only" scope as customConnectors: both readers take
842
+ // this off the live config object at call time, so replacing it is the
843
+ // whole reload.
844
+ config.gateway.connectorsDefaultEnabled = change.newValue;
845
+ }
832
846
  if (change.field === 'gateway.logs') {
833
847
  // Re-installing the policy is enough: every logger reads it per call,
834
848
  // and the retention sweep reads `retentionDays` on each run.
@@ -866,6 +880,11 @@ async function main() {
866
880
  agentConfig.heartbeat = {};
867
881
  agentConfig.heartbeat.rateLimitMinutes = change.newValue;
868
882
  break;
883
+ case 'connectors':
884
+ // Per-agent connector enablement toggles — same scope note as
885
+ // gateway.customConnectors above.
886
+ agentConfig.connectors = change.newValue;
887
+ break;
869
888
  }
870
889
  }
871
890
  });
@@ -875,7 +894,19 @@ async function main() {
875
894
  // agents/<id>/.env in before interpolating, which is the only reason this
876
895
  // event can fire for a ${VAR}-token agent at all (#427).
877
896
  newAgentConfig.workspace = (0, paths_1.expandHome)(newAgentConfig.workspace);
878
- await startAgent(newAgentConfig, configWatcher.getConfig(), ctx);
897
+ // `config`, not `configWatcher.getConfig()`. Every hot-reloadable
898
+ // gateway-level field is applied by mutating this long-lived object in
899
+ // place (the `changes` handler above), while getConfig() returns
900
+ // `currentConfig` — a structuredClone that the NEXT reload() replaces
901
+ // outright. An agent handed that clone therefore holds a snapshot frozen at
902
+ // the moment it was added: AgentRunner keeps the reference for its lifetime
903
+ // and reads `gateway.customConnectors` and `gateway.connectorsDefaultEnabled`
904
+ // off it at spawn time, so connecting, disconnecting or adding a connector
905
+ // afterwards would never reach the one agent that was hot-added — with no
906
+ // error and nothing in the log, and a gateway restart as the only cure.
907
+ // (`gateway.headless` has the same shape, which is how this got missed.)
908
+ // Boot-path agents already get exactly this object; see startAgent above.
909
+ await startAgent(newAgentConfig, config, ctx);
879
910
  globalLogger.info('Agent hot-added successfully', { id: newAgentConfig.id });
880
911
  });
881
912
  configWatcher.on('channel.added', async (agentId, channel) => {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,7 @@ export declare class SessionProcess extends EventEmitter {
64
64
  private _queryTimer?;
65
65
  private _querySettled;
66
66
  private pendingInitialPrompt?;
67
+ private spawnedConnectors;
67
68
  constructor(sessionId: string, source: ChatChannelOrApi, agentConfig: AgentConfig, gatewayConfig: GatewayConfig, sessionStore: SessionStore, chatId?: string);
68
69
  /**
69
70
  * Resolve the model for this session.
@@ -139,6 +140,28 @@ export declare class SessionProcess extends EventEmitter {
139
140
  * Returns empty object if not found or on any error.
140
141
  */
141
142
  private readProjectScopedMcp;
143
+ /**
144
+ * True when `resolvedServer` — what `connectorId` resolves to for this agent
145
+ * right now, or `undefined` when it resolves to nothing — differs from what
146
+ * this session's subprocess was actually spawned with.
147
+ *
148
+ * This is the whole restart decision for a connector change, and it has to be
149
+ * asked per session rather than per agent. The three cases a caller has:
150
+ * - a token rotated: both sides present, different value → restart
151
+ * - a connector deleted or its refresh given up on: `undefined` here,
152
+ * present at spawn → restart (asking mcp-token.env instead answers "not
153
+ * connected", i.e. "nobody uses it", for the sessions still holding it)
154
+ * - a connector just connected: present here, absent at spawn → restart
155
+ * and one case that used to cost every session on the box a respawn: nothing
156
+ * about this connector changed for this session → no restart. That matters
157
+ * because the refresh sweep fires on a timer, so an agent-level answer
158
+ * restarted every session of every agent roughly once per token lifetime.
159
+ *
160
+ * A session that has never written an mcp-config.json is never a candidate: it
161
+ * either has not spawned yet, and will read the current state when it does, or
162
+ * it is a tool-less API session that gets no MCP servers at all.
163
+ */
164
+ connectorConfigChanged(connectorId: string, resolvedServer: unknown): boolean;
142
165
  private writeMcpConfig;
143
166
  /** Find the first API key that has access to this agent (agents: '*' or includes agentId). */
144
167
  private findApiKeyForAgent;
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.SessionProcess = exports.INTERRUPTED_NO_REPLY_TEXT = exports.MAX_HISTORY_MESSAGES = void 0;
40
40
  exports.resolveMaxHistoryMessages = resolveMaxHistoryMessages;
41
41
  const child_process_1 = require("child_process");
42
+ const crypto_1 = require("crypto");
42
43
  const events_1 = require("events");
43
44
  const fs = __importStar(require("fs"));
44
45
  const os = __importStar(require("os"));
@@ -53,7 +54,18 @@ const screen_1 = require("../shell/screen");
53
54
  const claude_bin_1 = require("./claude-bin");
54
55
  const claude_settings_1 = require("../config/claude-settings");
55
56
  const tool_labels_1 = require("../utils/tool-labels");
57
+ const resolve_1 = require("../connectors/resolve");
58
+ const custom_1 = require("../connectors/custom");
56
59
  exports.MAX_HISTORY_MESSAGES = 50;
60
+ /**
61
+ * Digest of one resolved connector's mcpServers entry — command, args and the
62
+ * substituted secret alike. Hashed rather than kept verbatim so a rotated
63
+ * access_token is comparable without holding a second copy of it in memory for
64
+ * the life of the session; only equality is ever asked of it.
65
+ */
66
+ function connectorFingerprint(server) {
67
+ return (0, crypto_1.createHash)('sha256').update(JSON.stringify(server) ?? 'undefined').digest('hex');
68
+ }
57
69
  /**
58
70
  * Claude credential / API-routing env vars forwarded from the host into an
59
71
  * app-agent container. Deliberately narrow — auth and endpoint only. Model and
@@ -303,6 +315,20 @@ class SessionProcess extends events_1.EventEmitter {
303
315
  this.resolvedBinLogged = false;
304
316
  this._queryBuffer = '';
305
317
  this._querySettled = false;
318
+ // Fingerprint per connector actually written into THIS session's mcp-config.json,
319
+ // rewritten on every spawn by writeMcpConfig(). It answers the only question a
320
+ // connector-triggered restart needs to ask — "is what this subprocess is running
321
+ // with still what the connector resolves to?" — which neither the agent's current
322
+ // enablement nor mcp-token.env can answer after the fact: a rotated token resolves
323
+ // enabled either way, and a deleted one resolves to nothing for a session that is
324
+ // still holding it. See connectorConfigChanged.
325
+ //
326
+ // `null` until writeMcpConfig has run, and it stays null for the sessions that get
327
+ // no generated config at all (`source === 'api'` without allow_tools). An empty Map
328
+ // would be a different claim — "spawned, with no connectors" — and would make every
329
+ // newly connected connector look like a change to a session that cannot use MCP
330
+ // servers in the first place.
331
+ this.spawnedConnectors = null;
306
332
  this.sessionId = sessionId;
307
333
  this.source = source;
308
334
  this.chatId = chatId ?? sessionId;
@@ -581,6 +607,33 @@ class SessionProcess extends events_1.EventEmitter {
581
607
  return {};
582
608
  }
583
609
  }
610
+ /**
611
+ * True when `resolvedServer` — what `connectorId` resolves to for this agent
612
+ * right now, or `undefined` when it resolves to nothing — differs from what
613
+ * this session's subprocess was actually spawned with.
614
+ *
615
+ * This is the whole restart decision for a connector change, and it has to be
616
+ * asked per session rather than per agent. The three cases a caller has:
617
+ * - a token rotated: both sides present, different value → restart
618
+ * - a connector deleted or its refresh given up on: `undefined` here,
619
+ * present at spawn → restart (asking mcp-token.env instead answers "not
620
+ * connected", i.e. "nobody uses it", for the sessions still holding it)
621
+ * - a connector just connected: present here, absent at spawn → restart
622
+ * and one case that used to cost every session on the box a respawn: nothing
623
+ * about this connector changed for this session → no restart. That matters
624
+ * because the refresh sweep fires on a timer, so an agent-level answer
625
+ * restarted every session of every agent roughly once per token lifetime.
626
+ *
627
+ * A session that has never written an mcp-config.json is never a candidate: it
628
+ * either has not spawned yet, and will read the current state when it does, or
629
+ * it is a tool-less API session that gets no MCP servers at all.
630
+ */
631
+ connectorConfigChanged(connectorId, resolvedServer) {
632
+ if (!this.spawnedConnectors)
633
+ return false;
634
+ const now = resolvedServer === undefined ? undefined : connectorFingerprint(resolvedServer);
635
+ return this.spawnedConnectors.get(connectorId) !== now;
636
+ }
584
637
  writeMcpConfig() {
585
638
  if (this.source === 'api' && !this.agentConfig.allow_tools)
586
639
  return null;
@@ -596,14 +649,37 @@ class SessionProcess extends events_1.EventEmitter {
596
649
  fs.mkdirSync(sessionDir, { recursive: true, mode: 0o700 });
597
650
  const mcpServerPath = path.resolve(__dirname, '..', '..', 'mcp', 'server.ts');
598
651
  // Merge stdio servers from Claude Code user + project configs (project overrides user).
599
- // Skip "telegram" and "gateway" from both — gateway always generates its own config below.
652
+ // Skip the gateway's own server names from both — gateway always generates its own
653
+ // config below (RESERVED_CONNECTOR_IDS; connector ids can no longer land here at all).
600
654
  const userServers = this.readUserScopedMcp();
601
655
  const projectServers = this.readProjectScopedMcp();
602
656
  const extraServers = {};
603
657
  for (const [name, server] of Object.entries({ ...userServers, ...projectServers })) {
604
- if (name !== 'telegram' && name !== 'gateway')
658
+ if (!(0, custom_1.isReservedConnectorId)(name))
605
659
  extraServers[name] = server;
606
660
  }
661
+ // Connectors enabled for THIS agent AND connected (every secret present in
662
+ // mcp-token.env). Resolved fresh each spawn so a web "connect" is picked up
663
+ // without a daemon restart. Secrets land only in this 0600 mcp-config.json.
664
+ const connectorServers = (0, resolve_1.resolveEnabledConnectors)(this.agentConfig, this.gatewayConfig.gateway.customConnectors, this.gatewayConfig.gateway.connectorsDefaultEnabled ?? true);
665
+ const spawnedConnectors = new Map();
666
+ for (const [name, server] of Object.entries(connectorServers)) {
667
+ // Defence in depth: slugify() and /oauth/receive both refuse these ids now,
668
+ // so this can only fire on an entry hand-written into config.json.
669
+ if ((0, custom_1.isReservedConnectorId)(name))
670
+ continue;
671
+ // Connector wins over a same-named user/project server — it is the one the
672
+ // gateway can actually vouch for the credentials of. Worth a line, though:
673
+ // the user configured that other server in their own Claude Code config and
674
+ // gets no other signal that it stopped being the thing under this name.
675
+ if (name in extraServers) {
676
+ console.warn(`session/process: connector '${name}' overrides the same-named MCP server from` +
677
+ ` the user/project Claude Code config for agent=${this.agentConfig.id}`);
678
+ }
679
+ extraServers[name] = server;
680
+ spawnedConnectors.set(name, connectorFingerprint(server));
681
+ }
682
+ this.spawnedConnectors = spawnedConnectors;
607
683
  const mcpConfig = {
608
684
  mcpServers: {
609
685
  ...extraServers,