{
  "interval": {
    "intervalStart": "2025-08-03T00:00:00.000Z",
    "intervalEnd": "2025-08-04T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-08-03 to 2025-08-04, elizaos/eliza had 1 new PRs (0 merged), 0 new issues, and 2 active contributors.",
  "topIssues": [],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs6h511h",
      "title": "fix/elizaos test component",
      "author": "yungalgo",
      "number": 5705,
      "body": "# Fix: Enable `elizaos test --type component` for all project and plugin types\r\n\r\n## Overview\r\n\r\nThis PR fixes the `elizaos test --type component` command to ensure it passes for all project and plugin types generated by the CLI. Previously, newly created projects and plugins would fail their component tests due to various issues including TypeScript errors, missing routes, incorrect test expectations, and build configuration problems.\r\n\r\n## Problem\r\n\r\nWhen developers created new projects or plugins using:\r\n- `elizaos create --type plugin` (then selecting \"quick\" template)\r\n- `elizaos create --type plugin` (then selecting \"full\" template)\r\n- `elizaos create --type project`\r\n- `elizaos create --type tee`\r\n\r\nRunning `elizaos test --type component` would fail with various errors, creating a poor developer experience and blocking CI/CD pipelines.\r\n\r\n## Solution\r\n\r\nThis PR implements comprehensive fixes across all starter templates to ensure component tests pass out of the box.\r\n\r\n### Changes by Package\r\n\r\n#### 1. **plugin-starter** (Regular Plugin Template)\r\n- Fixed `StarterService` logger calls from `logger.debug` to `logger.info` to match test expectations\r\n- Added missing `runtime: IAgentRuntime` parameter to plugin `init` method\r\n- Standardized hello world action response to return \"Hello world!\" consistently\r\n- Added error logging in catch blocks as expected by tests\r\n- Updated test expectations to match implementation\r\n\r\n#### 2. **plugin-quick-starter** (Quick Plugin Template)\r\n- Applied same fixes as plugin-starter for consistency\r\n- Ensured logger calls match test expectations\r\n- Fixed init method signature\r\n\r\n#### 3. **project-starter** (Regular Project Template)\r\n- Fixed tests to handle dynamic project names instead of expecting hardcoded `@elizaos/project-starter`\r\n- Added proper mock runtime parameter in integration tests\r\n- Minor test improvements for robustness\r\n\r\n#### 4. **project-tee-starter** (TEE Project Template) - Most Significant Changes\r\n- **TypeScript Fixes:**\r\n  - Fixed TS7017 error by changing `global.expect` to `(global as any).expect`\r\n  \r\n- **Plugin Architecture:**\r\n  - Added missing TEE Status panel route (`/tee-status`)\r\n  - Properly implemented `StarterService` as a Service class extending from `@elizaos/core`\r\n  - Fixed service registration in plugin exports\r\n\r\n- **Validation & Configuration:**\r\n  - Added TEE_MODE validation (OFF, LOCAL, DOCKER, PRODUCTION)\r\n  - Added TEE_VENDOR validation (must be 'phala')\r\n  - Enhanced WALLET_SECRET_SALT validation (8-128 characters)\r\n  - Added proper test environment defaults\r\n\r\n- **Build Configuration:**\r\n  - Aligned tsup config with project-starter (`clean: false`)\r\n  - Fixed build order to prevent vite output from being cleaned\r\n  - Added build setup in file structure tests\r\n\r\n- **Test Infrastructure:**\r\n  - Added `test:install` scripts to match project-starter pattern\r\n  - Created new test files:\r\n    - `build-order.test.ts` - Validates build process\r\n    - `frontend.test.ts` - Comprehensive frontend testing\r\n    - `tee-validation.test.ts` - TEE-specific validation tests\r\n    - `vite-config-utils.ts` - Helper for vite config parsing\r\n\r\n## Technical Details\r\n\r\n### Key Architectural Improvements\r\n\r\n1. **Consistent Plugin Interface:**\r\n   ```typescript\r\n   async init(config: Record<string, string>, runtime: IAgentRuntime)\r\n   ```\r\n\r\n2. **Test Environment Handling:**\r\n   - Proper detection of test environment\r\n   - Sensible defaults for required environment variables\r\n   - No test workarounds or skipped tests\r\n\r\n3. **Build Process Alignment:**\r\n   - All projects use consistent build order: `tsc && vite build && tsup`\r\n   - Unified tsup configuration across templates\r\n\r\n## Testing\r\n\r\nAll changes have been thoroughly tested:\r\n\r\n```bash\r\n# Create and test each project type\r\nelizaos create --type plugin --template quick test-quick -y\r\ncd test-quick && elizaos test --type component ✅\r\n\r\nelizaos create --type plugin --template full test-full -y\r\ncd test-full && elizaos test --type component ✅\r\n\r\nelizaos create --type tee test-tee -y\r\ncd test-tee && elizaos test --type component ✅\r\n\r\nelizaos create --type project test-project -y\r\ncd test-project && elizaos test --type component ✅\r\n```\r\n\r\n## Impact\r\n\r\n- ✅ Developers can now create projects/plugins and immediately run tests successfully\r\n- ✅ CI/CD pipelines work out of the box for generated projects\r\n- ✅ Consistent behavior across all project types\r\n- ✅ Better developer experience with clear test patterns\r\n\r\n## Breaking Changes\r\n\r\nNone. All changes maintain backward compatibility.\r\n\r\n## Notes\r\n\r\n- This PR focuses only on component tests (`--type component`)\r\n- E2E tests (`--type e2e`) will be addressed in a follow-up PR\r\n- No changes to runtime behavior, only test and build configurations\r\n\r\n## Related Issues\r\n\r\nFixes issues with `elizaos test` command failing on newly created projects.\r\n\r\n## Checklist\r\n\r\n- [x] All component tests pass for generated projects\r\n- [x] No breaking changes to existing functionality\r\n- [x] Code follows project conventions\r\n- [x] TypeScript compilation succeeds\r\n- [x] Linting passes (with expected bun:test type warnings)\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n* **New Features**\n  * Added a public status endpoint to report TEE enablement and vendor.\n  * Introduced a class-based TEE starter service with lifecycle methods and capability description.\n  * Added a build order integration test to ensure frontend build outputs persist after backend build.\n  * Enhanced test utilities with comprehensive mock runtime and fixture helpers.\n\n* **Bug Fixes**\n  * Improved configuration validation for TEE-related environment variables.\n  * Ensured test dependencies are installed before running tests.\n\n* **Refactor**\n  * Simplified and improved logging messages and example texts in plugins and services.\n  * Updated service and plugin initialization logic for better environment handling.\n\n* **Tests**\n  * Significantly expanded and restructured test suites for plugins, services, actions, models, providers, routes, and events.\n  * Improved test coverage for configuration, error handling, and integration scenarios.\n\n* **Chores**\n  * Updated dependency resolutions and overrides for compatibility.\n  * Added post-install scripts to patch dependencies as needed.\n  * Relaxed package name assertions in project and file structure tests.\n\n<!-- end of auto-generated comment: release notes by coderabbit.ai -->",
      "repository": "elizaos/eliza",
      "createdAt": "2025-08-03T20:42:41Z",
      "mergedAt": "2025-08-04T20:59:25Z",
      "additions": 2094,
      "deletions": 617
    }
  ],
  "codeChanges": {
    "additions": 0,
    "deletions": 0,
    "files": 0,
    "commitCount": 8
  },
  "completedItems": [],
  "topContributors": [
    {
      "username": "yungalgo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/113615973?u=92e0f29f7e2fbb8ce46ed13c51f692ca803de02d&v=4",
      "totalScore": 43.8837738965761,
      "prScore": 43.5437738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.33999999999999997,
      "summary": "yungalgo: Focused on test and other work, modifying 17 files with 8 commits (+2060/-619 lines) and opening PR elizaos/eliza#5705."
    },
    {
      "username": "RolandOne",
      "avatarUrl": "https://avatars.githubusercontent.com/u/38446707?v=4",
      "totalScore": 5.909573590279972,
      "prScore": 5.909573590279972,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "RolandOne: Focused on adding a new plugin to the registry, as evidenced by the open PR elizaos-plugins/registry#195, which involved a minor configuration file change."
    },
    {
      "username": "wtfsayo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4",
      "totalScore": 5,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 5,
      "commentScore": 0,
      "summary": "wtfsayo: No activity today."
    }
  ],
  "newPRs": 1,
  "mergedPRs": 0,
  "newIssues": 0,
  "closedIssues": 0,
  "activeContributors": 2
}