Schema Reference
Schema Reference
This page documents every field recognised by ConfigurationSchema. The schema
is defined in src/configuration/schemas.ts and validated via Zod at runtime.
Top-level fields
| Field | Type | Required | Description |
|---|---|---|---|
name | string (min 1) | Yes | Human-readable filter list name |
description | string | No | Description of the list’s purpose |
homepage | string (url) | No | Homepage URL for the list |
license | string | No | SPDX license identifier (e.g. GPL-3.0, MIT) |
version | string | No | Semver version string (e.g. 1.0.0) |
sources | Source[] | Yes | Non-empty array of input source definitions |
transformations | TransformationType[] | No | Ordered list of transformation steps |
exclusions | string[] | No | Rules to exclude from the compiled output |
exclusions_sources | string[] | No | File paths / URLs containing exclusion rules |
inclusions | string[] | No | Rules to always include regardless of exclusions |
inclusions_sources | string[] | No | File paths / URLs containing inclusion rules |
Source object
Each entry in sources must be an object:
| Field | Type | Required | Description |
|---|---|---|---|
source | string | Yes | URL or file path of the input rule list |
type | "hosts" | "adblock" | No | Format of the source (optional; defaults inferred at compile time) |
name | string | No | Display name for this source |
homepage | string (url) | No | Homepage URL for this source |
TransformationType enum
| Value | Description |
|---|---|
RemoveComments | Strip comment lines |
Compress | Remove redundant rules subsumed by wider rules |
RemoveModifiers | Strip cosmetic / option modifiers from rules |
Validate | Drop rules failing format validation |
ValidateAllowIp | Validate rules, allowing IP addresses |
Deduplicate | Remove duplicate rules |
InvertAllow | Invert allowlist rules to blocklist rules |
RemoveEmptyLines | Remove empty lines |
TrimLines | Trim whitespace from each rule line |
InsertFinalNewLine | Ensure file ends with a newline |
ConvertToAscii | Convert non-ASCII domain names to Punycode (ASCII) |
ConflictDetection | Report conflicting allow/block rules |
RuleOptimizer | Merge and simplify rules for smaller output |
Note: Combine transformations as an ordered array; each step is applied in sequence.
System limits
These limits are enforced by ConfigurationManager regardless of schema validity:
| Limit | Default | Config key |
|---|---|---|
| Maximum sources | 100 | VALIDATION_DEFAULTS.MAX_SOURCES |
| Maximum exclusion rules | 10,000 | VALIDATION_DEFAULTS.MAX_EXCLUSIONS |
Arrays exceeding these limits are silently truncated before Zod validation.
Set enforceSourceLimit: false / enforceExclusionLimit: false in manager
options to opt out (not recommended for production).
Bloqr AI™ — The privacy you didn't know you needed.
© 2026 Bloqr AI™, a trademark of Bloqr Systems™. Created by Bloqr Systems™, founded by Jayson Knight.
Internet Hygiene (n.) — the ongoing practices that keep your digital life clean, private, and safe.
Our product repos live in the BloqrAI org, part of the Bloqr Systems GitHub Enterprise. Product repos are internal-visibility — enterprise membership is required to view them.