Skip to content

Release Notes: v0.9.0

Release Date: 2026-06-28

Highlights

  • OmniMemory Provider: Twilio Memory API integration for semantic memory storage
  • Embedding-Based Search: Recall memories using natural language queries

New Features

Twilio Memory Provider

The library now includes an OmniMemory provider that uses Twilio's Memory API for semantic memory storage and retrieval. This enables AI agents to store and recall conversation context, user preferences, and long-term memories.

import (
    "github.com/plexusone/omni-twilio/omnimemory"
    "github.com/plexusone/omnimemory/core"
)

// Create provider
provider, err := omnimemory.NewProvider(omnimemory.Config{
    AccountSID: "ACxxxxxxxx",
    AuthToken:  "your-auth-token",
})

// Store a memory
mem := &core.Memory{
    Content: "User prefers morning meetings",
    Metadata: map[string]any{
        "category": "preferences",
    },
}
result, err := provider.Store(ctx, "store-id", "user-123", mem)

// Recall memories semantically
memories, err := provider.Search(ctx, "store-id", "user-123", &core.SearchRequest{
    Query: "What time does the user like meetings?",
    Limit: 5,
})

Concept Mapping

The provider maps OmniMemory concepts to Twilio Memory API:

OmniMemory Twilio Memory API
TenantID Store ID
SubjectID Profile ID
Memory Observation
Search/Recall Recall API

Twilio's Memory API uses embedding-based similarity search to recall relevant memories based on natural language queries. The provider supports:

  • Store: Create memories with automatic embedding generation
  • Get: Retrieve specific memories by ID
  • Update: Modify existing memories
  • Delete: Remove memories
  • Search: Semantic search across all memories for a subject
  • List: List all memories for a subject

Testing

The release includes comprehensive tests:

  • Unit tests for all provider operations
  • Conformance tests via providertest.RunAll() from omnimemory
  • Live API testing against Twilio Memory (requires env vars)

To run tests with live API:

export TWILIO_ACCOUNT_SID="ACxxxxxxxx"
export TWILIO_AUTH_TOKEN="your-auth-token"
export TWILIO_MEMORY_STORE_ID="your-store-id"
export TWILIO_MEMORY_PROFILE_ID="your-profile-id"
go test ./omnimemory/...

Documentation

  • New guide: Memory API Guide
  • Updated README with omnimemory usage examples
  • Added Memory API to navigation

Dependencies

Package Version Notes
github.com/plexusone/omnimemory v0.1.0 New dependency
github.com/plexusone/omnivoice-core v0.15.0 Updated from v0.14.0
Go version 1.26.4 Updated from 1.26.0

Installation

go get github.com/plexusone/omni-twilio@v0.9.0

Migration Guide

From v0.8.0

No breaking changes. This is a purely additive release.

To use the new Memory provider:

  1. Import the omnimemory package:

    import "github.com/plexusone/omni-twilio/omnimemory"
    

  2. Create a provider with your Twilio credentials:

    provider, err := omnimemory.NewProvider(omnimemory.Config{
        AccountSID: "ACxxxxxxxx",
        AuthToken:  "your-auth-token",
    })
    

  3. Start storing and recalling memories using the standard OmniMemory interface

All existing voice gateway and chat functionality remains unchanged.

Full Changelog

See CHANGELOG.md for the complete list of changes.