{
  "interval": {
    "intervalStart": "2025-12-23T00:00:00.000Z",
    "intervalEnd": "2025-12-24T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-12-23 to 2025-12-24, elizaos/eliza had 3 new PRs (1 merged), 2 new issues, and 4 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs7gADwf",
      "title": "Add feedback button",
      "author": "borisudovicic",
      "number": 6280,
      "repository": "elizaos/eliza",
      "body": "For users to submit feedback",
      "createdAt": "2025-12-23T17:55:16Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs7f_y2i",
      "title": "Chat Renaming",
      "author": "borisudovicic",
      "number": 6278,
      "repository": "elizaos/eliza",
      "body": "Summarize chat name",
      "createdAt": "2025-12-23T17:21:47Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs7KjAL0",
      "title": "Streaming & State",
      "author": "borisudovicic",
      "number": 5930,
      "repository": "elizaos/eliza",
      "body": "* Replace polling with true SSE streaming for real-time updates.\n* Make sure offline fallback and React error boundary support.\n* Add typed events for IDE autocomplete and DX.",
      "createdAt": "2025-09-09T12:17:04Z",
      "closedAt": "2025-12-23T14:15:24Z",
      "state": "CLOSED",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7TJ2ew",
      "title": "Update Brandkit on GH",
      "author": "linear",
      "number": 6091,
      "repository": "elizaos/eliza",
      "body": "no one asked me to do this but pretty sure the GH Brandkit repo is out of sync with the most recent brandkit. would be good to sync them up so they are most recent.<br><br>most recently shared brandkit:<br><br>[https://drive.google.com/drive/folders/1OHopPizUs5fTrIjQYDrtaN6XB025gZ4B?usp=drive_link](https://drive.google.com/drive/folders/1OHopPizUs5fTrIjQYDrtaN6XB025gZ4B?usp=drive_link)<br><br>current brandkit repo:<br><br>[https://github.com/elizaos/brandkit](https://github.com/elizaos/brandkit)<br><br>basically just download each and compare that they are 1:1",
      "createdAt": "2025-10-22T22:39:29Z",
      "closedAt": "2025-12-23T16:58:17Z",
      "state": "CLOSED",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7XJ6X_",
      "title": "Error      [E.v.A] MessageBusService: Error processing message via elizaOS.sendMessage() No handler found for delegate type: TEXT_LARGE",
      "author": "christophwallacher-web",
      "number": 6140,
      "repository": "elizaos/eliza",
      "body": "**Describe the bug**\n\nAgent dont answer on any questions\n\n**To Reproduce**\n\nstart from gitbash von windows\n\n**Expected behavior**\n\nagent should answer to all question like norma\n\n\n**Additional context**\n\n Warn       [MessageService] Updating response ID for room aea8a296-5161-09ee-9abc-3129a271ff2b from 466795e9-830c-4431-a973-cf9315978eef to a3d87c43-15f0-48e0-aa79-33f10306b33a\n Info       Using server ID: 00000000-0000-0000-0000-000000000000\n Info       No ownership data found for server 00000000-0000-0000-0000-000000000000, initializing empty role hierarchy\n Info       No settings state found for server 00000000-0000-0000-0000-000000000000\nerror is 45963 |     const modelKey = typeof modelType === \"string\" ? modelType : ModelType[modelType];\n45964 |     const promptContent = params?.prompt || params?.input || (Array.isArray(params?.messages) ? JSON.stringify(params.messages) : null);\n45965 |     const model = this.getModel(modelKey, provider);\n45966 |     if (!model) {\n45967 |       const errorMsg = `No handler found for delegate type: ${modelKey}`;\n45968 |       throw new Error(errorMsg);\n                        ^\nerror: No handler found for delegate type: TEXT_LARGE\n      at useModel (C:\\Users\\NOTE1\\eva\\node_modules\\@elizaos\\core\\dist\\node\\index.node.js:45968:17)\n      at useModel (C:\\Users\\NOTE1\\eva\\node_modules\\@elizaos\\core\\dist\\node\\index.node.js:45962:18)\n      at runSingleShotCore (C:\\Users\\NOTE1\\eva\\node_modules\\@elizaos\\core\\dist\\node\\index.node.js:43483:38)\n      at async processMessage (C:\\Users\\NOTE1\\eva\\node_modules\\@elizaos\\core\\dist\\node\\index.node.js:43165:126)\n\n Error      #E.v.A  [MessageService] Error in handleMessage: {\n  error: 45963 |     const modelKey = typeof modelType === \"string\" ? modelType : ModelType[modelType];\n45964 |     const promptContent = params?.prompt || params?.input || (Array.isArray(params?.messages) ? JSON.stringify(params.messages) : null);\n45965 |     const model = this.getModel(modelKey, provider);\n45966 |     if (!model) {\n45967 |       const errorMsg = `No handler found for delegate type: ${modelKey}`;\n45968 |       throw new Error(errorMsg);\n                        ^\nerror: No handler found for delegate type: TEXT_LARGE\n      at useModel (C:\\Users\\NOTE1\\eva\\node_modules\\@elizaos\\core\\dist\\node\\index.node.js:45968:17)\n      at useModel (C:\\Users\\NOTE1\\eva\\node_modules\\@elizaos\\core\\dist\\node\\index.node.js:45962:18)\n      at runSingleShotCore (C:\\Users\\NOTE1\\eva\\node_modules\\@elizaos\\core\\dist\\node\\index.node.js:43483:38)\n      at async processMessage (C:\\Users\\NOTE1\\eva\\node_modules\\@elizaos\\core\\dist\\node\\index.node.js:43165:126)\n,\n}\n Error      [E.v.A] MessageBusService: Error processing message via elizaOS.sendMessage() No handler found for delegate type: TEXT_LARGE\n\n",
      "createdAt": "2025-11-10T21:07:59Z",
      "closedAt": "2025-12-23T16:58:21Z",
      "state": "CLOSED",
      "commentCount": 0
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs66XaLa",
      "title": "feat: improve message service handlers to perform async operations and optimizing with cloud platform",
      "author": "prajwal-pl",
      "number": 6279,
      "body": "This pull request introduces several improvements and refactorings to the `AgentRuntime` class and related message processing logic, focusing on optimizing entity/room/participant management, improving code style consistency, and adding a circuit breaker for LLM response generation. Additionally, it updates the Docker build context to include new configuration files.\r\n\r\n**Entity, Room, and Participant Management Optimizations:**\r\n\r\n- Parallelizes entity and world creation by using `Promise.all`, reducing redundant database calls and improving efficiency in `AgentRuntime.ensureEntityAndRoom` (`packages/core/src/runtime.ts`). [[1]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L1505-R1522) [[2]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L1538-R1557)\r\n- Refactors participant addition logic by introducing `ensureParticipantInRoomOptimized`, which leverages cached entities and parallelizes participant checks for both user and agent, minimizing database lookups (`packages/core/src/runtime.ts`). [[1]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L1564-R1571) [[2]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L1574-L1578)\r\n- Removes redundant entity existence checks and streamlines participant addition logic (`packages/core/src/runtime.ts`).\r\n\r\n**Code Style and Consistency Improvements:**\r\n\r\n- Updates many conditional statements to use curly braces, improving code readability and consistency throughout `AgentRuntime` and `DefaultMessageService` (`packages/core/src/runtime.ts`, `packages/core/src/services/default-message-service.ts`). [[1]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L525-R525) [[2]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L694-R695) [[3]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L1132-R1132) [[4]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L1669-R1679) [[5]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L2155-R2173) [[6]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L2305-R2327) [[7]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L2634-R2644) [[8]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L2840-R2850) [[9]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L2908-R2918) [[10]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L2924-R2934) [[11]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L2936-R2946) [[12]](diffhunk://#diff-f280a10771d9a8cf0e4e14619ac70538c52320af0ac8fb075a7eaad1c9fda84eL154-R164) [[13]](diffhunk://#diff-f280a10771d9a8cf0e4e14619ac70538c52320af0ac8fb075a7eaad1c9fda84eL209-R219) [[14]](diffhunk://#diff-f280a10771d9a8cf0e4e14619ac70538c52320af0ac8fb075a7eaad1c9fda84eL248-R258)\r\n\r\n**Message Processing Enhancements:**\r\n\r\n- Adds a circuit breaker to LLM response generation to handle repeated failures gracefully, increasing system robustness (`packages/core/src/services/default-message-service.ts`). [[1]](diffhunk://#diff-f280a10771d9a8cf0e4e14619ac70538c52320af0ac8fb075a7eaad1c9fda84eR36) [[2]](diffhunk://#diff-f280a10771d9a8cf0e4e14619ac70538c52320af0ac8fb075a7eaad1c9fda84eR99-R107)\r\n- Changes attachment processing to be asynchronous and non-blocking, improving message processing pipeline efficiency (`packages/core/src/services/default-message-service.ts`).\r\n\r\n**Docker Build Updates:**\r\n\r\n- Updates the Docker build context to include `build-utils.ts` and `bunfig.toml`, ensuring these files are available in the final image (`Dockerfile`). [[1]](diffhunk://#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557L22-R22) [[2]](diffhunk://#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557R58-R60)\r\n\r\n**Minor Refactors:**\r\n\r\n- Simplifies object property assignments using shorthand syntax in several places (`packages/core/src/runtime.ts`). [[1]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L995-R995) [[2]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L1020-R1028) [[3]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L1187-R1190) [[4]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L1505-R1522) [[5]](diffhunk://#diff-731eeb09ecd79fd1c3157ce640aa046c8c798d2fdf133837b696e4e1bfa8c0c4L1538-R1557)\r\n\r\nLet me know if you'd like to discuss any of these changes in more detail!",
      "repository": "elizaos/eliza",
      "createdAt": "2025-12-23T17:32:23Z",
      "mergedAt": null,
      "additions": 740,
      "deletions": 210
    },
    {
      "id": "PR_kwDOMT5cIs66WrOs",
      "title": "fix(core): add generic type support for custom event handlers",
      "author": "standujar",
      "number": 6276,
      "body": "## Summary\n- Add generic type parameter to `registerEvent` for custom events\n- Allows plugins to define typed event payloads that extend `EventPayload`\n\n## Example usage\n```typescript\ninterface MyCustomPayload extends EventPayload {\n  myField: string;\n}\n\nruntime.registerEvent<MyCustomPayload>('MY_CUSTOM_EVENT', async (params) => {\n  // params is typed as MyCustomPayload\n  console.log(params.myField);\n});\n```",
      "repository": "elizaos/eliza",
      "createdAt": "2025-12-23T16:14:28Z",
      "mergedAt": null,
      "additions": 233,
      "deletions": 40
    },
    {
      "id": "PR_kwDOMT5cIs66WwHn",
      "title": "fix(core): add generic type support for custom event handlers",
      "author": "standujar",
      "number": 6277,
      "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 EventPayload {\n  myField: string;\n}\n\nruntime.registerEvent<MyCustomPayload>('MY_CUSTOM_EVENT', async (params) => {\n  // params is typed as MyCustomPayload\n  console.log(params.myField);\n});\n```",
      "repository": "elizaos/eliza",
      "createdAt": "2025-12-23T16:21:58Z",
      "mergedAt": "2025-12-23T16:28:48Z",
      "additions": 74,
      "deletions": 5
    }
  ],
  "codeChanges": {
    "additions": 74,
    "deletions": 5,
    "files": 3,
    "commitCount": 7
  },
  "completedItems": [
    {
      "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"
      ]
    }
  ],
  "topContributors": [
    {
      "username": "standujar",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16385918?u=718bdcd1585be8447bdfffb8c11ce249baa7532d&v=4",
      "totalScore": 140.13678133820605,
      "prScore": 140.13678133820605,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "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": null
    },
    {
      "username": "odilitime",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=c9bac48e632aae594a0d85aaf9e9c9c69b674d8b&v=4",
      "totalScore": 40.7107738965761,
      "prScore": 40.7107738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "0xbbjoker",
      "avatarUrl": "https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4",
      "totalScore": 34.27987545231338,
      "prScore": 24.279875452313373,
      "issueScore": 0,
      "reviewScore": 10,
      "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
    }
  ],
  "newPRs": 3,
  "mergedPRs": 1,
  "newIssues": 2,
  "closedIssues": 21,
  "activeContributors": 4
}