workflow_run_fields.py 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. from flask_restful import fields # type: ignore
  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. "retry_index": fields.Integer,
  30. }
  31. advanced_chat_workflow_run_for_list_fields = {
  32. "id": fields.String,
  33. "conversation_id": fields.String,
  34. "message_id": fields.String,
  35. "sequence_number": fields.Integer,
  36. "version": fields.String,
  37. "status": fields.String,
  38. "elapsed_time": fields.Float,
  39. "total_tokens": fields.Integer,
  40. "total_steps": fields.Integer,
  41. "created_by_account": fields.Nested(simple_account_fields, attribute="created_by_account", allow_null=True),
  42. "created_at": TimestampField,
  43. "finished_at": TimestampField,
  44. "exceptions_count": fields.Integer,
  45. "retry_index": fields.Integer,
  46. }
  47. advanced_chat_workflow_run_pagination_fields = {
  48. "limit": fields.Integer(attribute="limit"),
  49. "has_more": fields.Boolean(attribute="has_more"),
  50. "data": fields.List(fields.Nested(advanced_chat_workflow_run_for_list_fields), attribute="data"),
  51. }
  52. workflow_run_pagination_fields = {
  53. "limit": fields.Integer(attribute="limit"),
  54. "has_more": fields.Boolean(attribute="has_more"),
  55. "data": fields.List(fields.Nested(workflow_run_for_list_fields), attribute="data"),
  56. }
  57. workflow_run_detail_fields = {
  58. "id": fields.String,
  59. "sequence_number": fields.Integer,
  60. "version": fields.String,
  61. "graph": fields.Raw(attribute="graph_dict"),
  62. "inputs": fields.Raw(attribute="inputs_dict"),
  63. "status": fields.String,
  64. "outputs": fields.Raw(attribute="outputs_dict"),
  65. "error": fields.String,
  66. "elapsed_time": fields.Float,
  67. "total_tokens": fields.Integer,
  68. "total_steps": fields.Integer,
  69. "created_by_role": fields.String,
  70. "created_by_account": fields.Nested(simple_account_fields, attribute="created_by_account", allow_null=True),
  71. "created_by_end_user": fields.Nested(simple_end_user_fields, attribute="created_by_end_user", allow_null=True),
  72. "created_at": TimestampField,
  73. "finished_at": TimestampField,
  74. "exceptions_count": fields.Integer,
  75. }
  76. retry_event_field = {
  77. "elapsed_time": fields.Float,
  78. "status": fields.String,
  79. "inputs": fields.Raw(attribute="inputs"),
  80. "process_data": fields.Raw(attribute="process_data"),
  81. "outputs": fields.Raw(attribute="outputs"),
  82. "metadata": fields.Raw(attribute="metadata"),
  83. "llm_usage": fields.Raw(attribute="llm_usage"),
  84. "error": fields.String,
  85. "retry_index": fields.Integer,
  86. }
  87. workflow_run_node_execution_fields = {
  88. "id": fields.String,
  89. "index": fields.Integer,
  90. "predecessor_node_id": fields.String,
  91. "node_id": fields.String,
  92. "node_type": fields.String,
  93. "title": fields.String,
  94. "inputs": fields.Raw(attribute="inputs_dict"),
  95. "process_data": fields.Raw(attribute="process_data_dict"),
  96. "outputs": fields.Raw(attribute="outputs_dict"),
  97. "status": fields.String,
  98. "error": fields.String,
  99. "elapsed_time": fields.Float,
  100. "execution_metadata": fields.Raw(attribute="execution_metadata_dict"),
  101. "extras": fields.Raw,
  102. "created_at": TimestampField,
  103. "created_by_role": fields.String,
  104. "created_by_account": fields.Nested(simple_account_fields, attribute="created_by_account", allow_null=True),
  105. "created_by_end_user": fields.Nested(simple_end_user_fields, attribute="created_by_end_user", allow_null=True),
  106. "finished_at": TimestampField,
  107. }
  108. workflow_run_node_execution_list_fields = {
  109. "data": fields.List(fields.Nested(workflow_run_node_execution_fields)),
  110. }