librechat-data-provider 0.8.505 → 0.8.507

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_data_service = require("../data-service-CG5e1FOi.js");
2
+ const require_data_service = require("../data-service-CCdWvcRd.js");
3
3
  let _tanstack_react_query = require("@tanstack/react-query");
4
4
  //#region src/react-query/react-query-service.ts
5
5
  const useGetSharedMessages = (shareId, config) => {
@@ -62,6 +62,7 @@ const useClearConversationsMutation = () => {
62
62
  const queryClient = (0, _tanstack_react_query.useQueryClient)();
63
63
  return (0, _tanstack_react_query.useMutation)(() => require_data_service.clearAllConversations(), { onSuccess: () => {
64
64
  queryClient.invalidateQueries(["allConversations"]);
65
+ queryClient.invalidateQueries(["conversationTags"]);
65
66
  } });
66
67
  };
67
68
  const useRevokeUserKeyMutation = (name) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["defaultOrderQuery","initialModelsConfig"],"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 { 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 },\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 {\n success: boolean;\n message: string;\n serverName: string;\n oauthRequired?: boolean;\n oauthUrl?: string;\n },\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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"}
1
+ {"version":3,"file":"index.js","names":["defaultOrderQuery","initialModelsConfig"],"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 { 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.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 {\n success: boolean;\n message: string;\n serverName: string;\n oauthRequired?: boolean;\n oauthUrl?: string;\n },\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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"}
@@ -1,4 +1,4 @@
1
- import { A as updateResourcePermissions, C as resetPassword, Cn as initialModelsConfig, D as updateFeedback, E as searchPrincipals, M as updateUserKey, N as updateUserPlugins, O as updateMessage, P as userKeyQuery, S as requestPasswordReset, T as revokeUserKey, Wa as defaultOrderQuery, Z as hasPermissions, _ as getResourcePermissions, b as register, c as getAccessRoles, d as getAvailablePlugins, f as getConversationById, g as getModels, h as getMCPServerConnectionStatus, i as createPreset, j as updateTokenCount, k as updateMessageContent, l as getAgentApiKeys, la as isAssistantsEndpoint, m as getEffectivePermissions, n as clearAllConversations, o as deleteAgentApiKey, p as getCustomConfigSpeech, r as createAgentApiKey, s as deletePreset, t as cancelMCPOAuth, u as getAllEffectivePermissions, v as getSharedLink, w as revokeAllUserKeys, x as reinitializeMCPServer, y as getSharedMessages } from "../data-service-CwM4Cew0.mjs";
1
+ import { A as updateResourcePermissions, C as resetPassword, Cn as initialModelsConfig, D as updateFeedback, E as searchPrincipals, M as updateUserKey, N as updateUserPlugins, O as updateMessage, P as userKeyQuery, S as requestPasswordReset, T as revokeUserKey, Wa as defaultOrderQuery, Z as hasPermissions, _ as getResourcePermissions, b as register, c as getAccessRoles, d as getAvailablePlugins, f as getConversationById, g as getModels, h as getMCPServerConnectionStatus, i as createPreset, j as updateTokenCount, k as updateMessageContent, l as getAgentApiKeys, la as isAssistantsEndpoint, m as getEffectivePermissions, n as clearAllConversations, o as deleteAgentApiKey, p as getCustomConfigSpeech, r as createAgentApiKey, s as deletePreset, t as cancelMCPOAuth, u as getAllEffectivePermissions, v as getSharedLink, w as revokeAllUserKeys, x as reinitializeMCPServer, y as getSharedMessages } from "../data-service-D7mtXwG5.mjs";
2
2
  import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
3
3
  //#region src/react-query/react-query-service.ts
