Подключение
Базовый URL, учётные данные и доступный сервер.
Разбейте исходящий текст бота по заданному пределу длины UTF-16, не разделяя суррогатную пару. Проверьте эмодзи на границе, пустое сообщение и блок кода, сохраняя исходный текст при объединении фрагментов.
Базовый URL, учётные данные и доступный сервер.
Модель, которую предоставляет настроенный endpoint.
Объём контекста и поддержка инструментов определяются моделью и сервером.
if (!Number.isInteger(start) || start < 0 || start > text.length) {
throw new Error("start.invalid");
}
if (!Number.isInteger(limit) || limit < 1) throw new Error("limit.invalid");
if (start === text.length) return "";
let end = Math.min(start + limit, text.length);
const last = text.charCodeAt(end - 1);
if (end < text.length && last >= 0xD800 && last <= 0xDBFF) end--;
if (end === start) throw new Error("limit.too_small");
return text.slice(start, end);