{
  "interval": {
    "intervalStart": "2025-05-24T00:00:00.000Z",
    "intervalEnd": "2025-05-25T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-05-24 to 2025-05-25, elizaos/eliza had 12 new PRs (14 merged), 2 new issues, and 7 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs64F6-0",
      "title": "API /:agentId/rooms/:roomId is not working",
      "author": "standujar",
      "number": 4763,
      "repository": "elizaos/eliza",
      "body": "**Describe the bug**\n\nthe endpoint to get roomId informations is not working:\n\n```\n{\n  \"success\": false,\n  \"error\": {\n    \"message\": \"API endpoint not found\",\n    \"code\": 404\n  }\n}\n```\n\n**To Reproduce**\n\nCreate an agent, send a message to retrieve roomId from logs and use the API\n\nhttp://localhost:3000/api/agents/:agentId/rooms/:roomId\n\n**Expected behavior**\n\nWe should have information about the specific room ID\n",
      "createdAt": "2025-05-24T15:39:04Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs64F6ix",
      "title": "API /:agentId/rooms is not working",
      "author": "standujar",
      "number": 4762,
      "repository": "elizaos/eliza",
      "body": "**Describe the bug**\n\nThe agents api /rooms return:\n\n```\n{\n  \"success\": true,\n  \"data\": {\n    \"rooms\": []\n  }\n}\n\n```\n**To Reproduce**\n\nRun an agent, check the rooms API : http://localhost:3000/api/agents/:agentId/rooms\n\n**Expected behavior**\n\nWe should have a list of existing registered rooms.\n",
      "createdAt": "2025-05-24T15:36:05Z",
      "closedAt": "2025-05-26T08:43:04Z",
      "state": "CLOSED",
      "commentCount": 0
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs6XY5J-",
      "title": "Updated polygon plugin",
      "author": "Samarthsinghal28",
      "number": 4745,
      "body": "<!-- Use this template by filling in information and copying and pasting relevant items out of the HTML comments. -->\r\n\r\n# Relates to\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This risks section must be filled out before the final review and merge. -->\r\n\r\n# Risks\r\n\r\n<!--\r\nLow, medium, large. List what kind of risks and what could be affected.\r\n-->\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n<!--\r\nBug fixes (non-breaking change which fixes an issue)\r\nImprovements (misc. changes to existing features)\r\nFeatures (non-breaking change which adds functionality)\r\nUpdates (new versions of included code)\r\n-->\r\n\r\n<!-- This \"Why\" section is most relevant if there are no linked issues explaining why. If there is a related issue, it might make sense to skip this why section. -->\r\n<!--\r\n## Why are we doing this? Any context or related work?\r\n-->\r\n\r\n# Documentation changes needed?\r\n\r\n<!--\r\nMy changes do not require a change to the project documentation.\r\nMy changes require a change to the project documentation.\r\nIf documentation change is needed: I have updated the documentation accordingly.\r\n-->\r\n\r\n<!-- Please show how you tested the PR. This will really help if the PR needs to be retested and probably help the PR get merged quicker. -->\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n<!--\r\nNone: Automated tests are acceptable.\r\n-->\r\n\r\n<!--\r\n- As [anon/admin], go to [link]\r\n  - [do action]\r\n  - verify [result]\r\n-->\r\n\r\n<!-- If there is a UI change, please include before and after screenshots or videos. This will speed up PRs being merged. It is extra nice to annotate screenshots with arrows or boxes pointing out the differences. -->\r\n<!--\r\n## Screenshots\r\n### Before\r\n### After\r\n-->\r\n\r\n<!-- If there is anything about the deployment, please make a note. -->\r\n<!--\r\n# Deploy Notes\r\n-->\r\n\r\n<!--  Copy and paste command line output. -->\r\n<!--\r\n## Database changes\r\n-->\r\n\r\n<!--  Please specify deploy instructions if there is something more than the automated steps. -->\r\n<!--\r\n## Deployment instructions\r\n-->\r\n\r\n<!-- If you are on Discord, please join https://discord.gg/elizaOS and state your Discord username here for the contributor role and join us in #development-feed -->\r\n<!--\r\n## Discord username\r\n\r\n-->\r\n",
      "repository": "elizaos/eliza",
      "createdAt": "2025-05-23T13:32:31Z",
      "mergedAt": "2025-05-24T20:46:39Z",
      "additions": 3850,
      "deletions": 1642
    },
    {
      "id": "PR_kwDOMT5cIs6Xa72i",
      "title": "feat: Comprehensive Image and Video Chat Support",
      "author": "wtfsayo",
      "number": 4750,
      "body": "# 🎥 Comprehensive Image and Video Chat Support\n\nThis PR implements complete image and video handling capabilities in the Eliza chat interface, allowing users to share media content that gets properly displayed and processed by AI models.\n\n## ✨ Features Implemented\n\n### 📸 Media URL Detection & Display\n- **Automatic URL parsing** for images and videos in chat messages\n- **Platform embed support** for YouTube and Vimeo links\n- **Clean media display** with proper image/video components\n- **Error handling** with fallback options and external link buttons\n\n### 📁 File Upload Support\n- **Enhanced file input** to accept both images and videos (`accept=\"image/*,video/*\"`)\n- **File preview** showing thumbnails for images and video previews\n- **Upload API integration** with proper error handling\n- **Clean display** - uploaded files show as media content, not file paths\n\n### 🔗 API Integration\n- **New upload endpoint**: `POST /api/agents/:agentId/upload-media`\n- **Media attachments** properly formatted as `Media[]` type from @elizaos/core\n- **AI model integration** - media URLs passed to models for processing\n- **Type safety** with proper TypeScript interfaces\n\n### 🎨 UI/UX Improvements\n- **Updated tooltips** to reflect image/video support\n- **Conditional rendering** for different media types\n- **Loading states** and error handling for media content\n- **Responsive design** with proper sizing constraints\n\n## 🛠️ Technical Implementation\n\n### New Components\n- **`MediaContent`** - Main component for rendering media from text\n- **`ImageContent`** - Dedicated image display with loading states\n- **`VideoContent`** - Video player with embed support\n- **`media-utils.ts`** - Utility functions for URL parsing and media detection\n\n### Enhanced Components\n- **Chat component** - File upload integration and media attachment handling\n- **API client** - New `uploadMedia` method for file uploads\n- **SocketIO manager** - Support for media attachments in messages\n\n### Server Changes\n- **Upload endpoint** - Handles image/video file uploads with validation\n- **Media serving** - Files served at `/media/uploads/` endpoint\n- **Type validation** - Proper MIME type checking for security\n\n## 🔒 Security & Validation\n- **File type validation** - Only allows approved image/video formats\n- **Size limits** - Handled by multer configuration\n- **MIME type checking** - Server-side validation of file types\n- **Error handling** - Graceful fallbacks for failed uploads\n\n## 📱 Supported Formats\n\n### Images\n- JPG, JPEG, PNG, GIF, WebP, SVG, BMP\n\n### Videos\n- MP4, WebM, MOV, AVI, MKV, QuickTime\n\n### Platform Embeds\n- YouTube (youtube.com, youtu.be)\n- Vimeo (vimeo.com)\n\n## 🧪 Usage Examples\n\n```bash\n# Share an image URL\n\"Check out this image: https://example.com/image.jpg\"\n\n# Share a YouTube video\n\"Watch this: https://www.youtube.com/watch?v=dQw4w9WgXcQ\"\n\n# Upload files directly through the chat interface\n# Click the attachment button and select image/video files\n```\n\n## ✅ Testing Completed\n- [x] Image URL detection and display\n- [x] Video URL detection and display  \n- [x] YouTube/Vimeo embed functionality\n- [x] File upload with preview\n- [x] Media attachment processing\n- [x] Error handling for failed uploads\n- [x] Clean display without file paths\n- [x] AI model integration with media URLs\n- [x] Type safety and proper interfaces\n\n## 🔄 Backwards Compatibility\n- ✅ Existing chat functionality unchanged\n- ✅ Text-only messages work as before\n- ✅ Optional media features don't break existing flows\n- ✅ Graceful fallbacks for unsupported media\n\n## 📋 Files Modified\n- `packages/client/src/components/chat.tsx` - Main chat component with upload logic\n- `packages/client/src/lib/api.ts` - Added uploadMedia API function\n- `packages/cli/src/server/api/agent.ts` - Added upload-media endpoint\n- `packages/client/src/components/ui/chat/media-content.tsx` - New MediaContent component\n- `packages/client/src/lib/media-utils.ts` - New media parsing utilities\n- `packages/client/src/lib/socketio-manager.ts` - Media attachment support\n\n## 🎯 Benefits\n- **Enhanced user experience** with rich media support\n- **AI model capabilities** can now process visual content\n- **Platform integration** with popular video services\n- **Clean, intuitive interface** for media sharing\n- **Robust error handling** and type safety\n- **Scalable architecture** for future media features\n\nThis implementation provides a solid foundation for media-rich conversations while maintaining the clean, efficient design of the Eliza chat interface.",
      "repository": "elizaos/eliza",
      "createdAt": "2025-05-23T17:04:07Z",
      "mergedAt": "2025-05-24T18:20:25Z",
      "additions": 1363,
      "deletions": 221
    },
    {
      "id": "PR_kwDOMT5cIs6XgRsL",
      "title": "feat: Enhanced Agent Components with Improved UI and Functionality",
      "author": "wtfsayo",
      "number": 4764,
      "body": "## Summary\n\nThis PR introduces significant enhancements to the agent-related components in the client package, improving both functionality and user experience.\n\n## Key Changes\n\n### Component Restructuring\n- **Renamed and enhanced components** for better organization:\n  - `action-viewer.tsx` → `agent-action-viewer.tsx` (713 lines, enhanced functionality)\n  - `log-viewer.tsx` → `agent-log-viewer.tsx` (500 lines, improved UI)\n  - `memory-viewer.tsx` → `agent-memory-viewer.tsx`\n  - `memory-edit-overlay.tsx` → `agent-memory-edit-overlay.tsx`\n  - `knowledge-manager.tsx` → `agent-knowledge-manager.tsx`\n\n### Enhanced Features\n- **Improved Action Viewer**: Enhanced agent action viewing with better UI components and functionality\n- **Better Log Management**: Upgraded log viewer with improved filtering, auto-scroll, and real-time updates\n- **Consistent Naming**: All agent-related components now follow the `agent-*` naming convention\n- **Updated Imports**: All component references updated throughout the codebase\n\n### Technical Improvements\n- Better component organization and modularity\n- Enhanced TypeScript types and interfaces\n- Improved error handling and loading states\n- Better responsive design and user experience\n\n## Files Changed\n- 10 files modified\n- +1,229 additions, -684 deletions\n- Net addition of 545 lines of enhanced functionality\n\n## Testing\n- All existing functionality preserved\n- Enhanced components maintain backward compatibility\n- Improved user interface and experience\n\n## Related\nThis builds upon previous memory UI enhancements and continues the effort to improve the ElizaOS client interface.",
      "repository": "elizaos/eliza",
      "createdAt": "2025-05-24T15:49:37Z",
      "mergedAt": "2025-05-24T15:50:11Z",
      "additions": 1229,
      "deletions": 684
    },
    {
      "id": "PR_kwDOMT5cIs6XeD3e",
      "title": "chore: move logic for image description to bootstrap",
      "author": "0xbbjoker",
      "number": 4754,
      "body": "\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n- **New Features**\n  - Introduced automatic generation of detailed descriptions for image attachments, including a concise title, summary, and comprehensive description in a structured format.\n\n- **Enhancements**\n  - Attachments from recent messages are now merged more intelligently, avoiding duplicates and redacting details of older attachments for privacy.\n  - Improved handling of different media types with a new classification system.\n\n- **Bug Fixes**\n  - Ensured that missing or incomplete attachment information is supplemented where possible.\n\n<!-- end of auto-generated comment: release notes by coderabbit.ai -->",
      "repository": "elizaos/eliza",
      "createdAt": "2025-05-24T01:57:45Z",
      "mergedAt": "2025-05-24T06:02:46Z",
      "additions": 841,
      "deletions": 34
    },
    {
      "id": "PR_kwDOMT5cIs6XgF90",
      "title": "feat: 🎨 Memory UI Enhancements & UX Improvements",
      "author": "wtfsayo",
      "number": 4761,
      "body": "## 🎨 Memory UI Enhancements & UX Improvements\n\n### Overview\nThis PR significantly improves the memory management interface with enhanced UI components, better user experience, and cleaner visual design across the memory viewer and edit overlay components.\n\n### 🚀 Key Features Added\n\n#### Memory Viewer Improvements\n- **Enhanced Search Functionality**: Added a proper search input with search icon for filtering memories\n- **Improved Date Grouping**: Redesigned date separators with horizontal lines and centered date labels\n- **Better Loading States**: Added \"Load More\" button with loading indicator instead of infinite scroll\n- **Cleaner Memory Cards**: Streamlined memory card design with better content organization\n- **Responsive Layout**: Improved spacing and layout for better readability\n\n#### Memory Edit Overlay Enhancements  \n- **Simplified Content Display**: Reorganized memory content with cleaner sections\n- **Thought Process Section**: Added dedicated section for AI thought processes with brain icon\n- **Improved Metadata Handling**: Collapsible metadata section with better formatting\n- **Enhanced Tag System**: Unified display for actions, providers, and sources as tags\n- **Better Visual Hierarchy**: Improved spacing and typography throughout\n\n### 🔧 Technical Improvements\n\n#### UI/UX Changes\n- Replaced badges with simpler span elements for counts and tags\n- Added proper search input with icon from `lucide-react`\n- Implemented horizontal separators for date grouping\n- Enhanced loading states with spinner and descriptive text\n- Improved responsive design and spacing consistency\n\n#### Code Quality\n- Better component organization and prop handling\n- Improved accessibility with proper ARIA labels\n- Cleaner CSS classes and consistent styling\n- Enhanced error handling and loading states\n\n### 📁 Files Modified\n- `packages/client/src/components/memory-viewer.tsx` - Main memory viewer component\n- `packages/client/src/components/memory-edit-overlay.tsx` - Memory editing interface\n\n### 🎯 Benefits\n- **Better User Experience**: More intuitive navigation and interaction\n- **Improved Performance**: Optimized loading with pagination controls\n- **Enhanced Readability**: Cleaner visual hierarchy and content organization\n- **Mobile Friendly**: Better responsive design for various screen sizes\n\n### 🧪 Testing\n- [x] Memory viewer displays correctly with new search functionality\n- [x] Date grouping works properly with new separator design\n- [x] Load more functionality works as expected\n- [x] Memory edit overlay shows improved layout\n- [x] All existing functionality preserved\n- [x] Responsive design tested on multiple screen sizes\n\nThis update transforms the memory management interface into a more polished, user-friendly experience while maintaining all existing functionality.",
      "repository": "elizaos/eliza",
      "createdAt": "2025-05-24T14:18:53Z",
      "mergedAt": "2025-05-24T14:19:22Z",
      "additions": 568,
      "deletions": 296
    }
  ],
  "codeChanges": {
    "additions": 8578,
    "deletions": 4599,
    "files": 104,
    "commitCount": 44
  },
  "completedItems": [
    {
      "title": "feat: Comprehensive Image and Video Chat Support",
      "prNumber": 4750,
      "type": "feature",
      "body": "# 🎥 Comprehensive Image and Video Chat Support\n\nThis PR implements complete image and video handling capabilities in the Eliza chat interface, allowing users to share media content that gets properly displayed and processed by AI models.\n\n"
    },
    {
      "title": "feat: improve port + remote-url configuration support",
      "prNumber": 4749,
      "type": "feature",
      "body": ""
    },
    {
      "title": "Updated polygon plugin",
      "prNumber": 4745,
      "type": "other",
      "body": "<!-- Use this template by filling in information and copying and pasting relevant items out of the HTML comments. -->\r\n\r\n# Relates to\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This risks section must be filled out before the final review "
    },
    {
      "title": "feat: WebSocket-based log streaming with live mode toggle",
      "prNumber": 4765,
      "type": "feature",
      "body": "## Summary\n\nThis PR adds real-time WebSocket-based log streaming to the log viewer with intelligent fallback to API polling. When the live mode toggle is enabled, the system automatically uses WebSocket streaming for instant log updates, bu"
    },
    {
      "title": "feat: Enhanced Agent Components with Improved UI and Functionality",
      "prNumber": 4764,
      "type": "feature",
      "body": "## Summary\n\nThis PR introduces significant enhancements to the agent-related components in the client package, improving both functionality and user experience.\n\n## Key Changes\n\n### Component Restructuring\n- **Renamed and enhanced component"
    },
    {
      "title": "feat: 🎨 Memory UI Enhancements & UX Improvements",
      "prNumber": 4761,
      "type": "feature",
      "body": "## 🎨 Memory UI Enhancements & UX Improvements\n\n### Overview\nThis PR significantly improves the memory management interface with enhanced UI components, better user experience, and cleaner visual design across the memory viewer and edit ove"
    },
    {
      "title": "refactor: consolidate duplicate publishing workflows",
      "prNumber": 4760,
      "type": "refactor",
      "body": "## Summary\n- Consolidate `pre-release.yml`, `release.yaml`, and `deploy-cli.yml` into a single `publish.yml` workflow\n- Eliminate ~90% code duplication while maintaining all existing functionality\n- Add enhanced manual trigger with dry-run "
    },
    {
      "title": "refactor: convert deploy-cli workflow to manual trigger with dist-tag selection",
      "prNumber": 4759,
      "type": "refactor",
      "body": "## Summary\n- Converts deploy-cli workflow from automatic push trigger to manual workflow_dispatch\n- Adds GH_PAT token for enhanced git operations and permissions\n- Replaces manual version checking with lerna-managed prerelease versioning\n- "
    },
    {
      "title": "feat: properly exclude template packages from lerna publish",
      "prNumber": 4758,
      "type": "feature",
      "body": "## Summary\n- Fix lerna publish command to properly exclude template packages from auto-publishing\n- Resolves GitHub Actions failure: \"lerna --ignore was renamed to --ignore-changes\"\n- Implements proper template exclusion while keeping templ"
    },
    {
      "title": "fix: resolve deploy-cli workflow publishing failures",
      "prNumber": 4757,
      "type": "bugfix",
      "body": "## Summary\n- Fix E404 and E403 publishing errors in deploy-cli workflow\n- Add lerna ignore flags for template packages that shouldn't be published\n- Exclude both `create-eliza` and `plugin-starter` via workflow ignore flags\n\n## Changes\n- Ad"
    },
    {
      "title": "Update claude.yml",
      "prNumber": 4756,
      "type": "other",
      "body": ""
    },
    {
      "title": "chore: move logic for image description to bootstrap",
      "prNumber": 4754,
      "type": "other",
      "body": "\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n- **New Features**\n  - Introduced automatic generation of detailed descriptions for image attachments, including a concise title, summar"
    },
    {
      "title": "fix: remove tee plugin, bump packages",
      "prNumber": 4753,
      "type": "bugfix",
      "body": "removes tee-plugin from monorepo, syncs packages to latest tags"
    },
    {
      "title": "fix: .env hoisting in non-monorepo dirs",
      "prNumber": 4752,
      "type": "bugfix",
      "body": "Any .envs upper from the project directory would get grabbed, even not inside monorepos... now this forces .env creation and respects the project folder."
    }
  ],
  "topContributors": [
    {
      "username": "wtfsayo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4",
      "totalScore": 276.50856822129435,
      "prScore": 276.50856822129435,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "wtfsayo: Merged 8 PRs, including significant contributions like #4764 \"feat: Enhanced Agent Components with Improved UI and Function...\" (+1242/-697 lines) and #4761 \"feat: 🎨 Memory UI Enhancements & UX Improvements\" (+568/-296 lines), while modifying 168 files with a total of +7873/-5158 lines. The work was primarily focused on feature development (26%) and bug fixes (26%), demonstrating consistent activity with 34 commits today."
    },
    {
      "username": "ChristopherTrimboli",
      "avatarUrl": "https://avatars.githubusercontent.com/u/27584221?u=0d816ce1dcdea8f925aba18bb710153d4a87a719&v=4",
      "totalScore": 78.2424772780464,
      "prScore": 78.2424772780464,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "ChristopherTrimboli: Merged 2 PRs today, including #4753 \"fix: remove tee plugin, bump packages\" (+1094/-1730 lines) and #4752 \"fix: .env hoisting in non-monorepo dirs\" (+30/-25 lines), while modifying 31 files overall (+251/-1378 lines). His work was evenly split between bug fixes and other tasks, demonstrating consistent activity with 2 commits."
    },
    {
      "username": "0xbbjoker",
      "avatarUrl": "https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4",
      "totalScore": 69.12329223073853,
      "prScore": 68.78329223073852,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.33999999999999997,
      "summary": "0xbbjoker: Merged 1 PR (#4754) with significant changes (+844/-37 lines) and opened another PR (#4755) focused on agent configuration updates. Made modifications across 14 files (+884/-157 lines) with a primary emphasis on feature work (80%)."
    },
    {
      "username": "standujar",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16385918?u=718bdcd1585be8447bdfffb8c11ce249baa7532d&v=4",
      "totalScore": 4,
      "prScore": 0,
      "issueScore": 4,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "standujar: Created 2 issues related to API functionality, specifically #4763 \"API /:agentId/rooms/:roomId is not working\" and #4762 \"API /:agentId/rooms is not working,\" indicating a focus on identifying and reporting bugs. Active today, but overall activity has been sporadic with no code changes or merged pull requests."
    },
    {
      "username": "lalalune",
      "avatarUrl": "https://avatars.githubusercontent.com/u/18633264?u=e2e906c3712c2506ebfa98df01c2cfdc50050b30&v=4",
      "totalScore": 0.2,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.2,
      "summary": "lalalune: Made significant code changes by modifying 76 files, resulting in a net change of +4692/-2750 lines, with a primary focus on other work. Active today, demonstrating a consistent work pattern with 1 commit and 1 PR comment."
    }
  ],
  "newPRs": 12,
  "mergedPRs": 14,
  "newIssues": 2,
  "closedIssues": 0,
  "activeContributors": 7
}