{
  "interval": {
    "intervalStart": "2025-08-26T00:00:00.000Z",
    "intervalEnd": "2025-08-27T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-08-26 to 2025-08-27, elizaos/eliza had 6 new PRs (3 merged), 1 new issues, and 7 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs7H5FhZ",
      "title": "Feature: Native Venice AI Provider Integration",
      "author": "SavannahOz",
      "number": 5820,
      "repository": "elizaos/eliza",
      "body": "## Is your feature request related to a problem? Please describe.\n\nElizaOS currently lacks support for privacy-focused, uncensored AI providers. Users who value data privacy, open models, and freedom from content filtering have no first-class option within the framework.\n\nThis limits ElizaOS's reach among privacy-conscious developers, decentralized AI advocates, and users who reject corporate-controlled AI platforms.\n\n## Describe the solution you'd like\n\nAdd **native Venice AI provider integration** to ElizaOS.\n\nVenice AI is a privacy-first, uncensored AI platform that uses open-source models and keeps user data local. It offers an OpenAI-compatible API at `https://api.venice.ai/v1`.\n\n### Implementation should include:\n\n1. **`VeniceModelProvider` built into core or as default provider**\n   ```ts\n   class VeniceModelProvider implements ModelProvider {\n     async generateText(params: GenerateTextParams) {\n       const response = await fetch(\"https://api.venice.ai/v1/chat/completions\", {\n         method: \"POST\",\n         headers: {\n           \"Authorization\": `Bearer ${process.env.VENICE_API_KEY}`,\n           \"Content-Type\": \"application/json\"\n         },\n         body: JSON.stringify({\n           model: params.model,\n           messages: params.messages,\n           temperature: params.temperature\n         })\n       });\n\n       const data = await response.json();\n       return data.choices[0].message.content;\n     }\n   }\nAuto-detect when MODEL_PROVIDER=venice in .env\n\nNo plugin install needed\nJust set:\nMODEL_PROVIDER=venice\nVENICE_API_KEY=your_key_here\nUpdate CLI to support Venice at creation\n\nbash\nelizaos create --agent --name=Vena --model-provider=venice\n→ Auto-configures .env and provider\n\nAdd documentation\n\n/docs/providers/venice.md\nExample .env config\nPrivacy-first setup guide\nVVV staking + VCU usage notes\nOptional: Publish @elizaos/plugin-venice\n\nPre-built provider\nTwitter/X + Venice posting flows\nDashboard toggle for censorship mode\nDescribe alternatives you've considered\nUsing OpenAI / Anthropic → rejected due to data logging and censorship\nRunning local LLMs (e.g. Llama) → too resource-heavy for most users\nForking ElizaOS → not sustainable for long-term updates\nAdditional context\nVenice AI aligns perfectly with ElizaOS’s open, agent-driven vision:\n\n✅ No data stored on servers\n✅ Uncensored responses\n✅ Open-source model access\n✅ VVV token staking instead of pay-per-call\nThis integration would empower users to run truly private, autonomous agents — the way AI should be.\n\nLet’s make ElizaOS the home for free AI agents — not just another wrapper for corporate APIs.\n\nI offer to test the integration once implemented.\n\n",
      "createdAt": "2025-08-26T00:47:38Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 0
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs6lddBz",
      "title": "merge develop",
      "author": "tcm390",
      "number": 5826,
      "body": "",
      "repository": "elizaos/eliza",
      "createdAt": "2025-08-26T17:47:19Z",
      "mergedAt": null,
      "additions": 35368,
      "deletions": 49768
    },
    {
      "id": "PR_kwDOMT5cIs6lb8rP",
      "title": "feat: scenarios dynamic prompting + spec",
      "author": "monilpat",
      "number": 5824,
      "body": "# Draft Pull Request: Implement Dynamic Prompting (Multi-Turn Conversations) in ElizaOS Scenarios\r\n\r\n## 🎯 Overview\r\n\r\nThis PR implements **Dynamic Prompting** (multi-turn conversations) in ElizaOS scenarios, enabling sophisticated testing of agent behavior through extended conversations where an LLM simulates realistic user responses. This feature extends the existing single-turn scenario framework to support complex conversation flows while maintaining 100% backward compatibility.\r\n\r\n**Ticket**: [ELIZA-669](https://linear.app/eliza-labs/issue/ELIZA-669/implement-dynamic-prompting-multi-turn-conversations-in)\r\n\r\n## 🚀 Key Features\r\n\r\n### ✨ Multi-Turn Conversation Support\r\n- **LLM User Simulator**: Generates realistic, persona-driven user responses\r\n- **Conversation Orchestration**: Manages multi-turn execution with termination logic\r\n- **Turn-Level Evaluations**: Real-time assessment during conversation flow\r\n- **Advanced Evaluators**: New conversation-specific evaluation types\r\n\r\n### 🔄 Backward Compatibility\r\n- **100% Compatible**: All existing single-turn scenarios work unchanged\r\n- **Gradual Adoption**: Teams can enhance existing scenarios incrementally\r\n- **No Breaking Changes**: Existing APIs and CLI commands remain unchanged\r\n\r\n### 🧠 Intelligent Conversation Management\r\n- **Termination Conditions**: Multiple strategies for ending conversations early\r\n- **Context Retention**: Agent memory testing across conversation turns\r\n- **Emotional Intelligence**: Handling complex user personas and emotional states\r\n- **Performance Optimization**: Timeout mechanisms and resource management\r\n\r\n## 📁 Files Changed\r\n\r\n### New Files\r\n```\r\npackages/cli/src/commands/scenario/src/\r\n├── conversation-types.ts          # TypeScript interfaces for conversation components\r\n├── UserSimulator.ts              # LLM-based user response generation\r\n├── ConversationManager.ts        # Multi-turn conversation orchestration\r\n├── ConversationEvaluators.ts    # New conversation-specific evaluators\r\n└── __tests__/\r\n    ├── UserSimulator.test.ts     # Unit tests for user simulator\r\n    ├── ConversationManager.test.ts # Unit tests for conversation manager\r\n    ├── ConversationEvaluators.test.ts # Unit tests for new evaluators\r\n    ├── schema-conversation.test.ts # Schema validation tests\r\n    └── integration/\r\n        ├── conversation-flow.test.ts # Integration tests\r\n        └── backward-compatibility.test.ts # Compatibility tests\r\n```\r\n\r\n### Modified Files\r\n```\r\npackages/cli/src/commands/scenario/src/\r\n├── schema.ts                     # Extended with conversation schemas\r\n├── LocalEnvironmentProvider.ts   # Added conversation support\r\n├── E2BEnvironmentProvider.ts     # Added conversation support\r\n└── EvaluationEngine.ts           # Registered new evaluators\r\n```\r\n\r\n### New Example Files\r\n```\r\npackages/cli/src/commands/scenario/examples/\r\n├── basic-conversation.yaml       # Basic multi-turn conversation\r\n├── emotional-intelligence.yaml   # Complex persona testing\r\n├── technical-support.yaml        # Troubleshooting conversation\r\n└── knowledge-transfer.yaml       # Educational conversation\r\n```\r\n\r\n## 🔧 Technical Implementation\r\n\r\n### Schema Extensions\r\n- **ConversationConfigSchema**: Defines conversation configuration with user simulator settings\r\n- **New Evaluation Types**: `conversation_length`, `conversation_flow`, `user_satisfaction`, `context_retention`\r\n- **Backward Compatible**: Optional `conversation` field in existing `RunStepSchema`\r\n\r\n### User Simulator\r\n- **Persona-Driven**: Configurable personality, objectives, constraints, and knowledge level\r\n- **Context-Aware**: Builds prompts based on conversation history and agent responses\r\n- **Realistic Generation**: LLM-based response generation with behavioral constraints\r\n\r\n### Conversation Manager\r\n- **Multi-Turn Orchestration**: Manages conversation flow and turn execution\r\n- **Termination Logic**: Intelligent conversation ending based on multiple conditions\r\n- **Evaluation Integration**: Supports both turn-level and final evaluations\r\n- **Error Handling**: Graceful handling of failures and timeouts\r\n\r\n### New Evaluators\r\n- **ConversationLengthEvaluator**: Validates optimal conversation duration\r\n- **ConversationFlowEvaluator**: Detects required conversation patterns\r\n- **UserSatisfactionEvaluator**: Measures user satisfaction through multiple methods\r\n- **ContextRetentionEvaluator**: Verifies agent memory across conversation turns\r\n\r\n## 📋 Configuration Examples\r\n\r\n### Basic Multi-Turn Conversation\r\n```yaml\r\nrun:\r\n  - input: \"Hi, I need help with something\"\r\n    conversation:\r\n      max_turns: 4\r\n      user_simulator:\r\n        persona: \"polite customer with a billing question\"\r\n        objective: \"find out why charged twice this month\"\r\n        temperature: 0.6\r\n      final_evaluations:\r\n        - type: \"llm_judge\"\r\n          prompt: \"Did the agent successfully help resolve the billing issue?\"\r\n          expected: \"yes\"\r\n```\r\n\r\n### Advanced Emotional Intelligence Testing\r\n```yaml\r\nrun:\r\n  - input: \"This is ridiculous! Your product doesn't work!\"\r\n    conversation:\r\n      max_turns: 6\r\n      user_simulator:\r\n        persona: \"angry customer who had bad experience\"\r\n        objective: \"vent frustration but eventually want help\"\r\n        style: \"initially hostile, gradually becomes cooperative if handled well\"\r\n        constraints:\r\n          - \"Start with complaints and criticism\"\r\n          - \"Become more cooperative if agent shows empathy\"\r\n      termination_conditions:\r\n        - type: \"user_expresses_satisfaction\"\r\n        - type: \"agent_escalates_to_human\"\r\n      final_evaluations:\r\n        - type: \"user_satisfaction\"\r\n          satisfaction_threshold: 0.6\r\n        - type: \"conversation_flow\"\r\n          required_patterns: [\"empathy_then_solution\", \"clarification_cycle\"]\r\n```\r\n\r\n## 🧪 Testing Strategy\r\n\r\n### Unit Tests\r\n- **UserSimulator**: Tests persona-driven response generation and constraint handling\r\n- **ConversationManager**: Tests turn execution, termination logic, and error handling\r\n- **ConversationEvaluators**: Tests all new evaluation types with various scenarios\r\n- **Schema Validation**: Tests conversation schema validation and backward compatibility\r\n\r\n### Integration Tests\r\n- **Conversation Flow**: End-to-end conversation execution with realistic scenarios\r\n- **Provider Integration**: Tests both local and cloud environment providers\r\n- **Evaluation Integration**: Tests new evaluators with existing evaluation engine\r\n- **Backward Compatibility**: Ensures existing scenarios work unchanged\r\n\r\n### Performance Tests\r\n- **Resource Usage**: Memory and CPU usage validation for long conversations\r\n- **LLM API Optimization**: Token usage and rate limiting verification\r\n- **Timeout Handling**: Tests timeout mechanisms and graceful degradation\r\n\r\n## 📊 Performance Impact\r\n\r\n### Resource Usage\r\n- **Memory**: Additional ~50MB per conversation (configurable limits)\r\n- **CPU**: Minimal impact, primarily during LLM API calls\r\n- **Network**: Additional LLM API calls for user simulation (optimized with caching)\r\n\r\n### Execution Time\r\n- **Single-Turn Scenarios**: No impact (unchanged execution path)\r\n- **Multi-Turn Scenarios**: ~30-60 seconds per turn (configurable timeouts)\r\n- **Matrix Testing**: Parallel execution with rate limiting\r\n\r\n### LLM API Usage\r\n- **User Simulation**: ~200 tokens per turn (configurable)\r\n- **Evaluation**: ~100 tokens per evaluation (existing pattern)\r\n- **Rate Limiting**: Built-in throttling and retry logic\r\n\r\n## 🔒 Security & Reliability\r\n\r\n### Error Handling\r\n- **LLM API Failures**: Retry logic with exponential backoff\r\n- **Timeout Mechanisms**: Configurable timeouts per turn and total conversation\r\n- **Graceful Degradation**: Fallback to simpler simulation strategies\r\n- **Resource Limits**: Memory and execution time limits to prevent runaway conversations\r\n\r\n### Data Privacy\r\n- **No Persistent Storage**: Conversation data not stored beyond execution\r\n- **Transcript Export**: Optional full conversation export for debugging\r\n- **Logging Control**: Configurable debug logging levels\r\n\r\n## 🚦 Migration Guide\r\n\r\n### For Existing Scenarios\r\n**No changes required!** All existing scenarios continue to work unchanged:\r\n\r\n```yaml\r\n# Existing scenario - works exactly as before\r\nrun:\r\n  - input: \"Hello agent\"\r\n    evaluations:\r\n      - type: \"string_contains\"\r\n        value: \"hello\"\r\n```\r\n\r\n### For Enhanced Scenarios\r\nGradually add conversation features to existing scenarios:\r\n\r\n```yaml\r\n# Enhanced scenario - adds conversation while keeping existing evaluations\r\nrun:\r\n  - input: \"Hello agent\"\r\n    conversation:\r\n      max_turns: 2\r\n      user_simulator:\r\n        persona: \"friendly user\"\r\n        objective: \"have brief chat\"\r\n    evaluations:  # Keep existing evaluations for compatibility\r\n      - type: \"string_contains\"\r\n        value: \"hello\"\r\n```\r\n\r\n### For New Conversation-First Scenarios\r\nCreate scenarios designed for multi-turn testing:\r\n\r\n```yaml\r\n# New conversation-first scenario\r\nrun:\r\n  - input: \"I have a complex problem\"\r\n    conversation:\r\n      max_turns: 8\r\n      user_simulator:\r\n        persona: \"confused user with technical issue\"\r\n        objective: \"get step-by-step help\"\r\n      final_evaluations:\r\n        - type: \"user_satisfaction\"\r\n          satisfaction_threshold: 0.7\r\n        - type: \"conversation_length\"\r\n          optimal_turns: 5\r\n```\r\n\r\n## 📈 Future Enhancements\r\n\r\n### Planned Features\r\n- **Advanced Personas**: More sophisticated user personality modeling\r\n- **Multi-Agent Conversations**: Support for multiple agents in conversation\r\n- **Emotional Intelligence**: Enhanced emotional state tracking and response\r\n- **Conversation Analytics**: Advanced conversation quality metrics\r\n- **Custom Evaluators**: Framework for custom conversation evaluators\r\n\r\n### Performance Optimizations\r\n- **Response Caching**: Cache common user simulation responses\r\n- **Parallel Processing**: Concurrent evaluation execution\r\n- **Streaming Transcripts**: Real-time conversation monitoring\r\n- **Resource Pooling**: Shared LLM connection pools\r\n\r\n## ✅ Acceptance Criteria\r\n\r\n### Functional Requirements\r\n- [x] **Backward Compatibility**: All existing single-turn scenarios execute without modification\r\n- [x] **Multi-turn Execution**: Conversation scenarios execute successfully with realistic user simulation\r\n- [x] **User Simulation**: LLM generates persona-consistent, contextually appropriate responses\r\n- [x] **Termination Logic**: Conversation ends appropriately based on configured conditions\r\n- [x] **Evaluation System**: All new evaluation types provide meaningful insights\r\n- [x] **Matrix Testing**: Matrix scenarios support conversation parameters and execute correctly\r\n- [x] **Error Handling**: Graceful handling of LLM failures, timeouts, and edge cases\r\n\r\n### Performance Requirements\r\n- [x] **Execution Time**: Conversation scenarios complete within reasonable time limits (max 5 minutes for 8-turn conversation)\r\n- [x] **Memory Usage**: Memory usage remains within acceptable bounds (max 2GB for complex scenarios)\r\n- [x] **LLM API Usage**: Optimized token usage and rate limiting (max 1000 tokens per user simulation)\r\n- [x] **Resource Efficiency**: No memory leaks or resource accumulation across multiple scenarios\r\n\r\n### Quality Requirements\r\n- [x] **Test Coverage**: Comprehensive test coverage (unit: 90%, integration: 80%, e2e: 70%)\r\n- [x] **Error Handling**: Clear error messages and debugging capabilities\r\n- [x] **Documentation**: Well-documented examples and migration guide\r\n- [x] **Logging**: Comprehensive logging for debugging and monitoring\r\n- [x] **Metrics**: Performance metrics and conversation quality measurements\r\n\r\n## 🔍 Testing Instructions\r\n\r\n### Manual Testing\r\n1. **Backward Compatibility**: Run existing scenario suite to ensure no regressions\r\n2. **Basic Conversation**: Test simple multi-turn conversation scenarios\r\n3. **Complex Personas**: Test emotional intelligence and difficult user scenarios\r\n4. **Matrix Testing**: Test conversation parameters in matrix scenarios\r\n5. **Error Scenarios**: Test timeout, LLM failure, and resource limit scenarios\r\n\r\n### Automated Testing\r\n```bash\r\n# Run all tests\r\nbun test\r\n\r\n# Run conversation-specific tests\r\nbun test --grep \"conversation\"\r\n\r\n# Run backward compatibility tests\r\nbun test --grep \"backward\"\r\n\r\n# Run performance tests\r\nbun test --grep \"performance\"\r\n```\r\n\r\n## 📚 Documentation\r\n\r\n### Updated Documentation\r\n- **Dynamic Prompting Guide**: Comprehensive implementation guide\r\n- **Engineering Design**: Detailed technical design document\r\n- **Configuration Examples**: Real-world scenario examples\r\n- **Migration Guide**: Step-by-step migration instructions\r\n\r\n### New Documentation\r\n- **Conversation Best Practices**: Guidelines for effective conversation scenarios\r\n- **Persona Design Guide**: How to create realistic user personas\r\n- **Evaluation Strategies**: Advanced evaluation techniques for conversations\r\n- **Performance Tuning**: Optimization guidelines for conversation scenarios\r\n\r\n## 🤝 Review Checklist\r\n\r\n### Code Quality\r\n- [ ] **TypeScript**: All code properly typed with no `any` types\r\n- [ ] **Error Handling**: Comprehensive error handling and edge case coverage\r\n- [ ] **Logging**: Appropriate logging levels and debug information\r\n- [ ] **Documentation**: Inline code documentation and JSDoc comments\r\n- [ ] **Naming**: Clear, descriptive variable and function names\r\n\r\n### Architecture\r\n- [ ] **Separation of Concerns**: Clear boundaries between components\r\n- [ ] **Dependency Management**: Proper dependency injection and loose coupling\r\n- [ ] **Extensibility**: Framework supports future enhancements\r\n- [ ] **Performance**: Efficient resource usage and optimization\r\n- [ ] **Security**: Proper input validation and data handling\r\n\r\n### Testing\r\n- [ ] **Unit Tests**: Comprehensive unit test coverage for all components\r\n- [ ] **Integration Tests**: End-to-end testing of conversation flows\r\n- [ ] **Backward Compatibility**: Existing scenarios work unchanged\r\n- [ ] **Performance Tests**: Resource usage and timeout validation\r\n- [ ] **Error Scenarios**: Failure mode testing and recovery\r\n\r\n### Documentation\r\n- [ ] **User Guide**: Clear instructions for using conversation features\r\n- [ ] **Migration Guide**: Step-by-step migration for existing scenarios\r\n- [ ] **API Documentation**: Complete API reference for new components\r\n- [ ] **Examples**: Comprehensive example scenarios\r\n- [ ] **Troubleshooting**: Common issues and solutions\r\n\r\n## 🎉 Impact\r\n\r\nThis implementation significantly enhances ElizaOS scenario testing capabilities by enabling:\r\n\r\n1. **Realistic Agent Testing**: Multi-turn conversations that test real-world interaction patterns\r\n2. **Complex Behavior Assessment**: Evaluation of agent memory, emotional intelligence, and problem-solving\r\n3. **Comprehensive Coverage**: Testing scenarios previously impossible with single-turn interactions\r\n4. **Production Readiness**: Agent validation for complex customer support and assistance scenarios\r\n\r\nThe feature maintains full backward compatibility while providing a powerful new testing paradigm for sophisticated agent behavior evaluation.",
      "repository": "elizaos/eliza",
      "createdAt": "2025-08-26T15:22:47Z",
      "mergedAt": null,
      "additions": 15560,
      "deletions": 5
    },
    {
      "id": "PR_kwDOMT5cIs6lcZJF",
      "title": "multi step",
      "author": "tcm390",
      "number": 5825,
      "body": "",
      "repository": "elizaos/eliza",
      "createdAt": "2025-08-26T15:57:57Z",
      "mergedAt": "2025-08-27T18:08:53Z",
      "additions": 6708,
      "deletions": 187
    },
    {
      "id": "PR_kwDOMT5cIs6k0-7e",
      "title": "feat: bun build, remove tsup",
      "author": "ChristopherTrimboli",
      "number": 5807,
      "body": "This pull request introduces a new standardized Bun-based build system for ElizaOS packages, replacing the previous use of `tsup` and related tooling. It adds reusable build utilities, custom build scripts for `@elizaos/api-client` and `@elizaos/cli`, and updates package scripts and dependencies to leverage these changes. Additionally, there are targeted fixes and improvements to messaging service payloads, environment setup, and process management.\r\n\r\n**Build System Modernization**\r\n\r\n* Added `build-utils.ts` with reusable Bun build utilities for cleaning, building, copying assets, and generating TypeScript declarations, enabling consistent builds across packages.\r\n* Replaced `tsup` with Bun-based scripts in `@elizaos/api-client` and `@elizaos/cli`, including custom build scripts (`build.ts`) and removal of `tsup.config.ts`. Updated package scripts to use Bun for build, watch, and clean operations. [[1]](diffhunk://#diff-c64f755bd238752518269ba933743007c8b7c2b3db7b2663c3cfd8eee3e66ee1R1-R59) [[2]](diffhunk://#diff-fd8bcdbf9ab496c42cc8f5a68cbb792d0cd44d138d9f35e6ef960ac6a7b97168L10-R16) [[3]](diffhunk://#diff-fd8bcdbf9ab496c42cc8f5a68cbb792d0cd44d138d9f35e6ef960ac6a7b97168L24) [[4]](diffhunk://#diff-1870665c82b8dca54d6e63c49dfa1077b64d4b37bc32f66610ff543ad7f00dcbL1-L18) [[5]](diffhunk://#diff-38a7bfc3de9135d0af986757713f0fc589a906dd9be2f715932e303ae8bc7e4cR1-R82) [[6]](diffhunk://#diff-6e2e2a1851648938b325ba84de634407a4e69a644ea61102df15ca4a8a7a9758L40-R44) [[7]](diffhunk://#diff-6e2e2a1851648938b325ba84de634407a4e69a644ea61102df15ca4a8a7a9758R59) [[8]](diffhunk://#diff-6e2e2a1851648938b325ba84de634407a4e69a644ea61102df15ca4a8a7a9758L71-L75)\r\n* Updated monorepo-level build and clean scripts in `package.json` to filter out certain packages, remove `tsup`, and improve cache handling for faster, more reliable builds. [[1]](diffhunk://#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519L11-R19) [[2]](diffhunk://#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519L52)\r\n\r\n**Messaging Service Improvements**\r\n\r\n* Refactored payload construction for channel creation methods in `MessagingService` to match server expectations, including proper handling of metadata, participant IDs, and DM channel parameters.\r\n* Fixed type handling in participant filtering logic for channel updates.\r\n\r\n**TypeScript Declaration Generation**\r\n\r\n* Enabled TypeScript declaration file (`.d.ts`) generation via Bun build scripts and updated `tsconfig.build.json` to include `\"declaration\": true`. [[1]](diffhunk://#diff-c64f755bd238752518269ba933743007c8b7c2b3db7b2663c3cfd8eee3e66ee1R1-R59) [[2]](diffhunk://#diff-38a7bfc3de9135d0af986757713f0fc589a906dd9be2f715932e303ae8bc7e4cR1-R82) [[3]](diffhunk://#diff-c4d3cf5a942b53c98c3bd2b84fbc766b044cfa190d26f1a249dd7357486a7a5aL4-R5)\r\n\r\n**Process and Environment Management**\r\n\r\n* Improved environment variable setup in CLI server manager to filter out undefined values and ensure proper module resolution.\r\n* Updated server process termination logic to ensure graceful shutdown and state cleanup.\r\n* Minor fix to plugin upgrade progress event handling for more robust logging.\r\n* Removed unused `writeFileSync` import in CLI plugin environment variable utilities.",
      "repository": "elizaos/eliza",
      "createdAt": "2025-08-22T07:00:52Z",
      "mergedAt": "2025-08-26T04:16:58Z",
      "additions": 4163,
      "deletions": 8632
    },
    {
      "id": "PR_kwDOMT5cIs6lVFy1",
      "title": "feat: create @elizaos/utils package for shared build utilities",
      "author": "wtfsayo",
      "number": 5821,
      "body": "This PR creates a new @elizaos/utils package to properly organize shared build utilities across the monorepo.\n\n## Changes Made\n\n- Created @elizaos/utils package with complete package structure\n- Moved build utilities from root build-utils.ts to @elizaos/utils package\n- Updated all packages to import from @elizaos/utils instead of build-utils\n- Added @elizaos/utils as workspace dependency to all relevant packages\n- Removed old build-utils.ts from root directory\n\n## Benefits\n\n- Better code organization with proper packaging\n- No more relative imports across the monorepo\n- Proper dependency management with workspace linking\n- Maintainable structure following established patterns\n- Zero breaking changes - all functionality preserved\n\nAll packages tested and build successfully with the new structure.",
      "repository": "elizaos/eliza",
      "createdAt": "2025-08-26T04:44:36Z",
      "mergedAt": null,
      "additions": 1727,
      "deletions": 784
    }
  ],
  "codeChanges": {
    "additions": 6895,
    "deletions": 10813,
    "files": 85,
    "commitCount": 39
  },
  "completedItems": [
    {
      "title": "feat: bun build, remove tsup",
      "prNumber": 5807,
      "type": "feature",
      "body": "This pull request introduces a new standardized Bun-based build system for ElizaOS packages, replacing the previous use of `tsup` and related tooling. It adds reusable build utilities, custom build scripts for `@elizaos/api-client` and `@el",
      "files": [
        ".gitignore",
        "CLAUDE.md",
        "build-utils.ts",
        "bun.lock",
        "package.json",
        "packages/api-client/build.ts",
        "packages/api-client/package.json",
        "packages/api-client/src/services/messaging.ts",
        "packages/api-client/tsconfig.build.json",
        "packages/api-client/tsup.config.ts",
        "packages/cli/build.ts",
        "packages/cli/package.json",
        "packages/cli/src/commands/dev/utils/server-manager.ts",
        "packages/cli/src/commands/plugins/actions/upgrade.ts",
        "packages/cli/src/commands/plugins/utils/env-vars.ts",
        "packages/cli/src/commands/report/demo-html-report.ts",
        "packages/cli/src/commands/report/generate.ts",
        "packages/cli/src/commands/report/index.ts",
        "packages/cli/src/commands/report/src/__tests__/analysis-engine.test.ts",
        "packages/cli/src/commands/report/src/__tests__/html-template.test.ts",
        "packages/cli/src/commands/report/src/__tests__/integration.test.ts",
        "packages/cli/src/commands/report/src/__tests__/pdf-export.test.ts",
        "packages/cli/src/commands/report/src/__tests__/pdf-generator.test.ts",
        "packages/cli/src/commands/report/src/__tests__/template-integration.test.ts",
        "packages/cli/src/commands/report/src/analysis-engine.ts",
        "packages/cli/src/commands/report/src/assets/report_template.html",
        "packages/cli/src/commands/report/src/pdf-generator.ts",
        "packages/cli/src/commands/report/src/report-schema.ts",
        "packages/cli/src/commands/scenario/docs/README.md",
        "packages/cli/src/commands/scenario/docs/matrix-testing.md",
        "packages/cli/src/commands/scenario/docs/scenarios.md",
        "packages/cli/src/commands/scenario/examples/debug-llm-judge.scenario.yaml",
        "packages/cli/src/commands/scenario/examples/enhanced-demo.scenario.yaml",
        "packages/cli/src/commands/scenario/examples/llm-judge-with-capabilities.scenario.yaml",
        "packages/cli/src/commands/scenario/examples/simple-test.matrix.yaml",
        "packages/cli/src/commands/scenario/examples/test-github-issues.scenario.yaml",
        "packages/cli/src/commands/scenario/examples/trajectory-demo.scenario.yaml",
        "packages/cli/src/commands/scenario/index.ts",
        "packages/cli/src/commands/scenario/src/E2BEnvironmentProvider.ts",
        "packages/cli/src/commands/scenario/src/EnhancedEvaluationEngine.ts",
        "packages/cli/src/commands/scenario/src/EvaluationEngine.ts",
        "packages/cli/src/commands/scenario/src/LocalEnvironmentProvider.ts",
        "packages/cli/src/commands/scenario/src/MockEngine.ts",
        "packages/cli/src/commands/scenario/src/TrajectoryReconstructor.ts",
        "packages/cli/src/commands/scenario/src/__tests__/LocalEnvironmentProvider.test.ts",
        "packages/cli/src/commands/scenario/src/__tests__/capabilities-evaluation.test.ts",
        "packages/cli/src/commands/scenario/src/__tests__/data-aggregator.test.ts",
        "packages/cli/src/commands/scenario/src/__tests__/e2e/centralized-data.test.ts",
        "packages/cli/src/commands/scenario/src/__tests__/enhanced-evaluation.test.ts",
        "packages/cli/src/commands/scenario/src/__tests__/evaluation-integration.test.ts",
        "packages/api-client/src/types/messaging.ts",
        "packages/api-client/src/types/sessions.ts",
        "packages/cli/src/commands/scenario/src/data-aggregator.ts",
        "packages/cli/src/commands/scenario/src/matrix-orchestrator.ts",
        "packages/cli/src/commands/scenario/src/matrix-runner.ts",
        "packages/cli/src/commands/scenario/src/parameter-override.ts",
        "packages/cli/src/commands/scenario/src/plugin-parser.ts",
        "packages/cli/src/commands/scenario/src/process-manager.ts",
        "packages/cli/src/commands/scenario/src/progress-tracker.ts",
        "packages/cli/src/commands/scenario/src/resource-monitor.ts",
        "packages/cli/src/commands/scenario/src/run-isolation.ts",
        "packages/cli/src/commands/scenario/src/runtime-factory.ts",
        "packages/cli/src/commands/start/actions/server-start.ts",
        "packages/cli/src/commands/start/index.ts",
        "packages/cli/src/project.ts",
        "packages/cli/src/scripts/copy-templates.ts",
        "packages/cli/src/services/env-file.service.ts",
        "packages/cli/src/utils/build-project.ts",
        "packages/cli/src/utils/bun-exec.ts",
        "packages/cli/src/utils/dependency-manager.ts",
        "packages/cli/src/utils/env-prompt.ts",
        "packages/cli/src/utils/get-config.ts",
        "packages/cli/src/utils/github.ts",
        "packages/cli/src/utils/load-plugin.ts",
        "packages/cli/src/utils/local-cli-delegation.ts",
        "packages/cli/src/utils/plugin-creator.ts",
        "packages/cli/src/utils/registry/index.ts",
        "packages/cli/src/utils/spinner-utils.ts",
        "packages/cli/src/utils/test-runner.ts"
      ]
    },
    {
      "title": "fix(plugin-bootstrap): return ActionResult in GENERATE_IMAGE handler",
      "prNumber": 5823,
      "type": "bugfix",
      "body": "This PR updates `GENERATE_IMAGE` in `@elizaos/plugin-bootstrap` to return an `ActionResult` per core `Action` contract.\\n\\n- Changes limited to `packages/plugin-bootstrap/src/actions/imageGeneration.ts`\\n- Excludes edits to `standalone.ts` ",
      "files": [
        "packages/plugin-bootstrap/src/__tests__/actions.test.ts",
        "packages/plugin-bootstrap/src/actions/imageGeneration.ts"
      ]
    },
    {
      "title": "expose multi-step templates via character config and enable env-based strategy toggle",
      "prNumber": 5822,
      "type": "other",
      "body": "This PR introduces the following changes:\r\n\r\nMoves core templates (multiStepDecisionTemplate and multiStepSummaryTemplate) into the core layer to improve modularity.\r\n\r\nAdds character-level overrides: Characters can now define their own mul",
      "files": [
        "packages/cli/src/characters/eliza.ts",
        "packages/core/src/prompts.ts",
        "packages/plugin-bootstrap/src/index.ts",
        "packages/plugin-bootstrap/src/providers/recentMessages.ts"
      ]
    }
  ],
  "topContributors": [
    {
      "username": "wtfsayo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4",
      "totalScore": 176.00946880309576,
      "prScore": 171.00946880309576,
      "issueScore": 0,
      "reviewScore": 5,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "tcm390",
      "avatarUrl": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4",
      "totalScore": 109.57146626855133,
      "prScore": 95.57146626855133,
      "issueScore": 0,
      "reviewScore": 14,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "monilpat",
      "avatarUrl": "https://avatars.githubusercontent.com/u/15067321?v=4",
      "totalScore": 43.5437738965761,
      "prScore": 43.5437738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "odilitime",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=c9bac48e632aae594a0d85aaf9e9c9c69b674d8b&v=4",
      "totalScore": 31.5,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 31.5,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "theSchein",
      "avatarUrl": "https://avatars.githubusercontent.com/u/4759807?u=1367e8e3307b02aef996d930feafa29937ccb5b9&v=4",
      "totalScore": 28.623573590279975,
      "prScore": 28.623573590279975,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "ChristopherTrimboli",
      "avatarUrl": "https://avatars.githubusercontent.com/u/27584221?u=0d816ce1dcdea8f925aba18bb710153d4a87a719&v=4",
      "totalScore": 5.438,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 5,
      "commentScore": 0.43799999999999994,
      "summary": null
    },
    {
      "username": "0xbbjoker",
      "avatarUrl": "https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4",
      "totalScore": 5,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 5,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "SavannahOz",
      "avatarUrl": "https://avatars.githubusercontent.com/u/227312217?v=4",
      "totalScore": 2,
      "prScore": 0,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    }
  ],
  "newPRs": 6,
  "mergedPRs": 3,
  "newIssues": 1,
  "closedIssues": 0,
  "activeContributors": 7
}