@karmaniverous/jeeves-scripts-core
    Preparing search index...

    Variable configObjectSchemaConst

    configObjectSchema: ZodObject<
        {
            $schema: ZodOptional<ZodString>;
            instance: ZodObject<{ baseDir: ZodString; name: ZodString }, $strip>;
            integrations: ZodDefault<
                ZodObject<
                    {
                        gh: ZodDefault<
                            ZodObject<
                                {
                                    account: ZodOptional<ZodString>;
                                    bin: ZodOptional<ZodString>;
                                    botUser: ZodOptional<ZodString>;
                                    configDir: ZodOptional<ZodString>;
                                },
                                $strip,
                            >,
                        >;
                        gog: ZodDefault<ZodObject<{ bin: ZodOptional<ZodString> }, $strip>>;
                        jira: ZodDefault<
                            ZodObject<
                                {
                                    apiTokenPath: ZodOptional<ZodString>;
                                    boardId: ZodOptional<ZodNumber>;
                                    email: ZodOptional<ZodString>;
                                    fieldsFilename: ZodOptional<ZodString>;
                                    maxHistory: ZodOptional<ZodNumber>;
                                    siteUrl: ZodOptional<ZodString>;
                                },
                                $strip,
                            >,
                        >;
                        linear: ZodDefault<
                            ZodObject<
                                {
                                    configPath: ZodOptional<ZodString>;
                                    maxHistory: ZodOptional<ZodNumber>;
                                },
                                $strip,
                            >,
                        >;
                        notion: ZodDefault<
                            ZodObject<{ version: ZodOptional<ZodString> }, $strip>,
                        >;
                        qdrant: ZodDefault<
                            ZodObject<
                                {
                                    apiUrl: ZodOptional<ZodString>;
                                    serviceName: ZodOptional<ZodString>;
                                },
                                $strip,
                            >,
                        >;
                        x: ZodDefault<
                            ZodObject<
                                {
                                    accounts: ZodDefault<
                                        ZodRecord<ZodString, ZodObject<(...), (...)>>,
                                    >;
                                },
                                $strip,
                            >,
                        >;
                    },
                    $strip,
                >,
            >;
            jobs: ZodDefault<
                ZodRecord<
                    ZodString,
                    ZodObject<
                        {
                            account: ZodOptional<ZodString>;
                            args: ZodOptional<ZodArray<ZodString>>;
                            contextThreshold: ZodOptional<ZodNumber>;
                            enabled: ZodOptional<ZodBoolean>;
                            env: ZodOptional<ZodRecord<ZodString, ZodString>>;
                            excludedKeys: ZodOptional<ZodArray<ZodString>>;
                            extraDirs: ZodOptional<ZodArray<ZodString>>;
                            files: ZodOptional<
                                ZodArray<
                                    ZodObject<{ source: ZodString; target: ZodString }, $strip>,
                                >,
                            >;
                            idleMinutes: ZodOptional<ZodNumber>;
                            on_failure: ZodOptional<ZodNullable<ZodString>>;
                            owners: ZodOptional<
                                ZodArray<
                                    ZodObject<
                                        {
                                            exclude: ZodOptional<(...)>;
                                            include: ZodOptional<(...)>;
                                            owner: ZodString;
                                            ruleset: ZodOptional<(...)>;
                                            type: ZodEnum<(...)>;
                                        },
                                        $strip,
                                    >,
                                >,
                            >;
                            ruleset: ZodOptional<
                                ZodObject<
                                    {
                                        enforcement: ZodString;
                                        name: ZodString;
                                        rules: ZodArray<ZodObject<(...), (...)>>;
                                        target: ZodString;
                                    },
                                    $loose,
                                >,
                            >;
                            schedule: ZodOptional<
                                ZodUnion<readonly [ZodString, ZodRecord<ZodString, ZodUnknown>]>,
                            >;
                            silo: ZodOptional<ZodString>;
                            taskFile: ZodOptional<ZodString>;
                            timeout_seconds: ZodOptional<ZodNumber>;
                        },
                        $strip,
                    >,
                >,
            >;
            library: ZodDefault<
                ZodObject<
                    {
                        mirrors: ZodDefault<
                            ZodArray<
                                ZodObject<
                                    {
                                        adopt: ZodDefault<ZodBoolean>;
                                        dest: ZodString;
                                        exclude: ZodDefault<ZodArray<(...)>>;
                                        id: ZodString;
                                        minRatio: ZodDefault<ZodNumber>;
                                        ref: ZodDefault<ZodString>;
                                        repo: ZodString;
                                        siteLinks: ZodOptional<ZodObject<(...), (...)>>;
                                        subdir: ZodDefault<ZodString>;
                                    },
                                    $strip,
                                >,
                            >,
                        >;
                    },
                    $strip,
                >,
            >;
            local: ZodOptional<ZodUnknown>;
            paths: ZodDefault<
                ZodObject<
                    {
                        configDir: ZodOptional<ZodString>;
                        contentDir: ZodOptional<ZodString>;
                        credentialsDir: ZodOptional<ZodString>;
                        gogHome: ZodOptional<ZodString>;
                        scriptsDir: ZodOptional<ZodString>;
                        stateDir: ZodOptional<ZodString>;
                        tokenMetricsDir: ZodOptional<ZodString>;
                    },
                    $strip,
                >,
            >;
            people: ZodDefault<
                ZodRecord<
                    ZodString,
                    ZodObject<
                        {
                            accounts: ZodOptional<
                                ZodArray<
                                    ZodObject<
                                        { account: ZodString; channel: ZodString; id: ZodString },
                                        $strict,
                                    >,
                                >,
                            >;
                            emails: ZodOptional<ZodArray<ZodEmail>>;
                            name: ZodString;
                        },
                        $strict,
                    >,
                >,
            >;
            pipeline: ZodOptional<
                ZodObject<
                    {
                        accounts: ZodArray<
                            ZodObject<
                                {
                                    calendar: ZodOptional<ZodUnion<readonly [(...), (...)]>>;
                                    email: ZodString;
                                    emailPolling: ZodBoolean;
                                    folders: ZodOptional<ZodArray<ZodString>>;
                                    imap: ZodOptional<
                                        ZodObject<
                                            { host: ...; password: ...; port: ...; tls: ...; user: ... },
                                            $strip,
                                        >,
                                    >;
                                    reportOnly: ZodOptional<ZodBoolean>;
                                    type: ZodEnum<{ gmail: "gmail"; imap: "imap" }>;
                                },
                                $strip,
                            >,
                        >;
                        buckets: ZodObject<
                            {
                                domains: ZodArray<
                                    ZodObject<{ bucket: ZodString; pattern: ZodString }, $strip>,
                                >;
                                priority: ZodArray<ZodString>;
                            },
                            $strip,
                        >;
                        emailConfig: ZodObject<
                            {
                                backfill: ZodOptional<
                                    ZodObject<
                                        {
                                            accounts: ZodArray<(...)>;
                                            lookbackDays: ZodNumber;
                                            windowDays: ZodNumber;
                                        },
                                        $strip,
                                    >,
                                >;
                                digest: ZodObject<{ slackChannelId: ZodString }, $strip>;
                                meetings: ZodOptional<ZodObject<{ archive: ZodBoolean }, $strip>>;
                                reportOnly: ZodBoolean;
                                respond: ZodOptional<
                                    ZodObject<
                                        {
                                            allowedSenders: ZodArray<(...)>;
                                            dryRun: ZodOptional<(...)>;
                                            label: ZodDefault<(...)>;
                                            mailbox: ZodString;
                                            maxPerRun: ZodDefault<(...)>;
                                            maxRepliesPerThreadPerHour: ZodDefault<(...)>;
                                            slackMirror: ZodDefault<(...)>;
                                        },
                                        $strict,
                                    >,
                                >;
                            },
                            $strip,
                        >;
                        googleDrive: ZodOptional<ZodUnknown>;
                        refs: ZodRecord<ZodString, ZodString>;
                    },
                    $strip,
                >,
            >;
            punchList: ZodOptional<
                ZodObject<
                    {
                        cursorFile: ZodOptional<ZodString>;
                        dir: ZodString;
                        inboxDir: ZodOptional<ZodString>;
                        inputRoots: ZodOptional<ZodArray<ZodString>>;
                        installMap: ZodDefault<
                            ZodRecord<
                                ZodString,
                                ZodArray<
                                    ZodObject<
                                        { component: ZodString; packageJson: ZodString },
                                        $strip,
                                    >,
                                >,
                            >,
                        >;
                        lockFile: ZodOptional<ZodString>;
                        pendingFile: ZodOptional<ZodString>;
                        retentionDays: ZodDefault<ZodNumber>;
                        scriptsRepo: ZodObject<{ clone: ZodString; repo: ZodString }, $strip>;
                        slack: ZodObject<
                            {
                                account: ZodDefault<ZodString>;
                                channel: ZodString;
                                pinnedTs: ZodOptional<ZodString>;
                            },
                            $strip,
                        >;
                        specPath: ZodOptional<ZodString>;
                        timeZone: ZodString;
                    },
                    $strip,
                >,
            >;
            siloRouting: ZodDefault<
                ZodObject<
                    {
                        defaultBasePath: ZodOptional<ZodString>;
                        silos: ZodDefault<
                            ZodRecord<
                                ZodString,
                                ZodObject<
                                    {
                                        basePath: ZodString;
                                        emailDomains: ZodOptional<ZodArray<(...)>>;
                                        githubOrgs: ZodOptional<ZodArray<(...)>>;
                                        jira: ZodOptional<ZodBoolean>;
                                        linear: ZodOptional<ZodBoolean>;
                                        slackWorkspaces: ZodOptional<ZodArray<(...)>>;
                                    },
                                    $strip,
                                >,
                            >,
                        >;
                    },
                    $strip,
                >,
            >;
            skillReview: ZodOptional<
                ZodObject<
                    {
                        budgetAlertPercent: ZodDefault<ZodNumber>;
                        outputDir: ZodOptional<ZodString>;
                        reportAccount: ZodDefault<ZodString>;
                        reportChannel: ZodString;
                        serverKey: ZodString;
                        timezone: ZodString;
                    },
                    $strict,
                >,
            >;
            slack: ZodDefault<
                ZodObject<
                    {
                        backfillBudgetSeconds: ZodDefault<ZodNumber>;
                        channelMeta: ZodOptional<
                            ZodObject<
                                {
                                    activityDays: ZodDefault<ZodNumber>;
                                    descriptionMaxChars: ZodDefault<ZodNumber>;
                                    excludeChannels: ZodDefault<ZodArray<ZodString>>;
                                    maxChannels: ZodDefault<ZodNumber>;
                                    outputDir: ZodOptional<ZodString>;
                                    pathRoots: ZodDefault<ZodRecord<ZodString, ZodString>>;
                                    relativeRoot: ZodOptional<ZodString>;
                                    reportAccount: ZodOptional<ZodString>;
                                    reportChannel: ZodOptional<ZodString>;
                                    reportTextAccounts: ZodOptional<ZodArray<ZodString>>;
                                    serverKey: ZodString;
                                    sweepPatterns: ZodDefault<ZodArray<ZodString>>;
                                    timezone: ZodString;
                                    topicMaxChars: ZodDefault<ZodNumber>;
                                    updateDescriptions: ZodDefault<ZodBoolean>;
                                    updateTopics: ZodDefault<ZodBoolean>;
                                },
                                $strict,
                            >,
                        >;
                        channels: ZodDefault<
                            ZodRecord<
                                ZodString,
                                ZodObject<
                                    {
                                        homeDir: ZodOptional<ZodString>;
                                        project: ZodOptional<ZodString>;
                                    },
                                    $strict,
                                >,
                            >,
                        >;
                        newChannelLookbackDays: ZodOptional<ZodNumber>;
                    },
                    $strip,
                >,
            >;
            transcripts: ZodOptional<
                ZodObject<
                    {
                        libraryDir: ZodOptional<ZodString>;
                        scratchDir: ZodOptional<ZodString>;
                        userAgent: ZodOptional<ZodString>;
                    },
                    $strip,
                >,
            >;
        },
        $strip,
    > = ...

    The plain config shape, with no secret-literal scan. Exported separately so JSON Schema generation (config/json-schema.ts) has a concrete object schema to introspect; use configSchema to validate.