4
4
  const useGetSharedMessages = (shareId, config) => {
@@ -61,6 +61,7 @@ const useClearConversationsMutation = () => {
61
61
  const queryClient = useQueryClient();
62
62
  return useMutation(() => clearAllConversations(), { onSuccess: () => {
63
63
  queryClient.invalidateQueries(["allConversations"]);
64
+ queryClient.invalidateQueries(["conversationTags"]);
64
65
  } });
65
66
  };
66
67
  const useRevokeUserKeyMutation = (name) => {
@@ -1 +1 @@
1
- {"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 { 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 },\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 {\n success: boolean;\n message: string;\n serverName: string;\n oauthRequired?: boolean;\n oauthUrl?: string;\n },\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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"}
1
+ {"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 { 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.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 {\n success: boolean;\n message: string;\n serverName: string;\n oauthRequired?: boolean;\n oauthUrl?: string;\n },\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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"}
@@ -28,6 +28,7 @@ export declare const conversationById: (id: string) => string;
28
28
  export declare const genTitle: (conversationId: string) => string;
29
29
  export declare const updateConversation: () => string;
30
30
  export declare const archiveConversation: () => string;
31
+ export declare const pinConversation: () => string;
31
32
  export declare const deleteConversation: () => string;
32
33
  export declare const deleteAllConversation: () => string;
33
34
  export declare const importConversation: () => string;
@@ -43,6 +44,7 @@ export declare const presets: () => string;
43
44
  export declare const deletePreset: () => string;
44
45
  export declare const aiEndpoints: () => string;
45
46
  export declare const tokenConfig: () => string;
47
+ export declare const contextProjection: () => string;
46
48
  export declare const models: () => string;
47
49
  export declare const tokenizer: () => string;
48
50
  export declare const login: () => string;
@@ -29,6 +29,7 @@ export declare const bedrockInputSchema: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
29
29
  endpoint: z.ZodNullable<z.ZodNativeEnum<typeof s.EModelEndpoint>>;
30
30
  endpointType: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<typeof s.EModelEndpoint>>>;
31
31
  isArchived: z.ZodOptional<z.ZodBoolean>;
32
+ pinned: z.ZodOptional<z.ZodBoolean>;
32
33
  title: z.ZodDefault<z.ZodUnion<[z.ZodNullable<z.ZodString>, z.ZodLiteral<"New Chat">]>>;
33
34
  user: z.ZodOptional<z.ZodString>;
34
35
  messages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -108,6 +109,7 @@ export declare const bedrockInputSchema: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
108
109
  maxContextTokens: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
109
110
  max_tokens: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
110
111
  promptCache: z.ZodOptional<z.ZodBoolean>;
112
+ promptCacheTtl: z.ZodOptional<z.ZodEnum<["5m", "1h"]>>;
111
113
  system: z.ZodOptional<z.ZodString>;
112
114
  thinking: z.ZodOptional<z.ZodBoolean>;
113
115
  thinkingBudget: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
@@ -226,7 +228,7 @@ export declare const bedrockInputSchema: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
226
228
  fileTokenLimit: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
227
229
  resendImages: z.ZodOptional<z.ZodBoolean>;
228
230
  chatGptLabel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
229
- }, "model" | "modelLabel" | "promptPrefix" | "temperature" | "topP" | "topK" | "maxOutputTokens" | "maxContextTokens" | "promptCache" | "system" | "thinking" | "thinkingBudget" | "artifacts" | "chatProjectId" | "resendFiles" | "reasoning_effort" | "effort" | "thinkingDisplay" | "region" | "maxTokens" | "additionalModelRequestFields" | "stop" | "greeting" | "spec" | "iconURL">, "strip", z.ZodTypeAny, {
231
+ }, "model" | "modelLabel" | "promptPrefix" | "temperature" | "topP" | "topK" | "maxOutputTokens" | "maxContextTokens" | "promptCache" | "promptCacheTtl" | "system" | "thinking" | "thinkingBudget" | "artifacts" | "chatProjectId" | "resendFiles" | "reasoning_effort" | "effort" | "thinkingDisplay" | "region" | "maxTokens" | "additionalModelRequestFields" | "stop" | "greeting" | "spec" | "iconURL">, "strip", z.ZodTypeAny, {
230
232
  model?: string | null | undefined;
231
233
  modelLabel?: string | null | undefined;
232
234
  promptPrefix?: string | null | undefined;
@@ -236,6 +238,7 @@ export declare const bedrockInputSchema: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
236
238
  maxOutputTokens?: number | null | undefined;
237
239
  maxContextTokens?: number | undefined;
238
240
  promptCache?: boolean | undefined;
241
+ promptCacheTtl?: "5m" | "1h" | undefined;
239
242
  system?: string | undefined;
240
243
  thinking?: boolean | undefined;
241
244
  thinkingBudget?: number | undefined;
@@ -286,6 +289,7 @@ export declare const bedrockInputSchema: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
286
289
  maxOutputTokens?: string | number | null | undefined;
287
290
  maxContextTokens?: string | number | undefined;
288
291
  promptCache?: boolean | undefined;
292
+ promptCacheTtl?: "5m" | "1h" | undefined;
289
293
  system?: string | undefined;
290
294
  thinking?: boolean | undefined;
291
295
  thinkingBudget?: string | number | undefined;
@@ -336,6 +340,7 @@ export declare const bedrockInputSchema: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
336
340
  maxOutputTokens?: number | null | undefined;
337
341
  maxContextTokens?: number | undefined;
338
342
  promptCache?: boolean | undefined;
343
+ promptCacheTtl?: "5m" | "1h" | undefined;
339
344
  system?: string | undefined;
340
345
  thinking?: boolean | undefined;
341
346
  thinkingBudget?: number | undefined;
@@ -386,6 +391,7 @@ export declare const bedrockInputSchema: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
386
391
  maxOutputTokens?: string | number | null | undefined;
387
392
  maxContextTokens?: string | number | undefined;
388
393
  promptCache?: boolean | undefined;
394
+ promptCacheTtl?: "5m" | "1h" | undefined;
389
395
  system?: string | undefined;
390
396
  thinking?: boolean | undefined;
391
397
  thinkingBudget?: string | number | undefined;
@@ -433,6 +439,7 @@ export declare const bedrockInputParser: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
433
439
  endpoint: z.ZodNullable<z.ZodNativeEnum<typeof s.EModelEndpoint>>;
434
440
  endpointType: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<typeof s.EModelEndpoint>>>;
435
441
  isArchived: z.ZodOptional<z.ZodBoolean>;
442
+ pinned: z.ZodOptional<z.ZodBoolean>;
436
443
  title: z.ZodDefault<z.ZodUnion<[z.ZodNullable<z.ZodString>, z.ZodLiteral<"New Chat">]>>;
437
444
  user: z.ZodOptional<z.ZodString>;
438
445
  messages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -512,6 +519,7 @@ export declare const bedrockInputParser: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
512
519
  maxContextTokens: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
513
520
  max_tokens: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
514
521
  promptCache: z.ZodOptional<z.ZodBoolean>;
522
+ promptCacheTtl: z.ZodOptional<z.ZodEnum<["5m", "1h"]>>;
515
523
  system: z.ZodOptional<z.ZodString>;
516
524
  thinking: z.ZodOptional<z.ZodBoolean>;
517
525
  thinkingBudget: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
@@ -630,11 +638,12 @@ export declare const bedrockInputParser: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
630
638
  fileTokenLimit: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
631
639
  resendImages: z.ZodOptional<z.ZodBoolean>;
632
640
  chatGptLabel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
633
- }, "model" | "modelLabel" | "promptPrefix" | "temperature" | "topP" | "topK" | "maxOutputTokens" | "maxContextTokens" | "promptCache" | "thinking" | "thinkingBudget" | "artifacts" | "chatProjectId" | "resendFiles" | "reasoning_effort" | "effort" | "thinkingDisplay" | "region" | "maxTokens" | "additionalModelRequestFields" | "stop" | "greeting" | "spec" | "iconURL">, "strip", z.ZodAny, z.objectOutputType<Pick<{
641
+ }, "model" | "modelLabel" | "promptPrefix" | "temperature" | "topP" | "topK" | "maxOutputTokens" | "maxContextTokens" | "promptCache" | "promptCacheTtl" | "thinking" | "thinkingBudget" | "artifacts" | "chatProjectId" | "resendFiles" | "reasoning_effort" | "effort" | "thinkingDisplay" | "region" | "maxTokens" | "additionalModelRequestFields" | "stop" | "greeting" | "spec" | "iconURL">, "strip", z.ZodAny, z.objectOutputType<Pick<{
634
642
  conversationId: z.ZodNullable<z.ZodString>;
635
643
  endpoint: z.ZodNullable<z.ZodNativeEnum<typeof s.EModelEndpoint>>;
636
644
  endpointType: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<typeof s.EModelEndpoint>>>;
637
645
  isArchived: z.ZodOptional<z.ZodBoolean>;
646
+ pinned: z.ZodOptional<z.ZodBoolean>;
638
647
  title: z.ZodDefault<z.ZodUnion<[z.ZodNullable<z.ZodString>, z.ZodLiteral<"New Chat">]>>;
639
648
  user: z.ZodOptional<z.ZodString>;
640
649
  messages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -714,6 +723,7 @@ export declare const bedrockInputParser: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
714
723
  maxContextTokens: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
715
724
  max_tokens: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
716
725
  promptCache: z.ZodOptional<z.ZodBoolean>;
726
+ promptCacheTtl: z.ZodOptional<z.ZodEnum<["5m", "1h"]>>;
717
727
  system: z.ZodOptional<z.ZodString>;
718
728
  thinking: z.ZodOptional<z.ZodBoolean>;
719
729
  thinkingBudget: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
@@ -832,11 +842,12 @@ export declare const bedrockInputParser: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
832
842
  fileTokenLimit: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
833
843
  resendImages: z.ZodOptional<z.ZodBoolean>;
834
844
  chatGptLabel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
835
- }, "model" | "modelLabel" | "promptPrefix" | "temperature" | "topP" | "topK" | "maxOutputTokens" | "maxContextTokens" | "promptCache" | "thinking" | "thinkingBudget" | "artifacts" | "chatProjectId" | "resendFiles" | "reasoning_effort" | "effort" | "thinkingDisplay" | "region" | "maxTokens" | "additionalModelRequestFields" | "stop" | "greeting" | "spec" | "iconURL">, z.ZodAny, "strip">, z.objectInputType<Pick<{
845
+ }, "model" | "modelLabel" | "promptPrefix" | "temperature" | "topP" | "topK" | "maxOutputTokens" | "maxContextTokens" | "promptCache" | "promptCacheTtl" | "thinking" | "thinkingBudget" | "artifacts" | "chatProjectId" | "resendFiles" | "reasoning_effort" | "effort" | "thinkingDisplay" | "region" | "maxTokens" | "additionalModelRequestFields" | "stop" | "greeting" | "spec" | "iconURL">, z.ZodAny, "strip">, z.objectInputType<Pick<{
836
846
  conversationId: z.ZodNullable<z.ZodString>;
837
847
  endpoint: z.ZodNullable<z.ZodNativeEnum<typeof s.EModelEndpoint>>;
838
848
  endpointType: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<typeof s.EModelEndpoint>>>;
839
849
  isArchived: z.ZodOptional<z.ZodBoolean>;
850
+ pinned: z.ZodOptional<z.ZodBoolean>;
840
851
  title: z.ZodDefault<z.ZodUnion<[z.ZodNullable<z.ZodString>, z.ZodLiteral<"New Chat">]>>;
841
852
  user: z.ZodOptional<z.ZodString>;
842
853
  messages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -916,6 +927,7 @@ export declare const bedrockInputParser: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
916
927
  maxContextTokens: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
917
928
  max_tokens: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
918
929
  promptCache: z.ZodOptional<z.ZodBoolean>;
930
+ promptCacheTtl: z.ZodOptional<z.ZodEnum<["5m", "1h"]>>;
919
931
  system: z.ZodOptional<z.ZodString>;
920
932
  thinking: z.ZodOptional<z.ZodBoolean>;
921
933
  thinkingBudget: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
@@ -1034,7 +1046,7 @@ export declare const bedrockInputParser: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
1034
1046
  fileTokenLimit: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
1035
1047
  resendImages: z.ZodOptional<z.ZodBoolean>;
1036
1048
  chatGptLabel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1037
- }, "model" | "modelLabel" | "promptPrefix" | "temperature" | "topP" | "topK" | "maxOutputTokens" | "maxContextTokens" | "promptCache" | "thinking" | "thinkingBudget" | "artifacts" | "chatProjectId" | "resendFiles" | "reasoning_effort" | "effort" | "thinkingDisplay" | "region" | "maxTokens" | "additionalModelRequestFields" | "stop" | "greeting" | "spec" | "iconURL">, z.ZodAny, "strip">>, Partial<{
1049
+ }, "model" | "modelLabel" | "promptPrefix" | "temperature" | "topP" | "topK" | "maxOutputTokens" | "maxContextTokens" | "promptCache" | "promptCacheTtl" | "thinking" | "thinkingBudget" | "artifacts" | "chatProjectId" | "resendFiles" | "reasoning_effort" | "effort" | "thinkingDisplay" | "region" | "maxTokens" | "additionalModelRequestFields" | "stop" | "greeting" | "spec" | "iconURL">, z.ZodAny, "strip">>, Partial<{
1038
1050
  model?: string | null | undefined;
1039
1051
  modelLabel?: string | null | undefined;
1040
1052
  promptPrefix?: string | null | undefined;
@@ -1044,6 +1056,7 @@ export declare const bedrockInputParser: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
1044
1056
  maxOutputTokens?: number | null | undefined;
1045
1057
  maxContextTokens?: number | undefined;
1046
1058
  promptCache?: boolean | undefined;
1059
+ promptCacheTtl?: "5m" | "1h" | undefined;
1047
1060
  system?: string | undefined;
1048
1061
  thinking?: boolean | undefined;
1049
1062
  thinkingBudget?: number | undefined;
@@ -1089,6 +1102,7 @@ export declare const bedrockInputParser: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
1089
1102
  endpoint: z.ZodNullable<z.ZodNativeEnum<typeof s.EModelEndpoint>>;
1090
1103
  endpointType: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<typeof s.EModelEndpoint>>>;
1091
1104
  isArchived: z.ZodOptional<z.ZodBoolean>;
1105
+ pinned: z.ZodOptional<z.ZodBoolean>;
1092
1106
  title: z.ZodDefault<z.ZodUnion<[z.ZodNullable<z.ZodString>, z.ZodLiteral<"New Chat">]>>;
1093
1107
  user: z.ZodOptional<z.ZodString>;
1094
1108
  messages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -1168,6 +1182,7 @@ export declare const bedrockInputParser: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
1168
1182
  maxContextTokens: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
1169
1183
  max_tokens: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
1170
1184
  promptCache: z.ZodOptional<z.ZodBoolean>;
1185
+ promptCacheTtl: z.ZodOptional<z.ZodEnum<["5m", "1h"]>>;
1171
1186
  system: z.ZodOptional<z.ZodString>;
1172
1187
  thinking: z.ZodOptional<z.ZodBoolean>;
1173
1188
  thinkingBudget: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
@@ -1286,5 +1301,5 @@ export declare const bedrockInputParser: z.ZodCatch<z.ZodEffects<z.ZodObject<Pic
1286
1301
  fileTokenLimit: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, number | undefined, string | number>>;
1287
1302
  resendImages: z.ZodOptional<z.ZodBoolean>;
1288
1303
  chatGptLabel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1289
- }, "model" | "modelLabel" | "promptPrefix" | "temperature" | "topP" | "topK" | "maxOutputTokens" | "maxContextTokens" | "promptCache" | "thinking" | "thinkingBudget" | "artifacts" | "chatProjectId" | "resendFiles" | "reasoning_effort" | "effort" | "thinkingDisplay" | "region" | "maxTokens" | "additionalModelRequestFields" | "stop" | "greeting" | "spec" | "iconURL">, z.ZodAny, "strip">>>;
1304
+ }, "model" | "modelLabel" | "promptPrefix" | "temperature" | "topP" | "topK" | "maxOutputTokens" | "maxContextTokens" | "promptCache" | "promptCacheTtl" | "thinking" | "thinkingBudget" | "artifacts" | "chatProjectId" | "resendFiles" | "reasoning_effort" | "effort" | "thinkingDisplay" | "region" | "maxTokens" | "additionalModelRequestFields" | "stop" | "greeting" | "spec" | "iconURL">, z.ZodAny, "strip">>>;
1290
1305
  export declare const bedrockOutputParser: (data: Record<string, unknown>) => Record<string, unknown>;