{"version":3,"file":"index.mjs","names":["dataService.getSharedMessages","dataService.getSharedLink","dataService.getConversationById","dataService.updateMessage","dataService.updateMessageContent","dataService.updateUserKey","dataService.clearAllConversations","dataService.revokeUserKey","s.isAssistantsEndpoint","dataService.revokeAllUserKeys","dataService.getModels","dataService.createPreset","dataService.deletePreset","dataService.updateTokenCount","dataService.register","dataService.userKeyQuery","dataService.requestPasswordReset","dataService.resetPassword","dataService.getAvailablePlugins","dataService.updateUserPlugins","dataService.reinitializeMCPServer","dataService.cancelMCPOAuth","dataService.getCustomConfigSpeech","dataService.updateFeedback","dataService.searchPrincipals","dataService.getAccessRoles","dataService.getResourcePermissions","dataService.updateResourcePermissions","dataService.getEffectivePermissions","dataService.getAllEffectivePermissions","dataService.getMCPServerConnectionStatus","dataService.getAgentApiKeys","dataService.createAgentApiKey","dataService.deleteAgentApiKey"],"sources":["../../src/react-query/react-query-service.ts"],"sourcesContent":["import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport type {\n  UseQueryOptions,\n  UseMutationResult,\n  QueryObserverResult,\n} from '@tanstack/react-query';\nimport type { MCPReinitializeResponse } from '../types/mcpServers';\nimport { MCPServerConnectionStatusResponse } from '../types/queries';\nimport { Constants, initialModelsConfig } from '../config';\nimport { defaultOrderQuery } from '../types/assistants';\nimport * as permissions from '../accessPermissions';\nimport { ResourceType } from '../accessPermissions';\nimport * as dataService from '../data-service';\nimport * as m from '../types/mutations';\nimport * as q from '../types/queries';\nimport { QueryKeys } from '../keys';\nimport * as s from '../schemas';\nimport * as t from '../types';\n\nexport { hasPermissions } from '../accessPermissions';\n\nexport const useGetSharedMessages = (\n  shareId: string,\n  config?: UseQueryOptions<t.TSharedMessagesResponse>,\n): QueryObserverResult<t.TSharedMessagesResponse> => {\n  return useQuery<t.TSharedMessagesResponse>(\n    [QueryKeys.sharedMessages, shareId],\n    () => dataService.getSharedMessages(shareId),\n    {\n      refetchOnWindowFocus: false,\n      refetchOnReconnect: false,\n      refetchOnMount: false,\n      ...config,\n    },\n  );\n};\n\nexport const useGetSharedLinkQuery = (\n  conversationId: string,\n  config?: UseQueryOptions<t.TSharedLinkGetResponse>,\n): QueryObserverResult<t.TSharedLinkGetResponse> => {\n  const queryClient = useQueryClient();\n  return useQuery<t.TSharedLinkGetResponse>(\n    [QueryKeys.sharedLinks, conversationId],\n    () => dataService.getSharedLink(conversationId),\n    {\n      enabled:\n        !!conversationId &&\n        conversationId !== Constants.NEW_CONVO &&\n        conversationId !== Constants.PENDING_CONVO,\n      refetchOnWindowFocus: false,\n      refetchOnReconnect: false,\n      refetchOnMount: false,\n      onSuccess: (data) => {\n        queryClient.setQueryData([QueryKeys.sharedLinks, conversationId], data);\n      },\n      ...config,\n    },\n  );\n};\n\nexport const useGetConversationByIdQuery = (\n  id: string,\n  config?: UseQueryOptions<s.TConversation>,\n): QueryObserverResult<s.TConversation> => {\n  return useQuery<s.TConversation>(\n    [QueryKeys.conversation, id],\n    () => dataService.getConversationById(id),\n    {\n      refetchOnWindowFocus: false,\n      refetchOnReconnect: false,\n      refetchOnMount: false,\n      ...config,\n    },\n  );\n};\n\n//This isn't ideal because its just a query and we're using mutation, but it was the only way\n//to make it work with how the Chat component is structured\nexport const useGetConversationByIdMutation = (id: string): UseMutationResult<s.TConversation> => {\n  const queryClient = useQueryClient();\n  return useMutation(() => dataService.getConversationById(id), {\n    // onSuccess: (res: s.TConversation) => {\n    onSuccess: () => {\n      queryClient.invalidateQueries([QueryKeys.conversation, id]);\n    },\n  });\n};\n\nexport const useUpdateMessageMutation = (\n  id: string,\n): UseMutationResult<unknown, unknown, t.TUpdateMessageRequest, unknown> => {\n  const queryClient = useQueryClient();\n  return useMutation((payload: t.TUpdateMessageRequest) => dataService.updateMessage(payload), {\n    onSuccess: () => {\n      queryClient.invalidateQueries([QueryKeys.messages, id]);\n    },\n  });\n};\n\nexport const useUpdateMessageContentMutation = (\n  conversationId: string,\n): UseMutationResult<unknown, unknown, t.TUpdateMessageContent, unknown> => {\n  const queryClient = useQueryClient();\n  return useMutation(\n    (payload: t.TUpdateMessageContent) => dataService.updateMessageContent(payload),\n    {\n      onSuccess: () => {\n        queryClient.invalidateQueries([QueryKeys.messages, conversationId]);\n      },\n    },\n  );\n};\n\nexport const useUpdateUserKeysMutation = (): UseMutationResult<\n  t.TUser,\n  unknown,\n  t.TUpdateUserKeyRequest,\n  unknown\n> => {\n  const queryClient = useQueryClient();\n  return useMutation((payload: t.TUpdateUserKeyRequest) => dataService.updateUserKey(payload), {\n    onSuccess: (data, variables) => {\n      queryClient.invalidateQueries([QueryKeys.name, variables.name]);\n      queryClient.invalidateQueries([QueryKeys.models]);\n      /** token-config is derived from the same per-user model fetch */\n      queryClient.invalidateQueries([QueryKeys.tokenConfig]);\n    },\n  });\n};\n\nexport const useClearConversationsMutation = (): UseMutationResult<unknown> => {\n  const queryClient = useQueryClient();\n  return useMutation(() => dataService.clearAllConversations(), {\n    onSuccess: () => {\n      queryClient.invalidateQueries([QueryKeys.allConversations]);\n      queryClient.invalidateQueries([QueryKeys.pinnedConversations]);\n      queryClient.invalidateQueries([QueryKeys.conversationTags]);\n    },\n  });\n};\n\nexport const useRevokeUserKeyMutation = (name: string): UseMutationResult<unknown> => {\n  const queryClient = useQueryClient();\n  return useMutation(() => dataService.revokeUserKey(name), {\n    onSuccess: () => {\n      queryClient.invalidateQueries([QueryKeys.name, name]);\n      queryClient.invalidateQueries([QueryKeys.models]);\n      queryClient.invalidateQueries([QueryKeys.tokenConfig]);\n      if (s.isAssistantsEndpoint(name)) {\n        queryClient.invalidateQueries([QueryKeys.assistants, name, defaultOrderQuery]);\n        queryClient.invalidateQueries([QueryKeys.assistantDocs]);\n        queryClient.invalidateQueries([QueryKeys.assistants]);\n        queryClient.invalidateQueries([QueryKeys.assistant]);\n        queryClient.invalidateQueries([QueryKeys.mcpTools]);\n        queryClient.invalidateQueries([QueryKeys.actions]);\n        queryClient.invalidateQueries([QueryKeys.tools]);\n      }\n    },\n  });\n};\n\nexport const useRevokeAllUserKeysMutation = (): UseMutationResult<unknown> => {\n  const queryClient = useQueryClient();\n  return useMutation(() => dataService.revokeAllUserKeys(), {\n    onSuccess: () => {\n      queryClient.invalidateQueries([QueryKeys.name]);\n      queryClient.invalidateQueries([QueryKeys.tokenConfig]);\n      queryClient.invalidateQueries([\n        QueryKeys.assistants,\n        s.EModelEndpoint.assistants,\n        defaultOrderQuery,\n      ]);\n      queryClient.invalidateQueries([\n        QueryKeys.assistants,\n        s.EModelEndpoint.azureAssistants,\n        defaultOrderQuery,\n      ]);\n      queryClient.invalidateQueries([QueryKeys.assistantDocs]);\n      queryClient.invalidateQueries([QueryKeys.assistants]);\n      queryClient.invalidateQueries([QueryKeys.assistant]);\n      queryClient.invalidateQueries([QueryKeys.mcpTools]);\n      queryClient.invalidateQueries([QueryKeys.actions]);\n      queryClient.invalidateQueries([QueryKeys.tools]);\n      queryClient.invalidateQueries([QueryKeys.models]);\n    },\n  });\n};\n\nexport const useGetModelsQuery = (\n  config?: UseQueryOptions<t.TModelsConfig>,\n): QueryObserverResult<t.TModelsConfig> => {\n  return useQuery<t.TModelsConfig>([QueryKeys.models], () => dataService.getModels(), {\n    initialData: initialModelsConfig,\n    refetchOnWindowFocus: false,\n    refetchOnReconnect: false,\n    refetchOnMount: false,\n    staleTime: Infinity,\n    ...config,\n  });\n};\n\nexport const useCreatePresetMutation = (): UseMutationResult<\n  s.TPreset,\n  unknown,\n  s.TPreset,\n  unknown\n> => {\n  const queryClient = useQueryClient();\n  return useMutation((payload: s.TPreset) => dataService.createPreset(payload), {\n    onSuccess: () => {\n      queryClient.invalidateQueries([QueryKeys.presets]);\n    },\n  });\n};\n\nexport const useDeletePresetMutation = (): UseMutationResult<\n  m.PresetDeleteResponse,\n  unknown,\n  s.TPreset | undefined,\n  unknown\n> => {\n  const queryClient = useQueryClient();\n  return useMutation((payload: s.TPreset | undefined) => dataService.deletePreset(payload), {\n    onSuccess: () => {\n      queryClient.invalidateQueries([QueryKeys.presets]);\n    },\n  });\n};\n\nexport const useUpdateTokenCountMutation = (): UseMutationResult<\n  t.TUpdateTokenCountResponse,\n  unknown,\n  { text: string },\n  unknown\n> => {\n  const queryClient = useQueryClient();\n  return useMutation(({ text }: { text: string }) => dataService.updateTokenCount(text), {\n    onSuccess: () => {\n      queryClient.invalidateQueries([QueryKeys.tokenCount]);\n    },\n  });\n};\n\nexport const useRegisterUserMutation = (\n  options?: m.RegistrationOptions,\n): UseMutationResult<t.TError, unknown, t.TRegisterUser, unknown> => {\n  const queryClient = useQueryClient();\n  return useMutation<t.TRegisterUserResponse, t.TError, t.TRegisterUser>(\n    (payload: t.TRegisterUser) => dataService.register(payload),\n    {\n      ...options,\n      onSuccess: (...args) => {\n        queryClient.invalidateQueries([QueryKeys.user]);\n        if (options?.onSuccess) {\n          options.onSuccess(...args);\n        }\n      },\n    },\n  );\n};\n\nexport const useUserKeyQuery = (\n  name: string,\n  config?: UseQueryOptions<t.TCheckUserKeyResponse>,\n): QueryObserverResult<t.TCheckUserKeyResponse> => {\n  return useQuery<t.TCheckUserKeyResponse>(\n    [QueryKeys.name, name],\n    () => {\n      if (!name) {\n        return Promise.resolve({ expiresAt: '' });\n      }\n      return dataService.userKeyQuery(name);\n    },\n    {\n      refetchOnWindowFocus: false,\n      refetchOnReconnect: false,\n      refetchOnMount: false,\n      retry: false,\n      ...config,\n    },\n  );\n};\n\nexport const useRequestPasswordResetMutation = (): UseMutationResult<\n  t.TRequestPasswordResetResponse,\n  unknown,\n  t.TRequestPasswordReset,\n  unknown\n> => {\n  return useMutation((payload: t.TRequestPasswordReset) =>\n    dataService.requestPasswordReset(payload),\n  );\n};\n\nexport const useResetPasswordMutation = (): UseMutationResult<\n  unknown,\n  unknown,\n  t.TResetPassword,\n  unknown\n> => {\n  return useMutation((payload: t.TResetPassword) => dataService.resetPassword(payload));\n};\n\nexport const useAvailablePluginsQuery = <TData = s.TPlugin[]>(\n  config?: UseQueryOptions<s.TPlugin[], unknown, TData>,\n): QueryObserverResult<TData> => {\n  return useQuery<s.TPlugin[], unknown, TData>(\n    [QueryKeys.availablePlugins],\n    () => dataService.getAvailablePlugins(),\n    {\n      refetchOnWindowFocus: false,\n      refetchOnReconnect: false,\n      refetchOnMount: false,\n      ...config,\n    },\n  );\n};\n\nexport const useUpdateUserPluginsMutation = (\n  _options?: m.UpdatePluginAuthOptions,\n): UseMutationResult<t.TUser, unknown, t.TUpdateUserPlugins, unknown> => {\n  const queryClient = useQueryClient();\n  const { onSuccess, ...options } = _options ?? {};\n  return useMutation((payload: t.TUpdateUserPlugins) => dataService.updateUserPlugins(payload), {\n    ...options,\n    onSuccess: (...args) => {\n      queryClient.invalidateQueries([QueryKeys.user]);\n      onSuccess?.(...args);\n      if (args[1]?.action === 'uninstall' && args[1]?.pluginKey?.startsWith(Constants.mcp_prefix)) {\n        const serverName = args[1]?.pluginKey?.substring(Constants.mcp_prefix.length);\n        queryClient.invalidateQueries([QueryKeys.mcpAuthValues, serverName]);\n      }\n    },\n  });\n};\n\nexport const useReinitializeMCPServerMutation = (): UseMutationResult<\n  MCPReinitializeResponse,\n  unknown,\n  string,\n  unknown\n> => {\n  const queryClient = useQueryClient();\n  return useMutation((serverName: string) => dataService.reinitializeMCPServer(serverName), {\n    onSuccess: () => {\n      queryClient.invalidateQueries([QueryKeys.mcpTools]);\n    },\n  });\n};\n\nexport const useCancelMCPOAuthMutation = (): UseMutationResult<\n  m.CancelMCPOAuthResponse,\n  unknown,\n  string,\n  unknown\n> => {\n  const queryClient = useQueryClient();\n  return useMutation((serverName: string) => dataService.cancelMCPOAuth(serverName), {\n    onSuccess: () => {\n      queryClient.invalidateQueries([QueryKeys.mcpConnectionStatus]);\n    },\n  });\n};\n\nexport const useGetCustomConfigSpeechQuery = (\n  config?: UseQueryOptions<t.TCustomConfigSpeechResponse>,\n): QueryObserverResult<t.TCustomConfigSpeechResponse> => {\n  return useQuery<t.TCustomConfigSpeechResponse>(\n    [QueryKeys.customConfigSpeech],\n    () => dataService.getCustomConfigSpeech(),\n    {\n      refetchOnWindowFocus: false,\n      refetchOnReconnect: false,\n      refetchOnMount: false,\n      ...config,\n    },\n  );\n};\n\nexport const useUpdateFeedbackMutation = (\n  conversationId: string,\n  messageId: string,\n): UseMutationResult<t.TUpdateFeedbackResponse, Error, t.TUpdateFeedbackRequest> => {\n  const queryClient = useQueryClient();\n  return useMutation(\n    (payload: t.TUpdateFeedbackRequest) =>\n      dataService.updateFeedback(conversationId, messageId, payload),\n    {\n      onSuccess: () => {\n        queryClient.invalidateQueries([QueryKeys.messages, messageId]);\n      },\n    },\n  );\n};\n\nexport const useSearchPrincipalsQuery = (\n  params: q.PrincipalSearchParams,\n  config?: UseQueryOptions<q.PrincipalSearchResponse>,\n): QueryObserverResult<q.PrincipalSearchResponse> => {\n  return useQuery<q.PrincipalSearchResponse>(\n    [QueryKeys.principalSearch, params],\n    () => dataService.searchPrincipals(params),\n    {\n      enabled: !!params.q && params.q.length >= 2,\n      refetchOnWindowFocus: false,\n      refetchOnReconnect: false,\n      refetchOnMount: false,\n      staleTime: 30000,\n      ...config,\n    },\n  );\n};\n\nexport const useGetAccessRolesQuery = (\n  resourceType: ResourceType,\n  config?: UseQueryOptions<q.AccessRolesResponse>,\n): QueryObserverResult<q.AccessRolesResponse> => {\n  return useQuery<q.AccessRolesResponse>(\n    [QueryKeys.accessRoles, resourceType],\n    () => dataService.getAccessRoles(resourceType),\n    {\n      enabled: !!resourceType,\n      refetchOnWindowFocus: false,\n      refetchOnReconnect: false,\n      refetchOnMount: false,\n      staleTime: 5 * 60 * 1000, // Cache for 5 minutes\n      ...config,\n    },\n  );\n};\n\nexport const useGetResourcePermissionsQuery = (\n  resourceType: ResourceType,\n  resourceId: string,\n  config?: UseQueryOptions<permissions.TGetResourcePermissionsResponse>,\n): QueryObserverResult<permissions.TGetResourcePermissionsResponse> => {\n  return useQuery<permissions.TGetResourcePermissionsResponse>(\n    [QueryKeys.resourcePermissions, resourceType, resourceId],\n    () => dataService.getResourcePermissions(resourceType, resourceId),\n    {\n      enabled: !!resourceType && !!resourceId,\n      refetchOnWindowFocus: false,\n      refetchOnReconnect: false,\n      refetchOnMount: false,\n      staleTime: 2 * 60 * 1000, // Cache for 2 minutes\n      ...config,\n    },\n  );\n};\n\nexport const useUpdateResourcePermissionsMutation = (): UseMutationResult<\n  permissions.TUpdateResourcePermissionsResponse,\n  Error,\n  {\n    resourceType: ResourceType;\n    resourceId: string;\n    data: permissions.TUpdateResourcePermissionsRequest;\n  }\n> => {\n  const queryClient = useQueryClient();\n\n  return useMutation({\n    mutationFn: ({ resourceType, resourceId, data }) =>\n      dataService.updateResourcePermissions(resourceType, resourceId, data),\n    onSuccess: (_, variables) => {\n      queryClient.invalidateQueries({\n        queryKey: [QueryKeys.accessRoles, variables.resourceType],\n      });\n\n      queryClient.invalidateQueries({\n        queryKey: [QueryKeys.resourcePermissions, variables.resourceType, variables.resourceId],\n      });\n\n      queryClient.invalidateQueries({\n        queryKey: [QueryKeys.effectivePermissions, variables.resourceType, variables.resourceId],\n      });\n    },\n  });\n};\n\nexport const useGetEffectivePermissionsQuery = (\n  resourceType: ResourceType,\n  resourceId: string,\n  config?: UseQueryOptions<permissions.TEffectivePermissionsResponse>,\n): QueryObserverResult<permissions.TEffectivePermissionsResponse> => {\n  return useQuery<permissions.TEffectivePermissionsResponse>({\n    queryKey: [QueryKeys.effectivePermissions, resourceType, resourceId],\n    queryFn: () => dataService.getEffectivePermissions(resourceType, resourceId),\n    enabled: !!resourceType && !!resourceId,\n    refetchOnWindowFocus: false,\n    staleTime: 30000,\n    ...config,\n  });\n};\n\nexport const useGetAllEffectivePermissionsQuery = (\n  resourceType: ResourceType,\n  config?: UseQueryOptions<permissions.TAllEffectivePermissionsResponse>,\n): QueryObserverResult<permissions.TAllEffectivePermissionsResponse> => {\n  return useQuery<permissions.TAllEffectivePermissionsResponse>({\n    queryKey: [QueryKeys.effectivePermissions, 'all', resourceType],\n    queryFn: () => dataService.getAllEffectivePermissions(resourceType),\n    enabled: !!resourceType,\n    refetchOnWindowFocus: false,\n    staleTime: 30000,\n    ...config,\n  });\n};\n\nexport const useMCPServerConnectionStatusQuery = (\n  serverName: string,\n  config?: UseQueryOptions<MCPServerConnectionStatusResponse>,\n): QueryObserverResult<MCPServerConnectionStatusResponse> => {\n  return useQuery<MCPServerConnectionStatusResponse>(\n    [QueryKeys.mcpConnectionStatus, serverName],\n    () => dataService.getMCPServerConnectionStatus(serverName),\n    {\n      refetchOnWindowFocus: false,\n      refetchOnReconnect: false,\n      refetchOnMount: false,\n      staleTime: 10000, // 10 seconds\n      enabled: !!serverName,\n      ...config,\n    },\n  );\n};\n\nexport const useGetAgentApiKeysQuery = (\n  config?: UseQueryOptions<t.TAgentApiKeyListResponse>,\n): QueryObserverResult<t.TAgentApiKeyListResponse> => {\n  return useQuery<t.TAgentApiKeyListResponse>(\n    [QueryKeys.agentApiKeys],\n    () => dataService.getAgentApiKeys(),\n    {\n      refetchOnWindowFocus: false,\n      refetchOnReconnect: false,\n      refetchOnMount: false,\n      ...config,\n    },\n  );\n};\n\nexport const useCreateAgentApiKeyMutation = (): UseMutationResult<\n  t.TAgentApiKeyCreateResponse,\n  unknown,\n  t.TAgentApiKeyCreateRequest\n> => {\n  const queryClient = useQueryClient();\n  return useMutation(\n    (payload: t.TAgentApiKeyCreateRequest) => dataService.createAgentApiKey(payload),\n    {\n      onSuccess: () => {\n        queryClient.invalidateQueries([QueryKeys.agentApiKeys]);\n      },\n    },\n  );\n};\n\nexport const useDeleteAgentApiKeyMutation = (): UseMutationResult<void, unknown, string> => {\n  const queryClient = useQueryClient();\n  return useMutation((id: string) => dataService.deleteAgentApiKey(id), {\n    onSuccess: () => {\n      queryClient.invalidateQueries([QueryKeys.agentApiKeys]);\n    },\n  });\n};\n"],"mappings":"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"}