feat: add CliStreamMonitor and related components for CLI output streaming

- Implemented CliStreamMonitor component for real-time CLI output monitoring with multi-execution support.
- Created JsonFormatter component for displaying JSON content in various formats (text, card, inline).
- Added utility functions for JSON detection and formatting in jsonUtils.ts.
- Introduced LogBlock utility functions for styling CLI output lines.
- Developed a new Collapsible component for better UI interactions.
- Created IssueHubPage for managing issues, queue, and discovery with tab navigation.
This commit is contained in:
catlog22
2026-01-31 23:12:39 +08:00
parent 2f10305945
commit a2206df50f
43 changed files with 5843 additions and 466 deletions

View File

@@ -1033,6 +1033,7 @@ export interface SessionDetailResponse {
session: SessionMetadata;
context?: SessionDetailContext;
summary?: string;
summaries?: Array<{ name: string; content: string }>;
implPlan?: unknown;
conflicts?: unknown[];
review?: unknown;
@@ -1061,10 +1062,17 @@ export async function fetchSessionDetail(sessionId: string, projectPath?: string
const detailData = await fetchApi<any>(`/api/session-detail?path=${encodeURIComponent(pathParam)}&type=all`);
// Step 3: Transform the response to match SessionDetailResponse interface
// Also check for summaries array and extract first one if summary is empty
let finalSummary = detailData.summary;
if (!finalSummary && detailData.summaries && detailData.summaries.length > 0) {
finalSummary = detailData.summaries[0].content || detailData.summaries[0].name || '';
}
return {
session,
context: detailData.context,
summary: detailData.summary,
summary: finalSummary,
summaries: detailData.summaries,
implPlan: detailData.implPlan,
conflicts: detailData.conflicts,
review: detailData.review,