feat(agent): 助手交互 - 优化推理展示、工具分组与审批反馈
This commit is contained in:
@@ -6,6 +6,21 @@ import { applyCanvasOperations, type CanvasSnapshot } from "../src/lib/canvas/ca
|
||||
import { defaultConfig } from "../src/stores/use-config-store";
|
||||
import type { GenerationTask } from "../src/services/api/task-center";
|
||||
import { CanvasNodeType } from "../src/types/canvas";
|
||||
import { CREATIVE_AGENT_SYSTEM_PROMPT, CREATIVE_AGENT_TOOLS } from "../src/lib/creation/creative-agent-tools";
|
||||
|
||||
test("首页创造规划请求使用自动工具选择", async () => {
|
||||
const source = await Bun.file(new URL("../src/services/creative-agent-controller.ts", import.meta.url)).text();
|
||||
expect(source).toContain('tools: CREATIVE_AGENT_TOOLS, toolChoice: "auto"');
|
||||
expect(source).not.toContain('tools: CREATIVE_AGENT_TOOLS, toolChoice: "required"');
|
||||
});
|
||||
|
||||
test("首页创造提示词只声明实际注册的规划工具", () => {
|
||||
expect(CREATIVE_AGENT_TOOLS.map((tool) => tool.function.name)).toEqual(["creative_respond"]);
|
||||
expect(CREATIVE_AGENT_SYSTEM_PROMPT).toContain("唯一可调用的函数工具是 creative_respond");
|
||||
expect(CREATIVE_AGENT_SYSTEM_PROMPT).not.toContain("canvas_generate_storyboard");
|
||||
expect(CREATIVE_AGENT_SYSTEM_PROMPT).not.toContain("canvas_create_storyboard");
|
||||
expect(CREATIVE_AGENT_SYSTEM_PROMPT).not.toContain("canvas_edit_storyboard");
|
||||
});
|
||||
|
||||
function harness(state: CreativeAgentState, status: CreationRun["status"] = "paused", submissions: CreationSubmission[] = [], waitTask?: ConstructorParameters<typeof CreativeAgentController>[0]["waitTask"]) {
|
||||
let run: CreationRun = { id: "run", userId: "user", canvasId: "canvas", revision: 1, executionEpoch: 0, executionOwner: "", status, state: structuredClone(state) as unknown as Record<string, unknown>, approvedProposalVersion: state.proposal?.version, approvedProposalHash: state.operations ? "approved-proposal-hash" : undefined, createdAt: "", updatedAt: "" };
|
||||
|
||||
Reference in New Issue
Block a user