Change the Fern docs custom domain from docs.letta.com to docs-legacy.letta.com.
Next steps:
- Contact Fern to receive new CNAME and TXT records
- Update DNS records for docs-legacy subdomain
- Wait for SSL provisioning
👾 Generated with [Letta Code](https://letta.com)
Co-authored-by: Letta <noreply@letta.com>
Moves Human-in-the-Loop documentation from the Experimental section
to the Tool Use section, as it is a stable feature for tool approval
workflows.
Changes:
- Moved Human-in-the-Loop page to Tool Use section after Tool Variables
- Removed from Experimental section in docs navigation
- Removed experimental warning from human_in_the_loop.mdx
Human-in-the-Loop is now positioned alongside other tool-related
features, making it easier for users to discover when implementing
tool approval workflows.
🐾 Generated with [Letta Code](https://letta.com)
Co-authored-by: Letta <noreply@letta.com>
Add documentation page showing how to export all archival memories from an agent using the Letta SDK. Includes a complete Python script with pagination support and usage examples.
* docs: add PDF chat tutorial with correct shell syntax
* docs: add PDF chat tutorial to navigation
* docs: add requests dependency for Python in pdf_chat tutorial
* docs: wrap TypeScript example in async function to fix top-level await error
* docs: add error handling for existing folders in pdf_chat tutorial
* docs: fix folders.list() to use response.folders property
* docs: await PDF download completion to fix race condition
* docs: use retrieve_by_name API for proper folder existence handling
* docs: fix upload API to use single request object and file stream
* docs: fix upload to use folderId as first parameter
* docs: simplify upload to use file stream directly
* docs: use three-parameter upload signature (folderId, file, options)
* docs: fix upload parameter order to (file, folderId, options)
* docs: fix attach to pass folderId directly instead of object
* docs: restructure architecture documentation to sideline legacy agent types
This commit reorganizes the agent architecture documentation to address
confusion around legacy agent types (memgpt_agent, memgpt_v2_agent) and
clarify that users should not specify agent_type for new projects.
The documentation was causing confusion for both users and LLMs:
- References to memgpt_agent, memgpt_v2_agent, and letta_v1_agent were scattered
throughout main docs
- The naming progression (memgpt → memgpt_v2 → letta_v1) is non-standard
- LLMs trained on these docs were recommending deprecated architectures
- Discord users were confused about which agent type to use
- send_message tool and heartbeat references were in mainline docs
- architectures_overview.mdx - Landing page explaining legacy types exist
- migration_guide.mdx - Step-by-step migration with code snippets
- naming_history.mdx - Hidden page explaining progression for LLMs
- memgpt_agents_legacy.mdx - Moved from main docs with deprecation warnings
- heartbeats_legacy.mdx - Moved from main docs with deprecation warnings
- Removed "Agent Architectures" subsection from main nav
- Moved "MemGPT Agents" to top-level (renamed "Agent Memory & Architecture")
- Removed "Heartbeats" page from main nav
- Added "Legacy & Migration" section with 5 sub-pages
- Added redirects for old URLs
- pages/agents/memgpt_agents.mdx - Completely rewritten to focus on current
architecture without mentioning legacy agent types
- pages/agents/sleep_time_agents.mdx - Changed from agent_type to enableSleeptime
- pages/agents/base_tools.mdx - Added stronger deprecation warning for send_message
- pages/agents/overview.mdx - Updated assistant_message description
- pages/agents/tool_rules.mdx - Removed send_message default rule examples
- pages/agents/message_types.mdx - Removed heartbeat message type section
- pages/agents/json_mode.mdx - Removed send_message requirements
- pages/agents/archival_best_practices.mdx - Removed send_message tool rule example
- pages/agents/react_agents.mdx - Removed heartbeat mechanism reference
- pages/getting-started/prompts.mdx - Removed send_message note
- pages/ade-guide/simulator.mdx - Removed tip about removing send_message
- pages/advanced/custom_memory.mdx - Changed send_message to "respond to user"
- pages/deployment/railway.mdx - Removed legacy tools array from example
- pages/selfhosting/overview.mdx - Changed send_message example to memory_insert
- pages/agents/heartbeats.mdx - Moved to legacy section
Added to memory: aggressively remove send_message and heartbeat references
from main docs. Keep legacy content only in /guides/legacy/ section. Don't
add notes about legacy in main docs - just remove the references entirely.
* docs: remove evals tab from navigation
The evals content is not ready for public documentation yet.
* docs: move send_message to deprecated tools table with legacy link
- Removed Legacy Tools section
- Added send_message to Deprecated Tools table with link to legacy guide
- Removed undefined warning text
* docs: move ReAct agents to legacy section
- Moved pages/agents/react_agents.mdx to pages/legacy/react_agents_legacy.mdx
- Added deprecation warning at top
- Updated slug to guides/legacy/react_agents_legacy
- Added to Legacy & Migration navigation section
- Added redirect from old URL to new legacy location
ReAct agents are a legacy architecture that lacks long-term memory
capabilities compared to the current Letta architecture.
* docs: move workflow and low-latency architectures to legacy
- Moved pages/agents/workflows.mdx to pages/legacy/workflows_legacy.mdx
- Moved pages/agents/low_latency_agents.mdx to pages/legacy/low_latency_agents_legacy.mdx
- Deleted pages/agents/architectures.mdx (overview page no longer needed)
- Removed 'Agent Memory & Architecture' from main Agents section
- Added workflows and low-latency to Legacy & Migration section
- Added redirects for old URLs
These agent architectures (workflow_agent, voice_convo_agent) are legacy.
For new projects, users should use the current Letta architecture with
tool rules or voice-optimized configurations instead.
* docs: remove orphaned stateful workflows page
- Deleted pages/agents/stateful_workflows.mdx
- Page was not linked in navigation or from other docs
- Feature (message_buffer_autoclear flag) is already documented in API reference
- Avoids confusion with legacy workflow architectures
* feat: update documentation and add new tutorials for memory blocks and agent collaboration
- Updated navigation paths in docs.yml to reflect new tutorial locations.
- Added comprehensive guides on shared memory blocks and attaching/detaching memory blocks.
- Enhanced existing documentation for memory blocks with examples and best practices.
- Corrected API key references in prebuilt tools documentation.
These changes aim to improve user understanding and facilitate multi-agent collaboration through shared memory systems.
* Add comprehensive documentation for built-in tools
- Restructure Tool Use section with Base Tools and Utilities
- Add Base Tools page documenting memory management and communication tools
- Add Web Search documentation with Exa integration details
- Add Code Interpreter documentation covering supported languages and limitations
- Add Fetch Webpage documentation with fallback extraction methods
- Update Utilities overview page to link to detailed tool docs
feat: update documentation and add new tutorials for memory blocks and agent collaboration
- Updated navigation paths in docs.yml to reflect new tutorial locations.
- Added comprehensive guides on shared memory blocks and attaching/detaching memory blocks.
- Enhanced existing documentation for memory blocks with examples and best practices.
- Corrected API key references in prebuilt tools documentation.
These changes aim to improve user understanding and facilitate multi-agent collaboration through shared memory systems.
* Fix VoiceAgent to use run_manager instead of job_manager
VoiceAgent.__init__() was incorrectly using job_manager parameter
when ToolExecutionManager expects run_manager. This was causing
the error: "VoiceAgent.__init__() got an unexpected keyword
argument 'run_manager'".
Changes:
- Update VoiceAgent to accept and use run_manager instead of job_manager
- Update VoiceSleeptimeAgent to accept run_manager parameter
- Update imports to use RunManager instead of JobManager
- Pass run_manager to ToolExecutionManager in VoiceAgent._execute_tool
* docs: Add new examples to documentation
- Introduced "Your First Agent" example to guide users in creating a Letta agent and understanding its memory capabilities.
- Added "Attaching and Detaching Memory Blocks" example to demonstrate dynamic memory management for agents.
- Updated navigation in docs.yml to include links to the new examples.
These additions enhance the learning resources available for users working with Letta agents.