48 lines
1.4 KiB
JavaScript
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 };
|