Repository navigation
Releases: wibus-wee/huihua
Release list
Huihua v0.4.6
This release accepts reviewed producer format drift across Claude Code, Codex, Copilot and Hermes.
Improvements
- Preserve Claude Code 2.1.300+ subagent
api-request,api-request-shapeandapi-request-blobrecords as child rows when they are file-backed inside a matchingagent-<agentId>.jsonltranscript, without inferring provider semantics from the request payload. - Accept Codex 0.163.0 response metadata (
status, emptyannotations/logprobs) and the reviewed repeatedthread_settings_appliedshape alongside the existing 0.161.0 and 0.162.0 variants. - Accept Copilot CLI 1.0.97 system-message drift and the 1.0.98
sessionWasActiveresume field while keeping system payloads and event mapping unchanged. - Accept Hermes pinned/latest
stateinventory row variants without assigning canonical meaning to the new runtime counters or routing metadata. - Refresh compatibility baselines for Claude, Copilot, Codex, Hermes, Qwen, Grok and ACP.
Full Changelog: v0.4.5...v0.4.6
Huihua v0.4.5
Huihua v0.4.5
This release improves Copilot usage reporting and preserves additional OAR session activity.
Improvements
- Read Copilot CLI per-call
session.usage_recordusage data while excluding cumulative checkpoint and shutdown metrics from response token totals. - Preserve OAR
turn_activeevents as system events with their original payload and attribution. - Expand compatibility coverage for recent Claude Code and Codex formats.
Full Changelog: v0.4.4...v0.4.5
Huihua v0.4.4
Huihua v0.4.4
This release adds an extension decoder API and improves Pi session discovery.
Features
- Add
SessionDecoder: synchronous per-replay decoders that contribute events, extension metadata and parent-session candidates from raw records, available viacreatePiProvider({ decoders })and third-partyjsonlProvideradapters.
Bug Fixes
- Reject non-session JSONL files during Pi discovery.
Full Changelog: [v0.4.3...v0.4.4](v0.4.3...v0.4.4)
Huihua v0.4.3
This release improves fx and Claude session compatibility and speeds up reads from live SQLite-backed sessions.
Bug Fixes
- Read fx schema-4 metadata and native conversation events.
- Preserve Claude subagent identity and parent lineage.
Performance
- Optimize live SQLite session reads while preserving source order and session evidence.
Full Changelog: v0.4.1...v0.4.3
Huihua v0.4.2
Huihua v0.4.2
This release improves fx session compatibility and speeds up reads from live SQLite-backed sessions.
Bug Fixes
- Read fx schema-4 metadata and native conversation events.
Performance
- Optimize live SQLite session reads while preserving source order and session evidence.
Full Changelog: v0.4.1...v0.4.2
Huihua v0.4.1
Huihua v0.4.1
This release improves session compatibility and fixes token usage reporting across supported coding agents.
Features
- Support Antigravity CLI JSONL transcripts and Markdown artifacts.
- Support Grok chat histories and native subagent metadata.
Bug Fixes
- Fix Kimi message and tool parsing, and count all four native token counters without double-counting mirrored usage.
- Restore Codex usage model attribution from recorded turn context while keeping missing models unknown.
- Improve tool results, errors and metadata handling for Cursor, Claude, DeepSeek, Droid, Hermes, Copilot and Qwen.
- Fix Devin SQLite reads with commented schemas and preserve recorded image attachments.
- Fix Grok Linux permission errors when importing portable files.
- Expand local session discovery and metadata support for Cline, Claude, OpenClaw and fx.
- Fix JSONL resource cleanup on completion, early return and cancellation.
Performance
- Reduce repeated OpenCode database scans while preserving native order and session evidence.
Full Changelog: v0.4.0...v0.4.1
Huihua v0.4.0
This release adds provider-authoring helpers, optional selective session reading, and broader native-store coverage.
Added
huihua/ingest: a provider-authoring kit exposing the existing bounded ingestion helpers, JSONL framing, JSON/SQLite store factories and discovery utilities.huihua/registry: compose a custom registry without loading builtin providers.millisOf(timestamp): convert native timestamps to epoch milliseconds; absent or unparseable timestamps remain absent.- Optional
OpenSession.select()andconsume()capabilities for selective frame and callback delivery. Claude and Codex also exposeconsumeUsage()andconsumeUsageFacts()through their existing parsers. Diagnostics and source validation remain active. - Cursor chat and ACP
store.dbsupport for the confirmed persisted text graph.
Repeated references retain repeated events; private variants and unreferenced blobs remain native evidence. - Claude Desktop/Cowork discovery and combined environment, conventional and XDG roots.
Kimi file-backed sessions expose native agent identity and role metadata. - A private
@huihua/usageworkspace CLI for daily token totals and model breakdowns, with date/timezone filters, text/JSON output and opt-in--workers 2|4.
It is an example consumer, not a separately published package.
Fixed
- Certify Qwen, Claude, Cursor and historical OpenCode directory candidates using
bounded native metadata checks, reducing false-positive session discovery.
Explicit file inputs remain available for portable evidence acquisition. - Fall back to conventional Qwen roots when configured projects are missing or
are not a directory; an existing empty configured directory remains authoritative. - Group events by record in the registry's read-only SPI fallback instead of
rescanning every event for each record.
Compatibility
The session schema remains agent-session/v1.
Existing full reads preserve complete records, source order, repeated IDs and unknown data.
New reading capabilities are optional; check member presence on the handle.
Directory scans may now omit unrelated or uncertifiable files previously returned as sessions.
Provider coverage remains evidence-backed and does not certify every private format or product release.
The private Usage CLI emits huihua-usage/v2, replacing its unreleased
observation-only v1 output.
It rejects discovery failures rather than reporting incomplete coverage as complete totals. Missing counters remain unavailable and uncertain totals are labeled partial.
APIs remain under active development and may change between releases.
Huihua v0.3.0
Highlights
- Add incremental streaming for acquired JSONL input with
sessions.stream(), including async byte sources. - Preserve session discoveries when scans encounter errors.
sessions.scan()now returns both refs and failures;sessions.scanStream()emits discoveries and failures as they occur. - Improve JSONL streaming performance.
- Normalize Cursor role-less failed turns as error events.
- Expose all built-in provider IDs through the
Providertype.
Breaking changes
sessions.scan()andregistry.scan()now return{ refs, failures }instead of aSessionRef[].- Provider adapters must implement
scan()as anAsyncIterable<ScanEvent>.
Update callers to read result.refs and result.failures. Custom providers should yield ref and failure scan events.
Upgrade
pnpm add huihua@0.3.0