{
  "interval": {
    "intervalStart": "2025-07-17T00:00:00.000Z",
    "intervalEnd": "2025-07-18T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-07-17 to 2025-07-18, elizaos/eliza had 14 new PRs (9 merged), 7 new issues, and 8 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs7BLWjU",
      "title": "its working!",
      "author": "linear",
      "number": 5627,
      "repository": "elizaos/eliza",
      "body": "",
      "createdAt": "2025-07-17T21:32:41Z",
      "closedAt": "2025-07-18T13:56:34Z",
      "state": "CLOSED",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7BLFzM",
      "title": "hello world",
      "author": "linear",
      "number": 5626,
      "repository": "elizaos/eliza",
      "body": "",
      "createdAt": "2025-07-17T21:04:41Z",
      "closedAt": "2025-07-18T13:56:41Z",
      "state": "CLOSED",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7BLFDh",
      "title": "its working!",
      "author": "linear",
      "number": 5625,
      "repository": "elizaos/eliza",
      "body": "",
      "createdAt": "2025-07-17T21:03:40Z",
      "closedAt": "2025-07-18T13:56:48Z",
      "state": "CLOSED",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7BIEzi",
      "title": "Plugin-zapper",
      "author": "samarth30",
      "number": 5620,
      "repository": "elizaos/eliza",
      "body": "",
      "createdAt": "2025-07-17T16:05:08Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7BH4Ls",
      "title": "Fix Windows path handling in CLI agent start command tests",
      "author": "linear",
      "number": 5619,
      "repository": "elizaos/eliza",
      "body": "\\## Description\n\n\\### Summary\n\nWindows CI tests are failing due to incorrect path handling when running \\`elizaos agent start\\` with the \\`--path\\` flag. The file path is being malformed, resulting in doubled/concatenated paths with embedded quotes.\n\n\\### Error Details\n\nThe test command:\n\n\\`\\`\\`bash\n\nelizaos agent start --remote-url http://localhost:3000 --path \"D:\\\\a\\\\eliza\\\\eliza\\\\packages\\\\cli\\\\tests\\\\test-characters\\\\max.json\"\n\n\\`\\`\\`\n\nResults in this malformed path:\n\n\\`\\`\\`\n\nD:\\\\a\\\\eliza\\\\eliza\\\\packages\\\\cli\\\\\"D:\\\\a\\\\eliza\\\\eliza\\\\packages\\\\cli\\\\tests\\\\test-characters\\\\max.json\"\n\n\\`\\`\\`\n\nError message:\n\n\\`\\`\\`\n\nerror: File not found at path: D:\\\\a\\\\eliza\\\\eliza\\\\packages\\\\cli\\\\\"D:\\\\a\\\\eliza\\\\eliza\\\\packages\\\\cli\\\\tests\\\\test-characters\\\\max.json\"\n\n\\`\\`\\`\n\n\\### Root Cause\n\nThe path resolution in \\`packages/cli/src/commands/agent.ts\\` (around the \\`startAgent\\` function) is not properly handling quoted paths on Windows. When \\`path.resolve(process.cwd(), options.path)\\` is called, it's incorrectly concatenating the current working directory with an already-absolute path.\n\n\\### Affected Code\n\n\\- File: \\`packages/cli/dist/chunk-KKAK7OQA.js\\` (compiled from source)\n\n\\- Line: Around line 3326 where \\`path12.resolve(process.cwd(), options.path)\\` is called\n\n\\- Source likely in: \\`packages/cli/src/commands/agent.ts\\` or related agent command files\n\n\\### Reproduction\n\nOnly occurs on Windows systems when running:\n\n\\`\\`\\`bash\n\nbun test packages/cli/tests/create-commands.test.ts\n\n\\`\\`\\`\n\n\\### Proposed Fix\n\n1\\. Check if the provided path is already absolute before calling \\`path.resolve()\\`\n\n2\\. Handle Windows path separators and quoted paths correctly\n\n3\\. Add unit tests specifically for Windows path scenarios\n\n\\### Example Fix\n\n\\`\\`\\`typescript\n\n*// Instead of:*\n\nconst filePath = path.resolve(process.cwd(), options.path);\n\n*// Use:*\n\nconst inputPath = options.path.replace(/^\"|\"$/g, ''); *// Remove surrounding quotes*\n\nconst filePath = path.isAbsolute(inputPath)\n\n? inputPath\n\n: path.resolve(process.cwd(), inputPath);\n\n\\`\\`\\`\n\n\\### Priority\n\nHigh - Blocking CI/CD pipeline\n\n\\### Labels\n\n\\- bug\n\n\\- windows\n\n\\- cli\n\n\\- ci-failure",
      "createdAt": "2025-07-17T15:48:27Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 0
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs6fX9a5",
      "title": "eliza",
      "author": "Zatoryama",
      "number": 5615,
      "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-07-17T12:43:14Z",
      "mergedAt": null,
      "additions": 2208,
      "deletions": 357
    },
    {
      "id": "PR_kwDOMT5cIs6fWYh9",
      "title": "chore: 1.2.11",
      "author": "wtfsayo",
      "number": 5610,
      "body": "This pull request introduces a migration from Node.js `EventEmitter` to Bun's native `EventTarget` API across the codebase to address compatibility issues with Bun. It includes updates to documentation, refactors key classes, and ensures backward compatibility by implementing an `EventEmitter`-like API on top of `EventTarget`.\r\n\r\n### Migration to `EventTarget` API:\r\n\r\n* **Documentation Update**: Added a new section in `CLAUDE.md` explaining why `EventEmitter` should not be used with Bun and providing a detailed migration guide, including an example of how to refactor code to use `EventTarget`.\r\n\r\n* **Refactor in `SimpleMigrationAgent`**:\r\n  - Replaced `EventEmitter` with `EventTarget` in `packages/cli/src/utils/upgrade/simple-migration-agent.ts`.\r\n  - Added methods such as `emit`, `on`, `off`, and aliases like `removeListener` and `removeAllListeners` to maintain an `EventEmitter`-like API. [[1]](diffhunk://#diff-55f262e8cb098f0c51eea485080bd1bd8d2889fe3dad749d0a1a70aed2a8d6e9L2) [[2]](diffhunk://#diff-55f262e8cb098f0c51eea485080bd1bd8d2889fe3dad749d0a1a70aed2a8d6e9L15-R15) [[3]](diffhunk://#diff-55f262e8cb098f0c51eea485080bd1bd8d2889fe3dad749d0a1a70aed2a8d6e9R49-R131)\r\n\r\n* **Refactor in `InternalMessageBus`**:\r\n  - Updated `packages/server/src/bus.ts` to use `EventTarget` instead of `EventEmitter`.\r\n  - Implemented similar compatibility methods (`emit`, `on`, `off`, `setMaxListeners`) to provide a familiar API while leveraging `EventTarget`.\r\n\r\n### Dependency Update:\r\n\r\n* Updated the `turbo` package version from `^2.5.4` to `^2.5.5` in `package.json`.",
      "repository": "elizaos/eliza",
      "createdAt": "2025-07-17T10:18:18Z",
      "mergedAt": null,
      "additions": 1274,
      "deletions": 120
    },
    {
      "id": "PR_kwDOMT5cIs6fW2m1",
      "title": "test: add EventEmitter compatibility tests for EventTarget implementations",
      "author": "wtfsayo",
      "number": 5613,
      "body": "## Summary\n- Adds comprehensive unit tests verifying EventEmitter compatibility for EventTarget-based implementations\n- Tests both `bus.ts` in server package and `SimpleMigrationAgent` in CLI package\n- Ensures backward compatibility while following ElizaOS guidelines to use Bun's native EventTarget\n\n## Test plan\n- [x] Run server package tests: `cd packages/server && bun test`\n- [x] Run CLI package tests: `cd packages/cli && bun test`\n- [x] All tests pass (45 tests total, 0 failures)\n- [x] Tests cover all EventEmitter-like methods and edge cases\n- [x] Documentation included explaining the compatibility pattern\n\n🤖 Generated with [Claude Code](https://claude.ai/code)",
      "repository": "elizaos/eliza",
      "createdAt": "2025-07-17T11:04:16Z",
      "mergedAt": "2025-07-17T11:29:58Z",
      "additions": 877,
      "deletions": 0
    },
    {
      "id": "PR_kwDOMT5cIs6fcpS2",
      "title": " Fix: Plugin Actions Not Loading in NPM Deployed Version",
      "author": "ChristopherTrimboli",
      "number": 5624,
      "body": "# Fix: Plugin Actions Not Loading in NPM Deployed Version\n\n## 🐛 Problem\n\nPlugin actions were not being received by the runtime when using the NPM deployed version of the ElizaOS CLI. This issue only occurred with the published NPM package - everything worked correctly in the local monorepo development environment.\n\n**Symptoms:**\n- `elizaos create` followed by `elizaos start` with plugins would show 0 actions registered\n- Simple REPLY worked but no plugin actions were available\n- Bootstrap plugin reported \"0 actions, 0 evaluators, 0 providers\" despite having many\n\n## 🔍 Root Cause Analysis\n\n### 1. **Unresolved Workspace Dependencies**\nThe primary issue was that packages in the monorepo use `workspace:*` protocol for internal dependencies:\n```json\n{\n  \"dependencies\": {\n    \"@elizaos/core\": \"workspace:*\"\n  }\n}\n```\nWhen published to NPM, these workspace references were not resolved to actual version numbers, causing installation failures.\n\n### 2. **Version Mismatches**\nBuild failures due to nx@19.8.15 requesting @nrwl packages that don't exist (they stopped at 19.8.14).\n\n### 3. **Module Export Detection**\nThe plugin loader wasn't robust enough to handle different export patterns between development and production builds.\n\n## ✅ Solution\n\n### 1. **Dependency Resolution Script** (`prepare-packages-for-testing.sh`)\nCreated a script that resolves `workspace:*` to actual version numbers before packing:\n```bash\n# Replaces workspace:* with actual versions\nsed -i.bak \"s/\\\"workspace:\\*\\\"/\\\"$VERSION\\\"/g\" package.json\n```\n\n### 2. **Enhanced Plugin Export Detection** \nImproved the module export detection in `plugin-utils.ts` to handle multiple export patterns:\n- Named export 'plugin'\n- Default export\n- Direct module export\n- Expected function name pattern\n- All exports as last resort\n\n### 3. **Runtime Plugin Verification**\nAdded comprehensive logging to verify plugin registration:\n```typescript\nlogger.info(`Registered ${registeredPlugins.length} plugins: ${registeredPlugins.join(', ')}`);\nlogger.info(`Registered ${registeredActions.length} actions: ${registeredActions.join(', ')}`);\n```\n\n### 4. **Version Resolution**\nFixed nx/nrwl version conflicts by adding resolutions in root `package.json`:\n```json\n\"resolutions\": {\n  \"nx\": \"19.8.14\",\n  \"@nx/devkit\": \"19.8.14\",\n  \"@nrwl/devkit\": \"19.8.14\",\n  \"@nrwl/tao\": \"19.8.14\"\n}\n```\n\n### 5. **Testing Infrastructure**\nCreated comprehensive testing scripts to reproduce and debug NPM deployment locally:\n- `test-cli-npm-pack.sh` - Tests exact NPM installation experience\n- `debug-cli-plugin-loading.sh` - Debugging plugin loading issues\n- `install-cli-globally.sh` - Install CLI globally from tarballs\n\n## 📋 Changes Made\n\n### Modified Files:\n- `packages/cli/src/commands/start/utils/plugin-utils.ts` - Enhanced module export detection\n- `packages/cli/src/commands/start/actions/agent-start.ts` - Added plugin verification logging\n- `packages/plugin-bootstrap/src/index.ts` - Added consistent named export\n- `packages/plugin-bootstrap/tsup.config.ts` - Updated build configuration\n- `packages/plugin-bootstrap/package.json` - Added peer dependencies\n- `package.json` - Added dependency resolutions\n\n### New Files:\n- `scripts/prepare-packages-for-testing.sh` - Resolves workspace dependencies\n- `scripts/test-cli-npm-pack.sh` - Tests NPM deployment locally\n- `scripts/debug-cli-plugin-loading.sh` - Debug plugin loading\n- `scripts/install-cli-globally.sh` - Global installation script\n- `CLI_TESTING_GUIDE.md` - Comprehensive testing documentation\n- `PLUGIN_LOADING_SOLUTION.md` - Root cause analysis and solution\n\n## 🧪 Testing\n\n### To verify the fix:\n```bash\n# Test NPM deployment locally\n./scripts/test-cli-npm-pack.sh\n\n# Or install globally and test\n./scripts/install-cli-globally.sh\nelizaos create test-project\ncd test-project\nelizaos start\n```\n\n### Expected Result:\n```\nRegistered 3 plugins: @elizaos/plugin-bootstrap, @elizaos/plugin-bootstrap, @elizaos/plugin-sql\nRegistered 71 actions: CONTINUE, GET_ROOM_FACTS, UPDATE_ROOM_FACTS...\n```\n\n## 🚀 Impact\n\nThis fix ensures that:\n1. Plugins work correctly when installed from NPM\n2. The development experience matches the production experience\n3. Plugin authors can reliably test their plugins before publishing\n4. Users get a working ElizaOS with all plugin capabilities\n\n## 📝 Documentation\n\nAdded comprehensive documentation:\n- Testing guide for CLI development\n- Plugin loading architecture explanation\n- Troubleshooting steps for common issues\n\n## ✅ Verification\n\n- [x] Plugin actions load correctly in NPM deployed version\n- [x] All tests pass\n- [x] No regression in local development\n- [x] Documentation updated\n- [x] Testing scripts verified on macOS with Bun",
      "repository": "elizaos/eliza",
      "createdAt": "2025-07-17T20:37:01Z",
      "mergedAt": "2025-07-17T20:49:52Z",
      "additions": 717,
      "deletions": 784
    },
    {
      "id": "PR_kwDOMT5cIs6fcktq",
      "title": "refactor(plugin-bootstrap): migrate JSON prompts to XML format",
      "author": "0xbbjoker",
      "number": 5623,
      "body": "# Refactor: Complete Migration from JSON to XML Prompts\r\n\r\n## Summary\r\n\r\nThis PR completes a comprehensive refactoring of all prompts across the ElizaOS codebase to use XML format instead of JSON, significantly improving LLM response reliability and consistency.\r\n\r\n## Motivation\r\n\r\nLarge Language Models (LLMs) have shown better performance and more reliable parsing when working with XML format compared to JSON. This is particularly important for complex structured outputs where JSON parsing can be fragile due to:\r\n\r\n- Escape character handling\r\n- Nested object complexity\r\n- String delimiters and special characters\r\n- Inconsistent formatting across different LLM providers\r\n\r\n## Changes Made\r\n\r\n### Core Package Updates\r\n\r\n- **entities.ts**: Updated entity resolution template to XML format for better entity matching\r\n\r\n### Plugin-Bootstrap Actions Refactored\r\n\r\n- **imageGeneration.ts**: Migrated image prompt generation to XML\r\n- **reply.ts**: Updated reply template to use XML response format\r\n- **sendMessage.ts**: Converted target extraction to XML structure\r\n- **settings.ts**: Refactored all setting templates (success, failure, error, completion) to XML\r\n- **updateEntity.ts**: Updated component data extraction to XML format\r\n- **roles.ts**: Converted role assignment parsing to XML and removed `dedent` dependency\r\n- **choice.ts**: Updated option extraction template to XML format\r\n\r\n### Evaluators Refactored\r\n\r\n- **reflection.ts**: Converted complex nested fact and relationship structures to XML with proper array handling\r\n\r\n### Test Suite Updates\r\n\r\n- **core/entities.test.ts**: Updated all entity tests to mock `parseKeyValueXml` instead of `parseJSONObjectFromText`\r\n- **plugin-bootstrap/evaluators.test.ts**: Fixed reflection evaluator tests to handle XML responses\r\n- **plugin-bootstrap/actions.test.ts**: Updated reply action tests to expect XML format\r\n\r\n### Technical Improvements\r\n\r\n1. **Consistent Parsing**: All responses now use `parseKeyValueXml` for uniform parsing\r\n2. **Model Type Updates**: Changed from `OBJECT_LARGE/OBJECT_SMALL` to `TEXT_LARGE/TEXT_SMALL` where appropriate\r\n3. **Better Structure Handling**: Improved handling of nested structures (arrays within XML)\r\n4. **Type Safety**: Fixed TypeScript errors with proper type annotations\r\n5. **Clear Instructions**: Added explicit prompting to avoid LLM reasoning sections in responses\r\n6. **Dependency Cleanup**: Removed unnecessary `dedent` dependency from roles.ts\r\n\r\n## XML Structure Examples\r\n\r\n### Before (JSON):\r\n\r\n```json\r\n{\r\n  \"thought\": \"Analyzing the situation\",\r\n  \"actions\": [\"REPLY\", \"UPDATE_ENTITY\"],\r\n  \"text\": \"Hello, how can I help?\"\r\n}\r\n```\r\n\r\n### After (XML):\r\n\r\n```xml\r\n<response>\r\n  <thought>Analyzing the situation</thought>\r\n  <actions>REPLY,UPDATE_ENTITY</actions>\r\n  <text>Hello, how can I help?</text>\r\n</response>\r\n```\r\n\r\n## Benefits\r\n\r\n- ✅ More reliable LLM responses across all providers\r\n- ✅ Consistent parsing throughout the entire codebase\r\n- ✅ Reduced parsing errors and edge cases\r\n- ✅ Better handling of complex nested structures\r\n- ✅ Cleaner, more maintainable code\r\n- ✅ Improved test coverage with proper XML mocking\r\n\r\n## Testing\r\n\r\nAll tests have been updated to handle the new XML format:\r\n\r\n- Core entity tests now properly mock XML parsing\r\n- Plugin-bootstrap tests updated to expect XML responses\r\n- Test utilities enhanced to support both legacy and new formats\r\n\r\n## Breaking Changes\r\n\r\nNone - This is an internal refactoring that maintains the same external API. All public interfaces remain unchanged.\r\n",
      "repository": "elizaos/eliza",
      "createdAt": "2025-07-17T20:28:58Z",
      "mergedAt": null,
      "additions": 598,
      "deletions": 487
    }
  ],
  "codeChanges": {
    "additions": 2087,
    "deletions": 1618,
    "files": 22,
    "commitCount": 40
  },
  "completedItems": [
    {
      "title": " Fix: Plugin Actions Not Loading in NPM Deployed Version",
      "prNumber": 5624,
      "type": "bugfix",
      "body": "# Fix: Plugin Actions Not Loading in NPM Deployed Version\n\n## 🐛 Problem\n\nPlugin actions were not being received by the runtime when using the NPM deployed version of the ElizaOS CLI. This issue only occurred with the published NPM package ",
      "files": [
        "bun.lock",
        "lerna.json",
        "package.json",
        "packages/cli/package.json",
        "packages/cli/src/commands/start/actions/agent-start.ts",
        "packages/cli/src/commands/start/utils/plugin-utils.ts",
        "packages/plugin-bootstrap/package.json",
        "packages/plugin-bootstrap/src/index.ts",
        "packages/plugin-bootstrap/tsup.config.ts",
        "packages/plugin-sql/package.json",
        "packages/server/package.json",
        "scripts/install-cli-globally.sh",
        "scripts/prepare-packages-for-testing.sh"
      ]
    },
    {
      "title": "chore: remove obsolete documentation files",
      "prNumber": 5621,
      "type": "docs",
      "body": "## Description\n\nThis PR removes two obsolete documentation files that are no longer needed:\n\n- **KNAP_WORKFLOW_FIX_SUMMARY.md**: This was a summary of the Knip workflow fix that has already been implemented. The fix is complete and this doc",
      "files": [
        "KNAP_WORKFLOW_FIX_SUMMARY.md",
        "docs/code-quality-analysis.md"
      ]
    },
    {
      "title": "fix: address EventTarget migration PR review issues",
      "prNumber": 5614,
      "type": "bugfix",
      "body": "## Summary\nThis PR addresses the critical and important issues identified in the EventTarget migration PR review.\n\n## Changes Made\n\n### Critical Issues Fixed\n- ✅ **Type safety in SimpleMigrationAgent**: Handler parameter already correctly t",
      "files": [
        "packages/cli/src/utils/upgrade/simple-migration-agent.ts",
        "packages/server/src/bus.ts"
      ]
    },
    {
      "title": "test: add EventEmitter compatibility tests for EventTarget implementations",
      "prNumber": 5613,
      "type": "tests",
      "body": "## Summary\n- Adds comprehensive unit tests verifying EventEmitter compatibility for EventTarget-based implementations\n- Tests both `bus.ts` in server package and `SimpleMigrationAgent` in CLI package\n- Ensures backward compatibility while f",
      "files": [
        "packages/cli/tests/unit/utils/simple-migration-agent-eventemitter-compatibility.test.ts",
        "packages/server/src/__tests__/EventEmitter-Compatibility-README.md",
        "packages/server/src/__tests__/bus-eventemitter-compatibility.test.ts",
        "packages/server/src/bus.ts"
      ]
    },
    {
      "title": "fix: add method chaining support to EventTarget-based on() methods",
      "prNumber": 5612,
      "type": "bugfix",
      "body": "## Summary\n- Fixes broken method chaining in EventTarget migration\n- Both SimpleMigrationAgent and InternalMessageBus now return 'this' from on() method\n- Maintains backward compatibility with EventEmitter-style chaining pattern\n\n## Changes",
      "files": [
        "packages/cli/src/utils/upgrade/simple-migration-agent.ts",
        "packages/server/src/bus.ts"
      ]
    },
    {
      "title": "fix: replace 'any' types with 'unknown' and explicit function types",
      "prNumber": 5611,
      "type": "bugfix",
      "body": "## Summary\n- Replace all `any` types with `unknown` for better type safety\n- Replace generic `Function` type with explicit function signatures\n- Fixes CodeFactor maintainability issues reported in PR #5610\n\n## Changes\n1. **packages/cli/src/",
      "files": [
        "packages/cli/src/utils/upgrade/simple-migration-agent.ts",
        "packages/server/src/bus.ts"
      ]
    },
    {
      "title": "feat: migrate from EventEmitter to Bun native EventTarget API",
      "prNumber": 5609,
      "type": "feature",
      "body": "## Summary\n- Replaced Node.js EventEmitter with Bun's native EventTarget implementation\n- Updated InternalMessageBus and SimpleMigrationAgent classes\n- Added documentation to prevent future EventEmitter usage\n\n## Changes\n1. **InternalMessag",
      "files": [
        "CLAUDE.md",
        "bun.lock",
        "package.json",
        "packages/cli/src/utils/upgrade/simple-migration-agent.ts",
        "packages/server/src/bus.ts"
      ]
    },
    {
      "title": "chore: 1.2.10",
      "prNumber": 5608,
      "type": "other",
      "body": "",
      "files": [
        "bun.lock",
        "lerna.json",
        "packages/cli/src/utils/registry/index.ts",
        "packages/plugin-bootstrap/src/index.ts"
      ]
    },
    {
      "title": "fix: remove node-fetch dependency for Bun compatibility",
      "prNumber": 5607,
      "type": "bugfix",
      "body": "## Summary\n- Remove node-fetch import from bootstrap plugin to use Bun's native fetch\n- Fix compatibility issue where messages weren't sent when using npm bootstrap in Bun environments\n- Update deprecated node-fetch buffer() method to nativ",
      "files": [
        "packages/cli/src/utils/registry/index.ts",
        "packages/plugin-bootstrap/src/index.ts"
      ]
    }
  ],
  "topContributors": [
    {
      "username": "wtfsayo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4",
      "totalScore": 279.45085076706175,
      "prScore": 274.1108507670618,
      "issueScore": 0,
      "reviewScore": 5,
      "commentScore": 0.33999999999999997,
      "summary": "wtfsayo: Drove a significant migration from EventEmitter to Bun's native EventTarget API in elizaos/eliza via PR #5609, demonstrating a focus on core architectural improvements and Bun compatibility, while also addressing several bug fixes and documentation cleanups. Their work primarily centered on bug fixes, general maintenance, and testing, touching a wide range of code and configuration files."
    },
    {
      "username": "ChristopherTrimboli",
      "avatarUrl": "https://avatars.githubusercontent.com/u/27584221?u=0d816ce1dcdea8f925aba18bb710153d4a87a719&v=4",
      "totalScore": 59.5437738965761,
      "prScore": 59.5437738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "ChristopherTrimboli: Addressed a critical bug by merging elizaos/eliza#5624, which fixed plugin actions not loading in the NPM deployed version, involving substantial changes across 14 files. Their work primarily focused on other work and refactoring, touching configuration and code files."
    },
    {
      "username": "0xbbjoker",
      "avatarUrl": "https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4",
      "totalScore": 43.5437738965761,
      "prScore": 43.5437738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "0xbbjoker: Focused on a significant refactor, migrating JSON prompts to an XML format in elizaos/eliza via PR #5623, which involved substantial code changes across 12 files (+598/-487 lines). This work primarily centered on refactoring existing code, with changes spanning both code and test files."
    },
    {
      "username": "yungalgo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/113615973?u=92e0f29f7e2fbb8ce46ed13c51f692ca803de02d&v=4",
      "totalScore": 43.432140953475745,
      "prScore": 38.49414095347574,
      "issueScore": 0,
      "reviewScore": 4.5,
      "commentScore": 0.43799999999999994,
      "summary": "yungalgo: Focused on CLI improvements, merging a bug fix in elizaos/eliza#5618 that prevents `.elizadb` inheritance and opening a new feature PR, elizaos/eliza#5622, to add a CLI warning for monorepo usage, while also providing one review."
    },
    {
      "username": "Zatoryama",
      "avatarUrl": "https://avatars.githubusercontent.com/u/117825329?v=4",
      "totalScore": 40.4257738965761,
      "prScore": 40.4257738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "Zatoryama: No activity today."
    },
    {
      "username": "linear",
      "avatarUrl": "https://avatars.githubusercontent.com/in/20150?v=4",
      "totalScore": 16,
      "prScore": 0,
      "issueScore": 16,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "linear: Focused on identifying and documenting potential issues within the `elizaos` project, creating five new issues including two related to Windows path handling and directory creation (elizaos/eliza#5619, elizaos/eliza#5616)."
    },
    {
      "username": "samarth30",
      "avatarUrl": "https://avatars.githubusercontent.com/u/48334430?u=1fc119a6c2deb8cf60448b4c8961cb21dc69baeb&v=4",
      "totalScore": 2,
      "prScore": 0,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "samarth30: Focused on identifying potential areas for improvement by creating a new issue, elizaos/eliza#5620, to track a \"Plugin-zapper\" concept."
    },
    {
      "username": "fuhaooo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/65961439?u=159d211599f4eeba073594cb00c12b9a2b5d6351&v=4",
      "totalScore": 2,
      "prScore": 0,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "fuhaooo: No activity today."
    },
    {
      "username": "bowtiedbluefin",
      "avatarUrl": "https://avatars.githubusercontent.com/u/95500901?v=4",
      "totalScore": 0.2,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.2,
      "summary": null
    },
    {
      "username": "META-DREAMER",
      "avatarUrl": "https://avatars.githubusercontent.com/u/7143583?u=96f63f10e066a06d5ad592c8efc659e2b84a68fc&v=4",
      "totalScore": 0.2,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.2,
      "summary": "META-DREAMER: Today's activity primarily involved bugfix and other work, with some feature work, across 53 files and 5 commits, resulting in 3907 additions and 167 deletions."
    }
  ],
  "newPRs": 14,
  "mergedPRs": 9,
  "newIssues": 7,
  "closedIssues": 0,
  "activeContributors": 8
}