Files
maestro/design/maestro-ds/components/surfaces/surfaces.card.html
T
wangjia 73f80d27c9 feat(agent): 接通 plan 自动放行(autoApprovePlan)+ 项目配置可写
之前 auto_approve_plan/auto_approve_exec/checks 列与 Project 类型已存在,但
PatchProjectInput 不含它们 → 无法启用(dead config)。本次接通:
- PatchProjectInput + patchProject 支持 autoApprovePlan/autoApproveExec/checks
- API PATCH /projects 透传三字段
- ingest decompose-result:auto-approved + autoApprovePlan + 全 easy + 子任务≤5
  → store.decide(accept) 跳过 plan_review 直达 decomposed(默认关)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 22:13:18 +08:00

47 lines
3.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- @dsCard group="Components" viewport="700x400" name="Surfaces · 面板与反馈" subtitle="GateCard 审批闸 · Toast · EventItem 事件流 · Timeline 时间线 · Panel" -->
<!doctype html><html lang="zh-CN"><head><meta charset="utf-8">
<link rel="stylesheet" href="../../styles.css">
<script src="https://unpkg.com/react@18.3.1/umd/react.development.js" integrity="sha384-hD6/rw4ppMLGNu3tX5cjIb+uRZ7UkRJ6BPkLpg4hAu/6onKUg4lLsHAs9EBPT82L" crossorigin="anonymous"></script>
<script src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.development.js" integrity="sha384-u6aeetuaXnQ38mYT8rp6sbXaQe3NL9t+IBXmnYxwkUI2Hw4bsp2Wvmx4yRQF1uAm" crossorigin="anonymous"></script>
<script src="https://unpkg.com/@babel/standalone@7.29.0/babel.min.js" integrity="sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y" crossorigin="anonymous"></script>
<script src="../../_ds_bundle.js"></script>
<style>body{margin:0;background:var(--bg);font-family:var(--mono);color:var(--ink);padding:14px 16px}</style>
</head><body><div id="root"></div>
<script type="text/babel">
const { GateCard, GateStripe, Toast, EventItem, Button, Timeline } = window.MaestroDesignSystem_a6a290;
ReactDOM.createRoot(document.getElementById('root')).render(
<div style={{ display: 'grid', gridTemplateColumns: '1fr 240px', gap: 14 }}>
<div>
<GateStripe />
<GateCard gate="spec" title="重构 sync 模块" meta="maestro · MED" style={{ marginTop: 10 }}
docLabel="改动方案(SPEC"
doc={"把轮询改为 WS 推送:\n1. store 层加 events 订阅\n2. web 端断线重连 + 指数退避"}
actions={<>
<Button variant="accept"> 通过</Button>
<Button variant="reject"> 驳回</Button>
</>} />
<div style={{ display: 'grid', gap: 8, marginTop: 12, justifyItems: 'start' }}>
<Toast kind="ok">已通过 · 进入 ready</Toast>
<Toast kind="err">驳回必须填写改进意见</Toast>
<Toast kind="warn">daemon 重连中</Toast>
</div>
<div style={{ marginTop: 14 }}>
<div style={{ fontSize: 10.5, color: 'var(--muted)', letterSpacing: '.18em', marginBottom: 6 }}>状态流转时间线</div>
<Timeline items={[
{ time: '06-12 05:58', text: '审批驳回(方案评审):缺少回滚方案', who: 'you', color: 'var(--red)' },
{ time: '06-12 06:10', text: '写方案中 → 待确认方案', who: '编排器' },
{ time: '06-12 06:31', text: '审批通过(方案评审)', who: 'you', color: 'var(--green)' },
]} />
</div>
</div>
<ul style={{ padding: 0, margin: 0 }}>
<EventItem type="task.created" time="13:58" detail="重构 sync 模块" />
<EventItem type="approval.requested" time="14:00" detail="spec_review · 等待裁决" />
<EventItem type="approval.rejected" time="14:02" detail="↳ 缺少回滚方案" />
<EventItem type="run.started" time="14:05" detail="executor · worktree wt-127" />
<EventItem type="status.changed" time="14:09" detail="executing → exec_review" />
</ul>
</div>
);
</script></body></html>