Class: RosettAi::Mcp::Tools::CompileTool
- Inherits:
-
Object
- Object
- RosettAi::Mcp::Tools::CompileTool
- Defined in:
- lib/rosett_ai/mcp/tools/compile_tool.rb
Overview
MCP tool: compile rai behaviours to engine-native format.
Delegates to the real Compiler::CompilationPipeline. When simulate=true, returns diffs without writing files. When simulate=false, writes compiled output to disk.
Constant Summary collapse
- TOOL_NAME =
'rai_compile'- DESCRIPTION =
'Compile rai behaviours to engine-native format'- ANNOTATIONS =
{ 'readOnlyHint' => false, 'destructiveHint' => false, 'idempotentHint' => true, 'openWorldHint' => false }.freeze
- INPUT_SCHEMA =
{ type: 'object', properties: { simulate: { type: 'boolean', description: 'Dry-run mode — show what would change without writing (default: true)' }, engine: { type: 'string', description: 'Target engine format (default: claude)' } } }.freeze
Instance Method Summary collapse
-
#call(simulate: true, engine: 'claude') ⇒ Hash
Executes the compilation via the real pipeline.
Instance Method Details
#call(simulate: true, engine: 'claude') ⇒ Hash
Executes the compilation via the real pipeline.
50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/rosett_ai/mcp/tools/compile_tool.rb', line 50 def call(simulate: true, engine: 'claude') backend = RosettAi::Compiler::Backend.for(engine) pipeline = build_pipeline(backend) compiled = pipeline.compile if simulate build_simulate_result(pipeline, compiled, engine) else build_write_result(pipeline, compiled, engine) end rescue RosettAi::Error => e ResponseHelper.error("Compilation failed: #{e.}") end |