import { z } from 'zod';
export const sessionIdSchema = z
    .string()
    .min(1, 'session id must not be empty')
    .brand();
export function parseSessionId(value) {
    return sessionIdSchema.parse(value);
}
export const claudeSessionStatusSchema = z.enum([
    'dispatched',
    'completed',
    'failed',
    'timed-out',
    'cleaned',
]);
export const claudeSessionJobTypeSchema = z.enum(['review', 'followup', 'ember-chat']);
export const claudeSessionSchema = z.object({
    sessionId: sessionIdSchema,
    jobId: z.string().min(1),
    jobType: claudeSessionJobTypeSchema,
    localPath: z.string().min(1),
    mergeRequestId: z.string().min(1),
    dispatchedAt: z.date(),
    status: claudeSessionStatusSchema,
    failureReason: z.string().nullable(),
});
//# sourceMappingURL=claudeSession.schema.js.map