cowork-os 0.3.21 → 0.3.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/README.md +372 -10
  2. package/connectors/README.md +20 -0
  3. package/connectors/asana-mcp/README.md +24 -0
  4. package/connectors/asana-mcp/dist/index.js +427 -0
  5. package/connectors/asana-mcp/package.json +15 -0
  6. package/connectors/asana-mcp/src/index.ts +553 -0
  7. package/connectors/asana-mcp/tsconfig.json +13 -0
  8. package/connectors/hubspot-mcp/README.md +35 -0
  9. package/connectors/hubspot-mcp/dist/index.js +454 -0
  10. package/connectors/hubspot-mcp/package.json +15 -0
  11. package/connectors/hubspot-mcp/src/index.ts +562 -0
  12. package/connectors/hubspot-mcp/tsconfig.json +13 -0
  13. package/connectors/jira-mcp/README.md +49 -0
  14. package/connectors/jira-mcp/dist/index.js +588 -0
  15. package/connectors/jira-mcp/package.json +15 -0
  16. package/connectors/jira-mcp/src/index.ts +711 -0
  17. package/connectors/jira-mcp/tsconfig.json +13 -0
  18. package/connectors/linear-mcp/README.md +22 -0
  19. package/connectors/linear-mcp/dist/index.js +402 -0
  20. package/connectors/linear-mcp/package.json +15 -0
  21. package/connectors/linear-mcp/src/index.ts +522 -0
  22. package/connectors/linear-mcp/tsconfig.json +13 -0
  23. package/connectors/okta-mcp/README.md +24 -0
  24. package/connectors/okta-mcp/dist/index.js +411 -0
  25. package/connectors/okta-mcp/package.json +15 -0
  26. package/connectors/okta-mcp/src/index.ts +520 -0
  27. package/connectors/okta-mcp/tsconfig.json +13 -0
  28. package/connectors/salesforce-mcp/README.md +47 -0
  29. package/connectors/salesforce-mcp/dist/index.js +584 -0
  30. package/connectors/salesforce-mcp/package.json +15 -0
  31. package/connectors/salesforce-mcp/src/index.ts +722 -0
  32. package/connectors/salesforce-mcp/tsconfig.json +13 -0
  33. package/connectors/servicenow-mcp/README.md +26 -0
  34. package/connectors/servicenow-mcp/dist/index.js +400 -0
  35. package/connectors/servicenow-mcp/package.json +15 -0
  36. package/connectors/servicenow-mcp/src/index.ts +500 -0
  37. package/connectors/servicenow-mcp/tsconfig.json +13 -0
  38. package/connectors/templates/mcp-connector/README.md +31 -0
  39. package/connectors/templates/mcp-connector/package.json +15 -0
  40. package/connectors/templates/mcp-connector/src/index.ts +330 -0
  41. package/connectors/templates/mcp-connector/tsconfig.json +13 -0
  42. package/connectors/zendesk-mcp/README.md +40 -0
  43. package/connectors/zendesk-mcp/dist/index.js +431 -0
  44. package/connectors/zendesk-mcp/package.json +15 -0
  45. package/connectors/zendesk-mcp/src/index.ts +543 -0
  46. package/connectors/zendesk-mcp/tsconfig.json +13 -0
  47. package/dist/electron/electron/agent/custom-skill-loader.js +31 -1
  48. package/dist/electron/electron/agent/daemon.js +189 -13
  49. package/dist/electron/electron/agent/executor.js +895 -78
  50. package/dist/electron/electron/agent/llm/anthropic-compatible-provider.js +177 -0
  51. package/dist/electron/electron/agent/llm/azure-openai-provider.js +328 -0
  52. package/dist/electron/electron/agent/llm/bedrock-provider.js +49 -9
  53. package/dist/electron/electron/agent/llm/github-copilot-provider.js +97 -0
  54. package/dist/electron/electron/agent/llm/groq-provider.js +33 -0
  55. package/dist/electron/electron/agent/llm/index.js +13 -1
  56. package/dist/electron/electron/agent/llm/kimi-provider.js +33 -0
  57. package/dist/electron/electron/agent/llm/openai-compatible-provider.js +116 -0
  58. package/dist/electron/electron/agent/llm/openai-compatible.js +111 -0
  59. package/dist/electron/electron/agent/llm/openai-oauth.js +2 -1
  60. package/dist/electron/electron/agent/llm/openrouter-provider.js +1 -1
  61. package/dist/electron/electron/agent/llm/provider-factory.js +350 -4
  62. package/dist/electron/electron/agent/llm/types.js +66 -1
  63. package/dist/electron/electron/agent/llm/xai-provider.js +33 -0
  64. package/dist/electron/electron/agent/search/provider-factory.js +38 -2
  65. package/dist/electron/electron/agent/tools/box-tools.js +231 -0
  66. package/dist/electron/electron/agent/tools/builtin-settings.js +28 -0
  67. package/dist/electron/electron/agent/tools/dropbox-tools.js +237 -0
  68. package/dist/electron/electron/agent/tools/file-tools.js +66 -3
  69. package/dist/electron/electron/agent/tools/google-drive-tools.js +227 -0
  70. package/dist/electron/electron/agent/tools/grep-tools.js +90 -10
  71. package/dist/electron/electron/agent/tools/image-tools.js +11 -1
  72. package/dist/electron/electron/agent/tools/notion-tools.js +312 -0
  73. package/dist/electron/electron/agent/tools/onedrive-tools.js +217 -0
  74. package/dist/electron/electron/agent/tools/registry.js +548 -10
  75. package/dist/electron/electron/agent/tools/search-tools.js +28 -10
  76. package/dist/electron/electron/agent/tools/sharepoint-tools.js +243 -0
  77. package/dist/electron/electron/agent/tools/shell-tools.js +12 -3
  78. package/dist/electron/electron/agent/tools/x-tools.js +1 -1
  79. package/dist/electron/electron/agents/agent-dispatch.js +63 -0
  80. package/dist/electron/electron/database/repositories.js +19 -5
  81. package/dist/electron/electron/database/schema.js +8 -0
  82. package/dist/electron/electron/gateway/channels/whatsapp.js +55 -0
  83. package/dist/electron/electron/gateway/index.js +75 -1
  84. package/dist/electron/electron/gateway/router.js +209 -154
  85. package/dist/electron/electron/ipc/canvas-handlers.js +5 -0
  86. package/dist/electron/electron/ipc/handlers.js +763 -267
  87. package/dist/electron/electron/main.js +63 -0
  88. package/dist/electron/electron/mcp/oauth/connector-oauth.js +333 -0
  89. package/dist/electron/electron/mcp/registry/MCPRegistryManager.js +503 -154
  90. package/dist/electron/electron/memory/MemoryService.js +2 -1
  91. package/dist/electron/electron/preload.js +78 -1
  92. package/dist/electron/electron/settings/appearance-manager.js +18 -1
  93. package/dist/electron/electron/settings/box-manager.js +54 -0
  94. package/dist/electron/electron/settings/dropbox-manager.js +54 -0
  95. package/dist/electron/electron/settings/google-drive-manager.js +54 -0
  96. package/dist/electron/electron/settings/notion-manager.js +56 -0
  97. package/dist/electron/electron/settings/onedrive-manager.js +54 -0
  98. package/dist/electron/electron/settings/sharepoint-manager.js +54 -0
  99. package/dist/electron/electron/utils/box-api.js +153 -0
  100. package/dist/electron/electron/utils/dropbox-api.js +144 -0
  101. package/dist/electron/electron/utils/env-migration.js +19 -0
  102. package/dist/electron/electron/utils/google-drive-api.js +152 -0
  103. package/dist/electron/electron/utils/notion-api.js +103 -0
  104. package/dist/electron/electron/utils/onedrive-api.js +113 -0
  105. package/dist/electron/electron/utils/sharepoint-api.js +109 -0
  106. package/dist/electron/electron/utils/validation.js +98 -3
  107. package/dist/electron/electron/utils/x-cli.js +1 -1
  108. package/dist/electron/shared/channelMessages.js +284 -3
  109. package/dist/electron/shared/llm-provider-catalog.js +198 -0
  110. package/dist/electron/shared/types.js +90 -1
  111. package/package.json +14 -3
  112. package/resources/skills/nano-banana-pro.json +4 -4
  113. package/resources/skills/openai-image-gen.json +3 -3
  114. package/resources/skills/scripts/gen.py +163 -0
  115. package/resources/skills/scripts/generate_image.py +91 -0
  116. package/src/electron/agent/custom-skill-loader.ts +34 -1
  117. package/src/electron/agent/daemon.ts +210 -14
  118. package/src/electron/agent/executor.ts +1124 -85
  119. package/src/electron/agent/llm/anthropic-compatible-provider.ts +214 -0
  120. package/src/electron/agent/llm/azure-openai-provider.ts +388 -0
  121. package/src/electron/agent/llm/bedrock-provider.ts +62 -9
  122. package/src/electron/agent/llm/github-copilot-provider.ts +117 -0
  123. package/src/electron/agent/llm/groq-provider.ts +39 -0
  124. package/src/electron/agent/llm/index.ts +6 -0
  125. package/src/electron/agent/llm/kimi-provider.ts +39 -0
  126. package/src/electron/agent/llm/openai-compatible-provider.ts +153 -0
  127. package/src/electron/agent/llm/openai-compatible.ts +133 -0
  128. package/src/electron/agent/llm/openai-oauth.ts +2 -1
  129. package/src/electron/agent/llm/openrouter-provider.ts +2 -1
  130. package/src/electron/agent/llm/provider-factory.ts +459 -6
  131. package/src/electron/agent/llm/types.ts +95 -1
  132. package/src/electron/agent/llm/xai-provider.ts +39 -0
  133. package/src/electron/agent/search/provider-factory.ts +43 -2
  134. package/src/electron/agent/tools/box-tools.ts +239 -0
  135. package/src/electron/agent/tools/builtin-settings.ts +36 -0
  136. package/src/electron/agent/tools/dropbox-tools.ts +237 -0
  137. package/src/electron/agent/tools/file-tools.ts +66 -3
  138. package/src/electron/agent/tools/gmail-tools.ts +240 -0
  139. package/src/electron/agent/tools/google-calendar-tools.ts +258 -0
  140. package/src/electron/agent/tools/google-drive-tools.ts +228 -0
  141. package/src/electron/agent/tools/grep-tools.ts +97 -12
  142. package/src/electron/agent/tools/image-tools.ts +11 -1
  143. package/src/electron/agent/tools/notion-tools.ts +330 -0
  144. package/src/electron/agent/tools/onedrive-tools.ts +217 -0
  145. package/src/electron/agent/tools/registry.ts +794 -10
  146. package/src/electron/agent/tools/search-tools.ts +29 -11
  147. package/src/electron/agent/tools/sharepoint-tools.ts +247 -0
  148. package/src/electron/agent/tools/shell-tools.ts +11 -3
  149. package/src/electron/agent/tools/x-tools.ts +1 -1
  150. package/src/electron/agents/agent-dispatch.ts +79 -0
  151. package/src/electron/database/SecureSettingsRepository.ts +7 -1
  152. package/src/electron/database/repositories.ts +58 -6
  153. package/src/electron/database/schema.ts +8 -0
  154. package/src/electron/gateway/channels/discord.ts +4 -0
  155. package/src/electron/gateway/channels/google-chat.ts +3 -0
  156. package/src/electron/gateway/channels/line.ts +3 -0
  157. package/src/electron/gateway/channels/matrix-client.ts +15 -0
  158. package/src/electron/gateway/channels/matrix.ts +31 -0
  159. package/src/electron/gateway/channels/mattermost.ts +3 -0
  160. package/src/electron/gateway/channels/signal.ts +3 -0
  161. package/src/electron/gateway/channels/slack.ts +9 -4
  162. package/src/electron/gateway/channels/teams.ts +4 -0
  163. package/src/electron/gateway/channels/telegram.ts +2 -0
  164. package/src/electron/gateway/channels/twitch.ts +2 -0
  165. package/src/electron/gateway/channels/types.ts +8 -0
  166. package/src/electron/gateway/channels/whatsapp.ts +66 -0
  167. package/src/electron/gateway/index.ts +95 -2
  168. package/src/electron/gateway/router.ts +231 -161
  169. package/src/electron/gateway/security.ts +21 -9
  170. package/src/electron/ipc/canvas-handlers.ts +10 -0
  171. package/src/electron/ipc/handlers.ts +848 -292
  172. package/src/electron/main.ts +35 -0
  173. package/src/electron/mcp/oauth/connector-oauth.ts +448 -0
  174. package/src/electron/mcp/registry/MCPRegistryManager.ts +343 -12
  175. package/src/electron/memory/MemoryService.ts +7 -1
  176. package/src/electron/preload.ts +200 -5
  177. package/src/electron/settings/appearance-manager.ts +20 -2
  178. package/src/electron/settings/box-manager.ts +58 -0
  179. package/src/electron/settings/dropbox-manager.ts +58 -0
  180. package/src/electron/settings/google-workspace-manager.ts +59 -0
  181. package/src/electron/settings/notion-manager.ts +60 -0
  182. package/src/electron/settings/onedrive-manager.ts +58 -0
  183. package/src/electron/settings/sharepoint-manager.ts +58 -0
  184. package/src/electron/utils/box-api.ts +184 -0
  185. package/src/electron/utils/dropbox-api.ts +171 -0
  186. package/src/electron/utils/env-migration.ts +22 -0
  187. package/src/electron/utils/gmail-api.ts +121 -0
  188. package/src/electron/utils/google-calendar-api.ts +115 -0
  189. package/src/electron/utils/google-workspace-api.ts +228 -0
  190. package/src/electron/utils/google-workspace-auth.ts +109 -0
  191. package/src/electron/utils/google-workspace-oauth.ts +232 -0
  192. package/src/electron/utils/notion-api.ts +126 -0
  193. package/src/electron/utils/onedrive-api.ts +137 -0
  194. package/src/electron/utils/sharepoint-api.ts +132 -0
  195. package/src/electron/utils/validation.ts +128 -1
  196. package/src/electron/utils/x-cli.ts +1 -1
  197. package/src/renderer/App.tsx +119 -8
  198. package/src/renderer/components/ActivityFeedItem.tsx +34 -17
  199. package/src/renderer/components/AgentWorkingStatePanel.tsx +7 -5
  200. package/src/renderer/components/AppearanceSettings.tsx +37 -2
  201. package/src/renderer/components/BlueBubblesSettings.tsx +18 -7
  202. package/src/renderer/components/BoxSettings.tsx +203 -0
  203. package/src/renderer/components/BrowserView.tsx +101 -0
  204. package/src/renderer/components/BuiltinToolsSettings.tsx +105 -0
  205. package/src/renderer/components/CanvasPreview.tsx +68 -1
  206. package/src/renderer/components/ConnectorEnvModal.tsx +116 -0
  207. package/src/renderer/components/ConnectorSetupModal.tsx +566 -0
  208. package/src/renderer/components/ConnectorsSettings.tsx +397 -0
  209. package/src/renderer/components/ControlPlaneSettings.tsx +2 -0
  210. package/src/renderer/components/DiscordSettings.tsx +18 -7
  211. package/src/renderer/components/DropboxSettings.tsx +202 -0
  212. package/src/renderer/components/EmailSettings.tsx +18 -7
  213. package/src/renderer/components/FileViewer.tsx +21 -13
  214. package/src/renderer/components/GoogleChatSettings.tsx +17 -7
  215. package/src/renderer/components/GoogleWorkspaceSettings.tsx +332 -0
  216. package/src/renderer/components/ImessageSettings.tsx +22 -11
  217. package/src/renderer/components/LineIcons.tsx +376 -0
  218. package/src/renderer/components/LineSettings.tsx +18 -7
  219. package/src/renderer/components/MCPSettings.tsx +56 -0
  220. package/src/renderer/components/MainContent.tsx +740 -76
  221. package/src/renderer/components/MatrixSettings.tsx +18 -7
  222. package/src/renderer/components/MattermostSettings.tsx +18 -7
  223. package/src/renderer/components/NodesSettings.tsx +58 -99
  224. package/src/renderer/components/NotificationPanel.tsx +25 -11
  225. package/src/renderer/components/NotionSettings.tsx +231 -0
  226. package/src/renderer/components/Onboarding/Onboarding.tsx +13 -1
  227. package/src/renderer/components/OnboardingModal.tsx +70 -1
  228. package/src/renderer/components/OneDriveSettings.tsx +212 -0
  229. package/src/renderer/components/RightPanel.tsx +141 -28
  230. package/src/renderer/components/ScheduledTasksSettings.tsx +10 -62
  231. package/src/renderer/components/SearchSettings.tsx +118 -114
  232. package/src/renderer/components/Settings.tsx +1425 -651
  233. package/src/renderer/components/SharePointSettings.tsx +224 -0
  234. package/src/renderer/components/Sidebar.tsx +94 -19
  235. package/src/renderer/components/SignalSettings.tsx +18 -7
  236. package/src/renderer/components/SkillHubBrowser.tsx +144 -185
  237. package/src/renderer/components/SlackSettings.tsx +18 -7
  238. package/src/renderer/components/TaskQuickActions.tsx +11 -6
  239. package/src/renderer/components/TaskTimeline.tsx +58 -26
  240. package/src/renderer/components/TeamsSettings.tsx +18 -7
  241. package/src/renderer/components/TelegramSettings.tsx +18 -7
  242. package/src/renderer/components/ThemeIcon.tsx +16 -0
  243. package/src/renderer/components/TwitchSettings.tsx +18 -7
  244. package/src/renderer/components/VoiceSettings.tsx +30 -74
  245. package/src/renderer/components/WhatsAppSettings.tsx +48 -37
  246. package/src/renderer/components/WorkingStateHistory.tsx +7 -5
  247. package/src/renderer/components/WorkspaceSelector.tsx +42 -13
  248. package/src/renderer/hooks/useOnboardingFlow.ts +21 -0
  249. package/src/renderer/styles/index.css +2333 -209
  250. package/src/shared/channelMessages.ts +367 -4
  251. package/src/shared/llm-provider-catalog.ts +217 -0
  252. package/src/shared/types.ts +251 -2
