# ElizaOS Developer Update - Week of Aug 10-16, 2025

## Core Framework Updates

### Agent Runtime Restructuring
We've made significant architectural improvements this week with a focus on modularity and API compliance:

- **Hono Server Integration**: Added a new HTTP server providing an OpenAI-compatible API for agent interaction. This enables seamless integration with existing OpenAI toolchains. ([PR #5753](https://github.com/elizaOS/eliza/pull/5753))

- **Agent Registry Refactor**: Overhauled how agents are stored and accessed, improving management efficiency and resource usage.

- **Action Chaining Fix**: Resolved a critical issue with the action chaining mechanism that was causing failures in benchmarks when actions needed to be chained together for complex tasks. The fix is available in a dedicated branch: `feat/integrated-loop-action-call` ([GitHub](https://github.com/elizaOS/eliza/tree/feat/integrated-loop-action-call))

- **Event System Improvements**: Added `runtime.servicePromises[]` to allow awaiting services without polling, and implemented `runtime.on('serviceAvailable')` to allow plugins to be registered in any order.

```typescript
// Example: Registering a service and listening for availability
runtime.registerEvent('serviceAvailable', 'myService');

// In another plugin
runtime.on('serviceAvailable', (serviceName) => {
  if (serviceName === 'dependencyService') {
    // Now safe to use the service
    const service = runtime.services.get('dependencyService');
  }
});
```

### Build System Optimizations
We've streamlined the build process to improve developer experience:

- Fixed dependency issues with `bats-assert` and other packages that were causing 404 errors during installation ([PR #5776](https://github.com/elizaOS/eliza/pull/5776))
- Improved build performance by packaging client separately as `@elizaos/client` ([#shaw](https://github.com/elizaOS/eliza/discussions/core-devs/1377726087789940836))
- Implemented `@/` path aliases for imports to improve code organization and readability ([PR #5751](https://github.com/elizaOS/eliza/pull/5751))

## New Features

### Sessions API
We've introduced a powerful new Sessions API that simplifies agent interactions:

- Provides a streamlined interface for messaging between users and agents
- Abstracts away complexity of servers, channels, and participants
- Now available in both server and API client packages ([PR #5717](https://github.com/elizaOS/eliza/pull/5717))

```typescript
// Example: Creating a session and sending a message
const eliza = new ElizaAPIClient({ baseUrl, apiKey });
const session = await eliza.sessions.create({
  agentId: "550e8400-e29b-41d4-a716-446655440000",
  userId: "user-123"
});

const response = await eliza.sessions.sendMessage({
  sessionId: session.id,
  content: "What new features are in ElizaOS this week?"
});

console.log(response.content);
```

### Character Type System
A new character type system has been implemented to improve API consistency:

- Uses Zod validation for type safety and schema enforcement
- Includes a new JesseXBT character focused on Base ecosystem support ([PR #5756](https://github.com/elizaOS/eliza/pull/5756))

### EVM Plugin
Added a new EVM (Ethereum Virtual Machine) plugin providing essential blockchain tooling:

- Wallet and address management
- Token balance checking
- Multi-chain support ([PR #5752](https://github.com/elizaOS/eliza/pull/5752))

### Streaming Model Support
Added support for streaming capabilities in the `useModel` function:

```typescript
// New streaming capability
runtime.useModel({
  messages: [{ role: 'user', content: 'Generate a long story' }],
  eventHandlerType: 'STREAMING_TEXT',
  onEvent: (chunk) => {
    // Process streaming chunks
    console.log(chunk);
  }
});
```

## Bug Fixes

### Database Connection Handling
Users reported timeout problems with PGLITE after 15-20 hours of runtime:

- **Issue**: Database connections timing out in long-running agents
- **Resolution**: Recommend using real Postgres in production environments rather than PGLITE
- **Comments**: "Nothing intentionally implemented for timeouts; use real Postgres in production" ([#sayonara](https://github.com/elizaOS/eliza/discussions/💻-coders/1300025221834739744))

### Dependency Management Improvements
Fixed significant problems with Bun package installations:

- Resolved issues with random dependencies not found (404 errors)
- Fixed specific problems with the `bats-assert` package
- Switched testing tools from Bun to pnpm for better error logging and dependency resolution ([#cjft](https://github.com/elizaOS/eliza/discussions/core-devs/1377726087789940836))

### Website Migration
The ElizaOS documentation website has been migrated:

- **Old URL**: eliza.how
- **New URL**: docs.elizaos.ai
- **Status**: Redirects from the old domain need updating ([#adsur](https://github.com/elizaOS/eliza/discussions/1253563209462448241))

### Plugin Publishing Fix
Fixed an issue where the `elizaos publish --npm` command falsely reported success even when the package failed to publish to the registry ([PR #5763](https://github.com/elizaOS/eliza/pull/5763))

## API Changes

### Chat Completions API Enhancement
The Chat Completions API now exposes intermediate tool calls:

- Maintains full OpenAI API compliance
- Provides greater visibility into agent reasoning
- Helps debug complex workflows ([PR #5755](https://github.com/elizaOS/eliza/pull/5755))

### ElizaOS Instance Pattern
Implemented a new instance pattern with typed inputs for better customization:

```typescript
// New pattern for creating ElizaOS instance
const eliza = new ElizaOS({
  plugins: ['@elizaos/plugin-bootstrap'],
  config: {
    enableDebug: true,
    logLevel: 'info'
  }
});

await eliza.start();
```

## Social Media Integrations

### Twitter Plugin Update
Questions were raised about Twitter Plugin integration with the local RAG database:

- Users inquired if agents can retrieve information from RAG when responding to tweets
- Investigation ongoing for proper integration between Twitter Plugin and RAG capabilities ([#Rabbidfly](https://github.com/elizaOS/eliza/discussions/💻-coders/1300025221834739744))

### Account Management
Discussions noted that Shaw's X account was temporarily banned, with various theories about API scraping issues and rate limiting problems.

## Model Provider Updates

### Model Streaming Implementation
Added streaming functionality in `useModel` with `STREAMING_TEXT` event handler type:

- Provides real-time output during model generation
- Improves responsiveness for long-form content
- Maintains type safety through structured event handling ([#shaw](https://github.com/elizaOS/eliza/discussions/core-devs/1377726087789940836))

### OpenAI API Compliance
Enhanced our OpenAI-compatible API implementation:

- Full compatibility with standard OpenAI client libraries
- Proper tool calling and function response handling
- Improved error reporting with standard status codes

## Breaking Changes

### V1 to V2 Migration Notes

1. **Plugin Loading Changes**: The mechanism for loading plugins has changed significantly. Plugins are now loaded asynchronously, and the `runtime.on('serviceAvailable')` event should be used instead of polling for service availability.

2. **Database Connection Updates**: If you're using PGLITE in production, be aware of potential timeout issues after 15-20 hours of runtime. Consider migrating to a full Postgres implementation for production environments.

3. **Import Path Standards**: We're standardizing on `@/` path aliases for imports. While old imports will continue to work, new code should follow this pattern:

   ```typescript
   // Old approach
   import { Runtime } from '../core/runtime';
   
   // New approach
   import { Runtime } from '@/core/runtime';
   ```

4. **Logger API Changes**: Many plugins need updates due to significant changes in Eliza's logger functions. The logger now requires object-first structured logging to align with pino typings.

   ```typescript
   // Old approach
   logger.info('Processing message', message);
   
   // New approach
   logger.info({ message }, 'Processing message');
   ```

5. **Website Documentation**: All documentation has moved from eliza.how to docs.elizaos.ai. Please update your bookmarks and any documentation references.