feat(prompt): implement prompt injection slice 2
This commit is contained in:
@@ -290,6 +290,33 @@ describe("pi-extension", () => {
|
||||
expect(result.message.display).toBe(false);
|
||||
});
|
||||
|
||||
it("injects canonical root-pair block with real file content when maps exist and mode is strong", async () => {
|
||||
const dir = mkdtempSync(join(tmpdir(), "pi-ext-test-"));
|
||||
writeFileSync(join(dir, ".pi-map.md"), "# .\n## role\nRootMap\n");
|
||||
writeFileSync(
|
||||
join(dir, ".pi-map.index.md"),
|
||||
"# . (index)\n## role\nRootIndex\n",
|
||||
);
|
||||
writeFileSync(
|
||||
join(dir, ".pi-project-map.json"),
|
||||
JSON.stringify({ promptInjectionMode: "strong" }),
|
||||
);
|
||||
mockCtx.cwd = dir;
|
||||
|
||||
const handler = registeredEvents.before_agent_start;
|
||||
const result = await handler(null, mockCtx);
|
||||
|
||||
expect(result).toHaveProperty("message");
|
||||
expect(result.message.display).toBe(false);
|
||||
expect(result.message.content).toContain(
|
||||
"<!-- PI_MAP_ROOT_PAIR_START -->",
|
||||
);
|
||||
expect(result.message.content).toContain("<!-- PI_MAP_ROOT_PAIR_END -->");
|
||||
expect(result.message.content).toContain("RootMap");
|
||||
expect(result.message.content).toContain("RootIndex");
|
||||
expect(result.message.content).toContain("Trust boundary:");
|
||||
});
|
||||
|
||||
it("returns empty object when no maps exist and mode is off", async () => {
|
||||
const dir = mkdtempSync(join(tmpdir(), "pi-ext-test-"));
|
||||
writeFileSync(
|
||||
|
||||
Reference in New Issue
Block a user