feat: upgrade investigation and presentation runtime
This commit is contained in:
@@ -21,7 +21,7 @@ const trigger = {
|
||||
location: "演示小区",
|
||||
priority: "high",
|
||||
scenario_code: "WQ-SECONDARY-SUPPLY-001",
|
||||
origin: "synthetic",
|
||||
origin: "system_data",
|
||||
},
|
||||
} as const;
|
||||
|
||||
@@ -30,9 +30,10 @@ describe("agent event trigger", () => {
|
||||
const parsed = agentTriggerContextSchema.parse(trigger);
|
||||
const prompt = buildAgentTriggerPrompt(parsed);
|
||||
|
||||
expect(prompt).toContain("水质监测点");
|
||||
expect(prompt).toContain("二次供水");
|
||||
expect(prompt).toContain("合成演练数据");
|
||||
expect(prompt).toContain("不得预设上游正常");
|
||||
expect(prompt).not.toContain("上游三个模拟水质监测点的数据质量均为 valid");
|
||||
expect(prompt).toContain("外围业务系统的系统数据");
|
||||
expect(prompt).not.toContain("合成演练来源");
|
||||
expect(prompt).toContain("动态规划本次调查");
|
||||
expect(prompt).not.toContain("请按‘上游数据质量正常");
|
||||
expect(prompt).toContain(trigger.trigger_id);
|
||||
@@ -41,23 +42,36 @@ describe("agent event trigger", () => {
|
||||
it("keeps event entry and action-tool instructions consistent with report-driven completion", () => {
|
||||
const prompt = buildAgentTriggerPrompt(agentTriggerContextSchema.parse(trigger));
|
||||
expect(prompt).toContain("mcp_tjwater_get_task_context");
|
||||
expect(prompt).toContain("final/insufficient_data");
|
||||
expect(prompt).toContain("正常结束本轮");
|
||||
expect(prompt).toContain("业务 Skill");
|
||||
expect(prompt).toContain("后台调查指令的停止条件");
|
||||
expect(prompt).toContain("权限拒绝和接口错误不能证明数据缺失");
|
||||
expect(prompt).toContain("interim/concluded");
|
||||
expect(prompt).not.toContain("提议成功后再保存 final");
|
||||
expect(prompt).not.toContain("开始调查前调用 publish_execution_plan");
|
||||
expect(prompt).not.toContain("人工工作保持 waiting");
|
||||
expect(proposeTaskAction.description).toContain("interim concluded report");
|
||||
expect(proposeTaskAction.description).toContain("No execution plan is required");
|
||||
expect(proposeTaskAction.description).toContain("node_id is an optional display reference");
|
||||
expect(proposeTaskAction.description).toContain("continue executable necessary analysis");
|
||||
expect(proposeTaskAction.description).not.toContain("After success, publish a final report");
|
||||
expect(proposeTaskAction.description).not.toContain("published current plan");
|
||||
expect(proposeTaskAction.description).not.toContain("republish the plan");
|
||||
});
|
||||
|
||||
it("rejects a different scenario instead of routing arbitrary work orders", () => {
|
||||
it("accepts business intake without a demo scenario", () => {
|
||||
const parsed = agentTriggerContextSchema.parse({
|
||||
...trigger, payload: { ...trigger.payload, origin: "system_data", scenario_code: null },
|
||||
});
|
||||
const prompt = buildAgentTriggerPrompt(parsed);
|
||||
expect(prompt).toContain("外围业务系统的系统数据");
|
||||
expect(prompt).not.toContain("合成演练");
|
||||
expect(prompt).not.toContain("且相邻片区没有同类投诉");
|
||||
expect(prompt).toContain("mcp_tjwater_get_task_context");
|
||||
});
|
||||
|
||||
it("rejects any non-system work-order provenance", () => {
|
||||
expect(agentTriggerContextSchema.safeParse({
|
||||
...trigger,
|
||||
payload: { ...trigger.payload, scenario_code: "UNKNOWN" },
|
||||
payload: { ...trigger.payload, origin: "synthetic" },
|
||||
}).success).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user