UNPKG

@every-env/cli

Version:

Multi-agent orchestrator for AI-powered development workflows

75 lines 2.52 kB
export const initialState = { currentPhase: 1, selectedIndex: null, inputValue: '', inputMode: 'idle', showHelp: false, showLogs: null, commandFeedback: null, tasks: { plan: [], delegate: [], assess: [], codify: [] } }; export function appReducer(state, action) { switch (action.type) { case 'SET_PHASE': return { ...state, currentPhase: action.phase, selectedIndex: null }; case 'SET_SELECTED_INDEX': return { ...state, selectedIndex: action.index }; case 'SET_INPUT_VALUE': return { ...state, inputValue: action.value }; case 'SET_INPUT_MODE': return { ...state, inputMode: action.mode }; case 'SET_SHOW_HELP': return { ...state, showHelp: action.show }; case 'SET_SHOW_LOGS': return { ...state, showLogs: action.taskId }; case 'SET_COMMAND_FEEDBACK': return { ...state, commandFeedback: action.message }; case 'ADD_TASK': return { ...state, tasks: { ...state.tasks, [action.phase]: [...state.tasks[action.phase], action.task] } }; case 'UPDATE_TASK': return { ...state, tasks: { ...state.tasks, [action.phase]: state.tasks[action.phase].map(task => task.id === action.taskId ? { ...task, ...action.updates } : task) } }; case 'DELETE_TASK': return { ...state, tasks: { ...state.tasks, [action.phase]: state.tasks[action.phase].filter(task => task.id !== action.taskId) } }; case 'MOVE_TASK': { const task = state.tasks[action.fromPhase].find(t => t.id === action.taskId); if (!task) return state; return { ...state, tasks: { ...state.tasks, [action.fromPhase]: state.tasks[action.fromPhase].filter(t => t.id !== action.taskId), [action.toPhase]: [...state.tasks[action.toPhase], task] } }; } case 'LOAD_STATE': return { ...state, ...action.state }; default: return state; } } //# sourceMappingURL=reducer.js.map