log.ts 3.4 KB

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