{
  "interval": {
    "intervalStart": "2025-12-01T00:00:00.000Z",
    "intervalEnd": "2026-01-01T00:00:00.000Z",
    "intervalType": "month"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-12-01 to 2026-01-01, elizaos/eliza had 37 new PRs (21 merged), 67 new issues, and 24 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs7V2Buf",
      "title": "Where did packages/docs/ go?",
      "author": "LinuxIsCool",
      "number": 6122,
      "repository": "elizaos/eliza",
      "body": "There was always packages/docs/ where did it get moved to?",
      "createdAt": "2025-11-04T18:08:54Z",
      "closedAt": "2025-12-01T14:35:46Z",
      "state": "CLOSED",
      "commentCount": 2
    },
    {
      "id": "I_kwDOMT5cIs7cwyy7",
      "title": "Snapshot Eligibility Issue + Tangem Wallet Connection Not Supported (Discord Support Compromised)",
      "author": "pereslavlland",
      "number": 6211,
      "repository": "elizaos/eliza",
      "body": "Hi ElizaOS team,\n\nI’m trying to complete the AI16Z → ElizaOS migration, but I’m running into two major issues and Discord support has become unreliable due to impersonators. I need help from the real development team to determine the correct path.\n\nMy situation:\n\n• I purchased AI16Z tokens on Oct 26 using my Phantom wallet.\n• I then moved them to my Tangem wallet for safety.\n• On Nov 11 (snapshot date), the tokens were held inside my Tangem wallet.\n• The migration portal shows my Phantom wallet as “0 eligible” (expected since Phantom didn’t hold them during snapshot).\n• I cannot connect my Tangem wallet to the migration portal because WalletConnect does not support Tangem.\n• My Tangem wallet was created using key cards only, so I do not have a seed phrase to export into Phantom.\n\nThe Discord server is currently compromised — multiple impersonators posing as support are entering tickets and attempting to direct users to send tokens manually. Because of this, I cannot rely on Discord support or email responses that appear to be spoofed.\n\nWhat I need from the real team:\n\nConfirmation of whether Tangem-held tokens during the snapshot are eligible for migration.\nWhether a manual backend whitelist update is possible so my Phantom wallet can perform migration safely.\nIf not, what the official and safe method is for users whose eligible snapshot wallet cannot connect to the portal (Tangem case).\nAny announcements regarding potential whitelist updates or support for non-exportable wallets.\nI have NOT sent my tokens anywhere and I have NOT interacted with any unofficial links. My tokens are safe. I’m only seeking official guidance from the verifiable team here on GitHub.\n\nThank you — I appreciate your time. I prefer to resolve this safely through GitHub to avoid Discord impersonation issues.\n\nActivity\n",
      "createdAt": "2025-12-07T18:00:25Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 2
    },
    {
      "id": "I_kwDOMT5cIs7cPNBC",
      "title": ".eliza needed or plugin-sql crashes, should autocreate",
      "author": "lalalune",
      "number": 6204,
      "repository": "elizaos/eliza",
      "body": "You can see here, I am building an Eliza agent from scratch\n\n```\nimport { AgentRuntime, type Character, type Plugin } from \"@elizaos/core\";\nimport { plugin } from \"@elizaos/plugin-sql\"\nimport { openaiPlugin } from \"@elizaos/plugin-openai\"\nimport fs from \"fs\";\n\n// if .eliza directory does not exist, create it\nif (!fs.existsSync(\".eliza\")) {\n    fs.mkdirSync(\".eliza\");\n}\n\nconst character: Character = {\n    name: \"Eliza\",\n    bio: \"You are a helpful assistant\",\n};\n\nconst plugins: Plugin[] = [\n    plugin,\n    openaiPlugin,\n];\n\nconst agent = new AgentRuntime({\n    character, // need a character to start the agent\n    plugins // bare minimum is db plugin and inference plugin\n});\n\nagent.initialize().then(() => {\n    console.log(\"Agent initialized\");\n\n\n});\n```\n\nIn order to get it to work I have to add\n```\nimport fs from \"fs\";\n\n// if .eliza directory does not exist, create it\nif (!fs.existsSync(\".eliza\")) {\n    fs.mkdirSync(\".eliza\");\n}\n```\n\nBut this should happen automatically",
      "createdAt": "2025-12-04T14:37:44Z",
      "closedAt": "2025-12-08T13:17:08Z",
      "state": "CLOSED",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs7f1hdp",
      "title": "Create Agent Button should be same in My Agents and Dashboard",
      "author": "borisudovicic",
      "number": 6274,
      "repository": "elizaos/eliza",
      "body": "",
      "createdAt": "2025-12-22T22:00:52Z",
      "closedAt": "2025-12-23T14:53:55Z",
      "state": "CLOSED",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs7f1hHH",
      "title": "Move avatar button to #4 in agent builder",
      "author": "borisudovicic",
      "number": 6273,
      "repository": "elizaos/eliza",
      "body": "",
      "createdAt": "2025-12-22T22:00:19Z",
      "closedAt": "2025-12-23T14:53:55Z",
      "state": "CLOSED",
      "commentCount": 1
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs64E0uE",
      "title": "Eliza Cloud Integration, add MCP + A2A service starter, integrate CLI and starter projects tight",
      "author": "lalalune",
      "number": 6216,
      "body": "The goal of this PR is to tightly integrate the elizaos cloud plugin, which now can use cloud as a db and storage provider, and encourage users through the CLI to get up and running with elizaos cloud. CLI should auto log them in, provision API key and make sure project is set up.\r\n\r\nPlease thoroughly review and understand the create -> deploy -> publish and monetize flow, may still need some work",
      "repository": "elizaos/eliza",
      "createdAt": "2025-12-10T07:26:45Z",
      "mergedAt": null,
      "additions": 9989,
      "deletions": 101
    },
    {
      "id": "PR_kwDOMT5cIs630tVJ",
      "title": "Shaw/chore/deslop",
      "author": "lalalune",
      "number": 6213,
      "body": "This PR removes a lot of slop\r\n\r\n- Fixes any and unknown and cast types with real types\r\n- Removes try catch\r\n- Removes sloppy comments\r\n- Removes dead files and code",
      "repository": "elizaos/eliza",
      "createdAt": "2025-12-09T03:59:26Z",
      "mergedAt": "2025-12-09T06:22:34Z",
      "additions": 9246,
      "deletions": 7105
    },
    {
      "id": "PR_kwDOMT5cIs64kuni",
      "title": "Main",
      "author": "DevGruGold",
      "number": 6220,
      "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-12-12T14:04:11Z",
      "mergedAt": null,
      "additions": 6952,
      "deletions": 840
    },
    {
      "id": "PR_kwDOMT5cIs620Si3",
      "title": "feat(auth): implement JWT authentication and user management",
      "author": "standujar",
      "number": 6200,
      "body": "## Relates to\r\n\r\n- Data isolation / multi-entity support\r\n- External JWT provider integration (Privy, Auth0, Clerk, Supabase, Google, Embbeded)\r\n\r\n## Risks\r\n\r\n**Low**\r\n\r\n- Requires `ENABLE_DATA_ISOLATION=true` to activate JWT auth mode\r\n\r\n## Background\r\n\r\n### What does this PR do?\r\n\r\nImplements a complete JWT authentication system for ElizaOS with support for multiple verification strategies:\r\n\r\n1. **JWT Verifier Factory** - Priority-based verifier selection:\r\n   - Ed25519 (highest priority) - For self-signed JWTs with Ed25519 keys\r\n   - JWKS (medium priority) - For external providers (Auth0, Clerk, Privy, Supabase, Google)\r\n   - Secret (lowest priority) - For simple HS256 symmetric key verification\r\n\r\n2. **Entity ID derivation from JWT `sub` claim**:\r\n   - `entityId = stringToUuid(payload.sub)`\r\n   - Compatible with ANY JWT provider since `sub` is a standard claim\r\n   - No custom claims needed in external JWTs\r\n\r\n3. **Dual authentication modes**:\r\n   - `ENABLE_DATA_ISOLATION=true` → JWT authentication required\r\n   - `ENABLE_DATA_ISOLATION=false` → X-Entity-Id header (legacy mode)\r\n\r\n4. **Internal service bypass** - Process-local UUID secret for service-to-service calls\r\n\r\n5. **Credentials-based auth endpoints** (`/api/auth/*`) - only in custom - JWT-SECRET mode:\r\n   - `POST /register` - User registration with bcrypt password hashing\r\n   - `POST /login` - User login with JWT generation\r\n   - `POST /refresh` - Token refresh\r\n   - `GET /me` - Current user info\r\n\r\n6. **Client UI default implementation using self mode (Secret)\r\n\r\n### What kind of change is this?\r\n\r\n**Features** (non-breaking change which adds functionality)\r\n\r\n## Architecture\r\n\r\n```\r\n┌─────────────────────────────────────────────────────────────────┐\r\n│                    JWT Verification Flow                         │\r\n├─────────────────────────────────────────────────────────────────┤\r\n│  Request with Bearer token                                       │\r\n│       ↓                                                          │\r\n│  JWTVerifierFactory.create()                                     │\r\n│       ↓                                                          │\r\n│  Priority: Ed25519 > JWKS > Secret > Disabled                   │\r\n│       ↓                                                          │\r\n│  verifier.verify(token)                                          │\r\n│       ↓                                                          │\r\n│  Extract payload.sub                                             │\r\n│       ↓                                                          │\r\n│  entityId = stringToUuid(sub)  ← Derived, NOT stored in JWT     │\r\n│       ↓                                                          │\r\n│  req.entityId = entityId                                         │\r\n└─────────────────────────────────────────────────────────────────┘\r\n```\r\n\r\n## Environment Variables\r\n\r\n| Variable | Description | Example |\r\n|----------|-------------|---------|\r\n| `ENABLE_DATA_ISOLATION` | Enable JWT auth mode | `true` |\r\n| `JWT_SECRET` (optional) | HS256 symmetric secret | `your-secret-key` |\r\n| `JWT_PUBLIC_KEY_ED25519` (optional) | Ed25519 public key (base64) | `MCowBQYDK2Vw...` |\r\n| `JWT_JWKS_URI` (optional) | JWKS endpoint URL | `https://auth0.com/.well-known/jwks.json` |\r\n| `JWT_ISSUER_WHITELIST` (optional) | Allowed issuers (comma-separated) | `https://auth0.com/,https://clerk.dev` |\r\n\r\n## Documentation changes needed?\r\n\r\nYes - Documentation should be added for:\r\n- Environment variable configuration\r\n- External provider setup (Auth0, Clerk, Privy examples)\r\n\r\n## Testing\r\n\r\n### Where should a reviewer start?\r\n\r\n1. `packages/server/src/services/jwt-verifiers/factory.ts` - Core factory logic\r\n2. `packages/server/src/middleware/jwtMiddleware.ts` - HTTP middleware\r\n3. `packages/server/src/socketio/index.ts` - SocketIO authentication\r\n\r\n### Detailed testing steps\r\n\r\n**Unit Tests:**\r\n```bash\r\ncd packages/server\r\nbun run test:unit\r\n```\r\n\r\n**Integration Tests:**\r\n```bash\r\ncd packages/server\r\nbun run test:integration\r\n```\r\n\r\n**Results:** 489 unit tests pass, 6 integration test files pass\r\n\r\n### Manual Testing\r\n\r\n1. **Test with JWT_SECRET (HS256):**\r\n```bash\r\nENABLE_DATA_ISOLATION=true JWT_SECRET=test-secret bun run dev\r\n```\r\n\r\n2. **Register a user:**\r\n```bash\r\ncurl -X POST http://localhost:3000/api/auth/register \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\"email\":\"test@example.com\",\"username\":\"testuser\",\"password\":\"password123\"}'\r\n```\r\n\r\n3. **Use returned token:**\r\n```bash\r\ncurl http://localhost:3000/api/agents \\\r\n  -H \"Authorization: Bearer <token>\"\r\n```\r\n\r\n## External Provider Compatibility\r\n\r\nTested JWT formats:\r\n- **Auth0**: `sub: \"auth0|1234567890\"`\r\n- **Clerk**: `sub: \"user_2abcdefgh123456\"`\r\n- **Google**: `sub: \"1234567890\"` with `email`, `email_verified`\r\n- **Supabase**: `sub: \"uuid\"` with `role: \"authenticated\"`\r\n- **Privy**: `sub: \"did:privy:...\"`\r\n\r\nAll providers work because we only require the standard `sub` claim.\r\n\r\n## Next Idea Steps: Access Control Layer (ACL)\r\n\r\nThe next phase will add access control on agents and rooms: \r\n\r\nAgents:\r\n- Each user can create their own agents (ownerId = entityId)\r\n- Visibility: public or private\r\n- Private = only the owner can chat with it\r\n- Public = everyone can chat, but only the owner can modify/delete\r\n\r\nRooms:\r\n- Each room has an owner\r\nOnly the owner can:\r\n- Delete the room (DELETE /rooms/:id)\r\n- Clear message history (DELETE /rooms/:id/messages)\r\n- Change visibility\r\n\r\nThis will enable true multi-tenant mode where each user manages their resources in isolation.",
      "repository": "elizaos/eliza",
      "createdAt": "2025-12-03T11:55:47Z",
      "mergedAt": null,
      "additions": 6072,
      "deletions": 354
    },
    {
      "id": "PR_kwDOMT5cIs64fjY5",
      "title": "Main",
      "author": "DevGruGold",
      "number": 6219,
      "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-12-12T05:13:08Z",
      "mergedAt": null,
      "additions": 5104,
      "deletions": 662
    }
  ],
  "codeChanges": {
    "additions": 15509,
    "deletions": 6345,
    "files": 295,
    "commitCount": 241
  },
  "completedItems": [
    {
      "title": "fix: markdown spacing compact",
      "prNumber": 6159,
      "type": "bugfix",
      "body": "# Relates to\r\n\r\nFixes excessive vertical spacing in AI-generated markdown responses in the ElizaOS client UI.\r\n\r\n# Risks\r\n\r\n**Low Risk**\r\n\r\n- Only CSS changes affecting markdown content rendering\r\n- Uses well-supported CSS features (Chrome ",
      "files": [
        "packages/client/src/components/ai-elements/response.tsx",
        "packages/client/src/index.css"
      ]
    },
    {
      "title": "refactor(server): optimization and reorganization",
      "prNumber": 6199,
      "type": "refactor",
      "body": "# Risks\r\n\r\n**Low to Medium**\r\n\r\n- Socket.IO configuration changes may affect existing client connections (tested with multiple browsers)\r\n- Code reorganization changes import paths - all imports have been updated and verified\r\n\r\n# Backgroun",
      "files": [
        "bun.lock",
        "packages/server/src/__tests__/builders/channel.builder.ts",
        "packages/server/src/__tests__/builders/message.builder.ts",
        "packages/server/src/__tests__/integration/agent-server-interaction.test.ts",
        "packages/server/src/__tests__/integration/database-operations.test.ts",
        "packages/server/src/__tests__/integration/message-bus-service.test.ts",
        "packages/server/src/__tests__/unit/api/crud-uuid.test.ts",
        "packages/server/src/__tests__/unit/api/jobs.test.ts",
        "packages/server/src/__tests__/unit/features/socketio-router.test.ts",
        "packages/server/src/__tests__/unit/services/message-bus-compatibility.test.ts",
        "packages/server/src/__tests__/unit/utils/loader-uuid.test.ts",
        "packages/server/src/__tests__/unit/utils/loader.test.ts",
        "packages/server/src/api/index.ts",
        "packages/server/src/api/messaging/channels.ts",
        "packages/server/src/api/messaging/core.ts",
        "packages/server/src/api/messaging/jobs.ts",
        "packages/server/src/api/messaging/messageServers.ts",
        "packages/server/src/api/messaging/sessions.ts",
        "packages/server/src/api/shared/uploads/index.ts",
        "packages/server/src/index.ts",
        "packages/server/src/services/index.ts",
        "packages/server/src/services/loader.ts",
        "packages/server/src/services/message-bus.ts",
        "packages/server/src/services/message.ts",
        "packages/server/src/socketio/index.ts",
        "packages/server/src/types/server.ts",
        "packages/server/src/utils/config.ts",
        "packages/server/src/utils/index.ts",
        "packages/server/src/utils/media-transformer.ts",
        "packages/server/src/utils/upload.ts"
      ]
    },
    {
      "title": "fix(client): improve markdown content spacing",
      "prNumber": 6197,
      "type": "bugfix",
      "body": "This PR includes two fixes for markdown content spacing in the client:\n\n1. Add missing heading and separator spacing to markdown-content\n2. Reduce blockquote vertical spacing for more compact display\n\nThese changes improve the visual consis",
      "files": [
        "packages/client/src/index.css"
      ]
    },
    {
      "title": "feat: Unified API - serverless - nodejs",
      "prNumber": 6201,
      "type": "feature",
      "body": "",
      "files": [
        "bun.lock",
        "packages/core/src/__tests__/elizaos-sendmessage.test.ts",
        "packages/core/src/__tests__/elizaos.test.ts",
        "packages/core/src/elizaos.ts",
        "packages/core/src/types/elizaos.ts"
      ]
    },
    {
      "title": "fix(examples): respect user LOG_LEVEL in standalone-cli-chat",
      "prNumber": 6203,
      "type": "bugfix",
      "body": "",
      "files": [
        "examples/standalone-cli-chat.ts"
      ]
    },
    {
      "title": "fix(plugin-sql): migrate to messageService API and auto-create PGLite directories",
      "prNumber": 6202,
      "type": "bugfix",
      "body": "## Summary\n\nThis PR modernizes the standalone example files and improves the SQL plugin's directory handling by:\n1. Migrating examples from the deprecated `MESSAGE_RECEIVED` event system to the new `messageService.handleMessage()` API\n2. Ad",
      "files": [
        "examples/standalone-cli-chat.ts",
        "examples/standalone.ts",
        "packages/plugin-sql/src/__tests__/unit/directory-creation.test.ts",
        "packages/plugin-sql/src/index.node.ts",
        "packages/plugin-sql/src/index.ts"
      ]
    },
    {
      "title": "feat: Add ElizaOS Cloud as Default AI Provider in CLI",
      "prNumber": 6208,
      "type": "feature",
      "body": "## Add ElizaOS Cloud as Default AI Provider in CLI\n\n### Summary\n- Add **ElizaOS Cloud** as the first/recommended option in `elizaos create` AI model selection\n- Integrate browser-based login flow for seamless API key setup\n- Fix env variabl",
      "files": [
        "bun.lock",
        "packages/cli/src/commands/create/actions/setup.ts",
        "packages/cli/src/commands/create/utils/selection.ts",
        "packages/cli/src/commands/deploy/utils/api-client.ts",
        "packages/cli/src/commands/login/README.md",
        "packages/cli/src/commands/login/actions/login.ts",
        "packages/cli/src/utils/get-config.ts",
        "packages/cli/tests/commands/create.test.ts",
        "packages/cli/tests/unit/utils/elizacloud-config.test.ts",
        "packages/cli/tests/unit/utils/selection.test.ts"
      ]
    },
    {
      "title": "fix(cli): correct startAgents API signature in e2e-tests",
      "prNumber": 6207,
      "type": "bugfix",
      "body": "## Summary\r\n\r\n- Fixed `startAgents` API signature mismatch in CLI's e2e-tests.ts\r\n- Fixed unit test mock function name (`getElizaCharacter` → `getDefaultCharacter`)\r\n\r\n## Problem\r\n\r\nThe CLI's `elizaos test` command was failing with:\r\n```\r\nu",
      "files": [
        "packages/cli/src/commands/test/actions/e2e-tests.ts",
        "packages/cli/tests/unit/commands/test/e2e-tests.test.ts"
      ]
    },
    {
      "title": "feat: bump deps, fix drizzle-kit across ecosystem",
      "prNumber": 6210,
      "type": "feature",
      "body": "## 🔄 Update All Dependencies to Latest Versions\n\n### Problem\n\nFound conflicting `drizzle-orm` versions across the monorepo causing compatibility issues:\n\n- `drizzle-orm@0.45.0` (root)\n- `drizzle-orm@0.44.7` (from `@elizaos/plugin-sql`)\n- `",
      "files": [
        ".github/workflows/cli-tests.yml",
        ".github/workflows/client-cypress-tests.yml",
        ".github/workflows/jsdoc-automation.yml",
        ".github/workflows/release.yaml",
        ".github/workflows/tauri-ci.yml",
        ".github/workflows/update-news.yml",
        "bun.lock",
        "package.json",
        "packages/api-client/package.json",
        "packages/app/package.json",
        "packages/cli/package.json",
        "packages/cli/tests/commands/agent.test.ts",
        "packages/cli/tests/commands/create.test.ts",
        "packages/cli/tests/commands/dev.test.ts",
        "packages/cli/tests/commands/env.test.ts",
        "packages/cli/tests/commands/monorepo.test.ts",
        "packages/cli/tests/commands/plugins.test.ts",
        "packages/cli/tests/commands/publish.test.ts",
        "packages/cli/tests/commands/start.test.ts",
        "packages/cli/tests/commands/tee.test.ts",
        "packages/cli/tests/commands/test.test.ts",
        "packages/cli/tests/commands/update.test.ts",
        "packages/cli/tests/unit/utils/elizacloud-config.test.ts",
        "packages/client/package.json",
        "packages/config/package.json",
        "packages/core/package.json",
        "packages/plugin-bootstrap/package.json",
        "packages/plugin-dummy-services/package.json",
        "packages/plugin-quick-starter/package.json",
        "packages/plugin-sql/build.ts",
        "packages/plugin-sql/package.json",
        "packages/plugin-starter/package.json",
        "packages/project-starter/package.json",
        "packages/project-tee-starter/package.json",
        "packages/server/package.json",
        "packages/service-interfaces/package.json",
        "packages/test-utils/package.json"
      ]
    },
    {
      "title": "feat: enhance streaming support in text generation",
      "prNumber": 6212,
      "type": "feature",
      "body": "# Relates to\r\n\r\n- Streaming support for text generation models\r\n- CLI test runner improvements\r\n\r\n# Risks\r\n\r\n**Low**. Changes are additive and backward-compatible:\r\n- New streaming API is opt-in via `stream: true` parameter\r\n\r\n# Background\r",
      "files": [
        "packages/cli/src/commands/test/actions/e2e-tests.ts",
        "packages/cli/src/utils/test-runner.ts",
        "packages/cli/tests/unit/commands/test/e2e-tests.test.ts",
        "packages/client/src/components/ChatMessageListComponent.tsx",
        "packages/client/src/components/chat.tsx",
        "packages/client/src/hooks/use-query-hooks.ts",
        "packages/client/src/hooks/use-socket-chat.ts",
        "packages/client/src/lib/socketio-manager.ts",
        "packages/core/src/__tests__/message-service.test.ts",
        "packages/core/src/__tests__/runtime.test.ts",
        "packages/core/src/__tests__/utils.test.ts",
        "packages/core/src/elizaos.ts",
        "packages/core/src/runtime.ts",
        "packages/core/src/services/default-message-service.ts",
        "packages/core/src/services/message-service.ts",
        "packages/core/src/types/elizaos.ts",
        "packages/core/src/types/model.ts",
        "packages/core/src/types/primitives.ts",
        "packages/core/src/types/runtime.ts",
        "packages/core/src/utils.ts",
        "packages/server/src/api/messaging/core.ts",
        "packages/server/src/services/message.ts",
        "packages/server/src/socketio/index.ts",
        "packages/api-client/src/__tests__/services/sessions.test.ts",
        "packages/api-client/src/services/sessions.ts",
        "packages/api-client/src/types/sessions.ts",
        "packages/core/src/__tests__/elizaos-handlemessage.test.ts",
        "packages/core/src/__tests__/elizaos.test.ts",
        "packages/core/src/__tests__/messaging-types.test.ts",
        "packages/core/src/types/messaging.ts",
        "packages/core/src/types/plugin.ts",
        "packages/server/src/__tests__/integration/message-bus-service.test.ts",
        "packages/server/src/__tests__/unit/api/channels-mode.test.ts",
        "packages/server/src/__tests__/unit/api/response-handlers.test.ts",
        "packages/server/src/__tests__/unit/api/sessions.test.ts",
        "packages/server/src/__tests__/unit/services/message-stream-events.test.ts",
        "packages/server/src/api/messaging/channels.ts",
        "packages/server/src/api/messaging/sessions.ts",
        "packages/server/src/api/shared/constants.ts",
        "packages/server/src/api/shared/response-handlers.ts",
        "packages/server/src/api/shared/validation.ts",
        "packages/server/src/types/server.ts",
        "packages/cli/src/commands/scenario/src/UserSimulator.ts",
        "packages/core/src/__tests__/e2e/core-runtime.test.ts",
        "packages/core/src/__tests__/integration/character-runtime.test.ts",
        "packages/core/src/__tests__/integration/memory-runtime.test.ts",
        "packages/core/src/__tests__/runtime-embedding.test.ts",
        "packages/core/src/__tests__/runtime-streaming.test.ts",
        "packages/core/src/__tests__/streaming-context.test.ts",
        "packages/core/src/__tests__/test-helpers.ts",
        "packages/core/src/index.browser.ts",
        "packages/core/src/index.node.ts",
        "packages/core/src/index.ts",
        "packages/core/src/streaming-context.browser.ts",
        "packages/core/src/streaming-context.node.ts",
        "packages/core/src/streaming-context.ts",
        "packages/plugin-bootstrap/src/actions/reply.ts",
        "packages/core/src/__tests__/utils/streaming.test.ts",
        "packages/core/src/types/index.ts",
        "packages/core/src/types/streaming.ts",
        "packages/core/src/utils/streaming.ts",
        "packages/plugin-bootstrap/src/__tests__/actions.test.ts"
      ]
    },
    {
      "title": "Shaw/chore/deslop",
      "prNumber": 6213,
      "type": "other",
      "body": "This PR removes a lot of slop\r\n\r\n- Fixes any and unknown and cast types with real types\r\n- Removes try catch\r\n- Removes sloppy comments\r\n- Removes dead files and code",
      "files": [
        "build-utils.ts",
        "bun.lock",
        "packages/api-client/src/__tests__/integration/no-content-fix.test.ts",
        "packages/api-client/src/__tests__/services/agents.test.ts",
        "packages/api-client/src/__tests__/services/audio.test.ts",
        "packages/api-client/src/__tests__/services/jobs.test.ts",
        "packages/api-client/src/__tests__/services/media.test.ts",
        "packages/api-client/src/__tests__/services/memory.test.ts",
        "packages/api-client/src/__tests__/services/messaging.test.ts",
        "packages/api-client/src/__tests__/services/server.test.ts",
        "packages/api-client/src/__tests__/services/system.test.ts",
        "packages/api-client/src/lib/base-client.ts",
        "packages/api-client/src/services/agents.ts",
        "packages/api-client/src/services/audio.ts",
        "packages/api-client/src/services/jobs.ts",
        "packages/api-client/src/services/media.ts",
        "packages/api-client/src/services/memory.ts",
        "packages/api-client/src/services/messaging.ts",
        "packages/api-client/src/services/sessions.ts",
        "packages/api-client/src/services/system.ts",
        "packages/api-client/src/types/agents.ts",
        "packages/api-client/src/types/jobs.ts",
        "packages/api-client/src/types/media.ts",
        "packages/api-client/src/types/memory.ts",
        "packages/api-client/src/types/server.ts",
        "packages/api-client/src/types/system.ts",
        "packages/app/README.md",
        "packages/app/eslint.config.js",
        "packages/app/index.html",
        "packages/app/package.json",
        "packages/app/src-tauri/Cargo.toml",
        "packages/app/src-tauri/src/lib.rs",
        "packages/app/src/__tests__/main.test.ts",
        "packages/app/src/main.tsx",
        "packages/app/src/types/bun-test.d.ts",
        "packages/app/vite.config.ts",
        "packages/cli/src/commands/agent/actions/crud.ts",
        "packages/cli/src/commands/agent/actions/lifecycle.ts",
        "packages/cli/src/commands/create/actions/creators.ts",
        "packages/cli/src/commands/create/index.ts",
        "packages/cli/src/commands/create/utils/validation.ts",
        "packages/cli/src/commands/deploy/actions/deploy-ecs.ts",
        "packages/cli/src/commands/deploy/types.ts",
        "packages/cli/src/commands/dev/actions/dev-server.ts",
        "packages/cli/src/commands/publish/types.ts",
        "packages/cli/src/commands/report/generate.ts",
        "packages/cli/src/commands/report/src/analysis-engine.ts",
        "packages/cli/src/commands/scenario/docs/README.md",
        "packages/cli/src/commands/scenario/docs/file-format-spec.md",
        "packages/cli/src/commands/scenario/docs/matrix-testing.md"
      ]
    },
    {
      "title": "fix: resolve TypeScript build errors in every packages - first step",
      "prNumber": 6218,
      "type": "bugfix",
      "body": "",
      "files": [
        "packages/api-client/src/lib/base-client.ts",
        "packages/api-client/src/services/audio.ts",
        "packages/api-client/src/types/agents.ts",
        "packages/client/src/components/agent-action-viewer.tsx",
        "packages/client/src/components/chat.tsx",
        "packages/client/src/config/agent-templates.ts",
        "packages/client/src/hooks/__tests__/use-agent-update.test.tsx",
        "packages/client/src/hooks/use-character-convert.ts",
        "packages/client/src/hooks/use-partial-update.ts",
        "packages/client/src/hooks/use-query-hooks.ts",
        "packages/client/src/hooks/use-socket-chat.ts",
        "packages/client/src/lib/api-type-mappers.ts",
        "packages/client/src/lib/socketio-manager.ts",
        "packages/core/src/entities.ts",
        "packages/core/src/logger.ts",
        "packages/core/src/runtime.ts",
        "packages/core/src/types/events.ts",
        "packages/core/src/types/index.ts",
        "packages/core/src/types/plugin.ts",
        "packages/core/src/types/runtime.ts",
        "packages/core/src/types/state.ts",
        "packages/core/src/utils.ts",
        "packages/plugin-bootstrap/src/actions/choice.ts",
        "packages/plugin-bootstrap/src/actions/followRoom.ts",
        "packages/plugin-bootstrap/src/actions/ignore.ts",
        "packages/plugin-bootstrap/src/actions/imageGeneration.ts",
        "packages/plugin-bootstrap/src/actions/muteRoom.ts",
        "packages/plugin-bootstrap/src/actions/reply.ts",
        "packages/plugin-bootstrap/src/actions/roles.ts",
        "packages/plugin-bootstrap/src/actions/sendMessage.ts",
        "packages/plugin-bootstrap/src/actions/unfollowRoom.ts",
        "packages/plugin-bootstrap/src/actions/unmuteRoom.ts",
        "packages/plugin-bootstrap/src/actions/updateEntity.ts",
        "packages/plugin-bootstrap/src/evaluators/reflection.ts",
        "packages/plugin-bootstrap/src/index.ts",
        "packages/plugin-bootstrap/src/providers/actionState.ts",
        "packages/plugin-dummy-services/src/browser/service.ts",
        "packages/plugin-dummy-services/src/e2e/test-utils.ts",
        "packages/plugin-sql/src/base.ts",
        "packages/plugin-sql/src/index.node.ts",
        "packages/plugin-sql/src/index.ts",
        "packages/plugin-sql/src/migrations.ts",
        "packages/plugin-sql/src/pg/adapter.ts",
        "packages/plugin-sql/src/rls.ts",
        "packages/plugin-sql/src/runtime-migrator/runtime-migrator.ts",
        "packages/plugin-sql/src/runtime-migrator/storage/journal-storage.ts",
        "packages/plugin-sql/src/runtime-migrator/storage/migration-tracker.ts",
        "packages/plugin-sql/src/types.ts",
        "packages/server/src/api/agents/runs.ts",
        "packages/server/src/api/audio/conversation.ts",
        "packages/cli/src/commands/scenario/src/EvaluationEngine.ts",
        "packages/cli/src/commands/scenario/src/LocalEnvironmentProvider.ts",
        "packages/cli/src/commands/scenario/src/TrajectoryReconstructor.ts",
        "packages/cli/src/commands/scenario/src/UserSimulator.ts",
        "packages/cli/src/commands/scenario/src/matrix-orchestrator.ts",
        "packages/cli/src/commands/scenario/src/matrix-runner.ts",
        "packages/cli/src/commands/scenario/src/matrix-schema.ts",
        "packages/cli/src/commands/scenario/src/parameter-override.ts",
        "packages/cli/src/commands/scenario/src/run-isolation.ts",
        "packages/cli/src/commands/scenario/src/runtime-factory.ts",
        "packages/cli/src/commands/test/actions/e2e-tests.ts",
        "packages/cli/src/utils/spinner-utils.ts",
        "packages/core/src/__tests__/settings.test.ts",
        "packages/core/src/__tests__/utils.test.ts",
        "packages/core/src/elizaos.ts",
        "packages/core/src/schemas/character.ts",
        "packages/core/src/settings.ts",
        "packages/plugin-bootstrap/src/__tests__/logic.test.ts"
      ]
    },
    {
      "title": "fix: encryption for character secrets in correct order",
      "prNumber": 6217,
      "type": "bugfix",
      "body": "",
      "files": [
        "packages/core/src/__tests__/elizaos.test.ts",
        "packages/core/src/elizaos.ts",
        "packages/server/src/api/agents/crud.ts",
        "packages/server/src/index.ts"
      ]
    },
    {
      "title": "fix(plugin-sql): optimize pre-1.6.5 migration, RLS handling and SQL organisation",
      "prNumber": 6215,
      "type": "bugfix",
      "body": "# Risks\r\n\r\n**Low** - All changes are backwards compatible and idempotent. Comprehensive test coverage added. Nothing is destructive\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n- Adds smooth migration from pre-1.6.5 (camelCase) to 1.6.5+ ",
      "files": [
        ".github/workflows/plugin-sql-tests.yaml",
        "examples/test-addagents-auto.ts",
        "packages/plugin-sql/docker-compose.test.yml",
        "packages/plugin-sql/package.json",
        "packages/plugin-sql/scripts/init-test-db.sql",
        "packages/plugin-sql/scripts/run-integration-tests.sh",
        "packages/plugin-sql/src/__tests__/fixtures/test-plugin-schema.ts",
        "packages/plugin-sql/src/__tests__/integration/pglite-e2e.test.ts",
        "packages/plugin-sql/src/__tests__/integration/postgres/pg-adapter-integration.test.ts",
        "packages/plugin-sql/src/__tests__/integration/postgres/pglite-adapter.test.ts",
        "packages/plugin-sql/src/__tests__/integration/postgres/postgres-init.test.ts",
        "packages/plugin-sql/src/__tests__/integration/postgres/rls-entity.test.ts",
        "packages/plugin-sql/src/__tests__/integration/postgres/rls-logs.test.ts",
        "packages/plugin-sql/src/__tests__/integration/postgres/rls-message-server-agents.test.ts",
        "packages/plugin-sql/src/__tests__/integration/postgres/rls-server.test.ts",
        "packages/plugin-sql/src/__tests__/migration/dynamic-migration.test.ts",
        "packages/plugin-sql/src/__tests__/migration/e2e/docker-compose.yml",
        "packages/plugin-sql/src/__tests__/migration/e2e/run-upgrade-test.sh",
        "packages/plugin-sql/src/__tests__/migration/migration-before-1.6.5.test.ts",
        "packages/plugin-sql/src/__tests__/migration/production-scenario.test.ts",
        "packages/plugin-sql/src/__tests__/migration/runtime-migrator.test.ts",
        "packages/plugin-sql/src/__tests__/unit/directory-creation.test.ts",
        "packages/plugin-sql/src/__tests__/unit/index.test.ts",
        "packages/plugin-sql/src/__tests__/unit/pg/adapter.test.ts",
        "packages/plugin-sql/src/__tests__/unit/pglite/adapter.test.ts",
        "packages/plugin-sql/src/base.ts",
        "packages/plugin-sql/src/migrations.ts",
        "packages/plugin-sql/src/pg/manager.ts",
        "packages/plugin-sql/src/rls.ts",
        "packages/plugin-sql/src/runtime-migrator/runtime-migrator.ts",
        "packages/plugin-sql/src/schema/component.ts",
        "packages/plugin-sql/src/schema/log.ts",
        "packages/plugin-sql/src/schema/memory.ts",
        "packages/plugin-sql/src/schema/participant.ts",
        "packages/plugin-sql/src/schema/relationship.ts",
        "packages/plugin-sql/src/schema/room.ts",
        "packages/plugin-sql/src/schema/tasks.ts",
        "packages/plugin-sql/src/schema/world.ts",
        "packages/core/src/__tests__/logger-browser-node.test.ts",
        "packages/plugin-sql/src/__tests__/integration/rls-entity.test.ts",
        "packages/plugin-sql/src/__tests__/migration/actual-runtime-scenario.test.ts",
        "packages/plugin-sql/src/__tests__/migration/initialization-with-plugin.test.ts",
        "packages/plugin-sql/src/__tests__/migration/runtime-simulation.test.ts",
        "packages/plugin-sql/src/__tests__/migration/schema-evolution-tests/06-index-evolution.test.ts",
        "packages/plugin-sql/src/__tests__/migration/schema-evolution-tests/07-foreign-key-evolution.test.ts",
        "packages/plugin-sql/src/__tests__/migration/transaction-and-concurrency.test.ts",
        "packages/plugin-sql/src/__tests__/test-helpers.ts",
        "packages/plugin-sql/src/pglite/manager.ts",
        "packages/plugin-sql/src/runtime-migrator/storage/migration-tracker.ts",
        "packages/server/src/__tests__/fixtures/database.fixture.ts"
      ]
    },
    {
      "title": "fix: bootstrap action/provide format change fix + initPromise fix",
      "prNumber": 6261,
      "type": "bugfix",
      "body": "# Risks\r\n\r\nLow, just fixes\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n- exposes initPromise so plugins can actually use it (duplicates some of #5718 but smaller and simpler)\r\n- fixes message format (we dropped serverId in favor of messa",
      "files": [
        "packages/core/src/types/runtime.ts",
        "packages/plugin-bootstrap/src/__tests__/test-utils.ts",
        "packages/plugin-bootstrap/src/actions/settings.ts",
        "packages/plugin-bootstrap/src/providers/roles.ts",
        "packages/plugin-bootstrap/src/providers/settings.ts",
        "packages/plugin-quick-starter/src/__tests__/test-utils.ts",
        "packages/plugin-starter/src/__tests__/test-utils.ts",
        "packages/project-starter/src/__tests__/utils/core-test-utils.ts",
        "packages/project-tee-starter/src/__tests__/utils/core-test-utils.ts",
        "packages/test-utils/src/mocks/runtime.ts",
        "packages/plugin-bootstrap/src/__tests__/providers.test.ts"
      ]
    },
    {
      "title": "fix(core): add generic type support for custom event handlers",
      "prNumber": 6277,
      "type": "bugfix",
      "body": "## Summary\n- Add generic type parameter to `registerEvent` for custom events\n- Allows plugins to define typed event payloads that extend `EventPayload`\n- Includes unit test\n\n## Example usage\n```typescript\ninterface MyCustomPayload extends E",
      "files": [
        "packages/core/src/__tests__/register-event.test.ts",
        "packages/core/src/runtime.ts",
        "packages/core/src/types/runtime.ts"
      ]
    },
    {
      "title": "fix(server): standardize message server route naming",
      "prNumber": 6285,
      "type": "bugfix",
      "body": "## fix(server): standardize message server route naming\r\n\r\n### Problem\r\n\r\nThe `api-client` package was calling `/message-servers/*` routes that didn't exist on the server. The server had inconsistent naming with `/servers/*` routes instead.",
      "files": [
        "packages/server/src/__tests__/unit/api/message-servers.test.ts",
        "packages/server/src/api/messaging/messageServers.ts"
      ]
    },
    {
      "title": "docs(plugin-dummy-services): add comprehensive README",
      "prNumber": 6290,
      "type": "docs",
      "body": "## Summary\nAdded comprehensive README.md documentation for the `@elizaos/plugin-dummy-services` package.\n\n## Documentation Includes\n- Package overview and purpose\n- Installation instructions (using bun)\n- Table of all 9 available dummy serv",
      "files": [
        "packages/plugin-dummy-services/README.md"
      ]
    },
    {
      "title": "fix(cli): replace execa and child_process with Bun.spawn and bun-exec utilities",
      "prNumber": 6289,
      "type": "bugfix",
      "body": "## Summary\nPer project guidelines in CLAUDE.md, replaced prohibited process execution libraries with Bun-native alternatives.\n\n## Changes\n- **docker-build.ts**: Replaced `execa` with `bunExec` for docker commands\n- **phala-wrapper.ts**: Rep",
      "files": [
        "packages/cli/src/commands/deploy/utils/docker-build.ts",
        "packages/cli/src/commands/report/src/__tests__/integration.test.ts",
        "packages/cli/src/commands/tee/phala-wrapper.ts"
      ]
    },
    {
      "title": "docs: fix documentation inconsistencies and add missing test flags",
      "prNumber": 6288,
      "type": "bugfix",
      "body": "## Summary\n- Change `npm install` to `bun add` in packages/server/README.md (project uses bun exclusively)\n- Replace broken BUILD_SYSTEM.md link with inline explanation in packages/core/README.md\n- Add `--port` and `--skip-type-check` flags",
      "files": [
        "CLAUDE.md",
        "packages/core/README.md",
        "packages/server/README.md"
      ]
    },
    {
      "title": "fix(core): log streaming LLM calls to database",
      "prNumber": 6296,
      "type": "bugfix",
      "body": "## Summary\r\n\r\nStreaming model calls were not being logged to the database because the logging code was placed after the `return` statement in the streaming path. This caused LLM calls (TEXT_SMALL, TEXT_LARGE) to not appear in the Model Call",
      "files": [
        "packages/client/src/components/agent-action-viewer.tsx",
        "packages/client/src/hooks/use-query-hooks.ts",
        "packages/core/src/__tests__/runtime-streaming.test.ts",
        "packages/core/src/runtime.ts"
      ]
    }
  ],
  "topContributors": [
    {
      "username": "standujar",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16385918?u=718bdcd1585be8447bdfffb8c11ce249baa7532d&v=4",
      "totalScore": 890.5000159172415,
      "prScore": 831.0040159172415,
      "issueScore": 0,
      "reviewScore": 57,
      "commentScore": 2.496,
      "summary": "standujar: This month, standujar made substantial contributions across the `elizaos` ecosystem, focusing on core system stability, refactoring, and introducing new capabilities. They implemented a new Unified API for serverless Node.js environments (elizaos/eliza#6201) and delivered several complex fixes, most notably optimizing the pre-1.6.5 migration and RLS handling in the SQL plugin (elizaos/eliza#6215), which involved over 28k lines of changes. In addition to merging seven pull requests, they have eight open PRs that introduce significant new features like JWT authentication and widespread streaming support. Their work was distributed across bug fixes, feature development, and refactoring, with a strong emphasis on code and test files."
    },
    {
      "username": "wtfsayo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4",
      "totalScore": 413.4725792109669,
      "prScore": 410.2345792109669,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 1.238,
      "summary": "wtfsayo: Focused on client-side fixes and plugin migrations this month, merging two pull requests in the elizaos/eliza repository. They improved the user experience by fixing markdown content spacing (#6197) and migrated the SQL plugin to the new messageService API (#6202). Additionally, they have begun work on a new core feature for parallel action execution (#6209), with their overall contributions reflecting a primary focus on bug fixes and refactoring."
    },
    {
      "username": "madjin",
      "avatarUrl": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4",
      "totalScore": 325.1444101641285,
      "prScore": 307.8684101641285,
      "issueScore": 16.4,
      "reviewScore": 0,
      "commentScore": 0.8759999999999999,
      "summary": "madjin: Focused on enhancing core functionality and maintaining project dependencies this month, merging three pull requests in the `elizaos/elizaos.github.io` repository. They implemented and fixed a new RSS feed feature (#172, #175) and also managed a substantial dependency update by upgrading the AI SDKs in a large PR (#170) with over 3300 new lines. Their work was a mix of bug fixes, feature implementation, and significant maintenance, touching both code and configuration files."
    },
    {
      "username": "odilitime",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=c9bac48e632aae594a0d85aaf9e9c9c69b674d8b&v=4",
      "totalScore": 223.24058973839072,
      "prScore": 217.7005897383907,
      "issueScore": 0,
      "reviewScore": 5,
      "commentScore": 0.54,
      "summary": "odilitime: Undertook a substantial amount of work this month, reflected in 25 commits across 25 files (+2146/-592 lines). While this work has not yet been merged via a pull request, their coding activity shows a focus on bugfixes and refactoring. They also contributed by creating an issue in elizaos-plugins/plugin-mysql (#1)."
    },
    {
      "username": "0xbbjoker",
      "avatarUrl": "https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4",
      "totalScore": 212.90477621970334,
      "prScore": 165.40477621970334,
      "issueScore": 2,
      "reviewScore": 45.5,
      "commentScore": 0,
      "summary": "0xbbjoker: This month, 0xbbjoker's work was primarily focused on bug fixes, contributing a significant volume of code changes across 68 files (+3655/-1134 lines). They merged one feature enhancement to the MCP provider (elizaos-plugins/plugin-mcp#19) and proactively opened an issue to improve the agent creator's file handling (elizaos/eliza#6245). In addition to their direct code contributions, they were an active collaborator, providing 6 code reviews for their peers."
    },
    {
      "username": "ChristopherTrimboli",
      "avatarUrl": "https://avatars.githubusercontent.com/u/27584221?u=0d816ce1dcdea8f925aba18bb710153d4a87a719&v=4",
      "totalScore": 135.67356870848266,
      "prScore": 111.17356870848266,
      "issueScore": 0,
      "reviewScore": 24.5,
      "commentScore": 0,
      "summary": "ChristopherTrimboli: Focused on core feature development and dependency management, introducing ElizaOS Cloud as the default AI provider in the CLI (elizaos/eliza#6208) and executing a significant dependency update across the ecosystem (elizaos/eliza#6210). In addition to merging these two PRs, he supported the team by providing 4 code reviews. His work primarily involved modifications to configuration and test files, reflecting a focus on system health and testing alongside feature work."
    },
    {
      "username": "borisudovicic",
      "avatarUrl": "https://avatars.githubusercontent.com/u/31806472?u=8935f4d43fd7e4eb9bf5ff92d54d4d2f8ac8a786&v=4",
      "totalScore": 118,
      "prScore": 0,
      "issueScore": 118,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "borisudovicic: Focused entirely on product definition and quality assurance for the elizaos/eliza repository this month. They created 41 issues, identifying a wide range of bugs, user experience enhancements, and new feature proposals. This work included documenting critical fixes like the container deployment bug (#6187) and proposing significant UX changes such as redesigning the dashboard (#6222) and consolidating navigation (#6173). All activity was concentrated on identifying and scoping improvements for the elizaos/eliza application."
    },
    {
      "username": "lalalune",
      "avatarUrl": "https://avatars.githubusercontent.com/u/18633264?u=e2e906c3712c2506ebfa98df01c2cfdc50050b30&v=4",
      "totalScore": 88.7855477931522,
      "prScore": 84.7855477931522,
      "issueScore": 4,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "lalalune: Made a substantial contribution this month by merging a large-scale chore/refactor in the elizaos/eliza repository (PR #6213), which involved over 16,000 lines of code changes. They also began work on a major new feature with the \"Eliza Cloud Integration\" pull request (#6216) and identified a crash condition that was subsequently resolved (elizaos/eliza#6204). Their activity shows a primary focus on a mix of bugfixes, feature work, and refactoring across the codebase."
    },
    {
      "username": "DevGruGold",
      "avatarUrl": "https://avatars.githubusercontent.com/u/181147699?u=4258e430ad766ca1d11778ab9e7d91ecfa0e110c&v=4",
      "totalScore": 80.8515477931522,
      "prScore": 80.8515477931522,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "DevGruGold: This month, DevGruGold initiated new work in the elizaos/eliza repository, opening two pull requests (#6220, #6219). While no contributions were merged, these open PRs represent a substantial effort, containing over 1900 lines of code changes across 13 commits. This work, a mix of bug fixes and other tasks, was primarily focused on modifying configuration, documentation, and test files."
    },
    {
      "username": "vbkotecha",
      "avatarUrl": "https://avatars.githubusercontent.com/u/86377299?u=32a79d9adc10f2738dca41f4690de9ec944d8025&v=4",
      "totalScore": 43.8837738965761,
      "prScore": 43.5437738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.33999999999999997,
      "summary": null
    },
    {
      "username": "prajwal-pl",
      "avatarUrl": "https://avatars.githubusercontent.com/u/150137841?u=dd1ae31ec1ca9909364231a779dcb2af30c5e792&v=4",
      "totalScore": 41.430056250181565,
      "prScore": 41.430056250181565,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "prajwal-pl: This month, prajwal-pl focused on feature development, opening a pull request to improve message service handlers with asynchronous operations (elizaos/eliza#6279). This work represents a substantial effort, with a single commit modifying 8 files and adding over 700 lines of code. Their activity was concentrated entirely on this new feature."
    },
    {
      "username": "0xtechdean",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16443050?u=d1347a48b94a4c011e872424ea1940f3a0a8331d&v=4",
      "totalScore": 35.89159695492178,
      "prScore": 35.89159695492178,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "0xtechdean: This month, 0xtechdean's efforts were directed toward documentation, opening a pull request to add AVS docs for the cursor/twitter agent (elizaos/eliza#6265)."
    },
    {
      "username": "AntoineVergne",
      "avatarUrl": "https://avatars.githubusercontent.com/u/151149734?v=4",
      "totalScore": 33.983573590279974,
      "prScore": 29.28357359027997,
      "issueScore": 0,
      "reviewScore": 4.5,
      "commentScore": 0.2,
      "summary": "AntoineVergne: This month, AntoineVergne's work focused on expanding the plugin ecosystem by adding the new 'plugin-farcaster-local-hub' to the registry (elizaos-plugins/registry#243). This feature contribution consisted of a single-line update to a configuration file. They also provided one comment on a pull request."
    },
    {
      "username": "greptile-apps",
      "avatarUrl": "https://avatars.githubusercontent.com/in/867647?v=4",
      "totalScore": 31.7,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 31.5,
      "commentScore": 0.2,
      "summary": null
    },
    {
      "username": "todoencadena",
      "avatarUrl": "https://avatars.githubusercontent.com/u/198127898?u=4c012fe538dffffc28d03890eda7d63746ae1ff2&v=4",
      "totalScore": 24.27972435596375,
      "prScore": 24.27972435596375,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "todoencadena: Activity this month was focused on bot integration, opening a pull request to fix the Telegram bot for Railway (elizaos/eliza#6214). This work involved a single commit with minor changes to a configuration file."
    },
    {
      "username": "efeecllk",
      "avatarUrl": "https://avatars.githubusercontent.com/u/98906252?u=2e61afdda01f49499ce519e4024e5f0a20fa091e&v=4",
      "totalScore": 22.95669638293567,
      "prScore": 22.95669638293567,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "Tonyflam",
      "avatarUrl": "https://avatars.githubusercontent.com/u/150600391?u=0c905a5f627ff99389fc79e9978f1dc47546456e&v=4",
      "totalScore": 22.218573590279973,
      "prScore": 22.218573590279973,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "Tonyflam: This month, their contribution focused on expanding the plugin ecosystem by adding the new `@tonyflam/plugin-openchat` plugin to the registry via PR elizaos-plugins/registry#242. This work consisted of a minor update to a configuration file."
    },
    {
      "username": "tdnupe3",
      "avatarUrl": "https://avatars.githubusercontent.com/u/25161668?u=94680b6bcbcfce954c7a9dd09d667a3919953041&v=4",
      "totalScore": 15.747573590279972,
      "prScore": 13.547573590279972,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0.2,
      "summary": "tdnupe3: This month, tdnupe3's efforts were directed towards planning new payment functionalities. They initiated this work by creating issue elizaos/eliza#6244, which proposes an implementation guide for integrating Circle and Coinbase APIs for AI agent payments."
    },
    {
      "username": "linear",
      "avatarUrl": "https://avatars.githubusercontent.com/in/20150?v=4",
      "totalScore": 10,
      "prScore": 0,
      "issueScore": 10,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "linear: Focused on server reliability by identifying and documenting an issue related to concurrent connection timeouts in elizaos/eliza (#6198)."
    },
    {
      "username": "nguyennk92",
      "avatarUrl": "https://avatars.githubusercontent.com/u/30664183?u=d6e579cd25d50bc8e9ec4928d95909d759b841db&v=4",
      "totalScore": 8.902606672028108,
      "prScore": 8.902606672028108,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "nguyennk92: This month, their focus was on refactoring database connection logic in the `elizaos/eliza` repository. They opened a pull request (#6262) proposing to remove the reassignment of the runtime database to individual connections. This work represents a targeted effort to improve connection management."
    },
    {
      "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": "github-advanced-security: No activity this month."
    },
    {
      "username": "pereslavlland",
      "avatarUrl": "https://avatars.githubusercontent.com/u/247946180?v=4",
      "totalScore": 2.2,
      "prScore": 0,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0.2,
      "summary": "pereslavlland: This month, pereslavlland's activity was focused on bug reporting within the elizaos/eliza repository. They identified and opened issue #6211 to document a problem with snapshot eligibility and Tangem wallet connections, and also contributed one comment to an issue."
    },
    {
      "username": "flaviobruno72",
      "avatarUrl": "https://avatars.githubusercontent.com/u/168378940?v=4",
      "totalScore": 2,
      "prScore": 0,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "flaviobruno72: Contributed by identifying a potential performance issue in the `elizaos/eliza` repository, opening issue #6267 to report a long wait time."
    },
    {
      "username": "otaku-x402",
      "avatarUrl": "https://avatars.githubusercontent.com/u/242004857?u=1325b26d380eec4a0b8d84e8e249c523eebd28dc&v=4",
      "totalScore": 0.2,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.2,
      "summary": null
    }
  ],
  "newPRs": 37,
  "mergedPRs": 21,
  "newIssues": 67,
  "closedIssues": 85,
  "activeContributors": 24
}