引入游玩回合与开场收口,抽出可替换 agent 司机并支持运行中止;完善预设洞位、世界书拼装与试跑,并打磨会话运行时与 Web 交互。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-24 01:13:48 +08:00
co-authored by Cursor
parent ec474cb946
commit b82da4c5a5
95 changed files with 6781 additions and 1344 deletions
+25
View File
@@ -51,6 +51,31 @@ describe("present.v1", () => {
expect(p.shell).toBe("chapter_reader");
expect(p.blocks.body).toBe("hello");
});
it("strips 输出.用户展示 heading from plain body", () => {
const view = parsePresentPacket("### 输出.用户展示\n\n叮!账户来了。");
expect(view.packet.blocks.body).toBe("叮!账户来了。");
expect(String(view.packet.blocks.body)).not.toContain("用户展示");
});
it("strips heading then parses present JSON", () => {
const view = parsePresentPacket(
'### 输出.用户展示\n\n{"schema":"present.v1","shell":"prose","blocks":{"body":"场面很长"}}',
);
expect(view.fallbackPlain).toBe(false);
expect(view.packet.blocks.body).toBe("场面很长");
});
it("strips heading inside blocks.body", () => {
const view = parsePresentPacket(
JSON.stringify({
schema: "present.v1",
shell: "prose",
blocks: { body: "### 输出.用户展示\n正文" },
}),
);
expect(view.packet.blocks.body).toBe("正文");
});
});
describe("shell adaptation from reply-format", () => {