feat: add conversation retitle mod - #79
Merged
Merged
Conversation
Letta Code (agent-c2adbf5c-8419-4211-8cd8-3740db164974) Add an approval-gated tool that updates the current conversation title through the scoped mod API, with input normalization, focused tests, and user and agent documentation. 👾 Generated with [Letta Code](https://letta.com) Co-Authored-By: Letta Code <noreply@letta.com>
Letta Code (agent-c2adbf5c-8419-4211-8cd8-3740db164974) Cover all Unicode bidirectional controls and reject titles without visible content while preserving joiners in normal text. 👾 Generated with [Letta Code](https://letta.com) Co-Authored-By: Letta Code <noreply@letta.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overlord (agent-c2adbf5c-8419-4211-8cd8-3740db164974)
Summary
@letta-ai/retitle-conversationpackage.retitle_conversationtool through the scoped conversation mod API.Why
This repository did not provide an official agent-callable package for conversation titles. This package gives agents a narrow way to update a missing, generic, or stale title.
Behavior and limits
The tool calls
ctx.conversation.updateTitle()for the current conversation. It requires Letta Code>=0.30.21and has no configuration or external dependencies.The tool does not rename conversations automatically. It requires approval in permission modes that enforce approval. It does not run in parallel with other tool mutations.
The tool replaces terminal controls, bidirectional text controls, and unsafe invisible separators. It rejects empty, invisible-only, and longer-than-100-code-point titles.
Security and recovery
The package mutates only the current conversation title. It does not read conversation history, files, environment variables, or secrets. It does not start subprocesses or call
fetch. The host persists the title through the conversation API.Users can recover from mod startup or tool failures with
letta --no-modsorLETTA_DISABLE_MODS=1 letta.Validation
npm test --prefix packages/retitle-conversation— 7 tests passed.npm run validate— package manifests and catalogs passed.npm pack --dry-run --json— only the declared package files are included.toolscapability.bun test src/mods/conversation-handle.test.ts src/cli/app/conversation-title-sync.test.tsin Letta Code — 8 host API tests passed.A live stored-conversation mutation was not repeated with the packaged copy. The host API tests cover persistence and active interface refresh for
ctx.conversation.updateTitle().