2.5 KiB
2.5 KiB
| name | description |
|---|---|
| pipeline-task | Pipeline task interaction module — task submission, monitoring, human task approval, and artifact viewing. |
pipeline_task
Pure interaction-layer module with no data tables. All operations delegate to pipeline_service and pipeline_sdlc via ServerEnv.
Architecture
pipeline_task/
├── pipeline_task/
│ ├── __init__.py
│ └── init.py # load_pipeline_task() — registers UI-facing functions
├── wwwroot/
│ ├── index.ui # Task center dashboard
│ ├── task_submit.ui # Natural language task submission form
│ ├── task_detail.ui # Task detail with step tree + artifacts
│ ├── task_tree_popup.ui # Popup step tree view
│ ├── step_panel.ui # Single step input/output viewer
│ └── api/
│ ├── task_submit.dspy # Submit task (NLP → intent → dispatch)
│ ├── task_list.dspy # Task list with filters
│ ├── task_detail.dspy # Task + steps detail
│ ├── task_node.dspy # Single step I/O
│ ├── task_tree.dspy # Step DAG as tree
│ ├── task_control.dspy # Pause/resume/cancel
│ ├── task_restart.dspy # Restart task
│ ├── human_list.dspy # Human task list
│ ├── human_complete.dspy # Complete human task
│ ├── approval_approve.dspy / reject.dspy
│ └── my_bugs.dspy # User's bug list
├── i18n/ # zh/en/jp/ko translations
└── scripts/load_path.py # RBAC registration
Key DSPY Endpoints
Task Lifecycle
task_submit.dspy— NLP input → intent classification → pipeline dispatchtask_list.dspy— Paginated task list with status filterstask_detail.dspy— Full task info + step tree
Step Interaction
task_node.dspy— Read/write step input/output artifactstask_tree.dspy— DAG steps as nested tree for frontend Tree widget
Human Tasks
human_list.dspy— Pending human taskshuman_complete.dspy— Submit human task resultapproval_approve.dspy/approval_reject.dspy
Pitfalls
- No data tables: All data ops delegate to pipeline_service. Never write SQL here.
- Tree widget format:
task_tree.dspymust return[{"id","label","children":[...]}]format for bricks Tree. - i18n: After editing msg.txt, run
merge_i18n.pyin umbrella's build.sh. - Auto-refresh: Task list uses browser-side polling. No server push.