Release v0.18.7

This commit is contained in:
Mario Zechner 2025-12-12 11:15:26 +01:00
parent c43395bac3
commit 80a04fb1aa
13 changed files with 58 additions and 45 deletions

View file

@ -581,9 +581,11 @@ function createRunner(sandboxConfig: SandboxConfig, channelId: string, channelDi
log.logInfo(`Context sizes - system: ${systemPrompt.length} chars, memory: ${memory.length} chars`);
log.logInfo(`Channels: ${ctx.channels.length}, Users: ${ctx.users.length}`);
// Build user message with username prefix
// Format: "[username]: message" so LLM knows who's talking
let userMessage = `[${ctx.message.userName || "unknown"}]: ${ctx.message.text}`;
// Build user message with timestamp and username prefix
// Format: "[YYYY-MM-DD HH:MM:SS] [username]: message" so LLM knows when and who
const now = new Date();
const timestamp = now.toISOString().slice(0, 19).replace("T", " ");
let userMessage = `[${timestamp}] [${ctx.message.userName || "unknown"}]: ${ctx.message.text}`;
// Add attachment paths if any (convert to absolute paths in execution environment)
if (ctx.message.attachments && ctx.message.attachments.length > 0) {

View file

@ -615,8 +615,11 @@ export function syncLogToContext(channelDir: string, excludeAfterTs?: string): n
if (entry.type === "message" && entry.message?.role === "user") {
let content =
typeof entry.message.content === "string" ? entry.message.content : entry.message.content?.[0]?.text;
// Strip attachments section for comparison (live messages have it, log messages don't)
if (content) {
// Strip timestamp prefix for comparison (live messages have it, log messages don't)
// Format: [YYYY-MM-DD HH:MM:SS] [username]: text
content = content.replace(/^\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\] /, "");
// Strip attachments section for comparison (live messages have it, log messages don't)
const attachmentsIdx = content.indexOf("\n\n<slack_attachments>\n");
if (attachmentsIdx !== -1) {
content = content.substring(0, attachmentsIdx);