{
  "interval": {
    "intervalStart": "2025-09-14T00:00:00.000Z",
    "intervalEnd": "2025-09-21T00:00:00.000Z",
    "intervalType": "week"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-09-14 to 2025-09-21, elizaos/eliza had 14 new PRs (12 merged), 3 new issues, and 13 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs7LRVBR",
      "title": "dont show update available for alpha versions if user is not on alpha dist",
      "author": "linear",
      "number": 5971,
      "repository": "elizaos/eliza",
      "body": "<img src=\"https://uploads.linear.app/186bdefa-3633-464a-80cd-6e86fe765a5c/0af2decf-dd33-469a-aab1-779f4bd0a107/5e076123-c41d-4e75-a0b2-108e59225fb7?signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXRoIjoiLzE4NmJkZWZhLTM2MzMtNDY0YS04MGNkLTZlODZmZTc2NWE1Yy8wYWYyZGVjZi1kZDMzLTQ2OWEtYWFiMS03NzlmNGJkMGExMDcvNWUwNzYxMjMtYzQxZC00ZTc1LWEwYjItMTA4ZTU5MjI1ZmI3IiwiaWF0IjoxNzU3NjgwNTY4LCJleHAiOjMzMzI4MjQwNTY4fQ.1dmB2U08TnPOzd53R8Pfc4NZZH86lZfc6s91PToMlR0 \" alt=\"image.png\" width=\"742\" data-linear-height=\"115\" />",
      "createdAt": "2025-09-12T12:36:08Z",
      "closedAt": "2025-09-18T12:01:04Z",
      "state": "CLOSED",
      "commentCount": 3
    },
    {
      "id": "I_kwDOMT5cIs7Kl2v9",
      "title": "Provide an option for webhooks (Farcaster)",
      "author": "borisudovicic",
      "number": 5944,
      "repository": "elizaos/eliza",
      "body": "From Github:<br><br>The polling interval is either pretty expensive or bad UX. Looking for alternative options to initiate new messages via webhook. This can be an advanced option with polling remaining as the default (good exp for new devs).\n\n* Webhooks also introduce additional flexibility in the poll/fetch options (e.g. post a link or specific phrase or in a specific channel) without additional modifications to the plugin & config.\n\nBase neynar plan: 1M CU per month (10M at second tier)<br>Polling notifications: 300 CU<br><br>\"Plugins can mount routes to the elizaos server and trigger stuff so possible to do webhooks without too much complexity\" - Sayo",
      "createdAt": "2025-09-09T15:18:48Z",
      "closedAt": "2025-09-18T12:01:10Z",
      "state": "CLOSED",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7Kl1sS",
      "title": "Update Neynar SDK (Farcaster)",
      "author": "borisudovicic",
      "number": 5943,
      "repository": "elizaos/eliza",
      "body": "",
      "createdAt": "2025-09-09T15:17:53Z",
      "closedAt": "2025-09-18T12:01:06Z",
      "state": "CLOSED",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7K1ixs",
      "title": "Prepare ETH Tokyo Workshop",
      "author": "linear",
      "number": 5955,
      "repository": "elizaos/eliza",
      "body": "",
      "createdAt": "2025-09-10T16:04:27Z",
      "closedAt": "2025-09-14T06:47:15Z",
      "state": "CLOSED",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7Kyob3",
      "title": "https://github.com/elizaos-plugins/plugin-polymarket",
      "author": "linear",
      "number": 5950,
      "repository": "elizaos/eliza",
      "body": "",
      "createdAt": "2025-09-10T12:27:11Z",
      "closedAt": "2025-09-18T12:01:06Z",
      "state": "CLOSED",
      "commentCount": 0
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs6pXAC9",
      "title": "Pending PR",
      "author": "K1mc4n",
      "number": 5989,
      "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/ai16z 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-09-18T19:03:58Z",
      "mergedAt": null,
      "additions": 82050,
      "deletions": 51241
    },
    {
      "id": "PR_kwDOMT5cIs6pYAwb",
      "title": "chore: refactor dynamic migrations",
      "author": "0xbbjoker",
      "number": 5990,
      "body": "",
      "repository": "elizaos/eliza",
      "createdAt": "2025-09-18T20:36:13Z",
      "mergedAt": null,
      "additions": 10554,
      "deletions": 1667
    },
    {
      "id": "PR_kwDOMT5cIs6meEtU",
      "title": "refactor: centralize business logic in server package",
      "author": "standujar",
      "number": 5864,
      "body": "# Relates to\r\n\r\n  #5860 Refactor Eliza CLI\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                           \r\n   # Risks                                                                                                                                                                                                                                                                               \r\n                                                                                                                                                                                                                                                                                         \r\n   **Low to Medium**                                                                                                                                                                                                                                                                     \r\n   - **Low**: All existing functionality maintained with backward compatibility                                                                                                                                                                                                          \r\n   - **Medium**: Large architectural change affecting core components, thoroughly tested                                                                                                                                                                                                 \r\n                                                                                                                                                                                                                                                                                         \r\n   # Background                                                                                                                                                                                                                                                                          \r\n                                                                                                                                                                                                                                                                                         \r\n   ## What does this PR do?                                                                                                                                                                                                                                                              \r\n                                                                                                                                                                                                                                                                                         \r\n   This PR refactors the ElizaOS architecture by moving all business logic from the CLI package to the server package. The CLI becomes a thin orchestration layer that delegates to the server package, eliminating code duplication and creating a cleaner separation of concerns.      \r\n                                                                                                                                                                                                                                                                                         \r\n   **Key changes:**                                                                                                                                                                                                                                                                      \r\n   - Moved 870+ lines of business logic from CLI to server package                                                                                                                                                                                                                       \r\n   - Created new `ElizaOS` orchestration class and managers (Agent, Plugin, Config) in server package                                                                                                                                                                                    \r\n   - Simplified CLI to ~170 lines of pure delegation code                                                                                                                                                                                                                                \r\n   - Removed 1,612 lines of redundant code while adding 1,211 lines of well-organized managers                                                                                                                                                                                           \r\n   - Maintained 100% backward compatibility for all existing use cases                                                                                                                                                                                                                   \r\n                                                                                                                                                                                                                                                                                         \r\n   **Files deleted from CLI:**                                                                                                                                                                                                                                                           \r\n   - `commands/start/actions/agent-start.ts` (134 lines)                                                                                                                                                                                                                                 \r\n   - `commands/start/actions/server-start.ts` (118 lines)                                                                                                                                                                                                                                \r\n   - `commands/start/utils/config-utils.ts` (73 lines)                                                                                                                                                                                                                                   \r\n   - `commands/start/utils/dependency-resolver.ts` (56 lines)                                                                                                                                                                                                                            \r\n   - `commands/start/utils/loader.ts` (120 lines)                                                                                                                                                                                                                                        \r\n   - `commands/start/utils/plugin-utils.ts` (99 lines)                                                                                                                                                                                                                                   \r\n                                                                                                                                                                                                                                                                                         \r\n   **New files in server:**                                                                                                                                                                                                                                                              \r\n   - `orchestration/ElizaOS.ts` - Main orchestration (166 lines)                                                                                                                                                                                                                         \r\n   - `managers/AgentManager.ts` - Agent lifecycle (171 lines)                                                                                                                                                                                                                            \r\n   - `managers/PluginLoader.ts` - Plugin management (140 lines)                                                                                                                                                                                                                          \r\n   - `managers/ConfigManager.ts` - Config handling (123 lines)                                                                                                                                                                                                                           \r\n   - `characters/default.ts` - Default Eliza character (271 lines)                                                                                                                                                                                                                       \r\n                                                                                                                                                                                                                                                                                         \r\n   ## What kind of change is this?                                                                                                                                                                                                                                                       \r\n                                                                                                                                                                                                                                                                                         \r\n   **Improvements** (misc. changes to existing features) - Major architectural refactoring without breaking changes                                                                                                                                                                      \r\n                                                                                                                                                                                                                                                                                         \r\n   # Documentation changes needed?                                                                                                                                                                                                                                                       \r\n                                                                                                                                                                                                                                                                                         \r\n   My changes do not require a change to the project documentation.                                                                                                                                                                                                                      \r\n   - The public API remains the same                                                                                                                                                                                                                                                     \r\n   - All commands work identically                                                                                                                                                                                                                                                       \r\n   - Internal architecture changes only                                                                                                                                                                                                                                                  \r\n                                                                                                                                                                                                                                                                                         \r\n   # Testing                                                                                                                                                                                                                                                                             \r\n                                                                                                                                                                                                                                                                                         \r\n   ## Where should a reviewer start?                                                                                                                                                                                                                                                     \r\n                                                                                                                                                                                                                                                                                         \r\n   1. Review the new architecture in `packages/server/src/`:                                                                                                                                                                                                                             \r\n      - `orchestration/ElizaOS.ts` - Main orchestration class                                                                                                                                                                                                                            \r\n      - `managers/AgentManager.ts` - Agent lifecycle management                                                                                                                                                                                                                          \r\n      - `managers/PluginLoader.ts` - Plugin loading and dependency resolution                                                                                                                                                                                                            \r\n      - `managers/ConfigManager.ts` - Configuration management                                                                                                                                                                                                                           \r\n                                                                                                                                                                                                                                                                                         \r\n   2. Check the simplified CLI in `packages/cli/src/commands/start/index.ts`                                                                                                                                                                                                             \r\n                                                                                                                                                                                                                                                                                         \r\n   ## Detailed testing steps                                                                                                                                                                                                                                                             \r\n                                                                                                                                                                                                                                                                                         \r\n   ```bash                                                                                                                                                                                                                                                                               \r\n   # Test 1: CLI with character files (standalone mode)                                                                                                                                                                                                                                  \r\n   cd eliza                                                                                                                                                                                                                                                                              \r\n   bun run build                                                                                                                                                                                                                                                                         \r\n   bunx elizaos start --character characters/cartman.json                                                                                                                                                                                                                                \r\n   # Verify: Agent starts successfully                                                                                                                                                                                                                                                   \r\n                                                                                                                                                                                                                                                                                         \r\n   # Test 2: CLI within a project                                                                                                                                                                                                                                                        \r\n   bunx elizaos create test-project --yes                                                                                                                                                                                                                                                \r\n   cd test-project                                                                                                                                                                                                                                                                       \r\n   bunx elizaos start                                                                                                                                                                                                                                                                    \r\n   # Verify: Project agents load and start                                                                                                                                                                                                                                               \r\n                                                                                                                                                                                                                                                                                         \r\n   # Test 3: Test command still works                                                                                                                                                                                                                                                    \r\n   bunx elizaos test                                                                                                                                                                                                                                                                     \r\n   # Verify: Tests run successfully                                                                                                                                                                                                                                                      \r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     \r\n   # Test 5: Build and test                                                                                                                                                                                                                                                              \r\n   bun run build                                                                                                                                                                                                                                                                         \r\n   bun test                                                                                                                                                                                                                                                                              \r\n   # Verify: All tests passing test still passing                                                                                                                                                                                                                                                        \r\n   ```                                                                                                                                                                                                                                                                                   \r\n                                                                                                                                                                                                                                                                                         \r\n   **Results:**                                                                                                                                                                                                                                                                          \r\n   - ✅ Created and tested a new project outside monorepo                                                                                                                                                                                                                                 \r\n   - ✅ Verified CLI works with --character flag                                                                                                                                                                                                                                          \r\n   - ✅ Confirmed projects created with `elizaos create` work correctly                                                                                                                                                                                                                   \r\n   - ✅ All test and scenario commands functioning                                                                                                                                                                                                                                        \r\n   - ✅ Added comprehensive unit tests for new managers\"\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n- New Features\n  - Introduced unified server orchestration via ElizaOS, enabling simpler startup and agent management.\n  - Added a server-provided default character with environment-aware plugin loading.\n  - Ensured Ollama is always available as a fallback plugin.\n  - Added dotenv support for loading .env at startup.\n- Refactor\n  - CLI start flow now delegates to the server for bootstrap, agent lifecycle, and character loading.\n  - Plugin parsing updated to functional APIs; centralized plugin loading and dependency resolution.\n- Chores\n  - Updated CLI dependencies, including adding the OpenAI plugin.\n- Tests\n  - Significant test suite updates aligning with the new orchestration and loaders.\n\n<!-- end of auto-generated comment: release notes by coderabbit.ai -->",
      "repository": "elizaos/eliza",
      "createdAt": "2025-09-02T14:28:47Z",
      "mergedAt": "2025-09-19T22:30:29Z",
      "additions": 4107,
      "deletions": 2670
    },
    {
      "id": "PR_kwDOMT5cIs6nQigd",
      "title": "fix: transform local file paths to API URLs for web client image display",
      "author": "standujar",
      "number": 5890,
      "body": "# Relates to\r\n\r\n  Fix image display issues in web client for generated images from OpenRouter plugin\r\n\r\n  # Risks\r\n\r\n  **Low** - Changes are isolated to server-side path transformation logic. No breaking changes to existing APIs or plugins.\r\n\r\n  # Background\r\n\r\n  ## What does this PR do?\r\n\r\n  This PR implements a comprehensive solution for displaying images generated by AI models (OpenRouter, OpenAI, etc.) in the ElizaOS web client. Previously, images worked in Discord/Telegram but returned 404 errors in the web interface\r\n  because the client received local file paths instead of HTTP URLs.\r\n\r\n  The solution includes:\r\n  1. **Configurable data directories** via environment variables for flexibility\r\n  2. **Server-side path transformation** to convert local paths to API URLs\r\n  3. **Fix for Express sendFile** to properly serve media files\r\n  4. **Consistent attachment handling** across all messaging endpoints\r\n\r\n  ## What kind of change is this?\r\n\r\n  - ✅ **Bug fixes** (fixes 404 errors for generated images in web client)\r\n  - ✅ **Improvements** (adds configurable data directories via environment variables)\r\n  - ✅ **Features** (adds automatic path-to-URL transformation for attachments)\r\n\r\n  # Documentation changes needed?\r\n\r\n  - ✅ My changes require a change to the project documentation.\r\n  - ✅ I have updated the documentation accordingly (.env.example updated with new environment variables)\r\n\r\n  # Testing\r\n\r\n  ## Where should a reviewer start?\r\n\r\n  1. Review `packages/server/src/utils/media-transformer.ts` - Core transformation logic\r\n  2. Check `packages/core/src/utils/paths.ts` - Configurable path utilities\r\n  3. Verify changes in messaging endpoints for attachment transformation\r\n\r\n  ## Detailed testing steps\r\n\r\n  1. **Setup OpenRouter with image generation model:**\r\n     ```bash\r\n     # In .env, configure:\r\n     OPENROUTER_API_KEY=your_key\r\n     OPENROUTER_IMAGE_GENERATION_MODEL=google/gemini-2.5-flash-image-preview\r\n     ```\r\n\r\n  2. **Test image generation in web client**:\r\n    - Start the server: bun run start\r\n    - Open web client at http://localhost:3000\r\n    - Send message: \"Generate an image of a cat on fire\"\r\n    - Verify image displays correctly (no 404 error)\r\n  3. **Test backwards compatibility**:\r\n    - Verify Discord/Telegram plugins still receive and display images correctly\r\n    - Check that existing file uploads still work\r\n  4. **Test environment variable configuration**:\r\n \r\n ## Set custom data directory\r\n  ```bash\r\n  ELIZA_DATA_DIR=/custom/path bun run start\r\n  ```\r\nVerify images are saved to and served from custom location\r\n\r\n ## Before\r\n\r\n  - Web client shows broken image icon\r\n  - Network tab shows 404 for /Users/.../image.png\r\n\r\n  ## After\r\n\r\n  - Images display correctly in web client\r\n  - Network tab shows successful 200 for /media/generated/agentId/image.png\r\n\r\n  # Key Changes:\r\n\r\n  Core Package\r\n\r\n  - paths.ts: New utility for configurable data directories with env var support\r\n  - paths.test.ts: Comprehensive tests for path utilities\r\n  - index.node.ts: Export path utilities for server usage\r\n\r\n  Server Package\r\n\r\n  - media-transformer.ts: Transform local file paths to API URLs\r\n  - messaging/*.ts: Apply transformation before sending to clients\r\n  - index.ts: Fix Express sendFile for absolute paths with fallback\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n- New Features\n  - Configurable data and upload directories via environment variables.\n  - Automatic transformation of attachment file paths to API URLs in APIs and real-time broadcasts.\n  - More reliable SPA fallback and media serving for generated and uploaded files.\n\n- Bug Fixes\n  - Safer, type-specific upload directories with strengthened path validation.\n\n- Refactor\n  - Centralized path resolution across server features; legacy path handling removed.\n\n- Documentation\n  - .env example expanded with data directory configuration options.\n\n- Tests\n  - Added comprehensive tests for data directory and path resolution behavior.\n\n<!-- end of auto-generated comment: release notes by coderabbit.ai -->",
      "repository": "elizaos/eliza",
      "createdAt": "2025-09-07T15:15:55Z",
      "mergedAt": "2025-09-15T18:33:04Z",
      "additions": 741,
      "deletions": 88
    },
    {
      "id": "PR_kwDOMT5cIs6o5XkV",
      "title": "fix(cli): comprehensive Windows CI test improvements and dev command enhancements",
      "author": "wtfsayo",
      "number": 5982,
      "body": "## Overview\n\nThis PR addresses Windows CI flakiness by implementing comprehensive improvements to the dev command tests and fixing process management issues that were causing test failures on Windows in CI environments.\n\n## Root Cause Analysis\n\nThe original issues were multi-faceted:\n1. **Process Management**: Windows handles process termination differently than Unix systems, leading to hanging processes\n2. **Port Conflicts**: Tests weren't properly cleaning up ports between runs\n3. **Stream Handling**: Overlapping stdout/stderr reads were causing race conditions\n4. **Test Environment**: Missing proper test mode flags and non-interactive settings\n\n## Changes Made\n\n### 1. Enhanced Process Management (`packages/cli/tests/commands/dev.test.ts`)\n- **Cross-platform process termination**: Added `killProcessCrossPlatform()` helper that uses appropriate termination methods for Windows vs Unix\n- **AbortController integration**: Processes now use AbortSignal for clean termination\n- **Comprehensive cleanup**: Added `cleanupDevProcess()` helper that handles Windows-specific cleanup (taskkill) and Unix graceful termination\n- **Process tracking**: All spawned processes are tracked and cleaned up properly\n\n### 2. Improved Stream Handling\n- **Concurrent safe readers**: Replaced tight polling loops with proper ReadableStream readers\n- **Output capture helper**: Added `captureProcessOutput()` that safely handles both stdout and stderr\n- **Early termination**: Process cleanup happens immediately after getting required output to prevent child process spawning\n\n### 3. Windows CI Compatibility\n- **Conditional test skipping**: Tests that spawn server processes are now skipped on Windows CI (`process.platform === 'win32' && process.env.CI === 'true'`) to prevent flaky failures\n- **Reduced timeouts**: Shortened wait times for CI stability (500ms instead of 2000ms+)\n- **Better error handling**: Improved error messages and cleanup on test failures\n\n### 4. Dev Server Improvements (`packages/cli/src/commands/dev/actions/dev-server.ts`)\n- **Standalone mode detection**: Added proper detection for non-ElizaOS directories\n- **Conditional backend startup**: Backend server only starts in project/plugin/monorepo contexts, not in standalone mode\n- **Improved logging**: Better status messages for different modes\n- **Port handling**: Enhanced port availability checking and conflict resolution\n\n### 5. Test Infrastructure Updates\n- **Environment variables**: Added `ELIZA_TEST_MODE` and `ELIZA_NONINTERACTIVE` for deterministic behavior\n- **Database isolation**: Each test gets its own PGLite database directory\n- **Memory leak prevention**: Proper cleanup of temp directories and processes\n\n### 6. SQL Plugin Test Fixes (`packages/plugin-sql/src/__tests__/`)\n- **Entity ID conflicts**: Fixed test conflicts by using unique entity IDs per test\n- **Missing metadata**: Added required metadata fields to prevent validation errors\n- **Foreign key constraints**: Ensured entities are created before memories that reference them\n\n## Test Results\n\n- **Local Windows**: All tests pass consistently\n- **CI Environment**: Windows CI tests are appropriately skipped to prevent flaky failures while maintaining local test coverage\n- **Cross-platform**: Unix/macOS tests continue to run with full coverage\n\n## Technical Details\n\nThe solution maintains the original test assertions and functionality while adding robust process management that works across platforms. The conditional skipping in CI is a pragmatic approach that prevents flaky failures without losing test coverage during local development.\n\nKey technical improvements:\n- AbortController-based process termination\n- Platform-specific cleanup strategies\n- Proper stream lifecycle management\n- Enhanced error handling and logging\n- Isolated test environments\n\nThis ensures reliable CI runs while maintaining comprehensive test coverage during development.\n",
      "repository": "elizaos/eliza",
      "createdAt": "2025-09-16T16:02:09Z",
      "mergedAt": "2025-09-17T00:28:39Z",
      "additions": 468,
      "deletions": 442
    }
  ],
  "codeChanges": {
    "additions": 6409,
    "deletions": 3281,
    "files": 106,
    "commitCount": 154
  },
  "completedItems": [
    {
      "title": "refactor: centralize business logic in server package",
      "prNumber": 5864,
      "type": "refactor",
      "body": "# Relates to\r\n\r\n  #5860 Refactor Eliza CLI\r\n                                                                                                                                                                                                    ",
      "files": [
        "bun.lock",
        "packages/cli/package.json",
        "packages/cli/src/characters/eliza.ts",
        "packages/cli/src/commands/create/actions/setup.ts",
        "packages/cli/src/commands/scenario/index.ts",
        "packages/cli/src/commands/scenario/src/plugin-parser.ts",
        "packages/cli/src/commands/scenario/src/runtime-factory.ts",
        "packages/cli/src/commands/start/actions/agent-start.ts",
        "packages/cli/src/commands/start/actions/server-start.ts",
        "packages/cli/src/commands/start/index.ts",
        "packages/cli/src/commands/start/utils/__tests__/loader.test.ts",
        "packages/cli/src/commands/start/utils/config-utils.ts",
        "packages/cli/src/commands/start/utils/dependency-resolver.ts",
        "packages/cli/src/commands/start/utils/loader.ts",
        "packages/cli/src/commands/start/utils/plugin-utils.ts",
        "packages/cli/src/commands/test/actions/e2e-tests.ts",
        "packages/cli/src/utils/local-cli-delegation.ts",
        "packages/cli/tests/commands/dev.test.ts",
        "packages/cli/tests/integration/version-display.test.ts",
        "packages/cli/tests/unit/characters/character-plugin-ordering.test.ts",
        "packages/cli/tests/unit/commands/create/ollama-plugin-installation.test.ts",
        "packages/cli/tests/unit/commands/test/e2e-tests.test.ts",
        "packages/cli/tests/unit/utils/handle-error.test.ts",
        "packages/cli/tests/unit/utils/loader-integration.test.ts",
        "packages/cli/tests/unit/utils/loader-sync-async.test.ts",
        "packages/cli/tests/unit/utils/loader.test.ts",
        "packages/cli/tests/unit/utils/local-cli-delegation.test.ts",
        "packages/cli/tests/unit/utils/test-runner.test.ts",
        "packages/cli/tests/unit/utils/testing/timeout-manager.test.ts",
        "packages/server/src/characters/default.ts",
        "packages/server/src/index.ts",
        "packages/server/src/managers/AgentManager.ts",
        "packages/server/src/managers/ConfigManager.ts",
        "packages/server/src/managers/PluginLoader.ts",
        "packages/server/src/managers/__tests__/AgentManager.test.ts",
        "packages/server/src/managers/__tests__/ConfigManager.test.ts",
        "packages/server/src/managers/__tests__/PluginLoader.test.ts",
        "packages/server/src/orchestration/ElizaOS.ts",
        "packages/server/src/orchestration/__tests__/ElizaOS.test.ts",
        "packages/core/src/elizaos.ts",
        "packages/core/src/index.browser.ts",
        "packages/core/src/index.node.ts",
        "packages/core/src/index.ts",
        "packages/server/src/api/agents/crud.ts",
        "packages/server/src/api/agents/lifecycle.ts",
        "packages/core/src/__tests__/elizaos.test.ts",
        "packages/core/src/runtime.ts",
        "packages/plugin-sql/src/index.ts",
        "packages/server/src/__tests__/agent-server-constructor.test.ts",
        "packages/server/src/__tests__/agent-server-database.test.ts",
        "packages/server/src/__tests__/agent-server-errors.test.ts",
        "packages/server/src/__tests__/agent-server-initialization.test.ts",
        "packages/server/src/__tests__/agent-server-lifecycle.test.ts",
        "packages/server/src/__tests__/agent-server-management.test.ts",
        "packages/server/src/__tests__/agent-server-middleware.test.ts",
        "packages/server/src/__tests__/agent-server.test.ts",
        "packages/server/src/__tests__/integration/agent-server-interaction.test.ts",
        "packages/server/src/api/agents/index.ts",
        "packages/server/src/api/agents/logs.ts",
        "packages/server/src/api/agents/panels.ts",
        "packages/cli/tests/commands/agent.test.ts",
        "packages/cli/tests/utils/bun-test-helpers.ts",
        "packages/plugin-bootstrap/src/services/task.ts",
        "packages/plugin-sql/src/base.ts",
        "packages/server/src/__tests__/integration/database-operations.test.ts",
        "packages/server/src/__tests__/integration/socketio-message-flow.test.ts",
        "packages/core/src/utils/node.ts",
        "packages/core/src/utils/paths.ts"
      ]
    },
    {
      "title": "fix: transform local file paths to API URLs for web client image display",
      "prNumber": 5890,
      "type": "bugfix",
      "body": "# Relates to\r\n\r\n  Fix image display issues in web client for generated images from OpenRouter plugin\r\n\r\n  # Risks\r\n\r\n  **Low** - Changes are isolated to server-side path transformation logic. No breaking changes to existing APIs or plugins.",
      "files": [
        ".env.example",
        "bun.lock",
        "packages/core/src/index.node.ts",
        "packages/core/src/index.ts",
        "packages/core/src/utils/__tests__/paths.test.ts",
        "packages/core/src/utils/paths.ts",
        "packages/plugin-bootstrap/src/actions/imageGeneration.ts",
        "packages/server/src/api/media/agents.ts",
        "packages/server/src/api/media/channels.ts",
        "packages/server/src/api/messaging/channels.ts",
        "packages/server/src/api/messaging/core.ts",
        "packages/server/src/api/messaging/sessions.ts",
        "packages/server/src/api/shared/file-utils.ts",
        "packages/server/src/index.ts",
        "packages/server/src/loader.ts",
        "packages/server/src/socketio/index.ts",
        "packages/server/src/utils/media-transformer.ts",
        "packages/server/src/api/index.ts",
        "packages/server/src/types.ts"
      ]
    },
    {
      "title": "fix: Enable JSON imports in project-starter and project-tee-starter templates",
      "prNumber": 5975,
      "type": "bugfix",
      "body": "## Problem\r\nProject templates generated by `elizaos create` fail to compile when users import JSON files (e.g., character files) due to TypeScript configuration excluding JSON files from compilation, despite having `resolveJsonModule: true`",
      "files": [
        "packages/project-starter/tsconfig.json",
        "packages/project-tee-starter/tsconfig.json"
      ]
    },
    {
      "title": "fix: add missing uuid dependency to plugin-sql",
      "prNumber": 5977,
      "type": "bugfix",
      "body": "\r\n  # Relates to\r\n\r\n  N/A - Bug fix discovered during testing\r\n\r\n  # Risks\r\n\r\n  Low - Only adds a missing dependency declaration that was already being used in the code.\r\n\r\n  # Background\r\n\r\n  ## What does this PR do?\r\n\r\n  Adds the missing ",
      "files": [
        "bun.lock",
        "packages/plugin-sql/package.json"
      ]
    },
    {
      "title": "feat(ci): add concurrency control to Claude code review workflow",
      "prNumber": 5984,
      "type": "feature",
      "body": "- Cancel previous Claude code review runs when new commits are pushed\r\n- Prevents resource waste and ensures latest code is reviewed\r\n- Matches concurrency behavior of other CI workflows\r\n\r\n",
      "files": [
        ".github/workflows/claude-code-review.yml"
      ]
    },
    {
      "title": "fix(cli): comprehensive Windows CI test improvements and dev command enhancements",
      "prNumber": 5982,
      "type": "bugfix",
      "body": "## Overview\n\nThis PR addresses Windows CI flakiness by implementing comprehensive improvements to the dev command tests and fixing process management issues that were causing test failures on Windows in CI environments.\n\n## Root Cause Analy",
      "files": [
        "packages/cli/src/commands/dev/actions/dev-server.ts",
        "packages/cli/src/commands/update/index.ts",
        "packages/cli/tests/commands/dev.test.ts",
        "packages/cli/tests/commands/update.test.ts",
        "packages/plugin-sql/src/__tests__/integration/base-comprehensive.test.ts",
        "packages/plugin-sql/src/__tests__/integration/memory.test.ts",
        "packages/plugin-sql/src/base.ts"
      ]
    },
    {
      "title": "fix(cli): remove quotes from file paths in Windows tests",
      "prNumber": 5981,
      "type": "bugfix",
      "body": "## Problem\n\nThe Windows tests in the CI pipeline are failing due to incorrect handling of file paths with quotes. The issue was identified in the GitHub Actions run: https://github.com/elizaOS/eliza/actions/runs/17766711070/job/50491852008?",
      "files": [
        "packages/cli/tests/commands/agent.test.ts"
      ]
    },
    {
      "title": "fix(cli): respect distribution channel when checking for updates",
      "prNumber": 5980,
      "type": "bugfix",
      "body": "## Summary\n\nThis PR fixes the CLI update checker to respect distribution channels, ensuring users only see updates within their current channel (latest/stable, alpha, or beta).\n\n## Problem\n- Users on stable versions were being prompted to \"",
      "files": [
        "packages/cli/src/commands/publish/utils/version-check.ts",
        "packages/cli/src/commands/update/actions/cli-update.ts",
        "packages/cli/src/utils/__tests__/version-channel.test.ts",
        "packages/cli/src/utils/display-banner.ts",
        "packages/cli/src/utils/version-channel.ts"
      ]
    },
    {
      "title": "fix: elizaos dev in plugin and project starters",
      "prNumber": 5979,
      "type": "bugfix",
      "body": "This pull request improves the logic for detecting and running the client development server in various project structures, especially for monorepos and standalone plugin development. The changes make it easier to work with local client sou",
      "files": [
        "bun.lock",
        "packages/cli/src/commands/dev/actions/dev-server.ts",
        "packages/cli/src/commands/dev/utils/build-utils.ts"
      ]
    },
    {
      "title": "fix(cli, plugin-sql): remove redundant migration step and demote spurious adapter warn",
      "prNumber": 5978,
      "type": "bugfix",
      "body": "### fix(cli, plugin-sql): remove redundant migration step and demote spurious adapter warn\n\n- Removed redundant migration invocation in CLI agent start:\n  - `packages/cli/src/commands/start/actions/agent-start.ts`\n  - We deleted the manual ",
      "files": [
        "bun.lock",
        "packages/cli/src/commands/start/actions/agent-start.ts",
        "packages/plugin-sql/src/index.node.ts"
      ]
    },
    {
      "title": "fix: release fixes",
      "prNumber": 5985,
      "type": "bugfix",
      "body": "### PR Summary\n\nFixes client bundling, dev-loop restarts, and DB runtime mode; enforces TS type-check failures to stop builds. Improves build ordering so the web UI is always shipped with the server.\n\n### Changes\n\n- Client UI bundling\n  - S",
      "files": [
        "build-utils.ts",
        "bun.lock",
        "packages/cli/src/commands/dev/actions/dev-server.ts",
        "packages/cli/src/commands/dev/utils/file-watcher.ts",
        "packages/cli/src/commands/start/index.ts",
        "packages/cli/src/utils/copy-template.ts",
        "packages/server/build.ts",
        "packages/server/package.json",
        "turbo.json"
      ]
    },
    {
      "title": "fix(cli): wait for port to be free before dev restart",
      "prNumber": 5988,
      "type": "bugfix",
      "body": "This fixes the dev mode port increment loop by waiting for the previous server port to be released before restarting.\\n\\n- Adds a small utility  using existing \\n- Ensures we wait before starting the server after rebuild\\n\\nTested locally; ",
      "files": [
        "packages/cli/src/commands/dev/actions/dev-server.ts",
        "packages/cli/tests/commands/start.test.ts",
        "packages/cli/tests/test-timeouts.ts"
      ]
    }
  ],
  "topContributors": [
    {
      "username": "wtfsayo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4",
      "totalScore": 168.4540110409556,
      "prScore": 167.4760110409556,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.978,
      "summary": null
    },
    {
      "username": "ChristopherTrimboli",
      "avatarUrl": "https://avatars.githubusercontent.com/u/27584221?u=0d816ce1dcdea8f925aba18bb710153d4a87a719&v=4",
      "totalScore": 137.95728018309288,
      "prScore": 122.95728018309288,
      "issueScore": 0,
      "reviewScore": 15,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "tcm390",
      "avatarUrl": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4",
      "totalScore": 93.61171703686216,
      "prScore": 93.61171703686216,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "K1mc4n",
      "avatarUrl": "https://avatars.githubusercontent.com/u/156217571?u=cc94e7743c591f36eaf958d88befa855348bba9d&v=4",
      "totalScore": 40.4257738965761,
      "prScore": 40.4257738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "0xbbjoker",
      "avatarUrl": "https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4",
      "totalScore": 33.943773896576104,
      "prScore": 33.5437738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.4,
      "summary": null
    },
    {
      "username": "standujar",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16385918?u=718bdcd1585be8447bdfffb8c11ce249baa7532d&v=4",
      "totalScore": 32.8004379124341,
      "prScore": 25.7464379124341,
      "issueScore": 0,
      "reviewScore": 5,
      "commentScore": 2.054,
      "summary": null
    },
    {
      "username": "yungalgo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/113615973?u=92e0f29f7e2fbb8ce46ed13c51f692ca803de02d&v=4",
      "totalScore": 7.9884379124341,
      "prScore": 7.9884379124341,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "wpoulin",
      "avatarUrl": "https://avatars.githubusercontent.com/u/18474228?u=8e3c0cf8967fed66e93e55394fd798a3a79b0cff&v=4",
      "totalScore": 6.796147180559945,
      "prScore": 6.796147180559945,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "shuhaib112",
      "avatarUrl": "https://avatars.githubusercontent.com/u/211030292?v=4",
      "totalScore": 4.5,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 4.5,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "odilitime",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=c9bac48e632aae594a0d85aaf9e9c9c69b674d8b&v=4",
      "totalScore": 4.5,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 4.5,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "github-advanced-security",
      "avatarUrl": "https://avatars.githubusercontent.com/in/57789?v=4",
      "totalScore": 4.5,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 4.5,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "borisudovicic",
      "avatarUrl": "https://avatars.githubusercontent.com/u/31806472?u=8935f4d43fd7e4eb9bf5ff92d54d4d2f8ac8a786&v=4",
      "totalScore": 4,
      "prScore": 0,
      "issueScore": 4,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "linear",
      "avatarUrl": "https://avatars.githubusercontent.com/in/20150?v=4",
      "totalScore": 2,
      "prScore": 0,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "anyaachan",
      "avatarUrl": "https://avatars.githubusercontent.com/u/53533713?u=c8fa43d0ca83d3c51bbc17328e0a8f817cda7d57&v=4",
      "totalScore": 2,
      "prScore": 0,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    }
  ],
  "newPRs": 14,
  "mergedPRs": 12,
  "newIssues": 3,
  "closedIssues": 7,
  "activeContributors": 13
}