{
  "interval": {
    "intervalStart": "2025-04-13T00:00:00.000Z",
    "intervalEnd": "2025-04-20T00:00:00.000Z",
    "intervalType": "week"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-04-13 to 2025-04-20, elizaos/eliza had 39 new PRs (34 merged), 10 new issues, and 28 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs6yP4SH",
      "title": "X bot doesn't reply to any mentions at all",
      "author": "Valcyclovir",
      "number": 4272,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-12T14:39:06Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs6yaiIG",
      "title": "Clarify contributing guide in docs vs for using framework",
      "author": "wtfsayo",
      "number": 4285,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-14T14:42:39Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs6yy4Mz",
      "title": "Ensure USE_LOCAL_AI is always true",
      "author": "jmikedupont2",
      "number": 4303,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-16T13:34:31Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs6yyqVg",
      "title": "Task.World is redundant",
      "author": "jmikedupont2",
      "number": 4302,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-16T13:14:06Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs6yxIb9",
      "title": "How can i handle the content response from the modell?",
      "author": "transformer98",
      "number": 4299,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-16T10:37:20Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 1
    }
  ],
  "topPRs": [
    {
      "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_kwDOMT5cIs6ShQi0",
      "title": "Feature/v2/dbml",
      "author": "jmikedupont2",
      "number": 4288,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-14T17:07:26Z",
      "mergedAt": null,
      "additions": 296767,
      "deletions": 183874
    },
    {
      "id": "PR_kwDOMT5cIs6SicfE",
      "title": "Odi v2 plugins ben copy",
      "author": "odilitime",
      "number": 4289,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-14T19:24:53Z",
      "mergedAt": null,
      "additions": 82802,
      "deletions": 11011
    },
    {
      "id": "PR_kwDOMT5cIs6SbQQ8",
      "title": "chore: update docs",
      "author": "madjin",
      "number": 4281,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-14T05:13:34Z",
      "mergedAt": "2025-04-19T02:49:54Z",
      "additions": 50864,
      "deletions": 4456
    },
    {
      "id": "PR_kwDOMT5cIs6R-Ndk",
      "title": "feat: add compat runtime with rag, memory, goal-task, relationships",
      "author": "0xbbjoker",
      "number": 4244,
      "repository": "elizaos/eliza",
      "createdAt": "2025-04-09T16:01:07Z",
      "mergedAt": null,
      "additions": 17856,
      "deletions": 2219
    }
  ],
  "codeChanges": {
    "additions": 11243,
    "deletions": 3617,
    "files": 166,
    "commitCount": 183
  },
  "completedItems": [
    {
      "title": " UI Changes",
      "prNumber": 4273,
      "type": "other",
      "body": "UI changes for Ticket 220 and  221"
    },
    {
      "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": "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": "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": "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": "Add OpenAi model usage events",
      "prNumber": 4230,
      "type": "feature",
      "body": "Add open ai model usage tracking via plugin-scoped events."
    },
    {
      "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": "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": "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": "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": "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"
    }
  ],
  "topContributors": [
    {
      "username": "tcm390",
      "avatarUrl": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4",
      "totalScore": 240.31081722794917,
      "prScore": 155.91081722794917,
      "issueScore": 4,
      "reviewScore": 80,
      "commentScore": 0.4
    },
    {
      "username": "HarshModi2005",
      "avatarUrl": "https://avatars.githubusercontent.com/u/142230924?u=64e337bbdb6b3aded5943b7e297759e7a3cfc0f0&v=4",
      "totalScore": 139.65089332836416,
      "prScore": 116.75089332836417,
      "issueScore": 0,
      "reviewScore": 22.5,
      "commentScore": 0.4
    },
    {
      "username": "wtfsayo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4",
      "totalScore": 138.50247852400423,
      "prScore": 133.9624785240042,
      "issueScore": 4,
      "reviewScore": 0,
      "commentScore": 0.54
    },
    {
      "username": "Y4NK33420",
      "avatarUrl": "https://avatars.githubusercontent.com/u/112804719?v=4",
      "totalScore": 129.49236866369228,
      "prScore": 124.79236866369226,
      "issueScore": 0,
      "reviewScore": 4.5,
      "commentScore": 0.2
    },
    {
      "username": "ncale",
      "avatarUrl": "https://avatars.githubusercontent.com/u/106794061?u=3269bddd86da2efe1784076e485a5466ad96cb62&v=4",
      "totalScore": 120.55404489420215,
      "prScore": 120.55404489420215,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0
    },
    {
      "username": "monilpat",
      "avatarUrl": "https://avatars.githubusercontent.com/u/15067321?v=4",
      "totalScore": 105.93273589759248,
      "prScore": 18.692735897592478,
      "issueScore": 0,
      "reviewScore": 86.5,
      "commentScore": 0.74
    },
    {
      "username": "Samarthsinghal28",
      "avatarUrl": "https://avatars.githubusercontent.com/u/120447590?v=4",
      "totalScore": 72.58298724063232,
      "prScore": 68.08298724063232,
      "issueScore": 0,
      "reviewScore": 4.5,
      "commentScore": 0
    },
    {
      "username": "jmikedupont2",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16427113?u=2bdad12714de646188f98a07736a54f765ad5e3b&v=4",
      "totalScore": 69.93866084486415,
      "prScore": 65.93866084486415,
      "issueScore": 4,
      "reviewScore": 0,
      "commentScore": 0
    },
    {
      "username": "0xbbjoker",
      "avatarUrl": "https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4",
      "totalScore": 68.56564017906,
      "prScore": 68.16564017906,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.4
    },
    {
      "username": "madjin",
      "avatarUrl": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4",
      "totalScore": 61.6317738965761,
      "prScore": 56.4317738965761,
      "issueScore": 0,
      "reviewScore": 5,
      "commentScore": 0.2
    },
    {
      "username": "odilitime",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=c9bac48e632aae594a0d85aaf9e9c9c69b674d8b&v=4",
      "totalScore": 49.72349285279315,
      "prScore": 39.38349285279315,
      "issueScore": 0,
      "reviewScore": 10,
      "commentScore": 0.33999999999999997
    },
    {
      "username": "michavie",
      "avatarUrl": "https://avatars.githubusercontent.com/u/39144548?u=3496eb82a60d2a8e88bf5e22c3ffe5eb2b37d816&v=4",
      "totalScore": 46.128761055471614,
      "prScore": 41.42876105547161,
      "issueScore": 0,
      "reviewScore": 4.5,
      "commentScore": 0.2
    },
    {
      "username": "leopardracer",
      "avatarUrl": "https://avatars.githubusercontent.com/u/136604165?u=7ca681dd63a1e9991929157a38f094609d7a42f0&v=4",
      "totalScore": 44.07625378073324,
      "prScore": 44.07625378073324,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0
    },
    {
      "username": "HashWarlock",
      "avatarUrl": "https://avatars.githubusercontent.com/u/64296537?u=1d8228a93c06c603e08d438677b3f736d6b1ab22&v=4",
      "totalScore": 41.990805593106984,
      "prScore": 41.990805593106984,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0
    },
    {
      "username": "zeroprooff",
      "avatarUrl": "https://avatars.githubusercontent.com/u/155266802?u=de0189445af06c044a1dc79b6766d6f4e64e4bcf&v=4",
      "totalScore": 41.12561228866811,
      "prScore": 41.12561228866811,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0
    },
    {
      "username": "samarth30",
      "avatarUrl": "https://avatars.githubusercontent.com/u/48334430?u=1fc119a6c2deb8cf60448b4c8961cb21dc69baeb&v=4",
      "totalScore": 37.67099955856375,
      "prScore": 37.67099955856375,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0
    },
    {
      "username": "harshal247",
      "avatarUrl": "https://avatars.githubusercontent.com/u/42385720?u=2c9b491fde1fd6a11ac093d620ebedae1495541f&v=4",
      "totalScore": 30.44550070199121,
      "prScore": 30.44550070199121,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0
    },
    {
      "username": "paoloanzn",
      "avatarUrl": "https://avatars.githubusercontent.com/u/201222836?u=d628ac4982cd80572da1abbe16f90e6415972e29&v=4",
      "totalScore": 28.782225198264968,
      "prScore": 28.782225198264968,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0
    },
    {
      "username": "visionpixel",
      "avatarUrl": "https://avatars.githubusercontent.com/u/1027142?v=4",
      "totalScore": 22.179867951399864,
      "prScore": 22.179867951399864,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0
    },
    {
      "username": "standujar",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16385918?u=718bdcd1585be8447bdfffb8c11ce249baa7532d&v=4",
      "totalScore": 4.3,
      "prScore": 0,
      "issueScore": 4.1,
      "reviewScore": 0,
      "commentScore": 0.2
    }
  ],
  "newPRs": 39,
  "mergedPRs": 34,
  "newIssues": 10,
  "closedIssues": 14,
  "activeContributors": 28
}