Files
omnichannel-configserver-mcp/internal/tools/util.go
T
2026-10-07 20:13:23 +07:00

20 lines
896 B
Go

package tools
import "strconv"
// util.go — небольшие помощники MCP-слоя.
// truncateText ограничивает длинный вывод (задачи, compose, env), чтобы он не
// съел контекст модели. По умолчанию оставляем хвост: ошибки сборки/деплоя
// обычно в конце вывода. Второй результат — был ли вывод обрезан.
func truncateText(s string, maxBytes int, tail bool) (string, bool) {
if maxBytes <= 0 || len(s) <= maxBytes {
return s, false
}
cut := len(s) - maxBytes
if tail {
return "…(обрезано " + strconv.Itoa(cut) + " байт, показан хвост)\n" + s[len(s)-maxBytes:], true
}
return s[:maxBytes] + "\n…(обрезано " + strconv.Itoa(cut) + " байт, показано начало)", true
}