Skip to content

v0.4.0

Choose a tag to compare

@vibheksoni vibheksoni released this 16 Oct 17:55
· 6 commits to main since this release

Added

  • Options to leave out thinking and tool calls. --no-thinking and --no-tool-calls on convert, bulk, and to-trace. Environment variables UNISESSIONS_NO_THINKING and UNISESSIONS_NO_TOOL_CALLS. The SDK has ConversionOptions and conversion_options(). Thinking and tool calls carry across by default.
  • Thinking and tool calls in every direction. Each target writes its own native shape: Claude thinking blocks (unsigned), Codex reasoning and function calls, Factory thinking/tool_use/tool_result, Grok and Freebuff tool calls, and Windsurf Cascade steps.
  • ML-ready traces. OpenAI fine-tuning format carries assistant tool_calls and role: tool messages. ShareGPT (LLaMA-Factory) carries function_call and observation. Reasoning is written as a <think> block. HuggingFace STS stays text-only.
  • Grok. Reads grok-cli's grok.db as well as Grok Build folders. Writes go into grok.db, so grok-cli can open the converted session.
  • Windsurf. Reads grep, view, list, find, MCP, and shell steps, code actions, todo lists, and step errors. Writes planner steps with thinking and tool calls.

Changed

  • --on-conflict update rewrites a destination only when the source file is newer. Before, it compared message counts.
  • export-all now writes to all nine targets. Before, it skipped every target except Pi and OpenCode.
  • Codex output keeps summaries as reasoning and writes function calls.

Notes

  • Directions: 90 total (72 direct conversions, plus 18 with T3).
  • Tests: 96 passing.
  • Converted files have not been opened in every target app. The round trips were checked with our own readers and the real-sample matrix.

Full changes: v0.3.0...v0.4.0