{
  "interval": {
    "intervalStart": "2025-07-13T00:00:00.000Z",
    "intervalEnd": "2025-07-14T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-07-13 to 2025-07-14, elizaos/eliza had 15 new PRs (7 merged), 9 new issues, and 10 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs66aH0R",
      "title": "When testing default plugins (bootstrap, sql, etc) get \"unable to register again\" error",
      "author": "lalalune",
      "number": 4996,
      "repository": "elizaos/eliza",
      "body": "When testing default plugins (bootstrap, sql, etc) get \"unable to register again\" error\n\nTo test: run 'bun run test' in any of these repos\n\nThis would be harmless but can be annoying with race condition on build for testing while developing",
      "createdAt": "2025-06-07T19:23:01Z",
      "closedAt": "2025-07-13T17:44:51Z",
      "state": "CLOSED",
      "commentCount": 2
    },
    {
      "id": "I_kwDOMT5cIs67xrH_",
      "title": "@elizaos/cli test command incorrectly requires monorepo root for standalone projects",
      "author": "sicco-moonbeam",
      "number": 5142,
      "repository": "elizaos/eliza",
      "body": "**Describe the bug**\n\nThe elizaos test command incorrectly assumes that E2E tests must be run from within the ElizaOS monorepo structure, even when running tests for standalone projects created with `elizaos create`. This prevents running E2E tests in standalone projects that are meant to extend ElizaOS functionality.\n\n\n**To Reproduce**\n\n1. Create a new ElizaOS project\n```elizaos create my-project```\n\n2. Run the e2e tests:\n\n```npm run test:e2e```\n\n3. Error: Could not find monorepo root. Make sure to run tests from within the Eliza project.\n\n**Expected behavior**\n\nThe elizaos test command should:\n1. Recognize standalone projects created with elizaos create\n2. Run E2E tests in the project's e2e/ directory\n3. Not require the full ElizaOS monorepo structure\n\n**Screenshots**\n\nN/A\n\n**Additional context**\n\n- Error is reliably reproducible with any \"out-of-the-box\" project created with @elizaos/cli\n\n",
      "createdAt": "2025-06-16T15:05:03Z",
      "closedAt": "2025-07-13T16:50:31Z",
      "state": "CLOSED",
      "commentCount": 2
    },
    {
      "id": "I_kwDOMT5cIs68Alkb",
      "title": "elizaos start crashes after accessing localhost:3000 on windows",
      "author": "paulmerz",
      "number": 5161,
      "repository": "elizaos/eliza",
      "body": "**Describe the bug**\n\nAs a newby (red flag hahah) I am just trying to get the agent up and running but cannot access the UI after the server built and I get the \"Startup successful! Go to the dashboard at http://localhost:3000\"\n\nHere's the error I get in the terminal : \n\n[logs.txt](https://github.com/user-attachments/files/20780709/logs.txt)\n\nEspecially : agentName: \"Eliza\"\n    logLevel: \"debug\"\n[2025-06-17 17:28:26] DEBUG: Handling plugin request in the plugin route handler\n    path: \"/@vite/client\"\n    method: \"GET\"\n    query: {}\n[2025-06-17 17:28:26] DEBUG: No valid agentId in query. Trying global match for path: /@vite/client\n[2025-06-17 17:28:26] DEBUG: No plugin route handled GET /@vite/client, passing to next middleware.\nNotFoundError: Not Found\n\n**To Reproduce**\n\nFresh install on WSL 2 on windows 11 using bun and the elizaos cli\n- node 22.16.0\n- bun 1.2.16\n- elizaos 1.0.9\n\nFollow the quickstart https://github.com/elizaOS/eliza\n\nPut your openai key in the .ENV (or make sure it's there)\n\nRun `LOG_LEVEL=debug elizaos start`\n\nIf that helps, I see no \"public\" or \"static\" folder which I usually find in a project that has a frontend\n\n**Expected behavior**\n\nI would expect to access the UI to chat with the agent\n\n**Screenshots**\n\n![Image](https://github.com/user-attachments/assets/594d27e8-9edc-4550-a9bc-1ccbbe8c44f6)\n\nI get a white page with the following errors in the console : \n\n:3000/@vite/client:1 \nFailed to load resource: the server responded with a status of 404 (Not Found)Understand this error\n:3000/src/main.tsx:1 \n                    \nFailed to load resource: the server responded with a status of 404 (Not Found)Understand this error\n:3000/@react-refresh:1             \n            \nFailed to load resource: the server responded with a status of 404 (Not Found)\n",
      "createdAt": "2025-06-17T17:41:09Z",
      "closedAt": "2025-07-13T16:19:26Z",
      "state": "CLOSED",
      "commentCount": 2
    },
    {
      "id": "I_kwDOMT5cIs68o4X0",
      "title": "server",
      "author": "furkannabisumji",
      "number": 5230,
      "repository": "elizaos/eliza",
      "body": "{\n    \"success\": false,\n    \"error\": {\n        \"message\": \"API endpoint not found\",\n        \"code\": 404\n    }\n}\nin all endpoints including health only get agents is working ",
      "createdAt": "2025-06-21T06:56:44Z",
      "closedAt": "2025-07-13T16:51:00Z",
      "state": "CLOSED",
      "commentCount": 2
    },
    {
      "id": "I_kwDOMT5cIs6_eTqV",
      "title": "should not show update availble during update command",
      "author": "linear",
      "number": 5447,
      "repository": "elizaos/eliza",
      "body": "<img src=\"https://uploads.linear.app/186bdefa-3633-464a-80cd-6e86fe765a5c/aa7f2c7b-540b-4d3a-afdf-cfd3b9d7d985/764431b7-81b3-49ce-94df-a4f94ad43a7e?signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXRoIjoiLzE4NmJkZWZhLTM2MzMtNDY0YS04MGNkLTZlODZmZTc2NWE1Yy9hYTdmMmM3Yi01NDBiLTRkM2EtYWZkZi1jZmQzYjlkN2Q5ODUvNzY0NDMxYjctODFiMy00OWNlLTk0ZGYtYTRmOTRhZDQzYTdlIiwiaWF0IjoxNzUxOTc4MzAxLCJleHAiOjMzMzIyNTM4MzAxfQ.7X7l5BjaqaeLAFd2PIUsx1s-S1Ld1y7uuvl3GMP5sb4 \" alt=\"Screenshot 2025-07-08 at 6.07.43 PM.png\" width=\"784\" data-linear-height=\"487\" />",
      "createdAt": "2025-07-08T12:38:21Z",
      "closedAt": "2025-07-13T17:27:26Z",
      "state": "CLOSED",
      "commentCount": 2
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs6eZ7f8",
      "title": "New NEAR plugin",
      "author": "lalalune",
      "number": 5521,
      "body": "This PR adds a new NEAR plugin from `next`",
      "repository": "elizaos/eliza",
      "createdAt": "2025-07-11T01:45:55Z",
      "mergedAt": null,
      "additions": 6576,
      "deletions": 0
    },
    {
      "id": "PR_kwDOMT5cIs6esQci",
      "title": "feat: implement service types and standardized interfaces with getServicesByType() method",
      "author": "wtfsayo",
      "number": 5565,
      "body": "This PR implements the service types and test services system requested in issue #4914.\r\n\r\n## Key Features\r\n\r\n- **getServicesByType() method**: Returns all services of a specific type\r\n- **Multiple services per type**: Support for multiple wallet services, PDF services, etc.\r\n- **Standardized interfaces**: Created comprehensive interfaces for all major service types\r\n- **Test services**: Comprehensive dummy services for all interfaces\r\n- **Backward compatibility**: Existing getService() method still works\r\n\r\n## Service Interfaces Added\r\n\r\n- IPdfService - PDF processing, extraction, generation\r\n- IVideoService - Video download, processing, conversion\r\n- IBrowserService - Web browser automation and scraping\r\n- ITranscriptionService - Audio transcription and speech processing\r\n- IWebSearchService - Web search and content discovery\r\n- IEmailService - Email sending, receiving, management\r\n- IMessageService - Message sending and management\r\n- IPostService - Social media posting and content management\r\n\r\n## Usage Example\r\n\r\n```typescript\r\n// Get all wallet services attached to runtime\r\nconst walletServices = runtime.getServicesByType<IWalletService>('wallet');\r\n\r\n// Get all PDF services\r\nconst pdfServices = runtime.getServicesByType<IPdfService>('pdf');\r\n```\r\n\r\nCloses #4914\r\n\r\n🤖 Generated with [Claude Code](https://claude.ai/code)",
      "repository": "elizaos/eliza",
      "createdAt": "2025-07-13T16:41:12Z",
      "mergedAt": "2025-07-15T07:04:07Z",
      "additions": 3967,
      "deletions": 739
    },
    {
      "id": "PR_kwDOMT5cIs6esQvQ",
      "title": "feat: Add ElizaNet LiteLLM fallback mechanism POC",
      "author": "wtfsayo",
      "number": 5566,
      "body": "This PR implements a fallback mechanism to the ElizaNet LiteLLM instance when primary models fail due to rate limiting or network errors.\r\n\r\n## Features\r\n- Automatic fallback to ElizaNet LiteLLM on rate limiting (429) and network errors\r\n- Support for text generation, embeddings, and image generation\r\n- Comprehensive logging and monitoring of fallback usage\r\n- Configurable via environment variables and character settings\r\n- OpenAI-compatible API integration\r\n\r\n## Changes\r\n- Modified `runtime.useModel()` to include fallback logic\r\n- Added ElizaNet API handlers for different model types\r\n- Added configuration options and error detection\r\n- Created POC test script and documentation\r\n\r\nAddresses issue #5438\r\n\r\nGenerated with [Claude Code](https://claude.ai/code)",
      "repository": "elizaos/eliza",
      "createdAt": "2025-07-13T16:43:33Z",
      "mergedAt": null,
      "additions": 2109,
      "deletions": 0
    },
    {
      "id": "PR_kwDOMT5cIs6eJhRm",
      "title": "feat: Implement CLI documentation coverage validation system (#5325)",
      "author": "krishvsoni",
      "number": 5492,
      "body": "- Add comprehensive CLI coverage validation system  \r\n- Implement missing 'stop' command with full functionality  \r\n- Create automated coverage checker script and test suite  \r\n- Add GitHub Actions workflow for CI validation  \r\n- Ensure all 12 CLI commands have documentation and tests  \r\n\r\nThis PR addresses issue #5325: TESTING: test all CLI commands against the CLI Docs.\r\n\r\n---\r\n\r\n### Changes:\r\n- Add stop command implementation with process management  \r\n- Create CLI coverage test suite (`cli-docs-coverage.test.ts`)  \r\n- Add coverage analysis script (`check-cli-coverage.ts`)  \r\n- Add GitHub Actions workflow for PR validation  \r\n- Add comprehensive documentation (`CLI-COVERAGE.md`)  \r\n- Fix path references in test files  \r\n- Add stop command tests  \r\n\r\n---\r\n\r\n### Coverage Status:\r\n12/12 commands implemented  \r\n12/12 commands documented  \r\n12/12 commands tested  \r\nCI validation enabled  \r\n\r\n---\r\n\r\n## Changes Summary\r\nImplemented the missing `stop` command with full process management  \r\nAdded comprehensive CLI command coverage validation system  \r\n\r\n### Created `cli-docs-coverage.test.ts` for CLI-docs test coverage  \r\n### Developed `check-cli-coverage.ts` automated coverage analysis script  \r\n### Added GitHub Actions workflow for CI-based CLI validation  \r\n### Wrote full documentation in `CLI-COVERAGE.md`  \r\n### Fixed path references across test files  \r\n### Added test coverage for the new `stop` command  \r\n\r\n---\r\n\r\n### Coverage Table\r\n\r\n| Category        | Status     |\r\n|----------------|------------|\r\n| Commands Impl. | 12 / 12    |\r\n| Docs Coverage  | 12 / 12    |\r\n| Tests Present  | 12 / 12    |\r\n| CI Integrated  | Yes        |\r\n\r\n---\r\n\r\n### Relates To\r\nIssue #5325\r\n\r\n---\r\n\r\n### Risks\r\n**Medium:** Any regressions in command behavior may impact dev workflows or user automation scripts.  \r\nCLI command interface changes must be carefully validated to avoid breaking user expectations.\r\n\r\n---\r\n\r\n### Background\r\nThis initiative ensures all CLI commands are:\r\n\r\n- Fully implemented  \r\n- Thoroughly tested  \r\n- Documented with up-to-date descriptions  \r\n\r\nThe coverage checker and CI pipeline enforce this going forward, preventing drift between code and docs.\r\n\r\n---\r\n\r\n### Testing\r\n\r\n#### Where to Start\r\n- Review `check-cli-coverage.ts` and `cli-docs-coverage.test.ts` for logic and output  \r\n- Verify the `stop` command implementation and related test cases\r\n\r\n#### Detailed Steps\r\n- Run `npm run test` and `npm run check-cli-coverage`  \r\n- Review GitHub Actions output on PR for CI test results\r\n\r\n\r\nDiscord - krishvsoni",
      "repository": "elizaos/eliza",
      "createdAt": "2025-07-09T15:41:48Z",
      "mergedAt": null,
      "additions": 1380,
      "deletions": 2
    },
    {
      "id": "PR_kwDOMT5cIs6esO9k",
      "title": "feat: implement customizable logger configuration for downstream projects",
      "author": "wtfsayo",
      "number": 5563,
      "body": "**Summary**\r\n\r\nImplements customizable logger configuration for downstream projects, addressing #5183. This enables projects to customize root logger behavior including transports, formatters, and levels.\r\n\r\n**Changes**\r\n\r\n- Add LoggerConfig interface with support for custom transports, formatters, and levels\r\n- Implement delayed logger initialization system to allow project-level configuration\r\n- Add logger configuration loading from project modules and dedicated config files\r\n- Support multiple configuration sources: project exports, package.json, and config files\r\n- Maintain backward compatibility with existing environment-based logger setup\r\n- Add comprehensive example configuration with CloudWatch, file, and HTTP transports\r\n- Update CLI to apply logger configuration before starting agents\r\n\r\n**Testing**\r\n\r\nAll existing tests pass and backward compatibility is maintained. The implementation has been tested with sample configurations.\r\n\r\nFixes #5183\r\n\r\n🤖 Generated with [Claude Code](https://claude.ai/code)",
      "repository": "elizaos/eliza",
      "createdAt": "2025-07-13T16:29:46Z",
      "mergedAt": null,
      "additions": 601,
      "deletions": 1
    }
  ],
  "codeChanges": {
    "additions": 990,
    "deletions": 776,
    "files": 48,
    "commitCount": 87
  },
  "completedItems": [
    {
      "title": "Fix: tsup build wipes vite build",
      "prNumber": 5555,
      "type": "bugfix",
      "body": "# Risks\r\n* Low risk, only changing 3 build config settings\r\n\r\n# Background\r\nThe build script in both `project-starter` and `plugin-starter` are: `tsc --noEmit && vite build && tsup`\r\n\r\nThe issue is that `tsup.config.ts` had `clean: true` wh",
      "files": [
        "packages/plugin-starter/src/__tests__/build-order.test.ts",
        "packages/plugin-starter/tsup.config.ts",
        "packages/plugin-starter/vite.config.ts",
        "packages/project-starter/src/__tests__/build-order.test.ts",
        "packages/project-starter/tsup.config.ts",
        "packages/plugin-starter/src/__tests__/vite-config-utils.ts",
        "packages/project-starter/src/__tests__/vite-config-utils.ts"
      ]
    },
    {
      "title": "Fix advisory lock acquisition bug",
      "prNumber": 5572,
      "type": "bugfix",
      "body": "# Relates to\n\n<!-- No explicit issue/ticket provided -->\n\n# Risks\n\nLow. This is a targeted bug fix correcting data access, unlikely to introduce regressions.\n\n# Background\n\n## What does this PR do?\n\nThis PR fixes a bug in the `acquireAdviso",
      "files": [
        "packages/plugin-sql/src/migration-service.ts"
      ]
    },
    {
      "title": "feat: enhance Claude workflows with full command access and PR commit triggers",
      "prNumber": 5570,
      "type": "feature",
      "body": "## Summary\n- Enable Claude code review workflow to run on every commit to PRs (not just on open/ready)\n- Grant full bash and GitHub CLI command access to both Claude workflows\n- Closes #5564\n\n## Changes\n1. **Claude Code Review Workflow (`cl",
      "files": [
        ".github/workflows/claude-code-review.yml",
        ".github/workflows/claude.yml"
      ]
    },
    {
      "title": "fix: suppress update notification during update command execution",
      "prNumber": 5567,
      "type": "bugfix",
      "body": "The update command was showing 'update available' messages during execution due to displayBanner() being called without skipUpdateCheck parameter. This fix passes true to skip the update check during update command execution.\r\n\r\nFixes #5447",
      "files": [
        "packages/cli/src/commands/update/index.ts"
      ]
    },
    {
      "title": "fix: update CLI test expectations for version 1.2.1",
      "prNumber": 5561,
      "type": "bugfix",
      "body": "## Summary\n- Update version check in update.test.ts from 1.2.0 to 1.2.1\n- Handle monorepo detection in update command tests  \n- Tests now properly handle output when run from monorepo context\n\n## Test plan\n- [x] Run tests locally with `bun ",
      "files": [
        "CLAUDE.md",
        "bun.lock",
        "packages/app/package.json",
        "packages/app/src-tauri/Cargo.lock",
        "packages/app/src-tauri/Cargo.toml",
        "packages/app/src-tauri/src/lib.rs",
        "packages/app/src-tauri/tauri.conf.json",
        "packages/cli/src/commands/create/actions/creators.ts",
        "packages/cli/src/utils/get-config.ts",
        "packages/cli/tests/commands/plugins.test.ts",
        "packages/cli/tests/commands/update.test.ts",
        "packages/cli/tests/unit/characters/character-plugin-ordering.test.ts",
        "packages/cli/tests/unit/utils/build-project.test.ts",
        "packages/core/src/__tests__/runtime.test.ts",
        "packages/core/src/specs/v2/__tests__/runtime.test.ts",
        "packages/docs/blog/plugin-ordering-guide.mdx",
        "packages/project-starter/src/__tests__/character-plugin-ordering.test.ts",
        "packages/project-starter/src/character.ts",
        "packages/project-tee-starter/src/character.ts"
      ]
    },
    {
      "title": "📝 CodeRabbit Chat: Add verification script and refactor plugin ordering tests for clarity and robustness",
      "prNumber": 5557,
      "type": "refactor",
      "body": "Code changes was requested by @wtfsayo.\n\n* https://github.com/elizaOS/eliza/pull/5556#issuecomment-3066745260\n\nThe following files were modified:\n\n* `packages/cli/tests/unit/characters/character-plugin-ordering.test.ts`",
      "files": [
        "packages/cli/tests/unit/characters/character-plugin-ordering.test.ts"
      ]
    },
    {
      "title": "fix: core tests + replace execa + use bun runtime + replace local-ai + more",
      "prNumber": 5556,
      "type": "bugfix",
      "body": "This pull request introduces significant updates to streamline workflows, improve configuration management, and enhance local AI support by emphasizing the use of Ollama. Key changes include simplifying review prompts, enforcing the use of ",
      "files": [
        ".github/workflows/claude-code-review.yml",
        ".github/workflows/claude.yml",
        "CLAUDE.md",
        "bun.lock",
        "packages/cli/package.json",
        "packages/cli/src/characters/eliza.ts",
        "packages/cli/src/commands/create/actions/creators.ts",
        "packages/cli/src/commands/create/actions/setup.ts",
        "packages/cli/src/commands/create/utils/selection.ts",
        "packages/cli/src/utils/get-config.ts",
        "packages/cli/src/utils/registry/index.ts",
        "packages/cli/src/utils/user-environment.ts",
        "packages/cli/tests/unit/characters/README.md",
        "packages/cli/tests/unit/characters/character-plugin-ordering.test.ts",
        "packages/client/src/components/character-form.tsx",
        "packages/client/src/components/plugins-panel.tsx",
        "packages/client/src/config/voice-models.ts",
        "packages/client/src/hooks/use-character-convert.ts",
        "packages/core/src/__tests__/roles.test.ts",
        "packages/core/src/__tests__/runtime.test.ts",
        "packages/core/src/__tests__/settings.test.ts",
        "packages/core/src/specs/v2/__tests__/actions.test.ts",
        "packages/core/src/specs/v2/__tests__/runtime.test.ts",
        "packages/core/tsconfig.json",
        "packages/docs/blog/plugin-ordering-guide.mdx",
        "packages/docs/docs/core/knowledge.md",
        "packages/docs/static/llms-full.txt",
        "packages/project-starter/src/__tests__/character-plugin-ordering.test.ts",
        "packages/project-starter/src/character.ts",
        "packages/project-tee-starter/src/character.ts",
        "packages/test-utils/package.json"
      ]
    }
  ],
  "topContributors": [
    {
      "username": "wtfsayo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4",
      "totalScore": 304.9410809259207,
      "prScore": 295.9030809259207,
      "issueScore": 4.1,
      "reviewScore": 4.5,
      "commentScore": 0.43799999999999994,
      "summary": "wtfsayo: Merged 4 PRs in elizaos/eliza including a fix for an advisory lock acquisition bug (elizaos/eliza#5572, +1/-1 lines) and an update to CLI test expectations (elizaos/eliza#5561, +101/-144 lines), while also creating 2 issues (elizaos/eliza#5234, elizaos/eliza#5564) and commenting extensively on PRs and issues. Modified 1297 files with +37708/-126695 lines, focusing on other, feature, and bugfix work."
    },
    {
      "username": "ChristopherTrimboli",
      "avatarUrl": "https://avatars.githubusercontent.com/u/27584221?u=0d816ce1dcdea8f925aba18bb710153d4a87a719&v=4",
      "totalScore": 57.328773896576095,
      "prScore": 57.328773896576095,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "ChristopherTrimboli: Merged elizaos/eliza#5556, which involved core tests, replacing execa, using bun runtime, and replacing l... (+1233/-1333 lines) and modified 25 files with 5 commits, focusing on other work."
    },
    {
      "username": "linear",
      "avatarUrl": "https://avatars.githubusercontent.com/in/20150?v=4",
      "totalScore": 18,
      "prScore": 0,
      "issueScore": 18,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "linear: Created 11 issues in elizaos/eliza, including #4023, #5447, #5497, #5559, and #5573 through #5579, and shows sporadic activity."
    },
    {
      "username": "github-advanced-security",
      "avatarUrl": "https://avatars.githubusercontent.com/in/57789?v=4",
      "totalScore": 4.5,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 4.5,
      "commentScore": 0,
      "summary": "github-advanced-security: Activity consisted of 1 review with comments. The team has shown sporadic activity recently."
    }
  ],
  "newPRs": 15,
  "mergedPRs": 7,
  "newIssues": 9,
  "closedIssues": 16,
  "activeContributors": 10
}