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)