Skip to content

strahl.types

types

ALL module-attribute

ALL: TagSet = frozenset({'*'})

NONE module-attribute

NONE: TagSet = frozenset()

Label dataclass

Label(source: TagSetExpr, visibility: TagSetExpr)

source instance-attribute

source: TagSetExpr

visibility instance-attribute

visibility: TagSetExpr

__post_init__

__post_init__()

resolvable_from_params

resolvable_from_params(params: Container[str]) -> bool

resolvable_at_creation_time

resolvable_at_creation_time() -> bool

resolve

resolve(kwargs: dict | None = None) -> Label

AnalysisResult dataclass

AnalysisResult(
    id: str,
    created_at: int,
    usage: Usage,
    tool_calls: tuple[ToolCallAnalysisResult, ...] = (),
)

id instance-attribute

id: str

created_at instance-attribute

created_at: int

usage instance-attribute

usage: Usage

tool_calls class-attribute instance-attribute

tool_calls: tuple[ToolCallAnalysisResult, ...] = ()

denied property

denied: bool

denied_tool_calls property

denied_tool_calls: tuple[ToolCallAnalysisResult, ...]

__iter__

__iter__()

__len__

__len__() -> int

__getitem__

__getitem__(index: int) -> ToolCallAnalysisResult

explain

explain() -> str

raise_if_denied

raise_if_denied() -> None

from_analysis_response classmethod

from_analysis_response(
    response: AnalysisResponse, trace: list[Turn]
) -> Self

StrahlAPIError

Raised when the Strahl API returns a response the SDK cannot interpret.

StrahlDenied

StrahlDenied(
    result: AnalysisResult | ToolCallAnalysisResult,
    message: str | None = None,
)

Raised when a Strahl analysis denies one or more tool calls.

result instance-attribute

analysis instance-attribute

analysis: AnalysisResult | None

tool_call instance-attribute

tool_call: ToolCallAnalysisResult | None

denied_tool_calls instance-attribute

denied_tool_calls: tuple[ToolCallAnalysisResult, ...]

StrahlError

Base class for Strahl SDK errors.

ToolCallAnalysisResult dataclass

ToolCallAnalysisResult(
    id: str,
    name: str,
    violations: tuple[Violation, ...] = (),
)

id instance-attribute

id: str

name instance-attribute

name: str

violations class-attribute instance-attribute

violations: tuple[Violation, ...] = ()

denied property

denied: bool

explain

explain() -> str

raise_if_denied

raise_if_denied() -> None

Usage dataclass

Usage(input_tokens: int, output_tokens: int)

input_tokens instance-attribute

input_tokens: int

output_tokens instance-attribute

output_tokens: int

from_model classmethod

from_model(usage: Usage) -> Self

Violation dataclass

Violation(
    source: str,
    sink: str,
    evidence: str,
    confidentiality_violation: str,
    integrity_violation: str,
)

source instance-attribute

source: str

sink instance-attribute

sink: str

evidence instance-attribute

evidence: str

confidentiality_violation instance-attribute

confidentiality_violation: str

integrity_violation instance-attribute

integrity_violation: str

explain

explain() -> str

from_model classmethod

from_model(violation: Violation, trace: list[Turn]) -> Self