feat: add run script

This commit is contained in:
2025-04-27 23:50:22 +08:00
parent 6867de838e
commit 97acbfcf35
11 changed files with 93 additions and 517 deletions

View File

@@ -75,6 +75,9 @@ export type AssistantConfigData = {
apiKey?: string;
model?: string;
};
scripts?: {
[key: string]: string;
};
};
let assistantConfig: AssistantConfigData;
type AssistantConfigOptions = {

View File

@@ -1,25 +1,36 @@
import { pino } from 'pino';
export class Logger {
level: string;
constructor(level: string) {
this.level = level;
}
info(message: string, data?: any, ...args: any[]) {
if (this.level === 'info') {
console.log(`INFO: ${message}`, data, ...args);
}
}
error(message: string, data?: any, ...args: any[]) {
if (this.level === 'error') {
console.error(`ERROR: ${message}`, data, ...args);
}
}
warn(message: string, data?: any, ...args: any[]) {
if (this.level === 'warn') {
console.warn(`WARN: ${message}`, data, ...args);
}
}
debug(message: string, data?: any, ...args: any[]) {
if (this.level === 'debug') {
console.debug(`DEBUG: ${message}`, data, ...args);
}
}
log(message: string, ...args: any[]) {
if (this.level === 'log') {
console.log(`LOG: ${message}`, ...args);
}
}
}
const logger = new Logger(process.env.LOG_LEVEL || 'info');
export const logger = pino({
level: process.env.LOG_LEVEL || 'info',
transport: {
target: 'pino-pretty',
options: {
colorize: true,
translateTime: 'SYS:standard',
ignore: 'pid,hostname',
},
},
serializers: {
error: pino.stdSerializers.err,
req: pino.stdSerializers.req,
res: pino.stdSerializers.res,
},
base: {
app: 'assistant',
env: process.env.NODE_ENV || 'production',
},
});
export const console = {
log: logger.info,
error: logger.error,
@@ -28,10 +39,10 @@ export const console = {
debug: logger.debug,
};
export const logError = (message: string, data?: any) => logger.error({ data }, message);
export const logWarning = (message: string, data?: any) => logger.warn({ data }, message);
export const logInfo = (message: string, data?: any) => logger.info({ data }, message);
export const logDebug = (message: string, data?: any) => logger.debug({ data }, message);
export const logError = (message: string, data?: any) => logger.error(data, message);
export const logWarning = (message: string, data?: any) => logger.warn(data, message);
export const logInfo = (message: string, data?: any) => logger.info(data, message);
export const logDebug = (message: string, data?: any) => logger.debug(data, message);
export const log = {
log: logInfo,