mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-27 11:42:52 +00:00
* fix(app): keep autonomous turns distinct and readable Hidden system prompts merged autonomous work into the previous response and reopened completed turns. Preserve canonical turn boundaries and expose their triggers, while making received messages attributable and expanded turn details readable in one step. * fix(timeline): mount history at actual run boundaries * fix(timeline): load and retain complete available turns * fix(app): summarize actions and preserve conversation events * test(timeline): verify whole-turn paging stays responsive * fix(app): group reasoning according to thinking preference * test(app): align history journeys with whole-turn loading
41 lines
1.8 KiB
TypeScript
41 lines
1.8 KiB
TypeScript
import { expect, type Page } from "@playwright/test";
|
|
import { gotoAppShell, openSettings } from "./app";
|
|
import { openSettingsHostSection } from "./settings";
|
|
import { getServerId } from "./server-id";
|
|
|
|
export async function openCustomModels(page: Page): Promise<void> {
|
|
await gotoAppShell(page);
|
|
await openSettings(page);
|
|
await openSettingsHostSection(page, getServerId(), "providers");
|
|
await page.getByRole("button", { name: "Claude provider details", exact: true }).click();
|
|
await expect(page.getByRole("textbox", { name: "Search models" })).toBeVisible();
|
|
}
|
|
|
|
export async function addCustomModel(page: Page, id: string): Promise<void> {
|
|
await page.getByRole("button", { name: "Add model", exact: true }).click();
|
|
await page.getByPlaceholder("e.g. openai/gpt-5").fill(id);
|
|
await page
|
|
.getByTestId("add-custom-model-sheet")
|
|
.getByRole("button", { name: "Add", exact: true })
|
|
.click();
|
|
await expect(page.getByRole("button", { name: `Remove ${id}`, exact: true })).toHaveCount(1);
|
|
// Config updates before provider refresh finishes and dismisses the add sheet.
|
|
// Resizing or interacting with the model list must wait for that save to finish.
|
|
await expect(page.getByTestId("add-custom-model-sheet")).toBeHidden();
|
|
}
|
|
|
|
export async function removeCustomModel(page: Page, id: string): Promise<void> {
|
|
await page.getByRole("textbox", { name: "Search models" }).fill(id);
|
|
const remove = page.getByRole("button", { name: `Remove ${id}`, exact: true });
|
|
await expect(remove).toBeInViewport({ ratio: 1 });
|
|
await remove.click();
|
|
await expect(remove).toHaveCount(0);
|
|
}
|
|
|
|
export async function expectCustomModelRetained(page: Page, id: string): Promise<void> {
|
|
await page.getByRole("textbox", { name: "Search models" }).fill(id);
|
|
await expect(page.getByRole("button", { name: `Remove ${id}`, exact: true })).toBeInViewport({
|
|
ratio: 1,
|
|
});
|
|
}
|