# ElizaOS Developer Update - October 13, 2025

## Core Framework

We've completed a major architecture overhaul this week with several significant improvements to ElizaOS:

- **UUID-based Agent Identification**: Agents now use randomly generated UUIDs instead of name-derived IDs ([PR #6036](https://github.com/elizaOS/eliza/pull/6036)). This allows multiple agents to share the same name while maintaining separate identities. The loader auto-assigns an ID when missing and environment variable prefixing now derives from the agent ID for consistent configuration.

- **ElizaOS/Server Refactor**: Added plugin management with auto-install, loading, validation, and dependency resolution ([PR #6037](https://github.com/elizaOS/eliza/pull/6037)). This change introduces configuration utilities including character parsing/validation/defaults, environment variable loading from .env files, and secrets population from local env files.

- **MessageService Interface**: Added a formal MessageService interface and default implementation ([PR #6048](https://github.com/elizaOS/eliza/pull/6048)), enhancing inter-agent communication capabilities and standardizing message handling across the platform.

- **Runtime Database Initialization**: Fixed a critical race condition ensuring the runtime database is initialized before tasks attempt to access it ([PR #6039](https://github.com/elizaOS/eliza/pull/6039)), preventing startup failures.

## New Features

### Paginated Memory Retrieval

The `getMemories` function now supports pagination via an `offset` parameter, allowing for more efficient data retrieval when dealing with large memory stores:

```typescript
// Before: Could only fetch a limited number of memories
const recentMemories = await runtime.database.getMemories({
  limit: 10
});

// Now: Can paginate through large memory sets
const firstPage = await runtime.database.getMemories({
  limit: 10,
  offset: 0
});

const secondPage = await runtime.database.getMemories({
  limit: 10,
  offset: 10
});
```

This enhancement enables agents to efficiently navigate through their memory without loading everything at once, significantly improving performance with large datasets.

### Deployment System Overhaul

We've completely redesigned the deployment system, replacing Docker-based deployments with a modern bootstrapper architecture ([PR #6058](https://github.com/elizaOS/eliza/pull/6058)):

```bash
# Old (no longer works)
elizaos deploy --use-docker --tag my-image:v1

# New (default behavior)
elizaos deploy

# With existing artifact
elizaos deploy --skip-artifact --artifact-path ./dist/artifact.tar.gz
```

Benefits include:
- 10x smaller artifacts (typically <50MB vs 500MB+ Docker images)
- Faster deployments (30-60s vs 5-10 minutes)
- Version isolation (each project maintains its own dependencies)
- Better caching with shared base image and project-specific dependencies

## Bug Fixes

### CLI Import Errors

We resolved a critical issue where new projects created with `elizaos create` (v1.6.1) failed with module import errors ([Issue #6031](https://github.com/elizaOS/eliza/issues/6031)). The issue was diagnosed as incorrect type definition paths in the published package:

```
Module '"@Elizaos/core"' has no exported member 'logger'.ts(2305)
Module '"@Elizaos/core"' has no exported member 'IAgentRuntime'.ts(2305)
Module '"@Elizaos/core"' has no exported member 'ProjectAgent'.ts(2305)
```

Root cause analysis revealed that `@elizaos/core@1.6.1` was published with missing or malformed TypeScript declaration files. We recommend upgrading to the latest CLI version to avoid this issue.

### Agent Plugins Reloading

Fixed an issue preventing agent plugins from reloading properly after updates ([PR #6040](https://github.com/elizaOS/eliza/pull/6040)). This ensures that when you modify an agent's configuration using the PATCH endpoint, all associated plugins and services are properly updated.

### Bootstrap Plugin Fix

Restored the `shouldRespondProvider` registration in the bootstrap plugin that was accidentally removed ([PR #6024](https://github.com/elizaOS/eliza/pull/6024)). This ensures that the core response logic continues to function as expected.

## API Changes

### UUID-only Agent Identification

The agent identification system has transitioned to UUID-only identification:

```typescript
// Before: Agent IDs were derived from names
const agentId = stringToUuid(agent.name);

// Now: Random UUIDs are generated
const agentId = uuidv4();
```

Key changes:
- Schema: Dropped unique constraint on `agents.name`
- `createAgent` checks duplicate `id` only; allows duplicate `name`
- Agent CRUD endpoints now use provided `character.id` rather than deriving from name

### Memory Retrieval API

The database interface now includes an offset parameter for pagination:

```typescript
// New parameter in getMemories interface
interface GetMemoriesOptions {
  limit?: number;
  offset?: number;  // NEW
  text?: string;
  embedding?: number[];
  contextId?: string;
}
```

## Social Media Integrations

While no specific social plugin releases were merged this week, ongoing work includes:

- **Telegram Integration**: Progress on migration of message handling to align with new MessageService interface
- **Twitter/X Integration**: Work on refactoring to improve message flow and standardize response handling
- **Discord Integration**: Updated to support the new `mentionContext` interface for more platform-agnostic mention detection ([PR #19](https://github.com/elizaOS-plugins/plugin-discord/pull/19))

We're also collaborating with Hyperfy to build an "AI RuneScape" and working with the Ethereum Foundation on an agent game using the ERC-8004 specification.

## Model Provider Updates

### OpenAI Plugin Refactor

Work is underway to refactor the OpenAI plugin ([PR #19](https://github.com/elizaOS-plugins/plugin-openai/pull/19)) to align with a more modular architecture, making it easier to add new features and maintain the code.

### Anthropic Plugin Improvements

Two significant updates to the Anthropic plugin were completed:

1. Major refactor ([PR #9](https://github.com/elizaOS-plugins/plugin-anthropic/pull/9)) for improved stability and structure
2. Fixed TypeScript compilation errors ([PR #10](https://github.com/elizaOS-plugins/plugin-anthropic/pull/10))

### Cross-Platform API Plugin

A new initiative is underway to create a unified Cloud API plugin to centralize API key management across model providers including OpenAI, Google, and Anthropic ([Issue #6049](https://github.com/elizaOS/eliza/issues/6049)).

## Breaking Changes

### V1 to V2 Migration Notice

The upcoming token migration from AI16Z to ElizaOS is scheduled to begin on October 21st, 2025. Important details:

- 1:10 redenomination with 6 tokens going to holders and 4 to treasury
- Approximately 25% initial dilution for current holders
- No snapshot system - users can buy AI16Z before migration and swap later
- Futures positions will not be included in migration
- 15% SAFT allocation being used to secure partnerships (tokens locked for 3 years)

### Deployment System Changes

⚠️ **Removed CLI Options:**
- `--use-docker` - No longer supported
- `--tag` - Not applicable to bootstrapper
- `--no-build` - Build happens in container
- `--dockerfile` - Bootstrapper uses standard image

The deployment system now defaults to the bootstrapper approach, which is significantly faster and more efficient but requires adjusting your workflow if you were using custom Docker configurations.