Skip to content

strahl.types.result

result

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

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

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

StrahlError

Base class for Strahl SDK errors.

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.

analysis instance-attribute

analysis: AnalysisResult | None

tool_call instance-attribute

tool_call: ToolCallAnalysisResult | None

denied_tool_calls instance-attribute

denied_tool_calls: tuple[ToolCallAnalysisResult, ...]

result instance-attribute

final_tool_calls_with_turn_indices

final_tool_calls_with_turn_indices(
    trace: list[Turn],
) -> list[tuple[int, ToolCall]]

source_display_name_from_turn

source_display_name_from_turn(turn: Turn) -> str

sink_display_name_from_turn

sink_display_name_from_turn(
    turn: Turn, param: str | None = None
) -> str

confidentiality_violation

confidentiality_violation(
    source: Label, sink: Label
) -> str

integrity_violation

integrity_violation(source: Label, sink: Label) -> str

label_for_sink

label_for_sink(turn: Turn, param: str | None) -> Label