/**
 * Centralized query key factory
 * @generated by @constructive-io/graphql-codegen
 * DO NOT EDIT - changes will be overwritten
 */
// ============================================================================
// This file provides a centralized, type-safe query key factory following
// the lukemorales query-key-factory pattern for React Query.
//
// Benefits:
// - Single source of truth for all query keys
// - Type-safe key access with autocomplete
// - Hierarchical invalidation (invalidate all 'user.*' queries)
// - Scoped keys for parent-child relationships
// ============================================================================
// ============================================================================
// Entity Query Keys
// ============================================================================
export const agentKeys = {
    /** All agent queries */ all: ['agent'],
    /** List query keys */ lists: () => [...agentKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...agentKeys.lists(), variables],
    /** Detail query keys */ details: () => [...agentKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...agentKeys.details(), id],
};
export const agentMessageKeys = {
    /** All agentMessage queries */ all: ['agentmessage'],
    /** List query keys */ lists: () => [...agentMessageKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...agentMessageKeys.lists(), variables],
    /** Detail query keys */ details: () => [...agentMessageKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...agentMessageKeys.details(), id],
};
export const agentPersonaKeys = {
    /** All agentPersona queries */ all: ['agentpersona'],
    /** List query keys */ lists: () => [...agentPersonaKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...agentPersonaKeys.lists(), variables],
    /** Detail query keys */ details: () => [...agentPersonaKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...agentPersonaKeys.details(), id],
};
export const agentPlanKeys = {
    /** All agentPlan queries */ all: ['agentplan'],
    /** List query keys */ lists: () => [...agentPlanKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...agentPlanKeys.lists(), variables],
    /** Detail query keys */ details: () => [...agentPlanKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...agentPlanKeys.details(), id],
};
export const agentPromptKeys = {
    /** All agentPrompt queries */ all: ['agentprompt'],
    /** List query keys */ lists: () => [...agentPromptKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...agentPromptKeys.lists(), variables],
    /** Detail query keys */ details: () => [...agentPromptKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...agentPromptKeys.details(), id],
};
export const agentResourceChunkKeys = {
    /** All agentResourceChunk queries */ all: ['agentresourcechunk'],
    /** List query keys */ lists: () => [...agentResourceChunkKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...agentResourceChunkKeys.lists(), variables],
    /** Detail query keys */ details: () => [...agentResourceChunkKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...agentResourceChunkKeys.details(), id],
};
export const agentResourceKeys = {
    /** All agentResource queries */ all: ['agentresource'],
    /** List query keys */ lists: () => [...agentResourceKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...agentResourceKeys.lists(), variables],
    /** Detail query keys */ details: () => [...agentResourceKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...agentResourceKeys.details(), id],
};
export const agentTaskKeys = {
    /** All agentTask queries */ all: ['agenttask'],
    /** List query keys */ lists: () => [...agentTaskKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...agentTaskKeys.lists(), variables],
    /** Detail query keys */ details: () => [...agentTaskKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...agentTaskKeys.details(), id],
};
export const agentThreadKeys = {
    /** All agentThread queries */ all: ['agentthread'],
    /** List query keys */ lists: () => [...agentThreadKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...agentThreadKeys.lists(), variables],
    /** Detail query keys */ details: () => [...agentThreadKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...agentThreadKeys.details(), id],
};
/**

// ============================================================================
// Unified Query Key Store
// ============================================================================

 * Unified query key store
 *
 * Use this for type-safe query key access across your application.
 *
 * @example
 * ```ts
 * // Invalidate all user queries
 * queryClient.invalidateQueries({ queryKey: queryKeys.user.all });
 *
 * // Invalidate user list queries
 * queryClient.invalidateQueries({ queryKey: queryKeys.user.lists() });
 *
 * // Invalidate specific user
 * queryClient.invalidateQueries({ queryKey: queryKeys.user.detail(userId) });
 * ```
 */
export const queryKeys = {
    agent: agentKeys,
    agentMessage: agentMessageKeys,
    agentPersona: agentPersonaKeys,
    agentPlan: agentPlanKeys,
    agentPrompt: agentPromptKeys,
    agentResourceChunk: agentResourceChunkKeys,
    agentResource: agentResourceKeys,
    agentTask: agentTaskKeys,
    agentThread: agentThreadKeys,
};
