


























@@ -39,6 +39,12 @@ describe("configured plugin install release step", () => {
3939touchedVersion: "2026.4.30",
4040}),
4141).toBe(false);
42+expect(
43+shouldRunConfiguredPluginInstallReleaseStep({
44+currentVersion: "2026.5.2-beta.1",
45+touchedVersion: "2026.5.1",
46+}),
47+).toBe(true);
4248expect(
4349shouldRunConfiguredPluginInstallReleaseStep({
4450currentVersion: "2026.5.2",
@@ -123,6 +129,37 @@ describe("configured plugin install release step", () => {
123129expect(result.channelIds).toEqual(["wecom"]);
124130});
125131132+it("collects Codex from the configured agent runtime even without integration discovery", async () => {
133+const { collectReleaseConfiguredPluginIds } =
134+await import("./release-configured-plugin-installs.js");
135+const result = collectReleaseConfiguredPluginIds({
136+cfg: {
137+agents: {
138+defaults: {
139+model: "openai/gpt-5.4",
140+agentRuntime: { id: "codex" },
141+},
142+},
143+},
144+env: {},
145+});
146+147+expect(mocks.detectPluginAutoEnableCandidates).toHaveBeenCalledWith(
148+expect.objectContaining({
149+config: expect.objectContaining({
150+agents: expect.objectContaining({
151+defaults: expect.objectContaining({
152+model: "openai/gpt-5.4",
153+agentRuntime: { id: "codex" },
154+}),
155+}),
156+}),
157+}),
158+);
159+expect(result.pluginIds).toEqual(["codex"]);
160+expect(result.channelIds).toEqual([]);
161+});
162+126163it("does not collect channel ids when the matching plugin id is blocked", async () => {
127164const { collectReleaseConfiguredPluginIds } =
128165await import("./release-configured-plugin-installs.js");
@@ -178,26 +215,30 @@ describe("configured plugin install release step", () => {
178215});
179216180217it("repairs used plugin installs and touches config only on success", async () => {
181-mocks.detectPluginAutoEnableCandidates.mockReturnValue([
182-{ pluginId: "matrix", kind: "channel-configured", channelId: "matrix" },
183-]);
184218mocks.repairMissingPluginInstallsForIds.mockResolvedValue({
185-changes: ['Installed missing configured plugin "matrix".'],
219+changes: ['Installed missing configured plugin "codex".'],
186220warnings: [],
187221});
188222189223const { maybeRunConfiguredPluginInstallReleaseStep } =
190224await import("./release-configured-plugin-installs.js");
191225const result = await maybeRunConfiguredPluginInstallReleaseStep({
192-cfg: {},
193-currentVersion: "2026.5.2",
226+cfg: {
227+agents: {
228+defaults: {
229+model: "openai/gpt-5.4",
230+agentRuntime: { id: "codex" },
231+},
232+},
233+},
234+currentVersion: "2026.5.2-beta.1",
194235touchedVersion: "2026.5.1",
195236env: {},
196237});
197238198239expect(mocks.repairMissingPluginInstallsForIds).toHaveBeenCalledWith(
199240expect.objectContaining({
200-pluginIds: ["matrix"],
241+pluginIds: ["codex"],
201242channelIds: [],
202243env: {},
203244}),
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。