Class: RosettAi::Mcp::Tools::BackupTool
- Inherits:
-
Object
- Object
- RosettAi::Mcp::Tools::BackupTool
- Defined in:
- lib/rosett_ai/mcp/tools/backup_tool.rb
Overview
MCP tool: create rai backup.
Backs up global and/or local rai configuration. Write operation — creates backup archive.
Constant Summary collapse
- TOOL_NAME =
'rai_backup'- DESCRIPTION =
'Create rai configuration backup'- ANNOTATIONS =
{ 'readOnlyHint' => false, 'destructiveHint' => false, 'idempotentHint' => false, 'openWorldHint' => false }.freeze
- INPUT_SCHEMA =
{ type: 'object', properties: { global: { type: 'boolean', description: 'Back up global ~/.claude/ structure (default: false)' }, local: { type: 'boolean', description: 'Back up project .claude/ and CLAUDE.md (default: false)' }, compression: { type: 'string', enum: ['zip', 'none'], description: 'Compression format (default: zip)' } } }.freeze
Instance Method Summary collapse
-
#call(global: false, local: false, compression: 'zip') ⇒ Hash
Executes the backup.
Instance Method Details
#call(global: false, local: false, compression: 'zip') ⇒ Hash
Executes the backup.
52 53 54 55 56 57 58 59 60 |
# File 'lib/rosett_ai/mcp/tools/backup_tool.rb', line 52 def call(global: false, local: false, compression: 'zip') return ResponseHelper.error('At least one scope required: global or local') unless global || local manager = RosettAi::Backup::Manager.new result = manager.create(global: global, local: local, compression: compression) ResponseHelper.success('Backup created', path: result[:path], size: result[:size]) rescue StandardError => e ResponseHelper.error("Backup failed: #{e.}") end |