Scribbler310's picture
feat: enhance dashboard
c2b7eb3 verified
let _langchain_core_messages = require("@langchain/core/messages");
//#region src/utils/misc.ts
const iife = (fn) => fn();
function isReasoningModel(model) {
if (!model) return false;
if (/^o\d/.test(model ?? "")) return true;
if (model.startsWith("gpt-5") && !model.startsWith("gpt-5-chat")) return true;
return false;
}
function extractGenericMessageCustomRole(message) {
if (message.role !== "system" && message.role !== "developer" && message.role !== "assistant" && message.role !== "user" && message.role !== "function" && message.role !== "tool") console.warn(`Unknown message role: ${message.role}`);
return message.role;
}
function getFilenameFromMetadata(block) {
return block.metadata?.filename ?? block.metadata?.name ?? block.metadata?.title;
}
const LC_AUTOGENERATED_FILENAME = "LC_AUTOGENERATED";
function getRequiredFilenameFromMetadata(block) {
const filename = block.metadata?.filename ?? block.metadata?.name ?? block.metadata?.title;
if (!filename) {
console.warn("OpenAI may require a filename for file uploads. Specify a filename in the content block metadata, e.g.: { type: 'file', mimeType: '...', data: '...', metadata: { filename: 'my-file.pdf' } }. Using placeholder filename 'LC_AUTOGENERATED'.");
return LC_AUTOGENERATED_FILENAME;
}
return filename;
}
function messageToOpenAIRole(message) {
const type = message._getType();
switch (type) {
case "system": return "system";
case "ai": return "assistant";
case "human": return "user";
case "function": return "function";
case "tool": return "tool";
case "generic":
if (!_langchain_core_messages.ChatMessage.isInstance(message)) throw new Error("Invalid generic chat message");
return extractGenericMessageCustomRole(message);
default: throw new Error(`Unknown message type: ${type}`);
}
}
function _modelPrefersResponsesAPI(model) {
if (model.includes("gpt-5.2-pro")) return true;
if (model.includes("gpt-5.4-pro")) return true;
if (model.includes("gpt-5.5-pro")) return true;
if (model.includes("codex")) return true;
return false;
}
//#endregion
exports._modelPrefersResponsesAPI = _modelPrefersResponsesAPI;
exports.getFilenameFromMetadata = getFilenameFromMetadata;
exports.getRequiredFilenameFromMetadata = getRequiredFilenameFromMetadata;
exports.iife = iife;
exports.isReasoningModel = isReasoningModel;
exports.messageToOpenAIRole = messageToOpenAIRole;
//# sourceMappingURL=misc.cjs.map