{
  "interval": {
    "intervalStart": "2025-05-13T00:00:00.000Z",
    "intervalEnd": "2025-05-14T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-05-13 to 2025-05-14, elizaos/eliza had 16 new PRs (10 merged), 3 new issues, and 15 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs62U-wk",
      "title": "Make a publish to npm",
      "author": "samgermain",
      "number": 4562,
      "repository": "elizaos/eliza",
      "body": "I'm trying to update zod to 3.24.2 in another repo, and I can't do it because eliza has some peerDependencies that use zod@3.23.8, and it causes the build to crash\n\nAnyway none of that really matters, but if make a publish to npm I would really appreciate it!",
      "createdAt": "2025-05-13T06:50:43Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs62UyxO",
      "title": "Error from ci activity",
      "author": "K1mc4n",
      "number": 4561,
      "repository": "elizaos/eliza",
      "body": "https://github.com/K1mc4n/eliza/actions/runs/14989227219",
      "createdAt": "2025-05-13T06:28:08Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs62YjPa",
      "title": "does not contain the path  packages/docs/i18n/readme/",
      "author": "K1mc4n",
      "number": 4565,
      "repository": "elizaos/eliza",
      "body": "404 - page not found\nThe \nv2-develop\n\n branch of \neliza\n\n does not contain the path \npackages/docs/i18n/readme/README_PTBR.md.",
      "createdAt": "2025-05-13T12:23:37Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 0
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs6WCKh_",
      "title": "Added : Polygon Plugin",
      "author": "Samarthsinghal28",
      "number": 4573,
      "body": "# Relates to\r\n\r\nIssue: https://github.com/Sifchain/sa-eliza/issues/450\r\n\r\nThis PR relates to the ticket: \"Ticket: Initialize Eliza Plugin Structure and Configuration (Polygon)\" (Part of Epic: Implement Polygon Plugin MVP)\r\n\r\n<!-- This risks section must be filled out before the final review and merge. -->\r\n\r\n# Risks\r\n\r\n*   **Medium: L1 Gas Estimation Inaccuracy:** The current `GasService` primarily uses L2 (PolygonScan) gas oracles. When used for L1 Ethereum transactions (staking, bridging), this can lead to inaccurate gas estimations, potentially causing transactions to be underpriced (fail) or overpriced.\r\n*   **Medium: Missing Heimdall Governance:** The P1 functionality for Polygon-specific governance (interacting with Heimdall) is not implemented. Current governance actions target EVM-based smart contracts. Users expecting native Polygon governance via Heimdall will not find this functionality.\r\n*   **Low: User-Facing `withdrawRewards` Action Stub:** The LLM-enabled `withdrawRewards` action is a non-functional stub. The core logic exists via the programmatic `WITHDRAW_REWARDS_L1` action and the `PolygonRpcService`.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR initializes the foundational structure and boilerplate for the new `@elizaos/plugin-polygon`. It establishes a functional, correctly configured, and buildable plugin skeleton that adheres to current ElizaOS conventions.\r\n\r\nKey functionalities included:\r\n*   **Plugin Core**: `package.json`, TypeScript configuration, main plugin definition (`src/index.ts`) with lifecycle methods, and registration with ElizaOS.\r\n*   **Configuration**: Handles essential configurations like L1/L2 RPC URLs, private key, and PolygonScan API key, with validation using `zod`. Includes `.env.example`.\r\n*   **L1 Staking (Ethereum)**:\r\n    *   `PolygonRpcService` implements interactions with L1 staking contracts (`StakeManager`, `ValidatorShare`) for delegation, undelegation (partial via `sellVoucher_new` in service), reward withdrawal, and fetching validator/delegator information.\r\n    *   User-facing LLM-enabled actions and direct programmatic actions for these operations.\r\n*   **L1 Native Bridge Deposit (Polygon PoS Bridge)**:\r\n    *   `PolygonRpcService` implements deposits to the L1 `RootChainManager` contract.\r\n    *   Actions for initiating bridge deposits.\r\n*   **L2 Interactions (Polygon PoS)**:\r\n    *   Basic L2 interactions like fetching balances, block numbers via `PolygonRpcService`.\r\n    *   Actions for these operations.\r\n*   **Checkpoint Status**:\r\n    *   `PolygonRpcService` implements checks against the L1 `RootChainManager` to verify L2 block checkpoint status.\r\n    *   Actions for this functionality.\r\n*   **EVM-Based Governance Stubs**:\r\n    *   Actions (`PROPOSE_GOVERNANCE_POLYGON`, `VOTE_GOVERNANCE_POLYGON`) are implemented to interact with EVM-compatible governor smart contracts (e.g., OpenZeppelin Governor) using `viem`.\r\n*   **Providers**: Includes a `PolygonWalletProvider` (using `viem`) for EVM wallet interactions and exposing wallet details.\r\n*   **Services**: `PolygonRpcService` (using `ethers.js`) for core L1/L2 EVM logic and `GasService` for L2 gas price fetching (PolygonScan).\r\n*   **Documentation**: A comprehensive `README.md` for the plugin.\r\n\r\n## What kind of change is this?\r\n\r\n<!--\r\nBug fixes (non-breaking change which fixes an issue)\r\nImprovements (misc. changes to existing features)\r\nFeatures (non-breaking change which adds functionality)\r\nUpdates (new versions of included code)\r\n-->\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n<!-- This \"Why\" section is most relevant if there are no linked issues explaining why. If there is a related issue, it might make sense to skip this why section. -->\r\n## Why are we doing this? Any context or related work?\r\n\r\nThis work establishes the dedicated `@elizaos/plugin-polygon` as outlined in the \"Implement Polygon Plugin MVP\" epic. The goal is to create a focused plugin capable of handling Polygon-specific interactions (L1 staking, native bridge, Heimdall governance) that go beyond the scope of a generic EVM plugin. This PR lays the groundwork for these features, with many EVM-based L1/L2 interactions already functional.\r\n\r\n# Documentation changes needed?\r\n\r\n<!--\r\nMy changes do not require a change to the project documentation.\r\nMy changes require a change to the project documentation.\r\nIf documentation change is needed: I have updated the documentation accordingly.\r\n-->\r\nMy changes do not require a change to the project documentation. (The plugin includes its own `README.md` which serves as initial documentation for its features and setup).\r\n\r\n<!-- Please show how you tested the PR. This will really help if the PR needs to be retested and probably help the PR get merged quicker. -->\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n1.  **`packages/plugin-polygon/README.md`**: For an overview of the plugin's intended features and setup.\r\n2.  **`packages/plugin-polygon/src/index.ts`**: For the main plugin definition, configuration handling, and registration of components.\r\n3.  **`packages/plugin-polygon/src/services/PolygonRpcService.ts`**: To understand the core logic for L1 staking, L1 bridging, and L2 interactions.\r\n4.  **`packages/plugin-polygon/src/services/GasService.ts`**: To review the L2 gas oracle integration.\r\n5.  Key action files like `packages/plugin-polygon/src/actions/delegate.ts` (L1 staking) and `packages/plugin-polygon/src/actions/proposeGovernance.ts` (EVM Governance).\r\n\r\n## Detailed testing steps\r\n\r\n<!--\r\nNone: Automated tests are acceptable.\r\n-->\r\nManual testing is recommended for this initial integration, focusing on the implemented P1 functionalities. Automated tests for configuration loading were considered in the ticket but not explicitly verified as present in this review.\r\n\r\n**Setup:**\r\n1.  Navigate to the `packages/plugin-polygon` directory.\r\n2.  Create a `.env` file based on `.env.example`.\r\n3.  Populate the `.env` file with valid:\r\n    *   `POLYGON_RPC_URL` (Polygon PoS RPC endpoint)\r\n    *   `ETHEREUM_RPC_URL` (Ethereum Mainnet RPC endpoint for L1)\r\n    *   `PRIVATE_KEY` (for a wallet with funds on both L1 and L2 for testing)\r\n    *   `POLYGONSCAN_KEY` (API key for PolygonScan)\r\n    *   `HEIMDALL_RPC_URL` (placeholder, as Heimdall features are not yet implemented)\r\n",
      "repository": "elizaos/eliza",
      "createdAt": "2025-05-13T16:43:08Z",
      "mergedAt": null,
      "additions": 11852,
      "deletions": 10
    },
    {
      "id": "PR_kwDOMT5cIs6WDP_w",
      "title": "Issue 451",
      "author": "HarshModi2005",
      "number": 4575,
      "body": "# Ticket: Implement Core EVM RPC Wrappers & Basic Reads (Polygon Plugin)\r\n\r\n**Ticket Type:** Dev Ticket  \r\n**Priority:** P1  \r\n**Epic:** Implement Polygon Plugin MVP  \r\n**Assignee:** Harsh Modi  \r\n**Reporter:** AI Assistant  \r\n**Dependencies:** plugin-setup ticket (relies on initialized structure and configuration)\r\n\r\n## 1. Summary\r\n\r\nThis ticket has been completed. We successfully established the foundational communication layer with Polygon PoS (L2) and Ethereum (L1) networks via JSON-RPC, leveraging the existing functionalities within the @elizaos/plugin-evm. We identified, adapted, and integrated standard EVM RPC wrappers and client setup logic from the EVM plugin into the Polygon plugin's context, and implemented the initial set of basic Polygon-specific read operations using these adapted wrappers.\r\n\r\n## 2. Detailed Description & Completed Tasks\r\n\r\n### Identified and Reused EVM Logic:\r\n- Thoroughly reviewed the @elizaos/plugin-evm implementation, particularly its RPC client implementation using viem.\r\n- Identified core service, provider, and utility functions responsible for blockchain interactions.\r\n- Leveraged the EVM plugin's approach to chain configuration and client initialization.\r\n\r\n### Adapted & Integrated RPC Client Setup:\r\n- Integrated RPC client setup logic into the PolygonRpcProvider class.\r\n- Successfully implemented dual provider management:\r\n  - L1Provider for Ethereum Mainnet (using ETHEREUM_RPC_URL)\r\n  - L2Provider for Polygon PoS network (using POLYGON_RPC_URL)\r\n- Created clear provider selection logic based on network type (L1/L2).\r\n\r\n### Adapted & Integrated RPC Method Wrappers:\r\n- Integrated wrapper functions for standard EVM JSON-RPC methods.\r\n- Refactored these functions to handle dual L1/L2 providers with proper typing.\r\n- Preserved and enhanced error handling with TypeScript type assertions.\r\n- Added caching mechanisms to reduce redundant RPC calls.\r\n\r\n### Implemented Basic Read Functions:\r\n- Successfully implemented all required read functionalities:\r\n  - `getCurrentBlockNumber()`: Returns latest block number from Polygon.\r\n  - `getBlockDetails(identifier)`: Returns detailed block information.\r\n  - `getTransactionDetails(txHash)`: Returns transaction details and receipt.\r\n  - `getNativeBalance(address)`: Returns MATIC balance for an address.\r\n  - `getErc20Balance(tokenAddress, accountAddress)`: Returns token balance.\r\n- Added additional utility functions:\r\n  - `getErc20Metadata(tokenAddress)`: Returns token symbol and decimals.\r\n  - `estimateGas(tx)`: Estimates gas for transactions.\r\n  - `getGasPrice()`: Gets current gas price.\r\n\r\n### Type Definitions:\r\n- Added comprehensive TypeScript interfaces and types.\r\n- Used `as const` for contract ABIs to ensure proper typing.\r\n- Fixed deep type instantiation issues with appropriate type assertions.\r\n\r\n### Testing:\r\n- Created standalone test files that don't depend on @elizaos/core.\r\n- Implemented comprehensive tests for all key functionalities.\r\n- Added proper error handling for expected test failures.\r\n\r\n## 3. Acceptance Criteria (All Met)\r\n\r\n✅ Core RPC client setup logic successfully integrated and adapted to manage distinct L1 (Ethereum) and L2 (Polygon PoS) providers.\r\n\r\n✅ Standard EVM JSON-RPC wrapper functions successfully integrated and functional within the Polygon plugin.\r\n\r\n✅ Functions `getCurrentBlockNumber`, `getBlockDetails`, `getTransactionDetails`, `getNativeBalance`, `getErc20Balance` implemented and functional.\r\n\r\n✅ `getErc20Balance` successfully retrieves the balance for known ERC20 tokens on Polygon (tested with USDC).\r\n\r\n✅ Error handling for RPC communication and invalid inputs is functional.\r\n\r\n✅ Code includes relevant type definitions and adheres to project linting/formatting standards.\r\n\r\n✅ Tests verify the functionality of the core read operations using the adapted wrappers and dual-provider setup.\r\n\r\n## 4. Implementation Details\r\n\r\n### Key Components:\r\n\r\n1. **PolygonRpcProvider**: Core provider class that manages connections to both L1 and L2 networks.\r\n   - Initializes public and wallet clients for both networks.\r\n   - Provides methods for network-specific operations.\r\n   - Implements caching for frequently accessed data.\r\n\r\n2. **PolygonRpcService**: Service layer that exposes provider functionality to the plugin.\r\n   - Extends the Service class from @elizaos/core.\r\n   - Manages provider lifecycle.\r\n   - Provides simplified interfaces for blockchain operations.\r\n\r\n3. **Configuration**: Updated to use configurable RPC URLs.\r\n   - Default URLs set to Infura endpoints.\r\n   - Allows overriding via environment variables or runtime settings.\r\n\r\n### Technical Improvements:\r\n\r\n1. **TypeScript Fixes**:\r\n   - Added `as const` to ERC20 ABI and other contract ABIs.\r\n   - Used type assertions to resolve deep instantiation errors.\r\n   - Fixed sendTransaction method parameter handling.\r\n\r\n2. **Performance Optimizations**:\r\n   - Implemented multi-level caching with configurable expiry times.\r\n   - Reduced redundant RPC calls for frequently accessed data.\r\n\r\n3. **Error Handling**:\r\n   - Enhanced error messages for better debugging.\r\n   - Added proper error type assertions.\r\n   - Implemented graceful fallbacks for common error scenarios.\r\n\r\n## 5. Testing Results\r\n\r\nAll tests pass successfully, verifying:\r\n- RPC connectivity to both Ethereum and Polygon networks\r\n- Block number and details retrieval\r\n- Transaction details retrieval\r\n- Native token balance checking\r\n- ERC20 token interactions (balance and metadata)\r\n- Gas price estimation\r\n\r\n## 6. Next Steps\r\n\r\nThis implementation provides a solid foundation for subsequent features:\r\n- Staking operations on Polygon\r\n- Bridge operations between L1 and L2\r\n- Governance interactions\r\n- Advanced token operations\r\n",
      "repository": "elizaos/eliza",
      "createdAt": "2025-05-13T19:08:31Z",
      "mergedAt": null,
      "additions": 11012,
      "deletions": 1308
    },
    {
      "id": "PR_kwDOMT5cIs6WCvDn",
      "title": "Implement Polygon Gas Oracle Integration",
      "author": "Y4NK33420",
      "number": 4574,
      "body": "\r\n# Relates to\r\n\r\n[Implement Polygon Gas Oracle Integration (Polygon Plugin) #452](https://github.com/Sifchain/sa-eliza/issues/452)\r\n\r\n\r\n# Risks\r\n\r\n**Low**\r\n\r\n*   **External API Dependency:** The primary gas estimation relies on the PolygonScan API. If PolygonScan has an outage or changes its API contract in an unexpected way, the service will use the RPC fallback. The fallback itself depends on the configured Polygon RPC node.\r\n*   **RPC Node Dependency (Fallback):** The fallback mechanism relies on the availability and correctness of the configured Polygon RPC node.\r\n*   **ABI Placeholders:** `PolygonRpcService.ts` currently uses placeholder ABIs (`\"[]\"`) for staking and bridge-related contracts. One line (`await this.stakeManagerContractL1.currentEpoch();`) that would test a contract call during initialization was commented out to prevent errors due to these empty ABIs, this have been fixed in the commit but needs to be commented out to reproduce test results at the moment. This does not affect the `GasService` functionality directly, but it's a known state of a related service.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR implements a robust gas price estimation service for the Polygon (PoS) network within the `plugin-polygon`. The service, `GasService.ts`, fetches gas price recommendations (Safe, Average, Fast priority fees, and Base Fee) primarily from the PolygonScan Gas Oracle API. If the API is unavailable, the API key is missing, or the response is problematic, it gracefully falls back to using the standard `eth_gasPrice` method (via `provider.getFeeData()`) from the configured L2 Polygon RPC node.\r\n\r\nThe service ensures consistent data types (bigint for Wei values) and handles various response formats from PolygonScan, including prioritizing `BaseFee` (in MATIC/ETH) over `suggestBaseFee` (in Gwei) if both are present or one is invalid.\r\n\r\n## What kind of change is this?\r\n\r\n**Features** (non-breaking change which adds functionality)\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\nA good starting point would be `packages/plugin-polygon/src/services/GasService.ts` to understand the core logic, followed by `packages/plugin-polygon/src/services/__tests__/GasService.test.ts` to see how it's tested. Also, review the changes in `packages/plugin-polygon/src/services/PolygonRpcService.ts` for the `getL2Provider()` method and the ABI placeholder modifications.\r\n\r\n## Detailed testing steps\r\n\r\nAutomated integration tests are provided and cover the main scenarios:\r\n\r\n1.  **Successful PolygonScan API fetch and parse:**\r\n    *   Ensures EIP-1559 style fees are fetched and parsed correctly.\r\n    *   Verifies `fallbackGasPrice` is null.\r\n    *   Checks that `estimatedBaseFee` and at least one priority fee tier are valid positive bigints.\r\n2.  **Fallback to RPC `eth_gasPrice` when PolygonScan API key is missing:**\r\n    *   Simulates a missing API key.\r\n    *   Verifies that EIP-1559 fee fields are null.\r\n    *   Ensures `fallbackGasPrice` is a valid positive bigint.\r\n\r\n**To run the tests:**\r\n1. Ensure a root `.env` file is configured with valid `POLYGONSCAN_KEY`, `POLYGON_RPC_URL`, `ETHEREUM_RPC_URL`, and `PRIVATE_KEY`.\r\n2. Navigate to the `packages/plugin-polygon` directory.\r\n3. Run `bun run build` to build the package.\r\n4. Run `npx vitest run --globals src/services/__tests__/GasService.test.ts` to execute the integration tests.\r\n\r\nThe tests include `console.log` output for the fetched estimates in both scenarios, allowing for manual inspection of the live data returned.\r\n",
      "repository": "elizaos/eliza",
      "createdAt": "2025-05-13T17:56:51Z",
      "mergedAt": null,
      "additions": 2345,
      "deletions": 87
    },
    {
      "id": "PR_kwDOMT5cIs6V4_bg",
      "title": "fix: build for plugin discord & service mess after merge conf",
      "author": "0xbbjoker",
      "number": 4552,
      "body": "<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\r\n\r\n## Summary by CodeRabbit\r\n\r\n- **Bug Fixes**\r\n  - Fixed critical issue within the `service.ts` (several methods missing after improper merge conflicts resolution) and client `init`\r\n  - Improved error handling and type safety throughout the Discord plugin to prevent runtime errors with undefined or missing services and attachments.\r\n  - Enhanced robustness in Discord test suites with better null checks and error messages.\r\n  - Fixed issues with message and attachment processing to avoid crashes from unexpected input.\r\n  - Fixed Discord and Anthropic plugin functionality for the \"Eli5\" character in the community manager.\r\n\r\n- **Improvements**\r\n  - Added support for Discord message reactions, including event handling and response capabilities.\r\n  - Enhanced lifecycle management for the Discord service, including clean shutdown procedures.\r\n  - Improved handling of Discord channel types and member lists.\r\n  - Refined message sending logic for better compatibility and error resilience.\r\n\r\n- **Chores**\r\n  - Updated dependencies and TypeScript configuration for stricter type checking and improved module resolution.\r\n  - Adjusted build configuration to generate TypeScript declaration files and bundle dependencies.\r\n\r\n<!-- end of auto-generated comment: release notes by coderabbit.ai -->",
      "repository": "elizaos/eliza",
      "createdAt": "2025-05-12T19:43:20Z",
      "mergedAt": "2025-05-13T11:46:11Z",
      "additions": 537,
      "deletions": 132
    },
    {
      "id": "PR_kwDOMT5cIs6V61wt",
      "title": "fix: Create room API.",
      "author": "ChristopherTrimboli",
      "number": 4558,
      "body": "Morphis team has reported 404 on create room API.\r\n\r\nAPI was not implemented or removed at some point.\r\n\r\nIt is featured in our docs here: https://eliza.how/docs/rest/create-room\r\n\r\nThis PR implements the API spec.\r\n\r\n`entityId` has become optional. Updated the docs.\r\n\r\nCreates rooms with IDs preset, or can be optional and returns `newRoomId`\r\n\r\nTested in POSTMAN:\r\n\r\n![image](https://github.com/user-attachments/assets/b9459406-011f-4a05-b2d9-fcbcabd1d46e)\r\n",
      "repository": "elizaos/eliza",
      "createdAt": "2025-05-13T01:10:06Z",
      "mergedAt": null,
      "additions": 191,
      "deletions": 164
    }
  ],
  "codeChanges": {
    "additions": 1215,
    "deletions": 581,
    "files": 42,
    "commitCount": 57
  },
  "completedItems": [
    {
      "title": "fix: build for plugin discord & service mess after merge conf",
      "prNumber": 4552,
      "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- **Bug Fixes**\r\n  - Fixed critical issue within the `service.ts` (several methods missing after improper merge conflicts resolution) "
    },
    {
      "title": "Remove REST /ping for websocket status checks in client.",
      "prNumber": 4551,
      "type": "other",
      "body": "The /pings were kinda annoying log spam and were not perfectly realtime, like a 5 second lag on connect / reconnect.\r\nWe also didn't even have a proper /ping route, it was 404 and falling back to middleware btw.\r\n\r\nThis PR changes client fr"
    },
    {
      "title": "fix: TEE update for CI",
      "prNumber": 4572,
      "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\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This risks section must be filled out before the final review "
    },
    {
      "title": "fix: add commit sha to CLI cache action",
      "prNumber": 4571,
      "type": "feature",
      "body": "Attempt to fix PRs in CLI tests randomly failing but passing on local and for pushes.\r\n\r\nAdds SHA hash from github commit to bust cache better."
    },
    {
      "title": "fix: update telegram messageManager tests to expect MarkdownV2",
      "prNumber": 4570,
      "type": "bugfix",
      "body": "\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n- **Tests**\n  - Updated test assertions to expect the `parse_mode` option as 'MarkdownV2' for message sending.\n\n<!-- end of auto-generat"
    },
    {
      "title": "feat: support third-party plugin install + added test",
      "prNumber": 4568,
      "type": "feature",
      "body": "1. refactored plugin install code\r\n2. added support for third party plugin installs\r\n3. added tests for it\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n- **New Features**\n  - Added s"
    },
    {
      "title": "chore: back to regular dev command",
      "prNumber": 4566,
      "type": "other",
      "body": ""
    },
    {
      "title": "chore: use latest v2 plugin list",
      "prNumber": 4564,
      "type": "tests",
      "body": ""
    },
    {
      "title": "feat: upgrades to cli agent command",
      "prNumber": 4560,
      "type": "feature",
      "body": "This PR is a focused attempt to improve the elizaos agent cli command. The changes are:\r\n\r\n\r\n**elizaos agent get** \r\n-j/--json wasnt working (it was saving the file instead of of displaying in console json format)\r\n-o/--output wasnt working"
    },
    {
      "title": "chore: enable strict types and adjust guards for plugin-telegram",
      "prNumber": 4559,
      "type": "other",
      "body": "\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n- **Bug Fixes**\n\t- Improved error handling and logging throughout the Telegram plugin to prevent crashes and provide clearer diagnostics"
    }
  ],
  "topContributors": [
    {
      "username": "wtfsayo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4",
      "totalScore": 91.97994630564064,
      "prScore": 91.54194630564064,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.43799999999999994,
      "summary": "wtfsayo: Merged 3 PRs, including #4568 \"feat: support third-party plugin install\" (+413/-211 lines), and modified 128 files with a total of +3371/-1363 lines across 18 commits, demonstrating a strong focus on other work (61%) and tests (17%). Consistently active with daily contributions, emphasizing significant code changes and collaboration."
    },
    {
      "username": "ChristopherTrimboli",
      "avatarUrl": "https://avatars.githubusercontent.com/u/27584221?u=0d816ce1dcdea8f925aba18bb710153d4a87a719&v=4",
      "totalScore": 78.28388809637795,
      "prScore": 46.94388809637794,
      "issueScore": 0,
      "reviewScore": 31,
      "commentScore": 0.33999999999999997,
      "summary": "ChristopherTrimboli: Merged 1 PR (#4571) with significant changes (+123/-94 lines) and is currently working on another PR (#4558) focused on creating a room API. He modified 11 files overall (+301/-251 lines) and has been consistently active with 4 commits today, primarily concentrating on feature work."
    },
    {
      "username": "0xbbjoker",
      "avatarUrl": "https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4",
      "totalScore": 68.46789201543189,
      "prScore": 68.12789201543188,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.33999999999999997,
      "summary": "0xbbjoker: Merged 2 PRs (#4570 and #4559) with a total of +150/-57 lines, focusing primarily on bug fixes and type enforcement. Made significant code changes across 97 files (+7280/-882 lines) with a strong emphasis on bugfix work (62%)."
    },
    {
      "username": "Y4NK33420",
      "avatarUrl": "https://avatars.githubusercontent.com/u/112804719?v=4",
      "totalScore": 45.136641204911996,
      "prScore": 45.136641204911996,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "Y4NK33420: Opened 1 pull request (#4574) for \"Implement Polygon Gas Oracle Integration\" and modified 9 files with a total of 291 additions and 41 deletions, focusing entirely on other work. Maintained a consistent activity pattern, being active every day."
    },
    {
      "username": "Samarthsinghal28",
      "avatarUrl": "https://avatars.githubusercontent.com/u/120447590?v=4",
      "totalScore": 43.5437738965761,
      "prScore": 43.5437738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "Samarthsinghal28: Opened 1 pull request (#4573) titled \"Added : Polygon Plugin\" but has not merged any PRs today. Active on 0 out of 1 days, showing sporadic activity during this period."
    },
    {
      "username": "HarshModi2005",
      "avatarUrl": "https://avatars.githubusercontent.com/u/142230924?u=64e337bbdb6b3aded5943b7e297759e7a3cfc0f0&v=4",
      "totalScore": 43.5437738965761,
      "prScore": 43.5437738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "HarshModi2005: Opened 1 pull request (#4575 \"Issue 451\") and made significant code changes, modifying 34 files with a total of +6112/-1217 lines. The work was primarily focused on other tasks, demonstrating consistent activity with a single commit today."
    },
    {
      "username": "yungalgo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/113615973?u=92e0f29f7e2fbb8ce46ed13c51f692ca803de02d&v=4",
      "totalScore": 35.60226354515842,
      "prScore": 35.60226354515842,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "yungalgo: Merged 1 PR (#4560) with significant changes (+1982/-896 lines) and modified 40 files across 7 commits, focusing on feature work, bug fixes, and refactoring. Maintained a consistent activity pattern, being active every day."
    },
    {
      "username": "harperaa",
      "avatarUrl": "https://avatars.githubusercontent.com/u/1330944?v=4",
      "totalScore": 33.886081573848486,
      "prScore": 33.54608157384848,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.33999999999999997,
      "summary": "harperaa: Merged 1 pull request (#4557) addressing community manager settings with significant changes of +1158/-519 lines. Engaged with the project through 2 comments on pull requests, demonstrating sporadic activity today."
    },
    {
      "username": "HashWarlock",
      "avatarUrl": "https://avatars.githubusercontent.com/u/64296537?u=1d8228a93c06c603e08d438677b3f736d6b1ab22&v=4",
      "totalScore": 33.49650756146648,
      "prScore": 33.49650756146648,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "HashWarlock: Merged 1 PR (#4572) addressing TEE updates for CI with significant changes of +381/-173 lines, while modifying 6 files with a total of +22/-16 lines across 4 commits. The work today was primarily focused on feature development (50%) and bug fixes (25%), demonstrating consistent activity."
    },
    {
      "username": "imholders",
      "avatarUrl": "https://avatars.githubusercontent.com/u/202005793?v=4",
      "totalScore": 23.65222459886074,
      "prScore": 23.65222459886074,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "imholders: Opened 1 pull request (#4567) to \"Add README_MY.md\" and modified 4 files with a total of 205 additions and 1 deletion across 2 commits, demonstrating consistent activity today."
    },
    {
      "username": "Pronoss",
      "avatarUrl": "https://avatars.githubusercontent.com/u/170206917?u=d6951aa21026fb848e923d335622f06c32607e8c&v=4",
      "totalScore": 5.78571895621705,
      "prScore": 5.78571895621705,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "Pronoss: Opened 1 pull request (#4563) to fix typos in `faq-and-support.md`, modified 1 file with a total of 2 lines changed (+2/-2), and maintained a consistent activity pattern by being active today."
    },
    {
      "username": "K1mc4n",
      "avatarUrl": "https://avatars.githubusercontent.com/u/156217571?u=cc94e7743c591f36eaf958d88befa855348bba9d&v=4",
      "totalScore": 4,
      "prScore": 0,
      "issueScore": 4,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "K1mc4n: Opened 2 issues (#4565 and #4561) and made significant code changes, modifying 1323 files with a total of +57892/-24516 lines across 2 commits, demonstrating a major refactoring effort. Active consistently, K1mc4n focused entirely on other work today."
    },
    {
      "username": "samgermain",
      "avatarUrl": "https://avatars.githubusercontent.com/u/29212519?u=fd61622f9ae4f651f49755a1ce0b01e7fb2f31f0&v=4",
      "totalScore": 2,
      "prScore": 0,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "samgermain: Created 1 issue today (#4562 \"Make a publish to npm\" (OPEN)), showing sporadic activity with no other contributions."
    },
    {
      "username": "BinaryBluePeach",
      "avatarUrl": "https://avatars.githubusercontent.com/u/192237769?v=4",
      "totalScore": 0.33999999999999997,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.33999999999999997,
      "summary": null
    }
  ],
  "newPRs": 16,
  "mergedPRs": 10,
  "newIssues": 3,
  "closedIssues": 0,
  "activeContributors": 15
}