Browse Source

refactor: share agent alias validation pattern

dhaern 3 months ago
parent
commit
54ef8fb9ec
1 changed files with 3 additions and 2 deletions
  1. 3 2
      src/agents/index.ts

+ 3 - 2
src/agents/index.ts

@@ -37,6 +37,7 @@ type AgentFactory = (
 ) => AgentDefinition;
 
 const COUNCIL_TOOL_ALLOWED_AGENTS = new Set(['council']);
+const SAFE_AGENT_ALIAS_RE = /^[a-z][a-z0-9_-]*$/i;
 
 function normalizeDisplayName(displayName: string): string {
   const trimmed = displayName.trim();
@@ -44,7 +45,7 @@ function normalizeDisplayName(displayName: string): string {
 }
 
 function isSafeDisplayName(displayName: string): boolean {
-  return /^[a-z][a-z0-9_-]*$/i.test(displayName);
+  return SAFE_AGENT_ALIAS_RE.test(displayName);
 }
 
 function escapeRegExp(value: string): string {
@@ -96,7 +97,7 @@ function normalizeCustomAgentName(name: string): string {
 }
 
 function isSafeCustomAgentName(name: string): boolean {
-  return /^[a-z][a-z0-9_-]*$/i.test(name) && !isKnownAgentName(name);
+  return SAFE_AGENT_ALIAS_RE.test(name) && !isKnownAgentName(name);
 }
 
 function hasCustomAgentModel(