{"version":3,"file":"index.mjs","sources":["../atoms/queryResultAtoms.ts","../../../../node_modules/@tanstack/query-core/build/modern/subscribable.js","../../../../node_modules/@tanstack/query-core/build/modern/timeoutManager.js","../../../../node_modules/@tanstack/query-core/build/modern/utils.js","../../../../node_modules/@tanstack/query-core/build/modern/focusManager.js","../../../../node_modules/@tanstack/query-core/build/modern/thenable.js","../../../../node_modules/@tanstack/query-core/build/modern/hydration.js","../../../../node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../../../node_modules/@tanstack/query-core/build/modern/onlineManager.js","../../../../node_modules/@tanstack/query-core/build/modern/retryer.js","../../../../node_modules/@tanstack/query-core/build/modern/removable.js","../../../../node_modules/@tanstack/query-core/build/modern/query.js","../../../../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../../../node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../../../node_modules/@tanstack/query-core/build/modern/mutation.js","../../../../node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../../../node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../../../node_modules/@tanstack/query-core/build/modern/queriesObserver.js","../../../../node_modules/@tanstack/query-core/build/modern/queryCache.js","../../../../node_modules/@tanstack/query-core/build/modern/queryClient.js","../../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../../node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js","../../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../../node_modules/@tanstack/react-query/build/modern/suspense.js","../../node_modules/@tanstack/react-query/build/modern/useQueries.js","../../node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../../node_modules/@tanstack/react-query/build/modern/useQuery.js","../../node_modules/@tanstack/react-query/build/modern/useMutation.js","../utils/request.ts","../config.ts","../../../../node_modules/tslib/tslib.es6.js","../hooks/useQueryApi.ts","../hooks/useMutateApi.ts","../hooks/useMultipleQuery.ts","../hooks/useMultipleMutation.ts","../hooks/useMultipleWebSocket.ts","../hooks/useApi.ts","../hooks/useWebSocket.ts","../hooks/useInvalidateQueries.ts","../hooks/useJotaiQueryResult.ts","../hooks/useApiValues.ts","../../../../node_modules/@tanstack/query-persist-client-core/build/modern/persist.js","../../../../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../../../../node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js","../../../../node_modules/@tanstack/react-query-persist-client/build/modern/PersistQueryClientProvider.js","../context/QueriesContext.tsx","../utils/encryption.ts"],"sourcesContent":["import { atom } from 'jotai'\nimport { atomWithStorage, createJSONStorage, selectAtom } from 'jotai/utils'\nimport { storage } from '@gaddario98/react-state'\nimport type { UseMutationResult } from '@tanstack/react-query'\nimport type { QueriesArray, QueryResult } from '../types'\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\nexport type QueryStoreEntry<Q extends QueriesArray = QueriesArray> =\n  QueryResult<Q[number]['response']>\n\nexport type MutationStoreEntry<Q extends QueriesArray = QueriesArray> =\n  UseMutationResult<Q[number]['response'], Error, Q[number]['props'], unknown>\n// ============================================================================\n// Default Values\n// ============================================================================\n\nexport const DEFAULT_QUERY_ENTRY: QueryStoreEntry = Object.freeze({\n  data: undefined,\n  isLoading: false,\n  isLoadingMapped: false,\n  isFetching: false,\n  isPending: false,\n  isSuccess: false,\n  isError: false,\n  isStale: false,\n  error: null,\n  dataUpdatedAt: 0,\n  errorUpdatedAt: 0,\n  fetchStatus: 'idle' as const,\n  refetch: () => Promise.resolve(),\n})\n\nexport const DEFAULT_MUTATION_ENTRY: MutationStoreEntry = Object.freeze({\n  data: undefined,\n  status: 'idle',\n  error: null,\n  variables: undefined,\n  submittedAt: 0,\n  isIdle: true,\n  isPending: false,\n  isSuccess: false,\n  isError: false,\n  mutate: () => {},\n  mutateAsync: async () => Promise.resolve(undefined),\n  reset: () => {},\n  context: 0,\n  failureCount: 0,\n  failureReason: null,\n  isPaused: false,\n} as MutationStoreEntry)\n\n// ============================================================================\n// Global Atoms (single atom for all queries, single atom for all mutations)\n// ============================================================================\n\n/**\n * Global atom storing all query results.\n * Key format: \"scopeId:queryKey\"\n */\nexport const queriesAtom = atomWithStorage<Record<string, QueryStoreEntry>>(\n  'queries-atom',\n  {},\n  createJSONStorage<Record<string, QueryStoreEntry>>(() => storage),{ getOnInit: true }\n)\n\n/**\n * Global atom storing all mutation results.\n * Key format: \"scopeId:mutationKey\"\n */\nexport const mutationsAtom = atom<Record<string, MutationStoreEntry>>({})\n\n// ============================================================================\n// Helper to generate composite keys\n// ============================================================================\n\nexport const getCompositeKey = (scopeId: string, key: string): string =>\n  `${scopeId}:${key}`\n\n// ============================================================================\n// Derived Atoms for specific scope access\n// ============================================================================\n\n/**\n * Creates a derived atom for accessing queries of a specific scope.\n */\nexport const createScopeQueriesAtom = (scopeId: string) =>\n  atom(\n    (get) => {\n      const allQueries = get(queriesAtom)\n      const prefix = `${scopeId}:`\n      const scopeQueries: Record<string, QueryStoreEntry> = {}\n\n      for (const [key, value] of Object.entries(allQueries)) {\n        if (key.startsWith(prefix)) {\n          scopeQueries[key.slice(prefix.length)] = value\n        }\n      }\n\n      return scopeQueries\n    },\n    (get, set, update: Record<string, QueryStoreEntry>) => {\n      const allQueries = get(queriesAtom)\n      const prefix = `${scopeId}:`\n      const newQueries = { ...allQueries }\n\n      // Remove old scope entries\n      for (const key of Object.keys(newQueries)) {\n        if (key.startsWith(prefix)) {\n          delete newQueries[key]\n        }\n      }\n\n      // Add new scope entries\n      for (const [key, value] of Object.entries(update)) {\n        newQueries[`${prefix}${key}`] = value\n      }\n\n      set(queriesAtom, newQueries)\n    },\n  )\n\n/**\n * Creates a derived atom for accessing mutations of a specific scope.\n */\nexport const createScopeMutationsAtom = (scopeId: string) =>\n  atom(\n    (get) => {\n      const allMutations = get(mutationsAtom)\n      const prefix = `${scopeId}:`\n      const scopeMutations: Record<string, MutationStoreEntry> = {}\n\n      for (const [key, value] of Object.entries(allMutations)) {\n        if (key.startsWith(prefix)) {\n          scopeMutations[key.slice(prefix.length)] = value\n        }\n      }\n\n      return scopeMutations\n    },\n    (get, set, update: Record<string, MutationStoreEntry>) => {\n      const allMutations = get(mutationsAtom)\n      const prefix = `${scopeId}:`\n      const newMutations = { ...allMutations }\n\n      // Remove old scope entries\n      for (const key of Object.keys(newMutations)) {\n        if (key.startsWith(prefix)) {\n          delete newMutations[key]\n        }\n      }\n\n      // Add new scope entries\n      for (const [key, value] of Object.entries(update)) {\n        newMutations[`${prefix}${key}`] = value\n      }\n\n      set(mutationsAtom, newMutations)\n    },\n  )\n\n// ============================================================================\n// Selectors for single query/mutation access\n// ============================================================================\n\nexport const createQuerySelector = <Q extends QueriesArray>(\n  scopeId: string,\n  queryKey: string,\n) => {\n  const compositeKey = getCompositeKey(scopeId, queryKey)\n  return selectAtom<Record<string, QueryStoreEntry<Q>>, QueryStoreEntry<Q>>(\n    queriesAtom,\n    (queries) => {\n      const entry = queries[compositeKey]\n      // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n      return entry ?? DEFAULT_QUERY_ENTRY\n    },\n    (a, b) =>\n      a === b ||\n      (a.data === b.data &&\n        a.isLoading === b.isLoading &&\n        a.isFetching === b.isFetching &&\n        a.error === b.error),\n  )\n}\n\nexport const createMutationSelector = <Q extends QueriesArray>(\n  scopeId: string,\n  mutationKey: string,\n) => {\n  const compositeKey = getCompositeKey(scopeId, mutationKey)\n  return selectAtom<\n    Record<string, MutationStoreEntry<Q>>,\n    MutationStoreEntry<Q>\n  >(\n    mutationsAtom,\n    (mutations) => {\n      const entry = mutations[compositeKey]\n      // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n      return entry ?? DEFAULT_MUTATION_ENTRY\n    },\n    (a, b) =>\n      a === b ||\n      (a.data === b.data && a.isPending === b.isPending && a.error === b.error),\n  )\n}\n","// src/subscribable.ts\nvar Subscribable = class {\n  constructor() {\n    this.listeners = /* @__PURE__ */ new Set();\n    this.subscribe = this.subscribe.bind(this);\n  }\n  subscribe(listener) {\n    this.listeners.add(listener);\n    this.onSubscribe();\n    return () => {\n      this.listeners.delete(listener);\n      this.onUnsubscribe();\n    };\n  }\n  hasListeners() {\n    return this.listeners.size > 0;\n  }\n  onSubscribe() {\n  }\n  onUnsubscribe() {\n  }\n};\nexport {\n  Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/timeoutManager.ts\nvar defaultTimeoutProvider = {\n  // We need the wrapper function syntax below instead of direct references to\n  // global setTimeout etc.\n  //\n  // BAD: `setTimeout: setTimeout`\n  // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`\n  //\n  // If we use direct references here, then anything that wants to spy on or\n  // replace the global setTimeout (like tests) won't work since we'll already\n  // have a hard reference to the original implementation at the time when this\n  // file was imported.\n  setTimeout: (callback, delay) => setTimeout(callback, delay),\n  clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n  setInterval: (callback, delay) => setInterval(callback, delay),\n  clearInterval: (intervalId) => clearInterval(intervalId)\n};\nvar TimeoutManager = class {\n  // We cannot have TimeoutManager<T> as we must instantiate it with a concrete\n  // type at app boot; and if we leave that type, then any new timer provider\n  // would need to support ReturnType<typeof setTimeout>, which is infeasible.\n  //\n  // We settle for type safety for the TimeoutProvider type, and accept that\n  // this class is unsafe internally to allow for extension.\n  #provider = defaultTimeoutProvider;\n  #providerCalled = false;\n  setTimeoutProvider(provider) {\n    if (process.env.NODE_ENV !== \"production\") {\n      if (this.#providerCalled && provider !== this.#provider) {\n        console.error(\n          `[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,\n          { previous: this.#provider, provider }\n        );\n      }\n    }\n    this.#provider = provider;\n    if (process.env.NODE_ENV !== \"production\") {\n      this.#providerCalled = false;\n    }\n  }\n  setTimeout(callback, delay) {\n    if (process.env.NODE_ENV !== \"production\") {\n      this.#providerCalled = true;\n    }\n    return this.#provider.setTimeout(callback, delay);\n  }\n  clearTimeout(timeoutId) {\n    this.#provider.clearTimeout(timeoutId);\n  }\n  setInterval(callback, delay) {\n    if (process.env.NODE_ENV !== \"production\") {\n      this.#providerCalled = true;\n    }\n    return this.#provider.setInterval(callback, delay);\n  }\n  clearInterval(intervalId) {\n    this.#provider.clearInterval(intervalId);\n  }\n};\nvar timeoutManager = new TimeoutManager();\nfunction systemSetTimeoutZero(callback) {\n  setTimeout(callback, 0);\n}\nexport {\n  TimeoutManager,\n  defaultTimeoutProvider,\n  systemSetTimeoutZero,\n  timeoutManager\n};\n//# sourceMappingURL=timeoutManager.js.map","// src/utils.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n}\nfunction functionalUpdate(updater, input) {\n  return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n  return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n  return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction resolveStaleTime(staleTime, query) {\n  return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n}\nfunction resolveEnabled(enabled, query) {\n  return typeof enabled === \"function\" ? enabled(query) : enabled;\n}\nfunction matchQuery(filters, query) {\n  const {\n    type = \"all\",\n    exact,\n    fetchStatus,\n    predicate,\n    queryKey,\n    stale\n  } = filters;\n  if (queryKey) {\n    if (exact) {\n      if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n        return false;\n      }\n    } else if (!partialMatchKey(query.queryKey, queryKey)) {\n      return false;\n    }\n  }\n  if (type !== \"all\") {\n    const isActive = query.isActive();\n    if (type === \"active\" && !isActive) {\n      return false;\n    }\n    if (type === \"inactive\" && isActive) {\n      return false;\n    }\n  }\n  if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n    return false;\n  }\n  if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n    return false;\n  }\n  if (predicate && !predicate(query)) {\n    return false;\n  }\n  return true;\n}\nfunction matchMutation(filters, mutation) {\n  const { exact, status, predicate, mutationKey } = filters;\n  if (mutationKey) {\n    if (!mutation.options.mutationKey) {\n      return false;\n    }\n    if (exact) {\n      if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n        return false;\n      }\n    } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n      return false;\n    }\n  }\n  if (status && mutation.state.status !== status) {\n    return false;\n  }\n  if (predicate && !predicate(mutation)) {\n    return false;\n  }\n  return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n  const hashFn = options?.queryKeyHashFn || hashKey;\n  return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n  return JSON.stringify(\n    queryKey,\n    (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n      result[key] = val[key];\n      return result;\n    }, {}) : val\n  );\n}\nfunction partialMatchKey(a, b) {\n  if (a === b) {\n    return true;\n  }\n  if (typeof a !== typeof b) {\n    return false;\n  }\n  if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n    return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]));\n  }\n  return false;\n}\nvar hasOwn = Object.prototype.hasOwnProperty;\nfunction replaceEqualDeep(a, b) {\n  if (a === b) {\n    return a;\n  }\n  const array = isPlainArray(a) && isPlainArray(b);\n  if (!array && !(isPlainObject(a) && isPlainObject(b))) return b;\n  const aItems = array ? a : Object.keys(a);\n  const aSize = aItems.length;\n  const bItems = array ? b : Object.keys(b);\n  const bSize = bItems.length;\n  const copy = array ? new Array(bSize) : {};\n  let equalItems = 0;\n  for (let i = 0; i < bSize; i++) {\n    const key = array ? i : bItems[i];\n    const aItem = a[key];\n    const bItem = b[key];\n    if (aItem === bItem) {\n      copy[key] = aItem;\n      if (array ? i < aSize : hasOwn.call(a, key)) equalItems++;\n      continue;\n    }\n    if (aItem === null || bItem === null || typeof aItem !== \"object\" || typeof bItem !== \"object\") {\n      copy[key] = bItem;\n      continue;\n    }\n    const v = replaceEqualDeep(aItem, bItem);\n    copy[key] = v;\n    if (v === aItem) equalItems++;\n  }\n  return aSize === bSize && equalItems === aSize ? a : copy;\n}\nfunction shallowEqualObjects(a, b) {\n  if (!b || Object.keys(a).length !== Object.keys(b).length) {\n    return false;\n  }\n  for (const key in a) {\n    if (a[key] !== b[key]) {\n      return false;\n    }\n  }\n  return true;\n}\nfunction isPlainArray(value) {\n  return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n  if (!hasObjectPrototype(o)) {\n    return false;\n  }\n  const ctor = o.constructor;\n  if (ctor === void 0) {\n    return true;\n  }\n  const prot = ctor.prototype;\n  if (!hasObjectPrototype(prot)) {\n    return false;\n  }\n  if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n    return false;\n  }\n  if (Object.getPrototypeOf(o) !== Object.prototype) {\n    return false;\n  }\n  return true;\n}\nfunction hasObjectPrototype(o) {\n  return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(timeout) {\n  return new Promise((resolve) => {\n    timeoutManager.setTimeout(resolve, timeout);\n  });\n}\nfunction replaceData(prevData, data, options) {\n  if (typeof options.structuralSharing === \"function\") {\n    return options.structuralSharing(prevData, data);\n  } else if (options.structuralSharing !== false) {\n    if (process.env.NODE_ENV !== \"production\") {\n      try {\n        return replaceEqualDeep(prevData, data);\n      } catch (error) {\n        console.error(\n          `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`\n        );\n        throw error;\n      }\n    }\n    return replaceEqualDeep(prevData, data);\n  }\n  return data;\n}\nfunction keepPreviousData(previousData) {\n  return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n  const newItems = [...items, item];\n  return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n  const newItems = [item, ...items];\n  return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = Symbol();\nfunction ensureQueryFn(options, fetchOptions) {\n  if (process.env.NODE_ENV !== \"production\") {\n    if (options.queryFn === skipToken) {\n      console.error(\n        `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n      );\n    }\n  }\n  if (!options.queryFn && fetchOptions?.initialPromise) {\n    return () => fetchOptions.initialPromise;\n  }\n  if (!options.queryFn || options.queryFn === skipToken) {\n    return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n  }\n  return options.queryFn;\n}\nfunction shouldThrowError(throwOnError, params) {\n  if (typeof throwOnError === \"function\") {\n    return throwOnError(...params);\n  }\n  return !!throwOnError;\n}\nexport {\n  addToEnd,\n  addToStart,\n  ensureQueryFn,\n  functionalUpdate,\n  hashKey,\n  hashQueryKeyByOptions,\n  isPlainArray,\n  isPlainObject,\n  isServer,\n  isValidTimeout,\n  keepPreviousData,\n  matchMutation,\n  matchQuery,\n  noop,\n  partialMatchKey,\n  replaceData,\n  replaceEqualDeep,\n  resolveEnabled,\n  resolveStaleTime,\n  shallowEqualObjects,\n  shouldThrowError,\n  skipToken,\n  sleep,\n  timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar FocusManager = class extends Subscribable {\n  #focused;\n  #cleanup;\n  #setup;\n  constructor() {\n    super();\n    this.#setup = (onFocus) => {\n      if (!isServer && window.addEventListener) {\n        const listener = () => onFocus();\n        window.addEventListener(\"visibilitychange\", listener, false);\n        return () => {\n          window.removeEventListener(\"visibilitychange\", listener);\n        };\n      }\n      return;\n    };\n  }\n  onSubscribe() {\n    if (!this.#cleanup) {\n      this.setEventListener(this.#setup);\n    }\n  }\n  onUnsubscribe() {\n    if (!this.hasListeners()) {\n      this.#cleanup?.();\n      this.#cleanup = void 0;\n    }\n  }\n  setEventListener(setup) {\n    this.#setup = setup;\n    this.#cleanup?.();\n    this.#cleanup = setup((focused) => {\n      if (typeof focused === \"boolean\") {\n        this.setFocused(focused);\n      } else {\n        this.onFocus();\n      }\n    });\n  }\n  setFocused(focused) {\n    const changed = this.#focused !== focused;\n    if (changed) {\n      this.#focused = focused;\n      this.onFocus();\n    }\n  }\n  onFocus() {\n    const isFocused = this.isFocused();\n    this.listeners.forEach((listener) => {\n      listener(isFocused);\n    });\n  }\n  isFocused() {\n    if (typeof this.#focused === \"boolean\") {\n      return this.#focused;\n    }\n    return globalThis.document?.visibilityState !== \"hidden\";\n  }\n};\nvar focusManager = new FocusManager();\nexport {\n  FocusManager,\n  focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/thenable.ts\nimport { noop } from \"./utils.js\";\nfunction pendingThenable() {\n  let resolve;\n  let reject;\n  const thenable = new Promise((_resolve, _reject) => {\n    resolve = _resolve;\n    reject = _reject;\n  });\n  thenable.status = \"pending\";\n  thenable.catch(() => {\n  });\n  function finalize(data) {\n    Object.assign(thenable, data);\n    delete thenable.resolve;\n    delete thenable.reject;\n  }\n  thenable.resolve = (value) => {\n    finalize({\n      status: \"fulfilled\",\n      value\n    });\n    resolve(value);\n  };\n  thenable.reject = (reason) => {\n    finalize({\n      status: \"rejected\",\n      reason\n    });\n    reject(reason);\n  };\n  return thenable;\n}\nfunction tryResolveSync(promise) {\n  let data;\n  promise.then((result) => {\n    data = result;\n    return result;\n  }, noop)?.catch(noop);\n  if (data !== void 0) {\n    return { data };\n  }\n  return void 0;\n}\nexport {\n  pendingThenable,\n  tryResolveSync\n};\n//# sourceMappingURL=thenable.js.map","// src/hydration.ts\nimport { tryResolveSync } from \"./thenable.js\";\nimport { noop } from \"./utils.js\";\nfunction defaultTransformerFn(data) {\n  return data;\n}\nfunction dehydrateMutation(mutation) {\n  return {\n    mutationKey: mutation.options.mutationKey,\n    state: mutation.state,\n    ...mutation.options.scope && { scope: mutation.options.scope },\n    ...mutation.meta && { meta: mutation.meta }\n  };\n}\nfunction dehydrateQuery(query, serializeData, shouldRedactErrors) {\n  const promise = query.promise?.then(serializeData).catch((error) => {\n    if (!shouldRedactErrors(error)) {\n      return Promise.reject(error);\n    }\n    if (process.env.NODE_ENV !== \"production\") {\n      console.error(\n        `A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`\n      );\n    }\n    return Promise.reject(new Error(\"redacted\"));\n  });\n  promise?.catch(noop);\n  return {\n    dehydratedAt: Date.now(),\n    state: {\n      ...query.state,\n      ...query.state.data !== void 0 && {\n        data: serializeData(query.state.data)\n      }\n    },\n    queryKey: query.queryKey,\n    queryHash: query.queryHash,\n    ...query.state.status === \"pending\" && {\n      promise\n    },\n    ...query.meta && { meta: query.meta }\n  };\n}\nfunction defaultShouldDehydrateMutation(mutation) {\n  return mutation.state.isPaused;\n}\nfunction defaultShouldDehydrateQuery(query) {\n  return query.state.status === \"success\";\n}\nfunction defaultShouldRedactErrors(_) {\n  return true;\n}\nfunction dehydrate(client, options = {}) {\n  const filterMutation = options.shouldDehydrateMutation ?? client.getDefaultOptions().dehydrate?.shouldDehydrateMutation ?? defaultShouldDehydrateMutation;\n  const mutations = client.getMutationCache().getAll().flatMap(\n    (mutation) => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []\n  );\n  const filterQuery = options.shouldDehydrateQuery ?? client.getDefaultOptions().dehydrate?.shouldDehydrateQuery ?? defaultShouldDehydrateQuery;\n  const shouldRedactErrors = options.shouldRedactErrors ?? client.getDefaultOptions().dehydrate?.shouldRedactErrors ?? defaultShouldRedactErrors;\n  const serializeData = options.serializeData ?? client.getDefaultOptions().dehydrate?.serializeData ?? defaultTransformerFn;\n  const queries = client.getQueryCache().getAll().flatMap(\n    (query) => filterQuery(query) ? [dehydrateQuery(query, serializeData, shouldRedactErrors)] : []\n  );\n  return { mutations, queries };\n}\nfunction hydrate(client, dehydratedState, options) {\n  if (typeof dehydratedState !== \"object\" || dehydratedState === null) {\n    return;\n  }\n  const mutationCache = client.getMutationCache();\n  const queryCache = client.getQueryCache();\n  const deserializeData = options?.defaultOptions?.deserializeData ?? client.getDefaultOptions().hydrate?.deserializeData ?? defaultTransformerFn;\n  const mutations = dehydratedState.mutations || [];\n  const queries = dehydratedState.queries || [];\n  mutations.forEach(({ state, ...mutationOptions }) => {\n    mutationCache.build(\n      client,\n      {\n        ...client.getDefaultOptions().hydrate?.mutations,\n        ...options?.defaultOptions?.mutations,\n        ...mutationOptions\n      },\n      state\n    );\n  });\n  queries.forEach(\n    ({ queryKey, state, queryHash, meta, promise, dehydratedAt }) => {\n      const syncData = promise ? tryResolveSync(promise) : void 0;\n      const rawData = state.data === void 0 ? syncData?.data : state.data;\n      const data = rawData === void 0 ? rawData : deserializeData(rawData);\n      let query = queryCache.get(queryHash);\n      const existingQueryIsPending = query?.state.status === \"pending\";\n      const existingQueryIsFetching = query?.state.fetchStatus === \"fetching\";\n      if (query) {\n        const hasNewerSyncData = syncData && // We only need this undefined check to handle older dehydration\n        // payloads that might not have dehydratedAt\n        dehydratedAt !== void 0 && dehydratedAt > query.state.dataUpdatedAt;\n        if (state.dataUpdatedAt > query.state.dataUpdatedAt || hasNewerSyncData) {\n          const { fetchStatus: _ignored, ...serializedState } = state;\n          query.setState({\n            ...serializedState,\n            data\n          });\n        }\n      } else {\n        query = queryCache.build(\n          client,\n          {\n            ...client.getDefaultOptions().hydrate?.queries,\n            ...options?.defaultOptions?.queries,\n            queryKey,\n            queryHash,\n            meta\n          },\n          // Reset fetch status to idle to avoid\n          // query being stuck in fetching state upon hydration\n          {\n            ...state,\n            data,\n            fetchStatus: \"idle\",\n            status: data !== void 0 ? \"success\" : state.status\n          }\n        );\n      }\n      if (promise && !existingQueryIsPending && !existingQueryIsFetching && // Only hydrate if dehydration is newer than any existing data,\n      // this is always true for new queries\n      (dehydratedAt === void 0 || dehydratedAt > query.state.dataUpdatedAt)) {\n        query.fetch(void 0, {\n          // RSC transformed promises are not thenable\n          initialPromise: Promise.resolve(promise).then(deserializeData)\n        }).catch(noop);\n      }\n    }\n  );\n}\nexport {\n  defaultShouldDehydrateMutation,\n  defaultShouldDehydrateQuery,\n  dehydrate,\n  hydrate\n};\n//# sourceMappingURL=hydration.js.map","// src/notifyManager.ts\nimport { systemSetTimeoutZero } from \"./timeoutManager.js\";\nvar defaultScheduler = systemSetTimeoutZero;\nfunction createNotifyManager() {\n  let queue = [];\n  let transactions = 0;\n  let notifyFn = (callback) => {\n    callback();\n  };\n  let batchNotifyFn = (callback) => {\n    callback();\n  };\n  let scheduleFn = defaultScheduler;\n  const schedule = (callback) => {\n    if (transactions) {\n      queue.push(callback);\n    } else {\n      scheduleFn(() => {\n        notifyFn(callback);\n      });\n    }\n  };\n  const flush = () => {\n    const originalQueue = queue;\n    queue = [];\n    if (originalQueue.length) {\n      scheduleFn(() => {\n        batchNotifyFn(() => {\n          originalQueue.forEach((callback) => {\n            notifyFn(callback);\n          });\n        });\n      });\n    }\n  };\n  return {\n    batch: (callback) => {\n      let result;\n      transactions++;\n      try {\n        result = callback();\n      } finally {\n        transactions--;\n        if (!transactions) {\n          flush();\n        }\n      }\n      return result;\n    },\n    /**\n     * All calls to the wrapped function will be batched.\n     */\n    batchCalls: (callback) => {\n      return (...args) => {\n        schedule(() => {\n          callback(...args);\n        });\n      };\n    },\n    schedule,\n    /**\n     * Use this method to set a custom notify function.\n     * This can be used to for example wrap notifications with `React.act` while running tests.\n     */\n    setNotifyFunction: (fn) => {\n      notifyFn = fn;\n    },\n    /**\n     * Use this method to set a custom function to batch notifications together into a single tick.\n     * By default React Query will use the batch function provided by ReactDOM or React Native.\n     */\n    setBatchNotifyFunction: (fn) => {\n      batchNotifyFn = fn;\n    },\n    setScheduler: (fn) => {\n      scheduleFn = fn;\n    }\n  };\n}\nvar notifyManager = createNotifyManager();\nexport {\n  createNotifyManager,\n  defaultScheduler,\n  notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar OnlineManager = class extends Subscribable {\n  #online = true;\n  #cleanup;\n  #setup;\n  constructor() {\n    super();\n    this.#setup = (onOnline) => {\n      if (!isServer && window.addEventListener) {\n        const onlineListener = () => onOnline(true);\n        const offlineListener = () => onOnline(false);\n        window.addEventListener(\"online\", onlineListener, false);\n        window.addEventListener(\"offline\", offlineListener, false);\n        return () => {\n          window.removeEventListener(\"online\", onlineListener);\n          window.removeEventListener(\"offline\", offlineListener);\n        };\n      }\n      return;\n    };\n  }\n  onSubscribe() {\n    if (!this.#cleanup) {\n      this.setEventListener(this.#setup);\n    }\n  }\n  onUnsubscribe() {\n    if (!this.hasListeners()) {\n      this.#cleanup?.();\n      this.#cleanup = void 0;\n    }\n  }\n  setEventListener(setup) {\n    this.#setup = setup;\n    this.#cleanup?.();\n    this.#cleanup = setup(this.setOnline.bind(this));\n  }\n  setOnline(online) {\n    const changed = this.#online !== online;\n    if (changed) {\n      this.#online = online;\n      this.listeners.forEach((listener) => {\n        listener(online);\n      });\n    }\n  }\n  isOnline() {\n    return this.#online;\n  }\n};\nvar onlineManager = new OnlineManager();\nexport {\n  OnlineManager,\n  onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport { isServer, sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n  return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n  return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class extends Error {\n  constructor(options) {\n    super(\"CancelledError\");\n    this.revert = options?.revert;\n    this.silent = options?.silent;\n  }\n};\nfunction isCancelledError(value) {\n  return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n  let isRetryCancelled = false;\n  let failureCount = 0;\n  let continueFn;\n  const thenable = pendingThenable();\n  const isResolved = () => thenable.status !== \"pending\";\n  const cancel = (cancelOptions) => {\n    if (!isResolved()) {\n      const error = new CancelledError(cancelOptions);\n      reject(error);\n      config.onCancel?.(error);\n    }\n  };\n  const cancelRetry = () => {\n    isRetryCancelled = true;\n  };\n  const continueRetry = () => {\n    isRetryCancelled = false;\n  };\n  const canContinue = () => focusManager.isFocused() && (config.networkMode === \"always\" || onlineManager.isOnline()) && config.canRun();\n  const canStart = () => canFetch(config.networkMode) && config.canRun();\n  const resolve = (value) => {\n    if (!isResolved()) {\n      continueFn?.();\n      thenable.resolve(value);\n    }\n  };\n  const reject = (value) => {\n    if (!isResolved()) {\n      continueFn?.();\n      thenable.reject(value);\n    }\n  };\n  const pause = () => {\n    return new Promise((continueResolve) => {\n      continueFn = (value) => {\n        if (isResolved() || canContinue()) {\n          continueResolve(value);\n        }\n      };\n      config.onPause?.();\n    }).then(() => {\n      continueFn = void 0;\n      if (!isResolved()) {\n        config.onContinue?.();\n      }\n    });\n  };\n  const run = () => {\n    if (isResolved()) {\n      return;\n    }\n    let promiseOrValue;\n    const initialPromise = failureCount === 0 ? config.initialPromise : void 0;\n    try {\n      promiseOrValue = initialPromise ?? config.fn();\n    } catch (error) {\n      promiseOrValue = Promise.reject(error);\n    }\n    Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n      if (isResolved()) {\n        return;\n      }\n      const retry = config.retry ?? (isServer ? 0 : 3);\n      const retryDelay = config.retryDelay ?? defaultRetryDelay;\n      const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n      const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n      if (isRetryCancelled || !shouldRetry) {\n        reject(error);\n        return;\n      }\n      failureCount++;\n      config.onFail?.(failureCount, error);\n      sleep(delay).then(() => {\n        return canContinue() ? void 0 : pause();\n      }).then(() => {\n        if (isRetryCancelled) {\n          reject(error);\n        } else {\n          run();\n        }\n      });\n    });\n  };\n  return {\n    promise: thenable,\n    status: () => thenable.status,\n    cancel,\n    continue: () => {\n      continueFn?.();\n      return thenable;\n    },\n    cancelRetry,\n    continueRetry,\n    canStart,\n    start: () => {\n      if (canStart()) {\n        run();\n      } else {\n        pause().then(run);\n      }\n      return thenable;\n    }\n  };\n}\nexport {\n  CancelledError,\n  canFetch,\n  createRetryer,\n  isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/removable.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nimport { isServer, isValidTimeout } from \"./utils.js\";\nvar Removable = class {\n  #gcTimeout;\n  destroy() {\n    this.clearGcTimeout();\n  }\n  scheduleGc() {\n    this.clearGcTimeout();\n    if (isValidTimeout(this.gcTime)) {\n      this.#gcTimeout = timeoutManager.setTimeout(() => {\n        this.optionalRemove();\n      }, this.gcTime);\n    }\n  }\n  updateGcTime(newGcTime) {\n    this.gcTime = Math.max(\n      this.gcTime || 0,\n      newGcTime ?? (isServer ? Infinity : 5 * 60 * 1e3)\n    );\n  }\n  clearGcTimeout() {\n    if (this.#gcTimeout) {\n      timeoutManager.clearTimeout(this.#gcTimeout);\n      this.#gcTimeout = void 0;\n    }\n  }\n};\nexport {\n  Removable\n};\n//# sourceMappingURL=removable.js.map","// src/query.ts\nimport {\n  ensureQueryFn,\n  noop,\n  replaceData,\n  resolveEnabled,\n  resolveStaleTime,\n  skipToken,\n  timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { CancelledError, canFetch, createRetryer } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nvar Query = class extends Removable {\n  #initialState;\n  #revertState;\n  #cache;\n  #client;\n  #retryer;\n  #defaultOptions;\n  #abortSignalConsumed;\n  constructor(config) {\n    super();\n    this.#abortSignalConsumed = false;\n    this.#defaultOptions = config.defaultOptions;\n    this.setOptions(config.options);\n    this.observers = [];\n    this.#client = config.client;\n    this.#cache = this.#client.getQueryCache();\n    this.queryKey = config.queryKey;\n    this.queryHash = config.queryHash;\n    this.#initialState = getDefaultState(this.options);\n    this.state = config.state ?? this.#initialState;\n    this.scheduleGc();\n  }\n  get meta() {\n    return this.options.meta;\n  }\n  get promise() {\n    return this.#retryer?.promise;\n  }\n  setOptions(options) {\n    this.options = { ...this.#defaultOptions, ...options };\n    this.updateGcTime(this.options.gcTime);\n    if (this.state && this.state.data === void 0) {\n      const defaultState = getDefaultState(this.options);\n      if (defaultState.data !== void 0) {\n        this.setState(\n          successState(defaultState.data, defaultState.dataUpdatedAt)\n        );\n        this.#initialState = defaultState;\n      }\n    }\n  }\n  optionalRemove() {\n    if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n      this.#cache.remove(this);\n    }\n  }\n  setData(newData, options) {\n    const data = replaceData(this.state.data, newData, this.options);\n    this.#dispatch({\n      data,\n      type: \"success\",\n      dataUpdatedAt: options?.updatedAt,\n      manual: options?.manual\n    });\n    return data;\n  }\n  setState(state, setStateOptions) {\n    this.#dispatch({ type: \"setState\", state, setStateOptions });\n  }\n  cancel(options) {\n    const promise = this.#retryer?.promise;\n    this.#retryer?.cancel(options);\n    return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n  }\n  destroy() {\n    super.destroy();\n    this.cancel({ silent: true });\n  }\n  reset() {\n    this.destroy();\n    this.setState(this.#initialState);\n  }\n  isActive() {\n    return this.observers.some(\n      (observer) => resolveEnabled(observer.options.enabled, this) !== false\n    );\n  }\n  isDisabled() {\n    if (this.getObserversCount() > 0) {\n      return !this.isActive();\n    }\n    return this.options.queryFn === skipToken || this.state.dataUpdateCount + this.state.errorUpdateCount === 0;\n  }\n  isStatic() {\n    if (this.getObserversCount() > 0) {\n      return this.observers.some(\n        (observer) => resolveStaleTime(observer.options.staleTime, this) === \"static\"\n      );\n    }\n    return false;\n  }\n  isStale() {\n    if (this.getObserversCount() > 0) {\n      return this.observers.some(\n        (observer) => observer.getCurrentResult().isStale\n      );\n    }\n    return this.state.data === void 0 || this.state.isInvalidated;\n  }\n  isStaleByTime(staleTime = 0) {\n    if (this.state.data === void 0) {\n      return true;\n    }\n    if (staleTime === \"static\") {\n      return false;\n    }\n    if (this.state.isInvalidated) {\n      return true;\n    }\n    return !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n  }\n  onFocus() {\n    const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus());\n    observer?.refetch({ cancelRefetch: false });\n    this.#retryer?.continue();\n  }\n  onOnline() {\n    const observer = this.observers.find((x) => x.shouldFetchOnReconnect());\n    observer?.refetch({ cancelRefetch: false });\n    this.#retryer?.continue();\n  }\n  addObserver(observer) {\n    if (!this.observers.includes(observer)) {\n      this.observers.push(observer);\n      this.clearGcTimeout();\n      this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n    }\n  }\n  removeObserver(observer) {\n    if (this.observers.includes(observer)) {\n      this.observers = this.observers.filter((x) => x !== observer);\n      if (!this.observers.length) {\n        if (this.#retryer) {\n          if (this.#abortSignalConsumed) {\n            this.#retryer.cancel({ revert: true });\n          } else {\n            this.#retryer.cancelRetry();\n          }\n        }\n        this.scheduleGc();\n      }\n      this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n    }\n  }\n  getObserversCount() {\n    return this.observers.length;\n  }\n  invalidate() {\n    if (!this.state.isInvalidated) {\n      this.#dispatch({ type: \"invalidate\" });\n    }\n  }\n  async fetch(options, fetchOptions) {\n    if (this.state.fetchStatus !== \"idle\" && // If the promise in the retyer is already rejected, we have to definitely\n    // re-start the fetch; there is a chance that the query is still in a\n    // pending state when that happens\n    this.#retryer?.status() !== \"rejected\") {\n      if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n        this.cancel({ silent: true });\n      } else if (this.#retryer) {\n        this.#retryer.continueRetry();\n        return this.#retryer.promise;\n      }\n    }\n    if (options) {\n      this.setOptions(options);\n    }\n    if (!this.options.queryFn) {\n      const observer = this.observers.find((x) => x.options.queryFn);\n      if (observer) {\n        this.setOptions(observer.options);\n      }\n    }\n    if (process.env.NODE_ENV !== \"production\") {\n      if (!Array.isArray(this.options.queryKey)) {\n        console.error(\n          `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n        );\n      }\n    }\n    const abortController = new AbortController();\n    const addSignalProperty = (object) => {\n      Object.defineProperty(object, \"signal\", {\n        enumerable: true,\n        get: () => {\n          this.#abortSignalConsumed = true;\n          return abortController.signal;\n        }\n      });\n    };\n    const fetchFn = () => {\n      const queryFn = ensureQueryFn(this.options, fetchOptions);\n      const createQueryFnContext = () => {\n        const queryFnContext2 = {\n          client: this.#client,\n          queryKey: this.queryKey,\n          meta: this.meta\n        };\n        addSignalProperty(queryFnContext2);\n        return queryFnContext2;\n      };\n      const queryFnContext = createQueryFnContext();\n      this.#abortSignalConsumed = false;\n      if (this.options.persister) {\n        return this.options.persister(\n          queryFn,\n          queryFnContext,\n          this\n        );\n      }\n      return queryFn(queryFnContext);\n    };\n    const createFetchContext = () => {\n      const context2 = {\n        fetchOptions,\n        options: this.options,\n        queryKey: this.queryKey,\n        client: this.#client,\n        state: this.state,\n        fetchFn\n      };\n      addSignalProperty(context2);\n      return context2;\n    };\n    const context = createFetchContext();\n    this.options.behavior?.onFetch(context, this);\n    this.#revertState = this.state;\n    if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n      this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n    }\n    this.#retryer = createRetryer({\n      initialPromise: fetchOptions?.initialPromise,\n      fn: context.fetchFn,\n      onCancel: (error) => {\n        if (error instanceof CancelledError && error.revert) {\n          this.setState({\n            ...this.#revertState,\n            fetchStatus: \"idle\"\n          });\n        }\n        abortController.abort();\n      },\n      onFail: (failureCount, error) => {\n        this.#dispatch({ type: \"failed\", failureCount, error });\n      },\n      onPause: () => {\n        this.#dispatch({ type: \"pause\" });\n      },\n      onContinue: () => {\n        this.#dispatch({ type: \"continue\" });\n      },\n      retry: context.options.retry,\n      retryDelay: context.options.retryDelay,\n      networkMode: context.options.networkMode,\n      canRun: () => true\n    });\n    try {\n      const data = await this.#retryer.start();\n      if (data === void 0) {\n        if (process.env.NODE_ENV !== \"production\") {\n          console.error(\n            `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n          );\n        }\n        throw new Error(`${this.queryHash} data is undefined`);\n      }\n      this.setData(data);\n      this.#cache.config.onSuccess?.(data, this);\n      this.#cache.config.onSettled?.(\n        data,\n        this.state.error,\n        this\n      );\n      return data;\n    } catch (error) {\n      if (error instanceof CancelledError) {\n        if (error.silent) {\n          return this.#retryer.promise;\n        } else if (error.revert) {\n          if (this.state.data === void 0) {\n            throw error;\n          }\n          return this.state.data;\n        }\n      }\n      this.#dispatch({\n        type: \"error\",\n        error\n      });\n      this.#cache.config.onError?.(\n        error,\n        this\n      );\n      this.#cache.config.onSettled?.(\n        this.state.data,\n        error,\n        this\n      );\n      throw error;\n    } finally {\n      this.scheduleGc();\n    }\n  }\n  #dispatch(action) {\n    const reducer = (state) => {\n      switch (action.type) {\n        case \"failed\":\n          return {\n            ...state,\n            fetchFailureCount: action.failureCount,\n            fetchFailureReason: action.error\n          };\n        case \"pause\":\n          return {\n            ...state,\n            fetchStatus: \"paused\"\n          };\n        case \"continue\":\n          return {\n            ...state,\n            fetchStatus: \"fetching\"\n          };\n        case \"fetch\":\n          return {\n            ...state,\n            ...fetchState(state.data, this.options),\n            fetchMeta: action.meta ?? null\n          };\n        case \"success\":\n          const newState = {\n            ...state,\n            ...successState(action.data, action.dataUpdatedAt),\n            dataUpdateCount: state.dataUpdateCount + 1,\n            ...!action.manual && {\n              fetchStatus: \"idle\",\n              fetchFailureCount: 0,\n              fetchFailureReason: null\n            }\n          };\n          this.#revertState = action.manual ? newState : void 0;\n          return newState;\n        case \"error\":\n          const error = action.error;\n          return {\n            ...state,\n            error,\n            errorUpdateCount: state.errorUpdateCount + 1,\n            errorUpdatedAt: Date.now(),\n            fetchFailureCount: state.fetchFailureCount + 1,\n            fetchFailureReason: error,\n            fetchStatus: \"idle\",\n            status: \"error\"\n          };\n        case \"invalidate\":\n          return {\n            ...state,\n            isInvalidated: true\n          };\n        case \"setState\":\n          return {\n            ...state,\n            ...action.state\n          };\n      }\n    };\n    this.state = reducer(this.state);\n    notifyManager.batch(() => {\n      this.observers.forEach((observer) => {\n        observer.onQueryUpdate();\n      });\n      this.#cache.notify({ query: this, type: \"updated\", action });\n    });\n  }\n};\nfunction fetchState(data, options) {\n  return {\n    fetchFailureCount: 0,\n    fetchFailureReason: null,\n    fetchStatus: canFetch(options.networkMode) ? \"fetching\" : \"paused\",\n    ...data === void 0 && {\n      error: null,\n      status: \"pending\"\n    }\n  };\n}\nfunction successState(data, dataUpdatedAt) {\n  return {\n    data,\n    dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n    error: null,\n    isInvalidated: false,\n    status: \"success\"\n  };\n}\nfunction getDefaultState(options) {\n  const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n  const hasData = data !== void 0;\n  const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n  return {\n    data,\n    dataUpdateCount: 0,\n    dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n    error: null,\n    errorUpdateCount: 0,\n    errorUpdatedAt: 0,\n    fetchFailureCount: 0,\n    fetchFailureReason: null,\n    fetchMeta: null,\n    isInvalidated: false,\n    status: hasData ? \"success\" : \"pending\",\n    fetchStatus: \"idle\"\n  };\n}\nexport {\n  Query,\n  fetchState\n};\n//# sourceMappingURL=query.js.map","// src/queryObserver.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { fetchState } from \"./query.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport {\n  isServer,\n  isValidTimeout,\n  noop,\n  replaceData,\n  resolveEnabled,\n  resolveStaleTime,\n  shallowEqualObjects,\n  timeUntilStale\n} from \"./utils.js\";\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar QueryObserver = class extends Subscribable {\n  constructor(client, options) {\n    super();\n    this.options = options;\n    this.#client = client;\n    this.#selectError = null;\n    this.#currentThenable = pendingThenable();\n    this.bindMethods();\n    this.setOptions(options);\n  }\n  #client;\n  #currentQuery = void 0;\n  #currentQueryInitialState = void 0;\n  #currentResult = void 0;\n  #currentResultState;\n  #currentResultOptions;\n  #currentThenable;\n  #selectError;\n  #selectFn;\n  #selectResult;\n  // This property keeps track of the last query with defined data.\n  // It will be used to pass the previous data and query to the placeholder function between renders.\n  #lastQueryWithDefinedData;\n  #staleTimeoutId;\n  #refetchIntervalId;\n  #currentRefetchInterval;\n  #trackedProps = /* @__PURE__ */ new Set();\n  bindMethods() {\n    this.refetch = this.refetch.bind(this);\n  }\n  onSubscribe() {\n    if (this.listeners.size === 1) {\n      this.#currentQuery.addObserver(this);\n      if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n        this.#executeFetch();\n      } else {\n        this.updateResult();\n      }\n      this.#updateTimers();\n    }\n  }\n  onUnsubscribe() {\n    if (!this.hasListeners()) {\n      this.destroy();\n    }\n  }\n  shouldFetchOnReconnect() {\n    return shouldFetchOn(\n      this.#currentQuery,\n      this.options,\n      this.options.refetchOnReconnect\n    );\n  }\n  shouldFetchOnWindowFocus() {\n    return shouldFetchOn(\n      this.#currentQuery,\n      this.options,\n      this.options.refetchOnWindowFocus\n    );\n  }\n  destroy() {\n    this.listeners = /* @__PURE__ */ new Set();\n    this.#clearStaleTimeout();\n    this.#clearRefetchInterval();\n    this.#currentQuery.removeObserver(this);\n  }\n  setOptions(options) {\n    const prevOptions = this.options;\n    const prevQuery = this.#currentQuery;\n    this.options = this.#client.defaultQueryOptions(options);\n    if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof resolveEnabled(this.options.enabled, this.#currentQuery) !== \"boolean\") {\n      throw new Error(\n        \"Expected enabled to be a boolean or a callback that returns a boolean\"\n      );\n    }\n    this.#updateQuery();\n    this.#currentQuery.setOptions(this.options);\n    if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n      this.#client.getQueryCache().notify({\n        type: \"observerOptionsUpdated\",\n        query: this.#currentQuery,\n        observer: this\n      });\n    }\n    const mounted = this.hasListeners();\n    if (mounted && shouldFetchOptionally(\n      this.#currentQuery,\n      prevQuery,\n      this.options,\n      prevOptions\n    )) {\n      this.#executeFetch();\n    }\n    this.updateResult();\n    if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {\n      this.#updateStaleTimeout();\n    }\n    const nextRefetchInterval = this.#computeRefetchInterval();\n    if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {\n      this.#updateRefetchInterval(nextRefetchInterval);\n    }\n  }\n  getOptimisticResult(options) {\n    const query = this.#client.getQueryCache().build(this.#client, options);\n    const result = this.createResult(query, options);\n    if (shouldAssignObserverCurrentProperties(this, result)) {\n      this.#currentResult = result;\n      this.#currentResultOptions = this.options;\n      this.#currentResultState = this.#currentQuery.state;\n    }\n    return result;\n  }\n  getCurrentResult() {\n    return this.#currentResult;\n  }\n  trackResult(result, onPropTracked) {\n    return new Proxy(result, {\n      get: (target, key) => {\n        this.trackProp(key);\n        onPropTracked?.(key);\n        if (key === \"promise\") {\n          this.trackProp(\"data\");\n          if (!this.options.experimental_prefetchInRender && this.#currentThenable.status === \"pending\") {\n            this.#currentThenable.reject(\n              new Error(\n                \"experimental_prefetchInRender feature flag is not enabled\"\n              )\n            );\n          }\n        }\n        return Reflect.get(target, key);\n      }\n    });\n  }\n  trackProp(key) {\n    this.#trackedProps.add(key);\n  }\n  getCurrentQuery() {\n    return this.#currentQuery;\n  }\n  refetch({ ...options } = {}) {\n    return this.fetch({\n      ...options\n    });\n  }\n  fetchOptimistic(options) {\n    const defaultedOptions = this.#client.defaultQueryOptions(options);\n    const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n    return query.fetch().then(() => this.createResult(query, defaultedOptions));\n  }\n  fetch(fetchOptions) {\n    return this.#executeFetch({\n      ...fetchOptions,\n      cancelRefetch: fetchOptions.cancelRefetch ?? true\n    }).then(() => {\n      this.updateResult();\n      return this.#currentResult;\n    });\n  }\n  #executeFetch(fetchOptions) {\n    this.#updateQuery();\n    let promise = this.#currentQuery.fetch(\n      this.options,\n      fetchOptions\n    );\n    if (!fetchOptions?.throwOnError) {\n      promise = promise.catch(noop);\n    }\n    return promise;\n  }\n  #updateStaleTimeout() {\n    this.#clearStaleTimeout();\n    const staleTime = resolveStaleTime(\n      this.options.staleTime,\n      this.#currentQuery\n    );\n    if (isServer || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n      return;\n    }\n    const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n    const timeout = time + 1;\n    this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n      if (!this.#currentResult.isStale) {\n        this.updateResult();\n      }\n    }, timeout);\n  }\n  #computeRefetchInterval() {\n    return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n  }\n  #updateRefetchInterval(nextInterval) {\n    this.#clearRefetchInterval();\n    this.#currentRefetchInterval = nextInterval;\n    if (isServer || resolveEnabled(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n      return;\n    }\n    this.#refetchIntervalId = timeoutManager.setInterval(() => {\n      if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n        this.#executeFetch();\n      }\n    }, this.#currentRefetchInterval);\n  }\n  #updateTimers() {\n    this.#updateStaleTimeout();\n    this.#updateRefetchInterval(this.#computeRefetchInterval());\n  }\n  #clearStaleTimeout() {\n    if (this.#staleTimeoutId) {\n      timeoutManager.clearTimeout(this.#staleTimeoutId);\n      this.#staleTimeoutId = void 0;\n    }\n  }\n  #clearRefetchInterval() {\n    if (this.#refetchIntervalId) {\n      timeoutManager.clearInterval(this.#refetchIntervalId);\n      this.#refetchIntervalId = void 0;\n    }\n  }\n  createResult(query, options) {\n    const prevQuery = this.#currentQuery;\n    const prevOptions = this.options;\n    const prevResult = this.#currentResult;\n    const prevResultState = this.#currentResultState;\n    const prevResultOptions = this.#currentResultOptions;\n    const queryChange = query !== prevQuery;\n    const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n    const { state } = query;\n    let newState = { ...state };\n    let isPlaceholderData = false;\n    let data;\n    if (options._optimisticResults) {\n      const mounted = this.hasListeners();\n      const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n      const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n      if (fetchOnMount || fetchOptionally) {\n        newState = {\n          ...newState,\n          ...fetchState(state.data, query.options)\n        };\n      }\n      if (options._optimisticResults === \"isRestoring\") {\n        newState.fetchStatus = \"idle\";\n      }\n    }\n    let { error, errorUpdatedAt, status } = newState;\n    data = newState.data;\n    let skipSelect = false;\n    if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n      let placeholderData;\n      if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n        placeholderData = prevResult.data;\n        skipSelect = true;\n      } else {\n        placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n          this.#lastQueryWithDefinedData?.state.data,\n          this.#lastQueryWithDefinedData\n        ) : options.placeholderData;\n      }\n      if (placeholderData !== void 0) {\n        status = \"success\";\n        data = replaceData(\n          prevResult?.data,\n          placeholderData,\n          options\n        );\n        isPlaceholderData = true;\n      }\n    }\n    if (options.select && data !== void 0 && !skipSelect) {\n      if (prevResult && data === prevResultState?.data && options.select === this.#selectFn) {\n        data = this.#selectResult;\n      } else {\n        try {\n          this.#selectFn = options.select;\n          data = options.select(data);\n          data = replaceData(prevResult?.data, data, options);\n          this.#selectResult = data;\n          this.#selectError = null;\n        } catch (selectError) {\n          this.#selectError = selectError;\n        }\n      }\n    }\n    if (this.#selectError) {\n      error = this.#selectError;\n      data = this.#selectResult;\n      errorUpdatedAt = Date.now();\n      status = \"error\";\n    }\n    const isFetching = newState.fetchStatus === \"fetching\";\n    const isPending = status === \"pending\";\n    const isError = status === \"error\";\n    const isLoading = isPending && isFetching;\n    const hasData = data !== void 0;\n    const result = {\n      status,\n      fetchStatus: newState.fetchStatus,\n      isPending,\n      isSuccess: status === \"success\",\n      isError,\n      isInitialLoading: isLoading,\n      isLoading,\n      data,\n      dataUpdatedAt: newState.dataUpdatedAt,\n      error,\n      errorUpdatedAt,\n      failureCount: newState.fetchFailureCount,\n      failureReason: newState.fetchFailureReason,\n      errorUpdateCount: newState.errorUpdateCount,\n      isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,\n      isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n      isFetching,\n      isRefetching: isFetching && !isPending,\n      isLoadingError: isError && !hasData,\n      isPaused: newState.fetchStatus === \"paused\",\n      isPlaceholderData,\n      isRefetchError: isError && hasData,\n      isStale: isStale(query, options),\n      refetch: this.refetch,\n      promise: this.#currentThenable,\n      isEnabled: resolveEnabled(options.enabled, query) !== false\n    };\n    const nextResult = result;\n    if (this.options.experimental_prefetchInRender) {\n      const finalizeThenableIfPossible = (thenable) => {\n        if (nextResult.status === \"error\") {\n          thenable.reject(nextResult.error);\n        } else if (nextResult.data !== void 0) {\n          thenable.resolve(nextResult.data);\n        }\n      };\n      const recreateThenable = () => {\n        const pending = this.#currentThenable = nextResult.promise = pendingThenable();\n        finalizeThenableIfPossible(pending);\n      };\n      const prevThenable = this.#currentThenable;\n      switch (prevThenable.status) {\n        case \"pending\":\n          if (query.queryHash === prevQuery.queryHash) {\n            finalizeThenableIfPossible(prevThenable);\n          }\n          break;\n        case \"fulfilled\":\n          if (nextResult.status === \"error\" || nextResult.data !== prevThenable.value) {\n            recreateThenable();\n          }\n          break;\n        case \"rejected\":\n          if (nextResult.status !== \"error\" || nextResult.error !== prevThenable.reason) {\n            recreateThenable();\n          }\n          break;\n      }\n    }\n    return nextResult;\n  }\n  updateResult() {\n    const prevResult = this.#currentResult;\n    const nextResult = this.createResult(this.#currentQuery, this.options);\n    this.#currentResultState = this.#currentQuery.state;\n    this.#currentResultOptions = this.options;\n    if (this.#currentResultState.data !== void 0) {\n      this.#lastQueryWithDefinedData = this.#currentQuery;\n    }\n    if (shallowEqualObjects(nextResult, prevResult)) {\n      return;\n    }\n    this.#currentResult = nextResult;\n    const shouldNotifyListeners = () => {\n      if (!prevResult) {\n        return true;\n      }\n      const { notifyOnChangeProps } = this.options;\n      const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n      if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n        return true;\n      }\n      const includedProps = new Set(\n        notifyOnChangePropsValue ?? this.#trackedProps\n      );\n      if (this.options.throwOnError) {\n        includedProps.add(\"error\");\n      }\n      return Object.keys(this.#currentResult).some((key) => {\n        const typedKey = key;\n        const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n        return changed && includedProps.has(typedKey);\n      });\n    };\n    this.#notify({ listeners: shouldNotifyListeners() });\n  }\n  #updateQuery() {\n    const query = this.#client.getQueryCache().build(this.#client, this.options);\n    if (query === this.#currentQuery) {\n      return;\n    }\n    const prevQuery = this.#currentQuery;\n    this.#currentQuery = query;\n    this.#currentQueryInitialState = query.state;\n    if (this.hasListeners()) {\n      prevQuery?.removeObserver(this);\n      query.addObserver(this);\n    }\n  }\n  onQueryUpdate() {\n    this.updateResult();\n    if (this.hasListeners()) {\n      this.#updateTimers();\n    }\n  }\n  #notify(notifyOptions) {\n    notifyManager.batch(() => {\n      if (notifyOptions.listeners) {\n        this.listeners.forEach((listener) => {\n          listener(this.#currentResult);\n        });\n      }\n      this.#client.getQueryCache().notify({\n        query: this.#currentQuery,\n        type: \"observerResultsUpdated\"\n      });\n    });\n  }\n};\nfunction shouldLoadOnMount(query, options) {\n  return resolveEnabled(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n  return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n  if (resolveEnabled(options.enabled, query) !== false && resolveStaleTime(options.staleTime, query) !== \"static\") {\n    const value = typeof field === \"function\" ? field(query) : field;\n    return value === \"always\" || value !== false && isStale(query, options);\n  }\n  return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n  return (query !== prevQuery || resolveEnabled(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n  return resolveEnabled(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n  if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n    return true;\n  }\n  return false;\n}\nexport {\n  QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","// src/infiniteQueryBehavior.ts\nimport { addToEnd, addToStart, ensureQueryFn } from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n  return {\n    onFetch: (context, query) => {\n      const options = context.options;\n      const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n      const oldPages = context.state.data?.pages || [];\n      const oldPageParams = context.state.data?.pageParams || [];\n      let result = { pages: [], pageParams: [] };\n      let currentPage = 0;\n      const fetchFn = async () => {\n        let cancelled = false;\n        const addSignalProperty = (object) => {\n          Object.defineProperty(object, \"signal\", {\n            enumerable: true,\n            get: () => {\n              if (context.signal.aborted) {\n                cancelled = true;\n              } else {\n                context.signal.addEventListener(\"abort\", () => {\n                  cancelled = true;\n                });\n              }\n              return context.signal;\n            }\n          });\n        };\n        const queryFn = ensureQueryFn(context.options, context.fetchOptions);\n        const fetchPage = async (data, param, previous) => {\n          if (cancelled) {\n            return Promise.reject();\n          }\n          if (param == null && data.pages.length) {\n            return Promise.resolve(data);\n          }\n          const createQueryFnContext = () => {\n            const queryFnContext2 = {\n              client: context.client,\n              queryKey: context.queryKey,\n              pageParam: param,\n              direction: previous ? \"backward\" : \"forward\",\n              meta: context.options.meta\n            };\n            addSignalProperty(queryFnContext2);\n            return queryFnContext2;\n          };\n          const queryFnContext = createQueryFnContext();\n          const page = await queryFn(queryFnContext);\n          const { maxPages } = context.options;\n          const addTo = previous ? addToStart : addToEnd;\n          return {\n            pages: addTo(data.pages, page, maxPages),\n            pageParams: addTo(data.pageParams, param, maxPages)\n          };\n        };\n        if (direction && oldPages.length) {\n          const previous = direction === \"backward\";\n          const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n          const oldData = {\n            pages: oldPages,\n            pageParams: oldPageParams\n          };\n          const param = pageParamFn(options, oldData);\n          result = await fetchPage(oldData, param, previous);\n        } else {\n          const remainingPages = pages ?? oldPages.length;\n          do {\n            const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);\n            if (currentPage > 0 && param == null) {\n              break;\n            }\n            result = await fetchPage(result, param);\n            currentPage++;\n          } while (currentPage < remainingPages);\n        }\n        return result;\n      };\n      if (context.options.persister) {\n        context.fetchFn = () => {\n          return context.options.persister?.(\n            fetchFn,\n            {\n              client: context.client,\n              queryKey: context.queryKey,\n              meta: context.options.meta,\n              signal: context.signal\n            },\n            query\n          );\n        };\n      } else {\n        context.fetchFn = fetchFn;\n      }\n    }\n  };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n  const lastIndex = pages.length - 1;\n  return pages.length > 0 ? options.getNextPageParam(\n    pages[lastIndex],\n    pages,\n    pageParams[lastIndex],\n    pageParams\n  ) : void 0;\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n  return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;\n}\nfunction hasNextPage(options, data) {\n  if (!data) return false;\n  return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n  if (!data || !options.getPreviousPageParam) return false;\n  return getPreviousPageParam(options, data) != null;\n}\nexport {\n  hasNextPage,\n  hasPreviousPage,\n  infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map","// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n  #client;\n  #observers;\n  #mutationCache;\n  #retryer;\n  constructor(config) {\n    super();\n    this.#client = config.client;\n    this.mutationId = config.mutationId;\n    this.#mutationCache = config.mutationCache;\n    this.#observers = [];\n    this.state = config.state || getDefaultState();\n    this.setOptions(config.options);\n    this.scheduleGc();\n  }\n  setOptions(options) {\n    this.options = options;\n    this.updateGcTime(this.options.gcTime);\n  }\n  get meta() {\n    return this.options.meta;\n  }\n  addObserver(observer) {\n    if (!this.#observers.includes(observer)) {\n      this.#observers.push(observer);\n      this.clearGcTimeout();\n      this.#mutationCache.notify({\n        type: \"observerAdded\",\n        mutation: this,\n        observer\n      });\n    }\n  }\n  removeObserver(observer) {\n    this.#observers = this.#observers.filter((x) => x !== observer);\n    this.scheduleGc();\n    this.#mutationCache.notify({\n      type: \"observerRemoved\",\n      mutation: this,\n      observer\n    });\n  }\n  optionalRemove() {\n    if (!this.#observers.length) {\n      if (this.state.status === \"pending\") {\n        this.scheduleGc();\n      } else {\n        this.#mutationCache.remove(this);\n      }\n    }\n  }\n  continue() {\n    return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n    this.execute(this.state.variables);\n  }\n  async execute(variables) {\n    const onContinue = () => {\n      this.#dispatch({ type: \"continue\" });\n    };\n    const mutationFnContext = {\n      client: this.#client,\n      meta: this.options.meta,\n      mutationKey: this.options.mutationKey\n    };\n    this.#retryer = createRetryer({\n      fn: () => {\n        if (!this.options.mutationFn) {\n          return Promise.reject(new Error(\"No mutationFn found\"));\n        }\n        return this.options.mutationFn(variables, mutationFnContext);\n      },\n      onFail: (failureCount, error) => {\n        this.#dispatch({ type: \"failed\", failureCount, error });\n      },\n      onPause: () => {\n        this.#dispatch({ type: \"pause\" });\n      },\n      onContinue,\n      retry: this.options.retry ?? 0,\n      retryDelay: this.options.retryDelay,\n      networkMode: this.options.networkMode,\n      canRun: () => this.#mutationCache.canRun(this)\n    });\n    const restored = this.state.status === \"pending\";\n    const isPaused = !this.#retryer.canStart();\n    try {\n      if (restored) {\n        onContinue();\n      } else {\n        this.#dispatch({ type: \"pending\", variables, isPaused });\n        await this.#mutationCache.config.onMutate?.(\n          variables,\n          this,\n          mutationFnContext\n        );\n        const context = await this.options.onMutate?.(\n          variables,\n          mutationFnContext\n        );\n        if (context !== this.state.context) {\n          this.#dispatch({\n            type: \"pending\",\n            context,\n            variables,\n            isPaused\n          });\n        }\n      }\n      const data = await this.#retryer.start();\n      await this.#mutationCache.config.onSuccess?.(\n        data,\n        variables,\n        this.state.context,\n        this,\n        mutationFnContext\n      );\n      await this.options.onSuccess?.(\n        data,\n        variables,\n        this.state.context,\n        mutationFnContext\n      );\n      await this.#mutationCache.config.onSettled?.(\n        data,\n        null,\n        this.state.variables,\n        this.state.context,\n        this,\n        mutationFnContext\n      );\n      await this.options.onSettled?.(\n        data,\n        null,\n        variables,\n        this.state.context,\n        mutationFnContext\n      );\n      this.#dispatch({ type: \"success\", data });\n      return data;\n    } catch (error) {\n      try {\n        await this.#mutationCache.config.onError?.(\n          error,\n          variables,\n          this.state.context,\n          this,\n          mutationFnContext\n        );\n        await this.options.onError?.(\n          error,\n          variables,\n          this.state.context,\n          mutationFnContext\n        );\n        await this.#mutationCache.config.onSettled?.(\n          void 0,\n          error,\n          this.state.variables,\n          this.state.context,\n          this,\n          mutationFnContext\n        );\n        await this.options.onSettled?.(\n          void 0,\n          error,\n          variables,\n          this.state.context,\n          mutationFnContext\n        );\n        throw error;\n      } finally {\n        this.#dispatch({ type: \"error\", error });\n      }\n    } finally {\n      this.#mutationCache.runNext(this);\n    }\n  }\n  #dispatch(action) {\n    const reducer = (state) => {\n      switch (action.type) {\n        case \"failed\":\n          return {\n            ...state,\n            failureCount: action.failureCount,\n            failureReason: action.error\n          };\n        case \"pause\":\n          return {\n            ...state,\n            isPaused: true\n          };\n        case \"continue\":\n          return {\n            ...state,\n            isPaused: false\n          };\n        case \"pending\":\n          return {\n            ...state,\n            context: action.context,\n            data: void 0,\n            failureCount: 0,\n            failureReason: null,\n            error: null,\n            isPaused: action.isPaused,\n            status: \"pending\",\n            variables: action.variables,\n            submittedAt: Date.now()\n          };\n        case \"success\":\n          return {\n            ...state,\n            data: action.data,\n            failureCount: 0,\n            failureReason: null,\n            error: null,\n            status: \"success\",\n            isPaused: false\n          };\n        case \"error\":\n          return {\n            ...state,\n            data: void 0,\n            error: action.error,\n            failureCount: state.failureCount + 1,\n            failureReason: action.error,\n            isPaused: false,\n            status: \"error\"\n          };\n      }\n    };\n    this.state = reducer(this.state);\n    notifyManager.batch(() => {\n      this.#observers.forEach((observer) => {\n        observer.onMutationUpdate(action);\n      });\n      this.#mutationCache.notify({\n        mutation: this,\n        type: \"updated\",\n        action\n      });\n    });\n  }\n};\nfunction getDefaultState() {\n  return {\n    context: void 0,\n    data: void 0,\n    error: null,\n    failureCount: 0,\n    failureReason: null,\n    isPaused: false,\n    status: \"idle\",\n    variables: void 0,\n    submittedAt: 0\n  };\n}\nexport {\n  Mutation,\n  getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n  constructor(config = {}) {\n    super();\n    this.config = config;\n    this.#mutations = /* @__PURE__ */ new Set();\n    this.#scopes = /* @__PURE__ */ new Map();\n    this.#mutationId = 0;\n  }\n  #mutations;\n  #scopes;\n  #mutationId;\n  build(client, options, state) {\n    const mutation = new Mutation({\n      client,\n      mutationCache: this,\n      mutationId: ++this.#mutationId,\n      options: client.defaultMutationOptions(options),\n      state\n    });\n    this.add(mutation);\n    return mutation;\n  }\n  add(mutation) {\n    this.#mutations.add(mutation);\n    const scope = scopeFor(mutation);\n    if (typeof scope === \"string\") {\n      const scopedMutations = this.#scopes.get(scope);\n      if (scopedMutations) {\n        scopedMutations.push(mutation);\n      } else {\n        this.#scopes.set(scope, [mutation]);\n      }\n    }\n    this.notify({ type: \"added\", mutation });\n  }\n  remove(mutation) {\n    if (this.#mutations.delete(mutation)) {\n      const scope = scopeFor(mutation);\n      if (typeof scope === \"string\") {\n        const scopedMutations = this.#scopes.get(scope);\n        if (scopedMutations) {\n          if (scopedMutations.length > 1) {\n            const index = scopedMutations.indexOf(mutation);\n            if (index !== -1) {\n              scopedMutations.splice(index, 1);\n            }\n          } else if (scopedMutations[0] === mutation) {\n            this.#scopes.delete(scope);\n          }\n        }\n      }\n    }\n    this.notify({ type: \"removed\", mutation });\n  }\n  canRun(mutation) {\n    const scope = scopeFor(mutation);\n    if (typeof scope === \"string\") {\n      const mutationsWithSameScope = this.#scopes.get(scope);\n      const firstPendingMutation = mutationsWithSameScope?.find(\n        (m) => m.state.status === \"pending\"\n      );\n      return !firstPendingMutation || firstPendingMutation === mutation;\n    } else {\n      return true;\n    }\n  }\n  runNext(mutation) {\n    const scope = scopeFor(mutation);\n    if (typeof scope === \"string\") {\n      const foundMutation = this.#scopes.get(scope)?.find((m) => m !== mutation && m.state.isPaused);\n      return foundMutation?.continue() ?? Promise.resolve();\n    } else {\n      return Promise.resolve();\n    }\n  }\n  clear() {\n    notifyManager.batch(() => {\n      this.#mutations.forEach((mutation) => {\n        this.notify({ type: \"removed\", mutation });\n      });\n      this.#mutations.clear();\n      this.#scopes.clear();\n    });\n  }\n  getAll() {\n    return Array.from(this.#mutations);\n  }\n  find(filters) {\n    const defaultedFilters = { exact: true, ...filters };\n    return this.getAll().find(\n      (mutation) => matchMutation(defaultedFilters, mutation)\n    );\n  }\n  findAll(filters = {}) {\n    return this.getAll().filter((mutation) => matchMutation(filters, mutation));\n  }\n  notify(event) {\n    notifyManager.batch(() => {\n      this.listeners.forEach((listener) => {\n        listener(event);\n      });\n    });\n  }\n  resumePausedMutations() {\n    const pausedMutations = this.getAll().filter((x) => x.state.isPaused);\n    return notifyManager.batch(\n      () => Promise.all(\n        pausedMutations.map((mutation) => mutation.continue().catch(noop))\n      )\n    );\n  }\n};\nfunction scopeFor(mutation) {\n  return mutation.options.scope?.id;\n}\nexport {\n  MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n  #client;\n  #currentResult = void 0;\n  #currentMutation;\n  #mutateOptions;\n  constructor(client, options) {\n    super();\n    this.#client = client;\n    this.setOptions(options);\n    this.bindMethods();\n    this.#updateResult();\n  }\n  bindMethods() {\n    this.mutate = this.mutate.bind(this);\n    this.reset = this.reset.bind(this);\n  }\n  setOptions(options) {\n    const prevOptions = this.options;\n    this.options = this.#client.defaultMutationOptions(options);\n    if (!shallowEqualObjects(this.options, prevOptions)) {\n      this.#client.getMutationCache().notify({\n        type: \"observerOptionsUpdated\",\n        mutation: this.#currentMutation,\n        observer: this\n      });\n    }\n    if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n      this.reset();\n    } else if (this.#currentMutation?.state.status === \"pending\") {\n      this.#currentMutation.setOptions(this.options);\n    }\n  }\n  onUnsubscribe() {\n    if (!this.hasListeners()) {\n      this.#currentMutation?.removeObserver(this);\n    }\n  }\n  onMutationUpdate(action) {\n    this.#updateResult();\n    this.#notify(action);\n  }\n  getCurrentResult() {\n    return this.#currentResult;\n  }\n  reset() {\n    this.#currentMutation?.removeObserver(this);\n    this.#currentMutation = void 0;\n    this.#updateResult();\n    this.#notify();\n  }\n  mutate(variables, options) {\n    this.#mutateOptions = options;\n    this.#currentMutation?.removeObserver(this);\n    this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n    this.#currentMutation.addObserver(this);\n    return this.#currentMutation.execute(variables);\n  }\n  #updateResult() {\n    const state = this.#currentMutation?.state ?? getDefaultState();\n    this.#currentResult = {\n      ...state,\n      isPending: state.status === \"pending\",\n      isSuccess: state.status === \"success\",\n      isError: state.status === \"error\",\n      isIdle: state.status === \"idle\",\n      mutate: this.mutate,\n      reset: this.reset\n    };\n  }\n  #notify(action) {\n    notifyManager.batch(() => {\n      if (this.#mutateOptions && this.hasListeners()) {\n        const variables = this.#currentResult.variables;\n        const onMutateResult = this.#currentResult.context;\n        const context = {\n          client: this.#client,\n          meta: this.options.meta,\n          mutationKey: this.options.mutationKey\n        };\n        if (action?.type === \"success\") {\n          this.#mutateOptions.onSuccess?.(\n            action.data,\n            variables,\n            onMutateResult,\n            context\n          );\n          this.#mutateOptions.onSettled?.(\n            action.data,\n            null,\n            variables,\n            onMutateResult,\n            context\n          );\n        } else if (action?.type === \"error\") {\n          this.#mutateOptions.onError?.(\n            action.error,\n            variables,\n            onMutateResult,\n            context\n          );\n          this.#mutateOptions.onSettled?.(\n            void 0,\n            action.error,\n            variables,\n            onMutateResult,\n            context\n          );\n        }\n      }\n      this.listeners.forEach((listener) => {\n        listener(this.#currentResult);\n      });\n    });\n  }\n};\nexport {\n  MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","// src/queriesObserver.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { QueryObserver } from \"./queryObserver.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { replaceEqualDeep, shallowEqualObjects } from \"./utils.js\";\nfunction difference(array1, array2) {\n  const excludeSet = new Set(array2);\n  return array1.filter((x) => !excludeSet.has(x));\n}\nfunction replaceAt(array, index, value) {\n  const copy = array.slice(0);\n  copy[index] = value;\n  return copy;\n}\nvar QueriesObserver = class extends Subscribable {\n  #client;\n  #result;\n  #queries;\n  #options;\n  #observers;\n  #combinedResult;\n  #lastCombine;\n  #lastResult;\n  #observerMatches = [];\n  constructor(client, queries, options) {\n    super();\n    this.#client = client;\n    this.#options = options;\n    this.#queries = [];\n    this.#observers = [];\n    this.#result = [];\n    this.setQueries(queries);\n  }\n  onSubscribe() {\n    if (this.listeners.size === 1) {\n      this.#observers.forEach((observer) => {\n        observer.subscribe((result) => {\n          this.#onUpdate(observer, result);\n        });\n      });\n    }\n  }\n  onUnsubscribe() {\n    if (!this.listeners.size) {\n      this.destroy();\n    }\n  }\n  destroy() {\n    this.listeners = /* @__PURE__ */ new Set();\n    this.#observers.forEach((observer) => {\n      observer.destroy();\n    });\n  }\n  setQueries(queries, options) {\n    this.#queries = queries;\n    this.#options = options;\n    if (process.env.NODE_ENV !== \"production\") {\n      const queryHashes = queries.map(\n        (query) => this.#client.defaultQueryOptions(query).queryHash\n      );\n      if (new Set(queryHashes).size !== queryHashes.length) {\n        console.warn(\n          \"[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.\"\n        );\n      }\n    }\n    notifyManager.batch(() => {\n      const prevObservers = this.#observers;\n      const newObserverMatches = this.#findMatchingObservers(this.#queries);\n      this.#observerMatches = newObserverMatches;\n      newObserverMatches.forEach(\n        (match) => match.observer.setOptions(match.defaultedQueryOptions)\n      );\n      const newObservers = newObserverMatches.map((match) => match.observer);\n      const newResult = newObservers.map(\n        (observer) => observer.getCurrentResult()\n      );\n      const hasLengthChange = prevObservers.length !== newObservers.length;\n      const hasIndexChange = newObservers.some(\n        (observer, index) => observer !== prevObservers[index]\n      );\n      const hasStructuralChange = hasLengthChange || hasIndexChange;\n      const hasResultChange = hasStructuralChange ? true : newResult.some((result, index) => {\n        const prev = this.#result[index];\n        return !prev || !shallowEqualObjects(result, prev);\n      });\n      if (!hasStructuralChange && !hasResultChange) return;\n      if (hasStructuralChange) {\n        this.#observers = newObservers;\n      }\n      this.#result = newResult;\n      if (!this.hasListeners()) return;\n      if (hasStructuralChange) {\n        difference(prevObservers, newObservers).forEach((observer) => {\n          observer.destroy();\n        });\n        difference(newObservers, prevObservers).forEach((observer) => {\n          observer.subscribe((result) => {\n            this.#onUpdate(observer, result);\n          });\n        });\n      }\n      this.#notify();\n    });\n  }\n  getCurrentResult() {\n    return this.#result;\n  }\n  getQueries() {\n    return this.#observers.map((observer) => observer.getCurrentQuery());\n  }\n  getObservers() {\n    return this.#observers;\n  }\n  getOptimisticResult(queries, combine) {\n    const matches = this.#findMatchingObservers(queries);\n    const result = matches.map(\n      (match) => match.observer.getOptimisticResult(match.defaultedQueryOptions)\n    );\n    return [\n      result,\n      (r) => {\n        return this.#combineResult(r ?? result, combine);\n      },\n      () => {\n        return this.#trackResult(result, matches);\n      }\n    ];\n  }\n  #trackResult(result, matches) {\n    return matches.map((match, index) => {\n      const observerResult = result[index];\n      return !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult, (accessedProp) => {\n        matches.forEach((m) => {\n          m.observer.trackProp(accessedProp);\n        });\n      }) : observerResult;\n    });\n  }\n  #combineResult(input, combine) {\n    if (combine) {\n      if (!this.#combinedResult || this.#result !== this.#lastResult || combine !== this.#lastCombine) {\n        this.#lastCombine = combine;\n        this.#lastResult = this.#result;\n        this.#combinedResult = replaceEqualDeep(\n          this.#combinedResult,\n          combine(input)\n        );\n      }\n      return this.#combinedResult;\n    }\n    return input;\n  }\n  #findMatchingObservers(queries) {\n    const prevObserversMap = new Map(\n      this.#observers.map((observer) => [observer.options.queryHash, observer])\n    );\n    const observers = [];\n    queries.forEach((options) => {\n      const defaultedOptions = this.#client.defaultQueryOptions(options);\n      const match = prevObserversMap.get(defaultedOptions.queryHash);\n      if (match) {\n        observers.push({\n          defaultedQueryOptions: defaultedOptions,\n          observer: match\n        });\n      } else {\n        observers.push({\n          defaultedQueryOptions: defaultedOptions,\n          observer: new QueryObserver(this.#client, defaultedOptions)\n        });\n      }\n    });\n    return observers;\n  }\n  #onUpdate(observer, result) {\n    const index = this.#observers.indexOf(observer);\n    if (index !== -1) {\n      this.#result = replaceAt(this.#result, index, result);\n      this.#notify();\n    }\n  }\n  #notify() {\n    if (this.hasListeners()) {\n      const previousResult = this.#combinedResult;\n      const newTracked = this.#trackResult(this.#result, this.#observerMatches);\n      const newResult = this.#combineResult(newTracked, this.#options?.combine);\n      if (previousResult !== newResult) {\n        notifyManager.batch(() => {\n          this.listeners.forEach((listener) => {\n            listener(this.#result);\n          });\n        });\n      }\n    }\n  }\n};\nexport {\n  QueriesObserver\n};\n//# sourceMappingURL=queriesObserver.js.map","// src/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n  constructor(config = {}) {\n    super();\n    this.config = config;\n    this.#queries = /* @__PURE__ */ new Map();\n  }\n  #queries;\n  build(client, options, state) {\n    const queryKey = options.queryKey;\n    const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n    let query = this.get(queryHash);\n    if (!query) {\n      query = new Query({\n        client,\n        queryKey,\n        queryHash,\n        options: client.defaultQueryOptions(options),\n        state,\n        defaultOptions: client.getQueryDefaults(queryKey)\n      });\n      this.add(query);\n    }\n    return query;\n  }\n  add(query) {\n    if (!this.#queries.has(query.queryHash)) {\n      this.#queries.set(query.queryHash, query);\n      this.notify({\n        type: \"added\",\n        query\n      });\n    }\n  }\n  remove(query) {\n    const queryInMap = this.#queries.get(query.queryHash);\n    if (queryInMap) {\n      query.destroy();\n      if (queryInMap === query) {\n        this.#queries.delete(query.queryHash);\n      }\n      this.notify({ type: \"removed\", query });\n    }\n  }\n  clear() {\n    notifyManager.batch(() => {\n      this.getAll().forEach((query) => {\n        this.remove(query);\n      });\n    });\n  }\n  get(queryHash) {\n    return this.#queries.get(queryHash);\n  }\n  getAll() {\n    return [...this.#queries.values()];\n  }\n  find(filters) {\n    const defaultedFilters = { exact: true, ...filters };\n    return this.getAll().find(\n      (query) => matchQuery(defaultedFilters, query)\n    );\n  }\n  findAll(filters = {}) {\n    const queries = this.getAll();\n    return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n  }\n  notify(event) {\n    notifyManager.batch(() => {\n      this.listeners.forEach((listener) => {\n        listener(event);\n      });\n    });\n  }\n  onFocus() {\n    notifyManager.batch(() => {\n      this.getAll().forEach((query) => {\n        query.onFocus();\n      });\n    });\n  }\n  onOnline() {\n    notifyManager.batch(() => {\n      this.getAll().forEach((query) => {\n        query.onOnline();\n      });\n    });\n  }\n};\nexport {\n  QueryCache\n};\n//# sourceMappingURL=queryCache.js.map","// src/queryClient.ts\nimport {\n  functionalUpdate,\n  hashKey,\n  hashQueryKeyByOptions,\n  noop,\n  partialMatchKey,\n  resolveStaleTime,\n  skipToken\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar QueryClient = class {\n  #queryCache;\n  #mutationCache;\n  #defaultOptions;\n  #queryDefaults;\n  #mutationDefaults;\n  #mountCount;\n  #unsubscribeFocus;\n  #unsubscribeOnline;\n  constructor(config = {}) {\n    this.#queryCache = config.queryCache || new QueryCache();\n    this.#mutationCache = config.mutationCache || new MutationCache();\n    this.#defaultOptions = config.defaultOptions || {};\n    this.#queryDefaults = /* @__PURE__ */ new Map();\n    this.#mutationDefaults = /* @__PURE__ */ new Map();\n    this.#mountCount = 0;\n  }\n  mount() {\n    this.#mountCount++;\n    if (this.#mountCount !== 1) return;\n    this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n      if (focused) {\n        await this.resumePausedMutations();\n        this.#queryCache.onFocus();\n      }\n    });\n    this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n      if (online) {\n        await this.resumePausedMutations();\n        this.#queryCache.onOnline();\n      }\n    });\n  }\n  unmount() {\n    this.#mountCount--;\n    if (this.#mountCount !== 0) return;\n    this.#unsubscribeFocus?.();\n    this.#unsubscribeFocus = void 0;\n    this.#unsubscribeOnline?.();\n    this.#unsubscribeOnline = void 0;\n  }\n  isFetching(filters) {\n    return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n  }\n  isMutating(filters) {\n    return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n  }\n  /**\n   * Imperative (non-reactive) way to retrieve data for a QueryKey.\n   * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n   *\n   * Hint: Do not use this function inside a component, because it won't receive updates.\n   * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n   */\n  getQueryData(queryKey) {\n    const options = this.defaultQueryOptions({ queryKey });\n    return this.#queryCache.get(options.queryHash)?.state.data;\n  }\n  ensureQueryData(options) {\n    const defaultedOptions = this.defaultQueryOptions(options);\n    const query = this.#queryCache.build(this, defaultedOptions);\n    const cachedData = query.state.data;\n    if (cachedData === void 0) {\n      return this.fetchQuery(options);\n    }\n    if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) {\n      void this.prefetchQuery(defaultedOptions);\n    }\n    return Promise.resolve(cachedData);\n  }\n  getQueriesData(filters) {\n    return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n      const data = state.data;\n      return [queryKey, data];\n    });\n  }\n  setQueryData(queryKey, updater, options) {\n    const defaultedOptions = this.defaultQueryOptions({ queryKey });\n    const query = this.#queryCache.get(\n      defaultedOptions.queryHash\n    );\n    const prevData = query?.state.data;\n    const data = functionalUpdate(updater, prevData);\n    if (data === void 0) {\n      return void 0;\n    }\n    return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n  }\n  setQueriesData(filters, updater, options) {\n    return notifyManager.batch(\n      () => this.#queryCache.findAll(filters).map(({ queryKey }) => [\n        queryKey,\n        this.setQueryData(queryKey, updater, options)\n      ])\n    );\n  }\n  getQueryState(queryKey) {\n    const options = this.defaultQueryOptions({ queryKey });\n    return this.#queryCache.get(\n      options.queryHash\n    )?.state;\n  }\n  removeQueries(filters) {\n    const queryCache = this.#queryCache;\n    notifyManager.batch(() => {\n      queryCache.findAll(filters).forEach((query) => {\n        queryCache.remove(query);\n      });\n    });\n  }\n  resetQueries(filters, options) {\n    const queryCache = this.#queryCache;\n    return notifyManager.batch(() => {\n      queryCache.findAll(filters).forEach((query) => {\n        query.reset();\n      });\n      return this.refetchQueries(\n        {\n          type: \"active\",\n          ...filters\n        },\n        options\n      );\n    });\n  }\n  cancelQueries(filters, cancelOptions = {}) {\n    const defaultedCancelOptions = { revert: true, ...cancelOptions };\n    const promises = notifyManager.batch(\n      () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n    );\n    return Promise.all(promises).then(noop).catch(noop);\n  }\n  invalidateQueries(filters, options = {}) {\n    return notifyManager.batch(() => {\n      this.#queryCache.findAll(filters).forEach((query) => {\n        query.invalidate();\n      });\n      if (filters?.refetchType === \"none\") {\n        return Promise.resolve();\n      }\n      return this.refetchQueries(\n        {\n          ...filters,\n          type: filters?.refetchType ?? filters?.type ?? \"active\"\n        },\n        options\n      );\n    });\n  }\n  refetchQueries(filters, options = {}) {\n    const fetchOptions = {\n      ...options,\n      cancelRefetch: options.cancelRefetch ?? true\n    };\n    const promises = notifyManager.batch(\n      () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled() && !query.isStatic()).map((query) => {\n        let promise = query.fetch(void 0, fetchOptions);\n        if (!fetchOptions.throwOnError) {\n          promise = promise.catch(noop);\n        }\n        return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n      })\n    );\n    return Promise.all(promises).then(noop);\n  }\n  fetchQuery(options) {\n    const defaultedOptions = this.defaultQueryOptions(options);\n    if (defaultedOptions.retry === void 0) {\n      defaultedOptions.retry = false;\n    }\n    const query = this.#queryCache.build(this, defaultedOptions);\n    return query.isStaleByTime(\n      resolveStaleTime(defaultedOptions.staleTime, query)\n    ) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n  }\n  prefetchQuery(options) {\n    return this.fetchQuery(options).then(noop).catch(noop);\n  }\n  fetchInfiniteQuery(options) {\n    options.behavior = infiniteQueryBehavior(options.pages);\n    return this.fetchQuery(options);\n  }\n  prefetchInfiniteQuery(options) {\n    return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n  }\n  ensureInfiniteQueryData(options) {\n    options.behavior = infiniteQueryBehavior(options.pages);\n    return this.ensureQueryData(options);\n  }\n  resumePausedMutations() {\n    if (onlineManager.isOnline()) {\n      return this.#mutationCache.resumePausedMutations();\n    }\n    return Promise.resolve();\n  }\n  getQueryCache() {\n    return this.#queryCache;\n  }\n  getMutationCache() {\n    return this.#mutationCache;\n  }\n  getDefaultOptions() {\n    return this.#defaultOptions;\n  }\n  setDefaultOptions(options) {\n    this.#defaultOptions = options;\n  }\n  setQueryDefaults(queryKey, options) {\n    this.#queryDefaults.set(hashKey(queryKey), {\n      queryKey,\n      defaultOptions: options\n    });\n  }\n  getQueryDefaults(queryKey) {\n    const defaults = [...this.#queryDefaults.values()];\n    const result = {};\n    defaults.forEach((queryDefault) => {\n      if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n        Object.assign(result, queryDefault.defaultOptions);\n      }\n    });\n    return result;\n  }\n  setMutationDefaults(mutationKey, options) {\n    this.#mutationDefaults.set(hashKey(mutationKey), {\n      mutationKey,\n      defaultOptions: options\n    });\n  }\n  getMutationDefaults(mutationKey) {\n    const defaults = [...this.#mutationDefaults.values()];\n    const result = {};\n    defaults.forEach((queryDefault) => {\n      if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n        Object.assign(result, queryDefault.defaultOptions);\n      }\n    });\n    return result;\n  }\n  defaultQueryOptions(options) {\n    if (options._defaulted) {\n      return options;\n    }\n    const defaultedOptions = {\n      ...this.#defaultOptions.queries,\n      ...this.getQueryDefaults(options.queryKey),\n      ...options,\n      _defaulted: true\n    };\n    if (!defaultedOptions.queryHash) {\n      defaultedOptions.queryHash = hashQueryKeyByOptions(\n        defaultedOptions.queryKey,\n        defaultedOptions\n      );\n    }\n    if (defaultedOptions.refetchOnReconnect === void 0) {\n      defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n    }\n    if (defaultedOptions.throwOnError === void 0) {\n      defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n    }\n    if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n      defaultedOptions.networkMode = \"offlineFirst\";\n    }\n    if (defaultedOptions.queryFn === skipToken) {\n      defaultedOptions.enabled = false;\n    }\n    return defaultedOptions;\n  }\n  defaultMutationOptions(options) {\n    if (options?._defaulted) {\n      return options;\n    }\n    return {\n      ...this.#defaultOptions.mutations,\n      ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n      ...options,\n      _defaulted: true\n    };\n  }\n  clear() {\n    this.#queryCache.clear();\n    this.#mutationCache.clear();\n  }\n};\nexport {\n  QueryClient\n};\n//# sourceMappingURL=queryClient.js.map","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar QueryClientContext = React.createContext(\n  void 0\n);\nvar useQueryClient = (queryClient) => {\n  const client = React.useContext(QueryClientContext);\n  if (queryClient) {\n    return queryClient;\n  }\n  if (!client) {\n    throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n  }\n  return client;\n};\nvar QueryClientProvider = ({\n  client,\n  children\n}) => {\n  React.useEffect(() => {\n    client.mount();\n    return () => {\n      client.unmount();\n    };\n  }, [client]);\n  return /* @__PURE__ */ jsx(QueryClientContext.Provider, { value: client, children });\n};\nexport {\n  QueryClientContext,\n  QueryClientProvider,\n  useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\";\n\n// src/IsRestoringProvider.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n  IsRestoringProvider,\n  useIsRestoring\n};\n//# sourceMappingURL=IsRestoringProvider.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createValue() {\n  let isReset = false;\n  return {\n    clearReset: () => {\n      isReset = false;\n    },\n    reset: () => {\n      isReset = true;\n    },\n    isReset: () => {\n      return isReset;\n    }\n  };\n}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n  children\n}) => {\n  const [value] = React.useState(() => createValue());\n  return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === \"function\" ? children(value) : children });\n};\nexport {\n  QueryErrorResetBoundary,\n  useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"@tanstack/query-core\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary) => {\n  if (options.suspense || options.throwOnError || options.experimental_prefetchInRender) {\n    if (!errorResetBoundary.isReset()) {\n      options.retryOnMount = false;\n    }\n  }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n  React.useEffect(() => {\n    errorResetBoundary.clearReset();\n  }, [errorResetBoundary]);\n};\nvar getHasError = ({\n  result,\n  errorResetBoundary,\n  throwOnError,\n  query,\n  suspense\n}) => {\n  return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && (suspense && result.data === void 0 || shouldThrowError(throwOnError, [result.error, query]));\n};\nexport {\n  ensurePreventErrorBoundaryRetry,\n  getHasError,\n  useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => query.state.data === void 0;\nvar ensureSuspenseTimers = (defaultedOptions) => {\n  if (defaultedOptions.suspense) {\n    const MIN_SUSPENSE_TIME_MS = 1e3;\n    const clamp = (value) => value === \"static\" ? value : Math.max(value ?? MIN_SUSPENSE_TIME_MS, MIN_SUSPENSE_TIME_MS);\n    const originalStaleTime = defaultedOptions.staleTime;\n    defaultedOptions.staleTime = typeof originalStaleTime === \"function\" ? (...args) => clamp(originalStaleTime(...args)) : clamp(originalStaleTime);\n    if (typeof defaultedOptions.gcTime === \"number\") {\n      defaultedOptions.gcTime = Math.max(\n        defaultedOptions.gcTime,\n        MIN_SUSPENSE_TIME_MS\n      );\n    }\n  }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n  errorResetBoundary.clearReset();\n});\nexport {\n  defaultThrowOnError,\n  ensureSuspenseTimers,\n  fetchOptimistic,\n  shouldSuspend,\n  willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useQueries.ts\nimport * as React from \"react\";\nimport {\n  QueriesObserver,\n  QueryObserver,\n  noop,\n  notifyManager\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n  ensurePreventErrorBoundaryRetry,\n  getHasError,\n  useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport {\n  ensureSuspenseTimers,\n  fetchOptimistic,\n  shouldSuspend,\n  willFetch\n} from \"./suspense.js\";\nfunction useQueries({\n  queries,\n  ...options\n}, queryClient) {\n  const client = useQueryClient(queryClient);\n  const isRestoring = useIsRestoring();\n  const errorResetBoundary = useQueryErrorResetBoundary();\n  const defaultedQueries = React.useMemo(\n    () => queries.map((opts) => {\n      const defaultedOptions = client.defaultQueryOptions(\n        opts\n      );\n      defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n      return defaultedOptions;\n    }),\n    [queries, client, isRestoring]\n  );\n  defaultedQueries.forEach((query) => {\n    ensureSuspenseTimers(query);\n    ensurePreventErrorBoundaryRetry(query, errorResetBoundary);\n  });\n  useClearResetErrorBoundary(errorResetBoundary);\n  const [observer] = React.useState(\n    () => new QueriesObserver(\n      client,\n      defaultedQueries,\n      options\n    )\n  );\n  const [optimisticResult, getCombinedResult, trackResult] = observer.getOptimisticResult(\n    defaultedQueries,\n    options.combine\n  );\n  const shouldSubscribe = !isRestoring && options.subscribed !== false;\n  React.useSyncExternalStore(\n    React.useCallback(\n      (onStoreChange) => shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop,\n      [observer, shouldSubscribe]\n    ),\n    () => observer.getCurrentResult(),\n    () => observer.getCurrentResult()\n  );\n  React.useEffect(() => {\n    observer.setQueries(\n      defaultedQueries,\n      options\n    );\n  }, [defaultedQueries, options, observer]);\n  const shouldAtLeastOneSuspend = optimisticResult.some(\n    (result, index) => shouldSuspend(defaultedQueries[index], result)\n  );\n  const suspensePromises = shouldAtLeastOneSuspend ? optimisticResult.flatMap((result, index) => {\n    const opts = defaultedQueries[index];\n    if (opts) {\n      const queryObserver = new QueryObserver(client, opts);\n      if (shouldSuspend(opts, result)) {\n        return fetchOptimistic(opts, queryObserver, errorResetBoundary);\n      } else if (willFetch(result, isRestoring)) {\n        void fetchOptimistic(opts, queryObserver, errorResetBoundary);\n      }\n    }\n    return [];\n  }) : [];\n  if (suspensePromises.length > 0) {\n    throw Promise.all(suspensePromises);\n  }\n  const firstSingleResultWhichShouldThrow = optimisticResult.find(\n    (result, index) => {\n      const query = defaultedQueries[index];\n      return query && getHasError({\n        result,\n        errorResetBoundary,\n        throwOnError: query.throwOnError,\n        query: client.getQueryCache().get(query.queryHash),\n        suspense: query.suspense\n      });\n    }\n  );\n  if (firstSingleResultWhichShouldThrow?.error) {\n    throw firstSingleResultWhichShouldThrow.error;\n  }\n  return getCombinedResult(trackResult());\n}\nexport {\n  useQueries\n};\n//# sourceMappingURL=useQueries.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { isServer, noop, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n  ensurePreventErrorBoundaryRetry,\n  getHasError,\n  useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport {\n  ensureSuspenseTimers,\n  fetchOptimistic,\n  shouldSuspend,\n  willFetch\n} from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n  if (process.env.NODE_ENV !== \"production\") {\n    if (typeof options !== \"object\" || Array.isArray(options)) {\n      throw new Error(\n        'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'\n      );\n    }\n  }\n  const isRestoring = useIsRestoring();\n  const errorResetBoundary = useQueryErrorResetBoundary();\n  const client = useQueryClient(queryClient);\n  const defaultedOptions = client.defaultQueryOptions(options);\n  client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n    defaultedOptions\n  );\n  if (process.env.NODE_ENV !== \"production\") {\n    if (!defaultedOptions.queryFn) {\n      console.error(\n        `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`\n      );\n    }\n  }\n  defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n  ensureSuspenseTimers(defaultedOptions);\n  ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary);\n  useClearResetErrorBoundary(errorResetBoundary);\n  const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);\n  const [observer] = React.useState(\n    () => new Observer(\n      client,\n      defaultedOptions\n    )\n  );\n  const result = observer.getOptimisticResult(defaultedOptions);\n  const shouldSubscribe = !isRestoring && options.subscribed !== false;\n  React.useSyncExternalStore(\n    React.useCallback(\n      (onStoreChange) => {\n        const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop;\n        observer.updateResult();\n        return unsubscribe;\n      },\n      [observer, shouldSubscribe]\n    ),\n    () => observer.getCurrentResult(),\n    () => observer.getCurrentResult()\n  );\n  React.useEffect(() => {\n    observer.setOptions(defaultedOptions);\n  }, [defaultedOptions, observer]);\n  if (shouldSuspend(defaultedOptions, result)) {\n    throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n  }\n  if (getHasError({\n    result,\n    errorResetBoundary,\n    throwOnError: defaultedOptions.throwOnError,\n    query: client.getQueryCache().get(defaultedOptions.queryHash),\n    suspense: defaultedOptions.suspense\n  })) {\n    throw result.error;\n  }\n  ;\n  client.getDefaultOptions().queries?._experimental_afterQuery?.(\n    defaultedOptions,\n    result\n  );\n  if (defaultedOptions.experimental_prefetchInRender && !isServer && willFetch(result, isRestoring)) {\n    const promise = isNewCacheEntry ? (\n      // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n      fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n    ) : (\n      // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n      client.getQueryCache().get(defaultedOptions.queryHash)?.promise\n    );\n    promise?.catch(noop).finally(() => {\n      observer.updateResult();\n    });\n  }\n  return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n  useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n  return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n  useQuery\n};\n//# sourceMappingURL=useQuery.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport {\n  MutationObserver,\n  noop,\n  notifyManager,\n  shouldThrowError\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nfunction useMutation(options, queryClient) {\n  const client = useQueryClient(queryClient);\n  const [observer] = React.useState(\n    () => new MutationObserver(\n      client,\n      options\n    )\n  );\n  React.useEffect(() => {\n    observer.setOptions(options);\n  }, [observer, options]);\n  const result = React.useSyncExternalStore(\n    React.useCallback(\n      (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n      [observer]\n    ),\n    () => observer.getCurrentResult(),\n    () => observer.getCurrentResult()\n  );\n  const mutate = React.useCallback(\n    (variables, mutateOptions) => {\n      observer.mutate(variables, mutateOptions).catch(noop);\n    },\n    [observer]\n  );\n  if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n    throw result.error;\n  }\n  return { ...result, mutate, mutateAsync: result.mutate };\n}\nexport {\n  useMutation\n};\n//# sourceMappingURL=useMutation.js.map","import axios from 'axios'\nimport type { ApiRequestFnProps } from '../config'\nimport type { AxiosRequestConfig, AxiosResponse } from 'axios'\n\nconst apiClient = axios.create({\n  timeout: 30000,\n  headers: {\n    'Content-Type': 'application/json',\n  },\n})\n\napiClient.interceptors.response.use(\n  (response) => response,\n  (error) => {\n    if (error.response) {\n      throw new Error(\n        error.response.data?.message ||\n          error.response.data?.error ||\n          `Error ${error.response.status}`,\n      )\n    } else if (error.request) {\n      throw new Error(\n        'No response from server - request timeout or network issue',\n      )\n    } else {\n      throw new Error('Request configuration error')\n    }\n  },\n)\n\nexport const apiRequest = async <TProps, TResponse, TConverter = TProps>({\n  method,\n  url,\n  body,\n  headers,\n  converter,\n}: ApiRequestFnProps<TProps, TConverter>): Promise<TResponse> => {\n  try {\n    const isPrimitive =\n      typeof body === 'string' ||\n      typeof body === 'number' ||\n      typeof body === 'boolean'\n\n    let finalUrl = url\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    let finalBody:any = body\n\n    // 1. Primitive Body Handling (Append to URL)\n    if (isPrimitive && body) {\n      if (method !== 'POST') {\n        finalUrl = `${url}/${body}`\n        finalBody = undefined\n      }\n    }\n\n    // 2. Object Body Handling (Path Param Replacement)\n    if (!isPrimitive && typeof body === 'object' && body !== null) {\n      // Look for :param in string\n      // e.g. /users/:uid/availability\n      const pathParams = finalUrl.match(/:[a-zA-Z0-9_]+/g)\n\n      if (pathParams) {\n        // Create shallow copy to avoid mutating original\n        finalBody = { ...body }\n\n          pathParams.forEach((param) => {\n        if (finalBody){\n            const key = param.substring(1) // remove :\n            if (key in finalBody) {\n              finalUrl = finalUrl.replace(param, String(finalBody[key]))\n              // Optional: remove from body if it was used in path?\n              // Usually yes for simple IDs, maybe not for others.\n              // Let's remove to keep body clean.\n              delete finalBody[key]\n            }}\n          })\n      }\n\n      // Also handle case where we append ID to end if URL ends with / and we have 'id' or 'uid' in body?\n      // No, explicit :param or explicit append logic is safer.\n      // But we have logic for 'updateUser' where we just set endpoint ['api', 'users'] and method PUT.\n      // We expect /users/123.\n      // If body is { uid: 123, ...data }, we want /users/123.\n      // If no :param is found, and method is PUT/DELETE/PATCH, and body has 'id' or 'uid', should we append?\n      // User asked to eliminate customRequest.\n      // Let's add: \"If method is PUT/DELETE/PATCH, and no :param replacement happened, and body has (id|uid), append it.\"\n      const hasId = 'id' in finalBody || 'uid' in finalBody\n      if (\n        (method === 'PUT' || method === 'DELETE' || method === 'PATCH') &&\n        hasId &&\n        !pathParams\n      ) {\n        const id = finalBody.id || finalBody.uid\n        if (id) {\n          finalUrl = `${finalUrl}/${id}`\n          // We generally DON'T remove ID from body in this implicit case as it might be needed for validation\n          // But for cleaner API calls we might want to.\n          // Let's keep it safe: Don't remove ID here.\n        }\n      }\n    }\n\n    const data = converter && finalBody ? converter(finalBody) : finalBody\n    const response: AxiosResponse<TResponse> = await apiClient({\n      url: finalUrl,\n      method,\n      data,\n      headers,\n    })\n\n    if (response.status >= 200 && response.status < 300) {\n      return response.data\n    }\n\n    throw new Error(`Request failed with status ${response.status}`)\n  } catch (error) {\n    console.error('API Request Error:', error)\n    if (error instanceof Error) {\n      throw error\n    }\n    throw new Error('Unknown error occurred')\n  }\n}\n\nexport const fetchRequest = async <TProps, TResponse>(\n  url: string,\n  headers?: AxiosRequestConfig['headers'],\n): Promise<TResponse> => {\n  return apiRequest<TProps, TResponse>({ url, method: 'GET', headers })\n}\n","import { atomStateGenerator } from '@gaddario98/react-state'\nimport { QueryClient } from '@tanstack/react-query'\nimport { apiRequest } from './utils/request'\nimport type { ApiMethod, Endpoint } from './types'\nimport type { PersistQueryClientOptions } from '@tanstack/react-query-persist-client'\nimport type { AxiosRequestConfig } from 'axios'\n\nexport interface EncryptionConfig {\n  secretKey: string\n  enabled?: boolean\n  // Optional custom functions to override default AES-GCM\n  encryptFn?: (data: unknown, key: string) => Promise<string>\n  decryptFn?: (data: string, key: string) => Promise<unknown>\n}\n// Lazy initialization to avoid side effects at module load time\n\nexport type ApiConverter<TProps, TConverter> = (props: TProps) => TConverter\nexport interface ApiRequestFnProps<TProps, TConverter = TProps> {\n  url: string\n  method: ApiMethod\n  body?: TProps\n  headers?: AxiosRequestConfig['headers']\n  converter?: ApiConverter<TProps, TConverter>\n}\nexport interface ApiNotificationMessage {\n  message: string\n  type: 'success' | 'error' | 'info' | 'warning'\n  autoHideDuration?: number\n  textTransOption?: Record<string, unknown>\n  ns?: string\n}\nexport interface ApiConfig {\n  endpoints: Endpoint\n  requestFn: <TProps, TResponse, TConverter = TProps>(\n    props: ApiRequestFnProps<TProps, TConverter>,\n  ) => Promise<TResponse>\n  validateAuthFn?: () => boolean\n  defaultHeaders?: Record<string, string>\n  persistOptions?: Omit<PersistQueryClientOptions, 'queryClient'>\n  queryClient: QueryClient\n  websocketConfig?: {\n    url: string\n    onMessage?: (message: unknown) => void\n    autoConnect?: boolean\n  }\n  encryption?: EncryptionConfig\n  showNotification?: (notification: ApiNotificationMessage) => void\n}\nconst _endpoints: Endpoint = {\n  custom: '',\n  api: 'http://localhost:3000', // import.meta.env.VITE_API_URL ||\n}\n\nconst defaultQueryClient = new QueryClient({\n  defaultOptions: {\n    queries: {\n      retry: 2,\n    //  staleTime: 2 * 60 * 1000,\n    },\n  },\n})\nexport const {\n  atom: apiConfigAtom,\n  useValue: useApiConfigValue,\n  useState: useApiConfigState,\n  useReset: useApiConfigReset,\n} = atomStateGenerator<ApiConfig>({\n  key: 'apiConfig',\n  defaultValue: {\n    endpoints: _endpoints,\n    requestFn: apiRequest,\n    queryClient: defaultQueryClient,\n  },\n  persist: false,\n})\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n    var _, done = false;\r\n    for (var i = decorators.length - 1; i >= 0; i--) {\r\n        var context = {};\r\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n        if (kind === \"accessor\") {\r\n            if (result === void 0) continue;\r\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n            if (_ = accept(result.get)) descriptor.get = _;\r\n            if (_ = accept(result.set)) descriptor.set = _;\r\n            if (_ = accept(result.init)) initializers.unshift(_);\r\n        }\r\n        else if (_ = accept(result)) {\r\n            if (kind === \"field\") initializers.unshift(_);\r\n            else descriptor[key] = _;\r\n        }\r\n    }\r\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n    done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n    var useValue = arguments.length > 2;\r\n    for (var i = 0; i < initializers.length; i++) {\r\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n    }\r\n    return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n    return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n    return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    var desc = Object.getOwnPropertyDescriptor(m, k);\r\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n        desc = { enumerable: true, get: function() { return m[k]; } };\r\n    }\r\n    Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n    function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n    ownKeys = Object.getOwnPropertyNames || function (o) {\r\n        var ar = [];\r\n        for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n        return ar;\r\n    };\r\n    return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n    if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n    if (value !== null && value !== void 0) {\r\n        if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n        var dispose, inner;\r\n        if (async) {\r\n            if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n            dispose = value[Symbol.asyncDispose];\r\n        }\r\n        if (dispose === void 0) {\r\n            if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n            dispose = value[Symbol.dispose];\r\n            if (async) inner = dispose;\r\n        }\r\n        if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n        if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n        env.stack.push({ value: value, dispose: dispose, async: async });\r\n    }\r\n    else if (async) {\r\n        env.stack.push({ async: true });\r\n    }\r\n    return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n    var e = new Error(message);\r\n    return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n    function fail(e) {\r\n        env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n        env.hasError = true;\r\n    }\r\n    var r, s = 0;\r\n    function next() {\r\n        while (r = env.stack.pop()) {\r\n            try {\r\n                if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n                if (r.dispose) {\r\n                    var result = r.dispose.call(r.value);\r\n                    if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n                }\r\n                else s |= 1;\r\n            }\r\n            catch (e) {\r\n                fail(e);\r\n            }\r\n        }\r\n        if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n        if (env.hasError) throw env.error;\r\n    }\r\n    return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n    if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n        return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n            return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n        });\r\n    }\r\n    return path;\r\n}\r\n\r\nexport default {\r\n    __extends: __extends,\r\n    __assign: __assign,\r\n    __rest: __rest,\r\n    __decorate: __decorate,\r\n    __param: __param,\r\n    __esDecorate: __esDecorate,\r\n    __runInitializers: __runInitializers,\r\n    __propKey: __propKey,\r\n    __setFunctionName: __setFunctionName,\r\n    __metadata: __metadata,\r\n    __awaiter: __awaiter,\r\n    __generator: __generator,\r\n    __createBinding: __createBinding,\r\n    __exportStar: __exportStar,\r\n    __values: __values,\r\n    __read: __read,\r\n    __spread: __spread,\r\n    __spreadArrays: __spreadArrays,\r\n    __spreadArray: __spreadArray,\r\n    __await: __await,\r\n    __asyncGenerator: __asyncGenerator,\r\n    __asyncDelegator: __asyncDelegator,\r\n    __asyncValues: __asyncValues,\r\n    __makeTemplateObject: __makeTemplateObject,\r\n    __importStar: __importStar,\r\n    __importDefault: __importDefault,\r\n    __classPrivateFieldGet: __classPrivateFieldGet,\r\n    __classPrivateFieldSet: __classPrivateFieldSet,\r\n    __classPrivateFieldIn: __classPrivateFieldIn,\r\n    __addDisposableResource: __addDisposableResource,\r\n    __disposeResources: __disposeResources,\r\n    __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { useQuery } from '@tanstack/react-query'\nimport { useSetAtom } from 'jotai'\nimport { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { getCompositeKey, queriesAtom } from '../atoms/queryResultAtoms'\nimport { useApiConfigValue } from '../config'\nimport type { CustomQueryOptions, QueryResult } from '../types'\n\nexport const useQueryApi = <TResponse>(\n  options: CustomQueryOptions<TResponse>,\n  id: string = 'default',\n): QueryResult<TResponse> => {\n  const {\n    endpoint,\n    queryKey,\n    enabled = true,\n    headers,\n    disableAuthControl,\n    onDataChanged,\n    customQueryFn,\n    disableLoading,\n    ...restOptions\n  } = options\n\n  const { requestFn, validateAuthFn, defaultHeaders,endpoints } =\n    useApiConfigValue()\n\n  const fullEndpoint = useMemo(() => {\n    const [key, path] = endpoint\n    const baseUrl = endpoints[key]\n    return [baseUrl, path].filter(Boolean).join('/')\n  }, [endpoint, endpoints])\n\n  const isLogged = useMemo(\n    () => (validateAuthFn ? validateAuthFn() : true),\n    [validateAuthFn],\n  )\n  const queryFn = useCallback(async () => {\n    if (customQueryFn) {\n      const res = await customQueryFn()\n      return res\n    }\n\n    const mergedHeaders = {\n      ...defaultHeaders,\n      ...headers,\n    }\n\n    const res = await requestFn<unknown, TResponse>({\n      url: fullEndpoint,\n      method: 'GET',\n      headers: mergedHeaders,\n    })\n    return res\n  }, [customQueryFn, defaultHeaders, fullEndpoint, headers, requestFn])\n\n  const enabledFinal = useMemo(() => {\n    if (disableAuthControl) {\n      return enabled\n    }\n    return enabled && isLogged\n  }, [disableAuthControl, enabled, isLogged])\n  const result = useQuery<TResponse, Error>({\n    queryKey,\n    queryFn,\n    enabled: enabledFinal,\n    retry: 1,\n    retryDelay: 1000,\n    ...restOptions,\n  })\n  const ref = useRef({ onDataChanged, refetch: result.refetch })\n\n  useEffect(() => {\n    ref.current = { onDataChanged, refetch: result.refetch }\n  }, [onDataChanged, result.refetch])\n\n  useEffect(() => {\n    ref.current.onDataChanged?.(result.data)\n  }, [result.data])\n\n  // Sync to Jotai atom for persistence\n  const setQueriesAtom = useSetAtom(queriesAtom)\n  const queryKeyStr = queryKey.join('-')\n  const compositeKey = getCompositeKey(id, queryKeyStr)\n\n  useEffect(() => {\n    setQueriesAtom((prev) => ({\n      ...prev,\n      [compositeKey]: {\n        data: result.data,\n        isLoading: result.isLoading,\n        isLoadingMapped: !disableLoading && result.isLoading,\n        isFetching: result.isFetching,\n        isPending: result.isPending,\n        isSuccess: result.isSuccess,\n        isError: result.isError,\n        isStale: result.isStale,\n        error: result.error,\n        dataUpdatedAt: result.dataUpdatedAt,\n        errorUpdatedAt: result.errorUpdatedAt,\n        fetchStatus: result.fetchStatus,\n        refetch: result.refetch,\n      },\n    }))\n  }, [\n    result.data,\n    result.isLoading,\n    result.isFetching,\n    result.isPending,\n    result.isSuccess,\n    result.isError,\n    result.isStale,\n    result.error,\n    result.dataUpdatedAt,\n    result.errorUpdatedAt,\n    result.fetchStatus,\n    setQueriesAtom,\n    compositeKey,\n    disableLoading,\n    result.refetch,\n  ])\n\n  return {\n    data: result.data,\n    isLoadingMapped: !disableLoading && result.isLoading,\n    isLoading: result.isLoading,\n    isFetching: result.isFetching,\n    isPending: result.isPending,\n    error: result.error,\n    refetch: () => ref.current.refetch(),\n  }\n}\n","import { useMutation } from '@tanstack/react-query'\nimport { useSetAtom } from 'jotai'\nimport { useCallback, useEffect, useMemo, useRef } from 'react'\nimport {\n  getCompositeKey,\n  mutationsAtom\n} from '../atoms/queryResultAtoms'\nimport { useApiConfigValue } from '../config'\nimport type {\n  MutationStoreEntry} from '../atoms/queryResultAtoms';\nimport type { MutationFunctionContext } from '@tanstack/react-query'\nimport type { CustomMutationOptions } from '../types'\n\nexport const useMutateApi = <TProps, TResponse>(\n  options: CustomMutationOptions<TProps, TResponse>,\n  id: string = 'default',\n) => {\n  const {\n    endpoint,\n    method,\n    headers,\n    queryKeyToInvalidate,\n    customRequest,\n    converter,\n    isTest,\n    notification,\n    ...restOptions\n  } = useMemo(() => options, [options])\n  const { requestFn, validateAuthFn, defaultHeaders, showNotification,endpoints } = useApiConfigValue()\n  const { queryClient } = useApiConfigValue()\n\n  const [key, path] = useMemo(() => endpoint, [endpoint])\n  const baseUrl = useMemo(() => endpoints[key] ?? '', [endpoints, key])\n  const fullEndpoint = useMemo(\n    () => [baseUrl, path].filter(Boolean).join('/'),\n    [baseUrl, path],\n  )\n  const executeMutation = useCallback(\n    async (data: TProps) => {\n      if (isTest) {\n        return 'test' as unknown as TResponse\n      }\n\n      // Auth validation\n      const isValidAuth = validateAuthFn ? validateAuthFn() : true\n\n      if ( !isValidAuth) {\n        throw new Error('Utente non autenticato')\n      }\n\n      const mergedHeaders = {\n        ...defaultHeaders,\n        ...headers,\n      }\n\n      if (customRequest) {\n        return customRequest(fullEndpoint, method, data)\n      }\n\n        return requestFn<TProps, TResponse>({\n          url: fullEndpoint,\n          method,\n          body: data,\n          headers: mergedHeaders,\n          converter,\n        })\n      \n    },\n    [converter, customRequest, defaultHeaders, fullEndpoint, headers, isTest, method, requestFn, validateAuthFn],\n  )\n  const onSuccess = useCallback(\n    (\n      data: TResponse,\n      variables: TProps,\n      onMutateResult: unknown,\n      context: MutationFunctionContext,\n    ) => {\n      // Notifications\n      const notificationProps =\n        typeof notification?.success === 'function'\n          ? notification.success(data)\n          : notification?.success\n\n      if (notificationProps?.message) {\n        showNotification?.({\n          message: notificationProps.message,\n          type: notificationProps.type ?? 'success',\n          ...notificationProps,\n        })\n      }\n      restOptions.onSuccess?.(data, variables, onMutateResult, context)\n\n      // Invalidate queries\n      if (queryKeyToInvalidate) {\n        queryKeyToInvalidate.forEach((qKey) => {\n          queryClient.invalidateQueries({ queryKey: [qKey], exact: false })\n        })\n      }\n    },\n    [\n      notification,\n      queryClient,\n      queryKeyToInvalidate,\n      restOptions,\n      showNotification,\n    ],\n  )\n  const onError = useCallback(\n    (\n      error: Error,\n      variables: TProps,\n      onMutateResult: unknown,\n      context: MutationFunctionContext,\n    ) => {\n      const notificationProps =\n        typeof notification?.error === 'function'\n          ? notification.error(error.message)\n          : notification?.error\n\n      if (notificationProps?.message || error.message) {\n        showNotification?.({\n          message:\n            notificationProps?.message ||\n            error.message ||\n            'An unexpected error occurred',\n          type: notificationProps?.type ?? 'error',\n          ...notificationProps,\n        })\n      }\n\n      restOptions.onError?.(error, variables, onMutateResult, context)\n    },\n    [notification, restOptions, showNotification],\n  )\n  const ref = useRef({ executeMutation, onSuccess, onError })\n\n  useEffect(() => {\n    ref.current = { executeMutation, onSuccess, onError }\n  }, [executeMutation, onSuccess, onError])\n\n  const result = useMutation<TResponse, Error, TProps>({\n    mutationFn: (data) => {\n      return ref.current.executeMutation(data)\n    },\n    ...restOptions,\n    onSuccess: (data, variables, onMutateResult, context) => {\n      ref.current.onSuccess(data, variables, onMutateResult, context)\n    },\n    onError: (error, variables, onMutateResult, context) => {\n      ref.current.onError(error, variables, onMutateResult, context)\n    },\n  })\n\n  // Sync to Jotai atom for persistence\n  const setMutationsAtom = useSetAtom(mutationsAtom)\n  const mutationKey = restOptions.mutationKey?.join('-') ?? fullEndpoint\n  const compositeKey = getCompositeKey(id, mutationKey)\n\n  useEffect(() => {\n    setMutationsAtom((prev) => ({\n      ...prev,\n      [compositeKey]: {\n        data: result.data,\n        status: result.status,\n        error: result.error,\n        variables: result.variables,\n        submittedAt: result.submittedAt,\n        isIdle: result.isIdle,\n        isPending: result.isPending,\n        isSuccess: result.isSuccess,\n        isError: result.isError,\n      } as MutationStoreEntry,\n    }))\n  }, [\n    result.data,\n    result.status,\n    result.error,\n    result.variables,\n    result.submittedAt,\n    result.isIdle,\n    result.isPending,\n    result.isSuccess,\n    result.isError,\n    setMutationsAtom,\n    compositeKey,\n  ])\n\n  return result\n}\n","import { useQueries } from '@tanstack/react-query'\nimport { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { useApiConfigValue } from '../config'\nimport type { MultipleQueryResponse, QueriesArray, QueryProps } from '../types'\nimport type { UseQueryResult } from '@tanstack/react-query'\n\nexport const useMultipleQuery = <Q extends QueriesArray>(\n  settings: Array<QueryProps<Q[number]['key'], Q[number]['response']>> = [],\n) => {\n  const { requestFn, validateAuthFn, defaultHeaders, queryClient, endpoints } =\n    useApiConfigValue()\n\n  const generateEndpoint = useCallback(\n    (endpoint: [string, string] | [string]) => {\n      const [key, path] = endpoint\n      const baseUrl = endpoints[key]\n      return [baseUrl, path].filter(Boolean).join('/')\n    },\n    [endpoints],\n  )\n  const isLogged = useMemo(\n    () => (validateAuthFn ? validateAuthFn() : true),\n    [validateAuthFn],\n  )\n\n  const generateQueryFn = useCallback(\n    async ({\n      endpoint,\n      customQueryFn,\n      headers,\n    }: QueryProps<Q[number]['key'], Q[number]['response']>) => {\n      const fullEndpoint = generateEndpoint(endpoint)\n\n      if (customQueryFn) {\n        const res = await customQueryFn()\n        return res\n      }\n\n      const mergedHeaders = {\n        ...defaultHeaders,\n        ...headers,\n      }\n\n      return await requestFn({\n        url: fullEndpoint,\n        method: 'GET',\n        headers: mergedHeaders,\n      })\n    },\n    [defaultHeaders, generateEndpoint, requestFn],\n  )\n\n  const ref = useRef({\n    settings,\n    data: {} as Record<Q[number]['key'], Q[number]['response']>,\n    results: {} as Record<\n      string,\n      MultipleQueryResponse<Q>[keyof MultipleQueryResponse<Q>]\n    >,\n  })\n\n  useEffect(() => {\n    ref.current.settings = settings\n  }, [settings])\n\n  const queries = useMemo(() => {\n    return settings.map((setting) => {\n      const { queryKey, enabled = true, disableAuthControl, ...rest } = setting\n\n      return {\n        queryKey,\n        queryFn: () => generateQueryFn(setting),\n        enabled: !!enabled && (disableAuthControl || !!isLogged),\n        ...rest,\n      }\n    })\n  }, [settings, isLogged, generateQueryFn])\n\n  const combine = useCallback(\n    (results: Array<UseQueryResult<Q[number]['response'], Error>>) => {\n      return results.reduce<MultipleQueryResponse<Q>>((prev, result, index) => {\n        const setting = ref.current.settings[index]\n\n        const keyToMap = setting.keyToMap\n        Object.assign(prev, {\n          [keyToMap]: {\n            data: result.data as Q[number]['response'],\n            isLoadingMapped: !setting.disableLoading && result.isLoading,\n            isLoading: result.isLoading,\n            isFetching: result.isFetching,\n            isPending: result.isPending,\n            error: result.error,\n            refetch: result.refetch,\n          },\n        })\n\n        return prev\n      }, {} as MultipleQueryResponse<Q>)\n    },\n    [],\n  )\n\n  const result = useQueries(\n    {\n      queries,\n      combine,\n    },\n    queryClient,\n  )\n\n  useEffect(() => {\n    ref.current.settings.forEach((setting) => {\n      const { keyToMap, onDataChanged, onStateChange } = setting\n      if (!onDataChanged && !onStateChange) return\n\n      const currentResult = result[keyToMap]\n      const prevResult = ref.current.results[keyToMap]\n\n      // Handle onStateChange\n      if (onStateChange) {\n        if (\n          // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n          !prevResult ||\n          prevResult.data !== currentResult.data ||\n          prevResult.isLoading !== currentResult.isLoading ||\n          prevResult.isLoadingMapped !== currentResult.isLoadingMapped ||\n          prevResult.isFetching !== currentResult.isFetching ||\n          prevResult.isPending !== currentResult.isPending ||\n          prevResult.error !== currentResult.error\n        ) {\n          ref.current.results[keyToMap] = currentResult\n          onStateChange(currentResult)\n        }\n      }\n\n      // Handle onDataChanged (Legacy support + specific data changes)\n      if (onDataChanged) {\n        const currentData = currentResult.data\n        const prevData = ref.current.data[keyToMap]\n\n        if (currentData !== undefined && currentData !== prevData) {\n          ref.current.data[keyToMap] = currentData\n          onDataChanged(currentData)\n        }\n      }\n    })\n  }, [result])\n\n  return result\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useCallback, useEffect, useMemo, useReducer, useRef } from \"react\";\nimport { useApiConfigValue } from \"../config\";\nimport { DEFAULT_MUTATION_ENTRY } from \".\";\nimport type {\n  AllMutation,\n  MutationActionInternal,\n  MutationConfig,\n  MutationItem,\n  MutationStateInternal,\n  QueriesArray,\n} from \"../types\";\n\nconst defaultState: MutationStateInternal = DEFAULT_MUTATION_ENTRY;\n\ntype MutationStates = Record<string, MutationStateInternal>;\n\nconst mutationReducer = (\n  state: MutationStates,\n  action: MutationActionInternal,\n): MutationStates => {\n  switch (action.type) {\n    case \"RESET\":\n      return {\n        ...state,\n        [action.key]: { ...defaultState },\n      };\n    case \"PENDING\":\n      return {\n        ...state,\n        [action.key]: {\n          status: \"pending\",\n          data: undefined,\n          error: null,\n          submittedAt: action.submittedAt,\n          variables: action.variables,\n        },\n      };\n    case \"SUCCESS\":\n      return {\n        ...state,\n        [action.key]: {\n          ...state[action.key],\n          status: \"success\",\n          data: action.data,\n          error: null,\n        },\n      };\n    case \"ERROR\":\n      return {\n        ...state,\n        [action.key]: {\n          ...state[action.key],\n          status: \"error\",\n          error: action.error,\n        },\n      };\n    default:\n      return state;\n  }\n};\n\nconst initMutationStates = <Q extends QueriesArray>(\n  configs: Array<MutationItem<Q>>,\n): MutationStates => {\n  const states: MutationStates = {};\n  configs.forEach((config) => {\n    states[config.key] = { ...defaultState };\n  });\n  return states;\n};\n\nexport const useMultipleMutation = <Q extends QueriesArray>(\n  configs: Array<MutationItem<Q>>,\n): AllMutation<Q> => {\n  const {\n    requestFn,\n    validateAuthFn,\n    defaultHeaders,\n    queryClient,\n    showNotification,\n    endpoints,\n  } = useApiConfigValue();\n\n  const [reducerStates, dispatchReducer] = useReducer(\n    mutationReducer,\n    configs,\n    initMutationStates,\n  );\n\n  // Accessor for current state\n  const getState = useCallback(\n    (key: string) => {\n      // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n      return reducerStates[key] || defaultState;\n    },\n    [reducerStates],\n  );\n\n  // Dispatcher that handles both modes\n  const dispatch = useCallback((action: MutationActionInternal) => {\n    dispatchReducer(action);\n  }, []);\n\n  const executeMutation = useCallback(\n    async <TProps, TResponse>(\n      key: string,\n      config: MutationConfig<TProps, TResponse>,\n      data: TProps,\n      mutationOptions?: {\n        onSuccess?: (\n          data: TResponse,\n          variables: TProps,\n          onMutateResult: unknown,\n          context: unknown,\n        ) => void;\n        onError?: (\n          error: Error,\n          variables: TProps,\n          onMutateResult: unknown,\n          context: unknown,\n        ) => void;\n        onSettled?: (\n          data: TResponse | undefined,\n          error: Error | null,\n          variables: TProps,\n          onMutateResult: unknown,\n          context: unknown,\n        ) => void;\n      },\n    ): Promise<TResponse> => {\n      const {\n        endpoint,\n        method,\n        headers,\n        queryKeyToInvalidate,\n        customRequest,\n        converter,\n        isTest,\n        notification,\n        mutateOptions,\n      } = config;\n\n      dispatch({\n        type: \"PENDING\",\n        key,\n        submittedAt: Date.now(),\n        variables: data,\n      });\n\n      let context: unknown;\n\n      try {\n        // Auth validation\n        const isValidAuth = validateAuthFn ? validateAuthFn() : true;\n\n        if (!isValidAuth) {\n          throw new Error(\"Utente non autenticato\");\n        }\n\n        // Build endpoint\n        const [endpointKey, path] = endpoint;\n        const baseUrl = endpoints[endpointKey] ?? \"\";\n        const fullEndpoint = [baseUrl, path].filter(Boolean).join(\"/\");\n\n        // Merge headers\n        const mergedHeaders = {\n          ...defaultHeaders,\n          ...headers,\n        };\n\n        // Execute request\n        let result: TResponse;\n\n        if (isTest) {\n          result = \"test\" as unknown as TResponse;\n        } else if (customRequest) {\n          result = await customRequest(fullEndpoint, method, data);\n        } else {\n          result = await requestFn({\n            url: fullEndpoint,\n            method,\n            body: data,\n            headers: mergedHeaders,\n            converter,\n          });\n        }\n\n        dispatch({ type: \"SUCCESS\", key, data: result });\n\n        // Invalidate queries\n        if (queryKeyToInvalidate) {\n          queryKeyToInvalidate.forEach((qKey) => {\n            queryClient.invalidateQueries({ queryKey: [qKey], exact: false });\n          });\n        }\n\n        // Success notification\n        const notificationProps =\n          typeof notification?.success === \"function\"\n            ? notification.success(result)\n            : notification?.success;\n\n        if (notificationProps?.message) {\n          showNotification?.({\n            message: notificationProps.message,\n            type: notificationProps.type ?? \"success\",\n            ...notificationProps,\n          });\n        }\n\n        // Callbacks\n        // @ts-expect-error - MutateOptions callback signature varies by TanStack Query version\n        mutateOptions?.onSuccess?.(result, data, context);\n        mutationOptions?.onSuccess?.(result, data, undefined, context);\n\n        return result;\n      } catch (error) {\n        const err = error instanceof Error ? error : new Error(\"Unknown error\");\n        dispatch({ type: \"ERROR\", key, error: err });\n\n        // Error notification\n        const notificationProps =\n          typeof notification?.error === \"function\"\n            ? notification.error(err.message)\n            : notification?.error;\n\n        if (notificationProps?.message || err.message) {\n          showNotification?.({\n            message:\n              notificationProps?.message ||\n              err.message ||\n              \"An unexpected error occurred\",\n            type: notificationProps?.type ?? \"error\",\n            ...notificationProps,\n          });\n        }\n\n        // Callbacks\n        // @ts-expect-error - MutateOptions callback signature varies by TanStack Query version\n        mutateOptions?.onError?.(err, data, context);\n        mutationOptions?.onError?.(err, data, undefined, context);\n\n        throw err;\n      }\n    },\n    [\n      queryClient,\n      validateAuthFn,\n      defaultHeaders,\n      endpoints,\n      requestFn,\n      showNotification,\n      dispatch, // dispatch is now stable/wrapped\n    ],\n  );\n\n  const ref = useRef({ dispatch, executeMutation });\n\n  useEffect(() => {\n    ref.current = { dispatch, executeMutation };\n  }, [dispatch, executeMutation]);\n\n  const allMutation = useMemo(() => {\n    const result = {} as AllMutation<Q>;\n\n    configs.forEach((item) => {\n      // In silent mode, this is just the INITIAL state (or whatever triggered last render).\n      // The real data comes from Proxy if used.\n      const state = getState(item.key);\n      const mutationConfig = item.mutationConfig;\n\n      const mutationKey = item.key as keyof AllMutation<Q>;\n\n      type CurrentMutation = Extract<\n        Q[number],\n        { key: typeof item.key; type: \"mutation\" }\n      >;\n      type MutationData = CurrentMutation[\"response\"];\n      type MutationVariables = CurrentMutation[\"props\"];\n\n      result[mutationKey] = {\n        // State\n        data: state.data as MutationData,\n        error: state.error as Error,\n        isIdle: state.status === \"idle\",\n        isPending: state.status === \"pending\",\n        isSuccess: state.status === \"success\",\n        isError: state.status === \"error\",\n        status: state.status,\n        variables: state.variables as MutationVariables,\n        submittedAt: state.submittedAt ?? 0,\n        endpoint: mutationConfig.endpoint,\n\n        // Methods\n        mutate: (\n          data: MutationVariables,\n          mutationOptions?: {\n            onSuccess?: (\n              data: MutationData,\n              variables: MutationVariables,\n              onMutateResult: unknown,\n              context: any,\n            ) => void;\n            onError?: (\n              error: Error,\n              variables: MutationVariables,\n              onMutateResult: unknown,\n              context: any,\n            ) => void;\n            onSettled?: (\n              data: MutationData | undefined,\n              error: Error | null,\n              variables: MutationVariables,\n              onMutateResult: unknown,\n              context: any,\n            ) => void;\n          },\n        ) => {\n          ref.current.executeMutation(\n            item.key,\n            mutationConfig,\n            data,\n            mutationOptions,\n          );\n        },\n        mutateAsync: (\n          data: MutationVariables,\n          mutationOptions?: {\n            onSuccess?: (\n              data: MutationData,\n              variables: MutationVariables,\n              onMutateResult: unknown,\n              context: any,\n            ) => void;\n            onError?: (\n              error: Error,\n              variables: MutationVariables,\n              onMutateResult: unknown,\n              context: any,\n            ) => void;\n            onSettled?: (\n              data: MutationData | undefined,\n              error: Error | null,\n              variables: MutationVariables,\n              onMutateResult: unknown,\n              context: any,\n            ) => void;\n          },\n        ) => {\n          return ref.current.executeMutation(\n            item.key,\n            mutationConfig,\n            data,\n            mutationOptions,\n          );\n        },\n        reset: () => ref.current.dispatch({ type: \"RESET\", key: item.key }),\n\n        // Compatibility fields\n        failureCount: 0,\n        failureReason: null,\n        context: undefined,\n        isPaused: false,\n      } as AllMutation<Q>[keyof AllMutation<Q>];\n      item.mutationConfig.onStateChange?.(result[mutationKey]);\n    });\n\n    return result;\n  }, [getState, configs]);\n\n  return allMutation;\n};\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { useApiConfigValue } from '../config'\nimport type { MultipleWebSocketResponse, WebSocketDefinition } from '../types'\n\nexport const useMultipleWebSocket = <K extends string>(\n  configs: Array<WebSocketDefinition<K>> = [],\n): MultipleWebSocketResponse<K> => {\n  const { websocketConfig } = useApiConfigValue()\n  const { queryClient } = useApiConfigValue()\n\n  const socketsRef = useRef<Map<string, WebSocket>>(new Map())\n  const [statuses, setStatuses] = useState<\n    Map<string, 'connecting' | 'open' | 'closed'>\n  >(new Map())\n  const [lastMessages, setLastMessages] = useState<Map<string, unknown>>(\n    new Map(),\n  )\n\n  // Stabilize configs reference\n  const stableConfigs = useMemo(() => configs, [configs])\n\n  useEffect(() => {\n    const sockets = socketsRef.current\n\n    stableConfigs.forEach((config) => {\n      const url = config.endpoint || websocketConfig?.url\n      const shouldConnect =\n        config.autoConnect !== false &&\n        (websocketConfig?.autoConnect || config.endpoint)\n\n      if (!url || !shouldConnect) return\n\n      // Skip if already connected\n      if (sockets.has(config.key)) return\n\n      setStatuses((prev) => new Map(prev).set(config.key, 'connecting'))\n\n      const ws = new WebSocket(url)\n      sockets.set(config.key, ws)\n\n      ws.onopen = () => {\n        setStatuses((prev) => new Map(prev).set(config.key, 'open'))\n        console.log(`WebSocket [${config.key}] connected`)\n      }\n\n      ws.onmessage = (event) => {\n        try {\n          const data = JSON.parse(event.data)\n          setLastMessages((prev) => new Map(prev).set(config.key, data))\n\n          // Global handler\n          websocketConfig?.onMessage?.(data)\n\n          // Local handler\n          config.onMessage?.(data)\n\n          // Auto invalidation\n          if (\n            config.invalidateQueriesOnMessage &&\n            Array.isArray(config.invalidateQueriesOnMessage)\n          ) {\n            config.invalidateQueriesOnMessage.forEach((key) => {\n              queryClient.invalidateQueries({ queryKey: [key], exact: false })\n            })\n          }\n        } catch (e) {\n          console.error(`WebSocket [${config.key}] message parse error`, e)\n        }\n      }\n\n      ws.onclose = () => {\n        setStatuses((prev) => new Map(prev).set(config.key, 'closed'))\n        console.log(`WebSocket [${config.key}] disconnected`)\n        sockets.delete(config.key)\n      }\n    })\n\n    return () => {\n      sockets.forEach((ws, key) => {\n        ws.close()\n        sockets.delete(key)\n      })\n    }\n  }, [stableConfigs, websocketConfig, queryClient])\n\n  const createSendMessage = useCallback(\n    (key: string) => (message: unknown) => {\n      const ws = socketsRef.current.get(key)\n      if (ws?.readyState === WebSocket.OPEN) {\n        ws.send(JSON.stringify(message))\n      } else {\n        console.warn(`WebSocket [${key}] is not open`)\n      }\n    },\n    [],\n  )\n\n  const result = useMemo(() => {\n    const mapped = {} as MultipleWebSocketResponse<K>\n\n    stableConfigs.forEach((config) => {\n      mapped[config.key] = {\n        lastMessage: lastMessages.get(config.key) ?? null,\n        sendMessage: createSendMessage(config.key),\n        status: statuses.get(config.key) ?? 'closed',\n      }\n    })\n\n    return mapped\n  }, [stableConfigs, lastMessages, statuses, createSendMessage])\n\n  return result\n}\n","import { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { useSetAtom } from 'jotai'\nimport {\n  getCompositeKey,\n  mutationsAtom,\n  queriesAtom,\n} from '../atoms/queryResultAtoms'\nimport { useMultipleMutation } from './useMultipleMutation'\nimport { useMultipleQuery } from './useMultipleQuery'\nimport { useMultipleWebSocket } from './useMultipleWebSocket'\nimport type {\n  MutationStoreEntry,\n  QueryStoreEntry,\n} from '../atoms/queryResultAtoms'\nimport type {\n  ContextValue,\n  ExtractWebSocket,\n  MultipleQueryResponse,\n  MutationItem,\n  QueriesArray,\n  QueryConfigArray,\n  QueryItem,\n  QueryProps,\n} from '../types'\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface UseApiOptions {\n  /**\n   * Unique identifier for this scope. Used as the key prefix for Jotai atoms.\n   * @default 'default'\n   */\n  scopeId?: string\n  /**\n   * Whether to persist query/mutation results to Jotai atoms.\n   * @default true\n   */\n  persistToAtoms?: boolean\n}\n\n// ============================================================================\n// Main Hook\n// ============================================================================\n\n/**\n * Main hook that integrates TanStack Query with Jotai for state persistence.\n */\nexport function useApi<Q extends QueriesArray>(\n  configs: QueryConfigArray<Q>,\n  options?: UseApiOptions,\n): ContextValue<Q>\n\n/**\n * @deprecated Use options object instead: useApi(configs, { scopeId: 'my-scope' })\n */\nexport function useApi<Q extends QueriesArray>(\n  configs: QueryConfigArray<Q>,\n  id?: string,\n): ContextValue<Q>\n\nexport function useApi<Q extends QueriesArray>(\n  configs: QueryConfigArray<Q>,\n  optionsOrId?: UseApiOptions | string,\n): ContextValue<Q> {\n  const options: UseApiOptions =\n    typeof optionsOrId === 'string'\n      ? { scopeId: optionsOrId }\n      : (optionsOrId ?? {})\n\n  const { scopeId = 'default', persistToAtoms = true } = options\n\n  // Global atom setters\n  const setQueriesAtom = useSetAtom(queriesAtom)\n  const setMutationsAtom = useSetAtom(mutationsAtom)\n\n  // Update a single query in the global atom\n  const updateQueryAtom = useCallback(\n    (key: string, state: QueryStoreEntry) => {\n      const compositeKey = getCompositeKey(scopeId, key)\n      setQueriesAtom((prev) => ({\n        ...prev,\n        [compositeKey]: state,\n      }))\n    },\n    [setQueriesAtom, scopeId],\n  )\n\n  // Update a single mutation in the global atom\n  const updateMutationAtom = useCallback(\n    (key: string, state: MutationStoreEntry) => {\n      const compositeKey = getCompositeKey(scopeId, key)\n      setMutationsAtom((prev) => ({\n        ...prev,\n        [compositeKey]: state,\n      }))\n    },\n    [setMutationsAtom, scopeId],\n  )\n\n  // Enhanced query configs with atom persistence\n  const enhancedQueryConfigs = useMemo(() => {\n    const items = configs.filter((q): q is QueryItem<Q> => q.type === 'query')\n\n    return items\n      .map((item) => {\n        if (!item.queryConfig) return null\n\n        const key = item.key\n        const originalOnStateChange = item.queryConfig.onStateChange\n\n        return {\n          ...item.queryConfig,\n          keyToMap: key,\n          onStateChange: (state: MultipleQueryResponse<Q>[string]): void => {\n            if (persistToAtoms) {\n              updateQueryAtom(key, state)\n            }\n            originalOnStateChange?.(state)\n          },\n          options: item.queryConfig.options,\n        }\n      })\n      .filter(Boolean) as unknown as Array<\n      QueryProps<Q[number]['key'], Q[number]['response']>\n    >\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    JSON.stringify(configs),\n    persistToAtoms,\n    updateQueryAtom,\n  ])\n\n  // Enhanced mutation configs with atom persistence\n  const enhancedMutationItems = useMemo(() => {\n    const items = configs.filter(\n      (q): q is MutationItem<Q> => q.type === 'mutation' && !!q.mutationConfig,\n    )\n\n    return items.map((item) => {\n      const key = item.key\n      const originalOnStateChange = item.mutationConfig.onStateChange\n\n      return {\n        ...item,\n        mutationConfig: {\n          ...item.mutationConfig,\n          onStateChange: (state: MutationStoreEntry): void => {\n            if (persistToAtoms) {\n              updateMutationAtom(key, state)\n            }\n            originalOnStateChange?.(state)\n          },\n        },\n      }\n    })\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [JSON.stringify(configs), persistToAtoms, updateMutationAtom])\n\n  const webSocketItems = useMemo(\n    () =>\n      configs.filter((q): q is ExtractWebSocket<Q> => q.type === 'websocket'),\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [JSON.stringify(configs)],\n  )\n\n  // Execute hooks\n  const allQuery = useMultipleQuery<Q>(enhancedQueryConfigs)\n  const allMutation = useMultipleMutation<Q>(enhancedMutationItems)\n  const allWebSocket = useMultipleWebSocket<Q[number]['key']>(webSocketItems)\n\n  const queryKeys = enhancedQueryConfigs.map((el) => el.keyToMap)\n  const mutationKeys = enhancedMutationItems.map((el) => el.key)\n\n  const ref = useRef({ allQuery, allMutation, queryKeys, mutationKeys })\n  useEffect(() => {\n    ref.current = { allQuery, allMutation, queryKeys, mutationKeys }\n  }, [allQuery, allMutation, queryKeys, mutationKeys])\n\n  const refreshQueries = useCallback(() => {\n    ref.current.queryKeys.forEach((k) => {\n      ref.current.allQuery[k].refetch()\n    })\n  }, [])\n\n  return {\n    allQuery,\n    allMutation,\n    allWebSocket,\n    refreshQueries,\n  }\n}\n\nexport default useApi\n","import { useCallback, useEffect, useRef, useState } from 'react'\nimport { useApiConfigValue } from '../config'\nimport type { WebSocketResult } from '../types'\n\nexport const useWebSocket = (\n  endpoint?: string, // specific socket endpoint if different from default\n  options?: {\n    onMessage?: (data: unknown) => void\n    invalidateQueriesOnMessage?: Array<string>\n  },\n): WebSocketResult => {\n  const { websocketConfig } = useApiConfigValue()\n  const { queryClient } = useApiConfigValue()\n  const socketRef = useRef<WebSocket | null>(null)\n  const [status, setStatus] = useState<'connecting' | 'open' | 'closed'>(\n    'closed',\n  )\n  const [lastMessage, setLastMessage] = useState<unknown>(null)\n\n  const url = endpoint || websocketConfig?.url\n\n  useEffect(() => {\n    if (!url || (!websocketConfig?.autoConnect && !endpoint)) return\n\n    // eslint-disable-next-line react-hooks/set-state-in-effect\n    setStatus('connecting')\n    const ws = new WebSocket(url)\n    socketRef.current = ws\n\n    ws.onopen = () => {\n      setStatus('open')\n      console.log('WebSocket connected')\n    }\n\n    ws.onmessage = (event) => {\n      try {\n        const data = JSON.parse(event.data)\n        setLastMessage(data)\n\n        // Global handler\n        websocketConfig?.onMessage?.(data)\n\n        // Local handler\n        options?.onMessage?.(data)\n\n        // Auto invalidation\n        if (\n          options?.invalidateQueriesOnMessage &&\n          Array.isArray(options.invalidateQueriesOnMessage)\n        ) {\n          options.invalidateQueriesOnMessage.forEach((key) => {\n            // Simple invalidation if message matches or triggers generic invalidation\n            queryClient.invalidateQueries({ queryKey: [key], exact: false })\n          })\n        }\n      } catch (e) {\n        console.error('WebSocket message parse error', e)\n      }\n    }\n\n    ws.onclose = () => {\n      setStatus('closed')\n      console.log('WebSocket disconnected')\n    }\n\n    return () => {\n      ws.close()\n      socketRef.current = null\n    }\n  }, [url, websocketConfig, queryClient, options, endpoint])\n\n  const sendMessage = useCallback((message: unknown) => {\n    if (socketRef.current?.readyState === WebSocket.OPEN) {\n      socketRef.current.send(JSON.stringify(message))\n    } else {\n      console.warn('WebSocket is not open')\n    }\n  }, [])\n\n  return {\n    lastMessage,\n    sendMessage,\n    status,\n  }\n}\n","import { useCallback } from 'react'\nimport { useApiConfigValue } from '../config'\n\nexport const useInvalidateQueries = () => {\n  const { queryClient } = useApiConfigValue()\n  const invalidateQueries = useCallback(\n    async (queryKeys: Array<Array<string>>) => {\n      await Promise.all(\n        queryKeys.map(async (queryKey) => {\n            await queryClient.invalidateQueries<Array<string>>({ queryKey, exact: false })\n          \n        }),\n      )\n    },\n    [queryClient],\n  )\n\n  return { invalidateQueries }\n}\n","import { useMemo } from \"react\";\nimport { useAtomValue } from \"jotai\";\nimport {\n  DEFAULT_MUTATION_ENTRY,\n  DEFAULT_QUERY_ENTRY,\n  mutationsAtom,\n  queriesAtom,\n} from \"../atoms\";\nimport type { MutationStoreEntry, QueryStoreEntry } from \"../atoms\";\nimport type { QueriesArray } from \"../types\";\n\n// ============================================================================\n// Bulk Query/Mutation Hooks\n// ============================================================================\n\n/**\n * Hook to read all queries for a scope.\n */\nexport function useJotaiQueries<Q extends QueriesArray>(options: {\n  scopeId: string;\n}) {\n  const { scopeId } = options;\n  const allQueries = useAtomValue(queriesAtom) as Record<\n    string,\n    QueryStoreEntry<Q>\n  >;\n\n  return useMemo(() => {\n    const prefix = `${scopeId}:`;\n    const scopeQueries: Record<string, QueryStoreEntry<Q>> = {};\n\n    for (const [key, value] of Object.entries(allQueries)) {\n      if (key.startsWith(prefix)) {\n        scopeQueries[key.slice(prefix.length)] = value;\n      }\n    }\n\n    return scopeQueries;\n  }, [allQueries, scopeId]);\n}\n\n/**\n * Hook to read all mutations for a scope.\n */\nexport function useJotaiMutations<Q extends QueriesArray>(options: {\n  scopeId: string;\n}) {\n  const { scopeId } = options;\n  const allMutations =\n    useAtomValue<Record<string, MutationStoreEntry<Q>>>(mutationsAtom);\n\n  return useMemo(() => {\n    const prefix = `${scopeId}:`;\n    const scopeMutations: Record<string, MutationStoreEntry<Q>> = {};\n    for (const [key, value] of Object.entries(allMutations)) {\n      if (key.startsWith(prefix)) {\n        scopeMutations[key.slice(prefix.length)] = value;\n      }\n    }\n\n    return scopeMutations;\n  }, [allMutations, scopeId]);\n}\n\n// ============================================================================\n// Utility Exports\n// ============================================================================\n\nexport { DEFAULT_QUERY_ENTRY, DEFAULT_MUTATION_ENTRY };\n","import { useCallback, useEffect, useRef, useState } from \"react\";\nimport equal from \"fast-deep-equal\";\nimport {\n  DEFAULT_MUTATION_ENTRY,\n  DEFAULT_QUERY_ENTRY,\n  useJotaiMutations,\n  useJotaiQueries,\n} from \".\";\nimport type { GetApiValuesFunction, QueriesArray } from \"../types\";\n\nconst getValueAtPath = (\n  obj: unknown,\n  path: string,\n  defaultObj?: unknown,\n): unknown => {\n  if (!path) return undefined;\n  const normalized = path.replace(/\\[(\\d+)\\]/g, \".$1\");\n  const parts = normalized.split(\".\").filter(Boolean);\n  let current: unknown = obj;\n\n  for (let index = 0; index < parts.length; index++) {\n    const part = parts[index];\n    if (current == null) return undefined;\n    if (typeof current !== \"object\") return undefined;\n\n    const record = current as Record<string, unknown>;\n\n    // Only apply the default entry when the *root* key is missing (e.g. queryKey not found).\n    // For deeper missing paths, return undefined so callers can use the provided defaultValue.\n    if (!(part in record)) {\n      if (index === 0 && defaultObj !== undefined) {\n        current = defaultObj;\n        continue;\n      }\n      return undefined;\n    }\n\n    current = record[part];\n  }\n\n  return current;\n};\n\ninterface UseApiValuesProps {\n  scopeId: string;\n}\n\nexport const useApiValues = <Q extends QueriesArray>({\n  scopeId,\n}: UseApiValuesProps) => {\n  const allQuery = useJotaiQueries<Q>({ scopeId });\n  const allMutation = useJotaiMutations<Q>({ scopeId });\n  const subscriptions = useRef(new Map<string, unknown>());\n  const [trigger, setTrigger] = useState(0);\n\n  const dataRef = useRef({\n    query: allQuery,\n    mutation: allMutation,\n  });\n\n  // Sync dataRef with latest values\n  useEffect(() => {\n    let internalTrigger = false;\n    const currentQuery = dataRef.current.query;\n    subscriptions.current.forEach((_, key) => {\n      const [type, keyPath] = key.split(\":\");\n      if (type === \"query\") {\n        const newValue = getValueAtPath(allQuery, keyPath);\n        const oldValue = getValueAtPath(currentQuery, keyPath);\n        // console.log(key, !equal(newValue, oldValue), newValue, oldValue)\n        if (!equal(newValue, oldValue)) {\n          internalTrigger = true;\n        }\n      }\n      if (type === \"mutation\") {\n        const newValue = getValueAtPath(allMutation, keyPath);\n        const oldValue = getValueAtPath(dataRef.current.mutation, keyPath);\n        if (!equal(newValue, oldValue)) {\n          internalTrigger = true;\n        }\n      }\n    });\n    dataRef.current = {\n      query: allQuery,\n      mutation: allMutation,\n    };\n    // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n    if (internalTrigger) {\n      setTrigger((v) => v + 1);\n    }\n  }, [allQuery, allMutation]);\n\n  // get che legge dallo store e registra le dipendenze\n  const get = useCallback(\n    (\n      type: Parameters<GetApiValuesFunction<Q>>[0],\n      key: Parameters<GetApiValuesFunction<Q>>[1],\n      defaultValue?: Parameters<GetApiValuesFunction<Q>>[2],\n    ) => {\n      const keyMap = `${type}:${key}`;\n      const defaultQueries =\n        type === \"query\"\n          ? DEFAULT_QUERY_ENTRY\n          : // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n            type === \"mutation\"\n            ? DEFAULT_MUTATION_ENTRY\n            : undefined;\n\n      const value =\n        getValueAtPath(dataRef.current[type], String(key), defaultQueries) ??\n        defaultValue;\n      subscriptions.current.set(keyMap, value);\n      return subscriptions.current.get(keyMap);\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [trigger],\n  ) as GetApiValuesFunction<Q>;\n\n  return { get };\n};\n","// src/persist.ts\nimport { dehydrate, hydrate } from \"@tanstack/query-core\";\nvar cacheEventTypes = [\"added\", \"removed\", \"updated\"];\nfunction isCacheEventType(eventType) {\n  return cacheEventTypes.includes(eventType);\n}\nasync function persistQueryClientRestore({\n  queryClient,\n  persister,\n  maxAge = 1e3 * 60 * 60 * 24,\n  buster = \"\",\n  hydrateOptions\n}) {\n  try {\n    const persistedClient = await persister.restoreClient();\n    if (persistedClient) {\n      if (persistedClient.timestamp) {\n        const expired = Date.now() - persistedClient.timestamp > maxAge;\n        const busted = persistedClient.buster !== buster;\n        if (expired || busted) {\n          return persister.removeClient();\n        } else {\n          hydrate(queryClient, persistedClient.clientState, hydrateOptions);\n        }\n      } else {\n        return persister.removeClient();\n      }\n    }\n  } catch (err) {\n    if (process.env.NODE_ENV !== \"production\") {\n      console.error(err);\n      console.warn(\n        \"Encountered an error attempting to restore client cache from persisted location. As a precaution, the persisted cache will be discarded.\"\n      );\n    }\n    await persister.removeClient();\n    throw err;\n  }\n}\nasync function persistQueryClientSave({\n  queryClient,\n  persister,\n  buster = \"\",\n  dehydrateOptions\n}) {\n  const persistClient = {\n    buster,\n    timestamp: Date.now(),\n    clientState: dehydrate(queryClient, dehydrateOptions)\n  };\n  await persister.persistClient(persistClient);\n}\nfunction persistQueryClientSubscribe(props) {\n  const unsubscribeQueryCache = props.queryClient.getQueryCache().subscribe((event) => {\n    if (isCacheEventType(event.type)) {\n      persistQueryClientSave(props);\n    }\n  });\n  const unsubscribeMutationCache = props.queryClient.getMutationCache().subscribe((event) => {\n    if (isCacheEventType(event.type)) {\n      persistQueryClientSave(props);\n    }\n  });\n  return () => {\n    unsubscribeQueryCache();\n    unsubscribeMutationCache();\n  };\n}\nfunction persistQueryClient(props) {\n  let hasUnsubscribed = false;\n  let persistQueryClientUnsubscribe;\n  const unsubscribe = () => {\n    hasUnsubscribed = true;\n    persistQueryClientUnsubscribe?.();\n  };\n  const restorePromise = persistQueryClientRestore(props).then(() => {\n    if (!hasUnsubscribed) {\n      persistQueryClientUnsubscribe = persistQueryClientSubscribe(props);\n    }\n  });\n  return [unsubscribe, restorePromise];\n}\nexport {\n  persistQueryClient,\n  persistQueryClientRestore,\n  persistQueryClientSave,\n  persistQueryClientSubscribe\n};\n//# sourceMappingURL=persist.js.map","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar QueryClientContext = React.createContext(\n  void 0\n);\nvar useQueryClient = (queryClient) => {\n  const client = React.useContext(QueryClientContext);\n  if (queryClient) {\n    return queryClient;\n  }\n  if (!client) {\n    throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n  }\n  return client;\n};\nvar QueryClientProvider = ({\n  client,\n  children\n}) => {\n  React.useEffect(() => {\n    client.mount();\n    return () => {\n      client.unmount();\n    };\n  }, [client]);\n  return /* @__PURE__ */ jsx(QueryClientContext.Provider, { value: client, children });\n};\nexport {\n  QueryClientContext,\n  QueryClientProvider,\n  useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\";\n\n// src/IsRestoringProvider.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n  IsRestoringProvider,\n  useIsRestoring\n};\n//# sourceMappingURL=IsRestoringProvider.js.map","\"use client\";\n\n// src/PersistQueryClientProvider.tsx\nimport * as React from \"react\";\nimport {\n  persistQueryClientRestore,\n  persistQueryClientSubscribe\n} from \"@tanstack/query-persist-client-core\";\nimport { IsRestoringProvider, QueryClientProvider } from \"@tanstack/react-query\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PersistQueryClientProvider = ({\n  children,\n  persistOptions,\n  onSuccess,\n  onError,\n  ...props\n}) => {\n  const [isRestoring, setIsRestoring] = React.useState(true);\n  const refs = React.useRef({ persistOptions, onSuccess, onError });\n  const didRestore = React.useRef(false);\n  React.useEffect(() => {\n    refs.current = { persistOptions, onSuccess, onError };\n  });\n  React.useEffect(() => {\n    const options = {\n      ...refs.current.persistOptions,\n      queryClient: props.client\n    };\n    if (!didRestore.current) {\n      didRestore.current = true;\n      persistQueryClientRestore(options).then(() => refs.current.onSuccess?.()).catch(() => refs.current.onError?.()).finally(() => {\n        setIsRestoring(false);\n      });\n    }\n    return isRestoring ? void 0 : persistQueryClientSubscribe(options);\n  }, [props.client, isRestoring]);\n  return /* @__PURE__ */ jsx(QueryClientProvider, { ...props, children: /* @__PURE__ */ jsx(IsRestoringProvider, { value: isRestoring, children }) });\n};\nexport {\n  PersistQueryClientProvider\n};\n//# sourceMappingURL=PersistQueryClientProvider.js.map","import { QueryClientProvider } from \"@tanstack/react-query\";\nimport { PersistQueryClientProvider } from \"@tanstack/react-query-persist-client\";\nimport { useApiConfigValue } from \"../config\";\nimport type { PropsWithChildren } from \"react\";\n\nexport const QueriesProvider: React.FC<PropsWithChildren> = ({ children }) => {\n  const { queryClient, persistOptions } = useApiConfigValue();\n\n  if (persistOptions?.persister) {\n    return (\n      <PersistQueryClientProvider\n        client={queryClient}\n        persistOptions={persistOptions}\n      >\n        {children}\n      </PersistQueryClientProvider>\n    );\n  }\n\n  return (\n    <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>\n  );\n};\n","export const algorithm = {\n  name: 'AES-GCM',\n  length: 256,\n}\n\nconst encoder = new TextEncoder()\nconst decoder = new TextDecoder()\n\nexport const str2ab = (str: string): ArrayBuffer => {\n  return encoder.encode(str).buffer\n}\n\nexport const ab2str = (buf: ArrayBuffer): string => {\n  return decoder.decode(buf)\n}\n\nexport const importKey = async (secretKey: string): Promise<CryptoKey> => {\n  const keyData = encoder.encode(secretKey)\n  const keyHash = await window.crypto.subtle.digest('SHA-256', keyData)\n\n  return window.crypto.subtle.importKey('raw', keyHash, algorithm, false, [\n    'encrypt',\n    'decrypt',\n  ])\n}\n\nexport const encryptData = async (\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  data: any,\n  secretKey: string,\n): Promise<string> => {\n  try {\n    const key = await importKey(secretKey)\n    const iv = window.crypto.getRandomValues(new Uint8Array(12))\n    const encodedData = new TextEncoder().encode(JSON.stringify(data))\n\n    const encryptedContent = await window.crypto.subtle.encrypt(\n      {\n        name: algorithm.name,\n        iv: iv,\n      },\n      key,\n      encodedData,\n    )\n\n    // Combine IV and encrypted data, then encode to base64 for transport\n    const encryptedArray = new Uint8Array(\n      iv.byteLength + encryptedContent.byteLength,\n    )\n    encryptedArray.set(iv, 0)\n    encryptedArray.set(new Uint8Array(encryptedContent), iv.byteLength)\n\n    // Convert to base64 string\n    // Using a binary string conversion to ensure btoa works correctly\n    let binary = ''\n    const bytes = encryptedArray\n    const len = bytes.byteLength\n    for (let i = 0; i < len; i++) {\n      binary += String.fromCharCode(bytes[i])\n    }\n    return window.btoa(binary)\n  } catch (error) {\n    console.error('Encryption failed:', error)\n    throw new Error('Encryption failed')\n  }\n}\n\nexport const decryptData = async (\n  encryptedData: string,\n  secretKey: string,\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n): Promise<any> => {\n  try {\n    const key = await importKey(secretKey)\n\n    const binaryString = window.atob(encryptedData)\n    const len = binaryString.length\n    const bytes = new Uint8Array(len)\n    for (let i = 0; i < len; i++) {\n      bytes[i] = binaryString.charCodeAt(i)\n    }\n\n    // Extract IV (first 12 bytes) and content\n    const iv = bytes.slice(0, 12)\n    const content = bytes.slice(12)\n\n    const decryptedContent = await window.crypto.subtle.decrypt(\n      {\n        name: algorithm.name,\n        iv: iv,\n      },\n      key,\n      content,\n    )\n\n    const decodedData = new TextDecoder().decode(decryptedContent)\n    return JSON.parse(decodedData)\n  } catch (error) {\n    console.error('Decryption failed:', error)\n    throw new Error('Decryption failed')\n  }\n}\n"],"names":["DEFAULT_QUERY_ENTRY","Object","freeze","data","undefined","isLoading","isLoadingMapped","isFetching","isPending","isSuccess","isError","isStale","error","dataUpdatedAt","errorUpdatedAt","fetchStatus","refetch","Promise","resolve","DEFAULT_MUTATION_ENTRY","status","variables","submittedAt","isIdle","mutate","mutateAsync","reset","context","failureCount","failureReason","isPaused","queriesAtom","atomWithStorage","createJSONStorage","storage","getOnInit","mutationsAtom","atom","getCompositeKey","scopeId","key","createScopeQueriesAtom","get","allQueries","prefix","scopeQueries","value","entries","startsWith","slice","length","set","update","newQueries","assign","keys","createScopeMutationsAtom","allMutations","scopeMutations","newMutations","createQuerySelector","queryKey","compositeKey","selectAtom","queries","entry","a","b","createMutationSelector","mutationKey","mutations","Subscribable","constructor","listeners","Set","subscribe","bind","listener","add","onSubscribe","delete","onUnsubscribe","hasListeners","size","defaultTimeoutProvider","setTimeout","callback","delay","clearTimeout","timeoutId","setInterval","clearInterval","intervalId","TimeoutManager","setTimeoutProvider","provider","process","env","NODE_ENV","console","previous","timeoutManager","systemSetTimeoutZero","isServer","window","globalThis","noop","functionalUpdate","updater","input","isValidTimeout","Infinity","timeUntilStale","updatedAt","staleTime","Math","max","Date","now","resolveStaleTime","query","resolveEnabled","enabled","matchQuery","filters","type","exact","predicate","stale","queryHash","hashQueryKeyByOptions","options","partialMatchKey","isActive","state","matchMutation","mutation","hashKey","hashFn","queryKeyHashFn","JSON","stringify","_","val","isPlainObject","sort","reduce","result","every","hasOwn","prototype","hasOwnProperty","replaceEqualDeep","array","isPlainArray","aItems","aSize","bItems","bSize","copy","Array","equalItems","i","aItem","bItem","call","v","shallowEqualObjects","isArray","o","hasObjectPrototype","ctor","prot","getPrototypeOf","toString","sleep","timeout","replaceData","prevData","structuralSharing","addToEnd","items","item","newItems","addToStart","skipToken","Symbol","ensureQueryFn","fetchOptions","queryFn","initialPromise","reject","Error","shouldThrowError","throwOnError","params","FocusManager","onFocus","addEventListener","removeEventListener","setEventListener","setup","focused","setFocused","changed","isFocused","forEach","document","visibilityState","focusManager","pendingThenable","thenable","_resolve","_reject","catch","finalize","reason","tryResolveSync","promise","then","defaultTransformerFn","dehydrateMutation","scope","meta","dehydrateQuery","serializeData","shouldRedactErrors","dehydratedAt","defaultShouldDehydrateMutation","defaultShouldDehydrateQuery","defaultShouldRedactErrors","dehydrate","client","filterMutation","shouldDehydrateMutation","getDefaultOptions","getMutationCache","getAll","flatMap","filterQuery","shouldDehydrateQuery","getQueryCache","hydrate","dehydratedState","mutationCache","queryCache","deserializeData","defaultOptions","mutationOptions","build","syncData","rawData","existingQueryIsPending","existingQueryIsFetching","hasNewerSyncData","_ignored","serializedState","setState","fetch","defaultScheduler","createNotifyManager","queue","transactions","notifyFn","batchNotifyFn","scheduleFn","schedule","push","flush","originalQueue","batch","batchCalls","args","setNotifyFunction","fn","setBatchNotifyFunction","setScheduler","notifyManager","OnlineManager","onOnline","onlineListener","offlineListener","setOnline","online","isOnline","onlineManager","defaultRetryDelay","min","canFetch","networkMode","CancelledError","revert","silent","createRetryer","config","isRetryCancelled","continueFn","isResolved","cancel","cancelOptions","onCancel","cancelRetry","continueRetry","canContinue","canRun","canStart","pause","continueResolve","onPause","onContinue","run","promiseOrValue","retry","retryDelay","shouldRetry","onFail","continue","start","Removable","destroy","clearGcTimeout","scheduleGc","gcTime","optionalRemove","updateGcTime","newGcTime","Query","setOptions","observers","getDefaultState","defaultState","successState","remove","setData","newData","manual","setStateOptions","some","observer","isDisabled","getObserversCount","dataUpdateCount","errorUpdateCount","isStatic","getCurrentResult","isInvalidated","isStaleByTime","find","x","shouldFetchOnWindowFocus","cancelRefetch","shouldFetchOnReconnect","addObserver","includes","notify","removeObserver","filter","invalidate","abortController","AbortController","addSignalProperty","object","defineProperty","enumerable","signal","fetchFn","createQueryFnContext","queryFnContext2","queryFnContext","persister","createFetchContext","context2","behavior","onFetch","fetchMeta","abort","onSuccess","onSettled","onError","#dispatch","action","reducer","fetchFailureCount","fetchFailureReason","fetchState","newState","onQueryUpdate","initialData","hasData","initialDataUpdatedAt","QueryObserver","bindMethods","shouldFetchOnMount","updateResult","shouldFetchOn","refetchOnReconnect","refetchOnWindowFocus","prevOptions","prevQuery","defaultQueryOptions","_defaulted","mounted","shouldFetchOptionally","nextRefetchInterval","getOptimisticResult","createResult","shouldAssignObserverCurrentProperties","trackResult","onPropTracked","Proxy","target","trackProp","experimental_prefetchInRender","Reflect","getCurrentQuery","fetchOptimistic","defaultedOptions","#executeFetch","#updateStaleTimeout","time","#computeRefetchInterval","refetchInterval","#updateRefetchInterval","nextInterval","refetchIntervalInBackground","#updateTimers","#clearStaleTimeout","#clearRefetchInterval","prevResult","prevResultState","prevResultOptions","queryChange","queryInitialState","isPlaceholderData","_optimisticResults","fetchOnMount","fetchOptionally","skipSelect","placeholderData","select","selectError","isInitialLoading","isFetched","isFetchedAfterMount","isRefetching","isLoadingError","isRefetchError","isEnabled","nextResult","finalizeThenableIfPossible","recreateThenable","pending","prevThenable","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","has","#updateQuery","#notify","notifyOptions","shouldLoadOnMount","retryOnMount","refetchOnMount","field","suspense","optimisticResult","infiniteQueryBehavior","pages","direction","fetchMore","oldPages","oldPageParams","pageParams","currentPage","cancelled","aborted","fetchPage","param","pageParam","page","maxPages","addTo","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","initialPageParam","lastIndex","Mutation","mutationId","execute","mutationFnContext","mutationFn","restored","onMutate","runNext","onMutationUpdate","MutationCache","Map","defaultMutationOptions","scopeFor","scopedMutations","index","indexOf","splice","mutationsWithSameScope","firstPendingMutation","m","foundMutation","clear","from","defaultedFilters","findAll","event","resumePausedMutations","pausedMutations","all","map","id","MutationObserver","#updateResult","onMutateResult","difference","array1","array2","excludeSet","replaceAt","QueriesObserver","setQueries","queryHashes","warn","prevObservers","newObserverMatches","match","defaultedQueryOptions","newObservers","newResult","hasLengthChange","hasIndexChange","hasStructuralChange","hasResultChange","prev","getQueries","getObservers","combine","matches","r","#trackResult","observerResult","accessedProp","#combineResult","#findMatchingObservers","prevObserversMap","#onUpdate","previousResult","newTracked","QueryCache","getQueryDefaults","queryInMap","values","QueryClient","mount","unmount","isMutating","getQueryData","ensureQueryData","cachedData","fetchQuery","revalidateIfStale","prefetchQuery","getQueriesData","setQueryData","setQueriesData","getQueryState","removeQueries","resetQueries","refetchQueries","cancelQueries","defaultedCancelOptions","promises","invalidateQueries","refetchType","fetchInfiniteQuery","prefetchInfiniteQuery","ensureInfiniteQueryData","setDefaultOptions","setQueryDefaults","defaults","queryDefault","setMutationDefaults","getMutationDefaults","QueryClientContext","React","createContext","useQueryClient","queryClient","useContext","QueryClientProvider","children","useEffect","jsx","Provider","useIsRestoring","IsRestoringContext","createValue","isReset","clearReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","getHasError","ensureSuspenseTimers","MIN_SUSPENSE_TIME_MS","clamp","originalStaleTime","willFetch","isRestoring","shouldSuspend","useQueries","defaultedQueries","useMemo","opts","useState","getCombinedResult","shouldSubscribe","subscribed","useSyncExternalStore","useCallback","onStoreChange","shouldAtLeastOneSuspend","suspensePromises","queryObserver","firstSingleResultWhichShouldThrow","useBaseQuery","Observer","_experimental_beforeQuery","isNewCacheEntry","unsubscribe","_experimental_afterQuery","finally","useQuery","useMutation","mutateOptions","apiClient","axios","create","headers","interceptors","response","use","_a","message","_b","request","apiRequest","method","url","body","converter","isPrimitive","finalUrl","finalBody","pathParams","substring","replace","String","hasId","uid","fetchRequest","_endpoints","custom","api","defaultQueryClient","apiConfigAtom","useValue","useApiConfigValue","useApiConfigState","useReset","useApiConfigReset","atomStateGenerator","defaultValue","endpoints","requestFn","persist","__rest","s","e","t","p","getOwnPropertySymbols","propertyIsEnumerable","SuppressedError","suppressed","name","useQueryApi","endpoint","disableAuthControl","onDataChanged","customQueryFn","disableLoading","restOptions","validateAuthFn","defaultHeaders","fullEndpoint","path","baseUrl","Boolean","join","isLogged","res","mergedHeaders","enabledFinal","ref","useRef","current","setQueriesAtom","useSetAtom","queryKeyStr","useMutateApi","_c","queryKeyToInvalidate","customRequest","isTest","notification","showNotification","executeMutation","isValidAuth","notificationProps","success","qKey","setMutationsAtom","useMultipleQuery","t0","$","t1","settings","t2","generateEndpoint","t3","t4","t5","endpoint_0","generateQueryFn","t6","for","t7","results","t8","t9","t10","t11","setting","t12","rest","setting_0","keyToMap","result_0","t13","t14","setting_1","keyToMap_0","onStateChange","currentResult","currentData","mutationReducer","initMutationStates","configs","states","useMultipleMutation","reducerStates","dispatchReducer","useReducer","getState","dispatch","endpointKey","_d","err","_e","_f","_g","allMutation","mutationConfig","useMultipleWebSocket","websocketConfig","socketsRef","statuses","setStatuses","lastMessages","setLastMessages","stableConfigs","sockets","shouldConnect","autoConnect","ws","WebSocket","onopen","log","onmessage","parse","onMessage","invalidateQueriesOnMessage","onclose","close","createSendMessage","readyState","OPEN","send","mapped","lastMessage","sendMessage","useApi","optionsOrId","persistToAtoms","updateQueryAtom","updateMutationAtom","enhancedQueryConfigs","q","queryConfig","originalOnStateChange","enhancedMutationItems","webSocketItems","allQuery","allWebSocket","queryKeys","el","mutationKeys","refreshQueries","k","useWebSocket","socketRef","setStatus","setLastMessage","useInvalidateQueries","useJotaiQueries","useAtomValue","useJotaiMutations","getValueAtPath","obj","defaultObj","normalized","parts","split","part","record","useApiValues","subscriptions","trigger","setTrigger","dataRef","internalTrigger","currentQuery","keyPath","newValue","oldValue","equal","keyMap","defaultQueries","cacheEventTypes","isCacheEventType","eventType","persistQueryClientRestore","maxAge","buster","hydrateOptions","persistedClient","restoreClient","timestamp","expired","busted","removeClient","clientState","persistQueryClientSave","dehydrateOptions","persistClient","persistQueryClientSubscribe","props","unsubscribeQueryCache","unsubscribeMutationCache","IsRestoringProvider","PersistQueryClientProvider","persistOptions","setIsRestoring","refs","didRestore","QueriesProvider","_jsx","algorithm","encoder","TextEncoder","decoder","TextDecoder","str2ab","str","encode","buffer","ab2str","buf","decode","importKey","secretKey","keyData","keyHash","crypto","subtle","digest","encryptData","iv","getRandomValues","Uint8Array","encodedData","encryptedContent","encrypt","encryptedArray","byteLength","binary","bytes","len","fromCharCode","btoa","decryptData","encryptedData","binaryString","atob","charCodeAt","content","decryptedContent","decrypt","decodedData"],"mappings":"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","x_google_ignoreList":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,31,42,43,44,45]}