feat(agent): add getAgentListDisplayName utility for OpenCode list ordering
Add helper function that returns runtime-facing agent name with sort prefixes for consistent OpenCode agent list display ordering. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -33,10 +33,10 @@ const AGENT_LIST_SORT_PREFIXES: Record<string, string> = {
|
|||||||
atlas: "\u200B\u200B\u200B\u200B",
|
atlas: "\u200B\u200B\u200B\u200B",
|
||||||
}
|
}
|
||||||
|
|
||||||
const ZERO_WIDTH_AGENT_CHARACTERS_REGEX = /[\u200B\u200C\u200D\uFEFF]/g
|
const INVISIBLE_AGENT_CHARACTERS_REGEX = /[\u200B\u200C\u200D\uFEFF]/g
|
||||||
|
|
||||||
export function stripInvisibleAgentCharacters(agentName: string): string {
|
export function stripInvisibleAgentCharacters(agentName: string): string {
|
||||||
return agentName.replace(ZERO_WIDTH_AGENT_CHARACTERS_REGEX, "")
|
return agentName.replace(INVISIBLE_AGENT_CHARACTERS_REGEX, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
export function stripAgentListSortPrefix(agentName: string): string {
|
export function stripAgentListSortPrefix(agentName: string): string {
|
||||||
@@ -71,11 +71,7 @@ export function getAgentDisplayName(configKey: string): string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Do NOT use for config.agent keys or API-facing names.
|
* Runtime-facing agent name used for OpenCode list ordering.
|
||||||
* ZWSP prefixes leak into the /agent API response and break prompt_async consumers.
|
|
||||||
* Use getAgentDisplayName() instead. The `order` field injected by
|
|
||||||
* reorderAgentsByPriority() handles sort ordering without invisible characters.
|
|
||||||
* See: https://github.com/code-yeongyu/oh-my-openagent/issues/3238
|
|
||||||
*/
|
*/
|
||||||
export function getAgentListDisplayName(configKey: string): string {
|
export function getAgentListDisplayName(configKey: string): string {
|
||||||
return getAgentRuntimeName(configKey)
|
return getAgentRuntimeName(configKey)
|
||||||
|
|||||||
Reference in New Issue
Block a user