Merge pull request #3437 from code-yeongyu/fix/bug-batch-2

fix: Git Bash shell detection, legacy agent name resolution, backup spam
This commit is contained in:
YeonGyu-Kim
2026-04-15 10:53:46 +09:00
committed by GitHub
7 changed files with 172 additions and 13 deletions
@@ -150,6 +150,28 @@ describe("claude-code-session-state", () => {
expect(resolveRegisteredAgentName("Atlas - Plan Executor")).toBe("\u200B\u200B\u200B\u200BAtlas - Plan Executor")
})
test("should resolve legacy parenthesized names to registered agent", () => {
// given - agent registered with new display name format
registerAgentName("\u200BSisyphus - Ultraworker")
// when - historical session has old parenthesized format
const resolved = resolveRegisteredAgentName("Sisyphus (Ultraworker)")
// then - resolves to registered name via config key lookup
expect(resolved).toBe("\u200BSisyphus - Ultraworker")
})
test("should resolve bare lowercase name from historical session", () => {
// given - agent registered with new display name
registerAgentName("Prometheus - Plan Builder")
// when - old session stored just "prometheus"
const resolved = resolveRegisteredAgentName("prometheus")
// then
expect(resolved).toBe("Prometheus - Plan Builder")
})
describe("#given atlas display name with zero-width prefix", () => {
describe("#when checking registration without the zero-width prefix", () => {
test("#then it treats the display name as registered", () => {
@@ -52,7 +52,19 @@ export function resolveRegisteredAgentName(name: string | undefined): string | u
}
const normalizedName = normalizeRegisteredAgentName(name)
return registeredAgentAliases.get(normalizedName) ?? normalizeStoredAgentName(name)
const directMatch = registeredAgentAliases.get(normalizedName)
if (directMatch !== undefined) return directMatch
// Resolve legacy/capitalized agent names (e.g. "Sisyphus (Ultraworker)")
// to their config key, then look up the registered alias for that key.
const configKey = getAgentConfigKey(name)
const normalizedConfigKey = normalizeRegisteredAgentName(configKey)
if (normalizedConfigKey !== normalizedName) {
const aliasMatch = registeredAgentAliases.get(normalizedConfigKey)
if (aliasMatch !== undefined) return aliasMatch
}
return normalizeStoredAgentName(name)
}
/** @internal For testing only */