- Add human task dspy: human_complete, human_list, approval_approve, approval_reject - Add task_restart.dspy for restarting completed/failed tasks - Enhance task_detail.ui: inline human task forms, approval buttons, restart - New step_panel.ui: view/modify step artifacts with cascade rerun - Update task_list.ui: Tabular with search_form filter by pipeline/state - Update index.ui: embed task list Tabular inline - Update load_path.py: register new dspy/ui paths
20 lines
858 B
Plaintext
20 lines
858 B
Plaintext
tenant_id = (await get_userorgid()) or '0'
|
|
pipeline_id = params_kw.get('pipeline_id', params_kw.get('filter_pipeline_id', None))
|
|
state_filter = params_kw.get('state', params_kw.get('filter_state', None))
|
|
limit = int(params_kw.get('limit', 100))
|
|
|
|
try:
|
|
result = await pipeline_list(tenant_id, pipeline_id, limit)
|
|
data = json.loads(result)
|
|
if data.get('success') and 'tasks' in data:
|
|
tasks = data['tasks']
|
|
# Apply state filter if specified (pipeline_list doesn't support it natively)
|
|
if state_filter:
|
|
tasks = [t for t in tasks if t.get('state') == state_filter]
|
|
data['rows'] = tasks
|
|
data['total'] = len(tasks)
|
|
return json.dumps(data, ensure_ascii=False, default=str)
|
|
return result
|
|
except Exception as e:
|
|
return json.dumps({"success": False, "message": str(e)}, ensure_ascii=False)
|