| logger = logging.getLogger(__name__) | logger = logging.getLogger(__name__) | ||||
| class WorkflowRunApi(Resource): | |||||
| workflow_run_fields = { | |||||
| 'id': fields.String, | |||||
| 'workflow_id': fields.String, | |||||
| 'status': fields.String, | |||||
| 'inputs': fields.Raw, | |||||
| 'outputs': fields.Raw, | |||||
| 'error': fields.String, | |||||
| 'total_steps': fields.Integer, | |||||
| 'total_tokens': fields.Integer, | |||||
| 'created_at': fields.DateTime, | |||||
| 'finished_at': fields.DateTime, | |||||
| 'elapsed_time': fields.Float, | |||||
| } | |||||
| workflow_run_fields = { | |||||
| 'id': fields.String, | |||||
| 'workflow_id': fields.String, | |||||
| 'status': fields.String, | |||||
| 'inputs': fields.Raw, | |||||
| 'outputs': fields.Raw, | |||||
| 'error': fields.String, | |||||
| 'total_steps': fields.Integer, | |||||
| 'total_tokens': fields.Integer, | |||||
| 'created_at': fields.DateTime, | |||||
| 'finished_at': fields.DateTime, | |||||
| 'elapsed_time': fields.Float, | |||||
| } | |||||
| class WorkflowRunDetailApi(Resource): | |||||
| @validate_app_token | @validate_app_token | ||||
| @marshal_with(workflow_run_fields) | @marshal_with(workflow_run_fields) | ||||
| def get(self, app_model: App, workflow_id: str): | def get(self, app_model: App, workflow_id: str): | ||||
| workflow_run = db.session.query(WorkflowRun).filter(WorkflowRun.id == workflow_id).first() | workflow_run = db.session.query(WorkflowRun).filter(WorkflowRun.id == workflow_id).first() | ||||
| return workflow_run | return workflow_run | ||||
| class WorkflowRunApi(Resource): | |||||
| @validate_app_token(fetch_user_arg=FetchUserArg(fetch_from=WhereisUserArg.JSON, required=True)) | @validate_app_token(fetch_user_arg=FetchUserArg(fetch_from=WhereisUserArg.JSON, required=True)) | ||||
| def post(self, app_model: App, end_user: EndUser): | def post(self, app_model: App, end_user: EndUser): | ||||
| """ | """ | ||||
| } | } | ||||
| api.add_resource(WorkflowRunApi, '/workflows/run/<string:workflow_id>', '/workflows/run') | |||||
| api.add_resource(WorkflowRunApi, '/workflows/run') | |||||
| api.add_resource(WorkflowRunDetailApi, '/workflows/run/<string:workflow_id>') | |||||
| api.add_resource(WorkflowTaskStopApi, '/workflows/tasks/<string:task_id>/stop') | api.add_resource(WorkflowTaskStopApi, '/workflows/tasks/<string:task_id>/stop') |