log.ts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import type { Fetcher } from 'swr'
  2. import { get, post } from './base'
  3. import type {
  4. AnnotationsCountResponse,
  5. ChatConversationFullDetailResponse,
  6. ChatConversationsRequest,
  7. ChatConversationsResponse,
  8. ChatMessagesRequest,
  9. ChatMessagesResponse,
  10. CompletionConversationFullDetailResponse,
  11. CompletionConversationsRequest,
  12. CompletionConversationsResponse,
  13. ConversationListResponse,
  14. LogMessageAnnotationsRequest,
  15. LogMessageAnnotationsResponse,
  16. LogMessageFeedbacksRequest,
  17. LogMessageFeedbacksResponse,
  18. WorkflowLogsRequest,
  19. WorkflowLogsResponse,
  20. WorkflowRunDetailResponse,
  21. } from '@/models/log'
  22. import type { NodeTracingListResponse } from '@/types/workflow'
  23. export const fetchConversationList: Fetcher<ConversationListResponse, { name: string; appId: string; params?: Record<string, any> }> = ({ appId, params }) => {
  24. return get<ConversationListResponse>(`/console/api/apps/${appId}/messages`, params)
  25. }
  26. // (Text Generation Application) Session List
  27. export const fetchCompletionConversations: Fetcher<CompletionConversationsResponse, { url: string; params?: CompletionConversationsRequest }> = ({ url, params }) => {
  28. return get<CompletionConversationsResponse>(url, { params })
  29. }
  30. // (Text Generation Application) Session Detail
  31. export const fetchCompletionConversationDetail: Fetcher<CompletionConversationFullDetailResponse, { url: string }> = ({ url }) => {
  32. return get<CompletionConversationFullDetailResponse>(url, {})
  33. }
  34. // (Chat Application) Session List
  35. export const fetchChatConversations: Fetcher<ChatConversationsResponse, { url: string; params?: ChatConversationsRequest }> = ({ url, params }) => {
  36. return get<ChatConversationsResponse>(url, { params })
  37. }
  38. // (Chat Application) Session Detail
  39. export const fetchChatConversationDetail: Fetcher<ChatConversationFullDetailResponse, { url: string }> = ({ url }) => {
  40. return get<ChatConversationFullDetailResponse>(url, {})
  41. }
  42. // (Chat Application) Message list in one session
  43. export const fetchChatMessages: Fetcher<ChatMessagesResponse, { url: string; params: ChatMessagesRequest }> = ({ url, params }) => {
  44. return get<ChatMessagesResponse>(url, { params })
  45. }
  46. export const updateLogMessageFeedbacks: Fetcher<LogMessageFeedbacksResponse, { url: string; body: LogMessageFeedbacksRequest }> = ({ url, body }) => {
  47. return post<LogMessageFeedbacksResponse>(url, { body })
  48. }
  49. export const updateLogMessageAnnotations: Fetcher<LogMessageAnnotationsResponse, { url: string; body: LogMessageAnnotationsRequest }> = ({ url, body }) => {
  50. return post<LogMessageAnnotationsResponse>(url, { body })
  51. }
  52. export const fetchAnnotationsCount: Fetcher<AnnotationsCountResponse, { url: string }> = ({ url }) => {
  53. return get<AnnotationsCountResponse>(url)
  54. }
  55. export const fetchWorkflowLogs: Fetcher<WorkflowLogsResponse, { url: string; params?: WorkflowLogsRequest }> = ({ url, params }) => {
  56. return get<WorkflowLogsResponse>(url, { params })
  57. }
  58. export const fetchRunDetail = ({ appID, runID }: { appID: string; runID: string }) => {
  59. return get<WorkflowRunDetailResponse>(`/apps/${appID}/workflow-runs/${runID}`)
  60. }
  61. export const fetchTracingList: Fetcher<NodeTracingListResponse, { url: string }> = ({ url }) => {
  62. return get<NodeTracingListResponse>(url)
  63. }