feat(channels): add crash recovery and gateway mode support

- Add session persistence to SessionRouter for crash recovery
- Add loadSession method to AcpBridge for restoring sessions
- Add ChannelBaseOptions to support external router injection
- Refactor start.ts to support both standalone and gateway modes
- Extract config utilities into separate module

This enables channels to recover sessions after bridge crashes and
supports running multiple channels under a gateway process.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
tanzhenxin 2026-03-26 02:55:18 +00:00
parent f6ae769736
commit 1a605ec973
11 changed files with 567 additions and 161 deletions

View file

@ -129,6 +129,16 @@ export class AcpBridge extends EventEmitter {
return response.sessionId;
}
async loadSession(sessionId: string, cwd: string): Promise<string> {
const conn = this.ensureConnection();
const response = await conn.loadSession({
sessionId,
cwd,
mcpServers: [],
});
return response.sessionId;
}
async prompt(
sessionId: string,
text: string,