package com.gzzm.lobster.parse;

/**
 * ParseResult —— DocumentParser 的产出 / Output of a parser pass.
 *
 * <p>包含两份工件：markdown 正文 + 完整 outline 对象。后续由 UploadService
 * 分别落 ContentStore 两份文件，并生成 outline summary 冗余到
 * {@code WorkspaceResource.metadataJson}。
 */
public class ParseResult {

    private final String kind;
    private final String markdown;
    private final Outline outline;

    public ParseResult(String kind, String markdown, Outline outline) {
        this.kind = kind;
        this.markdown = markdown;
        this.outline = outline;
    }

    public String getKind() { return kind; }
    public String getMarkdown() { return markdown; }
    public Outline getOutline() { return outline; }
    public int getTotalChars() { return markdown == null ? 0 : markdown.length(); }
}
