What's Changed
- fix(query): unify history search across the CLI, SDK and MCP by @barryollama in #277
- fix(query): stable composite history cursors and inclusive time windows by @barryollama in #282
- feat(sdk)!: read the change feed from Node — changes / commit_changes dispatcher ops, native contract 25 by @barryollama in #274
- SDK: local source plugins (location: 'local' with declared roots) by @barryollama in #281
- feat(muse): index Muse Code sessions as a first-class source by @barryollama in #259
- feat(store): record which side backs each evidence row by @barryollama in #266
- feat(mcp): list live Relay agents locally by @miyaontherelay in #291
- feat(mcp): let sessions join and leave relay by @khaliqgant in #300
- ci: burn contract-drift job and weekly second-parser tripwire (#183, #184) by @barryollama in #293
- test(sdk): #181 acceptance on the Rust corpus; scrub every history-root env var by @barryollama in #294
- docs(claude): record why ~/.claude/transcripts/ is not a Claude root (#208) by @barryollama in #295
- refactor(sources): derive the per-source registry from one LocalSource descriptor (#177) by @barryollama in #296
- feat(codex): gate the parent history a forked rollout replays (#210) by @barryollama in #297
- feat(grok): read per-inference usage from logs/unified.jsonl (#212) by @barryollama in #298
- perf(sync): stop re-reading and re-querying unchanged files on every sweep (#42, #215) by @barryollama in #299
- Make npm release visibility failures recoverable by @willwashburn in #302
- fix(store): retire trajectory_fts and its Python-era triggers by @willwashburn in #303
- feat(cli): announce a pending schema migration before running it by @willwashburn in #304
Full Changelog: sdk-ts-v0.31.0...sdk-ts-v0.32.3