fix: unify agent display names and strip invisible sort prefixes

- Replace getAgentRuntimeName with getAgentDisplayName for consistency
- Add stripAgentListSortPrefix helper to normalize agent names
- Strip sort prefixes in subagent-resolver and sync-executor
- Backfill canonical names for core agents when builtin configs omit name
- Update tests to match new behavior
This commit is contained in:
YeonGyu-Kim
2026-04-11 14:53:01 +09:00
parent c30b058b7e
commit 9f135af41c
9 changed files with 180 additions and 37 deletions
@@ -732,4 +732,24 @@ describe("resolveSubagentExecution - agent name sanitization", () => {
expect(result.error).toBeUndefined()
expect(result.agentToUse).toBe("explore")
})
test("matches runtime agent names that include invisible sort prefixes", async () => {
//#given
readProviderModelsCacheMock.mockReturnValue({
models: {},
connected: [],
updatedAt: "2026-03-03T00:00:00.000Z",
})
const args = createBaseArgs({ subagent_type: "Sisyphus - Ultraworker" })
const executorCtx = createExecutorContext(async () => ([
{ name: "\u200BSisyphus - Ultraworker", mode: "subagent", model: "openai/gpt-5.3-codex" },
]))
//#when
const result = await resolveSubagentExecution(args, executorCtx, "oracle", "deep")
//#then
expect(result.error).toBeUndefined()
expect(result.agentToUse).toBe("Sisyphus - Ultraworker")
})
})