feat(agent): budget reminders, usage while waiting, budget-exceeded status and dedupe
- tool results carry a budget reminder near limits; text before the last tool call is dropped as report when cut by budget/abort - usage persisted when a run suspends, so waiting sessions show spent tokens - task page shows budget_exceeded via business.outcome instead of completed - budget-exceeded decisions merge by root cause (decision / schedule / goal template); new summaries added to investigate allowlist Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
4cd9ec8390
commit
a00a9eaf5d
14 files changed
+205
-21
No files matched your search
@@ -15,7 +15,15 @@ import { Button } from "~/components/ui/button.tsx";
|
||||
import { errorMessage } from "~/lib/api.ts";
|
||||
import { formatDuration, formatRelative, spanSec } from "~/lib/labels.ts";
|
||||
import { cn, formatDateTime } from "~/lib/utils.ts";
|
||||
import { BUSINESS_KIND_LABEL, businessLink, runStatus, SOURCE_LABEL, sourceOf, workflowLabel } from "./labels.ts";
|
||||
import {
|
||||
BUSINESS_KIND_LABEL,
|
||||
businessLink,
|
||||
engineRunStatus,
|
||||
runStatus,
|
||||
SOURCE_LABEL,
|
||||
sourceOf,
|
||||
workflowLabel,
|
||||
} from "./labels.ts";
|
||||
|
||||
// 任务详情:业务摘要 → 时间线 → 引擎步骤(折叠)→ 操作。任务页抽屉与 /tasks/:id 共用。
|
||||
|
||||
@@ -125,7 +133,7 @@ function businessTimeline(r: EngineRunDetail): TimelineItem[] {
|
||||
});
|
||||
}
|
||||
if (r.finishedAt) {
|
||||
const s = runStatus(r.status);
|
||||
const s = engineRunStatus(r);
|
||||
items.push({
|
||||
id: "finished",
|
||||
at: r.finishedAt,
|
||||
@@ -337,7 +345,7 @@ export function TaskDetailBody({ r, onOpenRun }: { r: EngineRunDetail; onOpenRun
|
||||
|
||||
/** 头部一行:状态 + 业务类型 */
|
||||
export function TaskStatusLine({ r }: { r: EngineRunDetail }) {
|
||||
const s = runStatus(r.status);
|
||||
const s = engineRunStatus(r);
|
||||
return (
|
||||
<span className="flex flex-wrap items-center gap-2">
|
||||
<StatusBadge tone={s.tone}>{s.label}</StatusBadge>
|
||||
|
||||
Reference in new issue
Block a user