fix(start-work): use canonical display name for command routing

This commit is contained in:
YeonGyu-Kim
2026-04-08 16:09:09 +09:00
parent 8925ec3a16
commit 24629643f0
3 changed files with 9 additions and 9 deletions
@@ -5,7 +5,7 @@ import * as skillLoader from "../features/opencode-skill-loader";
import type { OhMyOpenCodeConfig } from "../config";
import type { PluginComponents } from "./plugin-components-loader";
import { applyCommandConfig } from "./command-config-handler";
import { getAgentDisplayName, getAgentListDisplayName } from "../shared/agent-display-names";
import { getAgentDisplayName } from "../shared/agent-display-names";
function createPluginComponents(): PluginComponents {
return {
@@ -97,7 +97,7 @@ describe("applyCommandConfig", () => {
expect(commandConfig["agents-global-skill"]?.description).toContain("Agents global skill");
});
test("normalizes Atlas command agents to the exported agent key used for native routing", async () => {
test("normalizes Atlas command agents to the canonical display name used for native routing", async () => {
// given
loadBuiltinCommandsSpy.mockReturnValue({
"start-work": {
@@ -119,10 +119,10 @@ describe("applyCommandConfig", () => {
// then
const commandConfig = config.command as Record<string, { agent?: string }>;
expect(commandConfig["start-work"]?.agent).toBe(getAgentListDisplayName("atlas"));
expect(commandConfig["start-work"]?.agent).toBe(getAgentDisplayName("atlas"));
});
test("normalizes legacy display-name command agents to the exported agent key", async () => {
test("normalizes legacy display-name command agents to the canonical display name", async () => {
// given
loadBuiltinCommandsSpy.mockReturnValue({
"start-work": {
@@ -144,6 +144,6 @@ describe("applyCommandConfig", () => {
// then
const commandConfig = config.command as Record<string, { agent?: string }>;
expect(commandConfig["start-work"]?.agent).toBe(getAgentListDisplayName("atlas"));
expect(commandConfig["start-work"]?.agent).toBe(getAgentDisplayName("atlas"));
});
});
@@ -1,7 +1,7 @@
import type { OhMyOpenCodeConfig } from "../config";
import {
getAgentConfigKey,
getAgentListDisplayName,
getAgentDisplayName,
} from "../shared/agent-display-names";
import {
loadUserCommands,
@@ -99,7 +99,7 @@ export async function applyCommandConfig(params: {
function remapCommandAgentFields(commands: Record<string, Record<string, unknown>>): void {
for (const cmd of Object.values(commands)) {
if (cmd?.agent && typeof cmd.agent === "string") {
cmd.agent = getAgentListDisplayName(getAgentConfigKey(cmd.agent));
cmd.agent = getAgentDisplayName(getAgentConfigKey(cmd.agent));
}
}
}
+2 -2
View File
@@ -1251,7 +1251,7 @@ describe("config-handler plugin loading error boundary (#1559)", () => {
})
describe("command agent routing coherence", () => {
test("keeps start-work aligned with the exported Atlas agent key", async () => {
test("keeps start-work aligned with the canonical Atlas display name", async () => {
//#given
const createBuiltinAgentsMock = agents.createBuiltinAgents as unknown as {
mockResolvedValue: (value: Record<string, unknown>) => void
@@ -1291,7 +1291,7 @@ describe("command agent routing coherence", () => {
const agentConfig = config.agent as Record<string, unknown>
const commandConfig = config.command as Record<string, { agent?: string }>
expect(Object.keys(agentConfig)).toContain(getAgentListDisplayName("atlas"))
expect(commandConfig["start-work"]?.agent).toBe(getAgentListDisplayName("atlas"))
expect(commandConfig["start-work"]?.agent).toBe(getAgentDisplayName("atlas"))
})
})