Google calendar skill (#5442)

* Google Calendar Agent

* forgot files

* Translations (#5443)
This commit is contained in:
Timothy Carambat
2026-04-14 16:39:36 -07:00
committed by GitHub
parent 177049bd4a
commit 1cea4df8e6
51 changed files with 4618 additions and 97 deletions

View File

@@ -52,6 +52,8 @@ const SystemSettings = {
"disabled_create_files_skills",
"disabled_gmail_skills",
"gmail_agent_config",
"disabled_google_calendar_skills",
"google_calendar_agent_config",
"disabled_outlook_skills",
"outlook_agent_config",
"imported_agent_skills",
@@ -75,6 +77,8 @@ const SystemSettings = {
"disabled_create_files_skills",
"disabled_gmail_skills",
"gmail_agent_config",
"disabled_google_calendar_skills",
"google_calendar_agent_config",
"disabled_outlook_skills",
"outlook_agent_config",
"agent_sql_connections",
@@ -236,6 +240,49 @@ const SystemSettings = {
GmailBridge.reset();
}
},
disabled_google_calendar_skills: (updates) => {
try {
const skills = updates.split(",").filter((skill) => !!skill);
return JSON.stringify(skills);
} catch {
console.error(`Could not validate disabled google calendar skills.`);
return JSON.stringify([]);
}
},
google_calendar_agent_config: async (update) => {
const GoogleCalendarBridge = require("../utils/agents/aibitat/plugins/google-calendar/lib");
try {
if (!update) return JSON.stringify({});
const newConfig =
typeof update === "string" ? safeJsonParse(update, {}) : update;
const existingConfig = safeJsonParse(
(await SystemSettings.get({ label: "google_calendar_agent_config" }))
?.value,
{}
);
const mergedConfig = { ...existingConfig };
mergeStringField(mergedConfig, newConfig, "deploymentId");
mergeStringField(
mergedConfig,
newConfig,
"apiKey",
(v) => !v.match(/^\*+$/)
);
return JSON.stringify(mergedConfig);
} catch (e) {
console.error(
`Could not validate google calendar agent config:`,
e.message
);
return JSON.stringify({});
} finally {
GoogleCalendarBridge.reset();
}
},
disabled_outlook_skills: (updates) => {
try {
const skills = updates.split(",").filter((skill) => !!skill);