fix(coding-agent): handle frontmatter prompts in print mode
closes #4163
This commit is contained in:
@@ -2,6 +2,10 @@
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed `pi -p` treating prompts that start with YAML frontmatter as extension flags instead of user messages ([#4163](https://github.com/badlogic/pi-mono/issues/4163)).
|
||||
|
||||
## [0.73.0] - 2026-05-04
|
||||
|
||||
### New Features
|
||||
|
||||
@@ -122,6 +122,11 @@ export function parseArgs(args: string[]): Args {
|
||||
}
|
||||
} else if (arg === "--print" || arg === "-p") {
|
||||
result.print = true;
|
||||
const next = args[i + 1];
|
||||
if (next !== undefined && !next.startsWith("@") && (!next.startsWith("-") || next.startsWith("---"))) {
|
||||
result.messages.push(next);
|
||||
i++;
|
||||
}
|
||||
} else if (arg === "--export" && i + 1 < args.length) {
|
||||
result.export = args[++i];
|
||||
} else if ((arg === "--extension" || arg === "-e") && i + 1 < args.length) {
|
||||
|
||||
@@ -43,6 +43,21 @@ describe("parseArgs", () => {
|
||||
const result = parseArgs(["-p"]);
|
||||
expect(result.print).toBe(true);
|
||||
});
|
||||
|
||||
test("parses prompt after -p even when it starts with YAML frontmatter", () => {
|
||||
const prompt = "---\ntitle: hello\n---\nSay hi.";
|
||||
const result = parseArgs(["-p", prompt]);
|
||||
expect(result.print).toBe(true);
|
||||
expect(result.messages).toEqual([prompt]);
|
||||
expect(result.unknownFlags.size).toBe(0);
|
||||
});
|
||||
|
||||
test("does not consume options after -p as prompts", () => {
|
||||
const result = parseArgs(["-p", "--provider", "openai", "Say hi."]);
|
||||
expect(result.print).toBe(true);
|
||||
expect(result.provider).toBe("openai");
|
||||
expect(result.messages).toEqual(["Say hi."]);
|
||||
});
|
||||
});
|
||||
|
||||
describe("--continue flag", () => {
|
||||
|
||||
Reference in New Issue
Block a user