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:45
Create a new validator instance.
Parameters¶
config?¶
ValidatorConfig = {}
Validator configuration
Returns¶
Validator
Methods¶
addRule()¶
addRule(
rule):void
Defined in: validator/src/validator.ts:148
Add a custom validation rule.
Parameters¶
rule¶
The rule to add
Returns¶
void
getConfig()¶
getConfig():
ValidatorConfig
Defined in: validator/src/validator.ts:170
Get the current configuration.
Returns¶
getRules()¶
getRules():
ValidationRule[]
Defined in: validator/src/validator.ts:177
Get all registered rules.
Returns¶
removeRule()¶
removeRule(
ruleNameOrId):boolean
Defined in: validator/src/validator.ts:158
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
updateConfig()¶
updateConfig(
partial):void
Defined in: validator/src/validator.ts:66
Update validator configuration after construction. Allows the compiler to inject runtime data (registry references, lockfile, etc.) that becomes available only after resolution.
Parameters¶
partial¶
Partial\<ValidatorConfig>
Returns¶
void
validate()¶
validate(
ast):ValidationResult
Defined in: validator/src/validator.ts:80
Validate an AST.
Parameters¶
ast¶
The resolved AST to validate
Returns¶
Validation result with all messages