# ElizaOS Developer Update - November 7, 2025

## 1. Core Framework

This week brought significant updates to the ElizaOS architecture and runtime. The most notable change was the introduction of a dynamic prompt execution system that adapts to model context constraints. This feature helps prevent hallucinations when working with smaller context windows.

```typescript
// New runtime method for dynamic prompts with schema validation
runtime.dynamicPromptExecFromState({
  schema: promptSchema,
  state: currentState,
  model: "eliza:summary-small",
  validationLevel: env.VALIDATION_LEVEL || "strict",
  retries: 2
});
```

The framework now also supports skipping database migrations during initialization, which is particularly useful for serverless deployments and testing environments:

```typescript
// Initialize runtime without running migrations
await runtime.initialize({
  skipMigrations: true,
  plugins: [pluginSql, pluginOpenAI]
});
```

Additionally, PR #5 in the otc-agent repository was merged, providing important fixes for the agent runtime.

## 2. New Features

### Cloud Authentication SDK

Development of a new "login with cloud" SDK is underway, enabling seamless authentication across multiple applications (OTC, Otaku, Spartan) without full-page redirects:

```jsx
// Example usage of upcoming ElizaCloud auth modal
import { useElizaCloudAuth } from '@elizaos/cloud-auth';

function App() {
  const { login, isAuthenticated, user } = useElizaCloudAuth();
  
  return (
    <div>
      {!isAuthenticated ? (
        <button onClick={login}>Login with ElizaOS Cloud</button>
      ) : (
        <p>Welcome, {user.name}!</p>
      )}
    </div>
  );
}
```

A new "Apps" section is planned for Cloud where users can whitelist domains, link external apps, and review service integrations.

### Entity-Level Row Security

Work is progressing on PR #6107, which implements entity-level row-level security (RLS) for more granular access control:

```typescript
// Example of upcoming entity-level RLS
const entity = await db.createEntity({
  type: 'document',
  names: ['quarterly-report-q4'],
  metadata: {
    owner: 'alice',
    organization: 'acme-corp',
    accessLevel: 'confidential'
  }
});

// RLS policies automatically applied based on user context
const docs = await db.getEntities({
  type: 'document',
  // Filtered by security policy - only returns entities
  // the current user has permission to access
});
```

### Discord Bot Integration

A framework for Discord bot integration was developed, making it easier to deploy ElizaOS agents as Discord bots:

```javascript
// Discord bot setup with ElizaOS
import { plugin as discordPlugin } from '@elizaos/plugin-discord';

const config = {
  token: process.env.DISCORD_BOT_TOKEN,
  clientId: process.env.DISCORD_CLIENT_ID,
  guildId: process.env.DISCORD_GUILD_ID
};

await runtime.registerPlugin(discordPlugin, config);

// Bot is now connected and can respond to Discord events
```

## 3. Bug Fixes

A critical fix was merged this week for entity name serialization in PostgreSQL databases (PR #6133). The bug was causing entity creation failures when using Set objects for the `names` field:

```typescript
// This was failing before the fix
await db.createEntities([{
  type: 'tag',
  names: new Set(['important', 'urgent']),
  metadata: { color: 'red' }
}]);

// Now correctly normalizes any iterable to a string array
```

The fix normalized the `names` field to ensure it's always a proper array before database operations, handling various input types including Sets, Maps, and other iterables.

Additionally, the core team addressed an issue with agent settings persistence (PR #6106), ensuring that runtime-generated configurations are now correctly retained across restarts.

## 4. API Changes

An important change in PR #6135 aligns server tests with ElizaOS API changes. Developers should ensure their tests are updated to match the latest API specifications.

The runtime API has been extended with a new method for dynamic prompt execution:

```typescript
interface IAgentRuntime {
  // New method added
  dynamicPromptExecFromState(options: {
    schema: SchemaRow;
    state: State;
    model?: string;
    validationLevel?: ValidationLevel;
    retries?: number;
  }): Promise<any>;
  
  // Existing methods...
}
```

Additionally, `SchemaRow` and `State` types are now exported from the core types module for use in custom implementations.

## 5. Social Media Integrations

Progress is being made on Discord plugin integration (PR #24) that introduces a unified messaging API. This enables more sophisticated interactions between ElizaOS agents and Discord users.

Discussions are underway to expand social media presence with additional Telegram channels, including Russian language support (which represents approximately 15% of the crypto market).

For content creators, there's ongoing coordination for streaming ElizaOS agent demonstrations, including a town hall featuring "Eliza agents" and promotion of an OpenSea collection called "Art Decc0s".

## 6. Model Provider Updates

A new feature was introduced for adjusting prompts to fit model contexts better (PR #6113). This includes:

- Token estimation to prevent context overflow
- Dynamic validation with retries for unreliable responses
- Metrics tracking for prompt performance
- Handlebars templating for state injection

```typescript
// Configure metrics tracking for models
const DYNAMIC_PROMPT_MAX_ENTRIES = 1000; // Configurable limit
```

The system helps detect when context is blown out and dynamically adjusts prompts, particularly useful when working with models that have smaller context windows.

Additionally, a new issue (#6136) was opened requesting a Polymarket plugin integration, which would expand the prediction market capabilities of ElizaOS.

## 7. Breaking Changes

The token migration from AI16Z to ElizaOS is scheduled to begin but has experienced some delays. Developers and users should be aware of the following:

- A migration portal will be available for self-custody wallets
- The migration window is open for 90 days
- Several exchanges are supporting the migration with different timelines
- The process involves minimal gas fees
- Tokens will be immediately tradeable after migration

When updating to the latest version, note that PR #6114 introduces an x402 middleware for payment protection, which may require updates to your payment handling logic.

For any applications using the `api/system/env/local` endpoint in development mode, there's a security concern that should be addressed, as this endpoint should be disabled by default.

---

Links to relevant PRs and issues:
- [PR #6135](https://github.com/elizaOS/eliza/pull/6135): Align server tests with API changes
- [PR #6133](https://github.com/elizaOS/eliza/pull/6133): Fix entity names array serialization
- [PR #6107](https://github.com/elizaOS/eliza/pull/6107): Implement entity-level row security
- [PR #6113](https://github.com/elizaOS/eliza/pull/6113): Framework for adjusting prompts to fit model contexts
- [PR #6106](https://github.com/elizaOS/eliza/pull/6106): Fix agent settings persistence
- [Issue #6136](https://github.com/elizaOS/eliza/issues/6136): Polymarket Plugin request