import { z } from 'zod';
export const SourceIdentitySchema = z.object({
    size: z.number().int().nonnegative(),
    sha256: z.string().regex(/^[0-9a-f]{64}$/u),
});
export const SourceInlineBlockSchema = z.object({
    relativePath: z.string(),
    startLine: z.number().int().positive(),
    endLine: z.number().int().positive(),
    focusStartLine: z.number().int().positive(),
    focusEndLine: z.number().int().positive(),
    source: z.string(),
});
export const SourceInlineRangeSchema = SourceInlineBlockSchema.omit({ source: true });
export const SourceInlineDiagnosticSchema = z.object({
    code: z.literal('inline-context-stale'),
    message: z.string(),
    relativePath: z.string(),
});
export const SourceInlineProjectionSchema = z.object({
    inlineContext: SourceInlineBlockSchema.optional(),
    inlineContextDiagnostic: SourceInlineDiagnosticSchema.optional(),
});
//# sourceMappingURL=source-inline-contract.js.map