Skip to content

API Reference

Episode API

Manage the full episode lifecycle programmatically.

createEpisode()

Open a new episode to group related interactions:

const episode = await engine.createEpisode({
  description?: string,
  userId: string,
  participants?: string[],
  metadata?: Record<string, any>,
});
// Returns: Episode with id, status: 'active', createdAt

updateEpisode()

Update an active episode's metadata or description:

await engine.updateEpisode(episodeId, {
  description?: string,
  metadata?: Record<string, any>,
});

closeEpisode()

Finalize an episode. Triggers automatic summary memory creation with the full emotional trajectory:

const summary = await engine.closeEpisode(episodeId);
// Returns: { memoryId: string, summary: string, emotionalArc: EmotionPoint[] }

queryEpisodes()

Query episodes by time range, emotional state, or participant:

const episodes = await engine.queryEpisodes({
  userId: string,
  timeRange?: { start: Date, end: Date },
  emotions?: string[],
  participants?: string[],
  status?: 'active' | 'closed',
  limit?: number,
});
// Returns: Array<Episode>

getEpisodeMemories()

Retrieve the complete memory trail for an episode, including emotional trajectory data and temporal metadata:

const trail = await engine.getEpisodeMemories(episodeId);
// Returns: {
//   memories: Memory[],
//   emotionalTrajectory: EmotionPoint[],
//   duration: number,
//   participantCount: number,
// }