refactor: update ACP channel handling and improve error normalization

- Changed default channel from 'Desktop' to 'ACP' in AcpProcessClient and related interfaces.
- Updated tests to reflect new channel naming and added support for CLI channel overrides.
- Enhanced error handling in SessionSocketHub to normalize error responses for better clarity.
- Modified session creation and loading responses to include 'cwd' in the session object.
- Added a new test case to surface ACP prompt errors as structured protocol objects.
This commit is contained in:
DragonnZhang 2026-04-25 13:57:05 +08:00
parent cf400d518b
commit e79ec02196
23 changed files with 1486 additions and 321 deletions

View file

@ -20,6 +20,7 @@ export function ProjectSidebar({
sessions,
onChooseWorkspace,
onCreateSession,
onFocusModelConfig,
onSelectProject,
onSelectSession,
}: {
@ -31,6 +32,7 @@ export function ProjectSidebar({
sessions: DesktopSessionSummary[];
onChooseWorkspace: () => void;
onCreateSession: () => void;
onFocusModelConfig: () => void;
onSelectProject: (projectId: string) => void;
onSelectSession: (sessionId: string) => void;
}) {
@ -50,6 +52,24 @@ export function ProjectSidebar({
</div>
</div>
<section className="sidebar-section quick-actions">
<button
className="primary-button"
disabled={loadState.state !== 'ready' || !activeProject}
type="button"
onClick={onCreateSession}
>
New Thread
</button>
<button
className="secondary-button"
type="button"
onClick={onFocusModelConfig}
>
Model Config
</button>
</section>
<section className="sidebar-section">
<h2>Projects</h2>
<div className="workspace-path">
@ -71,14 +91,6 @@ export function ProjectSidebar({
<section className="sidebar-section sidebar-section-fill">
<h2>Threads</h2>
<button
className="primary-button"
disabled={loadState.state !== 'ready' || !activeProject}
type="button"
onClick={onCreateSession}
>
New Thread
</button>
<ThreadList
activeSessionId={activeSessionId}
sessions={sessions}