fix: preserve cross-device evidence and render recorded reports
This commit is contained in:
1 parent
a66803651a
commit
1440a1f508
28 files changed
+759
-128
No files matched your search
@@ -182,6 +182,9 @@ limitations under the License.
|
||||
<!-- Rich Notes Content Viewer -->
|
||||
@if (noteKeys().length > 0) {
|
||||
<div class="dropdown-notes-content">
|
||||
@if (agentService.selectedNoteKey() !== 'task_plan.md') {
|
||||
<app-report-markdown [content]="currentNoteContent()" />
|
||||
} @else {
|
||||
@if (parsedNote().title) {
|
||||
<h3 class="note-title">{{ parsedNote().title }}</h3>
|
||||
}
|
||||
@@ -332,6 +335,7 @@ limitations under the License.
|
||||
}
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
@@ -770,10 +774,8 @@ limitations under the License.
|
||||
<!-- Compact preview body (when collapsed, matches standard action card) -->
|
||||
@if (!isActionExpanded('action-' + block.id + '-' + itemIdx) && getReportStatusExplanation(item.data)) {
|
||||
<div class="action-card-body">
|
||||
<div class="action-detail-row">
|
||||
<span class="detail-label">摘要:</span>
|
||||
<span class="detail-value">"{{ getReportStatusExplanation(item.data) }}"</span>
|
||||
</div>
|
||||
<app-report-markdown [content]="getReportStatusExplanation(item.data)" [compact]="true" />
|
||||
<button type="button" class="report-expand-button" (click)="toggleActionExpanded('action-' + block.id + '-' + itemIdx, $event)">查看完整报告</button>
|
||||
</div>
|
||||
}
|
||||
<!-- Detailed expanded view (when clicked, matches standard action card structure) -->
|
||||
@@ -783,7 +785,7 @@ limitations under the License.
|
||||
@if (getReportStatusExplanation(item.data); as expText) {
|
||||
<div class="grid-item full-width">
|
||||
<span class="grid-label">报告与发现</span>
|
||||
<div class="grid-value report-markdown-body" [innerHTML]="renderMarkdown(expText, 'report-' + block.id + '-' + itemIdx)"></div>
|
||||
<app-report-markdown [content]="expText" />
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
@@ -1375,62 +1377,7 @@ limitations under the License.
|
||||
</div>
|
||||
</div>
|
||||
<div class="synthesis-card-preview">
|
||||
@if (parsedOutputReport(); as parsedOut) {
|
||||
<div class="parsed-note-container">
|
||||
@if (parsedOut.title) {
|
||||
<h3 class="parsed-note-title">{{ parsedOut.title }}</h3>
|
||||
}
|
||||
@if (parsedOut.milestones.length > 0) {
|
||||
<div class="parsed-milestones">
|
||||
@for (m of parsedOut.milestones; track trackMilestone($index, m)) {
|
||||
<div class="milestone-item" [class]="'status-' + m.type">
|
||||
<span class="material-symbols-outlined status-icon">
|
||||
{{ m.type === 'checked' ? 'check_circle' : (m.type === 'progress' ? 'pending' : 'radio_button_unchecked') }}
|
||||
</span>
|
||||
<span class="milestone-text">
|
||||
@for (seg of m.segments; track seg) {
|
||||
@if (seg.bold) {
|
||||
<strong>{{ seg.text }}</strong>
|
||||
}
|
||||
@if (seg.code) {
|
||||
<code>{{ seg.text }}</code>
|
||||
}
|
||||
@if (!seg.bold && !seg.code) {
|
||||
<span>{{ seg.text }}</span>
|
||||
}
|
||||
}
|
||||
</span>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
@if (parsedOut.otherLines.length > 0) {
|
||||
<div class="parsed-other-lines">
|
||||
@for (line of parsedOut.otherLines; track trackMarkdownLine($index, line)) {
|
||||
<p class="other-line" [class]="'line-' + line.type">
|
||||
@if (line.type === 'verify') {
|
||||
<span class="verify-badge" [class.assert]="line.checkKind === 'assert'">{{ line.checkKind || 'verify' }}{{ line.atEnd ? '@end' : '' }}</span>
|
||||
}
|
||||
@if (line.type === 'finding') {
|
||||
<span class="finding-badge">finding</span>
|
||||
}
|
||||
@for (seg of line.segments; track seg) {
|
||||
@if (seg.bold) {
|
||||
<strong>{{ seg.text }}</strong>
|
||||
}
|
||||
@if (seg.code) {
|
||||
<code>{{ seg.text }}</code>
|
||||
}
|
||||
@if (!seg.bold && !seg.code) {
|
||||
<span>{{ seg.text }}</span>
|
||||
}
|
||||
}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
<app-report-markdown [content]="outReport" />
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user