naisys
Version:
NAISYS - Autonomous AI agent runner with built-in context management and cost tracking
36 lines • 1.23 kB
JavaScript
import { getTextContent } from "../../llm/llmDtos.js";
export function createLogService(hubLogBuffer, runService, localUserId, attachmentService) {
function write(message, filepath) {
if (!hubLogBuffer)
return;
const { getRunId, getSessionId } = runService;
const entry = {
userId: localUserId,
runId: getRunId(),
sessionId: getSessionId(),
role: toSimpleRole(message.role),
source: message.source ?? null,
type: message.type ?? null,
message: message.logMessage ?? getTextContent(message.content),
createdAt: new Date().toISOString(),
};
const resolveAttachment = filepath && attachmentService
? () => attachmentService.upload(filepath, "context")
: undefined;
hubLogBuffer.pushEntry(entry, resolveAttachment);
}
function toSimpleRole(role) {
switch (role) {
case "assistant":
return "LLM";
case "user":
return "NAISYS";
case "system":
return "NAISYS";
}
}
return {
write,
};
}
//# sourceMappingURL=logService.js.map