@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.
- package/README.md +96 -0
- package/dist/agent/runner.d.ts +47 -1
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +116 -17
- package/dist/agent/runner.js.map +1 -1
- package/dist/api/connectors-router.d.ts +50 -0
- package/dist/api/connectors-router.d.ts.map +1 -0
- package/dist/api/connectors-router.js +650 -0
- package/dist/api/connectors-router.js.map +1 -0
- package/dist/api/gateway-router.d.ts +4 -0
- package/dist/api/gateway-router.d.ts.map +1 -1
- package/dist/api/gateway-router.js +26 -0
- package/dist/api/gateway-router.js.map +1 -1
- package/dist/api/oauth-connectors-router.d.ts +43 -0
- package/dist/api/oauth-connectors-router.d.ts.map +1 -0
- package/dist/api/oauth-connectors-router.js +384 -0
- package/dist/api/oauth-connectors-router.js.map +1 -0
- package/dist/api/router.d.ts.map +1 -1
- package/dist/api/router.js +101 -13
- package/dist/api/router.js.map +1 -1
- package/dist/apps/agent-manager.d.ts +6 -2
- package/dist/apps/agent-manager.d.ts.map +1 -1
- package/dist/apps/agent-manager.js +10 -18
- package/dist/apps/agent-manager.js.map +1 -1
- package/dist/config/config-write-lock.d.ts +45 -0
- package/dist/config/config-write-lock.d.ts.map +1 -0
- package/dist/config/config-write-lock.js +164 -0
- package/dist/config/config-write-lock.js.map +1 -0
- package/dist/config/watcher.d.ts.map +1 -1
- package/dist/config/watcher.js +29 -0
- package/dist/config/watcher.js.map +1 -1
- package/dist/connectors/custom-connectors-store.d.ts +54 -0
- package/dist/connectors/custom-connectors-store.d.ts.map +1 -0
- package/dist/connectors/custom-connectors-store.js +204 -0
- package/dist/connectors/custom-connectors-store.js.map +1 -0
- package/dist/connectors/custom.d.ts +69 -0
- package/dist/connectors/custom.d.ts.map +1 -0
- package/dist/connectors/custom.js +158 -0
- package/dist/connectors/custom.js.map +1 -0
- package/dist/connectors/mcp-oauth.d.ts +152 -0
- package/dist/connectors/mcp-oauth.d.ts.map +1 -0
- package/dist/connectors/mcp-oauth.js +522 -0
- package/dist/connectors/mcp-oauth.js.map +1 -0
- package/dist/connectors/oauth-refresh-sweep.d.ts +71 -0
- package/dist/connectors/oauth-refresh-sweep.d.ts.map +1 -0
- package/dist/connectors/oauth-refresh-sweep.js +337 -0
- package/dist/connectors/oauth-refresh-sweep.js.map +1 -0
- package/dist/connectors/pending-oauth-store.d.ts +39 -0
- package/dist/connectors/pending-oauth-store.d.ts.map +1 -0
- package/dist/connectors/pending-oauth-store.js +50 -0
- package/dist/connectors/pending-oauth-store.js.map +1 -0
- package/dist/connectors/resolve.d.ts +52 -0
- package/dist/connectors/resolve.d.ts.map +1 -0
- package/dist/connectors/resolve.js +176 -0
- package/dist/connectors/resolve.js.map +1 -0
- package/dist/connectors/token-env.d.ts +93 -0
- package/dist/connectors/token-env.d.ts.map +1 -0
- package/dist/connectors/token-env.js +323 -0
- package/dist/connectors/token-env.js.map +1 -0
- package/dist/connectors/types.d.ts +126 -0
- package/dist/connectors/types.d.ts.map +1 -0
- package/dist/connectors/types.js +13 -0
- package/dist/connectors/types.js.map +1 -0
- package/dist/index.js +32 -1
- package/dist/index.js.map +1 -1
- package/dist/session/process.d.ts +23 -0
- package/dist/session/process.d.ts.map +1 -1
- package/dist/session/process.js +78 -2
- package/dist/session/process.js.map +1 -1
- package/dist/types.d.ts +46 -1
- package/dist/types.d.ts.map +1 -1
- 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
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"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"}
|
package/dist/session/process.js
CHANGED
|
@@ -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
|
|
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 (
|
|
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,
|