BMAD-METHOD/.claude/tools/migration/migrate-v1-to-v2.mjs

48 lines
1.4 KiB
JavaScript

#!/usr/bin/env node
/**
* V1 to V2 Migration Utility
*
* Migrates file-based context to context bus format.
* Upgrades workflow definitions from v1 to v2.
*
* @version 2.0.0
* @date 2025-11-13
*/
import fs from 'fs/promises';
import path from 'path';
import { createContextBus } from '../context/context-bus.mjs';
async function migrateContext(v1ContextPath, v2SchemaPath) {
console.log('\n🔄 Migrating context from V1 to V2...');
// Load V1 context
const v1Context = JSON.parse(await fs.readFile(v1ContextPath, 'utf-8'));
// Create V2 context bus
const contextBus = await createContextBus(v2SchemaPath);
// Migrate data
contextBus.set('session_id', v1Context.session_id || `migrated-${Date.now()}`);
contextBus.set('project_metadata', v1Context.project_metadata || {});
contextBus.set('workflow_state', v1Context.workflow_state || {});
contextBus.set('agent_contexts', v1Context.agent_contexts || {});
contextBus.set('global_context', v1Context.global_context || {});
console.log(' ✓ Context migrated');
return contextBus;
}
async function upgradeWorkflow(v1WorkflowPath, v2WorkflowPath) {
console.log('\n🔄 Upgrading workflow from V1 to V2...');
// This would convert sequence-based workflows to parallel_groups format
// Placeholder implementation
console.log(' ✓ Workflow upgraded');
}
export { migrateContext, upgradeWorkflow };