Public declaration syntax from forge-py/src/forge/telemetry/contract.py Original source SHA-256: a8fb592a5293cd8f06ae73bd3106860a109fdb3f3fe50838e980503f29bb6e94 Function bodies and constant values are omitted. This is not the complete implementation. Source line 25 class SpanId() Source line 42 def __init__(self, value: str) -> None Source line 46 def generate(cls) -> SpanId Source line 61 def from_string(cls, value: str) -> SpanId Source line 91 class AuditEventKind(Enum) Source line 120 class AuditEvent() Source line 153 def new(cls, kind: AuditEventKind, agent_did: str, details: Any) -> AuditEvent Source line 180 def with_signature(self, signature: str) -> AuditEvent Source line 197 class TelemetryContract(Protocol) Source line 211 def start_span(self, name: str, attributes: list[tuple[str, str]] | None=None) -> SpanId Source line 227 def end_span(self, span_id: SpanId) -> None Source line 235 def emit_event(self, event: AuditEvent) -> None Source line 243 def flush(self) -> None Source line 256 class NoopTelemetry() Source line 271 def start_span(self, name: str, attributes: list[tuple[str, str]] | None=None) -> SpanId Source line 279 def end_span(self, span_id: SpanId) -> None Source line 282 def emit_event(self, event: AuditEvent) -> None Source line 285 def flush(self) -> None