@chittyos/shared
Version:
ChittyOS Shared Dependencies Framework - Consolidated dependencies for all ChittyOS components
196 lines (193 loc) • 7.04 kB
TypeScript
import { z } from 'zod';
declare const chittyConfigSchema: z.ZodObject<{
framework: z.ZodDefault<z.ZodEnum<["minimal", "standard", "professional", "enterprise"]>>;
version: z.ZodDefault<z.ZodString>;
apps: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
features: z.ZodDefault<z.ZodObject<{
database: z.ZodDefault<z.ZodBoolean>;
authentication: z.ZodDefault<z.ZodBoolean>;
docker: z.ZodDefault<z.ZodBoolean>;
analytics: z.ZodDefault<z.ZodBoolean>;
notifications: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
database: boolean;
authentication: boolean;
docker: boolean;
analytics: boolean;
notifications: boolean;
}, {
database?: boolean | undefined;
authentication?: boolean | undefined;
docker?: boolean | undefined;
analytics?: boolean | undefined;
notifications?: boolean | undefined;
}>>;
api: z.ZodDefault<z.ZodObject<{
baseUrl: z.ZodDefault<z.ZodString>;
timeout: z.ZodDefault<z.ZodNumber>;
retries: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
baseUrl: string;
timeout: number;
retries: number;
}, {
baseUrl?: string | undefined;
timeout?: number | undefined;
retries?: number | undefined;
}>>;
ui: z.ZodDefault<z.ZodObject<{
theme: z.ZodDefault<z.ZodEnum<["light", "dark", "system"]>>;
components: z.ZodDefault<z.ZodString>;
animations: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
theme: "light" | "dark" | "system";
components: string;
animations: boolean;
}, {
theme?: "light" | "dark" | "system" | undefined;
components?: string | undefined;
animations?: boolean | undefined;
}>>;
database: z.ZodDefault<z.ZodObject<{
provider: z.ZodDefault<z.ZodEnum<["neon", "postgresql", "sqlite"]>>;
url: z.ZodOptional<z.ZodString>;
ssl: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
provider: "neon" | "postgresql" | "sqlite";
ssl: boolean;
url?: string | undefined;
}, {
url?: string | undefined;
provider?: "neon" | "postgresql" | "sqlite" | undefined;
ssl?: boolean | undefined;
}>>;
auth: z.ZodDefault<z.ZodObject<{
provider: z.ZodDefault<z.ZodEnum<["custom", "clerk", "auth0", "supabase"]>>;
sessionTimeout: z.ZodDefault<z.ZodNumber>;
requireEmailVerification: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
provider: "custom" | "clerk" | "auth0" | "supabase";
sessionTimeout: number;
requireEmailVerification: boolean;
}, {
provider?: "custom" | "clerk" | "auth0" | "supabase" | undefined;
sessionTimeout?: number | undefined;
requireEmailVerification?: boolean | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
framework: "minimal" | "standard" | "professional" | "enterprise";
version: string;
apps: string[];
database: {
provider: "neon" | "postgresql" | "sqlite";
ssl: boolean;
url?: string | undefined;
};
features: {
database: boolean;
authentication: boolean;
docker: boolean;
analytics: boolean;
notifications: boolean;
};
api: {
baseUrl: string;
timeout: number;
retries: number;
};
ui: {
theme: "light" | "dark" | "system";
components: string;
animations: boolean;
};
auth: {
provider: "custom" | "clerk" | "auth0" | "supabase";
sessionTimeout: number;
requireEmailVerification: boolean;
};
}, {
framework?: "minimal" | "standard" | "professional" | "enterprise" | undefined;
version?: string | undefined;
apps?: string[] | undefined;
database?: {
url?: string | undefined;
provider?: "neon" | "postgresql" | "sqlite" | undefined;
ssl?: boolean | undefined;
} | undefined;
features?: {
database?: boolean | undefined;
authentication?: boolean | undefined;
docker?: boolean | undefined;
analytics?: boolean | undefined;
notifications?: boolean | undefined;
} | undefined;
api?: {
baseUrl?: string | undefined;
timeout?: number | undefined;
retries?: number | undefined;
} | undefined;
ui?: {
theme?: "light" | "dark" | "system" | undefined;
components?: string | undefined;
animations?: boolean | undefined;
} | undefined;
auth?: {
provider?: "custom" | "clerk" | "auth0" | "supabase" | undefined;
sessionTimeout?: number | undefined;
requireEmailVerification?: boolean | undefined;
} | undefined;
}>;
type ChittyConfig = z.infer<typeof chittyConfigSchema>;
declare const chittyConfig: ChittyConfig;
declare const frameworkLevels: {
readonly minimal: {
readonly name: "Minimal";
readonly description: "Core dependencies only";
readonly apps: readonly [];
readonly features: {
readonly database: false;
readonly authentication: false;
readonly docker: false;
readonly analytics: false;
readonly notifications: false;
};
};
readonly standard: {
readonly name: "Standard";
readonly description: "Recommended setup with essential apps";
readonly apps: readonly ["chittyresolution", "chittychronicle"];
readonly features: {
readonly database: true;
readonly authentication: true;
readonly docker: false;
readonly analytics: false;
readonly notifications: true;
};
};
readonly professional: {
readonly name: "Professional";
readonly description: "Full legal suite";
readonly apps: readonly ["chittyresolution", "chittychronicle", "chittyevidence", "chittyflow", "chittyintel"];
readonly features: {
readonly database: true;
readonly authentication: true;
readonly docker: true;
readonly analytics: true;
readonly notifications: true;
};
};
readonly enterprise: {
readonly name: "Enterprise";
readonly description: "Complete ecosystem with all components";
readonly apps: readonly ["chittyresolution", "chittychronicle", "chittyevidence", "chittyflow", "chittyintel", "chittytrace", "chittycloude-mcp", "contradiction-engine"];
readonly features: {
readonly database: true;
readonly authentication: true;
readonly docker: true;
readonly analytics: true;
readonly notifications: true;
};
};
};
type FrameworkLevel = keyof typeof frameworkLevels;
export { type ChittyConfig as C, type FrameworkLevel as F, chittyConfigSchema as a, chittyConfig as c, frameworkLevels as f };