openhands / src /hooks /query /query-keys.ts
SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
9b906ea verified
Raw
History Blame Contribute Delete
2.99 kB
/**
* Centralized query keys and cache configuration for TanStack Query.
* Using constants ensures type safety and prevents typos.
*/
import { SettingsScope } from "#/types/settings";
export const QUERY_KEYS = {
/** Web client configuration from the server */
WEB_CLIENT_CONFIG: ["web-client-config"] as const,
/** Same-origin OpenHands app cookie authentication status */
MAIN_APP_COOKIE_AUTH: ["main-app-cookie-auth"] as const,
} as const;
export const SETTINGS_QUERY_KEYS = {
all: ["settings"] as const,
byScope: (scope: SettingsScope) => ["settings", scope] as const,
personal: () => ["settings", "personal"] as const,
} as const;
export const LLM_PROFILES_QUERY_KEYS = {
all: ["llm-profiles"] as const,
} as const;
export const AGENT_PROFILES_QUERY_KEYS = {
all: ["agent-profiles"] as const,
} as const;
export const PROVIDER_CONNECTIONS_QUERY_KEYS = {
all: ["provider-connections"] as const,
} as const;
/** Fail fast when older backends lack the profile endpoint. */
export const AGENT_PROFILES_RETRY_OPTIONS = {
retry: false,
} as const;
export const LLM_SUBSCRIPTION_QUERY_KEYS = {
all: ["llm-subscription"] as const,
openaiStatus: ["llm-subscription", "openai", "status"] as const,
openaiModels: ["llm-subscription", "openai", "models"] as const,
} as const;
export const LOCAL_WORKSPACES_QUERY_KEYS = {
all: ["local-workspaces"] as const,
} as const;
export const PLUGINS_QUERY_KEYS = {
/** Dynamic marketplace catalog (used by `use-plugins-marketplace`). */
marketplace: ["plugins-marketplace"] as const,
/** Installed plugins from the local agent-server. */
installed: ["plugins-installed"] as const,
/** Locally-discovered ambient plugins (used by `use-local-plugins`). */
local: ["plugins-local"] as const,
} as const;
export const CANVAS_EXTENSIONS_QUERY_KEYS = {
all: ["canvas-extensions"] as const,
installed: (
backendId: string,
orgId: string | null,
connectionRevision: number,
) =>
[
"canvas-extensions",
"installed",
backendId,
orgId,
connectionRevision,
] as const,
} as const;
export const SETUP_QUERY_KEYS = {
/** What the deployment supports. The same answer for every setup entry. */
capabilities: () => ["setup-capabilities"] as const,
} as const;
export const APP_UPDATE_QUERY_KEYS = {
/** Latest published @openhands/agent-canvas version (npm `latest` dist-tag). */
latestVersion: ["agent-canvas-latest-version"] as const,
} as const;
export const CONVERSATION_QUERY_KEYS = {
subConversations: ["v1", "sub-conversations"] as const,
} as const;
export const LOCAL_PLANNER_MUTATION_KEYS = {
create: ["create-local-planning-conversation"] as const,
} as const;
/** Cache configuration shared across all config-related queries */
export const CONFIG_CACHE_OPTIONS = {
staleTime: 1000 * 60 * 5, // 5 minutes
gcTime: 1000 * 60 * 15, // 15 minutes
} as const;
export type QueryKeys = (typeof QUERY_KEYS)[keyof typeof QUERY_KEYS];