You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

workflow_run_fields.py 4.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. from flask_restx import Api, Namespace, 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. def build_workflow_run_for_log_model(api_or_ns: Api | Namespace):
  18. return api_or_ns.model("WorkflowRunForLog", workflow_run_for_log_fields)
  19. workflow_run_for_list_fields = {
  20. "id": fields.String,
  21. "version": fields.String,
  22. "status": fields.String,
  23. "elapsed_time": fields.Float,
  24. "total_tokens": fields.Integer,
  25. "total_steps": fields.Integer,
  26. "created_by_account": fields.Nested(simple_account_fields, attribute="created_by_account", allow_null=True),
  27. "created_at": TimestampField,
  28. "finished_at": TimestampField,
  29. "exceptions_count": fields.Integer,
  30. "retry_index": fields.Integer,
  31. }
  32. advanced_chat_workflow_run_for_list_fields = {
  33. "id": fields.String,
  34. "conversation_id": fields.String,
  35. "message_id": fields.String,
  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. "version": fields.String,
  60. "graph": fields.Raw(attribute="graph_dict"),
  61. "inputs": fields.Raw(attribute="inputs_dict"),
  62. "status": fields.String,
  63. "outputs": fields.Raw(attribute="outputs_dict"),
  64. "error": fields.String,
  65. "elapsed_time": fields.Float,
  66. "total_tokens": fields.Integer,
  67. "total_steps": fields.Integer,
  68. "created_by_role": fields.String,
  69. "created_by_account": fields.Nested(simple_account_fields, attribute="created_by_account", allow_null=True),
  70. "created_by_end_user": fields.Nested(simple_end_user_fields, attribute="created_by_end_user", allow_null=True),
  71. "created_at": TimestampField,
  72. "finished_at": TimestampField,
  73. "exceptions_count": fields.Integer,
  74. }
  75. retry_event_field = {
  76. "elapsed_time": fields.Float,
  77. "status": fields.String,
  78. "inputs": fields.Raw(attribute="inputs"),
  79. "process_data": fields.Raw(attribute="process_data"),
  80. "outputs": fields.Raw(attribute="outputs"),
  81. "metadata": fields.Raw(attribute="metadata"),
  82. "llm_usage": fields.Raw(attribute="llm_usage"),
  83. "error": fields.String,
  84. "retry_index": fields.Integer,
  85. }
  86. workflow_run_node_execution_fields = {
  87. "id": fields.String,
  88. "index": fields.Integer,
  89. "predecessor_node_id": fields.String,
  90. "node_id": fields.String,
  91. "node_type": fields.String,
  92. "title": fields.String,
  93. "inputs": fields.Raw(attribute="inputs_dict"),
  94. "process_data": fields.Raw(attribute="process_data_dict"),
  95. "outputs": fields.Raw(attribute="outputs_dict"),
  96. "status": fields.String,
  97. "error": fields.String,
  98. "elapsed_time": fields.Float,
  99. "execution_metadata": fields.Raw(attribute="execution_metadata_dict"),
  100. "extras": fields.Raw,
  101. "created_at": TimestampField,
  102. "created_by_role": fields.String,
  103. "created_by_account": fields.Nested(simple_account_fields, attribute="created_by_account", allow_null=True),
  104. "created_by_end_user": fields.Nested(simple_end_user_fields, attribute="created_by_end_user", allow_null=True),
  105. "finished_at": TimestampField,
  106. "inputs_truncated": fields.Boolean,
  107. "outputs_truncated": fields.Boolean,
  108. "process_data_truncated": fields.Boolean,
  109. }
  110. workflow_run_node_execution_list_fields = {
  111. "data": fields.List(fields.Nested(workflow_run_node_execution_fields)),
  112. }