feat(canvas): Custom extractor components, migrator, and MCP spec tools

Canvas Components:
- CustomExtractorNode.tsx: Node for custom Python extractors
- CustomExtractorPanel.tsx: Configuration panel for custom extractors
- ConnectionStatusIndicator.tsx: WebSocket status display
- atomizer-spec.ts: TypeScript types for AtomizerSpec v2.0

Config:
- migrator.py: Legacy config to AtomizerSpec v2.0 migration
- Updated __init__.py exports for config and extractors

MCP Tools:
- spec.ts: MCP tools for spec manipulation
- index.ts: Tool registration updates
This commit is contained in:
2026-01-20 13:11:42 -05:00
parent cb6b130908
commit 27e78d3d56
9 changed files with 3128 additions and 0 deletions

View File

@@ -9,6 +9,7 @@ Modules:
- builder: OptimizationConfigBuilder for creating configs
- setup_wizard: Interactive configuration setup
- capability_matcher: Match capabilities to requirements
- spec_models: AtomizerSpec v2.0 Pydantic models (unified configuration)
"""
# Lazy imports to avoid circular dependencies
@@ -31,6 +32,27 @@ def __getattr__(name):
elif name == 'TemplateLoader':
from .template_loader import TemplateLoader
return TemplateLoader
elif name == 'AtomizerSpec':
from .spec_models import AtomizerSpec
return AtomizerSpec
elif name == 'SpecValidator':
from .spec_validator import SpecValidator
return SpecValidator
elif name == 'SpecValidationError':
from .spec_validator import SpecValidationError
return SpecValidationError
elif name == 'validate_spec':
from .spec_validator import validate_spec
return validate_spec
elif name == 'SpecMigrator':
from .migrator import SpecMigrator
return SpecMigrator
elif name == 'migrate_config':
from .migrator import migrate_config
return migrate_config
elif name == 'migrate_config_file':
from .migrator import migrate_config_file
return migrate_config_file
raise AttributeError(f"module 'optimization_engine.config' has no attribute '{name}'")
__all__ = [
@@ -40,4 +62,11 @@ __all__ = [
'SetupWizard',
'CapabilityMatcher',
'TemplateLoader',
'AtomizerSpec',
'SpecValidator',
'SpecValidationError',
'validate_spec',
'SpecMigrator',
'migrate_config',
'migrate_config_file',
]