mirror of
https://github.com/getpaseo/paseo.git
synced 2026-07-29 12:01:31 +00:00
* feat(cli): update agent thinking from the CLI * fix(cli): harden agent thinking updates * feat(cli): configure thinking for schedules * fix(cli): report applied thinking updates * fix(cli): report current agent thinking state
59 lines
2.6 KiB
TypeScript
59 lines
2.6 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { createCli } from "./cli.js";
|
|
|
|
describe("canonical CLI surface", () => {
|
|
it("shows workspace and heartbeat commands while hiding worktree compatibility", () => {
|
|
const cli = createCli();
|
|
const help = cli.helpInformation();
|
|
expect(help).toContain("workspace");
|
|
expect(help).toContain("heartbeat");
|
|
expect(help).not.toContain("worktree");
|
|
});
|
|
|
|
it("names explicit workspace creation without exposing older syntax", () => {
|
|
const run = createCli().commands.find((command) => command.name() === "run");
|
|
const help = run?.helpInformation();
|
|
expect(help).toContain("--new-workspace <local|worktree>");
|
|
expect(help).not.toContain("--isolation");
|
|
expect(help).not.toContain("--worktree <name>");
|
|
});
|
|
|
|
it("offers the worktree creation options on run", () => {
|
|
const run = createCli().commands.find((command) => command.name() === "run");
|
|
const help = run?.helpInformation();
|
|
expect(help).toContain("--worktree-mode <mode>");
|
|
expect(help).toContain("--worktree-slug <slug>");
|
|
expect(help).toContain("--new-branch <name>");
|
|
expect(help).toContain("--branch <name>");
|
|
expect(help).toContain("--pr-number <n>");
|
|
expect(help).toContain("--forge <forge>");
|
|
});
|
|
|
|
it("uses background for execution and reserves detach for ownership", () => {
|
|
const run = createCli().commands.find((command) => command.name() === "run");
|
|
expect(run?.helpInformation()).toContain("--background");
|
|
expect(run?.helpInformation()).not.toContain("--detach");
|
|
});
|
|
|
|
it("offers thinking configuration when running, updating, and scheduling agents", () => {
|
|
const cli = createCli();
|
|
const run = cli.commands.find((command) => command.name() === "run");
|
|
const agent = cli.commands.find((command) => command.name() === "agent");
|
|
const update = agent?.commands.find((command) => command.name() === "update");
|
|
const schedule = cli.commands.find((command) => command.name() === "schedule");
|
|
const scheduleCreate = schedule?.commands.find((command) => command.name() === "create");
|
|
|
|
expect(run?.helpInformation()).toContain("--thinking <id>");
|
|
expect(update?.helpInformation()).toContain("--thinking <id>");
|
|
expect(scheduleCreate?.helpInformation()).toContain("--thinking <id>");
|
|
});
|
|
|
|
it("offers opening an existing agent in the desktop app", () => {
|
|
const agent = createCli().commands.find((command) => command.name() === "agent");
|
|
const open = agent?.commands.find((command) => command.name() === "open");
|
|
|
|
expect(open?.helpInformation()).toContain("<agent-id>");
|
|
expect(open?.helpInformation()).toContain("--server <server-id>");
|
|
});
|
|
});
|