Member Junction
    Preparing search index...
    mjAppManifestSchema: ZodObject<
        {
            $schema: ZodOptional<ZodString>;
            categories: ZodOptional<ZodArray<ZodString, "many">>;
            code: ZodOptional<
                ZodObject<
                    {
                        sourceDirectory: ZodOptional<ZodString>;
                        visibility: ZodDefault<ZodOptional<ZodEnum<["public", "private"]>>>;
                    },
                    "strip",
                    ZodTypeAny,
                    { sourceDirectory?: string; visibility?: "public"
                    | "private" },
                    { sourceDirectory?: string; visibility?: "public" | "private" },
                >,
            >;
            color: ZodOptional<ZodString>;
            configuration: ZodOptional<
                ZodObject<
                    { schema: ZodOptional<ZodRecord<ZodString, ZodUnknown>> },
                    "strip",
                    ZodTypeAny,
                    { schema?: Record<string, unknown> },
                    { schema?: Record<string, unknown> },
                >,
            >;
            dependencies: ZodOptional<
                ZodUnion<
                    [
                        ZodEffects<
                            ZodArray<
                                ZodObject<
                                    {
                                        name: ZodString;
                                        repository: ZodString;
                                        subpath: ZodOptional<ZodString>;
                                        versionRange: ZodString;
                                    },
                                    "strip",
                                    ZodTypeAny,
                                    {
                                        name?: string;
                                        repository?: string;
                                        subpath?: string;
                                        versionRange?: string;
                                    },
                                    {
                                        name?: string;
                                        repository?: string;
                                        subpath?: string;
                                        versionRange?: string;
                                    },
                                >,
                                "many",
                            >,
                            {
                                [k: string]: {
                                    repository: string;
                                    subpath?: string;
                                    version: string;
                                };
                            },
                            {
                                name?: string;
                                repository?: string;
                                subpath?: string;
                                versionRange?: string;
                            }[],
                        >,
                        ZodRecord<
                            ZodString,
                            ZodUnion<
                                [
                                    ZodString,
                                    ZodObject<
                                        {
                                            repository: ZodString;
                                            subpath: ZodOptional<(...)>;
                                            version: ZodString;
                                        },
                                        "strip",
                                        ZodTypeAny,
                                        { repository?: string; subpath?: string; version?: string },
                                        { repository?: string; subpath?: string; version?: string },
                                    >,
                                ],
                            >,
                        >,
                    ],
                >,
            >;
            description: ZodString;
            displayName: ZodString;
            hooks: ZodOptional<
                ZodObject<
                    {
                        postInstall: ZodOptional<ZodString>;
                        postInstallModule: ZodOptional<ZodString>;
                        postUpgrade: ZodOptional<ZodString>;
                        postUpgradeModule: ZodOptional<ZodString>;
                        preRemove: ZodOptional<ZodString>;
                        preRemoveModule: ZodOptional<ZodString>;
                    },
                    "strip",
                    ZodTypeAny,
                    {
                        postInstall?: string;
                        postInstallModule?: string;
                        postUpgrade?: string;
                        postUpgradeModule?: string;
                        preRemove?: string;
                        preRemoveModule?: string;
                    },
                    {
                        postInstall?: string;
                        postInstallModule?: string;
                        postUpgrade?: string;
                        postUpgradeModule?: string;
                        preRemove?: string;
                        preRemoveModule?: string;
                    },
                >,
            >;
            icon: ZodOptional<ZodString>;
            license: ZodOptional<ZodString>;
            manifestVersion: ZodLiteral<1>;
            metadata: ZodOptional<
                ZodObject<
                    { directory: ZodDefault<ZodOptional<ZodString>> },
                    "strip",
                    ZodTypeAny,
                    { directory?: string },
                    { directory?: string },
                >,
            >;
            migrations: ZodOptional<
                ZodObject<
                    {
                        directory: ZodDefault<ZodOptional<ZodString>>;
                        engine: ZodDefault<ZodOptional<ZodEnum<["flyway", "skyway"]>>>;
                        teardownDirectory: ZodOptional<ZodString>;
                    },
                    "strip",
                    ZodTypeAny,
                    {
                        directory?: string;
                        engine?: "flyway"
                        | "skyway";
                        teardownDirectory?: string;
                    },
                    {
                        directory?: string;
                        engine?: "flyway"
                        | "skyway";
                        teardownDirectory?: string;
                    },
                >,
            >;
            mjVersionRange: ZodString;
            name: ZodString;
            packages: ZodOptional<
                ZodObject<
                    {
                        client: ZodOptional<
                            ZodArray<
                                ZodEffects<
                                    ZodObject<
                                        {
                                            name: ZodString;
                                            role: ZodEnum<(...)>;
                                            startupExport: ZodOptional<(...)>;
                                        },
                                        "strip",
                                        ZodTypeAny,
                                        {
                                            name?: string;
                                            role?: (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...);
                                            startupExport?: string;
                                        },
                                        {
                                            name?: string;
                                            role?: (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...);
                                            startupExport?: string;
                                        },
                                    >,
                                    {
                                        name?: string;
                                        role?: | "bootstrap"
                                        | "actions"
                                        | "engine"
                                        | "provider"
                                        | "module"
                                        | "components"
                                        | "library";
                                        startupExport?: string;
                                    },
                                    {
                                        name?: string;
                                        role?: | "bootstrap"
                                        | "actions"
                                        | "engine"
                                        | "provider"
                                        | "module"
                                        | "components"
                                        | "library";
                                        startupExport?: string;
                                    },
                                >,
                                "many",
                            >,
                        >;
                        prefix: ZodOptional<ZodString>;
                        registry: ZodOptional<ZodString>;
                        server: ZodOptional<
                            ZodArray<
                                ZodEffects<
                                    ZodObject<
                                        {
                                            name: ZodString;
                                            role: ZodEnum<(...)>;
                                            startupExport: ZodOptional<(...)>;
                                        },
                                        "strip",
                                        ZodTypeAny,
                                        {
                                            name?: string;
                                            role?: (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...);
                                            startupExport?: string;
                                        },
                                        {
                                            name?: string;
                                            role?: (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...);
                                            startupExport?: string;
                                        },
                                    >,
                                    {
                                        name?: string;
                                        role?: | "bootstrap"
                                        | "actions"
                                        | "engine"
                                        | "provider"
                                        | "module"
                                        | "components"
                                        | "library";
                                        startupExport?: string;
                                    },
                                    {
                                        name?: string;
                                        role?: | "bootstrap"
                                        | "actions"
                                        | "engine"
                                        | "provider"
                                        | "module"
                                        | "components"
                                        | "library";
                                        startupExport?: string;
                                    },
                                >,
                                "many",
                            >,
                        >;
                        shared: ZodOptional<
                            ZodArray<
                                ZodEffects<
                                    ZodObject<
                                        {
                                            name: ZodString;
                                            role: ZodEnum<(...)>;
                                            startupExport: ZodOptional<(...)>;
                                        },
                                        "strip",
                                        ZodTypeAny,
                                        {
                                            name?: string;
                                            role?: (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...);
                                            startupExport?: string;
                                        },
                                        {
                                            name?: string;
                                            role?: (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...);
                                            startupExport?: string;
                                        },
                                    >,
                                    {
                                        name?: string;
                                        role?: | "bootstrap"
                                        | "actions"
                                        | "engine"
                                        | "provider"
                                        | "module"
                                        | "components"
                                        | "library";
                                        startupExport?: string;
                                    },
                                    {
                                        name?: string;
                                        role?: | "bootstrap"
                                        | "actions"
                                        | "engine"
                                        | "provider"
                                        | "module"
                                        | "components"
                                        | "library";
                                        startupExport?: string;
                                    },
                                >,
                                "many",
                            >,
                        >;
                    },
                    "strip",
                    ZodTypeAny,
                    {
                        client?: {
                            name?: string;
                            role?: | "bootstrap"
                            | "actions"
                            | "engine"
                            | "provider"
                            | "module"
                            | "components"
                            | "library";
                            startupExport?: string;
                        }[];
                        prefix?: string;
                        registry?: string;
                        server?: {
                            name?: string;
                            role?: | "bootstrap"
                            | "actions"
                            | "engine"
                            | "provider"
                            | "module"
                            | "components"
                            | "library";
                            startupExport?: string;
                        }[];
                        shared?: {
                            name?: string;
                            role?: | "bootstrap"
                            | "actions"
                            | "engine"
                            | "provider"
                            | "module"
                            | "components"
                            | "library";
                            startupExport?: string;
                        }[];
                    },
                    {
                        client?: {
                            name?: string;
                            role?: | "bootstrap"
                            | "actions"
                            | "engine"
                            | "provider"
                            | "module"
                            | "components"
                            | "library";
                            startupExport?: string;
                        }[];
                        prefix?: string;
                        registry?: string;
                        server?: {
                            name?: string;
                            role?: | "bootstrap"
                            | "actions"
                            | "engine"
                            | "provider"
                            | "module"
                            | "components"
                            | "library";
                            startupExport?: string;
                        }[];
                        shared?: {
                            name?: string;
                            role?: | "bootstrap"
                            | "actions"
                            | "engine"
                            | "provider"
                            | "module"
                            | "components"
                            | "library";
                            startupExport?: string;
                        }[];
                    },
                >,
            >;
            publisher: ZodObject<
                {
                    email: ZodOptional<ZodString>;
                    name: ZodString;
                    url: ZodOptional<ZodString>;
                },
                "strip",
                ZodTypeAny,
                { email?: string; name?: string; url?: string },
                { email?: string; name?: string; url?: string },
            >;
            repository: ZodString;
            schema: ZodOptional<
                ZodObject<
                    {
                        createIfNotExists: ZodDefault<ZodOptional<ZodBoolean>>;
                        entityPackage: ZodOptional<ZodString>;
                        name: ZodString;
                    },
                    "strip",
                    ZodTypeAny,
                    { createIfNotExists?: boolean; entityPackage?: string; name?: string },
                    { createIfNotExists?: boolean; entityPackage?: string; name?: string },
                >,
            >;
            tags: ZodOptional<ZodArray<ZodString, "many">>;
            version: ZodString;
        },
        "strip",
        ZodTypeAny,
        {
            $schema?: string;
            categories?: string[];
            code?: { sourceDirectory?: string; visibility?: "public"
            | "private" };
            color?: string;
            configuration?: { schema?: Record<string, unknown> };
            dependencies?:
                | {
                    [k: string]: {
                        repository: string;
                        subpath?: string;
                        version: string;
                    };
                }
                | Record<
                    string,
                    string
                    | { repository?: string; subpath?: string; version?: string },
                >;
            description?: string;
            displayName?: string;
            hooks?: {
                postInstall?: string;
                postInstallModule?: string;
                postUpgrade?: string;
                postUpgradeModule?: string;
                preRemove?: string;
                preRemoveModule?: string;
            };
            icon?: string;
            license?: string;
            manifestVersion?: 1;
            metadata?: { directory?: string };
            migrations?: {
                directory?: string;
                engine?: "flyway" | "skyway";
                teardownDirectory?: string;
            };
            mjVersionRange?: string;
            name?: string;
            packages?: {
                client?: {
                    name?: string;
                    role?: | "bootstrap"
                    | "actions"
                    | "engine"
                    | "provider"
                    | "module"
                    | "components"
                    | "library";
                    startupExport?: string;
                }[];
                prefix?: string;
                registry?: string;
                server?: {
                    name?: string;
                    role?: | "bootstrap"
                    | "actions"
                    | "engine"
                    | "provider"
                    | "module"
                    | "components"
                    | "library";
                    startupExport?: string;
                }[];
                shared?: {
                    name?: string;
                    role?: | "bootstrap"
                    | "actions"
                    | "engine"
                    | "provider"
                    | "module"
                    | "components"
                    | "library";
                    startupExport?: string;
                }[];
            };
            publisher?: { email?: string; name?: string; url?: string };
            repository?: string;
            schema?: {
                createIfNotExists?: boolean;
                entityPackage?: string;
                name?: string;
            };
            tags?: string[];
            version?: string;
        },
        {
            $schema?: string;
            categories?: string[];
            code?: { sourceDirectory?: string; visibility?: "public"
            | "private" };
            color?: string;
            configuration?: { schema?: Record<string, unknown> };
            dependencies?:
                | {
                    name?: string;
                    repository?: string;
                    subpath?: string;
                    versionRange?: string;
                }[]
                | Record<
                    string,
                    string
                    | { repository?: string; subpath?: string; version?: string },
                >;
            description?: string;
            displayName?: string;
            hooks?: {
                postInstall?: string;
                postInstallModule?: string;
                postUpgrade?: string;
                postUpgradeModule?: string;
                preRemove?: string;
                preRemoveModule?: string;
            };
            icon?: string;
            license?: string;
            manifestVersion?: 1;
            metadata?: { directory?: string };
            migrations?: {
                directory?: string;
                engine?: "flyway" | "skyway";
                teardownDirectory?: string;
            };
            mjVersionRange?: string;
            name?: string;
            packages?: {
                client?: {
                    name?: string;
                    role?: | "bootstrap"
                    | "actions"
                    | "engine"
                    | "provider"
                    | "module"
                    | "components"
                    | "library";
                    startupExport?: string;
                }[];
                prefix?: string;
                registry?: string;
                server?: {
                    name?: string;
                    role?: | "bootstrap"
                    | "actions"
                    | "engine"
                    | "provider"
                    | "module"
                    | "components"
                    | "library";
                    startupExport?: string;
                }[];
                shared?: {
                    name?: string;
                    role?: | "bootstrap"
                    | "actions"
                    | "engine"
                    | "provider"
                    | "module"
                    | "components"
                    | "library";
                    startupExport?: string;
                }[];
            };
            publisher?: { email?: string; name?: string; url?: string };
            repository?: string;
            schema?: {
                createIfNotExists?: boolean;
                entityPackage?: string;
                name?: string;
            };
            tags?: string[];
            version?: string;
        },
    > = ...

    Complete Zod schema for the mj-app.json manifest. All validation rules match the MJ Open App specification.