| 30 | } |
| 31 | |
| 32 | function parseIdentityMd(): { name: string; creature: string; emoji: string } { |
| 33 | try { |
| 34 | const content = fs.readFileSync(IDENTITY_PATH, 'utf-8'); |
| 35 | const nameMatch = content.match(/\*\*Name:\*\*\s*(.+)/); |
| 36 | const creatureMatch = content.match(/\*\*Creature:\*\*\s*(.+)/); |
| 37 | const emojiMatch = content.match(/\*\*Emoji:\*\*\s*(.+)/); |
| 38 | |
| 39 | return { |
| 40 | name: nameMatch?.[1]?.trim() || 'Unknown', |
| 41 | creature: creatureMatch?.[1]?.trim() || 'AI Agent', |
| 42 | emoji: emojiMatch?.[1]?.match(/./u)?.[0] || '🤖', |
| 43 | }; |
| 44 | } catch { |
| 45 | return { name: 'OpenClaw Agent', creature: 'AI Agent', emoji: '🤖' }; |
| 46 | } |
| 47 | } |
| 48 | |
| 49 | function getIntegrationStatus() { |
| 50 | const integrations = []; |