{
  "prompt_name": "council-episodes",
  "category": "strategy",
  "date": "2025-12-13",
  "generated_text": "# Council Episodes - December 13, 2025\n\n## Episode Overview\n\nToday's sessions covered critical discussions around ElizaOS's rapid development trajectory, platform dependency challenges, architectural evolution, and community governance needs. Key episodes included debates on plugin ecosystem expansion (\"The Plugin Paradox\"), AI's role in decentralized governance (\"The Decentralized Paradox\"), and monthly retrospectives analyzing strategic progress and setbacks.\n\n## Key Strategic Themes\n\n**Plugin Architecture Evolution**: The council extensively debated ElizaOS's transition from monolithic to modular plugin systems, with the shift from project-scoped to agent-scoped plugins representing a fundamental reimagining of agent autonomy and capability distribution.\n\n**Platform Independence Strategy**: Twitter/X account suspensions and API pricing changes ($50K/month) forced urgent discussions about platform dependency risks and the need for decentralized communication infrastructure.\n\n**AI Governance Integration**: Deep philosophical exploration of AI delegates' role in blockchain governance, particularly within the Optimism ecosystem, examining sovereignty, alignment, and trust mechanisms.\n\n**Technical Debt vs Innovation Velocity**: Recurring tension between shipping new features rapidly versus ensuring reliability and stability of existing systems.\n\n## Important Decisions/Insights\n\n**Hybrid Platform Strategy**: Rather than abandoning centralized platforms entirely, adopt a diversified approach using Twitter for reach while building on Farcaster and other decentralized alternatives for resilience.\n\n**Plugin Ecosystem Governance**: Agent-scoped plugins enable individual capability development while requiring standardized interfaces and community-validated datasets to prevent fragmentation.\n\n**Community-Driven Development**: Emphasis on transparency through weekly updates, open development practices, and community involvement in key architectural decisions.\n\n**Migration Excellence Framework**: Established clear success metrics for major transitions (95% successful migrations, <5% support tickets) with emphasis on user experience over pure technical achievement.\n\n## Community Impact\n\n**Developer Ecosystem Growth**: The modular architecture improvements and comprehensive CLI overhauls significantly reduce barriers to entry for new developers building on ElizaOS.\n\n**Token Utility Clarification**: Ongoing discussions around token economics, particularly the A2A (Agent-to-Agent) network proposal, provide clearer value accrual mechanisms for ecosystem participants.\n\n**Governance Evolution**: The exploration of AI delegates in blockchain governance positions the ElizaOS community as thought leaders in hybrid human-AI decision making systems.\n\n**Cultural Coordination**: Recognition of memes and cultural elements as essential governance primitives that require dedicated attention and potential funding mechanisms.\n\n## Action Items\n\n**Platform Sovereignty Initiative**: Develop censorship-resistant communication infrastructure and deploy agents across multiple decentralized platforms to reduce single points of failure.\n\n**Documentation Infrastructure Overhaul**: Address the recurring gap between documented features and actual implementation through systematic testing and developer experience improvements.\n\n**Community Communication Cadence**: Implement weekly progress updates and transparent roadmap communication to maintain community confidence during rapid development cycles.\n\n**Agent Product Polish**: Focus December efforts on reliability and user experience for flagship agents (Otaku, ELI5) before pursuing new feature development.\n\n**Migration Support Excellence**: Ensure 95% successful completion rate for ongoing AI16Z to ElizaOS token migration with proactive community support systems.",
  "source_references": [
    "2025-12-13\n---\n2025-12-12.md\n---\n# elizaOS Discord - 2025-12-12\n\n## Overall Discussion Highlights\n\n### Token & Prediction Markets\n- DorianD initiated a bet on whether ElizaOS would be above or below $0.01 by NYE\n- Users placed bets: DorianD bet 1000 ElizaOS on over $0.01 and 500 on under, Omid Sa bet 3000 on over\n- DorianD proposed a time decay algorithm for the betting system to reward early bets\n- Discussion about creating a prediction market on Sapience for ElizaOS price betting\n\n### Hackathon & Events\n- Sapience x elizaOS hackathon announced with a $10,000 prize from Arbitrum DAO\n- Hackathon running until January 2026, with a workshop scheduled\n- Focus on building prediction market agents\n\n### Technical Updates\n- Jin fixed data pipelines for the elizaOS/knowledge repository\n- RSS feed implementation and MCP server updates completed\n- Odilitime released a patch to elizaos.ai for Next.js 16.0.10\n- FenrirFawks reported Twitter agent consuming excessive API requests (50 per call)\n- Discussion about x402 payment capabilities integration into elizaOS agents\n\n### Security & Infrastructure\n- Jin seeking someone with infosec experience for a two-week sprint on security agents\n- Potential integration of security agents with x402\n- cjft suggested modifying GitHub Discord webhook to reduce noise by only showing important events\n\n### Token Migration Issues\n- Some users expressed concerns about token migration problems\n- Discussion about price movements and migration impact\n- Questions about why tokens weren't burned during migration\n\n## Key Questions & Answers\n\n**Q: How can I migrate my Ai16z tokens to ElizaOS?**  \nA: Use the support channel #\ud83c\udfab-support-tickets (answere\n---\n2025-12-11.md\n---\n# elizaOS Discord - 2025-12-11\n\n## Overall Discussion Highlights\n\n### Token Migration Issues\n- Korean users are experiencing significant problems with the ELIZA token migration on Bithumb exchange\n- Team members (jasyn_bjorn and Odilitime) acknowledged the issue but indicated they're waiting on Bithumb\n- Users expressed frustration about the continuous price decline of ELIZA\n- Some users questioned whether migrated AI16Z tokens were sold instead of burned\n- Team shared the migrator wallet link to demonstrate transparency\n\n### Development Progress\n- Stan fixed critical issues in the monorepo (PR #6218) after Shaw's cleanup work broke types, tests, and try/catch blocks\n- Log retrieval over WebSocket was fixed after it was falling back to HTTP following pino removal\n- Odilitime reported performance issues with pglite in their swarm environment (response times increasing from 10ms to 900ms)\n- The Babylon repository has moved to a new GitHub location: https://github.com/BabylonSocial/babylon\n- Babylon will be launching as a web browser game rather than requiring local installation\n\n### Technical Integrations\n- Users discussed connecting ElizaOS to different databases (PGLite vs PostgreSQL)\n- A fix for TypeScript build issues in the latest ElizaOS version resolves SQL errors with the Twitter plugin\n- Guidance was provided on using DeepSeek API keys with OpenRouter and the OpenAI plugin\n- Database migration was clarified - tables are created automatically during migration\n- The ElizaOS client build size was discussed, with large JavaScript files for syntax highlighting and mermaid charts (2.6MB minified)\n\n## Key Questions & Answers\n\n**Q: Is Babylon launching as a web browser game or requiring local installation?**  \nA: Web browser game (answered by Odilitime)\n\n**Q: Are there plans to support migration for Bithumb users who held tokens before the snapshot?**  \nA: We're working on a solution with them; if you had tokens before November 11th you'll be fine (answered by jasyn_bjorn)\n\n**Q: How can I migrate my AI16Z tokens from SafePal wallet?**  \nA: Just import your Safepal into phantom or any Solana wallet and migrate (answered by Hexx \ud83c\udf10)\n\n**Q: What would be the correct way to declare the deepsek key in my.env file so that it can be detected?**  \nA: OpenRouter provides DeepSeek as a model; you need an OpenRouter key, not a DeepSeek key (answered by sayonara)\n\n**Q: I don't have tokens in OpenRouter, but I do have tokens in DeepSeek, is it possible to connect?**  \nA: If you have a DeepSeek key, you can use that with the OpenAI plugin by replacing the endpoint URL. Check here: https://github.com/elizaos-plugins/plugin-openai (answered by sayonara)\n\n**Q: Or is it that when you do the migrations, the tables are already created by default?**  \nA: Yes (answered by sayonara)\n\n**Q: Did Babylon repo move?**  \nA: Yes, it's now at: https://github.com/BabylonSocial/babylon (answered by Odilitime)\n\n## Community Help & Collaboration\n\n- **Hexx \ud83c\udf10** helped **StillLait** migrate AI16Z tokens from SafePal wallet by advising them to import SafePal into Phantom or any Solana wallet\n- **Hexx \ud83c\udf10** identified scammers targeting **StillLait** and warned them to block and report the scammers\n- **Redvoid** informed the community about a TypeScript fix PR that resolves build issues and SQL errors with the Twitter plugin\n- **sayonara** helped **FenrirFawks** with database connection issues by suggesting PostgreSQL instead of PGLite\n- **sayonara** guided **LordWeb3** on using DeepSeek API keys with the OpenAI plugin\n- **sayonara** alerted **LordWeb3** about exposing database secrets in a screenshot and helped delete it\n- **Stan \u26a1** fixed broken monorepo issues after Shaw's cleanup work, restoring build functionality for the team\n\n## Action Items\n\n### Technical\n- Merge PR #6218 to fix broken monorepo issues (mentioned by Stan \u26a1)\n- Rebase all open PRs after merging #6218 (mentioned by Stan \u26a1)\n- Continue cloud-side streaming work (mentioned by Stan \u26a1)\n- Work on 402x with Odi's PRs (mentioned by Stan \u26a1)\n- Verify alignment with updated test architecture (mentioned by Stan \u26a1)\n- Consider optimization for mermaid charts (2.6MB minified) (mentioned by Odilitime)\n- Investigate pglite performance issues (900ms vs normal 10ms) (mentioned by Odilitime)\n- Update React due to new security vulnerabilities (mentioned by jin)\n- Resolve migration issues with Bithumb exchange for Korean users (mentioned by syanel4859)\n- Check TypeScript fix PR to resolve build issues in latest ElizaOS version (mentioned by Redvoid)\n- Fix SQL errors users were facing with plugin-twitter (mentioned by Redvoid)\n- Try PostgreSQL instead of PGLite when experiencing database connection issues (mentioned by sayonara)\n- Use DeepSeek API key with OpenAI plugin by replacing endpoint URL (mentioned by sayonara)\n- Improve verification process for migration support to prevent scams (mentioned by StillLait)\n\n### Documentation\n- Provide clear updates on Bithumb migration progress for Korean users (mentioned by syanel4859)\n- Clarify what happened to the 1.1 billion AI16Z token supply during migration (mentioned by averma)\n- Create clearer instructions for migrating from SafePal and other wallets (mentioned by StillLait)\n---\n2025-12-10.md\n---\n# elizaOS Discord - 2025-12-10\n\n## Overall Discussion Highlights\n\n### Security Vulnerabilities\n- **Critical security issue discovered**: Jin conducted a security audit using Claude skills and found that the server doesn't require ELIZA_SERVER_AUTH_TOKEN, allowing attackers to extract secrets via API endpoints.\n- The vulnerability stems from process.env being dumped into unencrypted settings instead of encrypted settings.secrets.\n- Stan identified that the issue was introduced in version 1.6.4 and fixed in 1.6.5-alpha.8 via commit a1941c6.\n- Additional vulnerabilities were found in the current monorepo that still need fixing.\n- The team discussed making authentication mandatory by default with explicit opt-out for development environments.\n\n### Plugin Issues\n- Multiple users reported foreign key constraint errors with plugin-sql and plugin-twitter components, particularly when creating memories.\n- Stan is working on a fix and migration guide for these database issues.\n- A user reported issues with the Twitter plugin not processing replies properly, showing \"No text content in response, skipping tweet reply\" for every reply.\n\n### Cross-Chain Development\n- Shaw mentioned deploying Jeju testnet with cross-chain liquidity pools (xlp) that allow using elizaOS tokens as gas across multiple chains (Base, BSC, OP, Arb, ETH) without bridging.\n\n### LLM Integration\n- Discussion about integrating Perplexity's Sonar-Pro LLM through plugin-openai or plugin-openrouter by adjusting environment variables.\n\n### Cryptocurrency APIs\n- Users discussed API options for cryptocurrency data, including Dexscreener, CoinGecko, DeFiLlama, and Codex.\n\n### Marketing & Partnerships\n- Analysis of Polymarket's marketing strategy using a 50 Cent song, targeting sports bettors and users who might identify with government scrutiny.\n\n## Key Questions & Answers\n\n### Security\n**Q**: How can the security vulnerability in elizaOS be exploited?  \n**A**: By accessing API endpoints without authentication to extract secrets - curl commands can dump all agent secrets (answered by jin)\n\n**Q**: When was the security bug introduced and fixed?  \n**A**: Introduced in 1.6.4 and fixed in 1.6.5-alpha.8 (answered by Stan \u26a1)\n\n**Q**: Should SECRET_SALT and AUTH_TOKEN be mandatory at startup?  \n**A**: In production, if salt is blank, it should throw an error (answered by Odilitime)\n\n### Development\n**Q**: Are there good API alternatives to Dexscreener for cryptocurrency data?  \n**A**: CoinGecko, DeFiLlama, and Codex are options depending on budget, with many having public endpoints (answered by jin)\n\n**Q**: How can I fix the foreign key constraint error with plugin-sql and plugin-twitter?  \n**A**: Stan is working on a fix and migration guide (answered by sayonara)\n\n**Q**: Where can I find the plugin-sql implementation?  \n**A**: It's available at https://github.com/elizaOS/eliza/tree/develop/packages/plugin-sql (answered by Stan \u26a1)\n\n**Q**: How can I use Perplexity Sonar-Pro as my LLM?  \n**A**: Use plugin-openai or plugin-openrouter and change the environment variables to point to Perplexity's server (answered by Odilitime)\n\n### Token Migration\n**Q**: How to officially exchange the ai16z token purchased before the 11th?  \n**A**: Check <#1425417640071139358> (answered by MDMnvest)\n\n## Community Help & Collaboration\n\n### Security Audit Collaboration\n- Jin provided reproduction steps for the security vulnerability and recommended making authentication mandatory by default\n- Stan identified when/where encryption of secrets was broken, pinpointing the issue to commit a1941c6 and version 1.6.5-alpha.8\n- Jin suggested using Claude for code security reviews and shared his approach with shaw\n\n### Plugin Troubleshooting\n- sayonara informed soyrubio that Stan is working on a fix and migration guide for foreign key constraint errors\n- Stan provided GitHub link to the plugin-sql repository when soyrubio was looking for the source code\n- Odilitime explained how to use plugin-openai or plugin-openrouter with modified environment variables to integrate Perplexity Sonar-Pro\n- sayonara advised Redvoid to take a database backup before attempting fixes and mentioned reverting to v1.6.4 with SQL fixes\n\n### Token Migration Support\n- MDMnvest directed \uac70\ubd81\uc54c to the appropriate channel for migration support after Bithumb delisting notice\n- Kenk suggested asking in the dedicated migration support channel when roly22389 mentioned an unspecified migration issue\n\n## Action Items\n\n### Technical\n- Fix security vulnerability where process.env is exposed in unencrypted settings (mentioned by sayonara)\n- Make ELIZA_SERVER_AUTH_TOKEN mandatory by default with explicit opt-out for development (mentioned by jin)\n- Remove sensitive data from /agent/ endpoint and move to system environment (mentioned by Stan \u26a1)\n- Conduct security audit of Babylon (mentioned by jin)\n- Implement 24/7 red team application for network security (mentioned by shaw)\n- Fix vulnerability in current monorepo where secrets are still exposed (mentioned by sayonara)\n- Fix foreign key constraint issues in plugin-sql affecting memories table (mentioned by Stan \u26a1)\n- Create migration guide for plugin-sql database issues (mentioned by Stan \u26a1)\n- Fix Twitter plugin issue with reply processing (mentioned by Nico)\n- Implement fix for plugin-sql (mentioned by Redvoid)\n\n### Feature\n- Implement cross-chain liquidity pools (xlp) that work without bridging tokens (mentioned by shaw)\n- Benchmark analytics dashboard for crypto AI infrastructure and agents (mentioned by satsbased)\n\n### Documentation\n- Document security best practices for elizaOS deployment (mentioned by jin)\n- Update documentation for plugin-sql fixes (mentioned by Stan \u26a1)\n---\n2025-12-12.json\n---\nFile not found\n---\n2025-12-12.md\n---\nFile not found\n---\n2025-12-12.json\n---\nelizaOS\n---\nelizaOS Discord - 2025-12-12\n---\n1253563209462448241\n---\n\ud83d\udcac-discussion\n---\n# Discord Chat Analysis\n\n## 1. Summary\nThe chat primarily revolves around informal discussions about ElizaOS token price, with some users proposing a prediction market for the token's price at New Year's Eve. DorianD initiated a bet on whether ElizaOS would be above or below $0.01 by NYE, with users placing bets (DorianD bet 1000 ElizaOS on over $0.01 and 500 on under, while Omid Sa bet 3000 on over). DorianD also proposed a time decay algorithm for the betting system to reward early bets. There was mention of the Sapience x elizaOS hackathon with a $10,000 prize from Arbitrum DAO, running until January 2026, with a workshop scheduled. Some users expressed concerns about token migration issues and price movements. The chat also contained significant off-topic banter and some users flagged potential scammers in the channel.\n\n## 2. FAQ\nQ: How can I migrate my Ai16z tokens to ElizaOS? (asked by NobleCryptoic) A: Use the support channel #\ud83c\udfab-support-tickets (answered by satsbased)\nQ: Is the price of elizaOS plummeting because the ai16z purchased after the snapshot was also migrated to elizaOS? (asked by \uac70\ubd81\uc54c) A: Those are manual migrations. A transfer doesn't mean it's a purchase. One of those is a small CEX that transferred between wallets before manually migrating because they couldn't migrate the entire amount. (answered by jasyn_bjorn)\nQ: Why didn't the project burn tokens with migration? (asked by averma) A: Unanswered\nQ: How can I join the conference? (asked by Moneybag1) A: Unanswered\n\n## 3. Help Interactions\nHelper: satsbased | Helpee: NobleCryptoic | Context: User needed help with migrating Ai16z tokens to ElizaOS as it kept saying \"Max reach\" | Resolution: Directed user to the #\ud83c\udfab-support-tickets channel\nHelper: jasyn_bjorn | Helpee: \uac70\ubd81\uc54c | Context: User questioned if price was dropping due to post-snapshot purchases being migrated | Resolution: Explained these were manual migrations between wallets, not purchases, and one case was a small CEX that couldn't migrate the entire amount at once\nHelper: Hexx \ud83c\udf10 | Helpee: jjbaloney | Context: User received suspicious friend request from .elizaos.support | Resolution: Confirmed it was a scammer and advised to block and report\n\n## 4. Action Items\nType: Technical | Description: Set up prediction markets on Sapience for ElizaOS price betting | Mentioned By: Kenk\nType: Technical | Description: Implement time decay algorithm for prediction market: ((duration^2 - (bet_start_time-my_bet_time)^2)^1/2) / duration = decay_multiplier | Mentioned By: DorianD\nType: Feature | Description: Create a spotting event agent on Sapience with elizaOS framework focused on crypto price betting | Mentioned By: Omid Sa\nType: Documentation | Description: Track and document bets on ElizaOS price being above/below $0.01 by NYE | Mentioned By: DorianD\nType: Technical | Description: Participate in Sapience x elizaOS hackathon to build prediction market agents | Mentioned By: Kenk\n---\n1300025221834739744\n---\n\ud83d\udcac-coders\n---\n# Discord Chat Analysis for \ud83d\udcac-coders Channel\n\n## 1. Summary:\nThe chat primarily focused on technical issues with the elizaOS platform. FenrirFawks reported excessive API request consumption by the Twitter agent. Jin announced fixes to data pipelines for the elizaOS/knowledge repository, including RSS feed implementation and MCP server updates. Roman V sought guidance on integrating web3 and x402 payment capabilities into a fresh elizaOS agent, with Odilitime clarifying that x402 payment acceptance is still being rolled out. A user named Thirtieth attempted to set up an agent for Polymarket but encountered installation difficulties with Bun. The chat also included a reminder about the Sapience x elizaOS hackathon with a $10,000 prize from Arbitrum DAO, featuring an upcoming workshop.\n\n## 2. FAQ:\nQ: Is it normal that the twitter agent takes 50 request for every call? (asked by FenrirFawks) A: Not directly answered, but FenrirFawks later mentioned setting it not to reply reduced request consumption\nQ: What's the up-to-date approach for web3 and x402 services integration? (asked by Roman V) A: We're still rolling out accepting x402 payments in any plugin route, and I don't think an x402 client has been made yet (answered by Odilitime)\nQ: Are there any tutorials for a novice like me to try and build an agent for Polymarket? (asked by Thirtieth) A: https://docs.elizaos.ai (answered by satsbased)\nQ: Where do I manually add the directory? (asked by Thirtieth) A: Did you run those exports? (answered by Odilitime)\nQ: Where do I then go to continue working on the project elizacloud.ai or in the terminal? (asked by Thirtieth) A: You do these generally after creating projects (answered by sayonara)\n\n## 3. Help Interactions:\nHelper: jin | Helpee: Community | Context: Broken data pipelines for elizaOS/knowledge | Resolution: Fixed pipelines, added RSS feeds and MCP server implementation\nHelper: satsbased | Helpee: Thirtieth | Context: Looking for Polymarket agent tutorials | Resolution: Provided link to elizaOS documentation\nHelper: Odilitime | Helpee: Thirtieth | Context: Bun installation directory configuration | Resolution: Asked if user ran the export commands\nHelper: sayonara | Helpee: Thirtieth | Context: Confusion about next steps after installation | Resolution: Clarified that those steps come after project creation\n\n## 4. Action Items:\nTechnical: Fix excessive API request consumption in Twitter agent | Description: Twitter agent consuming 50 requests per call | Mentioned By: FenrirFawks\nTechnical: Test MCP server implementation | Description: MCP server added but untested | Mentioned By: jin\nDocumentation: Create up-to-date guide for enabling x402/web3 capabilities | Description: Current documentation appears outdated | Mentioned By: Roman V\nFeature: Develop x402 client | Description: No x402 client has been made yet | Mentioned By: Odilitime\nFeature: Create Polymarket integration tutorial | Description: Guide for building agents to analyze betting markets | Mentioned By: Thirtieth\n---\n1377726087789940836\n---\ncore-devs\n---\nThe chat segment is brief and contains minimal technical discussion. Jin mentioned fixing a channel and setting up alerts for workflow failures. Jin also expressed interest in finding someone with infosec experience to collaborate on a two-week sprint focused on developing security agents, potentially integrating with x402. Odilitime announced a patch to elizaos.ai for Next.js 16.0.10. There was also a suggestion from cjft to modify the GitHub Discord webhook to reduce noise by only showing important events like commits and PRs rather than all CI events, which Odilitime supported.\n---\n2025-12-12.md\n---\n# elizaOS Discord - 2025-12-12\n\n## Overall Discussion Highlights\n\n### Token & Prediction Markets\n- DorianD initiated a bet on whether ElizaOS would be above or below $0.01 by NYE\n- Users placed bets: DorianD bet 1000 ElizaOS on over $0.01 and 500 on under, Omid Sa bet 3000 on over\n- DorianD proposed a time decay algorithm for the betting system to reward early bets\n- Discussion about creating a prediction market on Sapience for ElizaOS price betting\n\n### Hackathon & Events\n- Sapience x elizaOS hackathon announced with a $10,000 prize from Arbitrum DAO\n- Hackathon running until January 2026, with a workshop scheduled\n- Focus on building prediction market agents\n\n### Technical Updates\n- Jin fixed data pipelines for the elizaOS/knowledge repository\n- RSS feed implementation and MCP server updates completed\n- Odilitime released a patch to elizaos.ai for Next.js 16.0.10\n- FenrirFawks reported Twitter agent consuming excessive API requests (50 per call)\n- Discussion about x402 payment capabilities integration into elizaOS agents\n\n### Security & Infrastructure\n- Jin seeking someone with infosec experience for a two-week sprint on security agents\n- Potential integration of security agents with x402\n- cjft suggested modifying GitHub Discord webhook to reduce noise by only showing important events\n\n### Token Migration Issues\n- Some users expressed concerns about token migration problems\n- Discussion about price movements and migration impact\n- Questions about why tokens weren't burned during migration\n\n## Key Questions & Answers\n\n**Q: How can I migrate my Ai16z tokens to ElizaOS?**  \nA: Use the support channel #\ud83c\udfab-support-tickets (answere\n---\n2025-12-13.md\n---\nFile not found\n---\n2025-11-30.md\n---\n# elizaos/eliza Weekly Report (Nov 30 - 6, 2025)\n\n## \ud83d\ude80 Highlights\nThis week was characterized by a significant push for stabilization and code quality, followed by the introduction of new foundational features. Development focused on major refactoring efforts to standardize logging and optimize the server architecture. A large number of UI/UX issues were resolved, leading to a cleaner and more reliable user experience. The week concluded with proposals for a unified serverless API and robust JWT authentication, signaling a shift towards building out the next layer of core services.\n\n## \ud83d\udee0\ufe0f Key Developments\nWork this week centered on improving the existing codebase through refactoring, bug fixes, and stabilization.\n\n- **Core Component Refactoring & Stabilization**\n  - A major refactor was completed to standardize logging across the Core, CLI, and Server components, improving observability and resolving technical debt ([#6169]).\n  - The server underwent a significant optimization and reorganization effort to improve its structure and performance ([#6199]).\n  - A necessary rollback was performed on the `plugin-sql` package to revert problematic build configuration changes ([#6194]).\n\n- **Client UI Bug Fixes**\n  - The user-facing client was improved with fixes to markdown rendering. These changes addressed excessive vertical spacing in AI-generated responses, particularly around headings and blockquotes, for better visual consistency ([#6159], [#6197]).\n\n- **New Foundational Features (In Progress)**\n  - Work began on two significant backend features with new pull requests for a unified serverless API ([#6201]) and a comprehensive JWT authentication and user management system ([#6200]).\n\n## \ud83d\udc1b Issues & Triage\nIssue management focused on closing out a wide range of bugs and UI/UX improvements, while new issues point toward future platform expansion.\n\n- **Closed Issues:**\n  - **UI/UX & Stability:** A large batch of issues was closed to enhance the user experience and platform stability. This included simplifying the UI by cleaning up the sidebar and removing \"Quick Presets\" ([#6174], [#6176], [#6179]), improving server reliability by addressing connection timeouts ([#6198]), and fixing a container deployment bug ([#6187]).\n  - **Technical Debt & Logging:** The long-standing effort to standardize logging and clean up the CLI/server was officially closed ([#6073], [#5932]).\n  - **Community Questions:** Issues regarding OpenAI-compatible API support ([#6168]) and the location of documentation ([#6122]) were closed with clarifications, demonstrating responsiveness to user queries.\n\n- **New & Active Issues:**\n  - **Future Platform Expansion:** New discussions were opened around significant future capabilities, including proposals for native Voice Support ([#6196]) and a dedicated Mobile App ([#6195]).\n  - **Scope Clarification:** An active discussion on Farcaster + Base app support ([#6161]) was clarified; the feature is intended for the related Otaku agent platform, not the core Eliza framework, and an initial scope for contribution was offered.\n\n## \ud83d\udcac Community & Collaboration\nThe week's activity shows a pattern of focused, collaborative effort. The large number of UI/UX and stability issues closed in a single day suggests a coordinated push to clear a backlog and polish the platform. The prompt closure of user-submitted questions about API compatibility and documentation location highlights the team's commitment to community support. Finally, the emergence of new pull requests for major architectural features and new issues proposing mobile and voice support indicates that contributors are actively thinking about the project's long-term trajectory.\n---\n2025-11-01.md\n---\n# elizaos/eliza Monthly Report (November 2025)\n\n## \ud83d\ude80 Highlights\nNovember kicked off with a dual focus on enhancing system stability and laying the groundwork for significant new capabilities. A critical bug affecting agent settings persistence was resolved, directly improving the framework's reliability. Concurrently, new development was initiated to introduce entity-level security and enhance the core runtime. The opening of several strategic issues signals a forward-looking push towards improved performance through parallel actions and background tasks, as well as new user engagement features.\n\n## \ud83d\udee0\ufe0f Key Developments\nWork this month balanced immediate fixes with the introduction of new features.\n\n- **Agent Stability Improvement**\n  A significant bug was fixed that prevented agent settings from persisting across restarts, ensuring that runtime-generated configurations are now correctly retained. This change, made to the core runtime initialization logic, enhances the overall reliability of agent operations ([#6106](https://github.com/elizaos/eliza/pull/6106)).\n\n- **New Feature Initiatives**\n  Development began on several new fronts with the opening of new pull requests:\n  - **Security:** A proposal was made to implement entity-level row-level security, aiming to add more granular data access controls ([#6107](https://github.com/elizaos/eliza/pull/6107)).\n  - **Runtime Enhancements:** Work started on adding an ElizaOS reference directly to the runtime, likely to streamline framework interactions ([#6111](https://github.com/elizaos/eliza/pull/6111)).\n\n## \ud83d\udc1b Issues & Triage\nIssue tracking this month was focused on defining the next wave of development priorities.\n\n- **Closed Issues:** No issues were closed during this period.\n\n- **New & Active Issues:** Several key issues were opened, outlining major areas for future work:\n  - **Core Functionality & Performance:** Discussions were initiated around implementing \"Parallel actions\" ([#6108](https://github.com/elizaos/eliza/issues/6108)) and \"Background tasks\" ([#6109](https://github.com/elizaos/eliza/issues/6109)), indicating a focus on scaling the system's operational capacity.\n  - **Security & User Engagement:** New issues were created for \"Entity-level RLS\" ([#6112](https://github.com/elizaos/eliza/issues/6112)), which complements the ongoing PR, and a \"Points / Leaderboard\" system ([#6110](https://github.com/elizaos/eliza/issues/6110)) to enhance user interaction.\n  - According to the reports, none of the active issues have generated more than three comments, suggesting discussions are still in their early stages.\n\n## \ud83d\udcac Community & Collaboration\nThe provided reports indicate a period of focused, heads-down development. While new pull requests and issues were opened, the data does not show any high-volume discussions or specific collaborative events. The alignment between the new pull request for RLS ([#6107](https://github.com/elizaos/eliza/pull/6107)) and the corresponding new issue ([#6112](https://github.com/elizaos/eliza/issues/6112)) suggests coordinated planning around new features.\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 20 new PRs (11 merged), 4 new issues, and 15 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_kwDOMT5cIs7V2Gw0\",\n      \"title\": \"Docs\",\n      \"author\": \"borisudovicic\",\n      \"number\": 6128,\n      \"repository\": \"elizaos/eliza\",\n      \"body\": \"* Build new /docs UI (public, not auth-locked).\\n* Include:\\n  * OpenAI-style API explorer.\\n  * Character setup & API key usage examples.\\n  * Overview of Cloud architecture.\",\n      \"createdAt\": \"2025-11-04T18:15:26Z\",\n      \"closedAt\": \"2025-12-10T14:27:42Z\",\n      \"state\": \"CLOSED\",\n      \"commentCount\": 0\n    },\n    {\n      \"id\": \"I_kwDOMT5cIs7YjZ7G\",\n      \"title\": \"can i use deepseek api?\",\n      \"author\": \"870171594\",\n      \"number\": 6156,\n      \"repository\": \"elizaos/eliza\",\n      \"body\": \"**Is your feature request related to a problem? Please describe.**\\n\\n<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->\\n\\n**Describe the solution you'd like**\\n\\n<!-- A clear and concise description of what you want to happen. -->\\n\\n**Describe alternatives you've considered**\\n\\n<!-- A clear and concise description of any alternative solutions or features you've considered. -->\\n\\n**Additional context**\\n\\n<!-- Add any other context or screenshots about the feature request here. -->\\n\",\n      \"createdAt\": \"2025-11-17T12:36:09Z\",\n      \"closedAt\": \"2025-12-08T13:17:30Z\",\n      \"state\": \"CLOSED\",\n      \"commentCount\": 0\n    },\n    {\n      \"id\": \"I_kwDOMT5cIs7aq1FH\",\n      \"title\": \"Fix \\\"Dashboard\\\" Button Pointer Event\",\n      \"author\": \"borisudovicic\",\n      \"number\": 6188,\n      \"repository\": \"elizaos/eliza\",\n      \"body\": \"\",\n      \"createdAt\": \"2025-11-26T18:43:21Z\",\n      \"closedAt\": \"2025-12-02T16:15:51Z\",\n      \"state\": \"CLOSED\",\n      \"commentCount\": 0\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\": 5397,\n    \"deletions\": 4289,\n    \"files\": 195,\n    \"commitCount\": 150\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\": \"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\": \"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  \"topContributors\": [\n    {\n      \"username\": \"standujar\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/16385918?u=718bdcd1585be8447bdfffb8c11ce249baa7532d&v=4\",\n      \"totalScore\": 395.6127443857232,\n      \"prScore\": 376.1967443857232,\n      \"issueScore\": 0,\n      \"reviewScore\": 18,\n      \"commentScore\": 1.416,\n      \"summary\": null\n    },\n    {\n      \"username\": \"ChristopherTrimboli\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/27584221?u=0d816ce1dcdea8f925aba18bb710153d4a87a719&v=4\",\n      \"totalScore\": 114.67356870848266,\n      \"prScore\": 95.17356870848266,\n      \"issueScore\": 0,\n      \"reviewScore\": 19.5,\n      \"commentScore\": 0,\n      \"summary\": null\n    },\n    {\n      \"username\": \"wtfsayo\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4\",\n      \"totalScore\": 106.43812183926335,\n      \"prScore\": 106.03812183926334,\n      \"issueScore\": 0,\n      \"reviewScore\": 0,\n      \"commentScore\": 0.4,\n      \"summary\": null\n    },\n    {\n      \"username\": \"lalalune\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/18633264?u=e2e906c3712c2506ebfa98df01c2cfdc50050b30&v=4\",\n      \"totalScore\": 86.7855477931522,\n      \"prScore\": 84.7855477931522,\n      \"issueScore\": 2,\n      \"reviewScore\": 0,\n      \"commentScore\": 0,\n      \"summary\": null\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\": null\n    },\n    {\n      \"username\": \"0xbbjoker\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4\",\n      \"totalScore\": 48.31247180559945,\n      \"prScore\": 33.31247180559945,\n      \"issueScore\": 0,\n      \"reviewScore\": 15,\n      \"commentScore\": 0,\n      \"summary\": null\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\": null\n    },\n    {\n      \"username\": \"Tonyflam\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/150600391?u=0c905a5f627ff99389fc79e9978f1dc47546456e&v=4\",\n      \"totalScore\": 6.218573590279973,\n      \"prScore\": 6.218573590279973,\n      \"issueScore\": 0,\n      \"reviewScore\": 0,\n      \"commentScore\": 0,\n      \"summary\": null\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\": null\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\": null\n    },\n    {\n      \"username\": \"linear\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/in/20150?v=4\",\n      \"totalScore\": 2,\n      \"prScore\": 0,\n      \"issueScore\": 2,\n      \"reviewScore\": 0,\n      \"commentScore\": 0,\n      \"summary\": null\n    },\n    {\n      \"username\": \"borisudovicic\",\n      \"avatarUrl\": \"https://avatars.githubusercontent.com/u/31806472?u=8935f4d43fd7e4eb9bf5ff92d54d4d2f8ac8a786&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\": 20,\n  \"mergedPRs\": 11,\n  \"newIssues\": 4,\n  \"closedIssues\": 22,\n  \"activeContributors\": 15\n}\n---\n2025-12-13T02:14:38.968058Z\n---\n2025-12-13\n---\nai_news_elizaos_discord_md_2025-12-12\n---\nai_news_elizaos_discord_md_2025-12-11\n---\nai_news_elizaos_discord_md_2025-12-10\n---\nai_news_elizaos_daily_discord_json_2025-12-12\n---\nai_news_elizaos_daily_discord_md_2025-12-12\n---\ngithub_summaries_week_latest_2025-11-30.md\n---\ngithub_summaries_month_latest_2025-11-01.md\n---\nai_news_elizaos_daily_json_2025-12-12\n---\nai_news_elizaos_daily_md_2025-12-12\n---\ngithub_summaries_daily_2025-12-13"
  ]
}