refactor: eliminate remaining duplicate blocks across draft streams and tests

This commit is contained in:
Peter Steinberger
2026-02-21 23:56:58 +00:00
parent abf3dfc375
commit ad1c07e7c0
16 changed files with 316 additions and 199 deletions

View File

@@ -0,0 +1,33 @@
import { expect } from "vitest";
type TextResultBlock = { type: string; text?: string };
export function getTextContent(result?: { content?: TextResultBlock[] }) {
const textBlock = result?.content?.find((block) => block.type === "text");
return textBlock?.text ?? "";
}
export function expectReadWriteEditTools<T extends { name: string }>(tools: T[]) {
const readTool = tools.find((tool) => tool.name === "read");
const writeTool = tools.find((tool) => tool.name === "write");
const editTool = tools.find((tool) => tool.name === "edit");
expect(readTool).toBeDefined();
expect(writeTool).toBeDefined();
expect(editTool).toBeDefined();
return {
readTool: readTool as T,
writeTool: writeTool as T,
editTool: editTool as T,
};
}
export function expectReadWriteTools<T extends { name: string }>(tools: T[]) {
const readTool = tools.find((tool) => tool.name === "read");
const writeTool = tools.find((tool) => tool.name === "write");
expect(readTool).toBeDefined();
expect(writeTool).toBeDefined();
return {
readTool: readTool as T,
writeTool: writeTool as T,
};
}