feat: add MCP and LSP tooling support

Add global MCP/LSP settings, per-session Activity toggles, sidecar runtime integration, tests, and documentation updates.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
David Kaya
2026-03-23 22:51:03 +01:00
co-authored by Copilot
parent 50a8e5dfbe
commit efa5c44e07
26 changed files with 3196 additions and 47 deletions
+24
View File
@@ -4,6 +4,7 @@ import type { PatternDefinition } from '@shared/domain/pattern';
import {
applyScratchpadSessionConfig,
createScratchpadSessionConfig,
resolveSessionToolingSelection,
resolveSessionTitle,
resolveScratchpadSessionConfig,
type SessionRecord,
@@ -118,3 +119,26 @@ describe('session title helpers', () => {
).toBe('Release readiness review');
});
});
describe('session tooling helpers', () => {
test('normalizes missing or duplicated tooling selections into stable arrays', () => {
expect(resolveSessionToolingSelection(createSession())).toEqual({
enabledMcpServerIds: [],
enabledLspProfileIds: [],
});
expect(
resolveSessionToolingSelection(
createSession({
tooling: {
enabledMcpServerIds: ['mcp-git', ' mcp-git ', ''],
enabledLspProfileIds: ['ts', ' ts ', ''],
},
}),
),
).toEqual({
enabledMcpServerIds: ['mcp-git'],
enabledLspProfileIds: ['ts'],
});
});
});