"use strict";
/**
 * Centralized query key factory
 * @generated by @constructive-io/graphql-codegen
 * DO NOT EDIT - changes will be overwritten
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.queryKeys = exports.agentThreadKeys = exports.agentTaskKeys = exports.agentResourceKeys = exports.agentResourceChunkKeys = exports.agentPromptKeys = exports.agentPlanKeys = exports.agentPersonaKeys = exports.agentMessageKeys = exports.agentKeys = void 0;
// ============================================================================
// 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
// ============================================================================
exports.agentKeys = {
    /** All agent queries */ all: ['agent'],
    /** List query keys */ lists: () => [...exports.agentKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.agentKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.agentKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.agentKeys.details(), id],
};
exports.agentMessageKeys = {
    /** All agentMessage queries */ all: ['agentmessage'],
    /** List query keys */ lists: () => [...exports.agentMessageKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.agentMessageKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.agentMessageKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.agentMessageKeys.details(), id],
};
exports.agentPersonaKeys = {
    /** All agentPersona queries */ all: ['agentpersona'],
    /** List query keys */ lists: () => [...exports.agentPersonaKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.agentPersonaKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.agentPersonaKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.agentPersonaKeys.details(), id],
};
exports.agentPlanKeys = {
    /** All agentPlan queries */ all: ['agentplan'],
    /** List query keys */ lists: () => [...exports.agentPlanKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.agentPlanKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.agentPlanKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.agentPlanKeys.details(), id],
};
exports.agentPromptKeys = {
    /** All agentPrompt queries */ all: ['agentprompt'],
    /** List query keys */ lists: () => [...exports.agentPromptKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.agentPromptKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.agentPromptKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.agentPromptKeys.details(), id],
};
exports.agentResourceChunkKeys = {
    /** All agentResourceChunk queries */ all: ['agentresourcechunk'],
    /** List query keys */ lists: () => [...exports.agentResourceChunkKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.agentResourceChunkKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.agentResourceChunkKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.agentResourceChunkKeys.details(), id],
};
exports.agentResourceKeys = {
    /** All agentResource queries */ all: ['agentresource'],
    /** List query keys */ lists: () => [...exports.agentResourceKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.agentResourceKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.agentResourceKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.agentResourceKeys.details(), id],
};
exports.agentTaskKeys = {
    /** All agentTask queries */ all: ['agenttask'],
    /** List query keys */ lists: () => [...exports.agentTaskKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.agentTaskKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.agentTaskKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.agentTaskKeys.details(), id],
};
exports.agentThreadKeys = {
    /** All agentThread queries */ all: ['agentthread'],
    /** List query keys */ lists: () => [...exports.agentThreadKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.agentThreadKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.agentThreadKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.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) });
 * ```
 */
exports.queryKeys = {
    agent: exports.agentKeys,
    agentMessage: exports.agentMessageKeys,
    agentPersona: exports.agentPersonaKeys,
    agentPlan: exports.agentPlanKeys,
    agentPrompt: exports.agentPromptKeys,
    agentResourceChunk: exports.agentResourceChunkKeys,
    agentResource: exports.agentResourceKeys,
    agentTask: exports.agentTaskKeys,
    agentThread: exports.agentThreadKeys,
};
