{
  "prompt_name": "developer-update",
  "category": "dev",
  "date": "2025-12-28",
  "generated_text": "# ElizaOS Developer Update (2025-12-22 \u2192 2025-12-28)\n\nThis week was relatively quiet on GitHub (Dec 27\u201328 had **0 merged PRs / 0 new issues**), but it capped off a major set of framework and plugin improvements that landed earlier in the week\u2014especially around **streaming**, **SSE**, **typed events**, and **message handling modernization**. Discord discussions also surfaced a few actionable runtime/Cloud bugs (agent naming, deploy/ECR credentials, streaming UI parity).\n\n---\n\n## 1) Core Framework\n\n### Streaming end-to-end plumbing (core/runtime/server/client)\nCore streaming support was expanded and wired through multiple layers (runtime types, streaming context utilities, server response handlers, client chat rendering). See:\n- Core streaming enhancement: **PR #6212** (multi-package changes)  \n  https://github.com/elizaos/eliza/pull/6212\n\nKey implications for framework developers:\n- New/expanded streaming primitives in `@elizaos/core` (`types/streaming`, `StreamingContext`, helpers in `utils/streaming`).\n- Server messaging endpoints updated to emit progressive tokens/events (aligning with earlier shift to \u201ctrue SSE\u201d rather than polling; see **Issue #5930**).  \n  https://github.com/elizaos/eliza/issues/5930\n\n### Typed custom events for plugins\nCore now supports generic typing for custom event payloads via `registerEvent`, making plugin event contracts type-safe:\n- **PR #6277**: \u201cadd generic type support for custom event handlers\u201d  \n  https://github.com/elizaos/eliza/pull/6277\n\nExample:\n```ts\nimport { type EventPayload } from \"@elizaos/core\";\n\ninterface AgentProgressPayload extends EventPayload {\n  stepId: string;\n  status: \"started\" | \"token\" | \"completed\" | \"error\";\n  token?: string;\n}\n\nruntime.registerEvent<AgentProgressPayload>(\"agent.progress\", (payload) => {\n  if (payload.status === \"token\") process.stdout.write(payload.token ?? \"\");\n});\n```\n\n### Unified API surface (serverless/node)\nA unified API abstraction for serverless Node.js usage landed:\n- **PR #6201**: \u201cUnified API - serverless - nodejs\u201d  \n  https://github.com/elizaos/eliza/pull/6201\n\nThis helps standardize message sending/handling across environments (important if you run agents in serverless or edge-like deployments).\n\n### Message handling modernization (deprecation pressure)\nThe ecosystem continues migrating away from legacy event-based message ingestion (`MESSAGE_RECEIVED`) toward the `messageService` API:\n- **PR #6202**: plugin-sql migration + examples updated to `messageService.handleMessage()`  \n  https://github.com/elizaos/eliza/pull/6202\n\nIf you maintain plugins/examples, treat the old event pathway as **deprecated** and plan to move now (see **Breaking Changes** section).\n\n---\n\n## 2) New Features\n\n### ElizaOS Cloud becomes the default CLI provider (DX + onboarding)\nThe CLI now recommends ElizaOS Cloud as the first/default AI provider, including browser-based login and key provisioning:\n- **PR #6208**: \u201cAdd ElizaOS Cloud as Default AI Provider in CLI\u201d  \n  https://github.com/elizaos/eliza/pull/6208\n\nCLI behavior highlights:\n- `elizaos create` flow prioritizes Cloud provider selection.\n- Login flow opens browser to authenticate and configure API key automatically.\n\nExample CLI flow:\n```bash\nbunx elizaos create my-agent\nbunx elizaos login\nbunx elizaos dev\n```\n\n### Streaming text generation (developer-facing)\nWith core streaming upgrades (PR #6212), clients can render incremental outputs. If your plugin/provider supports streaming, you should pass `stream: true` (exact option name may vary by provider wrapper, but core now exposes the necessary types and streaming context).\n\nIllustrative usage pattern:\n```ts\nconst result = await runtime.model.generateText({\n  prompt,\n  stream: true,\n  onToken(token) {\n    runtime.emit(\"agent.progress\", {\n      stepId: \"reply\",\n      status: \"token\",\n      token,\n    });\n  },\n});\n```\n\n### Roadmap architecture signal: \u201cjeju\u201d distributed cloud + distributed SQLite\nFrom `#core-devs` Discord: Shaw outlined an ambitious \u201c**jeju**\u201d distributed cloud platform intended to run \u201celiza cloud\u201d on top of a fully distributed stack (Vercel AI SDK compatible, K8s+Helm, S3, Redis/Upstash, serverless SQLite), leveraging **TEE** and a distributed KMS (lit-protocol-like key sharding + proof-of-cloud). This is not merged code yet, but it\u2019s a major architectural direction that will likely shape future runtime assumptions (identity, storage, multi-tenant auth, verifiable execution).\n\n---\n\n## 3) Bug Fixes (Critical / High-impact)\n\n### SQL plugin: auto-create local directories + migration correctness\nTwo important stability fixes landed:\n- **PR #6202**: auto-create PGLite directories + migrate examples to new message service API  \n  https://github.com/elizaos/eliza/pull/6202\n- **PR #6215**: optimized pre-1.6.5 migrations, improved RLS handling, schema organization + extensive tests  \n  https://github.com/elizaos/eliza/pull/6215\n\nPractical impact:\n- Less foot-gun around missing `.eliza` / pglite directories (previously caused crashes unless users manually created dirs).\n- Safer upgrades from older schema versions; improved multi-tenant/data-isolation groundwork via RLS test coverage.\n\n### Agent responsiveness regression (MessageBusService)\nEarlier in the week, a critical runtime defect that prevented agents from responding (MessageBusService error) was resolved:\n- **Issue #6140** (closed)  \n  https://github.com/elizaos/eliza/issues/6140\n\n### Discord-reported: agent naming edge cases (needs fix)\nFrom `#coders` Discord: creating agents with names like `\"null\"` or numeric strings (`\"1\"`, `\"69\"`, `\"666\"`) causes save failures or client-side exceptions, while symbols like `\"$\"` work. This strongly suggests an input validation + serialization/pathing bug (e.g., name \u2192 slug \u2192 route param or DB constraint collision).\n- Action item: add server-side validation and canonicalization; ensure UI uses agent **id** as primary key in routes, not name.\n\n### Discord-reported: `elizaos deploy` ECR credentials / repo not found\nAlso from `#coders`: deployments failing with ECR credential/repository resolution errors.\n- Action item: improve AWS/ECR preflight checks in CLI deploy command; emit actionable hints (region/account mismatch, missing repository, expired token).\n\n---\n\n## 4) API Changes (What to update in your code)\n\n### Message ingestion: prefer `messageService.handleMessage()` over legacy events\nThe migration in **PR #6202** updates examples and plugin-sql to the new API. If your integration still relies on `MESSAGE_RECEIVED`, you should move to the message service interface.\n\nBefore (legacy pattern, increasingly brittle):\n```ts\nruntime.on(\"MESSAGE_RECEIVED\", (msg) => { /* ... */ });\n```\n\nAfter (recommended):\n```ts\nawait runtime.messageService.handleMessage({\n  roomId,\n  entityId,\n  text,\n  // attachments, metadata...\n});\n```\n\n### Custom events now support typed payloads\nIf you created custom events previously, you can now strongly type them via generics:\n- **PR #6277**  \n  https://github.com/elizaos/eliza/pull/6277\n\n### SSE / streaming response handlers\nServer-side real-time behavior continues converging on true SSE patterns (vs polling). If you have custom clients, ensure they correctly handle incremental server events and don\u2019t assume a single JSON response payload. Track:\n- **Issue #5930**  \n  https://github.com/elizaos/eliza/issues/5930\n\n---\n\n## 5) Social Media Integrations (Twitter / Telegram / Discord / Farcaster)\n\n### Twitter plugin reliability\n- **plugin-twitter PR #42**: fixes immediate application of posting enablement settings  \n  https://github.com/elizaos-plugins/plugin-twitter/pull/42\n- New issues opened to improve conversation UX (recent conversation default, duplication bugs):  \n  https://github.com/elizaos-plugins/plugin-twitter/issues/6281  \n  https://github.com/elizaos-plugins/plugin-twitter/issues/6282\n\n### Discord plugin refactors + type safety\nLarge refactors and TS fixes improved stability and message handling:\n- **plugin-discord PR #38** (TS errors + refactor)  \n  https://github.com/elizaos-plugins/plugin-discord/pull/38\n- **plugin-discord PR #32** (message handling overhaul)  \n  https://github.com/elizaos-plugins/plugin-discord/pull/32\n- Proposed multi-bot voice architecture (forward-looking):  \n  https://github.com/elizaos-plugins/plugin-discord/pull/36\n\n### Telegram messaging API alignment\nTelegram plugin began aligning to the unified messaging API:\n- **plugin-telegram PR #22**  \n  https://github.com/elizaos-plugins/plugin-telegram/pull/22\n\n### Farcaster (self-hosted)\nRegistry includes a self-hosted Farcaster hub plugin (for more autonomy, fewer third-party dependencies):\n- **registry PR #243**  \n  https://github.com/elizaos-plugins/registry/pull/243\n\n---\n\n## 6) Model Provider Updates (OpenAI / Anthropic / OpenRouter / others)\n\n### OpenAI: streaming support in provider plugin\nProvider-side streaming landed in the OpenAI plugin and is expected to pair with core streaming infrastructure:\n- **plugin-openai PR #21**: streaming support  \n  https://github.com/elizaos-plugins/plugin-openai/pull/21\n\nDiscord also noted a \u201cstreaming broken due to wrong dependencies\u201d period earlier; if you hit regressions, verify your provider plugin versions match the core streaming APIs you\u2019re compiling against.\n\n### Anthropic + OpenRouter streaming work in progress\nStreaming work was initiated across multiple providers to standardize the behavior:\n- **plugin-anthropic PR #12**  \n  https://github.com/elizaos-plugins/plugin-anthropic/pull/12\n- **plugin-openrouter PR #21**  \n  https://github.com/elizaos-plugins/plugin-openrouter/pull/21\n\n---\n\n## 7) Breaking Changes / V1 \u2192 V2 Migration Warnings\n\n### \u26a0\ufe0f Message API migration is effectively mandatory\nIf your code depends on:\n- `MESSAGE_RECEIVED` events\n- legacy message formats that included `serverId` (or other deprecated fields)\n\n\u2026you should migrate now. Related fix that indicates format drift:\n- **PR #6261**: bootstrap format change fix + `initPromise` exposure  \n  https://github.com/elizaos/eliza/pull/6261\n\nRecommended approach:\n- Treat `messageService.handleMessage()` as the canonical ingestion point.\n- Treat stable identifiers (`agentId`, `roomId`, `entityId`) as primary keys; avoid routing/DB operations keyed solely by mutable display names.\n\n### \u26a0\ufe0f Dependency alignment matters (streaming + drizzle)\nThere was an ecosystem-wide dependency bump to resolve `drizzle-orm` conflicts and tooling issues:\n- **PR #6210**  \n  https://github.com/elizaos/eliza/pull/6210\n\nIf you maintain external packages that peer-depend on drizzle or core types, re-check lockfiles and ensure compatible versions.\n\n### Bun is still required for supported workflows\nDiscord reiterated that npm is not the supported path right now; ensure contributors use bun for consistent tooling (`bun.lock`, scripts, CI parity).\n\n---\n\n### References / Pointers\n- Core repo: https://github.com/elizaos/eliza\n- Docs location change (\u201cWhere did packages/docs/ go?\u201d): **Issue #6122**  \n  https://github.com/elizaos/eliza/issues/6122\n- Open token snapshot/migration support issue (Tangem wallet / eligibility): **Issue #6211**  \n  https://github.com/elizaos/eliza/issues/6211",
  "source_references": [
    "2025-12-28\n---\n2025-12-27.md\n---\n# elizaOS Discord - 2025-12-27\n\n## Overall Discussion Highlights\n\n### Token Migration & Tokenomics\n- Users reported issues with AI16z token migration, including \"max amount reached\" errors\n- Only tokens held during a specific snapshot are eligible for migration; newly purchased tokens cannot be migrated\n- DorianD raised concerns about the project's tokenomics strategy, questioning whether ElizaOS would be the native token for the Jeju system\n- Borko indicated that token plans exist but are not being shared externally yet\n\n### Technical Development\n- **Jeju Platform**: Shaw revealed an ambitious distributed cloud platform called \"jeju\" that:\n  - Is fully distributed and compatible with Vercel AI SDK, Kubernetes+Helm, S3, Redis+Upstash, and serverless SQLite\n  - Uses Trusted Execution Environments (TEE) with protection against side-channel attacks\n  - Combines proof-of-cloud and key sharding with a distributed KMS similar to lit protocol\n  - Will have \"eliza cloud\" running on it\n\n- **Distributed SQLite**: Shaw is developing a distributed SQLite database needing a name (proposed options: \"sqlit\", \"sqliite\", \"ShawQLite\", \"sq-lit\")\n\n- **Agent Creation Issues**: DorianD reported problems when creating agents with specific names:\n  - Names like \"null\" or numeric values (\"1\", \"69\", \"666\") either didn't save properly or caused client-side exceptions\n  - \"null\" agents could be edited in the dashboard, but numeric-named agents produced application errors\n  - An agent named \"$\" worked normally\n\n- **Streaming Functionality**: Sayonara added streaming functionality to a component but noted UI issues with multistep interactions compared to \"otaku\"\n\n### Community & Projects\n- A project called Zoria has \"bonded\" and is identified as an Eliza Cloud project\n- Community members discussed the importance of projects identifying themselves as built on \"elizaos cloud\" to help with distribution\n- Users requested access to Eliza Cloud API endpoints, which Odilitime confirmed are available on the site\n\n## Key Questions & Answers\n\n**Token Migration**\n- Q: What does 'max amount reached' mean on the migrator?  \n  A: It means that wallet is not in the snapshot. (Odilitime)\n\n- Q: Are we limited on migration to the amount we had in wallet at the time?  \n  A: As a policy we're not migrating any purchases after snapshot. (Odilitime)\n\n- Q: Is newly-purchased $ai16z eligible for migration ever?  \n  A: As a policy we're not migrating any purchases after snapshot. (Odilitime)\n\n**Development**\n- Q: Where can I find Eliza Cloud API endpoints?  \n  A: They're there on the site. (Odilitime)\n\n- Q: What would be a good name for a distributed SQLite database?  \n  A: \"ShawQLite\" or \"sq-lit\" were suggested. (sayonara)\n\n## Community Help & Collaboration\n\n1. **Token Migration Support**\n   - Helper: Odilitime | Helpee: yikesawjeez\n   - Context: User was confused about \"max amount reached\" error during token migration\n   - Resolution: Explained it means the wallet wasn't in the snapshot and directed user to the appropriate channel for more information\n\n2. **Wallet Connection Issues**\n   - Helper: Omid Sa | Helpee: Tengev\n   - Context: User couldn't see AI16z tokens after connecting Phantom wallet to migration site\n   - Resolution: Directed user to another channel for assistance\n\n3. **Agent Naming Bug Report**\n   - Helper: DorianD | Helpee: Community\n   - Context: Identified bug with agent naming restrictions\n   - Resolution: Discovered that \"null\" and numeric values cause errors when used as agent names, while \"$\" works normally\n\n4. **UI Improvement Collaboration**\n   - Helper: sayonara | Helpee: Stan \u26a1\n   - Context: Added streaming functionality with UI issues for multistep compared to \"otaku\"\n   - Resolution: Stan committed to checking how otaku shows things to improve client chat\n\n## Action Items\n\n### Technical\n- Fix bug where agent names \"null\" or numeric values cause application errors (DorianD)\n- Resolve ECR credentials error during deployment with elizaos deploy command (DorianD)\n- Test the streaming functionality added to component (sayonara)\n- Improve client chat UI for multistep interactions by examining \"otaku\" implementation (Stan \u26a1)\n- Continue development of distributed SQLite database (shaw)\n- Develop \"jeju\" distributed cloud platform compatible with multiple technologies (shaw)\n\n### Documentation\n- Provide clearer access to Eliza Cloud API endpoints (Zoopdrop)\n- Create a dedicated sub-channel for Eliza Cloud projects (MDMnvest)\n- Develop clearer documentation on token utility and how ElizaOS integrates with the project's infrastructure (DorianD)\n- Provide information about migration eligibility criteria and snapshot details (yikesawjeez)\n- Investigate why description field allows empty values despite being required at view level (DorianD)\n\n### Feature\n- Implement identification system for projects built on elizaos cloud to improve community distribution (satsbased)\n- Consider implementing a clearer tokenomics model where the native token is essential to the system's operation (DorianD)\n---\n2025-12-26.md\n---\n# elizaOS Discord - 2025-12-26\n\n## Overall Discussion Highlights\n\n### Project Status & Token Performance\n- ElizaOS is transitioning from a meme coin (AI16Z) to a utility-focused platform\n- Token price has declined 90-98% from ATH, causing investor frustration\n- Top 10 token holders decreased from 89% to 64% of total supply\n- Team is working to regain their X (Twitter) account, considered critical for marketing\n- Community sentiment is mixed - some maintain faith in technical merits while others question token value\n\n### ElizaOS Cloud Development\n- ElizaOS Cloud platform has launched, allowing developers to build and deploy AI agents\n- Several users shared examples of agents created on the platform\n- Some users reported deployment errors (username null error)\n- File upload optimization for agents is currently in development\n- Discussions about implementing a custom SSO solution to unify authentication\n\n### Jeju Network\n- Project appears focused on decentralized hosting and autonomous agents\n- Questions raised about whether Jeju network's token will be $elizaOS\n- A previously mentioned \"life-changing event\" expected around October is still pending\n\n### Technical Issues\n- Streaming functionality broken in the core due to wrong dependencies\n- Multiple PRs in progress to fix issues and improve code quality\n- Some users experiencing application errors when logging into ElizaCloud\n- Issues with Ollama model configuration for agents\n\n## Key Questions & Answers\n\n**Q: Why is ElizaOS token price continuously dropping?**  \nA: Multiple factors including team management issues, whale manipulation, and lack of X (Twitter) presence for marketing.\n\n**Q: What happened with the token migration from AI16Z to ElizaOS?**  \nA: The migration used a snapshot approach which split liquidity and caused confusion, especially for exchange users.\n\n**Q: How is ElizaOS Cloud being used?**  \nA: Developers are building AI agents on it, with examples like a marijuana-themed agent and other projects being shared.\n\n**Q: Is the ElizaOS project dead?**  \nA: No, development continues with ElizaOS Cloud gaining users despite token price issues.\n\n**Q: What's the difference between the project's technical merits and token value?**  \nA: The token can be a bad investment while the technology/project remains valuable.\n\n**Q: Is it possible to upload multiple MD files for an agent?**  \nA: Multiple files should work, and file upload optimization is currently in progress.\n\n**Q: Is one of the goals of Jeju for the agents to be truly decentralized and unstoppable?**  \nA: Yes, decentralized hosting and agents are very much at the heart of the project.\n\n**Q: Can I plug in an AI agent to help me edit videos in DaVinci Resolve Studio?**  \nA: Not directly yet; suggested workaround is to use Gemini's screen share capability for guidance.\n\n**Q: Is it possible to use npm instead of bun?**  \nA: No, users need to continue using bun.\n\n## Community Help & Collaboration\n\n- **The Light** shared multiple examples of successful ElizaCloud deployments to encourage **DorianD** who was experiencing login errors\n- **Biazs** explained to **Serikiki** that significant price recovery is possible even after 90% drops at small market caps\n- **sayonara** suggested using Gemini screen share as an alternative for **Irie_Rubz** who wanted AI assistance with DaVinci Resolve, providing a YouTube link\n- **Odilitime** confirmed to **FenrirFawks** that their Ollama model configuration variable was correct and shared relevant GitHub code\n- **satsbased** suggested using the #build-showcase channel for community members to share their ElizaCloud projects\n\n## Action Items\n\n### Technical\n- Fix application errors when logging into ElizaCloud (DorianD)\n- Implement custom SSO solution to unify authentication and identity (Odilitime)\n- Fix OpenAI streaming functionality (PR #22) (Stan \u26a1)\n- Clean up code, fix issues, and add missing tests (PR #6285) (Stan \u26a1)\n- Address unspecified changes in PR #6286 (sayonara)\n- Fix plugin issues with parsing points and unruggable SDK (FenrirFawks)\n- Resolve agent deployment error with username null (DorianD)\n- Optimize file uploads for agents (Borko)\n- Improve exchange communication for token migrations (averma)\n- Regain X (Twitter) account to improve marketing (satsbased)\n- Develop truly decentralized agents for Jeju network (DorianD)\n\n### Documentation\n- Provide clearer documentation on token utility and value proposition (Alexei)\n- Create better guides for exchanges during migrations (Alexei)\n- Clarify whether Jeju network's token will be $elizaOS (DorianD)\n- Provide updates on the previously mentioned \"life-changing event\" (sayitaintso25)\n\n### Feature\n- Create a process for ElizaCloud developers to showcase their projects (satsbased)\n- Consider Instagram presence to reach younger crypto investors (Alexei)\n- Develop a sentiment analysis AI agent to monitor community feedback (The Light)\n- Integrate AI assistance with DaVinci Resolve (Irie_Rubz)\n---\n2025-12-25.md\n---\n# elizaOS Discord - 2025-12-25\n\n## Overall Discussion Highlights\n\n### Token Migration & Price Concerns\n- Users report significant concerns about the ElizaOS token's continuous price decline, with many reporting 90-95% losses\n- The migration from AI16Z to ElizaOS tokens has been problematic, with technical difficulties and confusion about eligibility\n- Only tokens held at the November 11th snapshot can be migrated, and only from the wallet that held them at that time\n- The token needs to be mintable to support Chainlink CCIP for cross-chain functionality\n- Migration was partly necessary to move away from token2022 which many exchanges won't support\n- Significant concern about potential delisting from Korean exchanges (Bithumb, Coinone, and Korbit) in January\n\n### Project Valuation & Market Position\n- Discussion about ElizaOS's low market valuation (22M FDV) compared to competitors like Pippin (536M) and Virtuals (693M)\n- Community members express frustration about project management, communication issues, and unfulfilled promises\n- Some users maintain that the team's intentions are good and suggest continued development could trigger a \"short squeeze\"\n- Odilitime suggests focusing on long-term plans rather than chasing market trends\n\n### Product Development\n- Shaw proposed splitting Babylon into points and non-points game components\n- Points game could leverage Eliza cloud for inference and authentication, potentially migrating 350,000 users to Eliza cloud\n- Plans to create a crypto version of Babylon integrated with Jeju\n- Cloud rollout mentioned as a step toward implementing tokenomics\n- R0am shared using async agents for maintaining a 40-day streak on tip.md\n\n### Community Sentiment\n- The community appears divided between those who have lost faith in the project and those who believe the underlying technology remains viable\n- Criticism of the migration's execution and subsequent communication as major factors in the project's current struggles\n- Reference to high-profile backers' advice being ignored and long-delayed features\n\n## Key Questions & Answers\n\n**Q: Why does the migration tool show 0 tokens when trying to migrate?**  \nA: You can only migrate tokens held at the time of the November 11th snapshot, and only from the wallet that held them at that time (answered by Alexei)\n\n**Q: Why is the token still mintable after migration?**  \nA: Chainlink CCIP requires the token to be mintable to enable cross-chain functionality (answered by Odilitime)\n\n**Q: Why did the migration happen in the first place?**  \nA: One main technical reason was to move away from token2022 which many exchanges won't support (answered by Odilitime)\n\n**Q: What is the token's use case?**  \nA: Cloud revenues drive buybacks (answered by Odilitime)\n\n**Q: Is it too late for the project to recover?**  \nA: Rabbidfly suggests recovery is possible if they \"keep building\" and get \"a narrative catalyst\"\n\n**Q: How do I remove the cassette animation from my avatar?**  \nA: It's a Discord feature, you can edit your profile and remove it (answered by Odilitime)\n\n**Q: How does R0am maintain their tip.md streak?**  \nA: \"I use async agents and only review when I get home. Then merge and repeat\" (answered by R0am | tip.md)\n\n## Community Help & Collaboration\n\n1. **Migration Support**\n   - Serikiki helped Dabel with migration process confusion and warned about scam messages\n   - Alexei explained to Dabel why migration shows 0 tokens (only tokens held at snapshot date can be migrated)\n   - Omid Sa directed \u0411\u0438\u0437\u043d\u0435\u0441 \u0413\u0443\u0441\u044c to migration help channel and advised importing seed phrases into Phantom wallet\n   - Hexx \ud83c\udf10 warned \u0411\u0438\u0437\u043d\u0435\u0441 \u0413\u0443\u0441\u044c about scam links and advised using Phantom or Solana wallet for migration\n\n2. **Documentation Collaboration**\n   - Odilitime suggested contributors create individual ebooks about their techniques, with plans to combine individual contributions into a comprehensive resource later\n\n## Action Items\n\n### Technical\n- Fix issues with the migration helper bot providing incorrect information (Mentioned by Serikiki)\n- Improve ElizaOS Cloud website UX/UI and documentation (Mentioned by Hidden Forces)\n- Address Korean exchange compliance issues to prevent delisting (Mentioned by gby)\n- Split Babylon into points game and non-points game components (Mentioned by Shaw)\n- Create a crypto version of Babylon integrated with Jeju (Mentioned by Shaw)\n- Continue development of cloud rollout to implement tokenomics (Mentioned by Odilitime)\n\n### Documentation\n- Create clearer documentation about token utility and buyback mechanism (Mentioned by crypto)\n- Provide more transparent information about token distribution post-migration (Mentioned by crypto)\n- Make project roadmap and updates more publicly accessible beyond Discord (Mentioned by DAMONZERA)\n- Improve communication of technical developments in ways the market can better understand (Mentioned by Odilitime)\n- Collect feedback on guide/book before wider distribution (Mentioned by Odilitime)\n\n### Feature\n- Develop stronger token utility beyond buybacks to support price (Mentioned by Serikiki)\n- Conceptualize a fighting game using Eliza IP (Mentioned by The Light)\n- Potential showcase idea for \"eliza cloud\" (Mentioned by agora)\n- Return of \"X\" feature that has been promised since summer (Mentioned by DannyNOR NoFapArc)\n---\n2025-12-27.json\n---\nelizaosDailySummary\n---\nDaily Report - 2025-12-27\n---\nelizaos/eliza GitHub Activity (Dec 27-28, 2025)\n---\nBetween December 27-28, 2025, the elizaos/eliza repository had minimal activity with no new pull requests (0 merged), no new issues, and only 1 active contributor during this period.\n---\ntext\n---\ngithub_summary\n---\nTop Contributors for elizaOS/eliza\n---\nThe provided source only mentions 'Top contributors for elizaOS/eliza' without providing any specific details about who these contributors are or what contributions they have made to the elizaOS/eliza project. Without additional information, it's not possible to provide a detailed summary of the top contributors, their contributions, or their impact on the project.\n---\ntext: Top contributors for elizaOS/eliza\n---\ncontributors\n---\n2025-12-27.md\n---\n# elizaos/eliza GitHub Activity (Dec 27-28, 2025)\n\n- Repository had activity with 1 active contributor during this period\n\n## Top Contributors for elizaOS/eliza\n\n- Contributors were active in the elizaOS/eliza project\n---\n2025-12-27.json\n---\nelizaOS\n---\nelizaOS Discord - 2025-12-27\n---\n1253563209462448241\n---\n\ud83d\udcac-discussion\n---\n# Discord Chat Analysis\n\n## 1. Summary\nThe chat segment shows minimal technical discussion. There's a brief mention of Eliza Cloud API endpoints, with a user named Zoopdrop requesting them and Odilitime responding that they're available on the site. The conversation touches on AI16z token migration issues, with a user named Tengev unable to see their tokens after connecting their Phantom wallet to the migration site. There's mention of a project called Zoria that has \"bonded\" and is identified as an Eliza Cloud project. Community members discuss the importance of projects identifying themselves as built on \"elizaos cloud\" to help with distribution within the community. The chat also contains references to a delayed \"payday,\" potential price movements, and various off-topic conversations.\n\n## 2. FAQ\nQ: Is there minimum or Maximum Ai16z to migrate? (asked by Tengev) A: Unanswered\nQ: Where can I find Eliza Cloud API endpoints? (asked by Zoopdrop) A: they're there on the site (answered by Odilitime)\nQ: Anyone know the veronica dev? (asked by anon) A: Unanswered\n\n## 3. Help Interactions\nHelper: Omid Sa | Helpee: Tengev | Context: User couldn't see AI16z tokens after connecting Phantom wallet to migration site | Resolution: Directed user to another channel (#1425417640071139358)\n\n## 4. Action Items\nTechnical: Description: Provide clearer access to Eliza Cloud API endpoints | Mentioned By: Zoopdrop\nDocumentation: Description: Create a dedicated sub-channel for Eliza Cloud projects | Mentioned By: MDMnvest\nFeature: Description: Implement identification system for projects built on elizaos cloud to improve community distribution | Mentioned By: satsbased\n---\n1300025221834739744\n---\n\ud83d\udcac-coders\n---\n# Analysis of \ud83d\udcac-coders Discord Channel\n\n## 1. Summary\nThe chat segment contains discussions about several technical issues with ElizaCloud/ElizaOS. DorianD encountered problems when creating agents with specific names like \"null\" or numeric values (\"1\", \"69\", \"666\"), which either didn't save properly or caused client-side exceptions. The user noted that while \"null\" agents could be edited in the dashboard, numeric-named agents produced application errors, though an agent named \"$\" worked normally. Additionally, DorianD reported deployment errors when using the CLI tool, specifically related to ECR (Elastic Container Registry) credentials, where the system couldn't find the required repository. Another user (sv) briefly mentioned using Cline for ElizaOS deployment and development, and a user named ryuusei asked about joining the waitlist.\n\n## 2. FAQ\nQ: Does anyone use Cline to deploy and develop ElizaOS? (asked by sv) A: Unanswered\nQ: How to get in the waitlist? (asked by ryuusei) A: Unanswered\n\n## 3. Help Interactions\nHelper: DorianD | Helpee: Community | Context: Identified bug with agent naming restrictions | Resolution: Discovered that \"null\" and numeric values cause errors when used as agent names, while \"$\" works normally\n\n## 4. Action Items\nType: Technical | Description: Fix bug where agent names \"null\" or numeric values cause application errors | Mentioned By: DorianD\nType: Technical | Description: Resolve ECR credentials error during deployment with elizaos deploy command | Mentioned By: DorianD\nType: Technical | Description: Investigate why description field allows empty values despite being required at view level | Mentioned By: DorianD\n---\n1301363808421543988\n---\n\ud83e\udd47-partners\n---\n# Discord Channel Analysis: \ud83e\udd47-partners\n\n## 1. Summary\nThe chat primarily revolves around token migration concerns and broader questions about the project's tokenomics. A user (yikesawjeez) inquired about migration limitations for the $ai16z token, learning that only tokens held during a specific snapshot are eligible for migration, with no migration available for newly purchased tokens. DorianD raised significant concerns about the project's tokenomics strategy, comparing it unfavorably to Ethereum's clear token utility model. They questioned whether ElizaOS would be the native token for the Jeju system, expressing frustration about the lack of clarity regarding how the token integrates with the project's technical infrastructure. DorianD argued that successful projects like Ethereum established clear token utility from the beginning, while projects with shifting tokenomics (like those from Dan Larimar) have been less successful despite potentially similar financial outcomes for their creators. Borko briefly indicated that information about token plans is being withheld for now rather than non-existent.\n\n## 2. FAQ\nQ: What does 'max amount reached' mean on the migrator? (asked by yikesawjeez) A: It means that wallet is not in the snapshot. (answered by Odilitime)\nQ: Are we limited on migration to the amount we had in wallet at the time? (asked by yikesawjeez) A: As a policy we're not migrating any purchases after snapshot. (answered by Odilitime)\nQ: Is newly-purchased $ai16z eligible for migration ever? (asked by yikesawjeez) A: As a policy we're not migrating any purchases after snapshot. (answered by Odilitime)\nQ: Is elizaos going to be the native token of jeju? (asked by DorianD) A: You're mistaking silence for something we're not sharing yet externally. (answered by Borko)\n\n## 3. Help Interactions\nHelper: Odilitime | Helpee: yikesawjeez | Context: User was confused about \"max amount reached\" error during token migration | Resolution: Explained it means the wallet wasn't in the snapshot and that post-snapshot purchases aren't eligible for migration.\nHelper: Odilitime | Helpee: yikesawjeez | Context: User asked where to find more information about migration issues | Resolution: Directed user to another channel (#1425417640071139358) for more detailed information.\n\n## 4. Action Items\nTechnical Tasks: None explicitly mentioned\nDocumentation: Description: Clearer documentation needed on token utility and how ElizaOS integrates with the project's infrastructure | Mentioned By: DorianD\nDocumentation: Description: Provide information about migration eligibility criteria and snapshot details | Mentioned By: yikesawjeez\nFeature: Description: Consider implementing a clearer tokenomics model where the native token is essential to the system's operation | Mentioned By: DorianD\n---\n1377726087789940836\n---\ncore-devs\n---\n# Discord Chat Analysis - \"core-devs\" Channel\n\n## 1. Summary\nThe chat segment covers a brief technical discussion between team members about two main topics. First, sayonara mentions testing and adding streaming functionality to an unspecified component, noting that the UI for multistep interactions is not as good as on \"otaku\". Stan acknowledges this and commits to improving the client chat interface. \n\nThe second and more substantial discussion involves shaw introducing a distributed SQLite database project that needs naming. Shaw proposes names like \"sqlit\" or \"sqliite\" since \"dqlite\" is taken and \"eqlite\" (Ethereum SQLite) doesn't sound appealing. Shaw then reveals a more ambitious project called \"jeju\" - a fully distributed cloud platform compatible with various technologies (Vercel AI SDK, Kubernetes+Helm, S3, Redis+Upstash, serverless SQLite) with \"eliza cloud\" running on it. The system is described as secure and permissionless, using Trusted Execution Environments (TEE) with protection against side-channel attacks through a combination of proof-of-cloud and key sharding with a distributed KMS similar to lit protocol. sayonara suggests alternative names like \"ShawQLite\" and agrees that \"sq-lit\" is a good option.\n\n## 2. FAQ\nQ: What would be a good name for a distributed SQLite database? (asked by shaw) A: \"ShawQLite\" or \"sq-lit\" (answered by sayonara)\n\n## 3. Help Interactions\nHelper: sayonara | Helpee: Stan \u26a1 | Context: Added streaming functionality to an unspecified component with UI issues for multistep compared to \"otaku\" | Resolution: Stan will check how otaku shows things to improve client chat\n\n## 4. Action Items\nTechnical: Test the streaming functionality added by sayonara | Description: Verify the implementation works as expected | Mentioned By: sayonara\nTechnical: Improve client chat UI for multistep interactions | Description: Check how \"otaku\" shows things and enhance the current interface | Mentioned By: Stan \u26a1\nTechnical: Develop distributed SQLite database (currently called \"eqlite\") | Description: A distributed SQLite implementation that's part of the \"jeju\" distributed cloud platform | Mentioned By: shaw\nFeature: Continue development of \"jeju\" distributed cloud platform | Description: Compatible with Vercel AI SDK, K8s+Helm, S3, Redis+Upstash, serverless SQLite | Mentioned By: shaw\n---\n2025-12-27.md\n---\n# elizaOS Discord - 2025-12-27\n\n## Overall Discussion Highlights\n\n### Token Migration & Tokenomics\n- Users reported issues with AI16z token migration, including \"max amount reached\" errors\n- Only tokens held during a specific snapshot are eligible for migration; newly purchased tokens cannot be migrated\n- DorianD raised concerns about the project's tokenomics strategy, questioning whether ElizaOS would be the native token for the Jeju system\n- Borko indicated that token plans exist but are not being shared externally yet\n\n### Technical Development\n- **Jeju Platform**: Shaw revealed an ambitious distributed cloud platform called \"jeju\" that:\n  - Is fully distributed and compatible with Vercel AI SDK, Kubernetes+Helm, S3, Redis+Upstash, and serverless SQLite\n  - Uses Trusted Execution Environments (TEE) with protection against side-channel attacks\n  - Combines proof-of-cloud and key sharding with a distributed KMS similar to lit protocol\n  - Will have \"eliza cloud\" running on it\n\n- **Distributed SQLite**: Shaw is developing a distributed SQLite database needing a name (proposed options: \"sqlit\", \"sqliite\", \"ShawQLite\", \"sq-lit\")\n\n- **Agent Creation Issues**: DorianD reported problems when creating agents with specific names:\n  - Names like \"null\" or numeric values (\"1\", \"69\", \"666\") either didn't save properly or caused client-side exceptions\n  - \"null\" agents could be edited in the dashboard, but numeric-named agents produced application errors\n  - An agent named \"$\" worked normally\n\n- **Streaming Functionality**: Sayonara added streaming functionality to a component but noted UI issues with multistep interactions compared to \"otaku\"\n\n### Community & Projects\n- A project called Zoria has \"bonded\" and is identified as an Eliza Cloud project\n- Community members discussed the importance of projects identifying themselves as built on \"elizaos cloud\" to help with distribution\n- Users requested access to Eliza Cloud API endpoints, which Odilitime confirmed are available on the site\n\n## Key Questions & Answers\n\n**Token Migration**\n- Q: What does 'max amount reached' mean on the migrator?  \n  A: It means that wallet is not in the snapshot. (Odilitime)\n\n- Q: Are we limited on migration to the amount we had in wallet at the time?  \n  A: As a policy we're not migrating any purchases after snapshot. (Odilitime)\n\n- Q: Is newly-purchased $ai16z eligible for migration ever?  \n  A: As a policy we're not migrating any purchases after snapshot. (Odilitime)\n\n**Development**\n- Q: Where can I find Eliza Cloud API endpoints?  \n  A: They're there on the site. (Odilitime)\n\n- Q: What would be a good name for a distributed SQLite database?  \n  A: \"ShawQLite\" or \"sq-lit\" were suggested. (sayonara)\n\n## Community Help & Collaboration\n\n1. **Token Migration Support**\n   - Helper: Odilitime | Helpee: yikesawjeez\n   - Context: User was confused about \"max amount reached\" error during token migration\n   - Resolution: Explained it means the wallet wasn't in the snapshot and directed user to the appropriate channel for more information\n\n2. **Wallet Connection Issues**\n   - Helper: Omid Sa | Helpee: Tengev\n   - Context: User couldn't see AI16z tokens after connecting Phantom wallet to migration site\n   - Resolution: Directed user to another channel for assistance\n\n3. **Agent Naming Bug Report**\n   - Helper: DorianD | Helpee: Community\n   - Context: Identified bug with agent naming restrictions\n   - Resolution: Discovered that \"null\" and numeric values cause errors when used as agent names, while \"$\" works normally\n\n4. **UI Improvement Collaboration**\n   - Helper: sayonara | Helpee: Stan \u26a1\n   - Context: Added streaming functionality with UI issues for multistep compared to \"otaku\"\n   - Resolution: Stan committed to checking how otaku shows things to improve client chat\n\n## Action Items\n\n### Technical\n- Fix bug where agent names \"null\" or numeric values cause application errors (DorianD)\n- Resolve ECR credentials error during deployment with elizaos deploy command (DorianD)\n- Test the streaming functionality added to component (sayonara)\n- Improve client chat UI for multistep interactions by examining \"otaku\" implementation (Stan \u26a1)\n- Continue development of distributed SQLite database (shaw)\n- Develop \"jeju\" distributed cloud platform compatible with multiple technologies (shaw)\n\n### Documentation\n- Provide clearer access to Eliza Cloud API endpoints (Zoopdrop)\n- Create a dedicated sub-channel for Eliza Cloud projects (MDMnvest)\n- Develop clearer documentation on token utility and how ElizaOS integrates with the project's infrastructure (DorianD)\n- Provide information about migration eligibility criteria and snapshot details (yikesawjeez)\n- Investigate why description field allows empty values despite being required at view level (DorianD)\n\n### Feature\n- Implement identification system for projects built on elizaos cloud to improve community distribution (satsbased)\n- Consider implementing a clearer tokenomics model where the native token is essential to the system's operation (DorianD)\n---\n2025-12-28.md\n---\nFile not found\n---\n2025-12-21.md\n---\n# Overall Project Weekly Summary (Dec 21 - 27, 2025)\n\n## Executive Summary\nThis week, the ElizaOS project executed a focused push to enhance platform quality, delivering significant improvements to both user experience and backend stability. We rapidly resolved a large number of UI issues in the agent builder, while simultaneously shipping foundational upgrades for performance, reliability, and developer extensibility across core services and plugins.\n\n### Key Strategic Initiatives & Outcomes\n\n**Refining the User Experience**\n*To make our platform more intuitive and effective for users, we focused on identifying and rapidly resolving interface issues.*\n- A large batch of UI/UX refinements for the agent builder were resolved in [elizaos/eliza](https://github.com/elizaos/eliza), including improvements to button consistency ([#6274](https://github.com/elizaos/eliza/issues/6274)), adding an \"unsaved changes\" warning ([#6275](https://github.com/elizaos/eliza/issues/6275)), and other usability enhancements.\n- A new feature was added to the [elizaos-plugins/plugin-openai](https://github.com/elizaos-plugins/plugin-openai) to support real-time streaming of text generation, making agent interactions feel more immediate and responsive.\n- A new wave of issues was identified across multiple plugins to improve agent chat behavior, such as ensuring the most recent conversation opens by default ([#6281](https://github.com/elizaos-plugins/plugin-twitter/issues/6281)) and fixing conversation duplication bugs ([#6282](https://github.com/elizaos-plugins/plugin-twitter/issues/6282)).\n\n**Strengthening Platform Performance and Stability**\n*To ensure our framework is robust and scalable, we made critical updates to improve system reliability and throughput.*\n- The core platform in [elizaos/eliza](https://github.com/elizaos/eliza) was upgraded to use true Server-Sent Events (SSE), replacing less efficient polling methods for real-time updates ([#5930](https://github.com/elizaos/eliza/issues/5930)).\n- The [elizaos-plugins/plugin-knowledge](https://github.com/elizaos-plugins/plugin-knowledge) repository introduced configurable rate limiting for high-throughput APIs, providing greater control and stability under heavy load ([#49](https://github.com/elizaos-plugins/plugin-knowledge/pull/49)).\n- Significant refactoring and type-safety improvements were completed in the [elizaos-plugins/plugin-discord](https://github.com/elizaos-plugins/plugin-discord) plugin, resolving TypeScript errors and overhauling message handling logic for better stability ([#38](https://github.com/elizaos-plugins/plugin-discord/pull/38), [#32](https://github.com/elizaos-plugins/plugin-discord/pull/32)).\n\n**Improving Developer Experience and Extensibility**\n*To empower our community and accelerate future development, we enhanced the core framework to make it easier to build powerful, type-safe plugins.*\n- The core runtime in [elizaos/eliza](https://github.com/elizaos/eliza) was updated to support generic types for custom event handlers, improving type safety and code clarity for plugin developers ([#6277](https://github.com/elizaos/eliza/pull/6277)).\n- A proposal for a new multi-bot voice architecture was submitted in the [elizaos-plugins/plugin-discord](https://github.com/elizaos-plugins/plugin-discord) repository, paving the way for future support of audio channels ([#36](https://github.com/elizaos-plugins/plugin-discord/pull/36)).\n\n### Cross-Repository Coordination\nThis week highlighted a tight feedback loop between user-facing plugins and the core platform. A coordinated effort to improve the agent builder UI saw numerous issues identified in the `plugin-discord` repository on one day and resolved in the main `elizaos/eliza` repository the next. Additionally, the new streaming text generation feature in `plugin-openai` is now awaiting integration with the main `elizaos` repository, demonstrating how plugin innovations are being prepared for project-wide rollout.\n\n## Repository Spotlights\n\n### elizaos/eliza\n- **UI/UX Overhaul:** A significant number of issues were closed to refine the agent builder and dashboard experience, including redesigning the dashboard as the primary landing page ([#6222](https://github.com/elizaos/eliza/issues/6222)), reducing long loading times ([#6248](https://github.com/elizaos/eliza/issues/6248)), and resolving a large set of UI bugs ([#6270](https://github.com/elizaos/eliza/issues/6270), [#6271](https://github.com/elizaos/eliza/issues/6271), [#6273](https://github.com/elizaos/eliza/issues/6273), [#6275](https://github.com/elizaos/eliza/issues/6275)).\n- **Core Framework Enhancements:** Generic type support was added for custom event handlers to improve developer experience and type safety ([#6277](https://github.com/elizaos/eliza/pull/6277)). The platform was also updated to use true SSE streaming instead of polling ([#5930](https://github.com/elizaos/eliza/issues/5930)).\n- **Bug Fixes:** A critical bug preventing agents from responding due to a `MessageBusService` error was resolved ([#6140](https://github.com/elizaos/eliza/issues/6140)).\n\n### elizaos-plugins/plugin-openai\n- **Streaming Support:** A major feature was added to enable streaming for text generation, allowing for real-time output delivery. This work is awaiting integration with the main ElizaOS repository ([#21](https://github.com/elizaos-plugins/plugin-openai/pull/21)).\n- **New Feature Requests:** New issues were opened to improve user experience, including a proposal to summarize chat names ([#6278](https://github.com/elizaos-plugins/plugin-openai/issues/6278)) and add a user feedback button ([#6280](https://github.com/elizaos-plugins/plugin-openai/issues/6280)).\n\n### elizaos-plugins/plugin-discord\n- **Major Refactoring & Bug Fixes:** The plugin underwent significant maintenance, including resolving TypeScript type errors ([#38](https://github.com/elizaos-plugins/plugin-discord/pull/38), [#37](https://github.com/elizaos-plugins/plugin-discord/pull/37)), overhauling message handling logic ([#32](https://github.com/elizaos-plugins/plugin-discord/pull/32)), and introducing a new permission system ([#34](https://github.com/elizaos-plugins/plugin-discord/pull/34)).\n- **Issue Identification:** A large volume of new issues were opened, primarily focused on refining the agent builder UI/UX ([#6270](https://github.com/elizaos-plugins/plugin-discord/issues/6270)-[#6275](https://github.com/elizaos-plugins/plugin-discord/issues/6275)), which drove rapid development in the main `elizaos/eliza` repository.\n- **Architectural Proposal:** A new multi-bot voice architecture was proposed to support audio channels and progressive updates in the future ([#36](https://github.com/elizaos-plugins/plugin-discord/pull/36)).\n\n### elizaos-plugins/plugin-knowledge\n- **Enhanced API Rate Limiting:** A new feature was merged to add configurable rate limits for high-throughput APIs, improving system stability. The update also increased default limits fivefold to better support demanding use cases ([#49](https://github.com/elizaos-plugins/plugin-knowledge/pull/49)).\n- **New Issues:** Several issues were opened to improve agent chat behavior ([#6281](https://github.com/elizaos-plugins/plugin-knowledge/issues/6281), [#6282](https://github.com/elizaos-plugins/plugin-knowledge/issues/6282)) and fix UI and documentation problems ([#6283](https://github.com/elizaos-plugins/plugin-knowledge/issues/6283), [#6284](https://github.com/elizaos-plugins/plugin-knowledge/issues/6284)).\n\n### elizaos-plugins/plugin-twitter\n- **Bug Fix:** A fix was merged to ensure that changes to posting enablement settings are applied immediately and consistently, improving the reliability of the plugin's core functionality ([#42](https://github.com/elizaos-plugins/plugin-twitter/pull/42)).\n- **Future Work Identified:** New issues were created to address bugs in agent chat behavior ([#6281](https://github.com/elizaos-plugins/plugin-twitter/issues/6281), [#6282](https://github.com/elizaos-plugins/plugin-twitter/issues/6282)) and to improve UI consistency and documentation ([#6283](https://github.com/elizaos-plugins/plugin-twitter/issues/6283), [#6284](https://github.com/elizaos-plugins/plugin-twitter/issues/6284)).\n---\n2025-12-01.md\n---\n# Overall Project Monthly Summary (December 2025)\n\n## Executive Summary\nDecember was a pivotal month focused on strengthening the ElizaOS foundation and strategically expanding its capabilities. We executed a major push to improve core platform stability and defined a clear vision for a future user experience overhaul. Simultaneously, we expanded our agent ecosystem with key Web3 plugins and initiated a coordinated effort to introduce real-time streaming, making our agents more responsive and interactive.\n\n### Key Strategic Initiatives & Outcomes\n\n**Strengthening the Core Platform for Stability and Scale**\nTo support increasingly complex and autonomous agents, we invested heavily in making the underlying framework more robust, secure, and modern.\n-   A major server refactoring was completed in [elizaos/eliza](https://github.com/elizaos/eliza) to optimize the codebase and improve reliability ([#6199](https://github.com/elizaos/eliza/pull/6199)).\n-   Code quality and type safety were significantly enhanced by resolving build errors across the entire `elizaos/eliza` monorepo ([#6218](https://github.comcom/elizaos/eliza/pull/6218)).\n-   A critical security vulnerability in character secret encryption was fixed, ensuring user data is properly protected ([#6217](https://github.comcom/elizaos/eliza/pull/6217)).\n-   Agent autonomy was improved by enhancing how tools interact with memory in the Master Control Program, laying the groundwork for more sophisticated reasoning ([elizaos-plugins/plugin-mcp](https://github.com/elizaos-plugins/plugin-mcp), [#19](https://github.com/elizaos-plugins/plugin-mcp/pull/19)).\n\n**Expanding the Agent Ecosystem into Web3 and Beyond**\nWe continued to execute on our mission to thrive in both Web2 and Web3 by adding powerful new tools for agents to use.\n-   The [elizaos-plugins/registry](https://github.com/elizaos-plugins/registry) was expanded with three new community plugins, adding capabilities for DeFi ([#235](https://github.com/elizaos-plugins/registry/pull/235)), decentralized social media ([#243](https://github.com/elizaos-plugins/registry/pull/243)), and communication ([#242](https://github.com/elizaos-plugins/registry/pull/242)).\n-   The new self-hosted Farcaster plugin is a key step toward greater agent autonomy, allowing agents to connect directly to the network without relying on third-party APIs ([#243](https://github.com/elizaos-plugins/registry/pull/243)).\n\n**Laying the Groundwork for Real-Time, Responsive Agents**\nFor agents to feel truly interactive, they must process and respond to information as it arrives, not just after a long pause.\n-   Work was initiated across multiple plugins to add streaming support, a foundational feature for enabling real-time, conversational AI. This effort included the [OpenAI](https://github.com/elizaos-plugins/plugin-openai) ([#21](https://github.com/elizaos-plugins/plugin-openai/pull/21)), [Anthropic](https://github.com/elizaos-plugins/plugin-anthropic) ([#12](https://github.com/elizaos-plugins/plugin-anthropic/pull/12)), and [OpenRouter](https://github.com/elizaos-plugins/plugin-openrouter) ([#21](https://github.com/elizaos-plugins/plugin-openrouter/pull/21)) plugins.\n\n**Refining the User Experience and Planning for the Future**\nMaking the platform intuitive is key to growing our community. This month, we cleared existing UI issues and laid out a detailed plan for a major user experience overhaul.\n-   A large number of UI/UX issues were resolved in [elizaos/eliza](https://github.com/elizaos/eliza), streamlining the interface by consolidating navigation ([#6173](https://github.com/elizaos/eliza/issues/6173)) and improving visual feedback ([#6235](https://github.com/elizaos/eliza/issues/6235)).\n-   A comprehensive plan for a redesigned dashboard and guided user onboarding was established through the creation of over 20 new strategic issues in [elizaos/eliza](https://github.com/elizaos/eliza) ([#6221](https://github.com/elizaos/eliza/issues/6221), [#6222](https://github.com/elizaos/eliza/issues/6222)).\n-   The developer experience was simplified by making ElizaOS Cloud the default AI provider in the CLI, complete with a new browser-based login flow ([elizaos/eliza](https://github.com/elizaos/eliza), [#6208](https://github.com/elizaos/eliza/pull/6208)).\n\n### Cross-Repository Coordination\nThis month saw a coordinated push to standardize and modernize key functionalities across the ElizaOS ecosystem.\n-   **Unified Streaming Support:** A parallel effort began across the `plugin-openai`, `plugin-anthropic`, and `plugin-openrouter` repositories to implement streaming. This shared initiative will bring more responsive, real-time interactions to agents regardless of the underlying model provider.\n-   **Architectural Alignment:** Following the modernization of core APIs in `elizaos/eliza`, work began in the `plugin-telegram` ([#22](https://github.com/elizaos-plugins/plugin-telegram/pull/22)) and `plugin-discord` ([#32](https://github.com/elizaos-plugins/plugin-discord/pull/32)) plugins to refactor their messaging systems. This alignment ensures all plugins communicate with the core framework in a standardized, more modular way.\n\n## Repository Spotlights\n\n### elizaos/eliza\nThe core repository saw extensive activity focused on stability, user experience, and future planning.\n-   Completed a major server refactoring to optimize the codebase and API structure ([#6199](https://github.com/elizaos/eliza/pull/6199)).\n-   Resolved TypeScript build errors across the monorepo, significantly improving code stability and type safety ([#6218](https://github.com/elizaos/eliza/pull/6218)).\n-   Updated all project dependencies to their latest versions, resolving compatibility issues ([#6210](https://github.com/elizaos/eliza/pull/6210)).\n-   Fixed a critical security bug in character secret encryption ([#6217](https://github.comcom/elizaos/eliza/pull/6217)).\n-   Streamlined the developer experience by making ElizaOS Cloud the default provider in the CLI, adding a new browser-based login flow ([#6208](https://github.com/elizaos/eliza/pull/6208)).\n-   Closed a large batch of UI/UX issues, including consolidating the sidebar ([#6173](https://github.com/elizaos/eliza/issues/6173)) and adding an \"Unsaved Changes\" warning ([#6183](https://github.com/elizaos/eliza/issues/6183)).\n-   Opened over 20 new issues to define a comprehensive overhaul of the dashboard ([#6222](https://github.com/elizaos/eliza/issues/6222)) and agent creation workflow.\n-   Addressed community concerns regarding token snapshot eligibility for Tangem wallet users ([#6158](https://github.com/elizaos/eliza/issues/6158), [#6211](https://github.com/elizaos/eliza/issues/6211)).\n\n### elizaos-plugins/registry\nThe registry was expanded with new plugins, broadening agent capabilities in Web2 and Web3.\n-   Added the Moralis DeFi plugin (`@pyboom/plugin-moralis-v2`) to provide agents with Moralis v2 functionalities ([#235](https://github.com/elizaos-plugins/registry/pull/235)).\n-   Integrated the OpenChat plugin (`@tonyflam/plugin-openchat`) for agent communication ([#242](https://github.com/elizaos-plugins/registry/pull/242)).\n-   Introduced a self-hosted Farcaster plugin (`plugin-farcaster-local-hub`) that removes dependency on third-party APIs ([#243](https://github.com/elizaos-plugins/registry/pull/243)).\n\n### elizaos-plugins/plugin-mcp\nWork focused on foundational improvements for agent memory and tool interaction.\n-   Refactored memory handling by introducing an optional `mcpText` field and updating `handleToolResponse` to return a `Memory` object, enabling more robust agent configuration ([#19](https://github.com/elizaos-plugins/plugin-mcp/pull/19)).\n\n### elizaos-plugins/plugin-openai\nDevelopment began on a key feature for real-time interaction.\n-   Initiated work to add streaming support, opening a pull request to handle continuous data flows from the OpenAI API ([#21](https://github.com/elizaos-plugins/plugin-openai/pull/21)).\n\n### elizaos-plugins/plugin-anthropic\nWork started on enhancing the plugin's real-time capabilities.\n-   A pull request was opened to introduce streaming support, enabling more dynamic and responsive agent communication ([#12](https://github.com/elizaos-plugins/plugin-anthropic/pull/12)).\n\n### elizaos-plugins/plugin-openrouter\nA significant enhancement was proposed to improve responsiveness.\n-   Work began on adding streaming support and refining the plugin's focus by removing tools support ([#21](https://github.com/elizaos-plugins/plugin-openrouter/pull/21)).\n\n### elizaos-plugins/plugin-telegram\nA major architectural refactor was initiated to improve integration with the core framework.\n-   A pull request was opened to implement a unified messaging API, aiming to standardize communication and enhance modularity ([#22](https://github.com/elizaos-plugins/plugin-telegram/pull/22)).\n\n### elizaos-plugins/plugin-discord\nThe plugin's internal architecture was improved for better maintainability.\n-   Work began on refactoring the message handling system to improve its structure and prepare for future enhancements ([#32](https://github.com/elizaos-plugins/plugin-discord/pull/32)).\n\n### elizaos-plugins/plugin-mysql\nActivity focused on user support and documentation clarification.\n-   Resolved an issue by clarifying that documentation has been centralized in the `elizaos/docs` repository ([#6122](https://github.com/elizaos-plugins/plugin-mysql/issues/6122)).\n-   Provided a helpful tip to users that disabling other plugins may be necessary for successful initial table creation ([#1](https://github.com/elizaos-plugins/plugin-mysql/issues/1)).\n---\n{\n  \"interval\": {\n    \"intervalStart\": \"2025-12-01T00:00:00.000Z\",\n    \"intervalEnd\": \"2026-01-01T00:00:00.000Z\",\n    \"intervalType\": \"month\"\n  },\n  \"repository\": \"elizaos/eliza\",\n  \"overview\": \"From 2025-12-01 to 2026-01-01, elizaos/eliza had 30 new PRs (16 merged), 60 new issues, and 22 active contributors.\",\n  \"topIssues\": [\n    {\n      \"id\": \"I_kwDOMT5cIs7V2Buf\",\n      \"title\": \"Where did packages/docs/ go?\",\n      \"author\": \"LinuxIsCool\",\n      \"number\": 6122,\n      \"repository\": \"elizaos/eliza\",\n      \"body\": \"There was always packages/docs/ where did it get moved to?\",\n      \"createdAt\": \"2025-11-04T18:08:54Z\",\n      \"closedAt\": \"2025-12-01T14:35:46Z\",\n      \"state\": \"CLOSED\",\n      \"commentCount\": 2\n    },\n    {\n      \"id\": \"I_kwDOMT5cIs7cPNBC\",\n      \"title\": \".eliza needed or plugin-sql crashes, should autocreate\",\n      \"author\": \"lalalune\",\n      \"number\": 6204,\n      \"repository\": \"elizaos/eliza\",\n      \"body\": \"You can see here, I am building an Eliza agent from scratch\\n\\n```\\nimport { AgentRuntime, type Character, type Plugin } from \\\"@elizaos/core\\\";\\nimport { plugin } from \\\"@elizaos/plugin-sql\\\"\\nimport { openaiPlugin } from \\\"@elizaos/plugin-openai\\\"\\nimport fs from \\\"fs\\\";\\n\\n// if .eliza directory does not exist, create it\\nif (!fs.existsSync(\\\".eliza\\\")) {\\n    fs.mkdirSync(\\\".eliza\\\");\\n}\\n\\nconst character: Character = {\\n    name: \\\"Eliza\\\",\\n    bio: \\\"You are a helpful assistant\\\",\\n};\\n\\nconst plugins: Plugin[] = [\\n    plugin,\\n    openaiPlugin,\\n];\\n\\nconst agent = new AgentRuntime({\\n    character, // need a character to start the agent\\n    plugins // bare minimum is db plugin and inference plugin\\n});\\n\\nagent.initialize().then(() => {\\n    console.log(\\\"Agent initialized\\\");\\n\\n\\n});\\n```\\n\\nIn order to get it to work I have to add\\n```\\nimport fs from \\\"fs\\\";\\n\\n// if .eliza directory does not exist, create it\\nif (!fs.existsSync(\\\".eliza\\\")) {\\n    fs.mkdirSync(\\\".eliza\\\");\\n}\\n```\\n\\nBut this should happen automatically\",\n      \"createdAt\": \"2025-12-04T14:37:44Z\",\n      \"closedAt\": \"2025-12-08T13:17:08Z\",\n      \"state\": \"CLOSED\",\n      \"commentCount\": 1\n    },\n    {\n      \"id\": \"I_kwDOMT5cIs7cwyy7\",\n      \"title\": \"Snapshot Eligibility Issue + Tangem Wallet Connection Not Supported (Discord Support Compromised)\",\n      \"author\": \"pereslavlland\",\n      \"number\": 6211,\n      \"repository\": \"elizaos/eliza\",\n      \"body\": \"Hi ElizaOS team,\\n\\nI\u2019m trying to complete the AI16Z \u2192 ElizaOS migration, but I\u2019m running into two major issues and Discord support has become unreliable due to impersonators. I need help from the real development team to determine the correct path.\\n\\nMy situation:\\n\\n\u2022 I purchased AI16Z tokens on Oct 26 using my Phantom wallet.\\n\u2022 I then moved them to my Tangem wallet for safety.\\n\u2022 On Nov 11 (snapshot date), the tokens were held inside my Tangem wallet.\\n\u2022 The migration portal shows my Phantom wallet as \u201c0 eligible\u201d (expected since Phantom didn\u2019t hold them during snapshot).\\n\u2022 I cannot connect my Tangem wallet to the migration portal because WalletConnect does not support Tangem.\\n\u2022 My Tangem wallet was created using key cards only, so I do not have a seed phrase to export into Phantom.\\n\\nThe Discord server is currently compromised \u2014 multiple impersonators posing as support are entering tickets and attempting to direct users to send tokens manually. Because of this, I cannot rely on Discord support or email responses that appear to be spoofed.\\n\\nWhat I need from the real team:\\n\\nConfirmation of whether Tangem-held tokens during the snapshot are eligible for migration.\\nWhether a manual backend whitelist update is possible so my Phantom wallet can perform migration safely.\\nIf not, what the official and safe method is for users whose eligible snapshot wallet cannot connect to the portal (Tangem case).\\nAny announcements regarding potential whitelist updates or support for non-exportable wallets.\\nI have NOT sent my tokens anywhere and I have NOT interacted with any unofficial links. My tokens are safe. I\u2019m only seeking official guidance from the verifiable team here on GitHub.\\n\\nThank you \u2014 I appreciate your time. I prefer to resolve this safely through GitHub to avoid Discord impersonation issues.\\n\\nActivity\\n\",\n      \"createdAt\": \"2025-12-07T18:00:25Z\",\n      \"closedAt\": null,\n      \"state\": \"OPEN\",\n      \"commentCount\": 1\n    },\n    {\n      \"id\": \"I_kwDOMT5cIs7f1hdp\",\n      \"title\": \"Create Agent Button should be same in My Agents and Dashboard\",\n      \"author\": \"borisudovicic\",\n      \"number\": 6274,\n      \"repository\": \"elizaos/eliza\",\n      \"body\": \"\",\n      \"createdAt\": \"2025-12-22T22:00:52Z\",\n      \"closedAt\": \"2025-12-23T14:53:55Z\",\n      \"state\": \"CLOSED\",\n      \"commentCount\": 1\n    },\n    {\n      \"id\": \"I_kwDOMT5cIs7f1hHH\",\n      \"title\": \"Move avatar button to #4 in agent builder\",\n      \"author\": \"borisudovicic\",\n      \"number\": 6273,\n      \"repository\": \"elizaos/eliza\",\n      \"body\": \"\",\n      \"createdAt\": \"2025-12-22T22:00:19Z\",\n      \"closedAt\": \"2025-12-23T14:53:55Z\",\n      \"state\": \"CLOSED\",\n      \"commentCount\": 1\n    }\n  ],\n  \"topPRs\": [\n    {\n      \"id\": \"PR_kwDOMT5cIs64E0uE\",\n      \"title\": \"Eliza Cloud Integration, add MCP + A2A service starter, integrate CLI and starter projects tight\",\n      \"author\": \"lalalune\",\n      \"number\": 6216,\n      \"body\": \"The goal of this PR is to tightly integrate the elizaos cloud plugin, which now can use cloud as a db and storage provider, and encourage users through the CLI to get up and running with elizaos cloud. CLI should auto log them in, provision API key and make sure project is set up.\\r\\n\\r\\nPlease thoroughly review and understand the create -> deploy -> publish and monetize flow, may still need some work\",\n      \"repository\": \"elizaos/eliza\",\n      \"createdAt\": \"2025-12-10T07:26:45Z\",\n      \"mergedAt\": null,\n      \"additions\": 9989,\n      \"deletions\": 101\n    },\n    {\n      \"id\": \"PR_kwDOMT5cIs630tVJ\",\n      \"title\": \"Shaw/chore/deslop\",\n      \"author\": \"lalalune\",\n      \"number\": 6213,\n      \"body\": \"This PR removes a lot of slop\\r\\n\\r\\n- Fixes any and unknown and cast types with real types\\r\\n- Removes try catch\\r\\n- Removes sloppy comments\\r\\n- Removes dead files and code\",\n      \"repository\": \"elizaos/eliza\",\n      \"createdAt\": \"2025-12-09T03:59:26Z\",\n      \"mergedAt\": \"2025-12-09T06:22:34Z\",\n      \"additions\": 9246,\n      \"deletions\": 7105\n    },\n    {\n      \"id\": \"PR_kwDOMT5cIs64kuni\",\n      \"title\": \"Main\",\n      \"author\": \"DevGruGold\",\n      \"number\": 6220,\n      \"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 and merge. -->\\r\\n\\r\\n# Risks\\r\\n\\r\\n<!--\\r\\nLow, medium, large. List what kind of risks and what could be affected.\\r\\n-->\\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\\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\\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<!--\\r\\n## Why are we doing this? Any context or related work?\\r\\n-->\\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\\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\\n## Detailed testing steps\\r\\n\\r\\n<!--\\r\\nNone: Automated tests are acceptable.\\r\\n-->\\r\\n\\r\\n<!--\\r\\n- As [anon/admin], go to [link]\\r\\n\u00a0 - [do action]\\r\\n\u00a0 - verify [result]\\r\\n-->\\r\\n\\r\\n<!-- If there is a UI change, please include before and after screenshots or videos. This will speed up PRs being merged. It is extra nice to annotate screenshots with arrows or boxes pointing out the differences. -->\\r\\n<!--\\r\\n## Screenshots\\r\\n### Before\\r\\n### After\\r\\n-->\\r\\n\\r\\n<!-- If there is anything about the deployment, please make a note. -->\\r\\n<!--\\r\\n# Deploy Notes\\r\\n-->\\r\\n\\r\\n<!-- \u00a0Copy and paste command line output. -->\\r\\n<!--\\r\\n## Database changes\\r\\n-->\\r\\n\\r\\n<!-- \u00a0Please specify deploy instructions if there is something more than the automated steps. -->\\r\\n<!--\\r\\n## Deployment instructions\\r\\n-->\\r\\n\\r\\n<!-- If you are on Discord, please join https://discord.gg/ai16z and state your Discord username here for the contributor role and join us in #development-feed -->\\r\\n<!--\\r\\n## Discord username\\r\\n\\r\\n-->\\r\\n\",\n      \"repository\": \"elizaos/eliza\",\n      \"createdAt\": \"2025-12-12T14:04:11Z\",\n      \"mergedAt\": null,\n      \"additions\": 6952,\n      \"deletions\": 840\n    },\n    {\n      \"id\": \"PR_kwDOMT5cIs620Si3\",\n      \"title\": \"feat(auth): implement JWT authentication and user management\",\n      \"author\": \"standujar\",\n      \"number\": 6200,\n      \"body\": \"## Relates to\\r\\n\\r\\n- Data isolation / multi-entity support\\r\\n- External JWT provider integration (Privy, Auth0, Clerk, Supabase, Google, Embbeded)\\r\\n\\r\\n## Risks\\r\\n\\r\\n**Low**\\r\\n\\r\\n- Requires `ENABLE_DATA_ISOLATION=true` to activate JWT auth mode\\r\\n\\r\\n## Background\\r\\n\\r\\n### What does this PR do?\\r\\n\\r\\nImplements a complete JWT authentication system for ElizaOS with support for multiple verification strategies:\\r\\n\\r\\n1. **JWT Verifier Factory** - Priority-based verifier selection:\\r\\n   - Ed25519 (highest priority) - For self-signed JWTs with Ed25519 keys\\r\\n   - JWKS (medium priority) - For external providers (Auth0, Clerk, Privy, Supabase, Google)\\r\\n   - Secret (lowest priority) - For simple HS256 symmetric key verification\\r\\n\\r\\n2. **Entity ID derivation from JWT `sub` claim**:\\r\\n   - `entityId = stringToUuid(payload.sub)`\\r\\n   - Compatible with ANY JWT provider since `sub` is a standard claim\\r\\n   - No custom claims needed in external JWTs\\r\\n\\r\\n3. **Dual authentication modes**:\\r\\n   - `ENABLE_DATA_ISOLATION=true` \u2192 JWT authentication required\\r\\n   - `ENABLE_DATA_ISOLATION=false` \u2192 X-Entity-Id header (legacy mode)\\r\\n\\r\\n4. **Internal service bypass** - Process-local UUID secret for service-to-service calls\\r\\n\\r\\n5. **Credentials-based auth endpoints** (`/api/auth/*`) - only in custom - JWT-SECRET mode:\\r\\n   - `POST /register` - User registration with bcrypt password hashing\\r\\n   - `POST /login` - User login with JWT generation\\r\\n   - `POST /refresh` - Token refresh\\r\\n   - `GET /me` - Current user info\\r\\n\\r\\n6. **Client UI default implementation using self mode (Secret)\\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## Architecture\\r\\n\\r\\n```\\r\\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\\r\\n\u2502                    JWT Verification Flow                         \u2502\\r\\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\r\\n\u2502  Request with Bearer token                                       \u2502\\r\\n\u2502       \u2193                                                          \u2502\\r\\n\u2502  JWTVerifierFactory.create()                                     \u2502\\r\\n\u2502       \u2193                                                          \u2502\\r\\n\u2502  Priority: Ed25519 > JWKS > Secret > Disabled                   \u2502\\r\\n\u2502       \u2193                                                          \u2502\\r\\n\u2502  verifier.verify(token)                                          \u2502\\r\\n\u2502       \u2193                                                          \u2502\\r\\n\u2502  Extract payload.sub                                             \u2502\\r\\n\u2502       \u2193                                                          \u2502\\r\\n\u2502  entityId = stringToUuid(sub)  \u2190 Derived, NOT stored in JWT     \u2502\\r\\n\u2502       \u2193                                                          \u2502\\r\\n\u2502  req.entityId = entityId                                         \u2502\\r\\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\\r\\n```\\r\\n\\r\\n## Environment Variables\\r\\n\\r\\n| Variable | Description | Example |\\r\\n|----------|-------------|---------|\\r\\n| `ENABLE_DATA_ISOLATION` | Enable JWT auth mode | `true` |\\r\\n| `JWT_SECRET` (optional) | HS256 symmetric secret | `your-secret-key` |\\r\\n| `JWT_PUBLIC_KEY_ED25519` (optional) | Ed25519 public key (base64) | `MCowBQYDK2Vw...` |\\r\\n| `JWT_JWKS_URI` (optional) | JWKS endpoint URL | `https://auth0.com/.well-known/jwks.json` |\\r\\n| `JWT_ISSUER_WHITELIST` (optional) | Allowed issuers (comma-separated) | `https://auth0.com/,https://clerk.dev` |\\r\\n\\r\\n## Documentation changes needed?\\r\\n\\r\\nYes - Documentation should be added for:\\r\\n- Environment variable configuration\\r\\n- External provider setup (Auth0, Clerk, Privy examples)\\r\\n\\r\\n## Testing\\r\\n\\r\\n### Where should a reviewer start?\\r\\n\\r\\n1. `packages/server/src/services/jwt-verifiers/factory.ts` - Core factory logic\\r\\n2. `packages/server/src/middleware/jwtMiddleware.ts` - HTTP middleware\\r\\n3. `packages/server/src/socketio/index.ts` - SocketIO authentication\\r\\n\\r\\n### Detailed testing steps\\r\\n\\r\\n**Unit Tests:**\\r\\n```bash\\r\\ncd packages/server\\r\\nbun run test:unit\\r\\n```\\r\\n\\r\\n**Integration Tests:**\\r\\n```bash\\r\\ncd packages/server\\r\\nbun run test:integration\\r\\n```\\r\\n\\r\\n**Results:** 489 unit tests pass, 6 integration test files pass\\r\\n\\r\\n### Manual Testing\\r\\n\\r\\n1. **Test with JWT_SECRET (HS256):**\\r\\n```bash\\r\\nENABLE_DATA_ISOLATION=true JWT_SECRET=test-secret bun run dev\\r\\n```\\r\\n\\r\\n2. **Register a user:**\\r\\n```bash\\r\\ncurl -X POST http://localhost:3000/api/auth/register \\\\\\r\\n  -H \\\"Content-Type: application/json\\\" \\\\\\r\\n  -d '{\\\"email\\\":\\\"test@example.com\\\",\\\"username\\\":\\\"testuser\\\",\\\"password\\\":\\\"password123\\\"}'\\r\\n```\\r\\n\\r\\n3. **Use returned token:**\\r\\n```bash\\r\\ncurl http://localhost:3000/api/agents \\\\\\r\\n  -H \\\"Authorization: Bearer <token>\\\"\\r\\n```\\r\\n\\r\\n## External Provider Compatibility\\r\\n\\r\\nTested JWT formats:\\r\\n- **Auth0**: `sub: \\\"auth0|1234567890\\\"`\\r\\n- **Clerk**: `sub: \\\"user_2abcdefgh123456\\\"`\\r\\n- **Google**: `sub: \\\"1234567890\\\"` with `email`, `email_verified`\\r\\n- **Supabase**: `sub: \\\"uuid\\\"` with `role: \\\"authenticated\\\"`\\r\\n- **Privy**: `sub: \\\"did:privy:...\\\"`\\r\\n\\r\\nAll providers work because we only require the standard `sub` claim.\\r\\n\\r\\n## Next Idea Steps: Access Control Layer (ACL)\\r\\n\\r\\nThe next phase will add access control on agents and rooms: \\r\\n\\r\\nAgents:\\r\\n- Each user can create their own agents (ownerId = entityId)\\r\\n- Visibility: public or private\\r\\n- Private = only the owner can chat with it\\r\\n- Public = everyone can chat, but only the owner can modify/delete\\r\\n\\r\\nRooms:\\r\\n- Each room has an owner\\r\\nOnly the owner can:\\r\\n- Delete the room (DELETE /rooms/:id)\\r\\n- Clear message history (DELETE /rooms/:id/messages)\\r\\n- Change visibility\\r\\n\\r\\nThis will enable true multi-tenant mode where each user manages their resources in isolation.\",\n      \"repository\": \"elizaos/eliza\",\n      \"createdAt\": \"2025-12-03T11:55:47Z\",\n      \"mergedAt\": null,\n      \"additions\": 6072,\n      \"deletions\": 354\n    },\n    {\n      \"id\": \"PR_kwDOMT5cIs64fjY5\",\n      \"title\": \"Main\",\n      \"author\": \"DevGruGold\",\n      \"number\": 6219,\n      \"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 and merge. -->\\r\\n\\r\\n# Risks\\r\\n\\r\\n<!--\\r\\nLow, medium, large. List what kind of risks and what could be affected.\\r\\n-->\\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\\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\\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<!--\\r\\n## Why are we doing this? Any context or related work?\\r\\n-->\\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\\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\\n## Detailed testing steps\\r\\n\\r\\n<!--\\r\\nNone: Automated tests are acceptable.\\r\\n-->\\r\\n\\r\\n<!--\\r\\n- As [anon/admin], go to [link]\\r\\n\u00a0 - [do action]\\r\\n\u00a0 - verify [result]\\r\\n-->\\r\\n\\r\\n<!-- If there is a UI change, please include before and after screenshots or videos. This will speed up PRs being merged. It is extra nice to annotate screenshots with arrows or boxes pointing out the differences. -->\\r\\n<!--\\r\\n## Screenshots\\r\\n### Before\\r\\n### After\\r\\n-->\\r\\n\\r\\n<!-- If there is anything about the deployment, please make a note. -->\\r\\n<!--\\r\\n# Deploy Notes\\r\\n-->\\r\\n\\r\\n<!-- \u00a0Copy and paste command line output. -->\\r\\n<!--\\r\\n## Database changes\\r\\n-->\\r\\n\\r\\n<!-- \u00a0Please specify deploy instructions if there is something more than the automated steps. -->\\r\\n<!--\\r\\n## Deployment instructions\\r\\n-->\\r\\n\\r\\n<!-- If you are on Discord, please join https://discord.gg/ai16z and state your Discord username here for the contributor role and join us in #development-feed -->\\r\\n<!--\\r\\n## Discord username\\r\\n\\r\\n-->\\r\\n\",\n      \"repository\": \"elizaos/eliza\",\n      \"createdAt\": \"2025-12-12T05:13:08Z\",\n      \"mergedAt\": null,\n      \"additions\": 5104,\n      \"deletions\": 662\n    }\n  ],\n  \"codeChanges\": {\n    \"additions\": 14208,\n    \"deletions\": 6084,\n    \"files\": 287,\n    \"commitCount\": 205\n  },\n  \"completedItems\": [\n    {\n      \"title\": \"fix: markdown spacing compact\",\n      \"prNumber\": 6159,\n      \"type\": \"bugfix\",\n      \"body\": \"# Relates to\\r\\n\\r\\nFixes excessive vertical spacing in AI-generated markdown responses in the ElizaOS client UI.\\r\\n\\r\\n# Risks\\r\\n\\r\\n**Low Risk**\\r\\n\\r\\n- Only CSS changes affecting markdown content rendering\\r\\n- Uses well-supported CSS features (Chrome \",\n      \"files\": [\n        \"packages/client/src/components/ai-elements/response.tsx\",\n        \"packages/client/src/index.css\"\n      ]\n    },\n    {\n      \"title\": \"refactor(server): optimization and reorganization\",\n      \"prNumber\": 6199,\n      \"type\": \"refactor\",\n      \"body\": \"# Risks\\r\\n\\r\\n**Low to Medium**\\r\\n\\r\\n- Socket.IO configuration changes may affect existing client connections (tested with multiple browsers)\\r\\n- Code reorganization changes import paths - all imports have been updated and verified\\r\\n\\r\\n# Backgroun\",\n      \"files\": [\n        \"bun.lock\",\n        \"packages/server/src/__tests__/builders/channel.builder.ts\",\n        \"packages/server/src/__tests__/builders/message.builder.ts\",\n        \"packages/server/src/__tests__/integration/agent-server-interaction.test.ts\",\n        \"packages/server/src/__tests__/integration/database-operations.test.ts\",\n        \"packages/server/src/__tests__/integration/message-bus-service.test.ts\",\n        \"packages/server/src/__tests__/unit/api/crud-uuid.test.ts\",\n        \"packages/server/src/__tests__/unit/api/jobs.test.ts\",\n        \"packages/server/src/__tests__/unit/features/socketio-router.test.ts\",\n        \"packages/server/src/__tests__/unit/services/message-bus-compatibility.test.ts\",\n        \"packages/server/src/__tests__/unit/utils/loader-uuid.test.ts\",\n        \"packages/server/src/__tests__/unit/utils/loader.test.ts\",\n        \"packages/server/src/api/index.ts\",\n        \"packages/server/src/api/messaging/channels.ts\",\n        \"packages/server/src/api/messaging/core.ts\",\n        \"packages/server/src/api/messaging/jobs.ts\",\n        \"packages/server/src/api/messaging/messageServers.ts\",\n        \"packages/server/src/api/messaging/sessions.ts\",\n        \"packages/server/src/api/shared/uploads/index.ts\",\n        \"packages/server/src/index.ts\",\n        \"packages/server/src/services/index.ts\",\n        \"packages/server/src/services/loader.ts\",\n        \"packages/server/src/services/message-bus.ts\",\n        \"packages/server/src/services/message.ts\",\n        \"packages/server/src/socketio/index.ts\",\n        \"packages/server/src/types/server.ts\",\n        \"packages/server/src/utils/config.ts\",\n        \"packages/server/src/utils/index.ts\",\n        \"packages/server/src/utils/media-transformer.ts\",\n        \"packages/server/src/utils/upload.ts\"\n      ]\n    },\n    {\n      \"title\": \"fix(client): improve markdown content spacing\",\n      \"prNumber\": 6197,\n      \"type\": \"bugfix\",\n      \"body\": \"This PR includes two fixes for markdown content spacing in the client:\\n\\n1. Add missing heading and separator spacing to markdown-content\\n2. Reduce blockquote vertical spacing for more compact display\\n\\nThese changes improve the visual consis\",\n      \"files\": [\n        \"packages/client/src/index.css\"\n      ]\n    },\n    {\n      \"title\": \"feat: Unified API - serverless - nodejs\",\n      \"prNumber\": 6201,\n      \"type\": \"feature\",\n      \"body\": \"\",\n      \"files\": [\n        \"bun.lock\",\n        \"packages/core/src/__tests__/elizaos-sendmessage.test.ts\",\n        \"packages/core/src/__tests__/elizaos.test.ts\",\n        \"packages/core/src/elizaos.ts\",\n        \"packages/core/src/types/elizaos.ts\"\n      ]\n    },\n    {\n      \"title\": \"fix(examples): respect user LOG_LEVEL in standalone-cli-chat\",\n      \"prNumber\": 6203,\n      \"type\": \"bugfix\",\n      \"body\": \"\",\n      \"files\": [\n        \"examples/standalone-cli-chat.ts\"\n      ]\n    },\n    {\n      \"title\": \"fix(plugin-sql): migrate to messageService API and auto-create PGLite directories\",\n      \"prNumber\": 6202,\n      \"type\": \"bugfix\",\n      \"body\": \"## Summary\\n\\nThis PR modernizes the standalone example files and improves the SQL plugin's directory handling by:\\n1. Migrating examples from the deprecated `MESSAGE_RECEIVED` event system to the new `messageService.handleMessage()` API\\n2. Ad\",\n      \"files\": [\n        \"examples/standalone-cli-chat.ts\",\n        \"examples/standalone.ts\",\n        \"packages/plugin-sql/src/__tests__/unit/directory-creation.test.ts\",\n        \"packages/plugin-sql/src/index.node.ts\",\n        \"packages/plugin-sql/src/index.ts\"\n      ]\n    },\n    {\n      \"title\": \"feat: Add ElizaOS Cloud as Default AI Provider in CLI\",\n      \"prNumber\": 6208,\n      \"type\": \"feature\",\n      \"body\": \"## Add ElizaOS Cloud as Default AI Provider in CLI\\n\\n### Summary\\n- Add **ElizaOS Cloud** as the first/recommended option in `elizaos create` AI model selection\\n- Integrate browser-based login flow for seamless API key setup\\n- Fix env variabl\",\n      \"files\": [\n        \"bun.lock\",\n        \"packages/cli/src/commands/create/actions/setup.ts\",\n        \"packages/cli/src/commands/create/utils/selection.ts\",\n        \"packages/cli/src/commands/deploy/utils/api-client.ts\",\n        \"packages/cli/src/commands/login/README.md\",\n        \"packages/cli/src/commands/login/actions/login.ts\",\n        \"packages/cli/src/utils/get-config.ts\",\n        \"packages/cli/tests/commands/create.test.ts\",\n        \"packages/cli/tests/unit/utils/elizacloud-config.test.ts\",\n        \"packages/cli/tests/unit/utils/selection.test.ts\"\n      ]\n    },\n    {\n      \"title\": \"fix(cli): correct startAgents API signature in e2e-tests\",\n      \"prNumber\": 6207,\n      \"type\": \"bugfix\",\n      \"body\": \"## Summary\\r\\n\\r\\n- Fixed `startAgents` API signature mismatch in CLI's e2e-tests.ts\\r\\n- Fixed unit test mock function name (`getElizaCharacter` \u2192 `getDefaultCharacter`)\\r\\n\\r\\n## Problem\\r\\n\\r\\nThe CLI's `elizaos test` command was failing with:\\r\\n```\\r\\nu\",\n      \"files\": [\n        \"packages/cli/src/commands/test/actions/e2e-tests.ts\",\n        \"packages/cli/tests/unit/commands/test/e2e-tests.test.ts\"\n      ]\n    },\n    {\n      \"title\": \"feat: bump deps, fix drizzle-kit across ecosystem\",\n      \"prNumber\": 6210,\n      \"type\": \"feature\",\n      \"body\": \"## \ud83d\udd04 Update All Dependencies to Latest Versions\\n\\n### Problem\\n\\nFound conflicting `drizzle-orm` versions across the monorepo causing compatibility issues:\\n\\n- `drizzle-orm@0.45.0` (root)\\n- `drizzle-orm@0.44.7` (from `@elizaos/plugin-sql`)\\n- `\",\n      \"files\": [\n        \".github/workflows/cli-tests.yml\",\n        \".github/workflows/client-cypress-tests.yml\",\n        \".github/workflows/jsdoc-automation.yml\",\n        \".github/workflows/release.yaml\",\n        \".github/workflows/tauri-ci.yml\",\n        \".github/workflows/update-news.yml\",\n        \"bun.lock\",\n        \"package.json\",\n        \"packages/api-client/package.json\",\n        \"packages/app/package.json\",\n        \"packages/cli/package.json\",\n        \"packages/cli/tests/commands/agent.test.ts\",\n        \"packages/cli/tests/commands/create.test.ts\",\n        \"packages/cli/tests/commands/dev.test.ts\",\n        \"packages/cli/tests/commands/env.test.ts\",\n        \"packages/cli/tests/commands/monorepo.test.ts\",\n        \"packages/cli/tests/commands/plugins.test.ts\",\n        \"packages/cli/tests/commands/publish.test.ts\",\n        \"packages/cli/tests/commands/start.test.ts\",\n        \"packages/cli/tests/commands/tee.test.ts\",\n        \"packages/cli/tests/commands/test.test.ts\",\n        \"packages/cli/tests/commands/update.test.ts\",\n        \"packages/cli/tests/unit/utils/elizacloud-config.test.ts\",\n        \"packages/client/package.json\",\n        \"packages/config/package.json\",\n        \"packages/core/package.json\",\n        \"packages/plugin-bootstrap/package.json\",\n        \"packages/plugin-dummy-services/package.json\",\n        \"packages/plugin-quick-starter/package.json\",\n        \"packages/plugin-sql/build.ts\",\n        \"packages/plugin-sql/package.json\",\n        \"packages/plugin-starter/package.json\",\n        \"packages/project-starter/package.json\",\n        \"packages/project-tee-starter/package.json\",\n        \"packages/server/package.json\",\n        \"packages/service-interfaces/package.json\",\n        \"packages/test-utils/package.json\"\n      ]\n    },\n    {\n      \"title\": \"feat: enhance streaming support in text generation\",\n      \"prNumber\": 6212,\n      \"type\": \"feature\",\n      \"body\": \"# Relates to\\r\\n\\r\\n- Streaming support for text generation models\\r\\n- CLI test runner improvements\\r\\n\\r\\n# Risks\\r\\n\\r\\n**Low**. Changes are additive and backward-compatible:\\r\\n- New streaming API is opt-in via `stream: true` parameter\\r\\n\\r\\n# Background\\r\",\n      \"files\": [\n        \"packages/cli/src/commands/test/actions/e2e-tests.ts\",\n        \"packages/cli/src/utils/test-runner.ts\",\n        \"packages/cli/tests/unit/commands/test/e2e-tests.test.ts\",\n        \"packages/client/src/components/ChatMessageListComponent.tsx\",\n        \"packages/client/src/components/chat.tsx\",\n        \"packages/client/src/hooks/use-query-hooks.ts\",\n        \"packages/client/src/hooks/use-socket-chat.ts\",\n        \"packages/client/src/lib/socketio-manager.ts\",\n        \"packages/core/src/__tests__/message-service.test.ts\",\n        \"packages/core/src/__tests__/runtime.test.ts\",\n        \"packages/core/src/__tests__/utils.test.ts\",\n        \"packages/core/src/elizaos.ts\",\n        \"packages/core/src/runtime.ts\",\n        \"packages/core/src/services/default-message-service.ts\",\n        \"packages/core/src/services/message-service.ts\",\n        \"packages/core/src/types/elizaos.ts\",\n        \"packages/core/src/types/model.ts\",\n        \"packages/core/src/types/primitives.ts\",\n        \"packages/core/src/types/runtime.ts\",\n        \"packages/core/src/utils.ts\",\n        \"packages/server/src/api/messaging/core.ts\",\n        \"packages/server/src/services/message.ts\",\n        \"packages/server/src/socketio/index.ts\",\n        \"packages/api-client/src/__tests__/services/sessions.test.ts\",\n        \"packages/api-client/src/services/sessions.ts\",\n        \"packages/api-client/src/types/sessions.ts\",\n        \"packages/core/src/__tests__/elizaos-handlemessage.test.ts\",\n        \"packages/core/src/__tests__/elizaos.test.ts\",\n        \"packages/core/src/__tests__/messaging-types.test.ts\",\n        \"packages/core/src/types/messaging.ts\",\n        \"packages/core/src/types/plugin.ts\",\n        \"packages/server/src/__tests__/integration/message-bus-service.test.ts\",\n        \"packages/server/src/__tests__/unit/api/channels-mode.test.ts\",\n        \"packages/server/src/__tests__/unit/api/response-handlers.test.ts\",\n        \"packages/server/src/__tests__/unit/api/sessions.test.ts\",\n        \"packages/server/src/__tests__/unit/services/message-stream-events.test.ts\",\n        \"packages/server/src/api/messaging/channels.ts\",\n        \"packages/server/src/api/messaging/sessions.ts\",\n        \"packages/server/src/api/shared/constants.ts\",\n        \"packages/server/src/api/shared/response-handlers.ts\",\n        \"packages/server/src/api/shared/validation.ts\",\n        \"packages/server/src/types/server.ts\",\n        \"packages/cli/src/commands/scenario/src/UserSimulator.ts\",\n        \"packages/core/src/__tests__/e2e/core-runtime.test.ts\",\n        \"packages/core/src/__tests__/integration/character-runtime.test.ts\",\n        \"packages/core/src/__tests__/integration/memory-runtime.test.ts\",\n        \"packages/core/src/__tests__/runtime-embedding.test.ts\",\n        \"packages/core/src/__tests__/runtime-streaming.test.ts\",\n        \"packages/core/src/__tests__/streaming-context.test.ts\",\n        \"packages/core/src/__tests__/test-helpers.ts\",\n        \"packages/core/src/index.browser.ts\",\n        \"packages/core/src/index.node.ts\",\n        \"packages/core/src/index.ts\",\n        \"packages/core/src/streaming-context.browser.ts\",\n        \"packages/core/src/streaming-context.node.ts\",\n        \"packages/core/src/streaming-context.ts\",\n        \"packages/plugin-bootstrap/src/actions/reply.ts\",\n        \"packages/core/src/__tests__/utils/streaming.test.ts\",\n        \"packages/core/src/types/index.ts\",\n        \"packages/core/src/types/streaming.ts\",\n        \"packages/core/src/utils/streaming.ts\",\n        \"packages/plugin-bootstrap/src/__tests__/actions.test.ts\"\n      ]\n    },\n    {\n      \"title\": \"Shaw/chore/deslop\",\n      \"prNumber\": 6213,\n      \"type\": \"other\",\n      \"body\": \"This PR removes a lot of slop\\r\\n\\r\\n- Fixes any and unknown and cast types with real types\\r\\n- Removes try catch\\r\\n- Removes sloppy comments\\r\\n- Removes dead files and code\",\n      \"files\": [\n        \"build-utils.ts\",\n        \"bun.lock\",\n        \"packages/api-client/src/__tests__/integration/no-content-fix.test.ts\",\n        \"packages/api-client/src/__tests__/services/agents.test.ts\",\n        \"packages/api-client/src/__tests__/services/audio.test.ts\",\n        \"packages/api-client/src/__tests__/services/jobs.test.ts\",\n        \"packages/api-client/src/__tests__/services/media.test.ts\",\n        \"packages/api-client/src/__tests__/services/memory.test.ts\",\n        \"packages/api-client/src/__tests__/services/messaging.test.ts\",\n        \"packages/api-client/src/__tests__/services/server.test.ts\",\n        \"packages/api-client/src/__tests__/services/system.test.ts\",\n        \"packages/api-client/src/lib/base-client.ts\",\n        \"packages/api-client/src/services/agents.ts\",\n        \"packages/api-client/src/services/audio.ts\",\n        \"packages/api-client/src/services/jobs.ts\",\n        \"packages/api-client/src/services/media.ts\",\n        \"packages/api-client/src/services/memory.ts\",\n        \"packages/api-client/src/services/messaging.ts\",\n        \"packages/api-client/src/services/sessions.ts\",\n        \"packages/api-client/src/services/system.ts\",\n        \"packages/api-client/src/types/agents.ts\",\n        \"packages/api-client/src/types/jobs.ts\",\n        \"packages/api-client/src/types/media.ts\",\n        \"packages/api-client/src/types/memory.ts\",\n        \"packages/api-client/src/types/server.ts\",\n        \"packages/api-client/src/types/system.ts\",\n        \"packages/app/README.md\",\n        \"packages/app/eslint.config.js\",\n        \"packages/app/index.html\",\n        \"packages/app/package.json\",\n        \"packages/app/src-tauri/Cargo.toml\",\n        \"packages/app/src-tauri/src/lib.rs\",\n        \"packages/app/src/__tests__/main.test.ts\",\n        \"packages/app/src/main.tsx\",\n        \"packages/app/src/types/bun-test.d.ts\",\n        \"packages/app/vite.config.ts\",\n        \"packages/cli/src/commands/agent/actions/crud.ts\",\n        \"packages/cli/src/commands/agent/actions/lifecycle.ts\",\n        \"packages/cli/src/commands/create/actions/creators.ts\",\n        \"packages/cli/src/commands/create/index.ts\",\n        \"packages/cli/src/commands/create/utils/validation.ts\",\n        \"packages/cli/src/commands/deploy/actions/deploy-ecs.ts\",\n        \"packages/cli/src/commands/deploy/types.ts\",\n        \"packages/cli/src/commands/dev/actions/dev-server.ts\",\n        \"packages/cli/src/commands/publish/types.ts\",\n        \"packages/cli/src/commands/report/generate.ts\",\n        \"packages/cli/src/commands/report/src/analysis-engine.ts\",\n        \"packages/cli/src/commands/scenario/docs/README.md\",\n        \"packages/cli/src/commands/scenario/docs/file-format-spec.md\",\n        \"packages/cli/src/commands/scenario/docs/matrix-testing.md\"\n      ]\n    },\n    {\n      \"title\": \"fix: resolve TypeScript build errors in every packages - first step\",\n      \"prNumber\": 6218,\n      \"type\": \"bugfix\",\n      \"body\": \"\",\n      \"files\": [\n        \"packages/api-client/src/lib/base-client.ts\",\n        \"packages/api-client/src/services/audio.ts\",\n        \"packages/api-client/src/types/agents.ts\",\n        \"packages/client/src/components/agent-action-viewer.tsx\",\n        \"packages/client/src/components/chat.tsx\",\n        \"packages/client/src/config/agent-templates.ts\",\n        \"packages/client/src/hooks/__tests__/use-agent-update.test.tsx\",\n        \"packages/client/src/hooks/use-character-convert.ts\",\n        \"packages/client/src/hooks/use-partial-update.ts\",\n        \"packages/client/src/hooks/use-query-hooks.ts\",\n        \"packages/client/src/hooks/use-socket-chat.ts\",\n        \"packages/client/src/lib/api-type-mappers.ts\",\n        \"packages/client/src/lib/socketio-manager.ts\",\n        \"packages/core/src/entities.ts\",\n        \"packages/core/src/logger.ts\",\n        \"packages/core/src/runtime.ts\",\n        \"packages/core/src/types/events.ts\",\n        \"packages/core/src/types/index.ts\",\n        \"packages/core/src/types/plugin.ts\",\n        \"packages/core/src/types/runtime.ts\",\n        \"packages/core/src/types/state.ts\",\n        \"packages/core/src/utils.ts\",\n        \"packages/plugin-bootstrap/src/actions/choice.ts\",\n        \"packages/plugin-bootstrap/src/actions/followRoom.ts\",\n        \"packages/plugin-bootstrap/src/actions/ignore.ts\",\n        \"packages/plugin-bootstrap/src/actions/imageGeneration.ts\",\n        \"packages/plugin-bootstrap/src/actions/muteRoom.ts\",\n        \"packages/plugin-bootstrap/src/actions/reply.ts\",\n        \"packages/plugin-bootstrap/src/actions/roles.ts\",\n        \"packages/plugin-bootstrap/src/actions/sendMessage.ts\",\n        \"packages/plugin-bootstrap/src/actions/unfollowRoom.ts\",\n        \"packages/plugin-bootstrap/src/actions/unmuteRoom.ts\",\n        \"packages/plugin-bootstrap/src/actions/updateEntity.ts\",\n        \"packages/plugin-bootstrap/src/evaluators/reflection.ts\",\n        \"packages/plugin-bootstrap/src/index.ts\",\n        \"packages/plugin-bootstrap/src/providers/actionState.ts\",\n        \"packages/plugin-dummy-services/src/browser/service.ts\",\n        \"packages/plugin-dummy-services/src/e2e/test-utils.ts\",\n        \"packages/plugin-sql/src/base.ts\",\n        \"packages/plugin-sql/src/index.node.ts\",\n        \"packages/plugin-sql/src/index.ts\",\n        \"packages/plugin-sql/src/migrations.ts\",\n        \"packages/plugin-sql/src/pg/adapter.ts\",\n        \"packages/plugin-sql/src/rls.ts\",\n        \"packages/plugin-sql/src/runtime-migrator/runtime-migrator.ts\",\n        \"packages/plugin-sql/src/runtime-migrator/storage/journal-storage.ts\",\n        \"packages/plugin-sql/src/runtime-migrator/storage/migration-tracker.ts\",\n        \"packages/plugin-sql/src/types.ts\",\n        \"packages/server/src/api/agents/runs.ts\",\n        \"packages/server/src/api/audio/conversation.ts\",\n        \"packages/cli/src/commands/scenario/src/EvaluationEngine.ts\",\n        \"packages/cli/src/commands/scenario/src/LocalEnvironmentProvider.ts\",\n        \"packages/cli/src/commands/scenario/src/TrajectoryReconstructor.ts\",\n        \"packages/cli/src/commands/scenario/src/UserSimulator.ts\",\n        \"packages/cli/src/commands/scenario/src/matrix-orchestrator.ts\",\n        \"packages/cli/src/commands/scenario/src/matrix-runner.ts\",\n        \"packages/cli/src/commands/scenario/src/matrix-schema.ts\",\n        \"packages/cli/src/commands/scenario/src/parameter-override.ts\",\n        \"packages/cli/src/commands/scenario/src/run-isolation.ts\",\n        \"packages/cli/src/commands/scenario/src/runtime-factory.ts\",\n        \"packages/cli/src/commands/test/actions/e2e-tests.ts\",\n        \"packages/cli/src/utils/spinner-utils.ts\",\n        \"packages/core/src/__tests__/settings.test.ts\",\n        \"packages/core/src/__tests__/utils.test.ts\",\n        \"packages/core/src/elizaos.ts\",\n        \"packages/core/src/schemas/character.ts\",\n        \"packages/core/src/settings.ts\",\n        \"packages/plugin-bootstrap/src/__tests__/logic.test.ts\"\n      ]\n    },\n    {\n      \"title\": \"fix: encryption for character secrets in correct order\",\n      \"prNumber\": 6217,\n      \"type\": \"bugfix\",\n      \"body\": \"\",\n      \"files\": [\n        \"packages/core/src/__tests__/elizaos.test.ts\",\n        \"packages/core/src/elizaos.ts\",\n        \"packages/server/src/api/agents/crud.ts\",\n        \"packages/server/src/index.ts\"\n      ]\n    },\n    {\n      \"title\": \"fix(plugin-sql): optimize pre-1.6.5 migration, RLS handling and SQL organisation\",\n      \"prNumber\": 6215,\n      \"type\": \"bugfix\",\n      \"body\": \"# Risks\\r\\n\\r\\n**Low** - All changes are backwards compatible and idempotent. Comprehensive test coverage added. Nothing is destructive\\r\\n\\r\\n# Background\\r\\n\\r\\n## What does this PR do?\\r\\n\\r\\n- Adds smooth migration from pre-1.6.5 (camelCase) to 1.6.5+ \",\n      \"files\": [\n        \".github/workflows/plugin-sql-tests.yaml\",\n        \"examples/test-addagents-auto.ts\",\n        \"packages/plugin-sql/docker-compose.test.yml\",\n        \"packages/plugin-sql/package.json\",\n        \"packages/plugin-sql/scripts/init-test-db.sql\",\n        \"packages/plugin-sql/scripts/run-integration-tests.sh\",\n        \"packages/plugin-sql/src/__tests__/fixtures/test-plugin-schema.ts\",\n        \"packages/plugin-sql/src/__tests__/integration/pglite-e2e.test.ts\",\n        \"packages/plugin-sql/src/__tests__/integration/postgres/pg-adapter-integration.test.ts\",\n        \"packages/plugin-sql/src/__tests__/integration/postgres/pglite-adapter.test.ts\",\n        \"packages/plugin-sql/src/__tests__/integration/postgres/postgres-init.test.ts\",\n        \"packages/plugin-sql/src/__tests__/integration/postgres/rls-entity.test.ts\",\n        \"packages/plugin-sql/src/__tests__/integration/postgres/rls-logs.test.ts\",\n        \"packages/plugin-sql/src/__tests__/integration/postgres/rls-message-server-agents.test.ts\",\n        \"packages/plugin-sql/src/__tests__/integration/postgres/rls-server.test.ts\",\n        \"packages/plugin-sql/src/__tests__/migration/dynamic-migration.test.ts\",\n        \"packages/plugin-sql/src/__tests__/migration/e2e/docker-compose.yml\",\n        \"packages/plugin-sql/src/__tests__/migration/e2e/run-upgrade-test.sh\",\n        \"packages/plugin-sql/src/__tests__/migration/migration-before-1.6.5.test.ts\",\n        \"packages/plugin-sql/src/__tests__/migration/production-scenario.test.ts\",\n        \"packages/plugin-sql/src/__tests__/migration/runtime-migrator.test.ts\",\n        \"packages/plugin-sql/src/__tests__/unit/directory-creation.test.ts\",\n        \"packages/plugin-sql/src/__tests__/unit/index.test.ts\",\n        \"packages/plugin-sql/src/__tests__/unit/pg/adapter.test.ts\",\n        \"packages/plugin-sql/src/__tests__/unit/pglite/adapter.test.ts\",\n        \"packages/plugin-sql/src/base.ts\",\n        \"packages/plugin-sql/src/migrations.ts\",\n        \"packages/plugin-sql/src/pg/manager.ts\",\n        \"packages/plugin-sql/src/rls.ts\",\n        \"packages/plugin-sql/src/runtime-migrator/runtime-migrator.ts\",\n        \"packages/plugin-sql/src/schema/component.ts\",\n        \"packages/plugin-sql/src/schema/log.ts\",\n        \"packages/plugin-sql/src/schema/memory.ts\",\n        \"packages/plugin-sql/src/schema/participant.ts\",\n        \"packages/plugin-sql/src/schema/relationship.ts\",\n        \"packages/plugin-sql/src/schema/room.ts\",\n        \"packages/plugin-sql/src/schema/tasks.ts\",\n        \"packages/plugin-sql/src/schema/world.ts\",\n        \"packages/core/src/__tests__/logger-browser-node.test.ts\",\n        \"packages/plugin-sql/src/__tests__/integration/rls-entity.test.ts\",\n        \"packages/plugin-sql/src/__tests__/migration/actual-runtime-scenario.test.ts\",\n        \"packages/plugin-sql/src/__tests__/migration/initialization-with-plugin.test.ts\",\n        \"packages/plugin-sql/src/__tests__/migration/runtime-simulation.test.ts\",\n        \"packages/plugin-sql/src/__tests__/migration/schema-evolution-tests/06-index-evolution.test.ts\",\n        \"packages/plugin-sql/src/__tests__/migration/schema-evolution-tests/07-foreign-key-evolution.test.ts\",\n        \"packages/plugin-sql/src/__tests__/migration/transaction-and-concurrency.test.ts\",\n        \"packages/plugin-sql/src/__tests__/test-helpers.ts\",\n        \"packages/plugin-sql/src/pglite/manager.ts\",\n        \"packages/plugin-sql/src/runtime-migrator/storage/migration-tracker.ts\",\n        \"packages/server/src/__tests__/fixtures/database.fixture.ts\"\n      ]\n    },\n    {\n      \"title\": \"fix: bootstrap action/provide format change fix + initPromise fix\",\n      \"prNumber\": 6261,\n      \"type\": \"bugfix\",\n      \"body\": \"# Risks\\r\\n\\r\\nLow, just fixes\\r\\n\\r\\n# Background\\r\\n\\r\\n## What does this PR do?\\r\\n\\r\\n- exposes initPromise so plugins can actually use it (duplicates some of #5718 but smaller and simpler)\\r\\n- fixes message format (we dropped serverId in favor of messa\",\n      \"files\": [\n        \"packages/core/src/types/runtime.ts\",\n        \"packages/plugin-bootstrap/src/__tests__/test-utils.ts\",\n        \"packages/plugin-bootstrap/src/actions/settings.ts\",\n        \"packages/plugin-bootstrap/src/providers/roles.ts\",\n        \"packages/plugin-bootstrap/src/providers/settings.ts\",\n        \"packages/plugin-quick-starter/src/__tests__/test-utils.ts\",\n        \"packages/plugin-starter/src/__tests__/test-utils.ts\",\n        \"packages/project-starter/src/__tests__/utils/core-test-utils.ts\",\n        \"packages/project-tee-starter/src/__tests__/utils/core-test-utils.ts\",\n        \"packages/test-utils/src/mocks/runtime.ts\",\n        \"packages/plugin-bootstrap/src/__tests__/providers.test.ts\"\n      ]\n    },\n    {\n      \"title\": \"fix(core): add generic type support for custom event handlers\",\n      \"prNumber\": 6277,\n      \"type\": \"bugfix\",\n      \"body\": \"## Summary\\n- Add generic type parameter to `registerEvent` for custom events\\n- Allows plugins to define typed event payloads that extend `EventPayload`\\n- Includes unit test\\n\\n## Example usage\\n```typescript\\ninterface MyCustomPayload extends E\",\n      \"files\": [\n        \"packages/core/src/__tests__/register-event.test.ts\",\n        \"packages/core/src/runtime.ts\",\n        \"packages/core/src/types/runtime.ts\"\n      ]\n    }\n  ],\n  \"topContributors\": [\n    {\n      \"username\": \"standujar\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/16385918?u=718bdcd1585be8447bdfffb8c11ce249baa7532d&v=4\",\n      \"totalScore\": 724.1082130313846,\n      \"prScore\": 698.9522130313846,\n      \"issueScore\": 0,\n      \"reviewScore\": 23,\n      \"commentScore\": 2.1559999999999997,\n      \"summary\": \"standujar: This month, standujar made substantial contributions across the `elizaos` ecosystem, focusing on core system stability, refactoring, and introducing new capabilities. They implemented a new Unified API for serverless Node.js environments (elizaos/eliza#6201) and delivered several complex fixes, most notably optimizing the pre-1.6.5 migration and RLS handling in the SQL plugin (elizaos/eliza#6215), which involved over 28k lines of changes. In addition to merging seven pull requests, they have eight open PRs that introduce significant new features like JWT authentication and widespread streaming support. Their work was distributed across bug fixes, feature development, and refactoring, with a strong emphasis on code and test files.\"\n    },\n    {\n      \"username\": \"madjin\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4\",\n      \"totalScore\": 325.1444101641285,\n      \"prScore\": 307.8684101641285,\n      \"issueScore\": 16.4,\n      \"reviewScore\": 0,\n      \"commentScore\": 0.8759999999999999,\n      \"summary\": \"madjin: Focused on enhancing core functionality and maintaining project dependencies this month, merging three pull requests in the `elizaos/elizaos.github.io` repository. They implemented and fixed a new RSS feed feature (#172, #175) and also managed a substantial dependency update by upgrading the AI SDKs in a large PR (#170) with over 3300 new lines. Their work was a mix of bug fixes, feature implementation, and significant maintenance, touching both code and configuration files.\"\n    },\n    {\n      \"username\": \"wtfsayo\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4\",\n      \"totalScore\": 276.4179723270648,\n      \"prScore\": 275.61797232706476,\n      \"issueScore\": 0,\n      \"reviewScore\": 0,\n      \"commentScore\": 0.8,\n      \"summary\": \"wtfsayo: Focused on client-side fixes and plugin migrations this month, merging two pull requests in the elizaos/eliza repository. They improved the user experience by fixing markdown content spacing (#6197) and migrated the SQL plugin to the new messageService API (#6202). Additionally, they have begun work on a new core feature for parallel action execution (#6209), with their overall contributions reflecting a primary focus on bug fixes and refactoring.\"\n    },\n    {\n      \"username\": \"0xbbjoker\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4\",\n      \"totalScore\": 212.90477621970334,\n      \"prScore\": 165.40477621970334,\n      \"issueScore\": 2,\n      \"reviewScore\": 45.5,\n      \"commentScore\": 0,\n      \"summary\": \"0xbbjoker: This month, 0xbbjoker's work was primarily focused on bug fixes, contributing a significant volume of code changes across 68 files (+3655/-1134 lines). They merged one feature enhancement to the MCP provider (elizaos-plugins/plugin-mcp#19) and proactively opened an issue to improve the agent creator's file handling (elizaos/eliza#6245). In addition to their direct code contributions, they were an active collaborator, providing 6 code reviews for their peers.\"\n    },\n    {\n      \"username\": \"odilitime\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/16395496?u=c9bac48e632aae594a0d85aaf9e9c9c69b674d8b&v=4\",\n      \"totalScore\": 193.21956638904118,\n      \"prScore\": 192.67956638904118,\n      \"issueScore\": 0,\n      \"reviewScore\": 0,\n      \"commentScore\": 0.54,\n      \"summary\": \"odilitime: Undertook a substantial amount of work this month, reflected in 25 commits across 25 files (+2146/-592 lines). While this work has not yet been merged via a pull request, their coding activity shows a focus on bugfixes and refactoring. They also contributed by creating an issue in elizaos-plugins/plugin-mysql (#1).\"\n    },\n    {\n      \"username\": \"ChristopherTrimboli\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/27584221?u=0d816ce1dcdea8f925aba18bb710153d4a87a719&v=4\",\n      \"totalScore\": 130.67356870848266,\n      \"prScore\": 111.17356870848266,\n      \"issueScore\": 0,\n      \"reviewScore\": 19.5,\n      \"commentScore\": 0,\n      \"summary\": \"ChristopherTrimboli: Focused on core feature development and dependency management, introducing ElizaOS Cloud as the default AI provider in the CLI (elizaos/eliza#6208) and executing a significant dependency update across the ecosystem (elizaos/eliza#6210). In addition to merging these two PRs, he supported the team by providing 4 code reviews. His work primarily involved modifications to configuration and test files, reflecting a focus on system health and testing alongside feature work.\"\n    },\n    {\n      \"username\": \"borisudovicic\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/31806472?u=8935f4d43fd7e4eb9bf5ff92d54d4d2f8ac8a786&v=4\",\n      \"totalScore\": 108,\n      \"prScore\": 0,\n      \"issueScore\": 108,\n      \"reviewScore\": 0,\n      \"commentScore\": 0,\n      \"summary\": \"borisudovicic: Focused entirely on product definition and quality assurance for the elizaos/eliza repository this month. They created 41 issues, identifying a wide range of bugs, user experience enhancements, and new feature proposals. This work included documenting critical fixes like the container deployment bug (#6187) and proposing significant UX changes such as redesigning the dashboard (#6222) and consolidating navigation (#6173). All activity was concentrated on identifying and scoping improvements for the elizaos/eliza application.\"\n    },\n    {\n      \"username\": \"lalalune\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/18633264?u=e2e906c3712c2506ebfa98df01c2cfdc50050b30&v=4\",\n      \"totalScore\": 88.7855477931522,\n      \"prScore\": 84.7855477931522,\n      \"issueScore\": 4,\n      \"reviewScore\": 0,\n      \"commentScore\": 0,\n      \"summary\": \"lalalune: Made a substantial contribution this month by merging a large-scale chore/refactor in the elizaos/eliza repository (PR #6213), which involved over 16,000 lines of code changes. They also began work on a major new feature with the \\\"Eliza Cloud Integration\\\" pull request (#6216) and identified a crash condition that was subsequently resolved (elizaos/eliza#6204). Their activity shows a primary focus on a mix of bugfixes, feature work, and refactoring across the codebase.\"\n    },\n    {\n      \"username\": \"DevGruGold\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/181147699?u=4258e430ad766ca1d11778ab9e7d91ecfa0e110c&v=4\",\n      \"totalScore\": 80.8515477931522,\n      \"prScore\": 80.8515477931522,\n      \"issueScore\": 0,\n      \"reviewScore\": 0,\n      \"commentScore\": 0,\n      \"summary\": \"DevGruGold: This month, DevGruGold initiated new work in the elizaos/eliza repository, opening two pull requests (#6220, #6219). While no contributions were merged, these open PRs represent a substantial effort, containing over 1900 lines of code changes across 13 commits. This work, a mix of bug fixes and other tasks, was primarily focused on modifying configuration, documentation, and test files.\"\n    },\n    {\n      \"username\": \"prajwal-pl\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/150137841?u=dd1ae31ec1ca9909364231a779dcb2af30c5e792&v=4\",\n      \"totalScore\": 41.430056250181565,\n      \"prScore\": 41.430056250181565,\n      \"issueScore\": 0,\n      \"reviewScore\": 0,\n      \"commentScore\": 0,\n      \"summary\": null\n    },\n    {\n      \"username\": \"0xtechdean\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/16443050?u=d1347a48b94a4c011e872424ea1940f3a0a8331d&v=4\",\n      \"totalScore\": 35.89159695492178,\n      \"prScore\": 35.89159695492178,\n      \"issueScore\": 0,\n      \"reviewScore\": 0,\n      \"commentScore\": 0,\n      \"summary\": \"0xtechdean: This month, 0xtechdean's efforts were directed toward documentation, opening a pull request to add AVS docs for the cursor/twitter agent (elizaos/eliza#6265).\"\n    },\n    {\n      \"username\": \"AntoineVergne\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/151149734?v=4\",\n      \"totalScore\": 33.983573590279974,\n      \"prScore\": 29.28357359027997,\n      \"issueScore\": 0,\n      \"reviewScore\": 4.5,\n      \"commentScore\": 0.2,\n      \"summary\": \"AntoineVergne: This month, AntoineVergne's work focused on expanding the plugin ecosystem by adding the new 'plugin-farcaster-local-hub' to the registry (elizaos-plugins/registry#243). This feature contribution consisted of a single-line update to a configuration file. They also provided one comment on a pull request.\"\n    },\n    {\n      \"username\": \"todoencadena\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/198127898?u=4c012fe538dffffc28d03890eda7d63746ae1ff2&v=4\",\n      \"totalScore\": 24.27972435596375,\n      \"prScore\": 24.27972435596375,\n      \"issueScore\": 0,\n      \"reviewScore\": 0,\n      \"commentScore\": 0,\n      \"summary\": \"todoencadena: Activity this month was focused on bot integration, opening a pull request to fix the Telegram bot for Railway (elizaos/eliza#6214). This work involved a single commit with minor changes to a configuration file.\"\n    },\n    {\n      \"username\": \"Tonyflam\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/150600391?u=0c905a5f627ff99389fc79e9978f1dc47546456e&v=4\",\n      \"totalScore\": 22.218573590279973,\n      \"prScore\": 22.218573590279973,\n      \"issueScore\": 0,\n      \"reviewScore\": 0,\n      \"commentScore\": 0,\n      \"summary\": \"Tonyflam: This month, their contribution focused on expanding the plugin ecosystem by adding the new `@tonyflam/plugin-openchat` plugin to the registry via PR elizaos-plugins/registry#242. This work consisted of a minor update to a configuration file.\"\n    },\n    {\n      \"username\": \"nguyennk92\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/30664183?u=d6e579cd25d50bc8e9ec4928d95909d759b841db&v=4\",\n      \"totalScore\": 8.902606672028108,\n      \"prScore\": 8.902606672028108,\n      \"issueScore\": 0,\n      \"reviewScore\": 0,\n      \"commentScore\": 0,\n      \"summary\": \"nguyennk92: This month, their focus was on refactoring database connection logic in the `elizaos/eliza` repository. They opened a pull request (#6262) proposing to remove the reassignment of the runtime database to individual connections. This work represents a targeted effort to improve connection management.\"\n    },\n    {\n      \"username\": \"linear\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/in/20150?v=4\",\n      \"totalScore\": 6,\n      \"prScore\": 0,\n      \"issueScore\": 6,\n      \"reviewScore\": 0,\n      \"commentScore\": 0,\n      \"summary\": \"linear: Focused on server reliability by identifying and documenting an issue related to concurrent connection timeouts in elizaos/eliza (#6198).\"\n    },\n    {\n      \"username\": \"github-advanced-security\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/in/57789?v=4\",\n      \"totalScore\": 4.5,\n      \"prScore\": 0,\n      \"issueScore\": 0,\n      \"reviewScore\": 4.5,\n      \"commentScore\": 0,\n      \"summary\": \"github-advanced-security: No activity this month.\"\n    },\n    {\n      \"username\": \"pereslavlland\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/247946180?v=4\",\n      \"totalScore\": 2.2,\n      \"prScore\": 0,\n      \"issueScore\": 2,\n      \"reviewScore\": 0,\n      \"commentScore\": 0.2,\n      \"summary\": \"pereslavlland: This month, pereslavlland's activity was focused on bug reporting within the elizaos/eliza repository. They identified and opened issue #6211 to document a problem with snapshot eligibility and Tangem wallet connections, and also contributed one comment to an issue.\"\n    },\n    {\n      \"username\": \"tdnupe3\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/25161668?u=94680b6bcbcfce954c7a9dd09d667a3919953041&v=4\",\n      \"totalScore\": 2,\n      \"prScore\": 0,\n      \"issueScore\": 2,\n      \"reviewScore\": 0,\n      \"commentScore\": 0,\n      \"summary\": \"tdnupe3: This month, tdnupe3's efforts were directed towards planning new payment functionalities. They initiated this work by creating issue elizaos/eliza#6244, which proposes an implementation guide for integrating Circle and Coinbase APIs for AI agent payments.\"\n    },\n    {\n      \"username\": \"flaviobruno72\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/168378940?v=4\",\n      \"totalScore\": 2,\n      \"prScore\": 0,\n      \"issueScore\": 2,\n      \"reviewScore\": 0,\n      \"commentScore\": 0,\n      \"summary\": null\n    },\n    {\n      \"username\": \"otaku-x402\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/242004857?u=1325b26d380eec4a0b8d84e8e249c523eebd28dc&v=4\",\n      \"totalScore\": 0.2,\n      \"prScore\": 0,\n      \"issueScore\": 0,\n      \"reviewScore\": 0,\n      \"commentScore\": 0.2,\n      \"summary\": null\n    }\n  ],\n  \"newPRs\": 30,\n  \"mergedPRs\": 16,\n  \"newIssues\": 60,\n  \"closedIssues\": 76,\n  \"activeContributors\": 22\n}\n---\n2025-12-28T02:17:21.611982Z\n---\n2025-12-28\n---\nai_news_elizaos_discord_md_2025-12-27\n---\nai_news_elizaos_discord_md_2025-12-26\n---\nai_news_elizaos_discord_md_2025-12-25\n---\nai_news_elizaos_daily_json_2025-12-27\n---\nai_news_elizaos_daily_md_2025-12-27\n---\nai_news_elizaos_daily_discord_json_2025-12-27\n---\nai_news_elizaos_daily_discord_md_2025-12-27\n---\ngithub_summaries_week_latest_2025-12-21.md\n---\ngithub_summaries_month_latest_2025-12-01.md\n---\ngithub_summaries_daily_2025-12-28"
  ]
}