"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isSchedulerTaskName = exports.ALL_TASK_NAMES = exports.SCHEDULER_TASKS = exports.EE_SCHEDULER_TASKS = void 0;
const tslib_1 = require("tslib");
const includes_1 = tslib_1.__importDefault(require("lodash/includes"));
exports.EE_SCHEDULER_TASKS = {
    SLACK_AI_PROMPT: 'slackAiPrompt',
    AI_AGENT_EVAL_RESULT: 'aiAgentEvalResult',
    AI_AGENT_REVIEW_CLASSIFIER: 'aiAgentReviewClassifier',
    AI_AGENT_REVIEW_WRITEBACK: 'aiAgentReviewWriteback',
    AI_AGENT_REVIEW_REMEDIATION_PREVIEW: 'aiAgentReviewRemediationPreview',
    AI_AGENT_REVIEW_REMEDIATION_COMPILE: 'aiAgentReviewRemediationCompile',
    AI_AGENT_REVIEW_REMEDIATION_RUN: 'aiAgentReviewRemediationRun',
    SEND_REVIEW_NOTIFICATION: 'sendReviewNotification',
    EMBED_ARTIFACT_VERSION: 'embedArtifactVersion',
    GENERATE_ARTIFACT_QUESTION: 'generateArtifactQuestion',
    APP_GENERATE_PIPELINE: 'appGeneratePipeline',
    APP_BUILD_FROM_SOURCE: 'appBuildFromSource',
    AI_WRITEBACK_PIPELINE: 'aiWritebackPipeline',
    AI_AGENT_EDIT_DBT_PROJECT_PIPELINE: 'aiAgentEditDbtProjectPipeline',
    SWEEP_STALE_APP_LOCKS: 'sweepStaleAppLocks',
    SWEEP_STALE_AI_WRITEBACK_RUNS: 'sweepStaleAiWritebackRuns',
    CLEAN_MCP_TOOL_CALLS: 'cleanMcpToolCalls',
};
exports.SCHEDULER_TASKS = {
    HANDLE_SCHEDULED_DELIVERY: 'handleScheduledDelivery',
    // Legacy individual notification tasks (deprecated, kept for backwards compatibility)
    SEND_SLACK_NOTIFICATION: 'sendSlackNotification',
    SEND_EMAIL_NOTIFICATION: 'sendEmailNotification',
    SEND_MSTEAMS_NOTIFICATION: 'sendMsTeamsNotification',
    SEND_GOOGLE_CHAT_NOTIFICATION: 'sendGoogleChatNotification',
    // Batch notification tasks - one job per delivery type
    SEND_SLACK_BATCH_NOTIFICATION: 'sendSlackBatchNotification',
    SEND_EMAIL_BATCH_NOTIFICATION: 'sendEmailBatchNotification',
    SEND_MSTEAMS_BATCH_NOTIFICATION: 'sendMsTeamsBatchNotification',
    SEND_GOOGLE_CHAT_BATCH_NOTIFICATION: 'sendGoogleChatBatchNotification',
    UPLOAD_GSHEETS: 'uploadGsheets',
    UPLOAD_GSHEET_FROM_QUERY: 'uploadGsheetFromQuery',
    VALIDATE_PROJECT: 'validateProject',
    COMPILE_PROJECT: 'compileProject',
    CREATE_PROJECT_WITH_COMPILE: 'createProjectWithCompile',
    TEST_AND_COMPILE_PROJECT: 'testAndCompileProject',
    SQL_RUNNER: 'sqlRunner',
    SQL_RUNNER_PIVOT_QUERY: 'sqlRunnerPivotQuery',
    REPLACE_CUSTOM_FIELDS: 'replaceCustomFields',
    INDEX_CATALOG: 'indexCatalog',
    GENERATE_DAILY_JOBS: 'generateDailyJobs',
    EXPORT_CSV_DASHBOARD: 'exportCsvDashboard',
    EXPORT_CONTENT: 'exportContent',
    RENAME_RESOURCES: 'renameResources',
    MATERIALIZE_PRE_AGGREGATE: 'materializePreAggregate',
    CLEAN_QUERY_HISTORY: 'cleanQueryHistory',
    DOWNLOAD_ASYNC_QUERY_RESULTS: 'downloadAsyncQueryResults',
    SYNC_SLACK_CHANNELS: 'syncSlackChannels',
    GENERATE_SLACK_CHANNEL_SYNC_JOBS: 'generateSlackChannelSyncJobs',
    CHECK_FOR_STUCK_JOBS: 'checkForStuckJobs',
    CLEAN_DEPLOY_SESSIONS: 'cleanDeploySessions',
    MANAGED_AGENT_HEARTBEAT: 'managedAgentHeartbeat',
    CLEAN_EXPIRED_PREVIEWS: 'cleanExpiredPreviews',
    INGEST_PROJECT_CONTEXT: 'ingestProjectContext',
    COMPACT_USAGE_EVENTS: 'compactUsageEvents',
    POLL_EMAIL_WHITELABEL: 'pollEmailWhitelabelVerification',
    ...exports.EE_SCHEDULER_TASKS,
};
exports.ALL_TASK_NAMES = Object.values(exports.SCHEDULER_TASKS);
const isSchedulerTaskName = (task) => (0, includes_1.default)(exports.ALL_TASK_NAMES, task); // Had to use includes to avoid type error from Object.values().includes(string) related to union types https://github.com/microsoft/TypeScript/issues/46186
exports.isSchedulerTaskName = isSchedulerTaskName;
//# sourceMappingURL=schedulerTaskList.js.map