fix(agents): strip ZWSP ordering prefixes in session state, config lookups, and override protection

Prevent ZWSP sort prefixes from leaking into stored agent names, config
key lookups, and override-protection normalization. Ensures prefixed
list-display names resolve correctly throughout the pipeline.

🤖 Generated with [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode) assistance
This commit is contained in:
YeonGyu-Kim
2026-04-06 18:07:26 +09:00
parent 178b635d72
commit e62d5d7a22
5 changed files with 62 additions and 4 deletions
@@ -21,6 +21,10 @@ function normalizeRegisteredAgentName(name: string): string {
return name.replace(ZERO_WIDTH_CHARACTERS_REGEX, "").toLowerCase()
}
function normalizeStoredAgentName(name: string): string {
return name.replace(ZERO_WIDTH_CHARACTERS_REGEX, "")
}
export function registerAgentName(name: string): void {
const normalizedName = normalizeRegisteredAgentName(name)
registeredAgentNames.add(normalizedName)
@@ -48,12 +52,12 @@ const sessionAgentMap = new Map<string, string>()
export function setSessionAgent(sessionID: string, agent: string): void {
if (!sessionAgentMap.has(sessionID)) {
sessionAgentMap.set(sessionID, agent)
sessionAgentMap.set(sessionID, normalizeStoredAgentName(agent))
}
}
export function updateSessionAgent(sessionID: string, agent: string): void {
sessionAgentMap.set(sessionID, agent)
sessionAgentMap.set(sessionID, normalizeStoredAgentName(agent))
}
export function getSessionAgent(sessionID: string): string | undefined {