Skip to content

strahl.models

models

MessageSourceRef dataclass

MessageSourceRef(message_index: int)

message_index instance-attribute

message_index: int

from_dict classmethod

from_dict(data: dict[str, Any]) -> MessageSourceRef

ToolResultSourceRef dataclass

ToolResultSourceRef(
    message_index: int, tool_result_index: int
)

message_index instance-attribute

message_index: int

tool_result_index instance-attribute

tool_result_index: int

from_dict classmethod

from_dict(data: dict[str, Any]) -> ToolResultSourceRef

ToolNameSinkRef dataclass

ToolNameSinkRef(tool_call_index: int)

tool_call_index instance-attribute

tool_call_index: int

from_dict classmethod

from_dict(data: dict[str, Any]) -> ToolNameSinkRef

ToolArgumentSinkRef dataclass

ToolArgumentSinkRef(tool_call_index: int, param: str)

tool_call_index instance-attribute

tool_call_index: int

param instance-attribute

param: str

from_dict classmethod

from_dict(data: dict[str, Any]) -> ToolArgumentSinkRef

Violation dataclass

Violation(
    sink_ref: SinkRef, source_ref: SourceRef, evidence: str
)

sink_ref instance-attribute

sink_ref: SinkRef

source_ref instance-attribute

source_ref: SourceRef

evidence instance-attribute

evidence: str

from_dict classmethod

from_dict(data: dict[str, Any]) -> Violation

UsageStats dataclass

UsageStats(input_tokens: int, output_tokens: int)

input_tokens instance-attribute

input_tokens: int

output_tokens instance-attribute

output_tokens: int

from_dict classmethod

from_dict(data: dict[str, Any]) -> UsageStats

ToolCallComponentAnalysisResult dataclass

ToolCallComponentAnalysisResult(
    sink_kind: SinkKind,
    sink_value: str,
    decision: Decision,
    violations: list[Violation],
)

sink_kind instance-attribute

sink_kind: SinkKind

sink_value instance-attribute

sink_value: str

decision instance-attribute

decision: Decision

violations instance-attribute

violations: list[Violation]

denied property

denied: bool

from_dict classmethod

from_dict(
    data: dict[str, Any],
) -> ToolCallComponentAnalysisResult

ToolCallAnalysisResult dataclass

ToolCallAnalysisResult(
    name: str,
    status: Status,
    decision: Decision,
    components: list[ToolCallComponentAnalysisResult],
)

name instance-attribute

name: str

status instance-attribute

status: Status

decision instance-attribute

decision: Decision

components instance-attribute

denied property

denied: bool

denied_components property

denied_components: list[ToolCallComponentAnalysisResult]

from_dict classmethod

from_dict(data: dict[str, Any]) -> ToolCallAnalysisResult

AnalyzeResponse dataclass

AnalyzeResponse(
    id: str,
    created_at: int,
    usage: UsageStats,
    results: list[ToolCallAnalysisResult],
)

id instance-attribute

id: str

created_at instance-attribute

created_at: int

usage instance-attribute

usage: UsageStats

results instance-attribute

results: list[ToolCallAnalysisResult]

denied property

denied: bool

denied_results property

denied_results: list[ToolCallAnalysisResult]

explain

explain() -> str

raise_if_denied

raise_if_denied() -> None

from_dict classmethod

from_dict(data: dict[str, Any]) -> AnalyzeResponse

from_http_response classmethod

from_http_response(response: Any) -> AnalyzeResponse