feat: step artifacts framework
- Add Artifact type to Step (name, path, artifact_type, description) - step_done tool accepts optional artifacts parameter - Save artifacts to step_artifacts DB table - Display artifacts in frontend PlanSection (tag style) - Show artifacts in step context for sub-agents and coordinator - Add LLM client retry with exponential backoff
This commit is contained in:
@@ -59,6 +59,11 @@ function quoteStep(e: Event, step: PlanStepInfo) {
|
||||
<div v-if="step.command && expandedSteps.has(step.order)" class="step-detail">
|
||||
{{ step.command }}
|
||||
</div>
|
||||
<div v-if="step.artifacts?.length" class="step-artifacts">
|
||||
<span v-for="a in step.artifacts" :key="a.path" class="artifact-tag">
|
||||
📄 {{ a.name }} <span class="artifact-type">{{ a.artifact_type }}</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!steps.length" class="empty-state">
|
||||
AI 将在这里展示执行计划
|
||||
@@ -188,6 +193,30 @@ function quoteStep(e: Event, step: PlanStepInfo) {
|
||||
border-top: 1px solid var(--border);
|
||||
}
|
||||
|
||||
.step-artifacts {
|
||||
padding: 4px 10px 8px 44px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.artifact-tag {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
font-size: 11px;
|
||||
color: var(--text-secondary);
|
||||
background: var(--bg-tertiary);
|
||||
padding: 2px 8px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.artifact-type {
|
||||
font-size: 10px;
|
||||
color: var(--accent);
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.empty-state {
|
||||
color: var(--text-secondary);
|
||||
font-size: 13px;
|
||||
|
||||
@@ -26,11 +26,19 @@ export interface ExecutionLogEntry {
|
||||
created_at: string
|
||||
}
|
||||
|
||||
export interface StepArtifact {
|
||||
name: string
|
||||
path: string
|
||||
artifact_type: string
|
||||
description: string
|
||||
}
|
||||
|
||||
export interface PlanStepInfo {
|
||||
order: number
|
||||
description: string
|
||||
command: string
|
||||
status?: 'pending' | 'running' | 'done' | 'failed'
|
||||
artifacts?: StepArtifact[]
|
||||
}
|
||||
|
||||
export interface Comment {
|
||||
|
||||
Reference in New Issue
Block a user