Documentation
¶
Overview ¶
Package validation provides functionality for validating templates and inputs before execution.
Index ¶
- func NewMaxPromptLengthRule(maxLength int) interfaces.InputValidationRule
- func NewNoCommandInjectionRule() interfaces.InputValidationRule
- func NewNoJailbreakPatternRule() interfaces.InputValidationRule
- func NewNoSQLInjectionRule() interfaces.InputValidationRule
- func NewNoSensitiveDataRule() interfaces.InputValidationRule
- func NewSanitizeHTMLRule() interfaces.InputValidationRule
- func NewSanitizeScriptRule() interfaces.InputValidationRule
- type InputValidator
- func (v *InputValidator) AddRule(rule interfaces.InputValidationRule) error
- func (v *InputValidator) GetRules() []interfaces.InputValidationRule
- func (v *InputValidator) IsStrictMode() bool
- func (v *InputValidator) RemoveRule(name string) error
- func (v *InputValidator) SanitizePrompt(prompt string) string
- func (v *InputValidator) SetStrictMode(strict bool)
- func (v *InputValidator) Validate(ctx context.Context, template interface{}) error
- func (v *InputValidator) ValidateContent(ctx context.Context, content string) error
- func (v *InputValidator) ValidateTemplate(ctx context.Context, template *format.Template) error
- type MaxPromptLengthRule
- type NoCommandInjectionRule
- type NoJailbreakPatternRule
- type NoSQLInjectionRule
- type NoSensitiveDataRule
- type SanitizeHTMLRule
- type SanitizeScriptRule
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewMaxPromptLengthRule ¶
func NewMaxPromptLengthRule(maxLength int) interfaces.InputValidationRule
NewMaxPromptLengthRule creates a new maximum prompt length rule
func NewNoCommandInjectionRule ¶
func NewNoCommandInjectionRule() interfaces.InputValidationRule
NewNoCommandInjectionRule creates a new command injection rule
func NewNoJailbreakPatternRule ¶
func NewNoJailbreakPatternRule() interfaces.InputValidationRule
NewNoJailbreakPatternRule creates a new jailbreak pattern rule
func NewNoSQLInjectionRule ¶
func NewNoSQLInjectionRule() interfaces.InputValidationRule
NewNoSQLInjectionRule creates a new SQL injection rule
func NewNoSensitiveDataRule ¶
func NewNoSensitiveDataRule() interfaces.InputValidationRule
NewNoSensitiveDataRule creates a new sensitive data rule
func NewSanitizeHTMLRule ¶
func NewSanitizeHTMLRule() interfaces.InputValidationRule
NewSanitizeHTMLRule creates a new HTML sanitization rule
func NewSanitizeScriptRule ¶
func NewSanitizeScriptRule() interfaces.InputValidationRule
NewSanitizeScriptRule creates a new script sanitization rule
Types ¶
type InputValidator ¶
type InputValidator struct {
// contains filtered or unexported fields
}
InputValidator validates template inputs before sending to LLM providers
func NewInputValidator ¶
func NewInputValidator(strictMode bool) *InputValidator
NewInputValidator creates a new input validator with default rules
func (*InputValidator) AddRule ¶
func (v *InputValidator) AddRule(rule interfaces.InputValidationRule) error
AddRule adds a validation rule
func (*InputValidator) GetRules ¶ added in v0.8.0
func (v *InputValidator) GetRules() []interfaces.InputValidationRule
GetRules returns all validation rules
func (*InputValidator) IsStrictMode ¶ added in v0.8.0
func (v *InputValidator) IsStrictMode() bool
IsStrictMode returns whether strict mode is enabled
func (*InputValidator) RemoveRule ¶
func (v *InputValidator) RemoveRule(name string) error
RemoveRule removes a validation rule by name
func (*InputValidator) SanitizePrompt ¶
func (v *InputValidator) SanitizePrompt(prompt string) string
SanitizePrompt sanitizes a prompt to make it safer for execution
func (*InputValidator) SetStrictMode ¶
func (v *InputValidator) SetStrictMode(strict bool)
SetStrictMode sets the strict mode
func (*InputValidator) Validate ¶ added in v0.8.0
func (v *InputValidator) Validate(ctx context.Context, template interface{}) error
Validate validates a template input (interface implementation)
func (*InputValidator) ValidateContent ¶ added in v0.8.0
func (v *InputValidator) ValidateContent(ctx context.Context, content string) error
ValidateContent validates content against validation rules
func (*InputValidator) ValidateTemplate ¶
ValidateTemplate validates a template against all rules
type MaxPromptLengthRule ¶
type MaxPromptLengthRule struct {
// contains filtered or unexported fields
}
MaxPromptLengthRule checks if the prompt exceeds the maximum length
func (*MaxPromptLengthRule) GetDescription ¶
func (r *MaxPromptLengthRule) GetDescription() string
GetDescription returns the description of the rule
func (*MaxPromptLengthRule) GetName ¶
func (r *MaxPromptLengthRule) GetName() string
GetName returns the name of the rule
type NoCommandInjectionRule ¶
type NoCommandInjectionRule struct{}
NoCommandInjectionRule checks for command injection patterns
func (*NoCommandInjectionRule) GetDescription ¶
func (r *NoCommandInjectionRule) GetDescription() string
GetDescription returns the description of the rule
func (*NoCommandInjectionRule) GetName ¶
func (r *NoCommandInjectionRule) GetName() string
GetName returns the name of the rule
type NoJailbreakPatternRule ¶
type NoJailbreakPatternRule struct{}
NoJailbreakPatternRule checks for common jailbreak patterns
func (*NoJailbreakPatternRule) GetDescription ¶
func (r *NoJailbreakPatternRule) GetDescription() string
GetDescription returns the description of the rule
func (*NoJailbreakPatternRule) GetName ¶
func (r *NoJailbreakPatternRule) GetName() string
GetName returns the name of the rule
type NoSQLInjectionRule ¶
type NoSQLInjectionRule struct{}
NoSQLInjectionRule checks for SQL injection patterns
func (*NoSQLInjectionRule) GetDescription ¶
func (r *NoSQLInjectionRule) GetDescription() string
GetDescription returns the description of the rule
func (*NoSQLInjectionRule) GetName ¶
func (r *NoSQLInjectionRule) GetName() string
GetName returns the name of the rule
type NoSensitiveDataRule ¶
type NoSensitiveDataRule struct{}
NoSensitiveDataRule checks for sensitive data patterns
func (*NoSensitiveDataRule) GetDescription ¶
func (r *NoSensitiveDataRule) GetDescription() string
GetDescription returns the description of the rule
func (*NoSensitiveDataRule) GetName ¶
func (r *NoSensitiveDataRule) GetName() string
GetName returns the name of the rule
type SanitizeHTMLRule ¶
type SanitizeHTMLRule struct{}
SanitizeHTMLRule checks for and sanitizes HTML content
func (*SanitizeHTMLRule) GetDescription ¶
func (r *SanitizeHTMLRule) GetDescription() string
GetDescription returns the description of the rule
func (*SanitizeHTMLRule) GetName ¶
func (r *SanitizeHTMLRule) GetName() string
GetName returns the name of the rule
type SanitizeScriptRule ¶
type SanitizeScriptRule struct{}
SanitizeScriptRule checks for script tags and JavaScript code
func (*SanitizeScriptRule) GetDescription ¶
func (r *SanitizeScriptRule) GetDescription() string
GetDescription returns the description of the rule
func (*SanitizeScriptRule) GetName ¶
func (r *SanitizeScriptRule) GetName() string
GetName returns the name of the rule