Skip to content

dependabit / manifest/src / safeValidateConfig

Function: safeValidateConfig()

ts
function safeValidateConfig(data): {
  data?: {
     dependencies?: {
        issues?: {
           aiAgentAssignment?: {
              breaking?: ... | ...;
              enabled: boolean;
              major?: ... | ...;
              minor?: ... | ...;
           };
           assignees: string[];
           bodyTemplate?: string;
           labels: string[];
           titleTemplate: string;
        };
        monitoring?: {
           checkFrequency: "hourly" | "daily" | "weekly" | "monthly";
           enabled: boolean;
           ignoreChanges: boolean;
           severityOverride?: "breaking" | "major" | "minor";
        };
        schedule?: {
           day?:   | "monday"
              | "tuesday"
              | "wednesday"
              | "thursday"
              | "friday"
              | "saturday"
              | "sunday";
           interval: "hourly" | "daily" | "weekly" | "monthly";
           time?: string;
           timezone: string;
        };
        url: string;
     }[];
     ignore?: {
        patterns?: string[];
        types?: (
           | "reference-implementation"
           | "schema"
           | "documentation"
           | "research-paper"
           | "api-example"
          | "other")[];
        urls?: string[];
        useGitExcludes: boolean;
     };
     issues?: {
        aiAgentAssignment?: {
           breaking?: string;
           enabled: boolean;
           major?: string;
           minor?: string;
        };
        assignees: string[];
        bodyTemplate?: string;
        labels: string[];
        titleTemplate: string;
     };
     llm?: {
        maxTokens: number;
        model?: string;
        provider: "github-copilot" | "claude" | "openai" | "azure-openai";
        temperature: number;
     };
     monitoring?: {
        autoUpdate: boolean;
        enabled: boolean;
        falsePositiveThreshold: number;
     };
     schedule: {
        day?:   | "monday"
           | "tuesday"
           | "wednesday"
           | "thursday"
           | "friday"
           | "saturday"
           | "sunday";
        interval: "hourly" | "daily" | "weekly" | "monthly";
        time?: string;
        timezone: string;
     };
     version: "1";
  };
  error?: ValidationError;
  success: boolean;
};

Defined in: packages/manifest/src/validator.ts:123

Safe validation for config

Parameters

ParameterType
dataunknown

Returns

