Skip to content

feat(anam): add director notes config#1973

Open
rosetta-livekit-bot[bot] wants to merge 1 commit into
mainfrom
medics-rewrite-stroke
Open

feat(anam): add director notes config#1973
rosetta-livekit-bot[bot] wants to merge 1 commit into
mainfrom
medics-rewrite-stroke

Conversation

@rosetta-livekit-bot

@rosetta-livekit-bot rosetta-livekit-bot Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add public DirectorNotes config to the Anam plugin
  • forward populated director notes into ephemeral Anam persona config session-token payloads
  • update API report and add a changeset

Verification

  • pnpm --filter @livekit/agents build
  • pnpm --filter @livekit/agents-plugin-anam build
  • pnpm --filter @livekit/agents-plugin-anam api:update
  • pnpm --filter @livekit/agents-plugin-anam api:check
  • pnpm --filter @livekit/agents-plugin-anam lint (passes with existing warnings in src/avatar.test.ts)

Ported from livekit/agents#6267

Original PR description

What

Adds support for director notes config for Anam avatars.

Director notes allow the user to configure avatar expressivity through a preset or custom style and a expressivity slider. Only applicable to avatars using the new Cara 4 model.

Why

Gives the user control over how their avatar feels and reacts

Design

  • Resilient to omitted/None values - falls back to Anam defaults
  • Validated on the Anam side
  • Backwards compatible - None default value, which falls back to Anam defaults

@rosetta-livekit-bot rosetta-livekit-bot Bot requested a review from a team as a code owner July 6, 2026 18:47
@changeset-bot

changeset-bot Bot commented Jul 6, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 7b9f074

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 36 packages
Name Type
@livekit/agents-plugin-anam Patch
@livekit/agents Patch
@livekit/agents-plugin-anthropic Patch
@livekit/agents-plugin-assemblyai Patch
@livekit/agents-plugin-baseten Patch
@livekit/agents-plugin-bey Patch
@livekit/agents-plugin-cartesia Patch
@livekit/agents-plugin-cerebras Patch
@livekit/agents-plugin-deepgram Patch
@livekit/agents-plugin-did Patch
@livekit/agents-plugin-elevenlabs Patch
@livekit/agents-plugin-fishaudio Patch
@livekit/agents-plugin-google Patch
@livekit/agents-plugin-hedra Patch
@livekit/agents-plugin-hume Patch
@livekit/agents-plugin-inworld Patch
@livekit/agents-plugin-lemonslice Patch
@livekit/agents-plugin-liveavatar Patch
@livekit/agents-plugin-livekit Patch
@livekit/agents-plugin-minimax Patch
@livekit/agents-plugin-mistral Patch
@livekit/agents-plugin-mistralai Patch
@livekit/agents-plugin-neuphonic Patch
@livekit/agents-plugin-openai Patch
@livekit/agents-plugin-perplexity Patch
@livekit/agents-plugin-phonic Patch
@livekit/agents-plugin-resemble Patch
@livekit/agents-plugin-rime Patch
@livekit/agents-plugin-runway Patch
@livekit/agents-plugin-sarvam Patch
@livekit/agents-plugin-silero Patch
@livekit/agents-plugin-soniox Patch
@livekit/agents-plugin-tavus Patch
@livekit/agents-plugin-trugen Patch
@livekit/agents-plugin-xai Patch
@livekit/agents-plugins-test Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

Open in Devin Review

Comment thread plugins/anam/src/api.ts
Comment on lines 150 to 154
// Only forward the avatar model version when set; otherwise let Anam
// fall back to the avatar's default model.
...(pc.avatarModel ? { avatarModel: pc.avatarModel } : {}),
...(directorNotes && Object.keys(directorNotes).length > 0 ? { directorNotes } : {}),
};

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 directorNotes silently ignored when personaId is provided

When a user provides both personaId and directorNotes in their PersonaConfig, the directorNotes are silently dropped at plugins/anam/src/api.ts:143-144 because the personaId branch only sends { personaId: pc.personaId }. This is consistent with how avatarModel, name, and avatarId are also excluded in the personaId path, and the type comment at plugins/anam/src/types.ts:22 labels directorNotes as "(prod flow)" (i.e. ephemeral only). However, unlike the other fields which are clearly about defining a persona from scratch, directorNotes reads more like a per-session override that could plausibly apply to a pre-existing persona too. If the Anam API supports director notes as session-level overrides for stateful personas, this would need to be included in the personaId branch as well.

(Refers to lines 143-154)

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants