import { z } from 'zod';
export * from './adminTypes';
export * from './aiEvalAssessment';
export * from './chartConfig/slack';
export * from './chartConfig/web';
export * from './constants';
export * from './filterExploreByTags';
export * from './followUpTools';
export * from './requestTypes';
export * from './schemas';
export * from './schemas/agentReadiness';
export * from './types';
export * from './utils';
export * from './validators';
export const baseAgentSchema = z.object({
    uuid: z.string(),
    projectUuid: z.string(),
    organizationUuid: z.string(),
    name: z.string(),
    description: z.string().nullable(),
    imageUrl: z.string().url().nullable(),
    tags: z.array(z.string()).nullable(),
    integrations: z.array(
    // z.union([
    // TODO: once we add more integrations, we should use union
    z.object({
        type: z.literal('slack'),
        channelId: z.string(),
    })),
    createdAt: z.coerce.date(),
    updatedAt: z.coerce.date(),
    instruction: z
        .string()
        .max(8192, // 8kb
    'Custom instruction is too long. Maximum allowed is 8,100 characters.')
        .nullable(),
    provider: z.string(),
    model: z.string(),
    groupAccess: z.array(z.string()),
    userAccess: z.array(z.string()),
    spaceAccess: z.array(z.string()),
    enableDataAccess: z.boolean(),
    enableSelfImprovement: z.boolean(),
    enableReasoning: z.boolean(),
    version: z.number(),
});
/**
 * Type guard to check if a CreateEvaluationPrompt is a string prompt
 */
export const isStringPrompt = (prompt) => 'prompt' in prompt;
/**
 * Type guard to check if a CreateEvaluationPrompt is a thread reference
 */
export const isThreadPrompt = (prompt) => 'promptUuid' in prompt && 'threadUuid' in prompt;
//# sourceMappingURL=index.js.map