71 lines
6.6 KiB
JavaScript
71 lines
6.6 KiB
JavaScript
import path from 'node:path';
|
|
import { resolve } from '@polymech/commons';
|
|
import { winstonLogger, } from '@polymech/ai-tools';
|
|
import { getLogger } from './index.js';
|
|
export const collector = (options, client) => {
|
|
const loggerIntern = getLogger(options);
|
|
return {
|
|
//OpenAI
|
|
onMessage: (message) => {
|
|
const logFile = path.resolve(path.join(resolve(options.logs), 'openai-message.json'));
|
|
const logger = winstonLogger('collector:onMessage', logFile);
|
|
logger.info(message);
|
|
},
|
|
onToolCall: async (message) => {
|
|
const logFile = path.resolve(path.join(resolve(options.logs), 'tool-call.json'));
|
|
const logger = winstonLogger('collector:onToolCall', logFile);
|
|
try {
|
|
const msg = { ...message, arguments: JSON.parse(message.arguments) };
|
|
logger.debug(msg);
|
|
}
|
|
catch (e) {
|
|
logger.debug(message);
|
|
}
|
|
},
|
|
onFunctionCallResult: (message) => {
|
|
const logFile = path.resolve(path.join(resolve(options.logs), 'tool-call-result.json'));
|
|
const logger = winstonLogger('collector:onFunctionCallResult', logFile);
|
|
try {
|
|
const msg = { message: JSON.parse(message) };
|
|
logger.debug(msg);
|
|
}
|
|
catch (e) {
|
|
logger.debug(message);
|
|
}
|
|
},
|
|
onChatCompletion: (message) => {
|
|
const logFile = path.resolve(path.join(resolve(options.logs), 'completion.json'));
|
|
const logger = winstonLogger('collector:onChatCompletion', logFile);
|
|
logger.debug(message);
|
|
},
|
|
onContent: (content) => {
|
|
const logFile = path.resolve(path.join(resolve(options.logs), 'content.json'));
|
|
const logger = winstonLogger('collector:onContent', logFile);
|
|
logger.debug(content);
|
|
},
|
|
onTool(category, name, args, result) {
|
|
const logFile = path.resolve(path.join(resolve(options.logs), 'tool.json'));
|
|
const logger = winstonLogger('collector:onTool', logFile);
|
|
logger.debug({ category, name, args, result });
|
|
},
|
|
onToolBefore: async (ctx, args) => {
|
|
try {
|
|
loggerIntern.debug(`onToolBefore :${ctx.name}`);
|
|
}
|
|
catch (e) {
|
|
loggerIntern.error(e);
|
|
}
|
|
return args;
|
|
},
|
|
onToolAfter: async (ctx, args, result) => {
|
|
try {
|
|
loggerIntern.debug(`onToolAfter : ${ctx.name}`);
|
|
}
|
|
catch (e) {
|
|
loggerIntern.error(e);
|
|
}
|
|
return result[0];
|
|
}
|
|
};
|
|
};
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbGxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUE7QUFJNUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRzNDLE9BQU8sRUFBRSxhQUFhLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQTtBQUVuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBSXRDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLE9BQXFCLEVBQUUsTUFBYyxFQUFjLEVBQUU7SUFDM0UsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3ZDLE9BQU87UUFDSCxRQUFRO1FBQ1IsU0FBUyxFQUFFLENBQUMsT0FBbUMsRUFBRSxFQUFFO1lBQy9DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLHFCQUFxQixDQUFDLENBQUMsQ0FBQTtZQUNyRixNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMscUJBQXFCLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDNUQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN4QixDQUFDO1FBQ0QsVUFBVSxFQUFFLEtBQUssRUFBRSxPQUEyQyxFQUFFLEVBQUU7WUFDOUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFBO1lBQ2hGLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUM3RCxJQUFJLENBQUM7Z0JBQ0QsTUFB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
|