@chrisromp/copilot-bridge 0.11.0 → 0.12.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 +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +34 -0
- package/dist/config.js.map +1 -1
- package/dist/core/bridge-docs.d.ts +1 -1
- package/dist/core/bridge-docs.d.ts.map +1 -1
- package/dist/core/bridge-docs.js +69 -1
- package/dist/core/bridge-docs.js.map +1 -1
- package/dist/core/bridge.d.ts +10 -3
- package/dist/core/bridge.d.ts.map +1 -1
- package/dist/core/bridge.js +10 -4
- package/dist/core/bridge.js.map +1 -1
- package/dist/core/command-handler.d.ts +1 -1
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +12 -2
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/quiet-mode.js +1 -1
- package/dist/core/session-manager.d.ts +42 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +203 -28
- package/dist/core/session-manager.js.map +1 -1
- package/dist/index.js +202 -52
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/templates/admin/AGENTS.md +2 -38
- package/templates/agents/AGENTS.md +0 -49
|
@@ -308,11 +308,19 @@ export function handleCommand(channelId, text, sessionInfo, effectivePrefs, chan
|
|
|
308
308
|
case 'stop':
|
|
309
309
|
case 'cancel':
|
|
310
310
|
return { handled: true, action: 'stop_session', response: '🛑 Stopping current task...' };
|
|
311
|
-
case 'reload':
|
|
312
|
-
|
|
311
|
+
case 'reload': {
|
|
312
|
+
const arg = parsed.args?.trim().toLowerCase();
|
|
313
|
+
if (arg === 'config') {
|
|
313
314
|
return { handled: true, action: 'reload_config', response: '🔄 Reloading config...' };
|
|
314
315
|
}
|
|
316
|
+
if (arg === 'mcp') {
|
|
317
|
+
return { handled: true, action: 'reload_mcp', response: '🔄 Reloading MCP servers...' };
|
|
318
|
+
}
|
|
319
|
+
if (arg === 'skills') {
|
|
320
|
+
return { handled: true, action: 'reload_skills', response: '🔄 Reloading skills...' };
|
|
321
|
+
}
|
|
315
322
|
return { handled: true, action: 'reload_session', response: '🔄 Reloading session...' };
|
|
323
|
+
}
|
|
316
324
|
case 'resume': {
|
|
317
325
|
if (!parsed.args) {
|
|
318
326
|
// No args = list available sessions for this channel's working directory
|
|
@@ -653,6 +661,8 @@ export function handleCommand(channelId, text, sessionInfo, effectivePrefs, chan
|
|
|
653
661
|
'`/stop` — Stop the current task (alias: `/cancel`)',
|
|
654
662
|
'`/reload` — Reload session (re-reads AGENTS.md, workspace config)',
|
|
655
663
|
'`/reload config` — Hot-reload config.json',
|
|
664
|
+
'`/reload mcp` — Reload MCP servers (no session restart)',
|
|
665
|
+
'`/reload skills` — Reload skills (no session restart)',
|
|
656
666
|
'`/resume [id]` — Resume current session (or a past one by ID)',
|
|
657
667
|
'`/model [name]` — List models or switch model (fuzzy match)',
|
|
658
668
|
'`/agent <name>` — Switch custom agent (empty to deselect)',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handler.js","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command-handler.js","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"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"}
|
package/dist/core/quiet-mode.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Quiet mode — suppresses all streaming output until we determine whether
|
|
3
|
-
* a response is NO_REPLY. Used for
|
|
3
|
+
* a response is NO_REPLY. Used for scheduled tasks and silent cron jobs.
|
|
4
4
|
*/
|
|
5
5
|
import { createLogger } from '../logger.js';
|
|
6
6
|
const log = createLogger('quiet');
|
|
@@ -7,6 +7,13 @@ import type { ChannelAdapter, PendingPlanExit } from '../types.js';
|
|
|
7
7
|
/** Custom tools auto-approved without interactive prompt (read-only or enforce workspace boundaries internally). */
|
|
8
8
|
export declare const BRIDGE_CUSTOM_TOOLS: string[];
|
|
9
9
|
type SessionEventHandler = (sessionId: string, channelId: string, event: any) => void;
|
|
10
|
+
/**
|
|
11
|
+
* Parse a .env file into a key-value map.
|
|
12
|
+
* Handles KEY=VALUE, KEY="VALUE", KEY='VALUE', comments, and blank lines.
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseEnvFile(filePath: string): Record<string, string>;
|
|
15
|
+
/** Detect "Session not found" errors from the SDK backend. */
|
|
16
|
+
export declare function isSessionNotFoundError(err: any): boolean;
|
|
10
17
|
/**
|
|
11
18
|
* Merge global and workspace MCP server configs, injecting cwd and env into local servers.
|
|
12
19
|
* Exported for testing — used internally by SessionManager.resolveMcpServers().
|
|
@@ -94,12 +101,43 @@ export declare class SessionManager {
|
|
|
94
101
|
sendMidTurn(channelId: string, text: string, userId?: string): Promise<string>;
|
|
95
102
|
/** Deny all pending permissions for a channel (e.g., when user sends a new message instead). */
|
|
96
103
|
private clearPendingPermissions;
|
|
104
|
+
/**
|
|
105
|
+
* Wrap an RPC call with session re-attach recovery.
|
|
106
|
+
* If the call fails with "Session not found", re-attaches the session and retries.
|
|
107
|
+
* If re-attach also fails, creates a new session and retries once more
|
|
108
|
+
* (unless createOnFail is false, in which case the error propagates).
|
|
109
|
+
*/
|
|
110
|
+
private withSessionRetry;
|
|
111
|
+
/**
|
|
112
|
+
* Reload MCP servers on the active session via RPC (no full session restart).
|
|
113
|
+
* Tells the SDK to re-read its MCP config (e.g., workspace mcp-config.json changes).
|
|
114
|
+
* Falls back to full reloadSession() if no active session exists yet or if the
|
|
115
|
+
* session is stale (backend no longer recognizes it).
|
|
116
|
+
*/
|
|
117
|
+
reloadMcp(channelId: string): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Reload skills on the active session via RPC (no full session restart).
|
|
120
|
+
* Tells the SDK to re-read skill directories already configured on the session.
|
|
121
|
+
* Falls back to full reloadSession() if no active session exists yet or if the
|
|
122
|
+
* session is stale.
|
|
123
|
+
*/
|
|
124
|
+
reloadSkills(channelId: string): Promise<void>;
|
|
125
|
+
/**
|
|
126
|
+
* Enable or disable a skill on the active session via RPC (instant, no reload needed).
|
|
127
|
+
* Silently no-ops if no active session (pref is already persisted).
|
|
128
|
+
*/
|
|
129
|
+
toggleSkillRpc(channelId: string, skillName: string, action: 'enable' | 'disable'): Promise<void>;
|
|
97
130
|
/** Switch the model for a channel's session. */
|
|
98
131
|
switchModel(channelId: string, model: string, provider?: string | null): Promise<void>;
|
|
99
132
|
/** Check if two models on the same provider have different wireApi settings. */
|
|
100
133
|
private wireApiChanged;
|
|
101
134
|
/** Switch the agent for a channel's session. */
|
|
102
135
|
switchAgent(channelId: string, agent: string | null): Promise<void>;
|
|
136
|
+
/**
|
|
137
|
+
* Set reasoning effort on the active session via setModel() RPC.
|
|
138
|
+
* Uses the current model so only the reasoning effort changes — no full session reload needed.
|
|
139
|
+
*/
|
|
140
|
+
setReasoningEffort(channelId: string, effort: string): Promise<void>;
|
|
103
141
|
/** Get effective preferences for a channel (config merged with runtime overrides). */
|
|
104
142
|
getEffectivePrefs(channelId: string): ChannelPrefs & {
|
|
105
143
|
model: string;
|
|
@@ -205,6 +243,10 @@ export declare class SessionManager {
|
|
|
205
243
|
}>>;
|
|
206
244
|
/** Resolve working directory: SQLite workspace override → channel config → default workspace path. */
|
|
207
245
|
private resolveWorkingDirectory;
|
|
246
|
+
/** Build the system message config for session create/resume.
|
|
247
|
+
* Appends bridge-specific instructions to the SDK's custom_instructions section
|
|
248
|
+
* so agents get channel communication context without polluting AGENTS.md. */
|
|
249
|
+
private buildSystemMessage;
|
|
208
250
|
private createNewSession;
|
|
209
251
|
private attachSession;
|
|
210
252
|
/**
|
|
@@ -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,EAA8C,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
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,EAA8C,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG9F,OAAO,KAAK,EACV,cAAc,EAAuD,eAAe,EACrF,MAAM,aAAa,CAAC;AAIrB,oHAAoH;AACpH,eAAO,MAAM,mBAAmB,UAAgH,CAAC;AAEjJ,KAAK,mBAAmB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;AAKtF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsBrE;AAgDD,8DAA8D;AAC9D,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAGxD;AAmID;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAClC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA0BrB;AAQD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAU/D;AAmED,sGAAsG;AACtG,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA6B1D;AAED,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;IAExF,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,kBAAkB,CAA6B;IAEvD,OAAO,CAAC,iBAAiB,CAAkC;IAE3D,OAAO,CAAC,gBAAgB,CAAkC;IAE1D,OAAO,CAAC,cAAc,CAA+C;IAErE,OAAO,CAAC,eAAe,CAAsC;IAE7D,OAAO,CAAC,mBAAmB,CAAoD;IAE/E,OAAO,CAAC,iBAAiB,CAA6B;IAEtD,OAAO,CAAC,eAAe,CAA6F;IACpH,OAAO,CAAC,oBAAoB,CAA+D;gBAE/E,MAAM,EAAE,aAAa;IAMjC,yDAAyD;YAC3C,YAAY;IAS1B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA0DxB,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;IAKzB,8FAA8F;IAC9F,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE;IA2BpD,8GAA8G;IAC9G,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE;IAsC/H,iEAAiE;IACjE,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,EAAE;IAM3C,qEAAqE;IAC/D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAYpH,6CAA6C;IACvC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IAwBtF,uEAAuE;IACjE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBpD,+FAA+F;IACzF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA8CvD,4CAA4C;IACtC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmDlF,6FAA6F;IACvF,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA2F/J;+DAC2D;IACrD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAapF,gGAAgG;IAChG,OAAO,CAAC,uBAAuB;IAoB/B;;;;;OAKG;YACW,gBAAgB;IAgC9B;;;;;OAKG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBjD;;;;;OAKG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBpD;;;OAGG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvG,gDAAgD;IAC1C,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAmD5F,gFAAgF;IAChF,OAAO,CAAC,cAAc;IAYtB,gDAAgD;IAC1C,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzE;;;OAGG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1E,sFAAsF;IACtF,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,OAAO,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,SAAS,GAAG,KAAK,CAAA;KAAE;IAgB1K,wEAAwE;IAClE,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IASxD,iCAAiC;IAC3B,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAIlC,gHAAgH;IAC1G,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYxD,6HAA6H;IACvH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAMpG,wDAAwD;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAWvF,yDAAyD;IACnD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWrD;;;OAGG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAS3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAQvC;IAEF;;;;OAIG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAyC9D;;;OAGG;IACG,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAcvH,iDAAiD;IAC3C,aAAa,IAAI,OAAO,CAAC;QAAE,eAAe,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAQpG,6DAA6D;IAC7D,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO;IA8CjF,6DAA6D;IAC7D,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAyB5D,yDAAyD;IACzD,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAKhD,oFAAoF;IACpF,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAK5C,yCAAyC;IACzC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IAIrE,wDAAwD;IACxD,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI9C,mDAAmD;IACnD,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAMtE,+DAA+D;IAC/D,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAO9C,wFAAwF;IACxF,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAQ9C,4EAA4E;IAC5E,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,SAAO,GAAG,IAAI;IAWlG,yDAAyD;IACzD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAInD,sDAAsD;IAChD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpD,yDAAyD;IACzD,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAK/C,wDAAwD;IACxD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI;IAOpG,qDAAqD;IACrD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAOtH,iFAAiF;IACjF,OAAO,CAAC,wBAAwB;IAehC;;;OAGG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQhF,+DAA+D;IACzD,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAC;QAAC,YAAY,EAAE,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAe9J,sGAAsG;IACtG,OAAO,CAAC,uBAAuB;IAW/B;;mFAE+E;IAC/E,OAAO,CAAC,kBAAkB;YA+BZ,gBAAgB;YA8HhB,aAAa;IA6D3B;;;OAGG;IACG,oBAAoB,CAAC,IAAI,EAAE;QAC/B,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,iBAAiB,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA4GpG,gGAAgG;IAChG,OAAO,CAAC,kBAAkB;IAgD1B,yFAAyF;IACzF,OAAO,CAAC,+BAA+B;IAqEvC,+DAA+D;IAC/D,OAAO,CAAC,mBAAmB;IAY3B,kDAAkD;IAClD,OAAO,CAAC,kBAAkB;IAU1B;0GACsG;IACtG,OAAO,CAAC,oBAAoB;IAqF5B,qEAAqE;IACrE,OAAO,CAAC,gBAAgB;IA2YxB,gFAAgF;IAChF,OAAO,CAAC,oBAAoB;IAiH5B,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,uBAAuB;IAmH/B,OAAO,CAAC,sBAAsB;IAqCxB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CA8BhC"}
|
|
@@ -13,14 +13,14 @@ import { loadHooks, getHooksInfo } from './hooks-loader.js';
|
|
|
13
13
|
import { getBridgeDocs } from './bridge-docs.js';
|
|
14
14
|
const log = createLogger('session');
|
|
15
15
|
/** Custom tools auto-approved without interactive prompt (read-only or enforce workspace boundaries internally). */
|
|
16
|
-
export const BRIDGE_CUSTOM_TOOLS = ['send_file', 'show_file_in_chat', 'ask_agent', 'schedule', 'fetch_copilot_bridge_documentation'];
|
|
16
|
+
export const BRIDGE_CUSTOM_TOOLS = ['send_file', 'show_file_in_chat', 'ask_agent', 'schedule', 'fetch_copilot_bridge_documentation', 'no_reply'];
|
|
17
17
|
/** Simple mutex for serializing env-sensitive session creation. */
|
|
18
18
|
let envLock = Promise.resolve();
|
|
19
19
|
/**
|
|
20
20
|
* Parse a .env file into a key-value map.
|
|
21
21
|
* Handles KEY=VALUE, KEY="VALUE", KEY='VALUE', comments, and blank lines.
|
|
22
22
|
*/
|
|
23
|
-
function parseEnvFile(filePath) {
|
|
23
|
+
export function parseEnvFile(filePath) {
|
|
24
24
|
try {
|
|
25
25
|
const content = fs.readFileSync(filePath, 'utf-8');
|
|
26
26
|
const vars = {};
|
|
@@ -90,6 +90,11 @@ async function withWorkspaceEnv(workingDirectory, fn) {
|
|
|
90
90
|
release();
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
+
/** Detect "Session not found" errors from the SDK backend. */
|
|
94
|
+
export function isSessionNotFoundError(err) {
|
|
95
|
+
const msg = String(err?.message ?? err).toLowerCase();
|
|
96
|
+
return msg.includes('session not found') || msg.includes('session_not_found');
|
|
97
|
+
}
|
|
93
98
|
/**
|
|
94
99
|
* Load MCP server configs from ~/.copilot/mcp-config.json and installed plugins.
|
|
95
100
|
* Merges them into a single Record, with user config taking precedence over plugins.
|
|
@@ -555,7 +560,7 @@ export class SessionManager {
|
|
|
555
560
|
if (!sessionId)
|
|
556
561
|
return [];
|
|
557
562
|
try {
|
|
558
|
-
return await this.bridge.listTools();
|
|
563
|
+
return await this.withSessionRetry(channelId, () => this.bridge.listTools(), false);
|
|
559
564
|
}
|
|
560
565
|
catch (err) {
|
|
561
566
|
log.warn(`Failed to list tools for channel ${channelId}:`, err);
|
|
@@ -871,6 +876,123 @@ export class SessionManager {
|
|
|
871
876
|
this.pendingUserInput.delete(channelId);
|
|
872
877
|
}
|
|
873
878
|
}
|
|
879
|
+
/**
|
|
880
|
+
* Wrap an RPC call with session re-attach recovery.
|
|
881
|
+
* If the call fails with "Session not found", re-attaches the session and retries.
|
|
882
|
+
* If re-attach also fails, creates a new session and retries once more
|
|
883
|
+
* (unless createOnFail is false, in which case the error propagates).
|
|
884
|
+
*/
|
|
885
|
+
async withSessionRetry(channelId, fn, createOnFail = true) {
|
|
886
|
+
const { sessionId } = await this.ensureSession(channelId);
|
|
887
|
+
try {
|
|
888
|
+
return await fn(sessionId);
|
|
889
|
+
}
|
|
890
|
+
catch (err) {
|
|
891
|
+
if (!isSessionNotFoundError(err))
|
|
892
|
+
throw err;
|
|
893
|
+
log.info(`Session ${sessionId} not found on RPC — attempting re-attach...`);
|
|
894
|
+
try {
|
|
895
|
+
const unsub = this.sessionUnsubscribes.get(sessionId);
|
|
896
|
+
if (unsub) {
|
|
897
|
+
unsub();
|
|
898
|
+
this.sessionUnsubscribes.delete(sessionId);
|
|
899
|
+
}
|
|
900
|
+
try {
|
|
901
|
+
await this.bridge.destroySession(sessionId);
|
|
902
|
+
}
|
|
903
|
+
catch { /* best-effort */ }
|
|
904
|
+
await this.attachSession(channelId, sessionId);
|
|
905
|
+
}
|
|
906
|
+
catch (attachErr) {
|
|
907
|
+
log.warn(`Re-attach failed for ${sessionId}:`, attachErr?.message ?? attachErr);
|
|
908
|
+
if (!createOnFail) {
|
|
909
|
+
// Clear stale session so ensureSession() creates fresh on next call
|
|
910
|
+
this.channelSessions.delete(channelId);
|
|
911
|
+
this.sessionChannels.delete(sessionId);
|
|
912
|
+
clearChannelSession(channelId);
|
|
913
|
+
throw err;
|
|
914
|
+
}
|
|
915
|
+
// Last resort: new session
|
|
916
|
+
log.info(`Creating new session for channel ${channelId} after RPC failure...`);
|
|
917
|
+
const newSessionId = await this.newSession(channelId);
|
|
918
|
+
return await fn(newSessionId);
|
|
919
|
+
}
|
|
920
|
+
// Re-attach succeeded — retry fn; let non-session errors propagate
|
|
921
|
+
return await fn(sessionId);
|
|
922
|
+
}
|
|
923
|
+
}
|
|
924
|
+
/**
|
|
925
|
+
* Reload MCP servers on the active session via RPC (no full session restart).
|
|
926
|
+
* Tells the SDK to re-read its MCP config (e.g., workspace mcp-config.json changes).
|
|
927
|
+
* Falls back to full reloadSession() if no active session exists yet or if the
|
|
928
|
+
* session is stale (backend no longer recognizes it).
|
|
929
|
+
*/
|
|
930
|
+
async reloadMcp(channelId) {
|
|
931
|
+
const sessionId = this.channelSessions.get(channelId) ?? getChannelSession(channelId);
|
|
932
|
+
const session = sessionId ? this.bridge.getSession(sessionId) : undefined;
|
|
933
|
+
if (!session) {
|
|
934
|
+
log.info(`No active session for ${channelId.slice(0, 8)}... — falling back to full reload`);
|
|
935
|
+
await this.reloadSession(channelId);
|
|
936
|
+
return;
|
|
937
|
+
}
|
|
938
|
+
this.mcpServers = loadMcpServers();
|
|
939
|
+
try {
|
|
940
|
+
await session.rpc.mcp.reload();
|
|
941
|
+
}
|
|
942
|
+
catch (err) {
|
|
943
|
+
if (isSessionNotFoundError(err)) {
|
|
944
|
+
log.info(`Session stale during MCP reload for ${channelId.slice(0, 8)}... — falling back to full reload`);
|
|
945
|
+
await this.reloadSession(channelId);
|
|
946
|
+
return;
|
|
947
|
+
}
|
|
948
|
+
throw err;
|
|
949
|
+
}
|
|
950
|
+
log.info(`MCP servers reloaded via RPC for channel ${channelId.slice(0, 8)}...`);
|
|
951
|
+
}
|
|
952
|
+
/**
|
|
953
|
+
* Reload skills on the active session via RPC (no full session restart).
|
|
954
|
+
* Tells the SDK to re-read skill directories already configured on the session.
|
|
955
|
+
* Falls back to full reloadSession() if no active session exists yet or if the
|
|
956
|
+
* session is stale.
|
|
957
|
+
*/
|
|
958
|
+
async reloadSkills(channelId) {
|
|
959
|
+
const sessionId = this.channelSessions.get(channelId) ?? getChannelSession(channelId);
|
|
960
|
+
const session = sessionId ? this.bridge.getSession(sessionId) : undefined;
|
|
961
|
+
if (!session) {
|
|
962
|
+
log.info(`No active session for ${channelId.slice(0, 8)}... — falling back to full reload`);
|
|
963
|
+
await this.reloadSession(channelId);
|
|
964
|
+
return;
|
|
965
|
+
}
|
|
966
|
+
try {
|
|
967
|
+
await session.rpc.skills.reload();
|
|
968
|
+
}
|
|
969
|
+
catch (err) {
|
|
970
|
+
if (isSessionNotFoundError(err)) {
|
|
971
|
+
log.info(`Session stale during skills reload for ${channelId.slice(0, 8)}... — falling back to full reload`);
|
|
972
|
+
await this.reloadSession(channelId);
|
|
973
|
+
return;
|
|
974
|
+
}
|
|
975
|
+
throw err;
|
|
976
|
+
}
|
|
977
|
+
log.info(`Skills reloaded via RPC for channel ${channelId.slice(0, 8)}...`);
|
|
978
|
+
}
|
|
979
|
+
/**
|
|
980
|
+
* Enable or disable a skill on the active session via RPC (instant, no reload needed).
|
|
981
|
+
* Silently no-ops if no active session (pref is already persisted).
|
|
982
|
+
*/
|
|
983
|
+
async toggleSkillRpc(channelId, skillName, action) {
|
|
984
|
+
const sessionId = this.channelSessions.get(channelId) ?? getChannelSession(channelId);
|
|
985
|
+
const session = sessionId ? this.bridge.getSession(sessionId) : undefined;
|
|
986
|
+
if (!session)
|
|
987
|
+
return; // Pref already persisted; will apply on next session create
|
|
988
|
+
if (action === 'enable') {
|
|
989
|
+
await session.rpc.skills.enable({ name: skillName });
|
|
990
|
+
}
|
|
991
|
+
else {
|
|
992
|
+
await session.rpc.skills.disable({ name: skillName });
|
|
993
|
+
}
|
|
994
|
+
log.info(`Skill "${skillName}" ${action}d via RPC for channel ${channelId.slice(0, 8)}...`);
|
|
995
|
+
}
|
|
874
996
|
/** Switch the model for a channel's session. */
|
|
875
997
|
async switchModel(channelId, model, provider) {
|
|
876
998
|
const currentPrefs = this.getEffectivePrefs(channelId);
|
|
@@ -908,16 +1030,8 @@ export class SessionManager {
|
|
|
908
1030
|
}
|
|
909
1031
|
}
|
|
910
1032
|
else {
|
|
911
|
-
// Same provider — use RPC model switch
|
|
912
|
-
|
|
913
|
-
if (sessionId) {
|
|
914
|
-
try {
|
|
915
|
-
await this.bridge.switchSessionModel(sessionId, model);
|
|
916
|
-
}
|
|
917
|
-
catch (err) {
|
|
918
|
-
log.warn(`RPC model switch failed:`, err);
|
|
919
|
-
}
|
|
920
|
-
}
|
|
1033
|
+
// Same provider — use RPC model switch (with session retry)
|
|
1034
|
+
await this.withSessionRetry(channelId, (sid) => this.bridge.switchSessionModel(sid, model));
|
|
921
1035
|
setChannelPrefs(channelId, { model, provider: newProvider });
|
|
922
1036
|
}
|
|
923
1037
|
// Clear stale context window tokens so /context falls back to tokenLimit during transition
|
|
@@ -947,20 +1061,26 @@ export class SessionManager {
|
|
|
947
1061
|
}
|
|
948
1062
|
/** Switch the agent for a channel's session. */
|
|
949
1063
|
async switchAgent(channelId, agent) {
|
|
950
|
-
|
|
951
|
-
try {
|
|
1064
|
+
await this.withSessionRetry(channelId, async (sid) => {
|
|
952
1065
|
if (agent) {
|
|
953
|
-
await this.bridge.selectAgent(
|
|
1066
|
+
await this.bridge.selectAgent(sid, agent);
|
|
954
1067
|
}
|
|
955
1068
|
else {
|
|
956
|
-
await this.bridge.deselectAgent(
|
|
1069
|
+
await this.bridge.deselectAgent(sid);
|
|
957
1070
|
}
|
|
958
|
-
}
|
|
959
|
-
catch (err) {
|
|
960
|
-
log.warn(`RPC agent switch failed:`, err);
|
|
961
|
-
}
|
|
1071
|
+
});
|
|
962
1072
|
setChannelPrefs(channelId, { agent });
|
|
963
1073
|
}
|
|
1074
|
+
/**
|
|
1075
|
+
* Set reasoning effort on the active session via setModel() RPC.
|
|
1076
|
+
* Uses the current model so only the reasoning effort changes — no full session reload needed.
|
|
1077
|
+
*/
|
|
1078
|
+
async setReasoningEffort(channelId, effort) {
|
|
1079
|
+
const prefs = this.getEffectivePrefs(channelId);
|
|
1080
|
+
const model = prefs.model;
|
|
1081
|
+
await this.withSessionRetry(channelId, (sid) => this.bridge.switchSessionModel(sid, model, { reasoningEffort: effort }));
|
|
1082
|
+
setChannelPrefs(channelId, { reasoningEffort: effort });
|
|
1083
|
+
}
|
|
964
1084
|
/** Get effective preferences for a channel (config merged with runtime overrides). */
|
|
965
1085
|
getEffectivePrefs(channelId) {
|
|
966
1086
|
const configChannel = getChannelConfig(channelId);
|
|
@@ -996,7 +1116,7 @@ export class SessionManager {
|
|
|
996
1116
|
const sessionId = this.channelSessions.get(channelId);
|
|
997
1117
|
if (sessionId) {
|
|
998
1118
|
try {
|
|
999
|
-
const result = await this.bridge.getSessionMode(
|
|
1119
|
+
const result = await this.withSessionRetry(channelId, (sid) => this.bridge.getSessionMode(sid), false);
|
|
1000
1120
|
return result.mode;
|
|
1001
1121
|
}
|
|
1002
1122
|
catch { /* fall through to prefs */ }
|
|
@@ -1006,8 +1126,7 @@ export class SessionManager {
|
|
|
1006
1126
|
}
|
|
1007
1127
|
/** Set the session mode (interactive, plan, autopilot). Persists to channel prefs. Does not change yolo/permission state. */
|
|
1008
1128
|
async setSessionMode(channelId, mode) {
|
|
1009
|
-
const
|
|
1010
|
-
const result = await this.bridge.setSessionMode(sessionId, mode);
|
|
1129
|
+
const result = await this.withSessionRetry(channelId, (sid) => this.bridge.setSessionMode(sid, mode));
|
|
1011
1130
|
setChannelPrefs(channelId, { sessionMode: result.mode });
|
|
1012
1131
|
return result.mode;
|
|
1013
1132
|
}
|
|
@@ -1017,7 +1136,7 @@ export class SessionManager {
|
|
|
1017
1136
|
if (!sessionId)
|
|
1018
1137
|
return { exists: false, content: null };
|
|
1019
1138
|
try {
|
|
1020
|
-
const result = await this.bridge.readPlan(
|
|
1139
|
+
const result = await this.withSessionRetry(channelId, (sid) => this.bridge.readPlan(sid), false);
|
|
1021
1140
|
return { exists: result.exists, content: result.content };
|
|
1022
1141
|
}
|
|
1023
1142
|
catch {
|
|
@@ -1030,7 +1149,7 @@ export class SessionManager {
|
|
|
1030
1149
|
if (!sessionId)
|
|
1031
1150
|
return false;
|
|
1032
1151
|
try {
|
|
1033
|
-
await this.bridge.deletePlan(
|
|
1152
|
+
await this.withSessionRetry(channelId, (sid) => this.bridge.deletePlan(sid), false);
|
|
1034
1153
|
return true;
|
|
1035
1154
|
}
|
|
1036
1155
|
catch {
|
|
@@ -1339,6 +1458,38 @@ export class SessionManager {
|
|
|
1339
1458
|
return config.workingDirectory;
|
|
1340
1459
|
return getWorkspacePath(botName);
|
|
1341
1460
|
}
|
|
1461
|
+
/** Build the system message config for session create/resume.
|
|
1462
|
+
* Appends bridge-specific instructions to the SDK's custom_instructions section
|
|
1463
|
+
* so agents get channel communication context without polluting AGENTS.md. */
|
|
1464
|
+
buildSystemMessage() {
|
|
1465
|
+
const content = [
|
|
1466
|
+
'<bridge_instructions>',
|
|
1467
|
+
'You are communicating through copilot-bridge, a messaging bridge to a chat platform (e.g., Mattermost, Slack).',
|
|
1468
|
+
'',
|
|
1469
|
+
'## Channel Communication',
|
|
1470
|
+
'- Your responses are streamed back to the chat channel in real time',
|
|
1471
|
+
'- Slash commands (e.g., /new, /model, /verbose, /plan) are intercepted by the bridge — you will never see them',
|
|
1472
|
+
'- The user may be on mobile — keep responses concise when possible',
|
|
1473
|
+
'',
|
|
1474
|
+
'## Environment Secrets',
|
|
1475
|
+
'- A `.env` file in your workspace is loaded into your shell environment at session start',
|
|
1476
|
+
'- **Never read, cat, or display `.env` contents** — secret values must stay out of chat',
|
|
1477
|
+
'- Reference secrets by variable name only (e.g., `$APP_TOKEN`)',
|
|
1478
|
+
'- To check if a key exists: `grep -q \'^KEY=\' .env 2>/dev/null`',
|
|
1479
|
+
'- Never use cat, grep -v, sed, or any command that would output .env values',
|
|
1480
|
+
'',
|
|
1481
|
+
'## No-Reply Convention',
|
|
1482
|
+
'- When you have nothing meaningful to add to a conversation, call the `no_reply` tool instead of sending text',
|
|
1483
|
+
'- This is preferred over typing "NO_REPLY" or similar text responses',
|
|
1484
|
+
'</bridge_instructions>',
|
|
1485
|
+
].join('\n');
|
|
1486
|
+
return {
|
|
1487
|
+
mode: 'customize',
|
|
1488
|
+
sections: {
|
|
1489
|
+
custom_instructions: { action: 'append', content },
|
|
1490
|
+
},
|
|
1491
|
+
};
|
|
1492
|
+
}
|
|
1342
1493
|
async createNewSession(channelId) {
|
|
1343
1494
|
const prefs = this.getEffectivePrefs(channelId);
|
|
1344
1495
|
const workingDirectory = this.resolveWorkingDirectory(channelId);
|
|
@@ -1381,6 +1532,7 @@ export class SessionManager {
|
|
|
1381
1532
|
workingDirectory,
|
|
1382
1533
|
configDir: defaultConfigDir,
|
|
1383
1534
|
reasoningEffort: reasoningEffort ?? undefined,
|
|
1535
|
+
agent: prefs.agent ?? undefined,
|
|
1384
1536
|
mcpServers: resolvedMcpServers,
|
|
1385
1537
|
skillDirectories: skillDirectories.length > 0 ? skillDirectories : undefined,
|
|
1386
1538
|
disabledSkills,
|
|
@@ -1389,6 +1541,7 @@ export class SessionManager {
|
|
|
1389
1541
|
tools: customTools.length > 0 ? customTools : undefined,
|
|
1390
1542
|
hooks,
|
|
1391
1543
|
infiniteSessions: getConfig().infiniteSessions,
|
|
1544
|
+
systemMessage: this.buildSystemMessage(),
|
|
1392
1545
|
}));
|
|
1393
1546
|
};
|
|
1394
1547
|
const byokPrefixes = Object.keys(getConfig().providers ?? {});
|
|
@@ -1470,12 +1623,14 @@ export class SessionManager {
|
|
|
1470
1623
|
workingDirectory,
|
|
1471
1624
|
provider: sdkProvider || undefined,
|
|
1472
1625
|
reasoningEffort: reasoningEffort ?? undefined,
|
|
1626
|
+
agent: prefs.agent ?? undefined,
|
|
1473
1627
|
mcpServers,
|
|
1474
1628
|
skillDirectories: skillDirectories.length > 0 ? skillDirectories : undefined,
|
|
1475
1629
|
disabledSkills,
|
|
1476
1630
|
tools: customTools.length > 0 ? customTools : undefined,
|
|
1477
1631
|
hooks,
|
|
1478
1632
|
infiniteSessions: getConfig().infiniteSessions,
|
|
1633
|
+
systemMessage: this.buildSystemMessage(),
|
|
1479
1634
|
}));
|
|
1480
1635
|
this.sessionMcpServers.set(channelId, new Set(Object.keys(mcpServers)));
|
|
1481
1636
|
this.sessionSkillDirs.set(channelId, new Set(skillDirectories));
|
|
@@ -2129,6 +2284,26 @@ export class SessionManager {
|
|
|
2129
2284
|
tools.push(this.buildScheduleToolDef(channelId));
|
|
2130
2285
|
// Bridge documentation tool
|
|
2131
2286
|
tools.push(this.buildBridgeDocsTool(channelId));
|
|
2287
|
+
// No-reply tool: agent calls this instead of emitting "NO_REPLY" text
|
|
2288
|
+
tools.push({
|
|
2289
|
+
name: 'no_reply',
|
|
2290
|
+
description: 'Signal that no response is needed for the current message. Call this instead of sending text when you have nothing meaningful to add to the conversation.',
|
|
2291
|
+
parameters: { type: 'object', properties: {} },
|
|
2292
|
+
skipPermission: true,
|
|
2293
|
+
handler: async () => {
|
|
2294
|
+
log.info(`no_reply tool called for channel ${channelId.slice(0, 8)}...`);
|
|
2295
|
+
return { content: 'Acknowledged. No response sent.' };
|
|
2296
|
+
},
|
|
2297
|
+
});
|
|
2298
|
+
// Mark safe bridge tools as skip-permission (they enforce their own boundaries).
|
|
2299
|
+
// Admin-only tools (create_project, grant_path_access, revoke_path_access) are
|
|
2300
|
+
// intentionally left on the normal permission path.
|
|
2301
|
+
const skipSet = new Set(BRIDGE_CUSTOM_TOOLS);
|
|
2302
|
+
for (const tool of tools) {
|
|
2303
|
+
if (skipSet.has(tool.name) && !('skipPermission' in tool)) {
|
|
2304
|
+
tool.skipPermission = true;
|
|
2305
|
+
}
|
|
2306
|
+
}
|
|
2132
2307
|
if (tools.length > 0) {
|
|
2133
2308
|
log.info(`Built ${tools.length} custom tool(s) for channel ${channelId.slice(0, 8)}...`);
|
|
2134
2309
|
}
|
|
@@ -2257,8 +2432,8 @@ export class SessionManager {
|
|
|
2257
2432
|
properties: {
|
|
2258
2433
|
topic: {
|
|
2259
2434
|
type: 'string',
|
|
2260
|
-
enum: ['overview', 'commands', 'config', 'mcp', 'permissions', 'workspaces', 'hooks', 'skills', 'inter-agent', 'scheduling', 'providers', 'troubleshooting', 'status'],
|
|
2261
|
-
description: "Topic to query. 'overview' = what the bridge is and key features. 'commands' = common slash commands. 'config' = configuration options. 'mcp' = MCP server setup. 'permissions' = permission system. 'workspaces' = workspace structure. 'hooks' = tool hooks. 'skills' = skill discovery. 'inter-agent' = bot-to-bot communication. 'scheduling' = task scheduling. 'providers' = BYOK provider setup and commands. 'troubleshooting' = common issues. 'status' = live system state.",
|
|
2435
|
+
enum: ['overview', 'commands', 'config', 'mcp', 'permissions', 'workspaces', 'hooks', 'skills', 'inter-agent', 'scheduling', 'providers', 'telemetry', 'troubleshooting', 'status'],
|
|
2436
|
+
description: "Topic to query. 'overview' = what the bridge is and key features. 'commands' = common slash commands. 'config' = configuration options. 'mcp' = MCP server setup. 'permissions' = permission system. 'workspaces' = workspace structure. 'hooks' = tool hooks. 'skills' = skill discovery. 'inter-agent' = bot-to-bot communication. 'scheduling' = task scheduling. 'providers' = BYOK provider setup and commands. 'telemetry' = OpenTelemetry trace export. 'troubleshooting' = common issues. 'status' = live system state.",
|
|
2262
2437
|
},
|
|
2263
2438
|
},
|
|
2264
2439
|
required: [],
|