log.ts 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. } from '@/models/log'
  19. export const fetchConversationList: Fetcher<ConversationListResponse, { name: string; appId: string; params?: Record<string, any> }> = ({ appId, params }) => {
  20. return get(`/console/api/apps/${appId}/messages`, params) as Promise<ConversationListResponse>
  21. }
  22. // (Text Generation Application) Session List
  23. export const fetchCompletionConversations: Fetcher<CompletionConversationsResponse, { url: string; params?: CompletionConversationsRequest }> = ({ url, params }) => {
  24. return get(url, { params }) as Promise<CompletionConversationsResponse>
  25. }
  26. // (Text Generation Application) Session Detail
  27. export const fetchCompletionConversationDetail: Fetcher<CompletionConversationFullDetailResponse, { url: string }> = ({ url }) => {
  28. return get(url, {}) as Promise<CompletionConversationFullDetailResponse>
  29. }
  30. // (Chat Application) Session List
  31. export const fetchChatConversations: Fetcher<ChatConversationsResponse, { url: string; params?: ChatConversationsRequest }> = ({ url, params }) => {
  32. return get(url, { params }) as Promise<ChatConversationsResponse>
  33. }
  34. // (Chat Application) Session Detail
  35. export const fetchChatConversationDetail: Fetcher<ChatConversationFullDetailResponse, { url: string }> = ({ url }) => {
  36. return get(url, {}) as Promise<ChatConversationFullDetailResponse>
  37. }
  38. // (Chat Application) Message list in one session
  39. export const fetchChatMessages: Fetcher<ChatMessagesResponse, { url: string; params: ChatMessagesRequest }> = ({ url, params }) => {
  40. return get(url, { params }) as Promise<ChatMessagesResponse>
  41. }
  42. export const updateLogMessageFeedbacks: Fetcher<LogMessageFeedbacksResponse, { url: string; body: LogMessageFeedbacksRequest }> = ({ url, body }) => {
  43. return post(url, { body }) as Promise<LogMessageFeedbacksResponse>
  44. }
  45. export const updateLogMessageAnnotations: Fetcher<LogMessageAnnotationsResponse, { url: string; body: LogMessageAnnotationsRequest }> = ({ url, body }) => {
  46. return post(url, { body }) as Promise<LogMessageAnnotationsResponse>
  47. }
  48. export const fetchAnnotationsCount: Fetcher<AnnotationsCountResponse, { url: string }> = ({ url }) => {
  49. return get(url) as Promise<AnnotationsCountResponse>
  50. }