Class: Validator¶
Defined in: validator/src/validator.ts:34
AST validator for PromptScript files.
Validates resolved AST for semantic correctness and compliance.
Example¶
import { Validator } from '@promptscript/validator';
const validator = new Validator({
requiredGuards: ['@core/guards/compliance'],
rules: { 'empty-block': 'warning' },
});
const result = validator.validate(ast);
if (!result.valid) {
for (const err of result.errors) {
console.error(`${err.ruleId}: ${err.message}`);
}
}
Constructors¶
Constructor¶
new Validator(
config):Validator
Defined in: validator/src/validator.ts:44
Create a new validator instance.
Parameters¶
config¶
ValidatorConfig = {}
Validator configuration
Returns¶
Validator
Methods¶
addRule()¶
addRule(
rule):void
Defined in: validator/src/validator.ts:118
Add a custom validation rule.
Parameters¶
rule¶
The rule to add
Returns¶
void
getConfig()¶
getConfig():
ValidatorConfig
Defined in: validator/src/validator.ts:140
Get the current configuration.
Returns¶
getRules()¶
getRules():
ValidationRule[]
Defined in: validator/src/validator.ts:147
Get all registered rules.
Returns¶
removeRule()¶
removeRule(
ruleNameOrId):boolean
Defined in: validator/src/validator.ts:128
Remove a validation rule by name or id.
Parameters¶
ruleNameOrId¶
string
The rule name or id to remove
Returns¶
boolean
True if the rule was found and removed
validate()¶
validate(
ast):ValidationResult
Defined in: validator/src/validator.ts:63
Validate an AST.
Parameters¶
ast¶
The resolved AST to validate
Returns¶
Validation result with all messages