{
  "interval": {
    "intervalStart": "2025-04-01T00:00:00.000Z",
    "intervalEnd": "2025-05-01T00:00:00.000Z",
    "intervalType": "month"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-04-01 to 2025-05-01, elizaos/eliza had 241 new PRs (199 merged), 45 new issues, and 89 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs6zmLBG",
      "title": "the local model on plugin dev not work",
      "author": "cxp-13",
      "number": 4339,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-23T08:25:43Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 5
    },
    {
      "id": "I_kwDOMT5cIs6xo9Zj",
      "title": "Provider Data Not Used When Posting to Twitter",
      "author": "levsagiv",
      "number": 4224,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-08T16:19:29Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 3
    },
    {
      "id": "I_kwDOMT5cIs6zjFcA",
      "title": "Quickstart doc issues",
      "author": "eduardoPauloPanstein",
      "number": 4336,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-22T23:13:59Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 3
    },
    {
      "id": "I_kwDOMT5cIs6w2eyG",
      "title": "How to run Eliza CLI?",
      "author": "LinuxIsCool",
      "number": 4159,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-02T17:20:34Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 2
    },
    {
      "id": "I_kwDOMT5cIs60B0QJ",
      "title": "Cannot read properties of undefined (reading 'sendStandartTweet')",
      "author": "srpiroliro",
      "number": 4365,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-25T15:25:56Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 2
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs6UUVjY",
      "title": "Scoped knowledgefixes",
      "author": "lalalune",
      "number": 4391,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-29T10:02:52Z",
      "mergedAt": null,
      "additions": 372438,
      "deletions": 183811
    },
    {
      "id": "PR_kwDOMT5cIs6Sgk4O",
      "title": "fix: expose telegram types",
      "author": "ncale",
      "number": 4286,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-14T15:42:11Z",
      "mergedAt": null,
      "additions": 317476,
      "deletions": 183752
    },
    {
      "id": "PR_kwDOMT5cIs6RTQuv",
      "title": "Plugin-Bootstrap Test Suite",
      "author": "HarshModi2005",
      "number": 4171,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-03T18:26:01Z",
      "mergedAt": null,
      "additions": 308954,
      "deletions": 183752
    },
    {
      "id": "PR_kwDOMT5cIs6Q-mLn",
      "title": "fix: browserify-stream import",
      "author": "wtfsayo",
      "number": 4138,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-01T18:33:13Z",
      "mergedAt": null,
      "additions": 297297,
      "deletions": 183751
    },
    {
      "id": "PR_kwDOMT5cIs6ShQi0",
      "title": "Feature/v2/dbml",
      "author": "jmikedupont2",
      "number": 4288,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-14T17:07:26Z",
      "mergedAt": null,
      "additions": 296767,
      "deletions": 183874
    }
  ],
  "codeChanges": {
    "additions": 58627,
    "deletions": 40923,
    "files": 548,
    "commitCount": 919
  },
  "completedItems": [
    {
      "title": "Clarify Terminology and Required Fields in Agent Settings",
      "prNumber": 4274,
      "type": "other",
      "body": "\r\n# Relates to\r\n\r\n- https://linear.app/eliza-labs/issue/ELI2-222/uiux-clarify-terminology-and-required-fields-in-agent-settings\r\n- https://linear.app/eliza-labs/issue/ELI2-239/bug-uiux-avatar-preview-overlaps-uploadaction-area\r\n\r\n# Risks\r\n\r"
    },
    {
      "title": " UI Changes",
      "prNumber": 4273,
      "type": "other",
      "body": "UI changes for Ticket 220 and  221"
    },
    {
      "title": "Merge branch",
      "prNumber": 4271,
      "type": "other",
      "body": "Solving the resolve conflicts"
    },
    {
      "title": "feat: gui- support for importing JSON to create or update agents",
      "prNumber": 4270,
      "type": "feature",
      "body": "Allow users to import JSON for agent creation and updates"
    },
    {
      "title": "Update .env.example to support twitter post generation",
      "prNumber": 4268,
      "type": "other",
      "body": "add TWITTER_ENABLE_POST_GENERATION environment variable\r\n\r\n<!-- 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<!-- Thi"
    },
    {
      "title": "add missing bootstrap plguin to list",
      "prNumber": 4267,
      "type": "feature",
      "body": ""
    },
    {
      "title": "fix: cyclic error",
      "prNumber": 4266,
      "type": "bugfix",
      "body": "adding a safeReplacer function to handle circular references in JSON serialization\r\n\r\n<img width=\"834\" alt=\"Screenshot 2025-04-11 at 8 44 48 PM\" src=\"https://github.com/user-attachments/assets/e7278e3c-459e-4f40-9646-42434022286f\" />\r\n"
    },
    {
      "title": "fix: discord voice join/leave action ",
      "prNumber": 4265,
      "type": "bugfix",
      "body": ""
    },
    {
      "title": "fix: discord actions small fix",
      "prNumber": 4264,
      "type": "bugfix",
      "body": ""
    },
    {
      "title": "remvoe dead-code around plugin install",
      "prNumber": 4263,
      "type": "other",
      "body": ""
    },
    {
      "title": " Replace Text Input with Dropdown for Voice Model Selection",
      "prNumber": 4262,
      "type": "other",
      "body": "\r\n# Relates to\r\n\r\nhttps://linear.app/eliza-labs/issue/ELI2-195/ui-replace-text-input-with-dropdown-for-voice-model-selection\r\n\r\n# Risks\r\n\r\nLow. The changes modify the voice model selection logic and plugin management, but use existing compo"
    },
    {
      "title": "Added: Instrumentation ",
      "prNumber": 4261,
      "type": "other",
      "body": "# Relates to\r\n\r\nAdds instrumentation support in `plugin-openai` and the core implementation for instrumentation.\r\n\r\n# Risks\r\n\r\n**Medium**  \r\n- Introduces tracing logic into core and plugin layers.  \r\n- Potential performance overhead from in"
    },
    {
      "title": "feat: openai tts test",
      "prNumber": 4259,
      "type": "feature",
      "body": "openai tts test"
    },
    {
      "title": "ELI2-185/reflections-agent-asks-all-other-agents-deployed-how-its-doing",
      "prNumber": 4257,
      "type": "other",
      "body": "## Fix Agents Repeatedly Asking Each Other \"How Are You Doing?\" in Group Conversations\r\n\r\n### Problem\r\n\r\nIn group settings, agents were frequently asking each other \"how are you doing?\" during conversations. This was caused by a hardcoded r"
    },
    {
      "title": "fix: plugin install priority order",
      "prNumber": 4256,
      "type": "bugfix",
      "body": ""
    },
    {
      "title": "feat: openai tts",
      "prNumber": 4255,
      "type": "feature",
      "body": "Add OpenAI TTS integration"
    },
    {
      "title": "fix: replace deprecated vision model",
      "prNumber": 4254,
      "type": "bugfix",
      "body": "related: https://github.com/elizaOS/eliza/issues/4210\r\n\r\n"
    },
    {
      "title": "fix: Move init after adapter.init in runtime",
      "prNumber": 4253,
      "type": "bugfix",
      "body": "# Relates to\r\n[<!-- LINK TO ISSUE OR TICKET -->](https://github.com/elizaOS/eliza/issues/4238)\r\n\r\n\r\n# Risks\r\n\r\nLow - This is a simple fix that moves the initialization flag setting after the adapter initialization. The change is minimal and"
    },
    {
      "title": "chore: improve cli and start code",
      "prNumber": 4250,
      "type": "other",
      "body": "This PR implements significant code cleanup and improvements across the CLI components of the Eliza project. Key changes include:\r\n\r\nRefactored the start command with improved plugin loading logic and error handling\r\nEnhanced package manage"
    },
    {
      "title": "chore(cli): use console log for non error cases",
      "prNumber": 4248,
      "type": "other",
      "body": ""
    },
    {
      "title": "feat: message api",
      "prNumber": 4247,
      "type": "feature",
      "body": ""
    },
    {
      "title": "Bug: Remove Duplicate Declaration in api.ts",
      "prNumber": 4246,
      "type": "bugfix",
      "body": "## Fix duplicate variable declaration in api.ts\r\n\r\n### Problem\r\n\r\nThe build was failing with the following error:\r\n\r\nThis was happening because in the json parsing error handler, the `text` variable was being declared twice:\r\n\r\n- First at l"
    },
    {
      "title": "fix knowledge types",
      "prNumber": 4243,
      "type": "bugfix",
      "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\nWhen adding rag knowledge, the editor reports an error\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This r"
    },
    {
      "title": "Fix GitHub Authentication Prompt During Start CLI Command",
      "prNumber": 4242,
      "type": "bugfix",
      "body": "**Issue:**\r\n\r\nUsers were unexpectedly prompted for GitHub authentication during normal CLI operations like elizaos start, while the same command run through npx elizaos start did not require authentication. This inconsistency created a conf"
    },
    {
      "title": "chore: cli cleanup-2",
      "prNumber": 4240,
      "type": "refactor",
      "body": ""
    },
    {
      "title": "chore: cli clean ups",
      "prNumber": 4239,
      "type": "refactor",
      "body": ""
    },
    {
      "title": "fix: gui tts",
      "prNumber": 4237,
      "type": "bugfix",
      "body": "This PR resolves the issue where TTS was not functioning properly in the GUI"
    },
    {
      "title": "fix: transcription",
      "prNumber": 4236,
      "type": "bugfix",
      "body": "This PR addresses an issue where transcription was no longer working in both the Discord and GUI. The issue appears to have been introduced in [#4169](https://github.com/elizaOS/eliza/pull/4169), which switched to using NodeFormData. Unfort"
    },
    {
      "title": "chore: video understanding plugin tests ",
      "prNumber": 4233,
      "type": "tests",
      "body": "<!-- Use this template by filling in information and copying and pasting relevant items out of the HTML comments. -->\r\n\r\n# Relates to\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This risks section must be filled out before the final review "
    },
    {
      "title": "fix: Failed to Replies to Tweet in Interaction",
      "prNumber": 4231,
      "type": "bugfix",
      "body": "related: https://github.com/elizaOS/eliza/issues/4226"
    },
    {
      "title": "Add OpenAi model usage events",
      "prNumber": 4230,
      "type": "feature",
      "body": "Add open ai model usage tracking via plugin-scoped events."
    },
    {
      "title": "fix: Duplicate Provider Section in Prompt",
      "prNumber": 4228,
      "type": "bugfix",
      "body": "related: https://github.com/elizaOS/eliza/issues/4225"
    },
    {
      "title": "Fix relationship between entities and agents",
      "prNumber": 4223,
      "type": "bugfix",
      "body": "In v2, the concept of `entities` represent an instance of an agent, while an agent itself refers to its `character`.\r\n\r\nThere is a mix up of these concepts happening within `AgentRuntime.initialize()` that currently requires to create a `ch"
    },
    {
      "title": "Fix anthropic json parse issue",
      "prNumber": 4222,
      "type": "bugfix",
      "body": "# Fix Anthropic Plugin JSON Parsing for Responses with Code Blocks\r\n\r\n## Risks\r\n\r\nLow - This PR addresses an edge case in the JSON parsing logic for Anthropic responses containing code blocks. The changes improve the robustness of the exist"
    },
    {
      "title": "fixed: agent subcommands",
      "prNumber": 4220,
      "type": "bugfix",
      "body": "# Relates to\r\n\r\n[ELI2-187 – CLI: elizaos agent some commands fail or hang](https://linear.app/eliza-labs/issue/ELI2-187/cli-elizaos-agent-some-commands-fail-or-hang)\r\n\r\n# Risks\r\n\r\n**Medium** – This change touches core CLI behavior for manag"
    },
    {
      "title": "docs: Update README.md for telegram plugin",
      "prNumber": 4219,
      "type": "docs",
      "body": "Updated the documentation for the the follwoing issue.\r\n\r\nhttps://linear.app/eliza-labs/issue/ELI2-191/ui-bug-talk-to-agent-edit-settings-try-to-talk-to-agent-again-error"
    },
    {
      "title": "fix: add typescript to dev dep on plugin-starter",
      "prNumber": 4218,
      "type": "feature",
      "body": ""
    },
    {
      "title": "fix: small UI fix",
      "prNumber": 4217,
      "type": "bugfix",
      "body": "\r\n![image](https://github.com/user-attachments/assets/4dea324b-0a59-4c23-bd21-2444ee79d0f7)\r\n\r\n\r\nhasChanged isn't working correctly. If you change anything and switch tabs, hasChanged gets reset. Also, I don't think we need hasChanged when "
    },
    {
      "title": "chore: env loading is already handled + install packages locally",
      "prNumber": 4216,
      "type": "other",
      "body": ""
    },
    {
      "title": "Feature/plugin venice",
      "prNumber": 4214,
      "type": "feature",
      "body": "# Relates to\r\n\r\nI was unable to find a ticket for getting Venice working in v2, but this is a plugin for getting Venice working in v2.\r\n\r\n# Risks\r\n\r\nBasically everything is in `packages/plugin-venice`\r\nThe only thing outside of that was add"
    },
    {
      "title": "feat: Improve Reply Action to Use Pre-generated Responses",
      "prNumber": 4213,
      "type": "feature",
      "body": "## Changes\r\n1. Modified `reply.ts` to use pre-generated responses from the planning stage\r\n   - Now finds all responses with REPLY action and message\r\n   - Uses existing responses instead of generating new ones when available\r\n   - Only cal"
    },
    {
      "title": "feat: skip should respond for dm",
      "prNumber": 4212,
      "type": "feature",
      "body": "This PR skips the shouldRespond check for DM, since the agent can decide to ignore in the second step if needed."
    },
    {
      "title": "Starting Agent Fix ",
      "prNumber": 4209,
      "type": "bugfix",
      "body": "# Relates to\r\n\r\n[ELI2-189: UI Bug - Advanced Agent Creation Fails with TypeError (Same as Basic)](https://linear.app/eliza-labs/issue/ELI2-189/ui-bug-advanced-agent-creation-fails-with-typeerror-same-as-basic)\r\n\r\n# Risks\r\n\r\nLow - This fix a"
    },
    {
      "title": "chore: update cli readme",
      "prNumber": 4208,
      "type": "other",
      "body": ""
    },
    {
      "title": "fix openai object json parse error",
      "prNumber": 4207,
      "type": "bugfix",
      "body": "# Relates to\r\n\r\nBug fix for JSON parsing in OpenAI object generation\r\n\r\n# Risks\r\n\r\nLow - This is a focused fix that improves error handling for JSON parsing in the OpenAI plugin.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR improv"
    },
    {
      "title": "fix: replace fastembed with local embedding model",
      "prNumber": 4205,
      "type": "bugfix",
      "body": "# Relates to\r\n\r\nBug fix for embedding model functionality in local-ai plugin\r\n\r\n# Risks\r\n\r\nLow. Only affects users using the local embedding model functionality.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nReplaces the external `fastembe"
    },
    {
      "title": "chore: externalise fastembed and node-llama-cpp in local-ai",
      "prNumber": 4204,
      "type": "other",
      "body": ""
    },
    {
      "title": "chore: remove remaining ollama references in local-ai plugin",
      "prNumber": 4203,
      "type": "other",
      "body": ""
    },
    {
      "title": "chore: enhance plugin install strategy and code",
      "prNumber": 4202,
      "type": "other",
      "body": "- enhances plugin install logic"
    },
    {
      "title": "Darkened borders and focus states in UI components",
      "prNumber": 4201,
      "type": "other",
      "body": "Here's a completed PR template based on the changes you've made:\r\n\r\n# Relates to\r\n\r\nUI Enhancement - Input Field Borders\r\n\r\n# Risks\r\n\r\nLow - This is a minor UI change that only affects styling, not functionality.\r\n\r\n# Background\r\n\r\n## What "
    },
    {
      "title": "fixed: the docs issue with the add, remove and list plugin issue",
      "prNumber": 4200,
      "type": "bugfix",
      "body": "# Relates to\r\n\r\nhttps://linear.app/eliza-labs/issue/ELI2-186/cli-elizaos-plugin-subcommands-not-found-either-docs-wrong-or\r\n\r\n# Risks\r\n\r\n**Low** – This change only updates the documentation.  \r\nNo runtime or production behavior is affected."
    },
    {
      "title": "issue: elizaos port unavailable issue resolved",
      "prNumber": 4199,
      "type": "other",
      "body": "# Relates to\r\n\r\nhttps://github.com/elizaOS/eliza/issues/4107\r\n\r\n# Risks\r\n\r\n**Low** – This PR modifies the behavior for assigning ports when running `npx elizaos start`.  \r\nIt ensures that if the default port is already in use, the tool find"
    },
    {
      "title": "initial commit for fixing delete character button",
      "prNumber": 4197,
      "type": "bugfix",
      "body": "\r\n# Relates to\r\n\r\n[Linear Ticket](https://linear.app/eliza-labs/issue/ELI2-197/ui-fix-non-functional-delete-character-button)\r\n\r\n# Risks\r\n\r\nMedium. This PR modifies agent deletion logic which affects database operations. There's a risk of:\r"
    },
    {
      "title": "Fix runtime runtime.registerPlugin after initialization",
      "prNumber": 4189,
      "type": "bugfix",
      "body": "# Relates to\r\n\r\nN/A\r\n\r\n# Risks\r\n\r\nLow - This change adds initialization status tracking to the AgentRuntime class which should prevent duplicate initialization but involves minimal changes to core functionality.\r\n\r\n# Background\r\n\r\n## What d"
    },
    {
      "title": "chore: reduce chunk size & return only RAG fragments",
      "prNumber": 4188,
      "type": "other",
      "body": "# Relates to\r\n\r\nOptimizing RAG knowledge chunking for improved agent responses\r\n\r\n# Risks\r\n\r\nLow - Changes optimize the way knowledge fragments are processed and returned, improving efficiency without introducing major system changes.\r\n\r\n# "
    },
    {
      "title": "feat: Add message buttons",
      "prNumber": 4187,
      "type": "feature",
      "body": "# Risks\r\n\r\nLow - The changes are focused on adding button support to the Telegram plugin, which is a non-breaking change. The main risk would be if the button conversion logic has any edge cases not covered by testing.\r\n\r\n# Background\r\n\r\n##"
    },
    {
      "title": "fix: Eli2 134/make npm create eliza and npx elizaos create functionally identical",
      "prNumber": 4185,
      "type": "bugfix",
      "body": "# Enhanced Command-Line Handling for create-eliza\r\n\r\nThis PR improves the user experience of the create-eliza CLI tool with comprehensive flag handling and path detection:\r\n\r\n## 1. Robust Flag and Argument Processing\r\n* Properly handles all"
    },
    {
      "title": "feat: Test Coverage for plugin-bootstrap",
      "prNumber": 4173,
      "type": "feature",
      "body": "# Relates to\r\n\r\nEliza Bootstrap Plugin Test Suite Enhancement - Comprehensive Test Coverage\r\n\r\n# Risks\r\n\r\nLow. This PR focuses exclusively on test infrastructure improvements without changing production code.\r\n\r\n# Background\r\n\r\n## What does"
    },
    {
      "title": "fixed: the issue with elizaos test command",
      "prNumber": 4196,
      "type": "bugfix",
      "body": "# Relates to\r\n\r\n[ELI2-188 – CLI: Error with `elizaos test` after creating a project or plugin via `elizaos create`](https://linear.app/eliza-labs/issue/ELI2-188/cli-error-with-elizaos-test-after-creating-a-project-or-plugin-via)\r\n\r\n# Risks\r"
    },
    {
      "title": "fixed: bun installation issue for plugin-bootstrap",
      "prNumber": 4194,
      "type": "bugfix",
      "body": "# Relates to\r\n\r\n<!-- No specific issue linked -->\r\n\r\n# Risks\r\n\r\nLow – This change only removes a `postscript` entry from the `plugin-bootstrap` package. Since the script it was referring to no longer exists, removing the reference reduces t"
    },
    {
      "title": "fix: twitter interaction",
      "prNumber": 4192,
      "type": "bugfix",
      "body": "related: https://github.com/elizaOS/eliza/issues/4181\r\n\r\nThis PR eliminates the duplicate fetchSearchTweets call previously used to retrieve Twitter interactions (likes, retweets, quotes). Instead, it reuses the already-fetched mentionCandi"
    },
    {
      "title": "chore: use camelCase on plugin export (local-ai)",
      "prNumber": 4186,
      "type": "other",
      "body": ""
    },
    {
      "title": "chore: remove import logic from core",
      "prNumber": 4184,
      "type": "other",
      "body": "1. plugin import logic is already handled in cli's `start` command\r\n2. runtime is init again when there are changes to agent\r\nso this code is redundant (also it wouldnt be able to add plugins that are not locally available)"
    },
    {
      "title": "fix: version tag when importing plugins dynamically during runtime",
      "prNumber": 4183,
      "type": "bugfix",
      "body": ""
    },
    {
      "title": "fix: space action",
      "prNumber": 4182,
      "type": "bugfix",
      "body": "This PR gets the Space join action working."
    },
    {
      "title": "handle dynamic-runtime import error gentler",
      "prNumber": 4179,
      "type": "other",
      "body": ""
    },
    {
      "title": "attempt: module path issues",
      "prNumber": 4178,
      "type": "other",
      "body": ""
    },
    {
      "title": "feat: better plugin install management",
      "prNumber": 4177,
      "type": "feature",
      "body": "# CLI Update Improvements\r\n\r\nThis PR enhances the ElizaOS CLI update and plugin installation mechanisms with more robust functionality:\r\n\r\n## What's Changed\r\n\r\n### Package Management System Improvements\r\n- Added a centralized `executeInstal"
    },
    {
      "title": "feat: Enhance CLI update and plugin installation with package manager…",
      "prNumber": 4176,
      "type": "feature",
      "body": "# Fix Plugin Loading in Global CLI Installations\r\n\r\n## Problem\r\nWhen the ElizaOS CLI is installed globally, it fails to load required plugins with errors like:\r\n```\r\nCannot find package '@elizaos/plugin-sql' imported from /usr/local/lib/nod"
    },
    {
      "title": "fix: knowledge manager scroll issue",
      "prNumber": 4175,
      "type": "bugfix",
      "body": "# Relates to\r\n\r\nKnowledge tab scroll functionality issue\r\n\r\n# Risks\r\n\r\nLow - Only affects UI rendering of the knowledge tab\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nFixes an issue with the scrolling functionality in the Knowledge tab "
    },
    {
      "title": "feat: add update-cli command",
      "prNumber": 4170,
      "type": "feature",
      "body": ""
    },
    {
      "title": "chore: Refactor openai plugin",
      "prNumber": 4169,
      "type": "refactor",
      "body": "# Relates to\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n# Risks\r\n\r\nLow - This is a code refactoring with no functional changes to the OpenAI plugin.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nRefactors the OpenAI plugin code to improve main"
    },
    {
      "title": "feat: add id to metadata source",
      "prNumber": 4168,
      "type": "feature",
      "body": ""
    },
    {
      "title": "fix: Failed to create Twitter client",
      "prNumber": 4167,
      "type": "bugfix",
      "body": "related: https://github.com/elizaOS/eliza/issues/4146\r\n\r\nThe issue occurs because the service starts before the agent is created. I think the service should be started after the runtime is set up."
    },
    {
      "title": "fix: tg get world",
      "prNumber": 4166,
      "type": "bugfix",
      "body": ""
    },
    {
      "title": "fix: twitter interaction",
      "prNumber": 4165,
      "type": "bugfix",
      "body": "I don't think we need to call shouldRespond here. bootstrap already handles that for us."
    },
    {
      "title": "Filter out ignored Farcaster mentioned",
      "prNumber": 4163,
      "type": "other",
      "body": "# Risks\r\nLow. This PR fixes a bug in the Farcaster integration where non-responding decisions weren't being properly recorded.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nFixes a bug in the Farcaster interaction manager where mentions that"
    },
    {
      "title": "feat: enhance avatar stack",
      "prNumber": 4162,
      "type": "feature",
      "body": ""
    },
    {
      "title": "add node_modules to .gitignore",
      "prNumber": 4161,
      "type": "feature",
      "body": "node_modules wasnt in the gitignore in plugin-starter template, resulting in trouble pushing the plugin repo to github. added it so it works well."
    },
    {
      "title": "fixed: Pglite Migration issue",
      "prNumber": 4158,
      "type": "bugfix",
      "body": "# Relates to  \r\n<!-- LINK TO ISSUE OR TICKET -->  \r\n\r\n# Risks  \r\n**Medium** – Fixing the `pglite` migration issue due to inconsistent usage of `Datadir`. Could impact database migrations if not handled correctly.  \r\n\r\n# Background  \r\n\r\n## W"
    },
    {
      "title": "Improve Farcaster configuration handling",
      "prNumber": 4156,
      "type": "other",
      "body": "# Risks\r\n\r\nLow\r\n- Configuration changes could affect Farcaster client initialization\r\n- Environment variable fallback might introduce unexpected behavior if both runtime settings and env vars are set\r\n\r\n# Background\r\n\r\n## What does this PR "
    },
    {
      "title": "fix: cache interaction cursor + duplicate memory creation",
      "prNumber": 4155,
      "type": "bugfix",
      "body": "related: \r\nhttps://github.com/elizaOS/eliza/issues/4127\r\nhttps://github.com/elizaOS/eliza/issues/4115\r\n\r\nThis PR caches the cursor of the interaction to avoid repeatedly checking the same interaction or mentioned tweets. \r\n\r\nThis PR also ad"
    },
    {
      "title": "chore: update temp. hardcoded v2 registry",
      "prNumber": 4153,
      "type": "other",
      "body": ""
    },
    {
      "title": "tests: fixed test file according to the comments in the PR #4130 ",
      "prNumber": 4152,
      "type": "bugfix",
      "body": "# Relates to  \r\nPR #4130  \r\n\r\n# Risks  \r\n**Low** – Minor refactoring to use a constant variable. No functionality change.  \r\n\r\n# Background  \r\n\r\n## What does this PR do?  \r\nFixes the test file by incorporating the suggested changes from PR "
    },
    {
      "title": "fix: twitter, double memory creation attempt & server crash",
      "prNumber": 4151,
      "type": "bugfix",
      "body": ""
    },
    {
      "title": "fix: project plugin loading first, related to starter project",
      "prNumber": 4150,
      "type": "bugfix",
      "body": "fixes- (sample) project plugin attaching first; imp for first time DX"
    },
    {
      "title": "feat: use Evt instead of eventEmitter3",
      "prNumber": 4149,
      "type": "feature",
      "body": "replaces 'eventEmitter3' with 'evt' (more typesafe, works in more runtimes)\r\nhttps://www.evt.land/"
    },
    {
      "title": "docs: removed an extra `~`",
      "prNumber": 4148,
      "type": "docs",
      "body": "## What does this PR do?\r\n\r\nNoticed an unnecessary `~` in the code, which could potentially cause issues.\r\nRemoved it to keep things clean."
    },
    {
      "title": "feat: clean api",
      "prNumber": 4144,
      "type": "feature",
      "body": "related: https://github.com/elizaOS/eliza/issues/4119\r\n\r\n@wtfsayo Could you take a look and see if there are any other APIs you created that are no longer in use?"
    },
    {
      "title": "fix: resolve database transaction deadlock",
      "prNumber": 4142,
      "type": "bugfix",
      "body": "# Database Transaction Deadlock Fix\r\n\r\n## Issue\r\nDatabase connections getting stuck in \"idle in transaction\" state, causing unresponsiveness.\r\n\r\n## Root Cause\r\nThe `getWorld` method inside `createWorld` wasn't supposed to be merged. This co"
    },
    {
      "title": "chore(deps): bump the npm_and_yarn group across 1 directory with 2 updates",
      "prNumber": 4141,
      "type": "other",
      "body": "Bumps the npm_and_yarn group with 2 updates in the / directory: [dompurify](https://github.com/cure53/DOMPurify) and [katex](https://github.com/KaTeX/KaTeX).\n\nUpdates `dompurify` from 3.2.3 to 3.2.4\n<details>\n<summary>Release notes</summary"
    },
    {
      "title": "Add ability to choose embedding model in OpenAI plugin",
      "prNumber": 4140,
      "type": "feature",
      "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\nAdding ability to set the embedding model to the openAI plugin\r\n\r\n# Risks\r\n\r\nLow, just adds the ability"
    },
    {
      "title": "fix: starter project and audio util imports",
      "prNumber": 4139,
      "type": "bugfix",
      "body": ""
    },
    {
      "title": "fix: telegram to elizaos data model sync",
      "prNumber": 4137,
      "type": "bugfix",
      "body": "# Telegram Plugin Service Refactoring\r\n\r\n## Relates to\r\n\r\n- Telegram integration stability\r\n- Forum topics support / rooms in ElizaOS system\r\n\r\n## Risks\r\n\r\n- Medium\r\n\r\n## Background\r\n\r\nThe Telegram service implementation requires refactorin"
    },
    {
      "title": "docs: added raiinmaker to  .env.example",
      "prNumber": 4136,
      "type": "docs",
      "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\nEnvironment only, adding variables for Raiinmaker plugin\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- Th"
    },
    {
      "title": "chore: remove unused packages",
      "prNumber": 4135,
      "type": "other",
      "body": ""
    },
    {
      "title": "feat: tg community manager",
      "prNumber": 4134,
      "type": "feature",
      "body": "This PR allows the community manager to greet new users and timeout users on Telegram."
    },
    {
      "title": "chore: audio utils move to core",
      "prNumber": 4133,
      "type": "other",
      "body": "Moved repeated code (audio utils) to core"
    },
    {
      "title": "Chore/plugin publishing fixes",
      "prNumber": 4132,
      "type": "bugfix",
      "body": "# Chore: Plugin Publishing Improvements\r\n\r\nThis PR includes a few minor improvements to my previous #4095 plugin publishing workflow:\r\n\r\n## Changes\r\n- Enhanced GitHub repository push functionality, before it was using force which isnt elega"
    },
    {
      "title": "fix: payload sent to event handler",
      "prNumber": 4131,
      "type": "bugfix",
      "body": "This PR fixes small bug with the incorrect payload passed to the event handler for `MESSAGE_SENT`. \r\n\r\n![image](https://github.com/user-attachments/assets/aae5ba6c-672b-4ba6-ae6a-2b1af82090b4)\r\n"
    },
    {
      "title": "tests: Plugin evm tests fixed",
      "prNumber": 4130,
      "type": "bugfix",
      "body": "# Relates to\r\n[GitHub Issue #397](https://github.com/Sifchain/sa-eliza/issues/397)\r\n\r\n# Risks\r\n- Low: Changes affect wallet tests in the `plugin-evm` package.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR fixes the wallet tests in th"
    },
    {
      "title": "chore: Cleanup browser plugin",
      "prNumber": 4129,
      "type": "refactor",
      "body": "plugin-browser; earlier called plugin-node was split into separate plugins fir each service;\r\n\r\nThis PR removes duplicate code from plugin-browser"
    },
    {
      "title": "feat: Enhance telegram",
      "prNumber": 4128,
      "type": "feature",
      "body": "- Add docs for middlewares \r\n- Add sync `Entity` for `message.new_chat_member`\r\n- Add sync `Entity` for `left_chat_member`"
    },
    {
      "title": "feat: enhance tg logic with middlewares",
      "prNumber": 4125,
      "type": "feature",
      "body": ""
    },
    {
      "title": "chore: Update docs",
      "prNumber": 4114,
      "type": "other",
      "body": "<!-- Use this template by filling in information and copying and pasting relevant items out of the HTML comments. -->\r\n\r\n# Relates to\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This risks section must be filled out before the final review "
    },
    {
      "title": "Farcaster plugin for v2",
      "prNumber": 4096,
      "type": "other",
      "body": "# Relates to\r\nIntroducing the Farcaster plugin for improved functionality and reliability\r\n\r\n# Risks\r\nLow. This PR primarily focuses on refactoring, bug fixes, and adding test coverage to improve reliability. No major architectural changes "
    },
    {
      "title": "Eli2 107/fix plugin publishing",
      "prNumber": 4095,
      "type": "bugfix",
      "body": "# PR: Enhance ElizaOS Plugin Development and Publishing Workflow\r\n\r\nThis PR improves the complete plugin lifecycle - from creation to development to publishing - with a focus on streamlining the developer experience and ensuring plugins wor"
    },
    {
      "title": " added extensive UI Tests",
      "prNumber": 4092,
      "type": "tests",
      "body": "# Relates to\r\n\r\nAdding comprehensive UI testing framework for ElizaOS client\r\n\r\n\r\n# Risks\r\n\r\nLow - Adding test files with no changes to production code\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAdds a complete UI testing framework us"
    },
    {
      "title": "fix: tg onboard -WIP",
      "prNumber": 4091,
      "type": "bugfix",
      "body": "related: \r\nhttps://linear.app/eliza-labs/issue/ELI2-158/currently-the-agent-cant-onboard-settings-on-telegram\r\n\r\n\r\nThanks to the amazing work by @0xbbjoker, this PR aims to fix the Telegram onboarding issue.\r\n\r\nSee also:\r\nhttps://github.com"
    },
    {
      "title": "chore: plugin browser test coverage and setup",
      "prNumber": 4051,
      "type": "tests",
      "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\nplugin-browser Package\r\n1. AWS S3 Service Tests (10 tests)\r\n* Coverag"
    },
    {
      "title": "chore: Fix missing comma in section headers list",
      "prNumber": 4038,
      "type": "bugfix",
      "body": "## What does this PR do?\r\n\r\nNoticed a missing comma in the `section_headers` list, which caused the last regex pattern to be concatenated incorrectly. This could lead to `New Contributors` headers not being processed as expected.  \r\n\r\nFixed"
    },
    {
      "title": "chore: removed duplicate JSON import",
      "prNumber": 4030,
      "type": "other",
      "body": "## What does this PR do?\r\n\r\nI noticed that the `json` module is imported twice in the code.\r\nI removed the second import to clean up the code and improve readability."
    },
    {
      "title": "fix: Fix template variable inconsistency in `twitterPostTemplate`",
      "prNumber": 4029,
      "type": "bugfix",
      "body": "## What does this PR do?\r\n\r\nI noticed a inconsistency in the `twitterPostTemplate` where `{{agentName}}` was used instead of `{{AGENT_NAME}}`. This caused the `replaceAgentValues` function to miss replacing the placeholder, as it specifical"
    },
    {
      "title": "feat: Add Kluster AI as model provider",
      "prNumber": 3938,
      "type": "feature",
      "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# Risks\r\nLow\r\n\r\n# Background\r\nKluster AI  is a cloud service to host LLMs.\r\n\r\n## What does this PR do?\r\nA"
    },
    {
      "title": "feat: Add Mem0 as AI SDK Provider",
      "prNumber": 3927,
      "type": "feature",
      "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\nN/A\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This risks section must be filled out before the final re"
    },
    {
      "title": "feat: add typing indicator to telegram",
      "prNumber": 4280,
      "type": "feature",
      "body": "# Risks\r\n\r\nlow – this change adds a typing indicator (sendChatAction) to simulate a more humanlike interaction pattern.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nadds a typing indicator to telegram bots to improve user experience and g"
    },
    {
      "title": "refactor: improve telegram markdown parsing",
      "prNumber": 4279,
      "type": "refactor",
      "body": "# Risks\r\n\r\nmedium – this change improves markdown escaping logic for telegram’s markdown parser. the potential risk is introducing edge cases where valid formatting is unintentionally escaped, but coverage is tighter than before.\r\n\r\n# Backg"
    },
    {
      "title": "fix: check if init exist before calling",
      "prNumber": 4278,
      "type": "bugfix",
      "body": "Make sure `init` exist on plugin before we call it. \r\n\r\nerror: \r\n\r\n```\r\n[2025-04-13 14:10:02] WARN: Failed to load or prepare plugin specified by name: @elizaos/plugin-bootstrap\r\n[2025-04-13 14:10:02] ERROR: An error occurred:\r\nmessage: \"(T"
    },
    {
      "title": "Improvement: Default SQL and OpenAI Plugins for New Character",
      "prNumber": 4277,
      "type": "other",
      "body": "\r\n# Relates to\r\n\r\nhttps://linear.app/eliza-labs/issue/ELI2-242/default-sql-and-openai-plugins-for-new-characters-and-warn-on-removal\r\n\r\n# Risks\r\n\r\nLow - This PR only affects the UI for new agent creation and plugin management. The changes a"
    },
    {
      "title": "chore: remove deprecated types",
      "prNumber": 4275,
      "type": "other",
      "body": "remove `hapi__shot`types as this is deprecated"
    },
    {
      "title": "fix: expose telegram types",
      "prNumber": 4287,
      "type": "bugfix",
      "body": "# Risks\r\n\r\nlow – this change only affects the type exports from the package. it makes more internal types publicly available for consumers but does not alter runtime behavior.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nExposed `messageM"
    },
    {
      "title": "feat: created world provider with basic world metadata",
      "prNumber": 4284,
      "type": "feature",
      "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\nhttps://linear.app/eliza-labs/issue/ELI2-78/implement-world-state-pro"
    },
    {
      "title": "improve logging for transcription models",
      "prNumber": 4283,
      "type": "other",
      "body": ""
    },
    {
      "title": "chore: update docs",
      "prNumber": 4281,
      "type": "other",
      "body": "<!-- Use this template by filling in information and copying and pasting relevant items out of the HTML comments. -->\r\n\r\n# Relates to\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This risks section must be filled out before the final review "
    },
    {
      "title": "fix: external depn issue",
      "prNumber": 4306,
      "type": "bugfix",
      "body": "Additional note for testing: \r\n- `bun i`\r\n- `bun run build` \r\n- cd out from the project\r\n- `node ../ai-agents/new-eliza/eliza/packages/cli/dist/index.js start`"
    },
    {
      "title": "fix: remote attestation action",
      "prNumber": 4305,
      "type": "bugfix",
      "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\nFixes Remote Attestation Action.\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This risks section must be fil"
    },
    {
      "title": "feat: cli-test-suite",
      "prNumber": 4301,
      "type": "feature",
      "body": "# Eliza CLI Shell Tests\r\n\r\n**Test Coverage Status: Up-to-date as of 2025-04-17**\r\n\r\n_All tests use isolated temporary environments and have descriptive names for clarity._\r\n\r\nThis directory contains Bash test scripts that verify the functio"
    },
    {
      "title": "feat: enhance gui",
      "prNumber": 4300,
      "type": "feature",
      "body": "This PR makes the settings field requirement information reusable in the GUI and introduces a validation mechanism that checks for the required field in the JSON before importing. It also removes the dots from \"Required\" and \"Optional\" labe"
    },
    {
      "title": "fix: ensure plugins",
      "prNumber": 4296,
      "type": "bugfix",
      "body": "```\r\n[2025-04-15 20:57:12] ERROR: An error occurred:\r\n    message: \"(TypeError) Cannot read properties of undefined (reading 'some')\"\r\n    stack: [\r\n      \"TypeError: Cannot read properties of undefined (reading 'some')\",\r\n      \"at startAg"
    },
    {
      "title": "Added Stop agent button in agent settings",
      "prNumber": 4295,
      "type": "other",
      "body": "\r\n# Relates to\r\n\r\n[ELI2-198: Implement \"Stop Agent\" Feature in Web UI](https://linear.app/eliza-labs/issue/ELI2-198/implement-stop-agent-feature-in-web-ui)\r\n\r\n# Risks\r\n\r\nLow - This PR implements a new UI control using existing backend funct"
    },
    {
      "title": "fix: use correct twitter post interval config in plugin-twitter package",
      "prNumber": 4294,
      "type": "bugfix",
      "body": "# Background\r\n\r\n## What does this PR do?\r\n\r\nfix: use config TWITTER_POST_INTERVAL_MIN and TWITTER_POST_INTERVAL_MAX instead of TWITTER_POST_INTERVAL)"
    },
    {
      "title": "Onboarding Tour and Enabling Disabling the Input Button",
      "prNumber": 4293,
      "type": "other",
      "body": "\r\nFOR THE ONBOARDING TOUR\r\n# Relates to\r\nImplementation of interactive onboarding tour for new users\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR implements an interactive onboarding tour to help new users understa"
    },
    {
      "title": "update memory.ts to use the new schema",
      "prNumber": 4292,
      "type": "other",
      "body": "Changing FK as discussed."
    },
    {
      "title": "feat: twitter plugin - Cleanup Unused Code and Support Long Tweets for Premium Accounts",
      "prNumber": 4291,
      "type": "feature",
      "body": "This PR removes unused code in the Twutter plugin and adds support for posting and replying with long tweets for premium accounts"
    },
    {
      "title": "fix: GUI Missing Requirement Indicator and Tooltips After Merge Conflict",
      "prNumber": 4307,
      "type": "bugfix",
      "body": "Fixes missing requirement indicator and tooltips caused by a merge conflict"
    },
    {
      "title": "Fix Typographical Error in Character.md",
      "prNumber": 4313,
      "type": "bugfix",
      "body": "\r\n\r\nDescription: \r\nThis pull request corrects a typographical error in the `Character.md` file. The word \"Optional\" was previously misspelled as \"Optinal\" and has been corrected. This change ensures consistency and clarity in the documentat"
    },
    {
      "title": "docs: remove consecutive duplicate words",
      "prNumber": 4312,
      "type": "docs",
      "body": ""
    },
    {
      "title": "Export bootstrap plugin capabilities",
      "prNumber": 4311,
      "type": "other",
      "body": "Exporting all providers, actions, and evaluators from the bootstrap plugin for a more controlled consumer experience.\r\n\r\n# Risks\r\n\r\nNo breaking changes for regular package consumers. For consistency, `updateRoleAction ` and `updateSettingsA"
    },
    {
      "title": "feat: add confirmation dialog for delete group",
      "prNumber": 4310,
      "type": "feature",
      "body": "# Relates to\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n[ELI2-227 – UI/UX: Implement confirmation modals for destructive actions](https://linear.app/eliza-labs/issue/ELI2-227/uiux-implement-confirmation-modals-for-destructive-actions)\r\n\r\n\r\n# Risk"
    },
    {
      "title": "deleted duplicate README_NL.md",
      "prNumber": 4321,
      "type": "other",
      "body": "thanks ! "
    },
    {
      "title": "feat: Add deleteTweet()",
      "prNumber": 4320,
      "type": "feature",
      "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- Request to add same changes as in https://github.com/elizaOS/agent-twitter-client from @tcm390 \r\n\r\n# "
    },
    {
      "title": "fix: Use utils-based UUID for broader browser support",
      "prNumber": 4318,
      "type": "bugfix",
      "body": "related: https://github.com/elizaOS/eliza/issues/4315\r\n\r\nFallback to a custom UUID generator for browsers that don't support crypto.randomUUID()."
    },
    {
      "title": "fix: persistent beacon by handling tour close action",
      "prNumber": 4317,
      "type": "bugfix",
      "body": "related: https://github.com/elizaOS/eliza/issues/4316\r\n\r\nMark onboarding as complete when the tour is closed manually to prevent lingering blue beacon."
    },
    {
      "title": "Added Default Agents based on the org",
      "prNumber": 4323,
      "type": "other",
      "body": "# Relates to\r\n\r\nhttps://linear.app/eliza-labs/issue/ELI2-236/uiux-implement-agent-templates-via-dropdown-in-creation-form\r\n\r\n# Risks\r\nLow. This PR only adds new agent templates based on the existing client documentation. No functional chang"
    },
    {
      "title": "Fix Typos and Improve Documentation in Changelog",
      "prNumber": 4322,
      "type": "bugfix",
      "body": "\r\n\r\n**Description:**\r\n\r\nThis pull request addresses several minor issues in the changelog documentation:\r\n\r\n- Corrected typos such as \"toghether\" to \"together\" and \"misstype\" to \"mistype\".\r\n- Improved consistency by using strict types to av"
    },
    {
      "title": "fix: Plugin command normalize across v1 / v2",
      "prNumber": 4327,
      "type": "bugfix",
      "body": ""
    },
    {
      "title": "Fix hapi types issue",
      "prNumber": 4333,
      "type": "bugfix",
      "body": "<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\r\n\r\n## Summary by CodeRabbit\r\n\r\n- **Chores**\r\n  - Removed an unused dependency to streamline the application.\r\n  \r\nI've already merged this recently: https://github.c"
    },
    {
      "title": "fix: Prevent repetitive agent replies",
      "prNumber": 4331,
      "type": "bugfix",
      "body": "This PR fix the issue where agents were repeatedly sending the same canned response during ongoing conversations in group chat\r\n"
    },
    {
      "title": "fix: openai stt",
      "prNumber": 4329,
      "type": "bugfix",
      "body": "This PR aims to fix a transcription issue in plugin-openai. Externalizing node-fetch was causing failures during transcription requests. This update replaces node-fetch with undici for both FormData and the fetch function.\r\n\r\n@0xbbjoker @od"
    },
    {
      "title": "fix: gui - sync envs state with updated characterValue props",
      "prNumber": 4328,
      "type": "bugfix",
      "body": "Previously, envs was initialized only once from characterValue and did not update when characterValue changed. This caused the panel to display stale data unless manually rerendered."
    },
    {
      "title": "Feat: enable path params routes for plugins",
      "prNumber": 4335,
      "type": "feature",
      "body": "# Risks\r\nLow - This change adds functionality for handling route parameters in plugin routes without affecting existing functionality.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds support for dynamic route parameters (like `:id`) in pl"
    },
    {
      "title": "docs: deploy Eliza to TEE with Oasis ROFL app",
      "prNumber": 4334,
      "type": "docs",
      "body": "# Relates to\r\n\r\n<!-- No specific issue or ticket -->\r\n\r\n# Risks\r\n\r\nLow\r\n- Documentation changes only\r\n- No code changes\r\n- No impact on existing functionality\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR updates the documentation "
    },
    {
      "title": "added bc .gitignore wasnt getting copied from plugin-starter",
      "prNumber": 4345,
      "type": "other",
      "body": "added this small change because .gitignore wasnt getting copied over on plugin-starter copying via the cli."
    },
    {
      "title": "feat: skip display banner if not utf-8",
      "prNumber": 4344,
      "type": "feature",
      "body": ""
    },
    {
      "title": "Fix ESM type declarations in Core",
      "prNumber": 4341,
      "type": "bugfix",
      "body": "Discord for better coordination: @michavie\r\n\r\n# Relates to\r\n\r\nTypeScript type resolution issues in `@elizaos/core` package\r\n\r\nFixes: https://github.com/elizaOS/eliza/issues/3191\r\n\r\n# Risks\r\n\r\nLow - This is a build configuration change that "
    },
    {
      "title": "fix: agent not found error after GUI creation and resolve merge conflict",
      "prNumber": 4337,
      "type": "bugfix",
      "body": "This PR fixes an issue where starting an agent created via the GUI using the same agent name would result in an error: Agent does not exist in database after ensureAgentExists call.\r\n\r\nThe issue occurred because multiple agents with the sam"
    },
    {
      "title": "fix: agent unregistration process with service stop handling",
      "prNumber": 4360,
      "type": "bugfix",
      "body": "# Relates to\n\nUpdate agent service management during unregistration\n\n# Risks\n\nLow. This change improves resource management when unregistering agents by ensuring all services are properly stopped.\n\n# Background\n\n## What does this PR do?\n\nTh"
    },
    {
      "title": "fix: small GUI fix",
      "prNumber": 4358,
      "type": "bugfix",
      "body": "This PR fixes several issues:\r\n\r\n**1. Removed poor contrast background color for the voice required plugin label**\r\n\r\n![image](https://github.com/user-attachments/assets/3ebf4b7a-63de-4f84-aa37-f5c3a7c7c8f4)\r\n\r\n**2. Removed the white/blue b"
    },
    {
      "title": "chore: add-any-provider-blog",
      "prNumber": 4356,
      "type": "other",
      "body": "## PR Summary: Improve and Expand OpenAI Plugin Provider Environment Guide\r\n\r\n### What’s Changed\r\n\r\n- **Expanded Provider Coverage:**  \r\n  Added a new section for LM Studio, a popular local LLM desktop app, with clear instructions and examp"
    },
    {
      "title": "chore: 📝 Add docstrings to `cloudflare-logging`",
      "prNumber": 4355,
      "type": "feature",
      "body": "Docstrings generation was requested by @wtfsayo.\n\n* https://github.com/elizaOS/eliza/pull/4354#issuecomment-2827117984\n\nThe following files were modified:\n\n* `packages/core/src/cloudflare.ts`\n* `packages/plugin-anthropic/src/index.ts`\n* `pa"
    },
    {
      "title": "feat: bring back support for cloudflare llm logging/tracking",
      "prNumber": 4354,
      "type": "feature",
      "body": "<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n## Summary by CodeRabbit\n\n- **New Features**\n  - Added support for routing AI provider requests through Cloudflare AI Gateway when enabled and properly configured.\n\n"
    },
    {
      "title": "chore: refactor sidebar + general ui improvements",
      "prNumber": 4353,
      "type": "refactor",
      "body": "\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n- **Refactor**\n  - Improved modularity and readability of the sidebar with new internal components and optimized rendering.\n  - Updated "
    },
    {
      "title": "fix: tts api",
      "prNumber": 4352,
      "type": "bugfix",
      "body": "This PR addresses an issue where plugin-openai TTS wasn't working because it returns a Web ReadableStream. The fix properly handles all types of stream responses for TTS APIs"
    },
    {
      "title": "fix: cli start agent",
      "prNumber": 4351,
      "type": "bugfix",
      "body": "Currently, when a file path is provided to start an agent with cli, the agent gets created but doesn't automatically start."
    },
    {
      "title": "feat: suggest upgrade cli",
      "prNumber": 4350,
      "type": "feature",
      "body": "## PR: Notify users of new CLI version and code organization improvements\r\n\r\n### Summary\r\n\r\nThis PR improves the user experience and maintainability of the ElizaOS CLI by:\r\n\r\n- **Notifying users when a new version of the CLI is available:**"
    },
    {
      "title": "feat: support relative char path + other issues",
      "prNumber": 4349,
      "type": "feature",
      "body": "## PR Description \r\n\r\nThis PR implements support for loading character configurations using paths that are relative to the current working directory. It also includes several test improvements and adds helpful logging messages.\r\n\r\n### Key C"
    },
    {
      "title": "feat: V2 QoL improvements",
      "prNumber": 4348,
      "type": "feature",
      "body": "# Risks\r\n\r\nMedium\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n- general logging clean up\r\n- cli: fix how plugins are loaded so org-level plugins can be loaded after plugin-sql so we can start tasks in a plugin's init\r\n- client: fix cloudfl"
    },
    {
      "title": "fix: agent null check",
      "prNumber": 4347,
      "type": "bugfix",
      "body": ""
    },
    {
      "title": "Feat(plugin-discord): enable typing indicator",
      "prNumber": 4364,
      "type": "feature",
      "body": "# Relates to\n\nFix typing indicator for Discord messages\n\n# Risks\n\nLow risk - This PR only affects the visual feedback of typing indicators in Discord and doesn't change any core functionality.\n\n# Background\n\n## What does this PR do?\n\nImplem"
    },
    {
      "title": "fix: issue with postgres db for docker containers. update gh action f…",
      "prNumber": 4363,
      "type": "bugfix",
      "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\nDocker setup for Postgres+ pgvector container.\r\nGH action for TEE CI/CD\r\n<!-- LINK TO ISSUE OR TICKET -->"
    },
    {
      "title": "Fix broken image paths",
      "prNumber": 4362,
      "type": "bugfix",
      "body": "Replaced incorrect image paths that caused 404 errors in README_CN.md, README_DE.md, and README_FR.md.\r\n\r\nOld path: ./docs/static/img/eliza_banner.jpg\r\nNew path: static/img/eliza_banner.jpg\r\n\r\nThis fixes broken banner images that were not d"
    },
    {
      "title": "Fix: Correct broken Pump.fun link",
      "prNumber": 4367,
      "type": "bugfix",
      "body": "This pull request updates a broken Pump.fun link \r\nThe old link was missing the /coin/ path, leading to a 404 error. The new link correctly directs to the intended resource."
    },
    {
      "title": "(chore)plugin anthropic - test coverage and setup",
      "prNumber": 4370,
      "type": "tests",
      "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\r\n<!-- This risks section must be filled out before the final revie"
    },
    {
      "title": "fix: add default project text to create cli",
      "prNumber": 4369,
      "type": "feature",
      "body": "# Relates to\r\n\r\nUpdates the missing default for type in `elizaos create`\r\n\r\n# Risks\r\n\r\nNone.\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\nMinor text update in CLI.\r\n\r\nThis should be included so the user "
    },
    {
      "title": "fix: import issue for derive key provider",
      "prNumber": 4385,
      "type": "bugfix",
      "body": "\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n- **Chores**\n  - Updated internal provider usage for improved compatibility. No changes to user-facing features.\n\n<!-- end of auto-gener"
    },
    {
      "title": "fix: Add API Key Validation for Anthropic Plugin Model Calls",
      "prNumber": 4383,
      "type": "feature",
      "body": "related: https://github.com/elizaOS/eliza/issues/4346\r\n\r\nthis pr add API key validation for Anthropic models"
    },
    {
      "title": "fix: escape docker compose postgres healthcheck",
      "prNumber": 4382,
      "type": "bugfix",
      "body": "Hi @HashWarlock I needed to escape the environment variables in the docker compose. Please review when you get a chance.\r\n\r\nWithout this change, I see `postgres-1  | 2025-04-28 16:43:01.101 UTC [76] FATAL:  role \"-d\" does not exist`\r\n\r\nOthe"
    },
    {
      "title": "feat(cli): update elizaos create command instructions",
      "prNumber": 4381,
      "type": "feature",
      "body": "\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n- **Style**\n  - Updated user-facing command instructions to remove the use of the npx prefix. Commands now appear as elizaos dev, elizao"
    },
    {
      "title": "docs: updated quick start and intro cli commands",
      "prNumber": 4379,
      "type": "docs",
      "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\nDoc updation\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This risks section must be filled out before the"
    },
    {
      "title": "fix: update broken link to eliza-in-tee documentation",
      "prNumber": 4377,
      "type": "bugfix",
      "body": "Replaced the outdated link to the \"eliza-in-tee\" documentation with the correct and currently available URL.\r\nThe previous link returned a 404 error, so this update ensures users are directed to the right version of the documentation at htt"
    },
    {
      "title": "fix(core): type check crypto values",
      "prNumber": 4376,
      "type": "bugfix",
      "body": "# Relates to\r\n\r\nType error during decryption in MCP plugins\r\n\r\n# Risks\r\n\r\n**Low**. This change adds an additional type check to prevent errors when executing cryptographic functions.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR fi"
    },
    {
      "title": "fix: (plugin-discord) stop throwing error when missing service",
      "prNumber": 4375,
      "type": "bugfix",
      "body": "# Relates to\n\nImproving error handling in Discord plugin services\n\n# Risks\n\n**Low**. This change modifies error behavior to avoid processing interruptions while maintaining traceability through logs.\n\n# Background\n\n## What does this PR do?\n"
    },
    {
      "title": "Shaw/fix short replies",
      "prNumber": 4374,
      "type": "bugfix",
      "body": "This PR fixes some message handling and especially makes short replies much faster and more cost effective.\r\n\r\nSome other issues with startup have been fixed as well, and agents start up simultaneously instead of one after another in a for "
    },
    {
      "title": "fix: Cannot read properties of undefined (reading 'sendStandartTweet')",
      "prNumber": 4373,
      "type": "bugfix",
      "body": "related: https://github.com/elizaOS/eliza/issues/4365\r\n\r\nRemove incorrect `this.` usage within standalone functions and clean up some unused code."
    },
    {
      "title": "Fix broken image paths ",
      "prNumber": 4372,
      "type": "bugfix",
      "body": "Old path: ./docs/static/img/eliza_banner.jpg\r\nNew path: static/img/eliza_banner.jpg\r\n\r\nThis fixes broken banner images that were not displaying correctly in the translated documentation files."
    },
    {
      "title": "Chore/remove pckg json plugin evm",
      "prNumber": 4399,
      "type": "other",
      "body": "\r\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\r\n\r\n## Summary by CodeRabbit\r\n\r\n- **Chores**\r\n  - Removed the package metadata and configuration for the EVM plugin.\r\n  - plugin-evm moved to registry -> https://gi"
    },
    {
      "title": "chore: remove plugin from monorepo",
      "prNumber": 4398,
      "type": "other",
      "body": "<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\r\n\r\n## Summary by CodeRabbit\r\n\r\n- **Chores**\r\n  - Removed the video understanding plugin and all related files, including documentation, configuration, build scripts,"
    },
    {
      "title": "chore: fix local llm throwing undefined error",
      "prNumber": 4396,
      "type": "bugfix",
      "body": "fixes local ai throwing\r\n\r\n```\r\n[2025-04-29 15:06:40] DEBUG: API request: GET /ping\r\n[2025-04-29 15:06:40] DEBUG: API request: GET /agents/b850bc30-45f8-0041-a00a-83df46d8555d/logs\r\n[2025-04-29 15:06:40] DEBUG: Skipping plugin handler for s"
    },
    {
      "title": "fix: agent deletion",
      "prNumber": 4395,
      "type": "bugfix",
      "body": "Currently, we cannot delete an agent if they own worlds, because it causes a foreign key constraint error on the logs table (logs_roomId_rooms_id_fk).\r\n\r\nThis PR fixes the issue by first checking for an existing agent to reassign the worlds"
    },
    {
      "title": "feat: add model/plugin name logging when model is used",
      "prNumber": 4394,
      "type": "feature",
      "body": "\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n- **New Features**\n\t- Added detailed logging across multiple plugins to display which AI model is being used at runtime, improving trans"
    },
    {
      "title": "chore: cleaner ui + other minor ui enhancements",
      "prNumber": 4393,
      "type": "refactor",
      "body": "## PR Description: **UI Improvements, Naming Updates, and Bug Fixes**\r\n\r\nThis PR introduces several enhancements, fixes, and updates across the codebase:\r\n\r\n#### **1. Naming Updates**\r\n- Replaced references to `room` with `group` across mul"
    },
    {
      "title": "feat: scopable knowledge",
      "prNumber": 4390,
      "type": "feature",
      "body": "Right now, knowledge is memories scoped to the agent's UUID, so global only\r\n\r\nThis PR allows knowledge to be searchable by entityId, worldId, or roomId"
    },
    {
      "title": "fix : error handling for no space left in disk to users",
      "prNumber": 4389,
      "type": "bugfix",
      "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<img width=\"1357\" alt=\"Screenshot_2025-04-28_at_2 26 45_PM\" src=\"https://github.com/user-attachments/asse"
    },
    {
      "title": "feat: rebuild core and plugin-bootstrap if in mono repo context w/ dev command",
      "prNumber": 4388,
      "type": "feature",
      "body": "\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n## Summary by CodeRabbit\n\n- **New Features**\n  - Added detection of Eliza monorepo context and automatic building of core monorepo packages during development work"
    },
    {
      "title": "feat: added .env.example in project-starter",
      "prNumber": 4387,
      "type": "feature",
      "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\nAdded .env.example in project-template as some users were facing confusion while setting up keys for proj"
    },
    {
      "title": "chore: remove plugin evm from monorepo",
      "prNumber": 4386,
      "type": "other",
      "body": "\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n- **Chores**\n  - Removed the EVM plugin package, including all related features, documentation, configuration files, smart contracts, an"
    },
    {
      "title": "chore: Update docs, changing to docs.eliza.how",
      "prNumber": 4403,
      "type": "other",
      "body": "## PR Summary: chore: Update docs, changing to docs.eliza.how\r\n\r\nThis PR includes a series of documentation updates, fixes, and enhancements across the `packages/docs` and `packages/core` directories.\r\n\r\n**Key Changes:**\r\n\r\n1.  **Documentat"
    },
    {
      "title": "fix: copy migrations to CLI",
      "prNumber": 4401,
      "type": "bugfix",
      "body": "# Risks\r\nLow. This is a simple fix to ensure database migrations are properly copied to the CLI directory, which affects initial database setup but doesn't pose significant risks to existing installations.\r\n\r\n# Background\r\n## What does this"
    },
    {
      "title": "chore: remove plugin-pdf from monorepo",
      "prNumber": 4400,
      "type": "other",
      "body": "\r\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\r\n\r\n## Summary by CodeRabbit\r\n\r\n- **Chores**\r\n  - Removed the PDF plugin package and all its related files and documentation.\r\n  - Updated dependencies in another p"
    }
  ],
  "topContributors": [
    {
      "username": "wtfsayo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4",
      "totalScore": 1739.4607351507161,
      "prScore": 1679.6667351507162,
      "issueScore": 4,
      "reviewScore": 53,
      "commentScore": 2.7939999999999996
    },
    {
      "username": "tcm390",
      "avatarUrl": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4",
      "totalScore": 1248.62295481201,
      "prScore": 1052.5309548120101,
      "issueScore": 28.2,
      "reviewScore": 164,
      "commentScore": 3.892
    },
    {
      "username": "0xbbjoker",
      "avatarUrl": "https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4",
      "totalScore": 872.7938173598334,
      "prScore": 860.9378173598334,
      "issueScore": 0,
      "reviewScore": 9.5,
      "commentScore": 2.356
    },
    {
      "username": "HarshModi2005",
      "avatarUrl": "https://avatars.githubusercontent.com/u/142230924?u=64e337bbdb6b3aded5943b7e297759e7a3cfc0f0&v=4",
      "totalScore": 476.3018349029459,
      "prScore": 403.70183490294596,
      "issueScore": 0,
      "reviewScore": 72,
      "commentScore": 0.6000000000000001
    },
    {
      "username": "Samarthsinghal28",
      "avatarUrl": "https://avatars.githubusercontent.com/u/120447590?v=4",
      "totalScore": 467.5468509776701,
      "prScore": 440.5468509776701,
      "issueScore": 0,
      "reviewScore": 27,
      "commentScore": 0
    },
    {
      "username": "odilitime",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=c9bac48e632aae594a0d85aaf9e9c9c69b674d8b&v=4",
      "totalScore": 311.8063418606137,
      "prScore": 160.9263418606137,
      "issueScore": 0,
      "reviewScore": 150,
      "commentScore": 0.8799999999999999
    },
    {
      "username": "monilpat",
      "avatarUrl": "https://avatars.githubusercontent.com/u/15067321?v=4",
      "totalScore": 296.87273589759246,
      "prScore": 18.692735897592478,
      "issueScore": 0,
      "reviewScore": 275.5,
      "commentScore": 2.68
    },
    {
      "username": "Y4NK33420",
      "avatarUrl": "https://avatars.githubusercontent.com/u/112804719?v=4",
      "totalScore": 293.58200653555355,
      "prScore": 261.28200653555353,
      "issueScore": 0,
      "reviewScore": 31.5,
      "commentScore": 0.8
    },
    {
      "username": "yungalgo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/113615973?u=92e0f29f7e2fbb8ce46ed13c51f692ca803de02d&v=4",
      "totalScore": 225.13011304605666,
      "prScore": 206.93011304605668,
      "issueScore": 0,
      "reviewScore": 18,
      "commentScore": 0.2
    },
    {
      "username": "ncale",
      "avatarUrl": "https://avatars.githubusercontent.com/u/106794061?u=3269bddd86da2efe1784076e485a5466ad96cb62&v=4",
      "totalScore": 200.10939594487633,
      "prScore": 195.00939594487633,
      "issueScore": 0,
      "reviewScore": 4.5,
      "commentScore": 0.6000000000000001
    },
    {
      "username": "lalalune",
      "avatarUrl": "https://avatars.githubusercontent.com/u/18633264?u=e2e906c3712c2506ebfa98df01c2cfdc50050b30&v=4",
      "totalScore": 182.9700955863044,
      "prScore": 167.79209558630438,
      "issueScore": 0,
      "reviewScore": 14,
      "commentScore": 1.178
    },
    {
      "username": "michavie",
      "avatarUrl": "https://avatars.githubusercontent.com/u/39144548?u=3496eb82a60d2a8e88bf5e22c3ffe5eb2b37d816&v=4",
      "totalScore": 161.46549861415127,
      "prScore": 147.76549861415128,
      "issueScore": 0,
      "reviewScore": 13.5,
      "commentScore": 0.2
    },
    {
      "username": "standujar",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16385918?u=718bdcd1585be8447bdfffb8c11ce249baa7532d&v=4",
      "totalScore": 142.5858095785972,
      "prScore": 137.54580957859721,
      "issueScore": 4.1,
      "reviewScore": 0,
      "commentScore": 0.94
    },
    {
      "username": "samarth30",
      "avatarUrl": "https://avatars.githubusercontent.com/u/48334430?u=1fc119a6c2deb8cf60448b4c8961cb21dc69baeb&v=4",
      "totalScore": 128.12922241295038,
      "prScore": 128.12922241295038,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0
    },
    {
      "username": "madjin",
      "avatarUrl": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4",
      "totalScore": 124.13654779315219,
      "prScore": 114.93654779315219,
      "issueScore": 4,
      "reviewScore": 5,
      "commentScore": 0.2
    },
    {
      "username": "hishboy",
      "avatarUrl": "https://avatars.githubusercontent.com/u/340982?u=3201dbd7bc2c194744a093db20c0c35c7afc96d4&v=4",
      "totalScore": 108.69412084805441,
      "prScore": 103.75612084805441,
      "issueScore": 0,
      "reviewScore": 4.5,
      "commentScore": 0.43799999999999994
    },
    {
      "username": "PixelPil0t1",
      "avatarUrl": "https://avatars.githubusercontent.com/u/161360836?u=cb7120a58d61284a5b7a23ed184b773043ec5123&v=4",
      "totalScore": 108.45195387624292,
      "prScore": 108.25195387624292,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.2
    },
    {
      "username": "avp1598",
      "avatarUrl": "https://avatars.githubusercontent.com/u/24447702?u=61a032460dcb42f018c54fae76247c6bf49b7b9a&v=4",
      "totalScore": 102.69619275423804,
      "prScore": 102.69619275423804,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0
    },
    {
      "username": "ai16z-demirix",
      "avatarUrl": "https://avatars.githubusercontent.com/u/188117230?u=424cd5b834584b3799da288712b3c4158c8032a1&v=4",
      "totalScore": 91.7902783384985,
      "prScore": 91.7902783384985,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0
    },
    {
      "username": "HashWarlock",
      "avatarUrl": "https://avatars.githubusercontent.com/u/64296537?u=1d8228a93c06c603e08d438677b3f736d6b1ab22&v=4",
      "totalScore": 90.93310326569872,
      "prScore": 81.43310326569872,
      "issueScore": 0,
      "reviewScore": 9.5,
      "commentScore": 0
    }
  ],
  "newPRs": 241,
  "mergedPRs": 199,
  "newIssues": 45,
  "closedIssues": 37,
  "activeContributors": 89
}