Packages
nous
0.12.13
0.17.0
0.16.6
0.16.5
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.8
0.15.7
0.15.6
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.3
0.14.2
0.14.1
0.14.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.17
0.12.16
0.12.15
0.12.14
0.12.13
0.12.12
0.12.11
0.12.9
0.12.7
0.12.6
0.12.5
0.12.3
0.12.2
0.12.0
0.11.3
0.11.0
0.10.1
0.10.0
0.9.0
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.5.0
AI agent framework for Elixir with multi-provider LLM support
Current section
Files
Jump to
Current section
Files
lib/nous/plugins/input_guard/result.ex
defmodule Nous.Plugins.InputGuard.Result do
@moduledoc """
Result of an input guard strategy check.
Each strategy returns a `Result` indicating the severity of the input
and optional metadata about why it was flagged.
## Severity Levels
* `:safe` — Input appears benign
* `:suspicious` — Input may be problematic but isn't clearly malicious
* `:blocked` — Input is clearly malicious or policy-violating
"""
@type severity :: :safe | :suspicious | :blocked
@type t :: %__MODULE__{
severity: severity(),
reason: String.t() | nil,
strategy: module() | nil,
metadata: map()
}
defstruct severity: :safe,
reason: nil,
strategy: nil,
metadata: %{}
end