Files
tutti/packages/agent/gui/vitest.shared.setup.ts
agent-radar 2ed3415fb7
Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00

67 lines
1.8 KiB
TypeScript

import { afterEach, beforeEach } from "vitest";
import {
resetAgentHostApiForTests,
setAgentHostApiForTests
} from "./agentActivityHost";
import type { AgentHostRuntimeApi } from "./host/agentHostApi";
import { installReactRenderLoopConsoleTrap } from "./test/reactRenderLoopConsoleTrap";
// Vitest 4 runs with NODE_ENV=development; agent test harnesses gate on "test".
process.env.NODE_ENV = "test";
const originalConsoleInfo = console.info.bind(console);
console.info = (...args: unknown[]) => {
if (isSuppressedAgentGuiDiagnostic(args)) {
return;
}
originalConsoleInfo(...args);
};
let restoreReactRenderLoopConsoleTrap: (() => void) | null = null;
beforeEach(() => {
restoreReactRenderLoopConsoleTrap?.();
restoreReactRenderLoopConsoleTrap = installReactRenderLoopConsoleTrap({
console
});
resetAgentHostApiForTests();
resetMentionSearchBrowseCacheForTests();
setAgentHostApiForTests(createTestAgentHostApi());
});
afterEach(() => {
try {
resetAgentHostApiForTests();
resetMentionSearchBrowseCacheForTests();
} finally {
restoreReactRenderLoopConsoleTrap?.();
restoreReactRenderLoopConsoleTrap = null;
}
});
export function createTestAgentHostApi(): AgentHostRuntimeApi {
return {
account: {},
clipboard: {},
debug: {},
filesystem: {},
workspace: {}
} as unknown as AgentHostRuntimeApi;
}
function resetMentionSearchBrowseCacheForTests(): void {
(
globalThis as typeof globalThis & {
__tuttiResetAgentMentionSearchBrowseCacheForTests?: () => void;
}
).__tuttiResetAgentMentionSearchBrowseCacheForTests?.();
}
function isSuppressedAgentGuiDiagnostic(args: readonly unknown[]): boolean {
const [prefix] = args;
return (
prefix === "[agent-gui] mention-lifecycle" ||
prefix === "[agent-gui] mention-search"
);
}