{
  "interval": {
    "intervalStart": "2025-11-03T00:00:00.000Z",
    "intervalEnd": "2025-11-04T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-11-03 to 2025-11-04, elizaos/eliza had 1 new PRs (0 merged), 4 new issues, and 4 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs7VlUn6",
      "title": "Entity-level RLS",
      "author": "linear",
      "number": 6112,
      "repository": "elizaos/eliza",
      "body": "",
      "createdAt": "2025-11-03T18:57:35Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7Vh0-B",
      "title": "Points / Leaderboard",
      "author": "borisudovicic",
      "number": 6110,
      "repository": "elizaos/eliza",
      "body": "",
      "createdAt": "2025-11-03T14:50:35Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7Vh0TN",
      "title": "Background tasks",
      "author": "borisudovicic",
      "number": 6109,
      "repository": "elizaos/eliza",
      "body": "",
      "createdAt": "2025-11-03T14:49:50Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7Vh0HW",
      "title": "Parallel actions",
      "author": "borisudovicic",
      "number": 6108,
      "repository": "elizaos/eliza",
      "body": "",
      "createdAt": "2025-11-03T14:49:37Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 0
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs6xNLv_",
      "title": "feat: add ElizaOS reference to runtime",
      "author": "standujar",
      "number": 6111,
      "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\nRelates to #6095 - Unified messaging API\r\n\r\n# Risks\r\n\r\n**Low risk**\r\n\r\nThis change is non-breaking and fully backward compatible:\r\n- Adds optional `elizaOS?` property to runtime (existing code unaffected)\r\n- Only affects plugins that explicitly use `runtime.elizaOS`\r\n- Includes proper cleanup to prevent memory leaks\r\n- Well-tested with plugin-discord integration\r\n\r\nPotential areas affected:\r\n- Runtime lifecycle (addition of ElizaOS reference)\r\n- Memory management (cleanup in `stop()`)\r\n- Plugin development patterns (new unified API access)\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR enables plugins to access the unified messaging API (`elizaOS.sendMessage()`) introduced in #6095 by adding an optional reference to the ElizaOS instance in the runtime.\r\n\r\n**Key changes:**\r\n- Created `IElizaOS` interface for clean abstraction\r\n- Added `elizaOS?: IElizaOS` property to `IAgentRuntime`\r\n- Added `hasElizaOS()` type guard helper\r\n- ElizaOS auto-assigns itself to runtimes during registration\r\n- Added cleanup in `runtime.stop()` to prevent memory leaks\r\n\r\n**Benefits:**\r\n- Plugins can now use `runtime.elizaOS.sendMessage()` for standardized messaging\r\n- Type-safe access with `hasElizaOS()` guard\r\n- Auto-filling, connection management, SYNC/ASYNC modes\r\n- Clean architecture with no circular dependencies\r\n\r\n## What kind of change is this?\r\n\r\n- [x] Features (non-breaking change which adds functionality)\r\n- [x] Improvements (misc. changes to existing features)\r\n\r\n## Why are we doing this?\r\n\r\nThe unified messaging API (#6095) provides a standardized entry point for sending messages to agents, but plugins currently have no way to access it. They must use `messageService.handleMessage()` directly, which bypasses the benefits of the unified API (auto-filling, connection management, callbacks, etc.).\r\n\r\nThis PR solves that by giving the runtime a reference to its parent ElizaOS instance, allowing plugins to call `runtime.elizaOS.sendMessage()` when available, while maintaining a fallback for standalone mode.\r\n\r\n# Documentation changes needed?\r\n\r\n- [x] My changes require a change to the project documentation.\r\n- [ ] If documentation change is needed: I have updated the documentation accordingly.\r\n\r\n**Documentation needed:**\r\n- Plugin development guide should mention `runtime.elizaOS.sendMessage()` API\r\n- Example usage in plugin templates\r\n- Migration guide for existing plugins (optional, recommended)\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n1. Review the architecture: `packages/core/src/types/elizaos.ts` - new interface\r\n2. Check runtime changes: `packages/core/src/types/runtime.ts` and `packages/core/src/runtime.ts`\r\n3. Verify ElizaOS auto-assignment: `packages/core/src/elizaos.ts` lines 158 and 203\r\n4. Look at cleanup: `packages/core/src/runtime.ts` line 384\r\n\r\n## Detailed testing steps\r\n\r\n**Automated:**\r\n- [x] TypeScript compilation passes\r\n- [x] No circular dependencies\r\n- [x] Type safety verified\r\n\r\n**Manual testing (with plugin-discord):**\r\n- [x] Runtime has `elizaOS` reference after initialization\r\n- [x] `hasElizaOS()` returns `true` when ElizaOS is present\r\n- [x] Plugins can call `runtime.elizaOS.sendMessage()` successfully\r\n- [x] Fallback to `messageService.handleMessage()` works when ElizaOS is undefined\r\n- [x] Memory cleanup on `runtime.stop()` works correctly\r\n\r\n**Test with plugin-discord:**\r\n```typescript\r\n// In plugin-discord/src/messages.ts\r\nif (this.runtime.hasElizaOS()) {\r\n  // Uses unified API - confirmed via logs\r\n  await this.runtime.elizaOS.sendMessage(agentId, message, options);\r\n} else {\r\n  // Fallback for standalone\r\n  await this.runtime.messageService.handleMessage(runtime, message, callback);\r\n}\r\n```\r\n\r\nLogs confirm unified API is used:\r\n```\r\nInfo [Discord] Using unified messaging API\r\n```",
      "repository": "elizaos/eliza",
      "createdAt": "2025-11-03T14:51:50Z",
      "mergedAt": null,
      "additions": 349,
      "deletions": 69
    }
  ],
  "codeChanges": {
    "additions": 0,
    "deletions": 0,
    "files": 0,
    "commitCount": 15
  },
  "completedItems": [],
  "topContributors": [
    {
      "username": "standujar",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16385918?u=718bdcd1585be8447bdfffb8c11ce249baa7532d&v=4",
      "totalScore": 75.20892165563964,
      "prScore": 75.00892165563964,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.2,
      "summary": "standujar: Focused on feature development, refactoring, and bug fixes, opening three PRs including a significant feature integration in elizaos-plugins/plugin-discord#24 and a reference addition in elizaos/eliza#6111, while modifying 156 files with 21 commits."
    },
    {
      "username": "madjin",
      "avatarUrl": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4",
      "totalScore": 23.146346309695485,
      "prScore": 23.146346309695485,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "madjin: Focused on configuration updates, merging a PR in elizaos/elizaos.github.io (#169) that updated the pipeline configuration to include 12 active repositories, primarily modifying config files."
    },
    {
      "username": "borisudovicic",
      "avatarUrl": "https://avatars.githubusercontent.com/u/31806472?u=8935f4d43fd7e4eb9bf5ff92d54d4d2f8ac8a786&v=4",
      "totalScore": 6,
      "prScore": 0,
      "issueScore": 6,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "borisudovicic: Focused on identifying and outlining key areas for future development within elizaos/eliza by creating three issues: \"Points / Leaderboard\" (#6110), \"Background tasks\" (#6109), and \"Parallel actions\" (#6108)."
    },
    {
      "username": "0xbbjoker",
      "avatarUrl": "https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4",
      "totalScore": 5,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 5,
      "commentScore": 0,
      "summary": "0xbbjoker: Today, 0xbbjoker focused on other work, making one commit that modified 8 files with a net change of +212 lines, and also provided one approval review."
    },
    {
      "username": "linear",
      "avatarUrl": "https://avatars.githubusercontent.com/in/20150?v=4",
      "totalScore": 2,
      "prScore": 0,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "linear: Focused on identifying new feature development, creating one issue for \"Entity-level RLS\" in elizaos/eliza (#6112)."
    }
  ],
  "newPRs": 1,
  "mergedPRs": 0,
  "newIssues": 4,
  "closedIssues": 0,
  "activeContributors": 4
}