* 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
* deprecate ids for identity endpoints in favor of attach
* move archive attach/detach to agent
* new identities routes
* overrides for path
---------
Co-authored-by: Ari Webb <ari@letta.com>
* feat: add tool_used field to run_metrics [LET-5419]
* change to tool name
* use tool ids over names
* feat: add internal runs route with template_family filtering
* feat: add step count filtering to internal runs [LET-5417]
* remove import
* add auto generated
* feat: add tools used filtering to internal runs [LET-5415]
* add test
* add test
* fix snippets
* 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