diff --git a/packages/cli/src/commands/agent/import.test.ts b/packages/cli/src/commands/agent/import.test.ts new file mode 100644 index 000000000..28fef48d5 --- /dev/null +++ b/packages/cli/src/commands/agent/import.test.ts @@ -0,0 +1,22 @@ +import { describe, expect, it } from "vitest"; +import { resolveImportCwd } from "./import.js"; + +describe("resolveImportCwd", () => { + it("uses the invoking process cwd when --cwd is omitted", () => { + expect(resolveImportCwd(undefined, "/Volumes/data/dev/rolepai")).toBe( + "/Volumes/data/dev/rolepai", + ); + }); + + it("uses explicit --cwd when provided", () => { + expect(resolveImportCwd(" /tmp/project ", "/Volumes/data/dev/rolepai")).toBe("/tmp/project"); + }); + + it("rejects an empty explicit --cwd", () => { + expect(() => resolveImportCwd(" ", "/Volumes/data/dev/rolepai")).toThrow( + expect.objectContaining({ + code: "INVALID_CWD", + }), + ); + }); +}); diff --git a/packages/cli/src/commands/agent/import.ts b/packages/cli/src/commands/agent/import.ts index f0d2e30c0..9bd7d1507 100644 --- a/packages/cli/src/commands/agent/import.ts +++ b/packages/cli/src/commands/agent/import.ts @@ -92,6 +92,18 @@ function parseImportLabels(labelFlags: string[] | undefined): Record 0 ? { labels } : {}), });