
























@@ -1,4 +1,5 @@
11import { vi, type Mock } from "vitest";
2+import type { PluginMetadataSnapshot } from "../../plugins/plugin-metadata-snapshot.js";
23import { clearAgentHarnesses } from "../harness/registry.js";
34import type { CompactionTranscriptRotation } from "./compaction-successor-transcript.js";
45@@ -105,6 +106,45 @@ export const rotateTranscriptAfterCompactionMock: Mock<
105106rotated: false,
106107}));
107108109+const emptyPluginMetadataSnapshot: PluginMetadataSnapshot = {
110+policyHash: "",
111+index: {
112+version: 1,
113+hostContractVersion: "test",
114+compatRegistryVersion: "test",
115+migrationVersion: 1,
116+policyHash: "",
117+generatedAtMs: 1,
118+installRecords: {},
119+plugins: [],
120+diagnostics: [],
121+},
122+registryDiagnostics: [],
123+manifestRegistry: { plugins: [], diagnostics: [] },
124+plugins: [],
125+diagnostics: [],
126+byPluginId: new Map(),
127+normalizePluginId: (pluginId: string) => pluginId,
128+owners: {
129+channels: new Map(),
130+channelConfigs: new Map(),
131+providers: new Map(),
132+modelCatalogProviders: new Map(),
133+cliBackends: new Map(),
134+setupProviders: new Map(),
135+commandAliases: new Map(),
136+contracts: new Map(),
137+},
138+metrics: {
139+registrySnapshotMs: 0,
140+manifestRegistryMs: 0,
141+ownerMapsMs: 0,
142+totalMs: 0,
143+indexPluginCount: 0,
144+manifestPluginCount: 0,
145+},
146+};
147+108148export function resetCompactSessionStateMocks(): void {
109149sanitizeSessionHistoryMock.mockReset();
110150sanitizeSessionHistoryMock.mockImplementation(async (params: { messages: unknown[] }) => {
@@ -211,6 +251,10 @@ export async function loadCompactHooksHarness(): Promise<{
211251 ensureRuntimePluginsLoaded,
212252}));
213253254+vi.doMock("../../plugins/current-plugin-metadata-snapshot.js", () => ({
255+getCurrentPluginMetadataSnapshot: () => emptyPluginMetadataSnapshot,
256+}));
257+214258vi.doMock("../harness/selection.js", () => ({
215259maybeCompactAgentHarnessSession: maybeCompactAgentHarnessSessionMock,
216260}));
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。