Files
brain/tools/secretary-layer1.mjs
T

14 lines
834 B
JavaScript

// Чистый билдер сырой записи Слоя 1 (§L1). PII вырезается вызывающим хуком до записи;
// чтение источника (transcript_path) — в хук-обёртке. Здесь — только формат.
export function buildRawRecord({ turn, time, session, user, assistant, actions = [] } = {}) {
const acts = Array.isArray(actions) ? actions : [];
const lines = [`=== ХОД turn=${turn} · ${time} · session=${session} ===`,
'[ЮЗЕР]', String(user ?? ''), '[АССИСТЕНТ]', String(assistant ?? '')];
for (const a of acts) {
lines.push(`[ДЕЙСТВИЕ] ${a.tool} in=${a.input ?? ''}`);
lines.push(`[ВЫДАЧА] ${a.tool}`, String(a.result ?? ''));
}
lines.push('=== КОНЕЦ ХОДА ===', '');
return lines.join('\n');
}