Packages
@relayburn/reader@1.10.0(tag:reader-v1.10.0)@relayburn/ledger@1.10.0(tag:ledger-v1.10.0)@relayburn/analyze@1.10.0(tag:analyze-v1.10.0)@relayburn/ingest@1.10.0(tag:ingest-v1.10.0)@relayburn/sdk@1.10.0(tag:sdk-v1.10.0)@relayburn/mcp@1.10.0(tag:mcp-v1.10.0)@relayburn/cli@1.10.0(tag:cli-v1.10.0)relayburn@1.10.0(tag:relayburn-v1.10.0)
Package Changelogs
@relayburn/sdk
Breaking Changes
hotspots()now returns a discriminated union ({ kind: 'attribution' | 'bash' | 'bash-verb' | 'file' | 'subagent' | 'findings' }) instead of either an attribution blob or a raw findings array. Callers must branch onkind. The default (nogroupBy, nopatterns) returns theattributionshape that mirrorsburn hotspots --json. Passpatternsto getfindings. PassgroupByto narrow attribution to one axis (bash/bash-verb/file/subagent). Warrants the SDK major bump.
Added
hotspots({ groupBy })narrows attribution to one aggregation axis:bash,bash-verb,file, orsubagent. Useful for MCP tools and embedders that only want a single per-axis cut.hotspots({ project, since })accept the same forwarded options the other SDK queries do (project filter + ISO/relativesincewindow normalization).hotspots()reads through the SQLite archive by default with transparent fallback to the JSONL ledger walk on archive failure. PassonLogto capture the fallback reason.hotspots()surfaces a coverage-refusal shape (refused: true+refusalReason) when every matched turn lacks the tool-call/tool-result coverageattributeHotspotsneeds, so presenters can map it to the user-facing exit-2 + stderr message.