workflow_run_fields.py 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. from flask_restful import fields
  2. from fields.end_user_fields import simple_end_user_fields
  3. from fields.member_fields import simple_account_fields
  4. from libs.helper import TimestampField
  5. workflow_run_for_log_fields = {
  6. "id": fields.String,
  7. "version": fields.String,
  8. "status": fields.String,
  9. "error": fields.String,
  10. "elapsed_time": fields.Float,
  11. "total_tokens": fields.Integer,
  12. "total_steps": fields.Integer,
  13. "created_at": TimestampField,
  14. "finished_at": TimestampField
  15. }
  16. workflow_run_for_list_fields = {
  17. "id": fields.String,
  18. "sequence_number": fields.Integer,
  19. "version": fields.String,
  20. "status": fields.String,
  21. "elapsed_time": fields.Float,
  22. "total_tokens": fields.Integer,
  23. "total_steps": fields.Integer,
  24. "created_by_account": fields.Nested(simple_account_fields, attribute='created_by_account', allow_null=True),
  25. "created_at": TimestampField,
  26. "finished_at": TimestampField
  27. }
  28. advanced_chat_workflow_run_for_list_fields = {
  29. "id": fields.String,
  30. "conversation_id": fields.String,
  31. "message_id": fields.String,
  32. "sequence_number": fields.Integer,
  33. "version": fields.String,
  34. "status": fields.String,
  35. "elapsed_time": fields.Float,
  36. "total_tokens": fields.Integer,
  37. "total_steps": fields.Integer,
  38. "created_by_account": fields.Nested(simple_account_fields, attribute='created_by_account', allow_null=True),
  39. "created_at": TimestampField,
  40. "finished_at": TimestampField
  41. }
  42. advanced_chat_workflow_run_pagination_fields = {
  43. 'limit': fields.Integer(attribute='limit'),
  44. 'has_more': fields.Boolean(attribute='has_more'),
  45. 'data': fields.List(fields.Nested(advanced_chat_workflow_run_for_list_fields), attribute='data')
  46. }
  47. workflow_run_pagination_fields = {
  48. 'limit': fields.Integer(attribute='limit'),
  49. 'has_more': fields.Boolean(attribute='has_more'),
  50. 'data': fields.List(fields.Nested(workflow_run_for_list_fields), attribute='data')
  51. }
  52. workflow_run_detail_fields = {
  53. "id": fields.String,
  54. "sequence_number": fields.Integer,
  55. "version": fields.String,
  56. "graph": fields.Raw(attribute='graph_dict'),
  57. "inputs": fields.Raw(attribute='inputs_dict'),
  58. "status": fields.String,
  59. "outputs": fields.Raw(attribute='outputs_dict'),
  60. "error": fields.String,
  61. "elapsed_time": fields.Float,
  62. "total_tokens": fields.Integer,
  63. "total_steps": fields.Integer,
  64. "created_by_role": fields.String,
  65. "created_by_account": fields.Nested(simple_account_fields, attribute='created_by_account', allow_null=True),
  66. "created_by_end_user": fields.Nested(simple_end_user_fields, attribute='created_by_end_user', allow_null=True),
  67. "created_at": TimestampField,
  68. "finished_at": TimestampField
  69. }
  70. workflow_run_node_execution_fields = {
  71. "id": fields.String,
  72. "index": fields.Integer,
  73. "predecessor_node_id": fields.String,
  74. "node_id": fields.String,
  75. "node_type": fields.String,
  76. "title": fields.String,
  77. "inputs": fields.Raw(attribute='inputs_dict'),
  78. "process_data": fields.Raw(attribute='process_data_dict'),
  79. "outputs": fields.Raw(attribute='outputs_dict'),
  80. "status": fields.String,
  81. "error": fields.String,
  82. "elapsed_time": fields.Float,
  83. "execution_metadata": fields.Raw(attribute='execution_metadata_dict'),
  84. "extras": fields.Raw,
  85. "created_at": TimestampField,
  86. "created_by_role": fields.String,
  87. "created_by_account": fields.Nested(simple_account_fields, attribute='created_by_account', allow_null=True),
  88. "created_by_end_user": fields.Nested(simple_end_user_fields, attribute='created_by_end_user', allow_null=True),
  89. "finished_at": TimestampField
  90. }
  91. workflow_run_node_execution_list_fields = {
  92. 'data': fields.List(fields.Nested(workflow_run_node_execution_fields)),
  93. }