fix: display proper persona names in custom agent manifests

## Problem
Custom agents showed generic names (like "Commit Poet") instead of their
actual persona names (like "Inkwell Von Comitizen") in the agent manifest.

## Root Cause
The extractManifestData function was using metadata.name/title instead of
extracting the persona name from the compiled agent XML.

## Solution
1. Added extractAgentAttribute function to pull attributes from <agent> tag
2. Prioritize XML extraction over metadata for persona info:
   - displayName: uses agent title attribute from XML
   - title: uses agent title attribute from XML
   - icon: uses agent icon attribute from XML
   - Falls back to metadata if XML extraction fails

## Result
Custom agents now display their actual persona names in manifests:
- Before: "Commit Poet"
- After: "Inkwell Von Comitizen"

This provides better user experience with proper agent identification
in IDE integrations and manifests.
This commit is contained in:
Brian Madison
2025-11-22 17:26:46 -06:00
parent efc2b6d0df
commit 6907d44810
2 changed files with 13 additions and 4 deletions

View File

@@ -2371,7 +2371,6 @@ class Installer {
if (await fs.pathExists(manifestFile)) {
const manifestData = extractManifestData(xml, { ...metadata, name: finalAgentName }, relativePath, 'custom');
manifestData.name = finalAgentName;
manifestData.displayName = metadata.name || finalAgentName;
manifestData.path = relativePath;
addToManifest(manifestFile, manifestData);
}