fix(agents): batch monitoring live receipt gaps
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 58s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled

This commit is contained in:
Your Name
2026-07-03 10:31:07 +08:00
parent 647d811631
commit fabe9d5cb6
5 changed files with 277 additions and 21 deletions

View File

@@ -317,6 +317,7 @@ type TelegramMonitoringCoveragePayload = {
alert_receipt_pipeline_stage_count?: number | null;
alert_receipt_pipeline_ready_count?: number | null;
ai_controlled_gap_queue_count?: number | null;
ai_controlled_live_receipt_batch_count?: number | null;
required_tag_dimension_count?: number | null;
monitoring_asset_config_kind_count?: number | null;
telegram_monitoring_audit_completion_percent?: number | null;
@@ -335,7 +336,19 @@ type TelegramMonitoringCoveragePayload = {
config_kind?: string | null;
status?: string | null;
}> | null;
live_receipt_work_batch_count?: number | null;
} | null;
ai_controlled_live_receipt_batches?: Array<{
batch_id?: string | null;
domain?: string | null;
priority?: string | null;
surface_count?: number | null;
tag_hints?: {
product_id?: string | null;
service_name?: string | null;
tool_id?: string | null;
} | null;
}> | null;
runtime_event_type_counts_7d?: Record<string, number | null | undefined> | null;
alert_receipt_pipeline?: Array<{
stage_id?: string | null;
@@ -359,6 +372,14 @@ type TelegramMonitoringCoveragePayload = {
blocker?: string | null;
status?: string | null;
controlled_next_action?: string | null;
batch_id?: string | null;
domain?: string | null;
surface_count?: number | null;
tag_hints?: {
product_id?: string | null;
service_name?: string | null;
tool_id?: string | null;
} | null;
}> | null;
operation_boundaries?: {
telegram_send_performed?: boolean | null;
@@ -1649,25 +1670,37 @@ export function AutonomousRuntimeReceiptPanel({
</span>
</div>
<div className="mt-3 grid gap-2">
{telegramCoverageGapQueue.length > 0 ? (
telegramCoverageGapQueue.slice(0, 4).map((item) => (
<div
key={item.work_item_id ?? item.blocker ?? "gap"}
className="grid gap-1 border border-[#eee9dd] px-2 py-1.5"
>
<div className="flex min-w-0 items-center justify-between gap-2">
<span className="min-w-0 truncate text-xs font-semibold text-[#141413]">
{item.controlled_next_action ?? item.blocker ?? "--"}
</span>
<span className="font-mono text-xs text-[#77736a]">
{item.priority ?? "--"}
</span>
</div>
<span className="truncate font-mono text-xs text-[#77736a]">
{item.work_item_id ?? item.status ?? "--"}
</span>
</div>
))
{telegramCoverageGapQueue.length > 0 ? (
telegramCoverageGapQueue.slice(0, 4).map((item) => (
<div
key={item.work_item_id ?? item.blocker ?? "gap"}
className="grid gap-1 border border-[#eee9dd] px-2 py-1.5"
>
<div className="flex min-w-0 items-center justify-between gap-2">
<span className="min-w-0 truncate text-xs font-semibold text-[#141413]">
{item.domain ?? item.controlled_next_action ?? item.blocker ?? "--"}
</span>
<span className="font-mono text-xs text-[#77736a]">
{item.priority ?? "--"}
</span>
</div>
<div className="flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 font-mono text-xs text-[#77736a]">
<span className="truncate">{item.work_item_id ?? item.batch_id ?? item.status ?? "--"}</span>
{typeof item.surface_count === "number" ? (
<span>
{t("monitoringCoverage.surfaces", { count: item.surface_count })}
</span>
) : null}
</div>
<span className="truncate text-xs text-[#5f5b52]">
{[
item.tag_hints?.product_id,
item.tag_hints?.service_name,
item.tag_hints?.tool_id,
].filter(Boolean).join(" / ") || item.controlled_next_action || "--"}
</span>
</div>
))
) : (
<div className="border border-[#eee9dd] px-2 py-2 text-xs font-semibold text-[#17602a]">
{t("monitoringCoverage.noBlockers")}