Class: RosettAi::Mcp::Tools::ConfigCompileTool
- Inherits:
-
Object
- Object
- RosettAi::Mcp::Tools::ConfigCompileTool
- Defined in:
- lib/rosett_ai/mcp/tools/config_compile_tool.rb
Overview
MCP tool: compile Claude Code configuration.
Compiles YAML scopes to JSON settings files. Write operation — may modify settings files.
Constant Summary collapse
- TOOL_NAME =
'rai_config_compile'- DESCRIPTION =
'Compile rai configuration scopes to JSON settings'- ANNOTATIONS =
{ 'readOnlyHint' => false, 'destructiveHint' => false, 'idempotentHint' => true, 'openWorldHint' => false }.freeze
- INPUT_SCHEMA =
{ type: 'object', properties: { simulate: { type: 'boolean', description: 'Dry-run mode (default: true)' }, scope: { type: 'string', description: 'Compile a specific scope only (e.g. managed, user, project)' }, engine: { type: 'string', description: 'Target engine (default: claude)' } } }.freeze
Instance Method Summary collapse
-
#call(simulate: true, scope: nil, engine: 'claude') ⇒ Hash
Executes the configuration compilation.
Instance Method Details
#call(simulate: true, scope: nil, engine: 'claude') ⇒ Hash
Executes the configuration compilation.
51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/rosett_ai/mcp/tools/config_compile_tool.rb', line 51 def call(simulate: true, scope: nil, engine: 'claude') compiler = RosettAi::AiConfig::Compiler.new results = compiler.compile(simulate: simulate, scope: scope, engine: engine) { simulate: simulate, scope: scope, engine: engine, status: simulate ? 'dry-run' : 'compiled', files: results[:files], message: results[:message] } rescue StandardError => e ResponseHelper.error("Config compile failed: #{e.}") end |