sovereign import-chat parses ChatGPT's and Claude's official exports directly, Gemini's Takeout experimentally, and everything else through the documented generic JSON format (docs/CHAT_IMPORT.md). Le Chat has an export; a dedicated parser would let its users move in without hand-converting.
What this needs first: the export's actual shape, from a real export. A redacted structural sample in this issue (keys and shapes, values replaced) is the deliverable of the first comment. Parsers here are dependency-free, idempotent on re-import, and every imported record carries its provenance; src/chat-import/claude.js is the one to copy, and test/chat-import.test.js shows the fixtures.
Done when: a Le Chat export imports with conversations, messages, and timestamps intact, re-importing the same file adds nothing, and the format is documented in docs/CHAT_IMPORT.md.
sovereign import-chatparses ChatGPT's and Claude's official exports directly, Gemini's Takeout experimentally, and everything else through the documented generic JSON format (docs/CHAT_IMPORT.md). Le Chat has an export; a dedicated parser would let its users move in without hand-converting.What this needs first: the export's actual shape, from a real export. A redacted structural sample in this issue (keys and shapes, values replaced) is the deliverable of the first comment. Parsers here are dependency-free, idempotent on re-import, and every imported record carries its provenance;
src/chat-import/claude.jsis the one to copy, andtest/chat-import.test.jsshows the fixtures.Done when: a Le Chat export imports with conversations, messages, and timestamps intact, re-importing the same file adds nothing, and the format is documented in
docs/CHAT_IMPORT.md.