workflow_run_fields.py 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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. "exceptions_count": fields.Integer,
  16. }
  17. workflow_run_for_list_fields = {
  18. "id": fields.String,
  19. "sequence_number": fields.Integer,
  20. "version": fields.String,
  21. "status": fields.String,
  22. "elapsed_time": fields.Float,
  23. "total_tokens": fields.Integer,
  24. "total_steps": fields.Integer,
  25. "created_by_account": fields.Nested(simple_account_fields, attribute="created_by_account", allow_null=True),
  26. "created_at": TimestampField,
  27. "finished_at": TimestampField,
  28. "exceptions_count": fields.Integer,
  29. }
  30. advanced_chat_workflow_run_for_list_fields = {
  31. "id": fields.String,
  32. "conversation_id": fields.String,
  33. "message_id": fields.String,
  34. "sequence_number": fields.Integer,
  35. "version": fields.String,
  36. "status": fields.String,
  37. "elapsed_time": fields.Float,
  38. "total_tokens": fields.Integer,
  39. "total_steps": fields.Integer,
  40. "created_by_account": fields.Nested(simple_account_fields, attribute="created_by_account", allow_null=True),
  41. "created_at": TimestampField,
  42. "finished_at": TimestampField,
  43. "exceptions_count": fields.Integer,
  44. }
  45. advanced_chat_workflow_run_pagination_fields = {
  46. "limit": fields.Integer(attribute="limit"),
  47. "has_more": fields.Boolean(attribute="has_more"),
  48. "data": fields.List(fields.Nested(advanced_chat_workflow_run_for_list_fields), attribute="data"),
  49. }
  50. workflow_run_pagination_fields = {
  51. "limit": fields.Integer(attribute="limit"),
  52. "has_more": fields.Boolean(attribute="has_more"),
  53. "data": fields.List(fields.Nested(workflow_run_for_list_fields), attribute="data"),
  54. }
  55. workflow_run_detail_fields = {
  56. "id": fields.String,
  57. "sequence_number": fields.Integer,
  58. "version": fields.String,
  59. "graph": fields.Raw(attribute="graph_dict"),
  60. "inputs": fields.Raw(attribute="inputs_dict"),
  61. "status": fields.String,
  62. "outputs": fields.Raw(attribute="outputs_dict"),
  63. "error": fields.String,
  64. "elapsed_time": fields.Float,
  65. "total_tokens": fields.Integer,
  66. "total_steps": fields.Integer,
  67. "created_by_role": fields.String,
  68. "created_by_account": fields.Nested(simple_account_fields, attribute="created_by_account", allow_null=True),
  69. "created_by_end_user": fields.Nested(simple_end_user_fields, attribute="created_by_end_user", allow_null=True),
  70. "created_at": TimestampField,
  71. "finished_at": TimestampField,
  72. "exceptions_count": fields.Integer,
  73. }
  74. workflow_run_node_execution_fields = {
  75. "id": fields.String,
  76. "index": fields.Integer,
  77. "predecessor_node_id": fields.String,
  78. "node_id": fields.String,
  79. "node_type": fields.String,
  80. "title": fields.String,
  81. "inputs": fields.Raw(attribute="inputs_dict"),
  82. "process_data": fields.Raw(attribute="process_data_dict"),
  83. "outputs": fields.Raw(attribute="outputs_dict"),
  84. "status": fields.String,
  85. "error": fields.String,
  86. "elapsed_time": fields.Float,
  87. "execution_metadata": fields.Raw(attribute="execution_metadata_dict"),
  88. "extras": fields.Raw,
  89. "created_at": TimestampField,
  90. "created_by_role": fields.String,
  91. "created_by_account": fields.Nested(simple_account_fields, attribute="created_by_account", allow_null=True),
  92. "created_by_end_user": fields.Nested(simple_end_user_fields, attribute="created_by_end_user", allow_null=True),
  93. "finished_at": TimestampField,
  94. }
  95. workflow_run_node_execution_list_fields = {
  96. "data": fields.List(fields.Nested(workflow_run_node_execution_fields)),
  97. }