classifierConfigSchema
constclassifierConfigSchema:ZodEffects<ZodObject<{categories:ZodDefault<ZodArray<ZodObject<{description:ZodOptional<ZodString>;label:ZodString;name:ZodString; },"strip",ZodTypeAny, {description?:string;label:string;name:string; }, {description?:string;label:string;name:string; }>,"many">>;detection:ZodDefault<ZodObject<{accountCategory:ZodDefault<ZodString>;accountDomains:ZodDefault<ZodArray<ZodString,"many">>;automatedNamePattern:ZodDefault<ZodString>;brandNamePattern:ZodDefault<ZodString>;personalCategory:ZodDefault<ZodString>;personalDomains:ZodDefault<ZodArray<ZodString,"many">>;personalProviderDomains:ZodDefault<ZodArray<ZodString,"many">>;personalProviderPattern:ZodDefault<ZodString>;personalReplyExclusionPattern:ZodDefault<ZodString>;relayDomains:ZodDefault<ZodArray<ZodString,"many">>; },"strip",ZodTypeAny, {accountCategory:string;accountDomains:string[];automatedNamePattern:string;brandNamePattern:string;personalCategory:string;personalDomains:string[];personalProviderDomains:string[];personalProviderPattern:string;personalReplyExclusionPattern:string;relayDomains:string[]; }, {accountCategory?:string;accountDomains?:string[];automatedNamePattern?:string;brandNamePattern?:string;personalCategory?:string;personalDomains?:string[];personalProviderDomains?:string[];personalProviderPattern?:string;personalReplyExclusionPattern?:string;relayDomains?:string[]; }>>;keepList:ZodDefault<ZodArray<ZodString,"many">>;needsAction:ZodDefault<ZodObject<{exclusionKeywords:ZodOptional<ZodArray<ZodObject<{phrase:ZodString;weight:ZodNumber; },"strip",ZodTypeAny, {phrase:string;weight:number; }, {phrase:string;weight:number; }>,"many">>;highKeywords:ZodOptional<ZodArray<ZodObject<{phrase:ZodString;weight:ZodNumber; },"strip",ZodTypeAny, {phrase:string;weight:number; }, {phrase:string;weight:number; }>,"many">>;label:ZodDefault<ZodString>;languages:ZodDefault<ZodArray<ZodEnum<["en","de"]>,"many">>;personalNeedsReplyBonus:ZodDefault<ZodNumber>;threshold:ZodDefault<ZodNumber>;unreadBonus:ZodDefault<ZodNumber>;windowDays:ZodDefault<ZodNumber>; },"strip",ZodTypeAny, {exclusionKeywords?:object[];highKeywords?:object[];label:string;languages: ("en"|"de")[];personalNeedsReplyBonus:number;threshold:number;unreadBonus:number;windowDays:number; }, {exclusionKeywords?:object[];highKeywords?:object[];label?:string;languages?: ("en"|"de")[];personalNeedsReplyBonus?:number;threshold?:number;unreadBonus?:number;windowDays?:number; }>>;ops:ZodDefault<ZodObject<{batchDelayMs:ZodDefault<ZodNumber>;batchSize:ZodDefault<ZodNumber>;maxItems:ZodOptional<ZodNumber>;progressEvery:ZodDefault<ZodNumber>;stallBackoffMs:ZodDefault<ZodNumber>;stallLimit:ZodDefault<ZodNumber>; },"strip",ZodTypeAny, {batchDelayMs:number;batchSize:number;maxItems?:number;progressEvery:number;stallBackoffMs:number;stallLimit:number; }, {batchDelayMs?:number;batchSize?:number;maxItems?:number;progressEvery?:number;stallBackoffMs?:number;stallLimit?:number; }>>;provider:ZodDefault<ZodObject<{baseUrl:ZodOptional<ZodString>;type:ZodDefault<ZodEnum<["jmap","mcp"]>>; },"strip",ZodTypeAny, {baseUrl?:string;type:"jmap"|"mcp"; }, {baseUrl?:string;type?:"jmap"|"mcp"; }>>;rules:ZodDefault<ZodArray<ZodDiscriminatedUnion<"kind", [ZodObject<{address:ZodString;category:ZodString;kind:ZodLiteral<"sender">; },"strip",ZodTypeAny, {address:string;category:string;kind:"sender"; }, {address:string;category:string;kind:"sender"; }>,ZodObject<{category:ZodString;domain:ZodString;kind:ZodLiteral<"domain">; },"strip",ZodTypeAny, {category:string;domain:string;kind:"domain"; }, {category:string;domain:string;kind:"domain"; }>,ZodObject<{category:ZodString;kind:ZodLiteral<"name">;onlyForDomains:ZodOptional<ZodArray<…, …>>;pattern:ZodString; },"strip",ZodTypeAny, {category:string;kind:"name";onlyForDomains?: …[];pattern:string; }, {category:string;kind:"name";onlyForDomains?: …[];pattern:string; }>]>,"many">>;sweep:ZodDefault<ZodObject<{after:ZodOptional<ZodString>;targetLabel:ZodDefault<ZodString>;textHeuristic:ZodDefault<ZodString>; },"strip",ZodTypeAny, {after?:string;targetLabel:string;textHeuristic:string; }, {after?:string;targetLabel?:string;textHeuristic?:string; }>>; },"strip",ZodTypeAny, {categories:object[];detection: {accountCategory:string;accountDomains:string[];automatedNamePattern:string;brandNamePattern:string;personalCategory:string;personalDomains:string[];personalProviderDomains:string[];personalProviderPattern:string;personalReplyExclusionPattern:string;relayDomains:string[]; };keepList:string[];needsAction: {exclusionKeywords?:object[];highKeywords?:object[];label:string;languages: ("en"|"de")[];personalNeedsReplyBonus:number;threshold:number;unreadBonus:number;windowDays:number; };ops: {batchDelayMs:number;batchSize:number;maxItems?:number;progressEvery:number;stallBackoffMs:number;stallLimit:number; };provider: {baseUrl?:string;type:"jmap"|"mcp"; };rules: ({address:string;category:string;kind:"sender"; } | {category:string;domain:string;kind:"domain"; } | {category:string;kind:"name";onlyForDomains?:string[];pattern:string; })[];sweep: {after?:string;targetLabel:string;textHeuristic:string; }; }, {categories?:object[];detection?: {accountCategory?:string;accountDomains?:string[];automatedNamePattern?:string;brandNamePattern?:string;personalCategory?:string;personalDomains?:string[];personalProviderDomains?:string[];personalProviderPattern?:string;personalReplyExclusionPattern?:string;relayDomains?:string[]; };keepList?:string[];needsAction?: {exclusionKeywords?:object[];highKeywords?:object[];label?:string;languages?: ("en"|"de")[];personalNeedsReplyBonus?:number;threshold?:number;unreadBonus?:number;windowDays?:number; };ops?: {batchDelayMs?:number;batchSize?:number;maxItems?:number;progressEvery?:number;stallBackoffMs?:number;stallLimit?:number; };provider?: {baseUrl?:string;type?:"jmap"|"mcp"; };rules?: ({address:string;category:string;kind:"sender"; } | {category:string;domain:string;kind:"domain"; } | {category:string;kind:"name";onlyForDomains?:string[];pattern:string; })[];sweep?: {after?:string;targetLabel?:string;textHeuristic?:string; }; }>, {categories:object[];detection: {accountCategory:string;accountDomains:string[];automatedNamePattern:string;brandNamePattern:string;personalCategory:string;personalDomains:string[];personalProviderDomains:string[];personalProviderPattern:string;personalReplyExclusionPattern:string;relayDomains:string[]; };keepList:string[];needsAction: {exclusionKeywords?:object[];highKeywords?:object[];label:string;languages: ("en"|"de")[];personalNeedsReplyBonus:number;threshold:number;unreadBonus:number;windowDays:number; };ops: {batchDelayMs:number;batchSize:number;maxItems?:number;progressEvery:number;stallBackoffMs:number;stallLimit:number; };provider: {baseUrl?:string;type:"jmap"|"mcp"; };rules: ({address:string;category:string;kind:"sender"; } | {category:string;domain:string;kind:"domain"; } | {category:string;kind:"name";onlyForDomains?:string[];pattern:string; })[];sweep: {after?:string;targetLabel:string;textHeuristic:string; }; }, {categories?:object[];detection?: {accountCategory?:string;accountDomains?:string[];automatedNamePattern?:string;brandNamePattern?:string;personalCategory?:string;personalDomains?:string[];personalProviderDomains?:string[];personalProviderPattern?:string;personalReplyExclusionPattern?:string;relayDomains?:string[]; };keepList?:string[];needsAction?: {exclusionKeywords?:object[];highKeywords?:object[];label?:string;languages?: ("en"|"de")[];personalNeedsReplyBonus?:number;threshold?:number;unreadBonus?:number;windowDays?:number; };ops?: {batchDelayMs?:number;batchSize?:number;maxItems?:number;progressEvery?:number;stallBackoffMs?:number;stallLimit?:number; };provider?: {baseUrl?:string;type?:"jmap"|"mcp"; };rules?: ({address:string;category:string;kind:"sender"; } | {category:string;domain:string;kind:"domain"; } | {category:string;kind:"name";onlyForDomains?:string[];pattern:string; })[];sweep?: {after?:string;targetLabel?:string;textHeuristic?:string; }; }>
Defined in: src/config/schema.ts:102