@chrisromp/copilot-bridge 0.7.0 → 0.8.1
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/config.sample.json +9 -1
- package/dist/channels/slack/adapter.d.ts +62 -0
- package/dist/channels/slack/adapter.d.ts.map +1 -0
- package/dist/channels/slack/adapter.js +382 -0
- package/dist/channels/slack/adapter.js.map +1 -0
- package/dist/channels/slack/mrkdwn.d.ts +22 -0
- package/dist/channels/slack/mrkdwn.d.ts.map +1 -0
- package/dist/channels/slack/mrkdwn.js +120 -0
- package/dist/channels/slack/mrkdwn.js.map +1 -0
- package/dist/config.d.ts +5 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +63 -7
- package/dist/config.js.map +1 -1
- package/dist/core/access-control.d.ts +32 -0
- package/dist/core/access-control.d.ts.map +1 -0
- package/dist/core/access-control.js +59 -0
- package/dist/core/access-control.js.map +1 -0
- package/dist/core/command-handler.d.ts +2 -0
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +75 -1
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/inter-agent.d.ts +9 -2
- package/dist/core/inter-agent.d.ts.map +1 -1
- package/dist/core/inter-agent.js +87 -22
- package/dist/core/inter-agent.js.map +1 -1
- package/dist/core/model-fallback.js +1 -1
- package/dist/core/model-fallback.js.map +1 -1
- package/dist/core/session-manager.d.ts +3 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +51 -13
- package/dist/core/session-manager.js.map +1 -1
- package/dist/index.js +207 -30
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +10 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -1
- package/scripts/check.ts +54 -1
- package/scripts/com.copilot-bridge.plist +5 -2
- package/scripts/init.ts +322 -117
- package/scripts/install-service.ts +32 -1
- package/scripts/lib/config-gen.ts +74 -10
- package/scripts/lib/prerequisites.ts +17 -5
- package/scripts/lib/prompts.ts +4 -0
- package/scripts/lib/service.ts +27 -3
- package/scripts/lib/slack.ts +190 -0
- package/templates/admin/AGENTS.md +5 -5
- package/templates/agents/AGENTS.md +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inter-agent.d.ts","sourceRoot":"","sources":["../../src/core/inter-agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inter-agent.d.ts","sourceRoot":"","sources":["../../src/core/inter-agent.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOpD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;CACrB;AAID;;;GAGG;AACH,wBAAgB,OAAO,CACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,CAAC,EAAE,gBAAgB,GACxB,MAAM,GAAG,IAAI,CAoCf;AAOD,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,iBAAiB,CAQzF;AAED,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAQ5F;AAID;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAgCvE;AAUD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAO9E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAMpE;AAgDD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAuB5F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAerE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAC9B,eAAe,GAAG,IAAI,CAWxB"}
|
package/dist/core/inter-agent.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import crypto from 'node:crypto';
|
|
4
|
+
import os from 'node:os';
|
|
4
5
|
import { getConfig, getInterAgentConfig } from '../config.js';
|
|
5
6
|
import { getDynamicChannels } from '../state/store.js';
|
|
6
7
|
import { createLogger } from '../logger.js';
|
|
@@ -131,35 +132,99 @@ export function buildCallerPrompt(context) {
|
|
|
131
132
|
}
|
|
132
133
|
// --- Agent Definition Discovery ---
|
|
133
134
|
/**
|
|
134
|
-
*
|
|
135
|
-
*
|
|
135
|
+
* Collect all directories that may contain *.agent.md files.
|
|
136
|
+
* Sources (later entries win on name conflicts):
|
|
137
|
+
* 1. Installed plugins: ~/.copilot/installed-plugins/<vendor>/<plugin>/agents/
|
|
138
|
+
* 2. User profile: ~/.copilot/agents/
|
|
139
|
+
* 3. Workspace: <workspacePath>/agents/
|
|
140
|
+
*/
|
|
141
|
+
function getAgentRoots(workspacePath) {
|
|
142
|
+
const roots = [];
|
|
143
|
+
const home = os.homedir();
|
|
144
|
+
// 1. Plugin agents — walk at most 3 levels deep (e.g. _direct/vendor/plugin/agents/)
|
|
145
|
+
if (home) {
|
|
146
|
+
const pluginsDir = path.join(home, '.copilot', 'installed-plugins');
|
|
147
|
+
if (fs.existsSync(pluginsDir)) {
|
|
148
|
+
const walk = (dir, depth) => {
|
|
149
|
+
if (depth > 3)
|
|
150
|
+
return;
|
|
151
|
+
try {
|
|
152
|
+
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
153
|
+
if (!entry.isDirectory())
|
|
154
|
+
continue;
|
|
155
|
+
const full = path.join(dir, entry.name);
|
|
156
|
+
if (entry.name === 'agents') {
|
|
157
|
+
roots.push({ dir: full, source: 'plugin' });
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
walk(full, depth + 1);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
catch { /* permission errors */ }
|
|
165
|
+
};
|
|
166
|
+
walk(pluginsDir, 0);
|
|
167
|
+
}
|
|
168
|
+
// 2. User-level agents
|
|
169
|
+
const userAgents = path.join(home, '.copilot', 'agents');
|
|
170
|
+
if (fs.existsSync(userAgents))
|
|
171
|
+
roots.push({ dir: userAgents, source: 'user' });
|
|
172
|
+
}
|
|
173
|
+
// 3. Workspace agents (highest priority — overrides earlier sources)
|
|
174
|
+
const wsAgents = path.join(workspacePath, 'agents');
|
|
175
|
+
if (fs.existsSync(wsAgents))
|
|
176
|
+
roots.push({ dir: wsAgents, source: 'workspace' });
|
|
177
|
+
return roots;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Discover *.agent.md files from all agent sources (plugins, user profile, workspace).
|
|
181
|
+
* Returns a map of agent name → definition. Later sources override earlier ones.
|
|
136
182
|
*/
|
|
137
183
|
export function discoverAgentDefinitions(workspacePath) {
|
|
138
|
-
const agentsDir = path.join(workspacePath, 'agents');
|
|
139
184
|
const definitions = new Map();
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
185
|
+
for (const { dir: agentsDir, source } of getAgentRoots(workspacePath)) {
|
|
186
|
+
try {
|
|
187
|
+
for (const entry of fs.readdirSync(agentsDir, { withFileTypes: true })) {
|
|
188
|
+
if (!entry.isFile() || !entry.name.endsWith('.agent.md'))
|
|
189
|
+
continue;
|
|
190
|
+
const name = entry.name.replace(/\.agent\.md$/, '');
|
|
191
|
+
const filePath = path.join(agentsDir, entry.name);
|
|
192
|
+
try {
|
|
193
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
194
|
+
definitions.set(name, { name, content, filePath, source });
|
|
195
|
+
log.debug(`Discovered agent definition: ${name} at ${filePath}`);
|
|
196
|
+
}
|
|
197
|
+
catch (err) {
|
|
198
|
+
log.warn(`Failed to read agent definition ${filePath}: ${err?.message}`);
|
|
199
|
+
}
|
|
155
200
|
}
|
|
156
201
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
202
|
+
catch (err) {
|
|
203
|
+
log.warn(`Failed to scan agents directory ${agentsDir}: ${err?.message}`);
|
|
204
|
+
}
|
|
160
205
|
}
|
|
161
206
|
return definitions;
|
|
162
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* Lightweight agent name discovery — reads only filenames, not file contents.
|
|
210
|
+
* Scans all agent sources (plugins, user profile, workspace).
|
|
211
|
+
*/
|
|
212
|
+
export function discoverAgentNames(workspacePath) {
|
|
213
|
+
const names = new Set();
|
|
214
|
+
for (const { dir: agentsDir } of getAgentRoots(workspacePath)) {
|
|
215
|
+
try {
|
|
216
|
+
for (const entry of fs.readdirSync(agentsDir, { withFileTypes: true })) {
|
|
217
|
+
if (!entry.isFile() || !entry.name.endsWith('.agent.md'))
|
|
218
|
+
continue;
|
|
219
|
+
names.add(entry.name.replace(/\.agent\.md$/, ''));
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
catch (err) {
|
|
223
|
+
log.warn(`Failed to scan agents directory ${agentsDir}: ${err?.message}`);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return names;
|
|
227
|
+
}
|
|
163
228
|
/**
|
|
164
229
|
* Resolve which agent definition to use for an ephemeral session.
|
|
165
230
|
* Priority: explicit agent param → bot's default agent → none.
|
|
@@ -171,7 +236,7 @@ export function resolveAgentDefinition(workspacePath, agentParam, botDefaultAgen
|
|
|
171
236
|
const definitions = discoverAgentDefinitions(workspacePath);
|
|
172
237
|
const def = definitions.get(agentName);
|
|
173
238
|
if (!def) {
|
|
174
|
-
log.warn(`Agent definition "${agentName}" not found
|
|
239
|
+
log.warn(`Agent definition "${agentName}" not found (scanned plugins, user profile, and ${workspacePath}/agents/)`);
|
|
175
240
|
return null;
|
|
176
241
|
}
|
|
177
242
|
return def;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inter-agent.js","sourceRoot":"","sources":["../../src/core/inter-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,GAAG,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"inter-agent.js","sourceRoot":"","sources":["../../src/core/inter-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -191,7 +191,7 @@ export function getFallbackChain(modelId, availableModels) {
|
|
|
191
191
|
const MODEL_ERROR_PATTERNS = [
|
|
192
192
|
/model.*capacity/i,
|
|
193
193
|
/model.*(overloaded|over\s*loaded)/i,
|
|
194
|
-
/model.*(not\s+found|not\s+available|unavailable|does\s+not\s+exist)/i,
|
|
194
|
+
/model.*(not\s+found|not\s+available|unavailable|does\s+not\s+exist|not\s+supported)/i,
|
|
195
195
|
/rate\s*limit/i,
|
|
196
196
|
/too\s+many\s+requests/i,
|
|
197
197
|
/resource\s+exhausted/i,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-fallback.js","sourceRoot":"","sources":["../../src/core/model-fallback.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"model-fallback.js","sourceRoot":"","sources":["../../src/core/model-fallback.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,8 @@ export declare class SessionManager {
|
|
|
18
18
|
private pendingUserInput;
|
|
19
19
|
private contextUsage;
|
|
20
20
|
private lastMessageUserIds;
|
|
21
|
+
private sessionMcpServers;
|
|
22
|
+
private sessionSkillDirs;
|
|
21
23
|
private sendFileHandler;
|
|
22
24
|
private getAdapterForChannel;
|
|
23
25
|
constructor(bridge: CopilotBridge);
|
|
@@ -39,6 +41,7 @@ export declare class SessionManager {
|
|
|
39
41
|
name: string;
|
|
40
42
|
description: string;
|
|
41
43
|
source: string;
|
|
44
|
+
pending?: boolean;
|
|
42
45
|
}[];
|
|
43
46
|
/** Get or create a session for a channel. */
|
|
44
47
|
ensureSession(channelId: string): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EACV,cAAc,EACf,MAAM,aAAa,CAAC;AAIrB,4GAA4G;AAC5G,eAAO,MAAM,mBAAmB,UAA8D,CAAC;AAE/F,KAAK,mBAAmB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;AAsNtF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAU/D;AAqCD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,UAAU,CAAsB;IAGxC,OAAO,CAAC,kBAAkB,CAA0C;IAEpE,OAAO,CAAC,gBAAgB,CAAyC;IAEjE,OAAO,CAAC,YAAY,CAAoE;IACxF,OAAO,CAAC,kBAAkB,CAA6B;IAEvD,OAAO,CAAC,eAAe,CAA6F;IACpH,OAAO,CAAC,oBAAoB,CAA+D;gBAE/E,MAAM,EAAE,aAAa;IAMjC,0EAA0E;IAC1E,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAIlD,sDAAsD;IACtD,UAAU,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;IAIrG,sDAAsD;IACtD,YAAY,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,GAAG,IAAI;IAI1E;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAkBzB,8FAA8F;IAC9F,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE;
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -275,6 +275,10 @@ export class SessionManager {
|
|
|
275
275
|
// Cached context usage from session.usage_info events
|
|
276
276
|
contextUsage = new Map();
|
|
277
277
|
lastMessageUserIds = new Map(); // channelId → userId of last message sender
|
|
278
|
+
// MCP server names that were passed to the session at creation/resume time
|
|
279
|
+
sessionMcpServers = new Map(); // channelId → server names
|
|
280
|
+
// Skill directories that were passed to the session at creation/resume time
|
|
281
|
+
sessionSkillDirs = new Map(); // channelId → skill dir paths
|
|
278
282
|
// Handler for send_file tool (set by index.ts, calls adapter.sendFile)
|
|
279
283
|
sendFileHandler = null;
|
|
280
284
|
getAdapterForChannel = null;
|
|
@@ -320,20 +324,21 @@ export class SessionManager {
|
|
|
320
324
|
const workingDirectory = this.resolveWorkingDirectory(channelId);
|
|
321
325
|
const { servers: workspaceServers } = loadWorkspaceMcpServers(workingDirectory);
|
|
322
326
|
const globalNames = new Set(Object.keys(this.mcpServers));
|
|
327
|
+
const sessionServers = this.sessionMcpServers.get(channelId);
|
|
323
328
|
const result = [];
|
|
324
329
|
// All user-level servers — mark project overrides accordingly
|
|
325
330
|
for (const name of globalNames) {
|
|
326
331
|
if (name in workspaceServers) {
|
|
327
|
-
result.push({ name, source: 'workspace (override)' });
|
|
332
|
+
result.push({ name, source: 'workspace (override)', pending: sessionServers ? !sessionServers.has(name) : undefined });
|
|
328
333
|
}
|
|
329
334
|
else {
|
|
330
|
-
result.push({ name, source: 'user' });
|
|
335
|
+
result.push({ name, source: 'user', pending: sessionServers ? !sessionServers.has(name) : undefined });
|
|
331
336
|
}
|
|
332
337
|
}
|
|
333
338
|
// Project-only servers (not in user-level)
|
|
334
339
|
for (const name of Object.keys(workspaceServers)) {
|
|
335
340
|
if (!globalNames.has(name)) {
|
|
336
|
-
result.push({ name, source: 'workspace' });
|
|
341
|
+
result.push({ name, source: 'workspace', pending: sessionServers ? !sessionServers.has(name) : undefined });
|
|
337
342
|
}
|
|
338
343
|
}
|
|
339
344
|
return result.sort((a, b) => a.name.localeCompare(b.name));
|
|
@@ -342,6 +347,7 @@ export class SessionManager {
|
|
|
342
347
|
getSkillInfo(channelId) {
|
|
343
348
|
const workingDirectory = this.resolveWorkingDirectory(channelId);
|
|
344
349
|
const dirs = discoverSkillDirectories(workingDirectory);
|
|
350
|
+
const sessionDirs = this.sessionSkillDirs.get(channelId);
|
|
345
351
|
const skills = [];
|
|
346
352
|
for (const dir of dirs) {
|
|
347
353
|
const name = path.basename(dir);
|
|
@@ -366,7 +372,7 @@ export class SessionManager {
|
|
|
366
372
|
}
|
|
367
373
|
catch { /* skip */ }
|
|
368
374
|
}
|
|
369
|
-
skills.push({ name, description, source });
|
|
375
|
+
skills.push({ name, description, source, pending: sessionDirs ? !sessionDirs.has(dir) : undefined });
|
|
370
376
|
}
|
|
371
377
|
return skills.sort((a, b) => a.name.localeCompare(b.name));
|
|
372
378
|
}
|
|
@@ -404,13 +410,15 @@ export class SessionManager {
|
|
|
404
410
|
this.sessionUnsubscribes.delete(existingId);
|
|
405
411
|
}
|
|
406
412
|
try {
|
|
407
|
-
this.bridge.destroySession(existingId);
|
|
413
|
+
await this.bridge.destroySession(existingId);
|
|
408
414
|
}
|
|
409
415
|
catch { /* best-effort */ }
|
|
410
416
|
this.channelSessions.delete(channelId);
|
|
411
417
|
this.sessionChannels.delete(existingId);
|
|
412
418
|
this.contextUsage.delete(channelId);
|
|
413
419
|
this.lastMessageUserIds.delete(channelId);
|
|
420
|
+
this.sessionMcpServers.delete(channelId);
|
|
421
|
+
this.sessionSkillDirs.delete(channelId);
|
|
414
422
|
}
|
|
415
423
|
clearChannelSession(channelId);
|
|
416
424
|
return this.createNewSession(channelId);
|
|
@@ -422,16 +430,24 @@ export class SessionManager {
|
|
|
422
430
|
// No session to reload — just create one
|
|
423
431
|
return this.createNewSession(channelId);
|
|
424
432
|
}
|
|
425
|
-
// Detach event listeners and
|
|
433
|
+
// Detach event listeners and disconnect so the CLI subprocess tears down
|
|
434
|
+
// in-memory state (including MCP connections), allowing a clean re-init.
|
|
426
435
|
const unsub = this.sessionUnsubscribes.get(existingId);
|
|
427
436
|
if (unsub) {
|
|
428
437
|
unsub();
|
|
429
438
|
this.sessionUnsubscribes.delete(existingId);
|
|
430
439
|
}
|
|
431
|
-
|
|
440
|
+
try {
|
|
441
|
+
await this.bridge.destroySession(existingId);
|
|
442
|
+
}
|
|
443
|
+
catch { /* best-effort */ }
|
|
444
|
+
// Re-read global MCP servers so /reload picks up user-level config changes
|
|
445
|
+
this.mcpServers = loadMcpServers();
|
|
432
446
|
// Re-attach the same session (re-reads workspace config, AGENTS.md, MCP, etc.)
|
|
433
447
|
this.contextUsage.delete(channelId);
|
|
434
448
|
this.lastMessageUserIds.delete(channelId);
|
|
449
|
+
this.sessionMcpServers.delete(channelId);
|
|
450
|
+
this.sessionSkillDirs.delete(channelId);
|
|
435
451
|
try {
|
|
436
452
|
await this.attachSession(channelId, existingId);
|
|
437
453
|
log.info(`Reloaded session ${existingId} for channel ${channelId}`);
|
|
@@ -444,6 +460,8 @@ export class SessionManager {
|
|
|
444
460
|
this.sessionChannels.delete(existingId);
|
|
445
461
|
this.contextUsage.delete(channelId);
|
|
446
462
|
this.lastMessageUserIds.delete(channelId);
|
|
463
|
+
this.sessionMcpServers.delete(channelId);
|
|
464
|
+
this.sessionSkillDirs.delete(channelId);
|
|
447
465
|
clearChannelSession(channelId);
|
|
448
466
|
return this.createNewSession(channelId);
|
|
449
467
|
}
|
|
@@ -462,13 +480,18 @@ export class SessionManager {
|
|
|
462
480
|
unsub();
|
|
463
481
|
this.sessionUnsubscribes.delete(existingId);
|
|
464
482
|
}
|
|
465
|
-
|
|
483
|
+
try {
|
|
484
|
+
await this.bridge.destroySession(existingId);
|
|
485
|
+
}
|
|
486
|
+
catch { /* best-effort */ }
|
|
466
487
|
this.channelSessions.delete(channelId);
|
|
467
488
|
this.sessionChannels.delete(existingId);
|
|
468
489
|
this.contextUsage.delete(channelId);
|
|
469
490
|
this.lastMessageUserIds.delete(channelId);
|
|
491
|
+
this.sessionMcpServers.delete(channelId);
|
|
492
|
+
this.sessionSkillDirs.delete(channelId);
|
|
470
493
|
}
|
|
471
|
-
// If target session is active on another channel,
|
|
494
|
+
// If target session is active on another channel, disconnect it first
|
|
472
495
|
const otherChannel = this.sessionChannels.get(targetSessionId);
|
|
473
496
|
if (otherChannel) {
|
|
474
497
|
const unsub = this.sessionUnsubscribes.get(targetSessionId);
|
|
@@ -476,10 +499,16 @@ export class SessionManager {
|
|
|
476
499
|
unsub();
|
|
477
500
|
this.sessionUnsubscribes.delete(targetSessionId);
|
|
478
501
|
}
|
|
479
|
-
|
|
502
|
+
try {
|
|
503
|
+
await this.bridge.destroySession(targetSessionId);
|
|
504
|
+
}
|
|
505
|
+
catch { /* best-effort */ }
|
|
480
506
|
this.channelSessions.delete(otherChannel);
|
|
481
507
|
this.sessionChannels.delete(targetSessionId);
|
|
482
508
|
this.contextUsage.delete(otherChannel);
|
|
509
|
+
this.lastMessageUserIds.delete(otherChannel);
|
|
510
|
+
this.sessionMcpServers.delete(otherChannel);
|
|
511
|
+
this.sessionSkillDirs.delete(otherChannel);
|
|
483
512
|
clearChannelSession(otherChannel);
|
|
484
513
|
}
|
|
485
514
|
// Attach to the target session — fail hard if it doesn't exist
|
|
@@ -553,12 +582,15 @@ export class SessionManager {
|
|
|
553
582
|
// Try to reconnect to the same session (CLI subprocess may have restarted)
|
|
554
583
|
try {
|
|
555
584
|
log.info(`Attempting to re-attach session ${sessionId}...`);
|
|
556
|
-
this.bridge.releaseSession(sessionId);
|
|
557
585
|
const unsub = this.sessionUnsubscribes.get(sessionId);
|
|
558
586
|
if (unsub) {
|
|
559
587
|
unsub();
|
|
560
588
|
this.sessionUnsubscribes.delete(sessionId);
|
|
561
589
|
}
|
|
590
|
+
try {
|
|
591
|
+
await this.bridge.destroySession(sessionId);
|
|
592
|
+
}
|
|
593
|
+
catch { /* best-effort */ }
|
|
562
594
|
await this.attachSession(channelId, sessionId);
|
|
563
595
|
const reconnected = this.bridge.getSession(sessionId);
|
|
564
596
|
if (reconnected) {
|
|
@@ -834,13 +866,14 @@ export class SessionManager {
|
|
|
834
866
|
catch {
|
|
835
867
|
log.warn('Failed to fetch model list for fallback resolution');
|
|
836
868
|
}
|
|
869
|
+
const resolvedMcpServers = this.resolveMcpServers(workingDirectory);
|
|
837
870
|
const createWithModel = async (model) => {
|
|
838
871
|
return withWorkspaceEnv(workingDirectory, () => this.bridge.createSession({
|
|
839
872
|
model,
|
|
840
873
|
workingDirectory,
|
|
841
874
|
configDir: defaultConfigDir,
|
|
842
875
|
reasoningEffort: reasoningEffort ?? undefined,
|
|
843
|
-
mcpServers:
|
|
876
|
+
mcpServers: resolvedMcpServers,
|
|
844
877
|
skillDirectories: skillDirectories.length > 0 ? skillDirectories : undefined,
|
|
845
878
|
onPermissionRequest: (request, invocation) => this.handlePermissionRequest(channelId, request, invocation),
|
|
846
879
|
onUserInputRequest: (request, invocation) => this.handleUserInputRequest(channelId, request, invocation),
|
|
@@ -848,6 +881,8 @@ export class SessionManager {
|
|
|
848
881
|
}));
|
|
849
882
|
};
|
|
850
883
|
const { result: session, usedModel, didFallback } = await tryWithFallback(prefs.model, availableModels, configFallbacks, createWithModel);
|
|
884
|
+
this.sessionMcpServers.set(channelId, new Set(Object.keys(resolvedMcpServers)));
|
|
885
|
+
this.sessionSkillDirs.set(channelId, new Set(skillDirectories));
|
|
851
886
|
if (didFallback) {
|
|
852
887
|
log.info(`Model fallback: "${prefs.model}" → "${usedModel}" for channel ${channelId}`);
|
|
853
888
|
setChannelPrefs(channelId, { model: usedModel });
|
|
@@ -874,16 +909,19 @@ export class SessionManager {
|
|
|
874
909
|
const reasoningEffort = prefs.reasoningEffort;
|
|
875
910
|
const skillDirectories = discoverSkillDirectories(workingDirectory);
|
|
876
911
|
const customTools = this.buildCustomTools(channelId);
|
|
912
|
+
const mcpServers = this.resolveMcpServers(workingDirectory);
|
|
877
913
|
const session = await withWorkspaceEnv(workingDirectory, () => this.bridge.resumeSession(sessionId, {
|
|
878
914
|
onPermissionRequest: (request, invocation) => this.handlePermissionRequest(channelId, request, invocation),
|
|
879
915
|
onUserInputRequest: (request, invocation) => this.handleUserInputRequest(channelId, request, invocation),
|
|
880
916
|
configDir: defaultConfigDir,
|
|
881
917
|
workingDirectory,
|
|
882
918
|
reasoningEffort: reasoningEffort ?? undefined,
|
|
883
|
-
mcpServers
|
|
919
|
+
mcpServers,
|
|
884
920
|
skillDirectories: skillDirectories.length > 0 ? skillDirectories : undefined,
|
|
885
921
|
tools: customTools.length > 0 ? customTools : undefined,
|
|
886
922
|
}));
|
|
923
|
+
this.sessionMcpServers.set(channelId, new Set(Object.keys(mcpServers)));
|
|
924
|
+
this.sessionSkillDirs.set(channelId, new Set(skillDirectories));
|
|
887
925
|
this.channelSessions.set(channelId, sessionId);
|
|
888
926
|
this.sessionChannels.set(sessionId, channelId);
|
|
889
927
|
this.attachSessionEvents(session, channelId);
|