@inworld/web-core
Version:
39 lines (38 loc) • 1.34 kB
JavaScript
import { LogsEventLogLevel, } from '../../../proto/ai/inworld/packets/packets.pb.js';
import { LogLevel, } from '../../common/data_structures/index.js';
export class LogsEvent {
constructor({ text, level, metadata, details, }) {
this.text = text;
this.level = level;
this.metadata = metadata;
if ((details === null || details === void 0 ? void 0 : details.length) >= 0) {
this.details = details;
}
}
static fromProto(proto) {
var _a;
return new LogsEvent({
text: proto.text,
level: this.getLogLevel(proto.level),
metadata: proto.metadata,
details: (_a = proto.details) === null || _a === void 0 ? void 0 : _a.map((detail) => ({
text: detail.text,
detail: detail.detail,
})),
});
}
static getLogLevel(logLevel) {
switch (logLevel) {
case LogsEventLogLevel.WARNING:
return LogLevel.WARNING;
case LogsEventLogLevel.INFO:
return LogLevel.INFO;
case LogsEventLogLevel.DEBUG:
return LogLevel.DEBUG;
case LogsEventLogLevel.INTERNAL:
return LogLevel.INTERNAL;
default:
return LogLevel.UNSPECIFIED;
}
}
}