# Vault Tool for Letta Agents External storage tool for Letta agents to manage persistent vault items with attach/detach semantics. > **Note**: This branch uses tags-based ownership which requires an updated Letta client with block tags support. ## Installation Register the tool with your Letta agent: ```bash python create_vault_tool.py ``` ## Commands | Command | Description | |---------|-------------| | `create ` | Create new item (not attached) | | `view ` | Read item contents | | `attach [content]` | Load into context (supports `/folder/*`) | | `detach ` | Remove from context (supports `/folder/*`) | | `insert [line]` | Insert before line (0-indexed) | | `append ` | Add content to end | | `replace ` | Find/replace with diff | | `rename ` | Move/rename item | | `copy ` | Duplicate item | | `delete ` | Permanently remove | | `list [query]` | List items (prefix filter, `*` for all) | | `search [label\|content]` | Search by label or content | | `attached` | Show items in context | ## Features - **Agent-scoped storage** - Each agent's items are isolated via tags - **Attach/detach semantics** - Load items into context or remove them - **Path-based organization** - Organize with paths like `/projects/webapp` - **Bulk operations** - Support for wildcards like `attach /folder/*` - **Auto-maintained directory** - A `/vault_directory` block shows all items ## Command Permissions By default, all commands are enabled. You can restrict which commands are available by setting the `ENABLED_COMMANDS` environment variable on your Letta server: ```bash # Enable all commands (default) ENABLED_COMMANDS="all" # Disable delete (safer for production) ENABLED_COMMANDS="create,view,attach,detach,insert,append,replace,rename,copy,list,search,attached" # Read-only mode ENABLED_COMMANDS="view,list,search,attached" ``` Disabled commands will return an error message listing which commands are enabled. ## License MIT