package cn.com.poc.writing.rest;

import cn.com.poc.expose.dto.DialoguesContextDto;
import cn.com.poc.writing.dto.*;
import cn.com.yict.framemax.core.rest.BaseRest;
import cn.com.yict.framemax.web.permission.Access;
import cn.com.yict.framemax.web.permission.Permission;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * @author alex.yao
 * @date 2025/6/20
 */

@Permission(Access.Safety)
public interface AiWritingRest extends BaseRest {

    List<AiWritingExampleDto> example(@RequestParam String type) throws Exception;

    void call(@RequestBody AiWritingDto aiWritingDto) throws Exception;

    List<AiWritingExampleTypeDto> exampleType() throws Exception;

    AiWritingTitleGenerationDto titleGeneration(@RequestBody TitleGenerationDto titleGenerationDto);

    /**
     * 获取对话上下文
     *
     * @param dialogueId 对话ID
     */
    List<AiWritingDialoguesContextDto> getDialogueContext(@RequestParam String dialogueId) throws Exception;

}
