Skip to content

PromptScript API


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

ValidationRule

The rule to add

Returns

void


getConfig()

getConfig(): ValidatorConfig

Defined in: validator/src/validator.ts:140

Get the current configuration.

Returns

ValidatorConfig


getRules()

getRules(): ValidationRule[]

Defined in: validator/src/validator.ts:147

Get all registered rules.

Returns

ValidationRule[]


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

Program

The resolved AST to validate

Returns

ValidationResult

Validation result with all messages