

























@@ -9,6 +9,18 @@ const resolveAgentWorkspaceDirMock = vi.fn<
99const resolveDefaultAgentIdMock = vi.fn<
1010typeof import("../../agents/agent-scope.js").resolveDefaultAgentId
1111>(() => "default");
12+const manifestRegistry = { diagnostics: [], plugins: [] };
13+const metadataSnapshot = {
14+configFingerprint: "fingerprint",
15+diagnostics: [],
16+index: { plugins: [], policyHash: "policy" },
17+ manifestRegistry,
18+plugins: [],
19+policyHash: "policy",
20+workspaceDir: "/resolved-workspace",
21+};
22+const loadPluginMetadataSnapshotMock = vi.fn(() => metadataSnapshot);
23+const setCurrentPluginMetadataSnapshotMock = vi.fn();
12241325let resolvePluginRuntimeLoadContext: typeof import("./load-context.js").resolvePluginRuntimeLoadContext;
1426let buildPluginRuntimeLoadOptions: typeof import("./load-context.js").buildPluginRuntimeLoadOptions;
@@ -29,6 +41,14 @@ vi.mock("../../agents/agent-scope.js", () => ({
2941resolveDefaultAgentId: resolveDefaultAgentIdMock,
3042}));
314344+vi.mock("../plugin-metadata-snapshot.js", () => ({
45+loadPluginMetadataSnapshot: loadPluginMetadataSnapshotMock,
46+}));
47+48+vi.mock("../current-plugin-metadata-snapshot.js", () => ({
49+setCurrentPluginMetadataSnapshot: setCurrentPluginMetadataSnapshotMock,
50+}));
51+3252describe("resolvePluginRuntimeLoadContext", () => {
3353beforeEach(async () => {
3454vi.resetModules();
@@ -38,6 +58,8 @@ describe("resolvePluginRuntimeLoadContext", () => {
3858await import("./load-context.js"));
3959loadConfigMock.mockReset();
4060applyPluginAutoEnableMock.mockReset();
61+loadPluginMetadataSnapshotMock.mockClear();
62+setCurrentPluginMetadataSnapshotMock.mockClear();
4163resolveAgentWorkspaceDirMock.mockClear();
4264resolveDefaultAgentIdMock.mockClear();
4365@@ -84,10 +106,23 @@ describe("resolvePluginRuntimeLoadContext", () => {
84106workspaceDir: "/resolved-workspace",
85107 env,
86108logger: context.logger,
109+ manifestRegistry,
110+});
111+expect(loadPluginMetadataSnapshotMock).toHaveBeenCalledWith({
112+config: rawConfig,
113+ env,
114+workspaceDir: "/resolved-workspace",
87115});
88116expect(applyPluginAutoEnableMock).toHaveBeenCalledWith({
89117config: rawConfig,
90118 env,
119+ manifestRegistry,
120+});
121+expect(setCurrentPluginMetadataSnapshotMock).toHaveBeenCalledWith(metadataSnapshot, {
122+config: rawConfig,
123+compatibleConfigs: [resolvedConfig, rawConfig],
124+ env,
125+workspaceDir: "/resolved-workspace",
91126});
92127expect(resolveDefaultAgentIdMock).toHaveBeenCalledWith(resolvedConfig);
93128expect(resolveAgentWorkspaceDirMock).toHaveBeenCalledWith(resolvedConfig, "default");
@@ -111,6 +146,7 @@ describe("resolvePluginRuntimeLoadContext", () => {
111146expect(applyPluginAutoEnableMock).toHaveBeenCalledWith({
112147config: runtimeConfig,
113148env: process.env,
149+ manifestRegistry,
114150});
115151});
116152@@ -134,6 +170,7 @@ describe("resolvePluginRuntimeLoadContext", () => {
134170workspaceDir: "/explicit-workspace",
135171env: context.env,
136172logger: context.logger,
173+ manifestRegistry,
137174cache: false,
138175activate: false,
139176onlyPluginIds: ["demo"],
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。