feat: extend supply workbench demo and map navigation
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
import type { AgentEventTriggerContext } from "@/features/agent";
|
||||
import type { ScheduledConditionRecord } from "../types";
|
||||
import type { PeripheralWorkOrder } from "./client";
|
||||
|
||||
export const WATER_QUALITY_SCENARIO_CODE = "WQ-SECONDARY-SUPPLY-001" as const;
|
||||
|
||||
export function toWaterQualityAgentTrigger(
|
||||
workOrder: PeripheralWorkOrder
|
||||
): AgentEventTriggerContext | null {
|
||||
if (
|
||||
workOrder.revision !== 1 ||
|
||||
workOrder.status !== "open" ||
|
||||
workOrder.work_order_type !== "water_quality_complaint" ||
|
||||
workOrder.scenario_code !== WATER_QUALITY_SCENARIO_CODE
|
||||
) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
schema_version: "agent-trigger@1",
|
||||
kind: "event",
|
||||
trigger_id: [
|
||||
"peripheral.work_order.created",
|
||||
workOrder.project_id,
|
||||
workOrder.work_order_id,
|
||||
workOrder.revision
|
||||
].join(":"),
|
||||
occurred_at: workOrder.created_at,
|
||||
source: "peripheral_sample",
|
||||
subject_type: "work_order",
|
||||
subject_id: workOrder.work_order_id,
|
||||
workflow: "water_quality_complaint",
|
||||
payload: {
|
||||
title: workOrder.title,
|
||||
summary: workOrder.summary,
|
||||
location: workOrder.location,
|
||||
priority: workOrder.priority,
|
||||
scenario_code: WATER_QUALITY_SCENARIO_CODE,
|
||||
origin: "synthetic"
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export function waterQualityTriggerPrompt(workOrder: PeripheralWorkOrder) {
|
||||
return `外围样板新增水质投诉工单:${workOrder.title}。请启动水质事件调查。`;
|
||||
}
|
||||
|
||||
export function toWaterQualityConditionTask(
|
||||
workOrder: PeripheralWorkOrder,
|
||||
sessionId: string,
|
||||
now = new Date()
|
||||
): ScheduledConditionRecord {
|
||||
return {
|
||||
id: `peripheral-water-quality-${workOrder.work_order_id}`,
|
||||
kind: "condition",
|
||||
taskId: "water-quality-complaint",
|
||||
dataSource: "mock",
|
||||
sessionId,
|
||||
title: "水质投诉调查",
|
||||
summary: workOrder.summary,
|
||||
status: "running",
|
||||
riskLevel: workOrder.priority === "urgent" ? "critical" : "attention",
|
||||
scheduledAt: now.toISOString(),
|
||||
updatedAt: now.getTime(),
|
||||
durationMinutes: 15,
|
||||
detail: `${workOrder.location ?? "位置待确认"} · 由外围工单事件触发`,
|
||||
recommendation: "优先校验上游监测点数据质量;若上游指标正常,再转向二次供水设施和运维记录核查。",
|
||||
evidence: [
|
||||
`来源工单:${workOrder.work_order_id}`,
|
||||
`投诉位置:${workOrder.location ?? "待确认"}`,
|
||||
`投诉内容:${workOrder.title}`
|
||||
],
|
||||
modelName: "TJWater Agent 事件任务"
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user