-
Notifications
You must be signed in to change notification settings - Fork 0
version 0.1.0 #52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
version 0.1.0 #52
Conversation
… for fill_running_tasks_idempotent
…tead of patch in each test
… redis using fast api
…sks-idempotent Make swarm tasks idempotent and add React visualization frontend
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces version 0.1.0, a significant release that includes major refactoring, new features, and infrastructure improvements for the mageflow project.
Changes:
- Refactored test infrastructure to separate unit and integration tests, improving CI/CD efficiency
- Introduced a React-based frontend visualizer with FastAPI backend for workflow graph visualization
- Updated core models and workflows to use rapyer 1.2.0 with idempotent task execution
- Migrated from Dash to FastAPI/React for the visualization component
- Added CLI interface and reorganized project structure
Reviewed changes
Copilot reviewed 144 out of 156 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Version bump to 0.1.0, dependency updates (rapyer 1.2.0), new dev/display dependencies |
| tox.ini | Split test environments into unit and integration, using .[dev] for dependencies |
| .github/workflows/ci.yml | Separated unit and integration test jobs for better CI performance |
| .github/workflows/publish.yml | Added React build step to publishing workflow |
| mageflow/models/message.py | Refactored ReturnValue to use Generic with proper type annotations |
| mageflow/swarm/* | Added state management and messages for idempotent swarm execution |
| mageflow/chain/* | Updated chain workflows with improved error handling and cleanup |
| mageflow/visualizer/* | Complete rewrite from Dash to FastAPI server with React frontend |
| mageflow/cli.py | New CLI entry point for mageflow commands |
| tests/* | Reorganized tests into unit and integration directories with comprehensive coverage |
| frontend/* | New React/TypeScript frontend application for visualization |
| CHANGELOG.md | Updated with 0.1.0 release notes |
| docs/* | Fixed spelling errors in documentation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| export function GraphCanvas() { | ||
| const tasks = useGraphStore((state) => state.tasks); | ||
| const activeRootId = useActiveRootId(); | ||
| const expandedNodeIds = useExpandedNodeIds(); |
Copilot
AI
Jan 29, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unused variable expandedNodeIds.
|
|
||
| import React, { memo, useCallback } from 'react'; | ||
| import { useRootTaskIds, useTask } from '../selectors'; | ||
| import { useActiveRootId, useIsRootActive } from '../selectors/uiSelectors'; |
Copilot
AI
Jan 29, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unused import useActiveRootId.
| import { useActiveRootId, useIsRootActive } from '../selectors/uiSelectors'; | |
| import { useIsRootActive } from '../selectors/uiSelectors'; |
|
|
||
| import React, { memo, useCallback } from 'react'; | ||
| import { Handle, Position, NodeProps } from 'reactflow'; | ||
| import { useTask, useTaskStatus } from '../../selectors'; |
Copilot
AI
Jan 29, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unused import useTaskStatus.
| import React, { memo, useCallback } from 'react'; | ||
| import { Handle, Position, NodeProps } from 'reactflow'; | ||
| import { useTask, useTaskStatus } from '../../selectors'; | ||
| import { useIsTaskSelected, useIsNodeExpanded } from '../../selectors'; |
Copilot
AI
Jan 29, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unused import useIsNodeExpanded.
| import { useMemo } from 'react'; | ||
| import { shallow } from 'zustand/shallow'; | ||
| import { useGraphStore } from '../stores/graphStore'; | ||
| import { Task, TaskStatus, Edge } from '../types'; |
Copilot
AI
Jan 29, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unused import Edge.
| @@ -0,0 +1,18 @@ | |||
| import abc | |||
Copilot
AI
Jan 29, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Module 'abc' is imported with both 'import' and 'import from'.
| from mageflow.swarm.consts import ( | ||
| SWARM_TASK_ID_PARAM_NAME, | ||
| SWARM_ITEM_TASK_ID_PARAM_NAME, | ||
| ) |
Copilot
AI
Jan 29, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Import of 'SWARM_TASK_ID_PARAM_NAME' is not used.
Import of 'SWARM_ITEM_TASK_ID_PARAM_NAME' is not used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 145 out of 157 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.