ts
{
  data?: {
     dependencies?: {
        issues?: {
           aiAgentAssignment?: {
              breaking?: ... | ...;
              enabled: boolean;
              major?: ... | ...;
              minor?: ... | ...;
           };
           assignees: string[];
           bodyTemplate?: string;
           labels: string[];
           titleTemplate: string;
        };
        monitoring?: {
           checkFrequency: "hourly" | "daily" | "weekly" | "monthly";
           enabled: boolean;
           ignoreChanges: boolean;
           severityOverride?: "breaking" | "major" | "minor";
        };
        schedule?: {
           day?:   | "monday"
              | "tuesday"
              | "wednesday"
              | "thursday"
              | "friday"
              | "saturday"
              | "sunday";
           interval: "hourly" | "daily" | "weekly" | "monthly";
           time?: string;
           timezone: string;
        };
        url: string;
     }[];
     ignore?: {
        patterns?: string[];
        types?: (
           | "reference-implementation"
           | "schema"
           | "documentation"
           | "research-paper"
           | "api-example"
          | "other")[];
        urls?: string[];
        useGitExcludes: boolean;
     };
     issues?: {
        aiAgentAssignment?: {
           breaking?: string;
           enabled: boolean;
           major?: string;
           minor?: string;
        };
        assignees: string[];
        bodyTemplate?: string;
        labels: string[];
        titleTemplate: string;
     };
     llm?: {
        maxTokens: number;
        model?: string;
        provider: "github-copilot" | "claude" | "openai" | "azure-openai";
        temperature: number;
     };
     monitoring?: {
        autoUpdate: boolean;
        enabled: boolean;
        falsePositiveThreshold: number;
     };
     schedule: {
        day?:   | "monday"
           | "tuesday"
           | "wednesday"
           | "thursday"
           | "friday"
           | "saturday"
           | "sunday";
        interval: "hourly" | "daily" | "weekly" | "monthly";
        time?: string;
        timezone: string;
     };
     version: "1";
  };
  error?: ValidationError;
  success: boolean;
}
NameTypeDefined in
data?{ dependencies?: { issues?: { aiAgentAssignment?: { breaking?: ... | ...; enabled: boolean; major?: ... | ...; minor?: ... | ...; }; assignees: string[]; bodyTemplate?: string; labels: string[]; titleTemplate: string; }; monitoring?: { checkFrequency: "hourly" | "daily" | "weekly" | "monthly"; enabled: boolean; ignoreChanges: boolean; severityOverride?: "breaking" | "major" | "minor"; }; schedule?: { day?: | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday"; interval: "hourly" | "daily" | "weekly" | "monthly"; time?: string; timezone: string; }; url: string; }[]; ignore?: { patterns?: string[]; types?: ( | "reference-implementation" | "schema" | "documentation" | "research-paper" | "api-example" | "other")[]; urls?: string[]; useGitExcludes: boolean; }; issues?: { aiAgentAssignment?: { breaking?: string; enabled: boolean; major?: string; minor?: string; }; assignees: string[]; bodyTemplate?: string; labels: string[]; titleTemplate: string; }; llm?: { maxTokens: number; model?: string; provider: "github-copilot" | "claude" | "openai" | "azure-openai"; temperature: number; }; monitoring?: { autoUpdate: boolean; enabled: boolean; falsePositiveThreshold: number; }; schedule: { day?: | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday"; interval: "hourly" | "daily" | "weekly" | "monthly"; time?: string; timezone: string; }; version: "1"; }packages/manifest/src/validator.ts:125
data.dependencies?{ issues?: { aiAgentAssignment?: { breaking?: ... | ...; enabled: boolean; major?: ... | ...; minor?: ... | ...; }; assignees: string[]; bodyTemplate?: string; labels: string[]; titleTemplate: string; }; monitoring?: { checkFrequency: "hourly" | "daily" | "weekly" | "monthly"; enabled: boolean; ignoreChanges: boolean; severityOverride?: "breaking" | "major" | "minor"; }; schedule?: { day?: | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday"; interval: "hourly" | "daily" | "weekly" | "monthly"; time?: string; timezone: string; }; url: string; }[]packages/manifest/src/schema.ts:236
data.ignore?{ patterns?: string[]; types?: ( | "reference-implementation" | "schema" | "documentation" | "research-paper" | "api-example" | "other")[]; urls?: string[]; useGitExcludes: boolean; }packages/manifest/src/schema.ts:239
data.ignore.patterns?string[]packages/manifest/src/schema.ts:243
data.ignore.types?( | "reference-implementation" | "schema" | "documentation" | "research-paper" | "api-example" | "other")[]packages/manifest/src/schema.ts:242
data.ignore.urls?string[]packages/manifest/src/schema.ts:241
data.ignore.useGitExcludesbooleanpackages/manifest/src/schema.ts:244
data.issues?{ aiAgentAssignment?: { breaking?: string; enabled: boolean; major?: string; minor?: string; }; assignees: string[]; bodyTemplate?: string; labels: string[]; titleTemplate: string; }packages/manifest/src/schema.ts:224
data.issues.aiAgentAssignment?{ breaking?: string; enabled: boolean; major?: string; minor?: string; }packages/manifest/src/schema.ts:184
data.issues.aiAgentAssignment.breaking?stringpackages/manifest/src/schema.ts:187
data.issues.aiAgentAssignment.enabledbooleanpackages/manifest/src/schema.ts:186
data.issues.aiAgentAssignment.major?stringpackages/manifest/src/schema.ts:188
data.issues.aiAgentAssignment.minor?stringpackages/manifest/src/schema.ts:189
data.issues.assigneesstring[]packages/manifest/src/schema.ts:183
data.issues.bodyTemplate?stringpackages/manifest/src/schema.ts:193
data.issues.labelsstring[]packages/manifest/src/schema.ts:182
data.issues.titleTemplatestringpackages/manifest/src/schema.ts:192
data.llm?{ maxTokens: number; model?: string; provider: "github-copilot" | "claude" | "openai" | "azure-openai"; temperature: number; }packages/manifest/src/schema.ts:222
data.llm.maxTokensnumberpackages/manifest/src/schema.ts:176
data.llm.model?stringpackages/manifest/src/schema.ts:175
data.llm.provider"github-copilot" | "claude" | "openai" | "azure-openai"packages/manifest/src/schema.ts:172
data.llm.temperaturenumberpackages/manifest/src/schema.ts:177
data.monitoring?{ autoUpdate: boolean; enabled: boolean; falsePositiveThreshold: number; }packages/manifest/src/schema.ts:227
data.monitoring.autoUpdatebooleanpackages/manifest/src/schema.ts:230
data.monitoring.enabledbooleanpackages/manifest/src/schema.ts:229
data.monitoring.falsePositiveThresholdnumberpackages/manifest/src/schema.ts:231
data.schedule{ day?: | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday"; interval: "hourly" | "daily" | "weekly" | "monthly"; time?: string; timezone: string; }packages/manifest/src/schema.ts:223
data.schedule.day?| "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday"packages/manifest/src/schema.ts:160
data.schedule.interval"hourly" | "daily" | "weekly" | "monthly"packages/manifest/src/schema.ts:159
data.schedule.time?stringpackages/manifest/src/schema.ts:163
data.schedule.timezonestringpackages/manifest/src/schema.ts:167
data.version"1"packages/manifest/src/schema.ts:219
error?ValidationErrorpackages/manifest/src/validator.ts:126
successbooleanpackages/manifest/src/validator.ts:124

Released under the MIT License.