import { A as array, F as object, I as string, M as lazy, N as literal, O as _enum, P as number, R as datetime, a as BaseDocumentStateSchema, i as BaseDocumentHeaderSchema, k as any } from "./dist-DZj99xX4.js";
//#region document-models/health-report/v1/gen/schema/zod.ts
const isDefinedNonNullAny = (v) => v !== void 0 && v !== null;
const definedNonNullAnySchema = any().refine((v) => isDefinedNonNullAny(v));
const HealthCategorySchema = _enum([
	"DESCRIPTION_QUALITY",
	"LINK_HEALTH",
	"MOC_COHERENCE",
	"ORPHAN_DETECTION",
	"PROCESSING_THROUGHPUT",
	"SCHEMA_COMPLIANCE",
	"STALE_NOTES",
	"THREE_SPACE_BOUNDARIES"
]);
const HealthStatusSchema = _enum([
	"FAIL",
	"PASS",
	"WARN"
]);
function AddCheckInputSchema() {
	return object({
		affectedItems: array(string()),
		category: HealthCategorySchema,
		id: string(),
		message: string(),
		status: HealthStatusSchema
	});
}
function GenerateReportInputSchema() {
	return object({
		generatedAt: datetime(),
		generatedBy: string().nullish(),
		graphMetrics: lazy(() => GraphMetricsInputSchema()),
		mode: string(),
		overallStatus: HealthStatusSchema,
		recommendations: array(string())
	});
}
function GraphMetricsSchema() {
	return object({
		__typename: literal("GraphMetrics").optional(),
		averageLinksPerNote: number(),
		connectionCount: number(),
		danglingLinkCount: number(),
		density: number(),
		mocCount: number(),
		mocCoverage: number(),
		noteCount: number(),
		orphanCount: number()
	});
}
function GraphMetricsInputSchema() {
	return object({
		averageLinksPerNote: number(),
		connectionCount: number(),
		danglingLinkCount: number(),
		density: number(),
		mocCount: number(),
		mocCoverage: number(),
		noteCount: number(),
		orphanCount: number()
	});
}
function HealthCheckSchema() {
	return object({
		__typename: literal("HealthCheck").optional(),
		affectedItems: array(string()),
		category: HealthCategorySchema,
		id: string(),
		message: string(),
		status: HealthStatusSchema
	});
}
function HealthReportStateSchema() {
	return object({
		__typename: literal("HealthReportState").optional(),
		checks: array(lazy(() => HealthCheckSchema())),
		generatedAt: datetime().nullish(),
		generatedBy: string().nullish(),
		graphMetrics: lazy(() => GraphMetricsSchema().nullish()),
		mode: string().nullish(),
		overallStatus: HealthStatusSchema.nullish(),
		recommendations: array(string())
	});
}
//#endregion
//#region document-models/health-report/v1/gen/document-type.ts
/**
* WARNING: DO NOT EDIT
* This file is auto-generated and updated by codegen
*/
const healthReportDocumentType = "bai/health-report";
//#endregion
//#region document-models/health-report/v1/gen/document-schema.ts
/**
* WARNING: DO NOT EDIT
* This file is auto-generated and updated by codegen
*/
/** Schema for validating the header object of a HealthReport document */
const HealthReportDocumentHeaderSchema = BaseDocumentHeaderSchema.extend({ documentType: literal(healthReportDocumentType) });
/** Schema for validating the state object of a HealthReport document */
const HealthReportPHStateSchema = BaseDocumentStateSchema.extend({ global: HealthReportStateSchema() });
const HealthReportDocumentSchema = object({
	header: HealthReportDocumentHeaderSchema,
	state: HealthReportPHStateSchema,
	initialState: HealthReportPHStateSchema
});
/** Simple helper function to check if a state object is a HealthReport document state object */
function isHealthReportState(state) {
	return HealthReportPHStateSchema.safeParse(state).success;
}
/** Simple helper function to assert that a document state object is a HealthReport document state object */
function assertIsHealthReportState(state) {
	HealthReportPHStateSchema.parse(state);
}
/** Simple helper function to check if a document is a HealthReport document */
function isHealthReportDocument(document) {
	return HealthReportDocumentSchema.safeParse(document).success;
}
/** Simple helper function to assert that a document is a HealthReport document */
function assertIsHealthReportDocument(document) {
	HealthReportDocumentSchema.parse(document);
}
//#endregion
export { definedNonNullAnySchema as _, assertIsHealthReportState as a, healthReportDocumentType as c, GraphMetricsInputSchema as d, GraphMetricsSchema as f, HealthStatusSchema as g, HealthReportStateSchema as h, assertIsHealthReportDocument as i, AddCheckInputSchema as l, HealthCheckSchema as m, HealthReportDocumentSchema as n, isHealthReportDocument as o, HealthCategorySchema as p, HealthReportPHStateSchema as r, isHealthReportState as s, HealthReportDocumentHeaderSchema as t, GenerateReportInputSchema as u, isDefinedNonNullAny as v };

//# sourceMappingURL=document-schema-DOs2T__c.js.map