Project Files
config.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.pluginConfigSchematics = void 0;
const sdk_1 = require("@lmstudio/sdk");
exports.pluginConfigSchematics = (0, sdk_1.createConfigSchematics)()
// โโ Account 1 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
.field("account1Label", "string", {
displayName: "Account 1 โ Label",
subtitle: "Friendly name shown in tool responses (e.g. Work, Personal, Gmail).",
}, "Personal")
.field("account1ImapHost", "string", {
displayName: "Account 1 โ IMAP Host",
subtitle: "e.g. imap.gmail.com ยท outlook.office365.com ยท imap.mail.yahoo.com",
}, "")
.field("account1ImapPort", "numeric", {
int: true, min: 1, max: 65535,
displayName: "Account 1 โ IMAP Port",
subtitle: "993 = SSL (recommended) ยท 143 = STARTTLS",
}, 993)
.field("account1User", "string", {
displayName: "Account 1 โ Email Address",
subtitle: "Your full email address (used as IMAP/SMTP username).",
}, "")
.field("account1Password", "string", {
displayName: "Account 1 โ Password / App Password",
subtitle: "Gmail: create an App Password at myaccount.google.com/apppasswords.",
}, "")
.field("account1SmtpHost", "string", {
displayName: "Account 1 โ SMTP Host",
subtitle: "e.g. smtp.gmail.com ยท smtp-mail.outlook.com. Leave blank to disable sending.",
}, "")
.field("account1SmtpPort", "numeric", {
int: true, min: 1, max: 65535,
displayName: "Account 1 โ SMTP Port",
subtitle: "587 = STARTTLS (recommended) ยท 465 = SSL",
}, 587)
// โโ Account 2 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
.field("account2Label", "string", {
displayName: "Account 2 โ Label",
subtitle: "Friendly name. Leave blank to disable this account slot.",
}, "")
.field("account2ImapHost", "string", {
displayName: "Account 2 โ IMAP Host",
subtitle: "e.g. imap.gmail.com",
}, "")
.field("account2ImapPort", "numeric", {
int: true, min: 1, max: 65535,
displayName: "Account 2 โ IMAP Port",
}, 993)
.field("account2User", "string", {
displayName: "Account 2 โ Email Address",
}, "")
.field("account2Password", "string", {
displayName: "Account 2 โ Password / App Password",
}, "")
.field("account2SmtpHost", "string", {
displayName: "Account 2 โ SMTP Host",
subtitle: "Leave blank to disable sending for this account.",
}, "")
.field("account2SmtpPort", "numeric", {
int: true, min: 1, max: 65535,
displayName: "Account 2 โ SMTP Port",
}, 587)
// โโ Account 3 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
.field("account3Label", "string", {
displayName: "Account 3 โ Label",
subtitle: "Friendly name. Leave blank to disable this account slot.",
}, "")
.field("account3ImapHost", "string", {
displayName: "Account 3 โ IMAP Host",
}, "")
.field("account3ImapPort", "numeric", {
int: true, min: 1, max: 65535,
displayName: "Account 3 โ IMAP Port",
}, 993)
.field("account3User", "string", {
displayName: "Account 3 โ Email Address",
}, "")
.field("account3Password", "string", {
displayName: "Account 3 โ Password / App Password",
}, "")
.field("account3SmtpHost", "string", {
displayName: "Account 3 โ SMTP Host",
subtitle: "Leave blank to disable sending for this account.",
}, "")
.field("account3SmtpPort", "numeric", {
int: true, min: 1, max: 65535,
displayName: "Account 3 โ SMTP Port",
}, 587)
// โโ Shared โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
.field("defaultFolder", "string", {
displayName: "Default Folder",
subtitle: "Mailbox folder to search by default (INBOX, All Mail, Sent, etc.).",
}, "INBOX")
.field("maxResults", "numeric", {
int: true, min: 1, max: 200,
displayName: "Max Results",
subtitle: "Maximum emails returned per search or list call.",
slider: { min: 5, max: 100, step: 5 },
}, 20)
.build();