@@ -2,10 +2,12 @@
2
2
 
3
3
  // Theme and Appearance types
4
4
  export type ThemeMode = 'light' | 'dark' | 'system';
5
+ export type VisualTheme = 'terminal' | 'warm' | 'oblivion';
5
6
  export type AccentColor = 'cyan' | 'blue' | 'purple' | 'pink' | 'rose' | 'orange' | 'green' | 'teal' | 'coral';
6
7
 
7
8
  export interface AppearanceSettings {
8
9
  themeMode: ThemeMode;
10
+ visualTheme: VisualTheme;
9
11
  accentColor: AccentColor;
10
12
  disclaimerAccepted?: boolean;
11
13
  onboardingCompleted?: boolean;
@@ -141,6 +143,20 @@ export type ToolType =
141
143
  | 'browser_close'
142
144
  // X/Twitter
143
145
  | 'x_action'
146
+ // Notion
147
+ | 'notion_action'
148
+ // Box
149
+ | 'box_action'
150
+ // OneDrive
151
+ | 'onedrive_action'
152
+ // Google Workspace (Drive/Gmail/Calendar)
153
+ | 'google_drive_action'
154
+ | 'gmail_action'
155
+ | 'calendar_action'
156
+ // Dropbox
157
+ | 'dropbox_action'
158
+ // SharePoint
159
+ | 'sharepoint_action'
144
160
  // Meta tools
145
161
  | 'revise_plan';
146
162
 
@@ -204,6 +220,14 @@ export const TOOL_GROUPS = {
204
220
  'group:network': [
205
221
  'web_search',
206
222
  'x_action',
223
+ 'notion_action',
224
+ 'box_action',
225
+ 'onedrive_action',
226
+ 'google_drive_action',
227
+ 'gmail_action',
228
+ 'calendar_action',
229
+ 'dropbox_action',
230
+ 'sharepoint_action',
207
231
  'browser_navigate',
208
232
  'browser_screenshot',
209
233
  'browser_get_content',
@@ -289,6 +313,14 @@ export const TOOL_RISK_LEVELS: Record<ToolType, ToolRiskLevel> = {
289
313
  browser_save_pdf: 'network',
290
314
  browser_close: 'network',
291
315
  x_action: 'network',
316
+ notion_action: 'network',
317
+ box_action: 'network',
318
+ onedrive_action: 'network',
319
+ google_drive_action: 'network',
320
+ gmail_action: 'network',
321
+ calendar_action: 'network',
322
+ dropbox_action: 'network',
323
+ sharepoint_action: 'network',
292
324
  // Meta
293
325
  revise_plan: 'read',
294
326
  };
@@ -419,6 +451,7 @@ export interface Workspace {
419
451
  name: string;
420
452
  path: string;
421
453
  createdAt: number;
454
+ lastUsedAt?: number;
422
455
  permissions: WorkspacePermissions;
423
456
  isTemp?: boolean; // True for the auto-created temp workspace
424
457
  }
@@ -1261,6 +1294,7 @@ export const IPC_CHANNELS = {
1261
1294
  WORKSPACE_LIST: 'workspace:list',
1262
1295
  WORKSPACE_CREATE: 'workspace:create',
1263
1296
  WORKSPACE_UPDATE_PERMISSIONS: 'workspace:updatePermissions',
1297
+ WORKSPACE_TOUCH: 'workspace:touch',
1264
1298
  WORKSPACE_GET_TEMP: 'workspace:getTemp', // Get or create temp workspace
1265
1299
 
1266
1300
  // Approval operations
@@ -1308,6 +1342,9 @@ export const IPC_CHANNELS = {
1308
1342
  LLM_GET_GEMINI_MODELS: 'llm:getGeminiModels',
1309
1343
  LLM_GET_OPENROUTER_MODELS: 'llm:getOpenRouterModels',
1310
1344
  LLM_GET_OPENAI_MODELS: 'llm:getOpenAIModels',
1345
+ LLM_GET_GROQ_MODELS: 'llm:getGroqModels',
1346
+ LLM_GET_XAI_MODELS: 'llm:getXAIModels',
1347
+ LLM_GET_KIMI_MODELS: 'llm:getKimiModels',
1311
1348
  LLM_OPENAI_OAUTH_START: 'llm:openaiOAuthStart',
1312
1349
  LLM_OPENAI_OAUTH_LOGOUT: 'llm:openaiOAuthLogout',
1313
1350
  LLM_GET_BEDROCK_MODELS: 'llm:getBedrockModels',
@@ -1337,6 +1374,43 @@ export const IPC_CHANNELS = {
1337
1374
  X_TEST_CONNECTION: 'x:testConnection',
1338
1375
  X_GET_STATUS: 'x:getStatus',
1339
1376
 
1377
+ // Notion Settings
1378
+ NOTION_GET_SETTINGS: 'notion:getSettings',
1379
+ NOTION_SAVE_SETTINGS: 'notion:saveSettings',
1380
+ NOTION_TEST_CONNECTION: 'notion:testConnection',
1381
+ NOTION_GET_STATUS: 'notion:getStatus',
1382
+
1383
+ // Box Settings
1384
+ BOX_GET_SETTINGS: 'box:getSettings',
1385
+ BOX_SAVE_SETTINGS: 'box:saveSettings',
1386
+ BOX_TEST_CONNECTION: 'box:testConnection',
1387
+ BOX_GET_STATUS: 'box:getStatus',
1388
+
1389
+ // OneDrive Settings
1390
+ ONEDRIVE_GET_SETTINGS: 'onedrive:getSettings',
1391
+ ONEDRIVE_SAVE_SETTINGS: 'onedrive:saveSettings',
1392
+ ONEDRIVE_TEST_CONNECTION: 'onedrive:testConnection',
1393
+ ONEDRIVE_GET_STATUS: 'onedrive:getStatus',
1394
+
1395
+ // Google Drive Settings
1396
+ GOOGLE_WORKSPACE_GET_SETTINGS: 'googleWorkspace:getSettings',
1397
+ GOOGLE_WORKSPACE_SAVE_SETTINGS: 'googleWorkspace:saveSettings',
1398
+ GOOGLE_WORKSPACE_TEST_CONNECTION: 'googleWorkspace:testConnection',
1399
+ GOOGLE_WORKSPACE_GET_STATUS: 'googleWorkspace:getStatus',
1400
+ GOOGLE_WORKSPACE_OAUTH_START: 'googleWorkspace:oauthStart',
1401
+
1402
+ // Dropbox Settings
1403
+ DROPBOX_GET_SETTINGS: 'dropbox:getSettings',
1404
+ DROPBOX_SAVE_SETTINGS: 'dropbox:saveSettings',
1405
+ DROPBOX_TEST_CONNECTION: 'dropbox:testConnection',
1406
+ DROPBOX_GET_STATUS: 'dropbox:getStatus',
1407
+
1408
+ // SharePoint Settings
1409
+ SHAREPOINT_GET_SETTINGS: 'sharepoint:getSettings',
1410
+ SHAREPOINT_SAVE_SETTINGS: 'sharepoint:saveSettings',
1411
+ SHAREPOINT_TEST_CONNECTION: 'sharepoint:testConnection',
1412
+ SHAREPOINT_GET_STATUS: 'sharepoint:getStatus',
1413
+
1340
1414
  // App Updates
1341
1415
  APP_CHECK_UPDATES: 'app:checkUpdates',
1342
1416
  APP_DOWNLOAD_UPDATE: 'app:downloadUpdate',
@@ -1395,6 +1469,9 @@ export const IPC_CHANNELS = {
1395
1469
  MCP_REGISTRY_CHECK_UPDATES: 'mcp:registryCheckUpdates',
1396
1470
  MCP_REGISTRY_UPDATE_SERVER: 'mcp:registryUpdateServer',
1397
1471
 
1472
+ // MCP Connector OAuth
1473
+ MCP_CONNECTOR_OAUTH_START: 'mcp:connectorOAuthStart',
1474
+
1398
1475
  // MCP Host
1399
1476
  MCP_HOST_START: 'mcp:hostStart',
1400
1477
  MCP_HOST_STOP: 'mcp:hostStop',
@@ -1498,6 +1575,7 @@ export const IPC_CHANNELS = {
1498
1575
  CANVAS_EXPORT_HTML: 'canvas:exportHTML',
1499
1576
  CANVAS_EXPORT_TO_FOLDER: 'canvas:exportToFolder',
1500
1577
  CANVAS_OPEN_IN_BROWSER: 'canvas:openInBrowser',
1578
+ CANVAS_OPEN_URL: 'canvas:openUrl',
1501
1579
  CANVAS_GET_SESSION_DIR: 'canvas:getSessionDir',
1502
1580
 
1503
1581
  // Mobile Companion Nodes
@@ -1553,7 +1631,49 @@ export const IPC_CHANNELS = {
1553
1631
  } as const;
1554
1632
 
1555
1633
  // LLM Provider types
1556
- export type LLMProviderType = 'anthropic' | 'bedrock' | 'ollama' | 'gemini' | 'openrouter' | 'openai';
1634
+ export const BUILTIN_LLM_PROVIDER_TYPES = [
1635
+ 'anthropic',
1636
+ 'bedrock',
1637
+ 'ollama',
1638
+ 'gemini',
1639
+ 'openrouter',
1640
+ 'openai',
1641
+ 'azure',
1642
+ 'groq',
1643
+ 'xai',
1644
+ 'kimi',
1645
+ ] as const;
1646
+
1647
+ export const CUSTOM_LLM_PROVIDER_TYPES = [
1648
+ 'moonshot',
1649
+ 'opencode',
1650
+ 'google-vertex',
1651
+ 'google-antigravity',
1652
+ 'google-gemini-cli',
1653
+ 'zai',
1654
+ 'glm',
1655
+ 'vercel-ai-gateway',
1656
+ 'cerebras',
1657
+ 'mistral',
1658
+ 'github-copilot',
1659
+ 'qwen-portal',
1660
+ 'minimax',
1661
+ 'minimax-portal',
1662
+ 'xiaomi',
1663
+ 'venice',
1664
+ 'synthetic',
1665
+ 'kimi-code',
1666
+ 'kimi-coding',
1667
+ 'openai-compatible',
1668
+ 'anthropic-compatible',
1669
+ ] as const;
1670
+
1671
+ export const LLM_PROVIDER_TYPES = [
1672
+ ...BUILTIN_LLM_PROVIDER_TYPES,
1673
+ ...CUSTOM_LLM_PROVIDER_TYPES,
1674
+ ] as const;
1675
+
1676
+ export type LLMProviderType = typeof LLM_PROVIDER_TYPES[number];
1557
1677
 
1558
1678
  export interface CachedModelInfo {
1559
1679
  key: string;
@@ -1563,6 +1683,12 @@ export interface CachedModelInfo {
1563
1683
  size?: number; // For Ollama models (in bytes)
1564
1684
  }
1565
1685
 
1686
+ export interface CustomProviderConfig {
1687
+ apiKey?: string;
1688
+ model?: string;
1689
+ baseUrl?: string;
1690
+ }
1691
+
1566
1692
  export interface LLMSettingsData {
1567
1693
  providerType: LLMProviderType;
1568
1694
  modelKey: string;
@@ -1590,6 +1716,7 @@ export interface LLMSettingsData {
1590
1716
  openrouter?: {
1591
1717
  apiKey?: string;
1592
1718
  model?: string;
1719
+ baseUrl?: string;
1593
1720
  };
1594
1721
  openai?: {
1595
1722
  apiKey?: string;
@@ -1600,12 +1727,38 @@ export interface LLMSettingsData {
1600
1727
  tokenExpiresAt?: number;
1601
1728
  authMethod?: 'api_key' | 'oauth';
1602
1729
  };
1730
+ azure?: {
1731
+ apiKey?: string;
1732
+ endpoint?: string;
1733
+ deployment?: string;
1734
+ deployments?: string[];
1735
+ apiVersion?: string;
1736
+ };
1737
+ groq?: {
1738
+ apiKey?: string;
1739
+ model?: string;
1740
+ baseUrl?: string;
1741
+ };
1742
+ xai?: {
1743
+ apiKey?: string;
1744
+ model?: string;
1745
+ baseUrl?: string;
1746
+ };
1747
+ kimi?: {
1748
+ apiKey?: string;
1749
+ model?: string;
1750
+ baseUrl?: string;
1751
+ };
1603
1752
  // Cached models from API (populated when user refreshes)
1604
1753
  cachedGeminiModels?: CachedModelInfo[];
1605
1754
  cachedOpenRouterModels?: CachedModelInfo[];
1606
1755
  cachedOllamaModels?: CachedModelInfo[];
1607
1756
  cachedBedrockModels?: CachedModelInfo[];
1608
1757
  cachedOpenAIModels?: CachedModelInfo[];
1758
+ cachedGroqModels?: CachedModelInfo[];
1759
+ cachedXaiModels?: CachedModelInfo[];
1760
+ cachedKimiModels?: CachedModelInfo[];
1761
+ customProviders?: Record<string, CustomProviderConfig>;
1609
1762
  }
1610
1763
 
1611
1764
  export interface LLMProviderInfo {
@@ -1898,6 +2051,102 @@ export interface XConnectionTestResult {
1898
2051
  userId?: string;
1899
2052
  }
1900
2053
 
2054
+ // Notion integration settings
2055
+ export interface NotionSettingsData {
2056
+ enabled: boolean;
2057
+ apiKey?: string;
2058
+ notionVersion?: string;
2059
+ timeoutMs?: number;
2060
+ }
2061
+
2062
+ export interface NotionConnectionTestResult {
2063
+ success: boolean;
2064
+ error?: string;
2065
+ name?: string;
2066
+ userId?: string;
2067
+ }
2068
+
2069
+ // Box integration settings
2070
+ export interface BoxSettingsData {
2071
+ enabled: boolean;
2072
+ accessToken?: string;
2073
+ timeoutMs?: number;
2074
+ }
2075
+
2076
+ export interface BoxConnectionTestResult {
2077
+ success: boolean;
2078
+ error?: string;
2079
+ name?: string;
2080
+ userId?: string;
2081
+ }
2082
+
2083
+ // OneDrive integration settings
2084
+ export interface OneDriveSettingsData {
2085
+ enabled: boolean;
2086
+ accessToken?: string;
2087
+ driveId?: string;
2088
+ timeoutMs?: number;
2089
+ }
2090
+
2091
+ export interface OneDriveConnectionTestResult {
2092
+ success: boolean;
2093
+ error?: string;
2094
+ name?: string;
2095
+ userId?: string;
2096
+ driveId?: string;
2097
+ }
2098
+
2099
+ // Google Drive integration settings
2100
+ export interface GoogleWorkspaceSettingsData {
2101
+ enabled: boolean;
2102
+ clientId?: string;
2103
+ clientSecret?: string;
2104
+ accessToken?: string;
2105
+ refreshToken?: string;
2106
+ tokenExpiresAt?: number;
2107
+ scopes?: string[];
2108
+ timeoutMs?: number;
2109
+ }
2110
+
2111
+ export interface GoogleWorkspaceConnectionTestResult {
2112
+ success: boolean;
2113
+ error?: string;
2114
+ name?: string;
2115
+ userId?: string;
2116
+ email?: string;
2117
+ }
2118
+
2119
+ // Dropbox integration settings
2120
+ export interface DropboxSettingsData {
2121
+ enabled: boolean;
2122
+ accessToken?: string;
2123
+ timeoutMs?: number;
2124
+ }
2125
+
2126
+ export interface DropboxConnectionTestResult {
2127
+ success: boolean;
2128
+ error?: string;
2129
+ name?: string;
2130
+ userId?: string;
2131
+ email?: string;
2132
+ }
2133
+
2134
+ // SharePoint integration settings
2135
+ export interface SharePointSettingsData {
2136
+ enabled: boolean;
2137
+ accessToken?: string;
2138
+ siteId?: string;
2139
+ driveId?: string;
2140
+ timeoutMs?: number;
2141
+ }
2142
+
2143
+ export interface SharePointConnectionTestResult {
2144
+ success: boolean;
2145
+ error?: string;
2146
+ name?: string;
2147
+ userId?: string;
2148
+ }
2149
+
1901
2150
  export interface SearchProviderInfo {
1902
2151
  type: SearchProviderType;
1903
2152
  name: string;
@@ -2250,7 +2499,7 @@ export interface SkillsConfig {
2250
2499
 
2251
2500
  // ============ Notification Types ============
2252
2501
 
2253
- export type NotificationType = 'task_completed' | 'task_failed' | 'scheduled_task' | 'info' | 'warning' | 'error';
2502
+ export type NotificationType = 'task_completed' | 'task_failed' | 'scheduled_task' | 'input_required' | 'info' | 'warning' | 'error';
2254
2503
 
2255
2504
  export interface AppNotification {
2256
2505
  id: string;