@agenticmail/enterprise 0.5.48 → 0.5.50

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.
@@ -0,0 +1,171 @@
1
+ /**
2
+ * AgenticMail Enterprise — Core Types
3
+ *
4
+ * These types define the email provider abstraction layer.
5
+ * In enterprise, agents get their email identity from the org's
6
+ * identity provider (Okta, Azure AD, Google Workspace).
7
+ * No separate AgenticMail server needed.
8
+ */
9
+
10
+ // ─── Agent Email Identity ───────────────────────────────
11
+
12
+ export interface AgentEmailIdentity {
13
+ /** Agent ID in the enterprise system */
14
+ agentId: string;
15
+ /** Agent display name */
16
+ name: string;
17
+ /** Agent email address (from org directory) */
18
+ email: string;
19
+ /** Org ID */
20
+ orgId: string;
21
+ /** OAuth access token for the email provider */
22
+ accessToken: string;
23
+ /** Token refresh callback */
24
+ refreshToken?: () => Promise<string>;
25
+ /** Provider type */
26
+ provider: EmailProvider;
27
+ }
28
+
29
+ export type EmailProvider = 'microsoft' | 'google' | 'imap';
30
+
31
+ // ─── Email Types ────────────────────────────────────────
32
+
33
+ export interface EmailMessage {
34
+ uid: string;
35
+ from: { name?: string; email: string };
36
+ to: { name?: string; email: string }[];
37
+ cc?: { name?: string; email: string }[];
38
+ bcc?: { name?: string; email: string }[];
39
+ subject: string;
40
+ body: string;
41
+ html?: string;
42
+ date: string;
43
+ read: boolean;
44
+ flagged: boolean;
45
+ folder: string;
46
+ replyTo?: string;
47
+ inReplyTo?: string;
48
+ references?: string[];
49
+ messageId?: string;
50
+ attachments?: EmailAttachment[];
51
+ headers?: Record<string, string>;
52
+ }
53
+
54
+ export interface EmailAttachment {
55
+ filename: string;
56
+ contentType: string;
57
+ size: number;
58
+ contentId?: string;
59
+ }
60
+
61
+ export interface EmailEnvelope {
62
+ uid: string;
63
+ from: { name?: string; email: string };
64
+ to: { name?: string; email: string }[];
65
+ subject: string;
66
+ date: string;
67
+ read: boolean;
68
+ flagged: boolean;
69
+ hasAttachments: boolean;
70
+ preview?: string;
71
+ }
72
+
73
+ export interface SendEmailOptions {
74
+ to: string;
75
+ cc?: string;
76
+ bcc?: string;
77
+ subject: string;
78
+ body: string;
79
+ html?: string;
80
+ replyTo?: string;
81
+ inReplyTo?: string;
82
+ references?: string[];
83
+ attachments?: { filename: string; content: string; contentType?: string; encoding?: string }[];
84
+ }
85
+
86
+ export interface SearchCriteria {
87
+ from?: string;
88
+ to?: string;
89
+ subject?: string;
90
+ text?: string;
91
+ since?: string;
92
+ before?: string;
93
+ seen?: boolean;
94
+ }
95
+
96
+ export interface EmailFolder {
97
+ name: string;
98
+ path: string;
99
+ unread: number;
100
+ total: number;
101
+ }
102
+
103
+ // ─── Email Provider Interface ───────────────────────────
104
+
105
+ /**
106
+ * Abstract email provider that all backends must implement.
107
+ * Microsoft Graph, Gmail API, and generic IMAP all implement this.
108
+ */
109
+ export interface IEmailProvider {
110
+ readonly provider: EmailProvider;
111
+
112
+ // ─── Connection ─────────────────────────────────────
113
+ connect(identity: AgentEmailIdentity): Promise<void>;
114
+ disconnect(): Promise<void>;
115
+
116
+ // ─── Inbox / Folders ────────────────────────────────
117
+ listMessages(folder: string, opts?: { limit?: number; offset?: number }): Promise<EmailEnvelope[]>;
118
+ readMessage(uid: string, folder?: string): Promise<EmailMessage>;
119
+ searchMessages(criteria: SearchCriteria): Promise<EmailEnvelope[]>;
120
+ listFolders(): Promise<EmailFolder[]>;
121
+ createFolder(name: string): Promise<void>;
122
+
123
+ // ─── Send ───────────────────────────────────────────
124
+ send(options: SendEmailOptions): Promise<{ messageId: string }>;
125
+ reply(uid: string, body: string, replyAll?: boolean): Promise<{ messageId: string }>;
126
+ forward(uid: string, to: string, body?: string): Promise<{ messageId: string }>;
127
+
128
+ // ─── Organize ───────────────────────────────────────
129
+ moveMessage(uid: string, toFolder: string, fromFolder?: string): Promise<void>;
130
+ deleteMessage(uid: string, folder?: string): Promise<void>;
131
+ markRead(uid: string, folder?: string): Promise<void>;
132
+ markUnread(uid: string, folder?: string): Promise<void>;
133
+ flagMessage(uid: string, folder?: string): Promise<void>;
134
+ unflagMessage(uid: string, folder?: string): Promise<void>;
135
+
136
+ // ─── Batch ──────────────────────────────────────────
137
+ batchMarkRead(uids: string[], folder?: string): Promise<void>;
138
+ batchMarkUnread(uids: string[], folder?: string): Promise<void>;
139
+ batchMove(uids: string[], toFolder: string, fromFolder?: string): Promise<void>;
140
+ batchDelete(uids: string[], folder?: string): Promise<void>;
141
+ }
142
+
143
+ // ─── Inter-Agent Communication ──────────────────────────
144
+
145
+ export interface AgentMessage {
146
+ id: string;
147
+ from: string; // agent ID
148
+ to: string; // agent ID
149
+ subject: string;
150
+ body: string;
151
+ priority: 'normal' | 'high' | 'urgent';
152
+ createdAt: string;
153
+ read: boolean;
154
+ }
155
+
156
+ export interface AgentTask {
157
+ id: string;
158
+ assignee: string; // agent ID
159
+ assigner: string; // agent ID
160
+ title: string;
161
+ description?: string;
162
+ status: 'pending' | 'claimed' | 'completed' | 'cancelled';
163
+ priority: 'low' | 'normal' | 'high' | 'urgent';
164
+ result?: any;
165
+ createdAt: string;
166
+ updatedAt: string;
167
+ }
168
+
169
+ // ─── Storage ────────────────────────────────────────────
170
+ // Storage in enterprise uses the engine's existing database
171
+ // (already available via EngineDatabase). No separate storage needed.
@@ -313,269 +313,16 @@ export const PRESET_PROFILES: Omit<AgentPermissionProfile, 'id' | 'createdAt' |
313
313
  // ─── Built-in Skill Catalog ─────────────────────────────
314
314
 
315
315
  export const BUILTIN_SKILLS: Omit<SkillDefinition, 'tools'>[] = [
316
- // AgenticMail — Core Product
316
+ // ═══ AgenticMail — Core Product (always available) ═══
317
317
  ...AGENTICMAIL_SKILL_DEFS,
318
318
 
319
- // Communication
320
- { id: 'imsg', name: 'iMessage', description: 'Send and receive iMessages and SMS via macOS.', category: 'communication', risk: 'high', icon: '💬', source: 'builtin', requires: ['macos'] },
321
- { id: 'wacli', name: 'WhatsApp', description: 'Send WhatsApp messages and search chat history.', category: 'communication', risk: 'high', icon: '📱', source: 'builtin' },
322
-
323
- // Development
324
- { id: 'github', name: 'GitHub', description: 'Manage issues, PRs, CI runs, and repositories via gh CLI.', category: 'development', risk: 'medium', icon: '🐙', source: 'builtin' },
325
- { id: 'coding-agent', name: 'Coding Agent', description: 'Run Codex CLI, Claude Code, or other coding agents as background processes.', category: 'development', risk: 'high', icon: '💻', source: 'builtin' },
326
-
327
- // Productivity
328
- { id: 'gog', name: 'Google Workspace', description: 'Gmail, Calendar, Drive, Contacts, Sheets, and Docs.', category: 'productivity', risk: 'medium', icon: '📅', source: 'builtin' },
329
- { id: 'apple-notes', name: 'Apple Notes', description: 'Create, search, edit, and manage Apple Notes.', category: 'productivity', risk: 'low', icon: '📝', source: 'builtin', requires: ['macos'] },
330
- { id: 'apple-reminders', name: 'Apple Reminders', description: 'Manage Apple Reminders lists and items.', category: 'productivity', risk: 'low', icon: '✅', source: 'builtin', requires: ['macos'] },
331
- { id: 'bear-notes', name: 'Bear Notes', description: 'Create, search, and manage Bear notes.', category: 'productivity', risk: 'low', icon: '🐻', source: 'builtin', requires: ['macos'] },
332
- { id: 'obsidian', name: 'Obsidian', description: 'Work with Obsidian vaults and automate via CLI.', category: 'productivity', risk: 'low', icon: '💎', source: 'builtin' },
333
- { id: 'things-mac', name: 'Things 3', description: 'Manage tasks and projects in Things 3.', category: 'productivity', risk: 'low', icon: '☑️', source: 'builtin', requires: ['macos'] },
334
-
335
- // Research
336
- { id: 'web-search', name: 'Web Search', description: 'Search the web via Brave Search API.', category: 'research', risk: 'low', icon: '🔍', source: 'builtin' },
337
- { id: 'web-fetch', name: 'Web Fetch', description: 'Fetch and extract readable content from URLs.', category: 'research', risk: 'low', icon: '🌐', source: 'builtin' },
338
- { id: 'summarize', name: 'Summarize', description: 'Summarize or transcribe URLs, podcasts, and files.', category: 'research', risk: 'low', icon: '📄', source: 'builtin' },
339
- { id: 'blogwatcher', name: 'Blog Watcher', description: 'Monitor blogs and RSS/Atom feeds for updates.', category: 'research', risk: 'low', icon: '📡', source: 'builtin' },
340
-
341
- // Media
342
- { id: 'openai-image-gen', name: 'Image Generation', description: 'Generate images via OpenAI Images API.', category: 'media', risk: 'low', icon: '🎨', source: 'builtin' },
343
- { id: 'nano-banana-pro', name: 'Gemini Image', description: 'Generate or edit images via Gemini 3 Pro.', category: 'media', risk: 'low', icon: '🖼️', source: 'builtin' },
344
- { id: 'tts', name: 'Text-to-Speech', description: 'Convert text to speech audio.', category: 'media', risk: 'low', icon: '🔊', source: 'builtin' },
345
- { id: 'openai-whisper', name: 'Whisper Transcription', description: 'Transcribe audio via OpenAI Whisper API.', category: 'media', risk: 'low', icon: '🎙️', source: 'builtin' },
346
- { id: 'video-frames', name: 'Video Frames', description: 'Extract frames or clips from videos.', category: 'media', risk: 'low', icon: '🎬', source: 'builtin' },
347
- { id: 'gifgrep', name: 'GIF Search', description: 'Search and download GIFs.', category: 'media', risk: 'low', icon: '🎭', source: 'builtin' },
348
-
349
- // Automation
350
- { id: 'browser', name: 'Browser Control', description: 'Automate web browsers — navigate, click, type, screenshot.', category: 'automation', risk: 'high', icon: '🌍', source: 'builtin' },
351
- { id: 'exec', name: 'Shell Commands', description: 'Execute shell commands on the host machine.', category: 'automation', risk: 'critical', icon: '⚡', source: 'builtin' },
352
- { id: 'peekaboo', name: 'macOS UI Automation', description: 'Capture and automate macOS UI with Peekaboo.', category: 'automation', risk: 'high', icon: '👁️', source: 'builtin', requires: ['macos'] },
353
- { id: 'cron', name: 'Scheduled Tasks', description: 'Create and manage cron jobs and reminders.', category: 'automation', risk: 'medium', icon: '⏰', source: 'builtin' },
354
-
355
- // Smart Home
356
- { id: 'openhue', name: 'Philips Hue', description: 'Control Hue lights and scenes.', category: 'smart-home', risk: 'low', icon: '💡', source: 'builtin' },
357
- { id: 'sonoscli', name: 'Sonos', description: 'Control Sonos speakers.', category: 'smart-home', risk: 'low', icon: '🔈', source: 'builtin' },
358
- { id: 'blucli', name: 'BluOS', description: 'Control BluOS speakers.', category: 'smart-home', risk: 'low', icon: '🎵', source: 'builtin' },
359
- { id: 'eightctl', name: 'Eight Sleep', description: 'Control Eight Sleep pod temperature and alarms.', category: 'smart-home', risk: 'low', icon: '🛏️', source: 'builtin' },
360
- { id: 'camsnap', name: 'IP Cameras', description: 'Capture frames from RTSP/ONVIF cameras.', category: 'smart-home', risk: 'medium', icon: '📷', source: 'builtin' },
361
-
362
- // Data
363
- { id: 'files', name: 'File System', description: 'Read, write, and edit files on the host.', category: 'data', risk: 'medium', icon: '📁', source: 'builtin' },
364
- { id: 'memory', name: 'Agent Memory', description: 'Persistent memory search and storage.', category: 'data', risk: 'low', icon: '🧠', source: 'builtin' },
365
-
366
- // Security
367
- { id: '1password', name: '1Password', description: 'Read and manage secrets via 1Password CLI.', category: 'security', risk: 'critical', icon: '🔐', source: 'builtin' },
368
- { id: 'healthcheck', name: 'Security Audit', description: 'Host security hardening and risk checks.', category: 'security', risk: 'medium', icon: '🛡️', source: 'builtin' },
369
-
370
- // Social
371
- { id: 'twitter', name: 'Twitter/X', description: 'Post tweets, read timeline, manage social presence.', category: 'social', risk: 'high', icon: '🐦', source: 'builtin' },
372
-
373
- // Platform
374
- { id: 'gateway', name: 'Agent Runtime Gateway', description: 'Restart, configure, and update the agent runtime gateway.', category: 'platform', risk: 'critical', icon: '⚙️', source: 'builtin' },
375
- { id: 'sessions', name: 'Session Management', description: 'Spawn sub-agents, list sessions, send messages between sessions.', category: 'platform', risk: 'medium', icon: '🔄', source: 'builtin' },
376
- { id: 'nodes', name: 'Node Control', description: 'Discover and control paired devices (camera, screen, location).', category: 'platform', risk: 'high', icon: '📡', source: 'builtin' },
377
-
378
- // ─── Microsoft 365 (from individual skill files) ────────
319
+ // ═══ Microsoft 365 Suite ═══
379
320
  ...M365_SKILL_DEFS,
380
321
 
381
- // ─── Google Workspace (from individual skill files) ─────
322
+ // ═══ Google Workspace Suite ═══
382
323
  ...GWS_SKILL_DEFS,
383
324
 
384
- // ─── Collaboration ──────────────────────────────────────
385
- { id: 'slack', name: 'Slack', description: 'Messaging, channels, threads, apps, workflows, and Slack Connect.', category: 'collaboration', risk: 'medium', icon: '💬', source: 'builtin' },
386
- { id: 'zoom', name: 'Zoom', description: 'Video meetings, webinars, recordings, scheduling, and Zoom Phone.', category: 'collaboration', risk: 'medium', icon: '📹', source: 'builtin' },
387
- { id: 'discord', name: 'Discord', description: 'Messaging, voice channels, bots, and server management.', category: 'collaboration', risk: 'medium', icon: '🎮', source: 'builtin' },
388
- { id: 'webex', name: 'Webex', description: 'Cisco Webex meetings, messaging, calling, and device management.', category: 'collaboration', risk: 'medium', icon: '📞', source: 'builtin' },
389
- { id: 'mattermost', name: 'Mattermost', description: 'Open-source team messaging, channels, and integrations.', category: 'collaboration', risk: 'medium', icon: '💭', source: 'builtin' },
390
-
391
- // ─── CRM ────────────────────────────────────────────────
392
- { id: 'salesforce', name: 'Salesforce CRM', description: 'Leads, contacts, opportunities, accounts, cases, and custom objects.', category: 'crm', risk: 'medium', icon: '☁️', source: 'builtin' },
393
- { id: 'salesforce-service', name: 'Salesforce Service Cloud', description: 'Case management, knowledge base, service console, and omni-channel routing.', category: 'customer-support', risk: 'medium', icon: '🎧', source: 'builtin' },
394
- { id: 'salesforce-marketing', name: 'Salesforce Marketing Cloud', description: 'Email campaigns, journeys, audiences, and marketing automation.', category: 'marketing', risk: 'medium', icon: '📣', source: 'builtin' },
395
- { id: 'salesforce-commerce', name: 'Salesforce Commerce Cloud', description: 'Online storefronts, product catalogs, orders, and customer data.', category: 'ecommerce', risk: 'medium', icon: '🛒', source: 'builtin' },
396
- { id: 'hubspot-crm', name: 'HubSpot CRM', description: 'Contacts, deals, companies, tickets, and pipeline management.', category: 'crm', risk: 'medium', icon: '🟠', source: 'builtin' },
397
- { id: 'hubspot-marketing', name: 'HubSpot Marketing', description: 'Email marketing, landing pages, forms, workflows, and analytics.', category: 'marketing', risk: 'medium', icon: '📧', source: 'builtin' },
398
- { id: 'hubspot-sales', name: 'HubSpot Sales', description: 'Sales pipeline, sequences, meetings, quotes, and call tracking.', category: 'crm', risk: 'medium', icon: '💰', source: 'builtin' },
399
- { id: 'hubspot-service', name: 'HubSpot Service', description: 'Help desk, tickets, knowledge base, customer feedback, and live chat.', category: 'customer-support', risk: 'medium', icon: '🎯', source: 'builtin' },
400
- { id: 'pipedrive', name: 'Pipedrive', description: 'Sales CRM — deals, contacts, activities, and pipeline visualization.', category: 'crm', risk: 'medium', icon: '🔗', source: 'builtin' },
401
- { id: 'zoho-crm', name: 'Zoho CRM', description: 'Leads, contacts, deals, workflows, and custom modules.', category: 'crm', risk: 'medium', icon: '🟡', source: 'builtin' },
402
-
403
- // ─── Project Management ─────────────────────────────────
404
- { id: 'jira', name: 'Jira', description: 'Issues, sprints, boards, backlogs, epics, and agile project management.', category: 'project-management', risk: 'medium', icon: '🔷', source: 'builtin' },
405
- { id: 'confluence', name: 'Confluence', description: 'Wiki pages, spaces, templates, comments, and knowledge management.', category: 'project-management', risk: 'medium', icon: '📖', source: 'builtin' },
406
- { id: 'asana', name: 'Asana', description: 'Tasks, projects, timelines, portfolios, and workload management.', category: 'project-management', risk: 'medium', icon: '🔴', source: 'builtin' },
407
- { id: 'monday', name: 'Monday.com', description: 'Boards, items, automations, dashboards, and work management.', category: 'project-management', risk: 'medium', icon: '🟣', source: 'builtin' },
408
- { id: 'notion', name: 'Notion', description: 'Pages, databases, wikis, templates, and all-in-one workspace.', category: 'project-management', risk: 'medium', icon: '📓', source: 'builtin' },
409
- { id: 'linear', name: 'Linear', description: 'Issue tracking, cycles, projects, roadmaps, and triage.', category: 'project-management', risk: 'medium', icon: '🟪', source: 'builtin' },
410
- { id: 'trello', name: 'Trello', description: 'Boards, cards, lists, checklists, and power-ups.', category: 'project-management', risk: 'low', icon: '📌', source: 'builtin' },
411
- { id: 'clickup', name: 'ClickUp', description: 'Tasks, docs, whiteboards, goals, and time tracking.', category: 'project-management', risk: 'medium', icon: '⬆️', source: 'builtin' },
412
- { id: 'basecamp', name: 'Basecamp', description: 'Projects, message boards, to-dos, schedules, and campfires.', category: 'project-management', risk: 'low', icon: '🏕️', source: 'builtin' },
413
- { id: 'airtable', name: 'Airtable', description: 'Spreadsheet-database hybrid with views, automations, and apps.', category: 'project-management', risk: 'medium', icon: '🗃️', source: 'builtin' },
414
-
415
- // ─── Customer Support ───────────────────────────────────
416
- { id: 'zendesk', name: 'Zendesk', description: 'Tickets, help center, chat, talk, and customer analytics.', category: 'customer-support', risk: 'medium', icon: '🎧', source: 'builtin' },
417
- { id: 'intercom', name: 'Intercom', description: 'Live chat, inbox, help center, bots, and product tours.', category: 'customer-support', risk: 'medium', icon: '💬', source: 'builtin' },
418
- { id: 'freshdesk', name: 'Freshdesk', description: 'Tickets, automations, SLA management, and customer portal.', category: 'customer-support', risk: 'medium', icon: '🟢', source: 'builtin' },
419
- { id: 'servicenow', name: 'ServiceNow', description: 'IT service management, incidents, changes, assets, and workflows.', category: 'customer-support', risk: 'high', icon: '🔧', source: 'builtin' },
420
- { id: 'front', name: 'Front', description: 'Shared inbox, assignments, SLAs, tags, and team collaboration.', category: 'customer-support', risk: 'medium', icon: '📮', source: 'builtin' },
421
-
422
- // ─── Cloud Infrastructure — AWS ─────────────────────────
423
- { id: 'aws-s3', name: 'AWS S3', description: 'Object storage — buckets, objects, permissions, lifecycle policies.', category: 'cloud-infrastructure', risk: 'medium', icon: '🪣', source: 'builtin' },
424
- { id: 'aws-ec2', name: 'AWS EC2', description: 'Virtual machines — instances, AMIs, security groups, EBS volumes.', category: 'cloud-infrastructure', risk: 'high', icon: '🖥️', source: 'builtin' },
425
- { id: 'aws-lambda', name: 'AWS Lambda', description: 'Serverless functions — deployment, invocation, layers, event triggers.', category: 'cloud-infrastructure', risk: 'high', icon: 'λ', source: 'builtin' },
426
- { id: 'aws-rds', name: 'AWS RDS', description: 'Managed databases — instances, snapshots, parameter groups, and read replicas.', category: 'database', risk: 'high', icon: '🗄️', source: 'builtin' },
427
- { id: 'aws-cloudwatch', name: 'AWS CloudWatch', description: 'Monitoring, logs, alarms, dashboards, and metrics.', category: 'monitoring', risk: 'low', icon: '👁️', source: 'builtin' },
428
- { id: 'aws-iam', name: 'AWS IAM', description: 'Identity and access management — users, roles, policies, and MFA.', category: 'security', risk: 'critical', icon: '🔑', source: 'builtin' },
429
- { id: 'aws-ses', name: 'AWS SES', description: 'Simple Email Service — send, receive, templates, and domain verification.', category: 'communication', risk: 'medium', icon: '📧', source: 'builtin' },
430
- { id: 'aws-sns', name: 'AWS SNS', description: 'Simple Notification Service — topics, subscriptions, push notifications.', category: 'communication', risk: 'medium', icon: '🔔', source: 'builtin' },
431
- { id: 'aws-sqs', name: 'AWS SQS', description: 'Simple Queue Service — queues, messages, dead letter queues.', category: 'cloud-infrastructure', risk: 'medium', icon: '📨', source: 'builtin' },
432
- { id: 'aws-dynamodb', name: 'AWS DynamoDB', description: 'NoSQL database — tables, items, indexes, and streams.', category: 'database', risk: 'medium', icon: '⚡', source: 'builtin' },
433
- { id: 'aws-cloudformation', name: 'AWS CloudFormation', description: 'Infrastructure as code — stacks, templates, change sets.', category: 'devops', risk: 'high', icon: '🏗️', source: 'builtin' },
434
-
435
- // ─── Cloud Infrastructure — Azure ───────────────────────
436
- { id: 'azure-vms', name: 'Azure VMs', description: 'Virtual machines, scale sets, images, and managed disks.', category: 'cloud-infrastructure', risk: 'high', icon: '🖥️', source: 'builtin' },
437
- { id: 'azure-app-service', name: 'Azure App Service', description: 'Web apps, APIs, mobile backends, and deployment slots.', category: 'cloud-infrastructure', risk: 'medium', icon: '🌐', source: 'builtin' },
438
- { id: 'azure-functions', name: 'Azure Functions', description: 'Serverless compute — triggers, bindings, and durable functions.', category: 'cloud-infrastructure', risk: 'high', icon: 'ƒ', source: 'builtin' },
439
- { id: 'azure-storage', name: 'Azure Storage', description: 'Blobs, files, queues, tables, and data lake storage.', category: 'storage', risk: 'medium', icon: '💾', source: 'builtin' },
440
- { id: 'azure-sql', name: 'Azure SQL', description: 'Managed SQL databases, elastic pools, and server management.', category: 'database', risk: 'high', icon: '🗄️', source: 'builtin' },
441
- { id: 'azure-cosmosdb', name: 'Azure Cosmos DB', description: 'Globally distributed NoSQL database with multiple APIs.', category: 'database', risk: 'medium', icon: '🌍', source: 'builtin' },
442
- { id: 'azure-devops', name: 'Azure DevOps', description: 'Boards, repos, pipelines, test plans, and artifacts.', category: 'devops', risk: 'medium', icon: '🔷', source: 'builtin' },
443
- { id: 'azure-ad', name: 'Azure Active Directory', description: 'Identity management, SSO, conditional access, and app registrations.', category: 'security', risk: 'critical', icon: '🔐', source: 'builtin' },
444
-
445
- // ─── Cloud Infrastructure — GCP ─────────────────────────
446
- { id: 'gcp-compute', name: 'GCP Compute Engine', description: 'Virtual machines, instance groups, and persistent disks.', category: 'cloud-infrastructure', risk: 'high', icon: '🖥️', source: 'builtin' },
447
- { id: 'gcp-functions', name: 'GCP Cloud Functions', description: 'Serverless functions with event triggers.', category: 'cloud-infrastructure', risk: 'high', icon: 'ƒ', source: 'builtin' },
448
- { id: 'gcp-storage', name: 'GCP Cloud Storage', description: 'Object storage buckets, objects, and lifecycle management.', category: 'storage', risk: 'medium', icon: '🪣', source: 'builtin' },
449
- { id: 'gcp-bigquery', name: 'BigQuery', description: 'Data warehouse — SQL queries, datasets, tables, and ML models.', category: 'analytics', risk: 'medium', icon: '📊', source: 'builtin' },
450
- { id: 'gcp-run', name: 'GCP Cloud Run', description: 'Serverless containers — deploy, manage, and auto-scale.', category: 'cloud-infrastructure', risk: 'high', icon: '🏃', source: 'builtin' },
451
- { id: 'gcp-pubsub', name: 'GCP Pub/Sub', description: 'Messaging and event streaming — topics and subscriptions.', category: 'cloud-infrastructure', risk: 'medium', icon: '📨', source: 'builtin' },
452
- { id: 'gcp-firestore', name: 'Firestore', description: 'NoSQL document database with real-time sync.', category: 'database', risk: 'medium', icon: '🔥', source: 'builtin' },
453
-
454
- // ─── DevOps & CI/CD ─────────────────────────────────────
455
- { id: 'docker', name: 'Docker', description: 'Container management — images, containers, compose, and registries.', category: 'devops', risk: 'high', icon: '🐳', source: 'builtin' },
456
- { id: 'kubernetes', name: 'Kubernetes', description: 'Container orchestration — pods, deployments, services, and helm charts.', category: 'devops', risk: 'high', icon: '☸️', source: 'builtin' },
457
- { id: 'terraform', name: 'Terraform', description: 'Infrastructure as code — plan, apply, state management, and modules.', category: 'devops', risk: 'high', icon: '🏗️', source: 'builtin' },
458
- { id: 'ansible', name: 'Ansible', description: 'Configuration management — playbooks, roles, and inventories.', category: 'devops', risk: 'high', icon: '📜', source: 'builtin' },
459
- { id: 'github-actions', name: 'GitHub Actions', description: 'CI/CD workflows, actions marketplace, and secrets management.', category: 'devops', risk: 'medium', icon: '⚙️', source: 'builtin' },
460
- { id: 'gitlab-ci', name: 'GitLab CI/CD', description: 'Pipelines, runners, artifacts, environments, and deployments.', category: 'devops', risk: 'medium', icon: '🦊', source: 'builtin' },
461
- { id: 'jenkins', name: 'Jenkins', description: 'Build automation — jobs, pipelines, plugins, and agents.', category: 'devops', risk: 'medium', icon: '🏗️', source: 'builtin' },
462
- { id: 'circleci', name: 'CircleCI', description: 'CI/CD pipelines, orbs, caching, and test splitting.', category: 'devops', risk: 'medium', icon: '⭕', source: 'builtin' },
463
- { id: 'bitbucket', name: 'Bitbucket', description: 'Git repositories, pull requests, code review, and pipelines.', category: 'development', risk: 'medium', icon: '🔵', source: 'builtin' },
464
- { id: 'gitlab', name: 'GitLab', description: 'Repositories, merge requests, issues, and DevSecOps platform.', category: 'development', risk: 'medium', icon: '🦊', source: 'builtin' },
465
- { id: 'vercel', name: 'Vercel', description: 'Frontend deployment, serverless functions, edge config, and analytics.', category: 'devops', risk: 'medium', icon: '▲', source: 'builtin' },
466
- { id: 'netlify', name: 'Netlify', description: 'Web deployment, forms, identity, functions, and edge handlers.', category: 'devops', risk: 'medium', icon: '🌐', source: 'builtin' },
467
-
468
- // ─── Finance & Payments ─────────────────────────────────
469
- { id: 'stripe', name: 'Stripe', description: 'Payments, subscriptions, invoices, customers, and financial reports.', category: 'finance', risk: 'high', icon: '💳', source: 'builtin' },
470
- { id: 'quickbooks', name: 'QuickBooks', description: 'Accounting — invoices, expenses, reports, payroll, and bank reconciliation.', category: 'finance', risk: 'high', icon: '📒', source: 'builtin' },
471
- { id: 'xero', name: 'Xero', description: 'Cloud accounting — invoicing, bank feeds, reporting, and payroll.', category: 'finance', risk: 'high', icon: '📗', source: 'builtin' },
472
- { id: 'freshbooks', name: 'FreshBooks', description: 'Invoicing, time tracking, expenses, and financial reports.', category: 'finance', risk: 'medium', icon: '📘', source: 'builtin' },
473
- { id: 'paypal', name: 'PayPal', description: 'Payments, invoices, subscriptions, and disputes.', category: 'finance', risk: 'high', icon: '💰', source: 'builtin' },
474
- { id: 'wise', name: 'Wise', description: 'International transfers, multi-currency accounts, and batch payments.', category: 'finance', risk: 'high', icon: '🌍', source: 'builtin' },
475
- { id: 'plaid', name: 'Plaid', description: 'Bank connections, account data, transactions, and identity verification.', category: 'finance', risk: 'critical', icon: '🏦', source: 'builtin' },
476
-
477
- // ─── Analytics & BI ─────────────────────────────────────
478
- { id: 'tableau', name: 'Tableau', description: 'Data visualization, dashboards, workbooks, and data sources.', category: 'analytics', risk: 'medium', icon: '📊', source: 'builtin' },
479
- { id: 'looker', name: 'Looker', description: 'Business intelligence — explores, dashboards, LookML, and scheduling.', category: 'analytics', risk: 'medium', icon: '🔍', source: 'builtin' },
480
- { id: 'mixpanel', name: 'Mixpanel', description: 'Product analytics — events, funnels, retention, and user profiles.', category: 'analytics', risk: 'low', icon: '📈', source: 'builtin' },
481
- { id: 'amplitude', name: 'Amplitude', description: 'Product analytics — behavioral data, cohorts, experiments, and segments.', category: 'analytics', risk: 'low', icon: '📉', source: 'builtin' },
482
- { id: 'segment', name: 'Segment', description: 'Customer data platform — sources, destinations, protocols, and personas.', category: 'analytics', risk: 'medium', icon: '🟢', source: 'builtin' },
483
- { id: 'google-analytics', name: 'Google Analytics', description: 'Web analytics — pageviews, events, conversions, audiences, and reports.', category: 'analytics', risk: 'low', icon: '📊', source: 'builtin' },
484
- { id: 'hotjar', name: 'Hotjar', description: 'Heatmaps, session recordings, surveys, and user feedback.', category: 'analytics', risk: 'low', icon: '🔥', source: 'builtin' },
485
-
486
- // ─── Design ─────────────────────────────────────────────
487
- { id: 'figma', name: 'Figma', description: 'UI/UX design — files, components, prototypes, and design tokens.', category: 'design', risk: 'low', icon: '🎨', source: 'builtin' },
488
- { id: 'canva', name: 'Canva', description: 'Graphic design — templates, brand kit, team designs, and media library.', category: 'design', risk: 'low', icon: '🖼️', source: 'builtin' },
489
- { id: 'miro', name: 'Miro', description: 'Online whiteboard — boards, frames, sticky notes, and templates.', category: 'design', risk: 'low', icon: '🟡', source: 'builtin' },
490
- { id: 'adobe-photoshop', name: 'Adobe Photoshop', description: 'Image editing, compositing, and batch processing.', category: 'design', risk: 'low', icon: '🎨', source: 'builtin' },
491
- { id: 'adobe-illustrator', name: 'Adobe Illustrator', description: 'Vector graphics, logos, icons, and illustrations.', category: 'design', risk: 'low', icon: '✒️', source: 'builtin' },
492
- { id: 'adobe-premiere', name: 'Adobe Premiere Pro', description: 'Video editing, color grading, audio mixing, and export.', category: 'media', risk: 'low', icon: '🎬', source: 'builtin' },
493
- { id: 'adobe-after-effects', name: 'Adobe After Effects', description: 'Motion graphics, visual effects, and compositing.', category: 'media', risk: 'low', icon: '✨', source: 'builtin' },
494
- { id: 'adobe-indesign', name: 'Adobe InDesign', description: 'Page layout, publishing, and document design.', category: 'design', risk: 'low', icon: '📄', source: 'builtin' },
495
- { id: 'adobe-xd', name: 'Adobe XD', description: 'UI/UX design, prototyping, and design systems.', category: 'design', risk: 'low', icon: '🎯', source: 'builtin' },
496
-
497
- // ─── Marketing ──────────────────────────────────────────
498
- { id: 'mailchimp', name: 'Mailchimp', description: 'Email campaigns, audiences, automations, templates, and analytics.', category: 'marketing', risk: 'medium', icon: '🐵', source: 'builtin' },
499
- { id: 'sendgrid', name: 'SendGrid', description: 'Transactional and marketing email — templates, stats, and deliverability.', category: 'marketing', risk: 'medium', icon: '📧', source: 'builtin' },
500
- { id: 'google-ads', name: 'Google Ads', description: 'Search, display, video, and shopping campaigns. Bidding and reporting.', category: 'marketing', risk: 'high', icon: '📢', source: 'builtin' },
501
- { id: 'meta-ads', name: 'Meta Ads', description: 'Facebook and Instagram advertising — campaigns, audiences, and creatives.', category: 'marketing', risk: 'high', icon: '📱', source: 'builtin' },
502
- { id: 'linkedin-marketing', name: 'LinkedIn Marketing', description: 'Sponsored content, InMail campaigns, and lead gen forms.', category: 'marketing', risk: 'high', icon: '🔗', source: 'builtin' },
503
- { id: 'activecampaign', name: 'ActiveCampaign', description: 'Email automation, CRM, site messaging, and machine learning.', category: 'marketing', risk: 'medium', icon: '📬', source: 'builtin' },
504
- { id: 'buffer', name: 'Buffer', description: 'Social media scheduling, analytics, and team collaboration.', category: 'social', risk: 'medium', icon: '📋', source: 'builtin' },
505
- { id: 'hootsuite', name: 'Hootsuite', description: 'Social media management — scheduling, monitoring, and reporting.', category: 'social', risk: 'medium', icon: '🦉', source: 'builtin' },
506
-
507
- // ─── E-Commerce ─────────────────────────────────────────
508
- { id: 'shopify', name: 'Shopify', description: 'Online store — products, orders, customers, inventory, and shipping.', category: 'ecommerce', risk: 'medium', icon: '🛍️', source: 'builtin' },
509
- { id: 'woocommerce', name: 'WooCommerce', description: 'WordPress ecommerce — products, orders, coupons, and shipping.', category: 'ecommerce', risk: 'medium', icon: '🛒', source: 'builtin' },
510
- { id: 'bigcommerce', name: 'BigCommerce', description: 'Enterprise ecommerce — catalog, orders, customers, and channels.', category: 'ecommerce', risk: 'medium', icon: '🏬', source: 'builtin' },
511
- { id: 'magento', name: 'Magento', description: 'Adobe Commerce — products, categories, orders, and customer segments.', category: 'ecommerce', risk: 'medium', icon: '🧲', source: 'builtin' },
512
-
513
- // ─── HR & People ────────────────────────────────────────
514
- { id: 'bamboohr', name: 'BambooHR', description: 'Employee records, time-off, onboarding, performance, and reporting.', category: 'hr', risk: 'high', icon: '🎋', source: 'builtin' },
515
- { id: 'workday', name: 'Workday', description: 'HCM, payroll, time tracking, benefits, and talent management.', category: 'hr', risk: 'high', icon: '🏢', source: 'builtin' },
516
- { id: 'gusto', name: 'Gusto', description: 'Payroll, benefits, HR, and compliance for small businesses.', category: 'hr', risk: 'high', icon: '💚', source: 'builtin' },
517
- { id: 'rippling', name: 'Rippling', description: 'Unified HR, IT, and Finance — payroll, devices, apps, and benefits.', category: 'hr', risk: 'high', icon: '🌊', source: 'builtin' },
518
- { id: 'lever', name: 'Lever', description: 'Recruiting — job postings, candidates, interviews, and offer letters.', category: 'hr', risk: 'medium', icon: '🔧', source: 'builtin' },
519
- { id: 'greenhouse', name: 'Greenhouse', description: 'Talent acquisition — requisitions, scorecards, scheduling, and reports.', category: 'hr', risk: 'medium', icon: '🌱', source: 'builtin' },
520
-
521
- // ─── Legal & Compliance ─────────────────────────────────
522
- { id: 'docusign', name: 'DocuSign', description: 'Electronic signatures, envelopes, templates, and agreement workflows.', category: 'legal', risk: 'high', icon: '✍️', source: 'builtin' },
523
- { id: 'pandadoc', name: 'PandaDoc', description: 'Document automation — proposals, quotes, contracts, and e-signatures.', category: 'legal', risk: 'medium', icon: '🐼', source: 'builtin' },
524
- { id: 'clio', name: 'Clio', description: 'Legal practice management — matters, time entries, billing, and documents.', category: 'legal', risk: 'high', icon: '⚖️', source: 'builtin' },
525
-
526
- // ─── Storage & File Sharing ─────────────────────────────
527
- { id: 'dropbox', name: 'Dropbox', description: 'Cloud storage, file sharing, Paper docs, and team spaces.', category: 'storage', risk: 'medium', icon: '📦', source: 'builtin' },
528
- { id: 'box', name: 'Box', description: 'Enterprise content management — files, folders, metadata, and workflows.', category: 'storage', risk: 'medium', icon: '📁', source: 'builtin' },
529
-
530
- // ─── Database ───────────────────────────────────────────
531
- { id: 'mongodb-atlas', name: 'MongoDB Atlas', description: 'Cloud MongoDB — clusters, collections, indexes, and aggregations.', category: 'database', risk: 'high', icon: '🍃', source: 'builtin' },
532
- { id: 'redis-cloud', name: 'Redis Cloud', description: 'Managed Redis — databases, keys, streams, and pub/sub.', category: 'database', risk: 'medium', icon: '🔴', source: 'builtin' },
533
- { id: 'elasticsearch', name: 'Elasticsearch', description: 'Search and analytics — indexes, queries, aggregations, and mappings.', category: 'database', risk: 'medium', icon: '🔎', source: 'builtin' },
534
- { id: 'snowflake', name: 'Snowflake', description: 'Cloud data warehouse — SQL queries, warehouses, stages, and shares.', category: 'database', risk: 'high', icon: '❄️', source: 'builtin' },
535
- { id: 'supabase', name: 'Supabase', description: 'Open-source Firebase — Postgres, auth, storage, realtime, and edge functions.', category: 'database', risk: 'medium', icon: '⚡', source: 'builtin' },
536
- { id: 'planetscale', name: 'PlanetScale', description: 'Serverless MySQL — branches, deploy requests, and schema management.', category: 'database', risk: 'medium', icon: '🌐', source: 'builtin' },
537
-
538
- // ─── Monitoring & Observability ─────────────────────────
539
- { id: 'datadog', name: 'Datadog', description: 'APM, logs, metrics, dashboards, monitors, and synthetics.', category: 'monitoring', risk: 'medium', icon: '🐶', source: 'builtin' },
540
- { id: 'pagerduty', name: 'PagerDuty', description: 'Incident management — alerts, escalations, schedules, and on-call.', category: 'monitoring', risk: 'medium', icon: '🚨', source: 'builtin' },
541
- { id: 'sentry', name: 'Sentry', description: 'Error tracking — issues, releases, performance, and session replay.', category: 'monitoring', risk: 'low', icon: '🪲', source: 'builtin' },
542
- { id: 'newrelic', name: 'New Relic', description: 'Full-stack observability — APM, infrastructure, logs, and dashboards.', category: 'monitoring', risk: 'medium', icon: '🔭', source: 'builtin' },
543
- { id: 'grafana', name: 'Grafana', description: 'Dashboards, alerting, and data source visualization.', category: 'monitoring', risk: 'low', icon: '📊', source: 'builtin' },
544
- { id: 'statuspage', name: 'Statuspage', description: 'Public and private status pages, incidents, and maintenance windows.', category: 'monitoring', risk: 'medium', icon: '🟢', source: 'builtin' },
545
- { id: 'opsgenie', name: 'Opsgenie', description: 'Alert management, on-call schedules, escalations, and incident response.', category: 'monitoring', risk: 'medium', icon: '🔔', source: 'builtin' },
546
-
547
- // ─── Security & Identity ────────────────────────────────
548
- { id: 'okta', name: 'Okta', description: 'Identity management — SSO, MFA, user lifecycle, and API access management.', category: 'security', risk: 'critical', icon: '🔐', source: 'builtin' },
549
- { id: 'auth0', name: 'Auth0', description: 'Authentication — login flows, social connections, roles, and organizations.', category: 'security', risk: 'high', icon: '🔓', source: 'builtin' },
550
- { id: 'vault-hashicorp', name: 'HashiCorp Vault', description: 'Secrets management — KV store, dynamic credentials, encryption, and PKI.', category: 'security', risk: 'critical', icon: '🗝️', source: 'builtin' },
551
- { id: 'crowdstrike', name: 'CrowdStrike', description: 'Endpoint security — detections, incidents, IoCs, and threat intelligence.', category: 'security', risk: 'high', icon: '🦅', source: 'builtin' },
552
- { id: 'snyk', name: 'Snyk', description: 'Developer security — vulnerability scanning, license compliance, and SBOM.', category: 'security', risk: 'medium', icon: '🔍', source: 'builtin' },
553
-
554
- // ─── Social Media (expanded) ────────────────────────────
555
- { id: 'linkedin', name: 'LinkedIn', description: 'Professional networking — posts, connections, company pages, and messaging.', category: 'social', risk: 'high', icon: '🔗', source: 'builtin' },
556
- { id: 'instagram', name: 'Instagram', description: 'Photo/video sharing — posts, stories, reels, and insights.', category: 'social', risk: 'high', icon: '📸', source: 'builtin' },
557
- { id: 'facebook', name: 'Facebook Pages', description: 'Page management — posts, comments, insights, and messenger.', category: 'social', risk: 'high', icon: '📘', source: 'builtin' },
558
- { id: 'youtube', name: 'YouTube', description: 'Video platform — uploads, playlists, analytics, comments, and live streams.', category: 'social', risk: 'high', icon: '▶️', source: 'builtin' },
559
- { id: 'tiktok', name: 'TikTok Business', description: 'Short-form video — uploads, analytics, and business tools.', category: 'social', risk: 'high', icon: '🎵', source: 'builtin' },
560
- { id: 'reddit', name: 'Reddit', description: 'Posts, comments, subreddits, and moderation.', category: 'social', risk: 'medium', icon: '🔴', source: 'builtin' },
561
-
562
- // ─── Communication (expanded) ───────────────────────────
563
- { id: 'twilio', name: 'Twilio', description: 'Programmable voice, SMS, video, and messaging APIs.', category: 'communication', risk: 'high', icon: '📞', source: 'builtin' },
564
- { id: 'vonage', name: 'Vonage', description: 'Communication APIs — SMS, voice, video, and verification.', category: 'communication', risk: 'high', icon: '📱', source: 'builtin' },
565
- { id: 'ringcentral', name: 'RingCentral', description: 'Cloud phone system — calls, messages, video, and fax.', category: 'communication', risk: 'medium', icon: '📞', source: 'builtin' },
566
-
567
- // ─── Automation (expanded) ──────────────────────────────
568
- { id: 'zapier', name: 'Zapier', description: 'No-code automation — zaps, triggers, actions, and multi-step workflows.', category: 'automation', risk: 'medium', icon: '⚡', source: 'builtin' },
569
- { id: 'make', name: 'Make (Integromat)', description: 'Visual automation — scenarios, modules, and data routing.', category: 'automation', risk: 'medium', icon: '🔀', source: 'builtin' },
570
- { id: 'n8n', name: 'n8n', description: 'Open-source workflow automation — nodes, triggers, and custom functions.', category: 'automation', risk: 'medium', icon: '🔄', source: 'builtin' },
571
-
572
- // ─── Infrastructure ─────────────────────────────────────
573
- { id: 'cloudflare', name: 'Cloudflare', description: 'CDN, DNS, Workers, Pages, security, and zero trust.', category: 'cloud-infrastructure', risk: 'high', icon: '🔶', source: 'builtin' },
574
- { id: 'digitalocean', name: 'DigitalOcean', description: 'Cloud infrastructure — droplets, databases, spaces, and app platform.', category: 'cloud-infrastructure', risk: 'high', icon: '🌊', source: 'builtin' },
575
- { id: 'heroku', name: 'Heroku', description: 'Cloud platform — apps, dynos, add-ons, and pipelines.', category: 'cloud-infrastructure', risk: 'medium', icon: '🟣', source: 'builtin' },
576
- { id: 'fly-io', name: 'Fly.io', description: 'Edge deployment — machines, volumes, secrets, and global routing.', category: 'cloud-infrastructure', risk: 'medium', icon: '🪁', source: 'builtin' },
577
-
578
- // ─── Enterprise Utility Skills (from individual skill files) ─
325
+ // ═══ Enterprise Utility Tools ═══
579
326
  ...ENTERPRISE_SKILL_DEFS,
580
327
  ];
581
328
 
package/src/index.ts CHANGED
@@ -67,6 +67,11 @@ export {
67
67
  } from './lib/resilience.js';
68
68
  export type { RetryOptions, CircuitBreakerOptions, RateLimiterOptions, HealthCheckOptions } from './lib/resilience.js';
69
69
 
70
+ // AgenticMail Enterprise (embedded email for agents)
71
+ export { AgenticMailManager } from './agenticmail/index.js';
72
+ export type { AgentEmailIdentity, EmailProvider, IEmailProvider } from './agenticmail/index.js';
73
+ export { createEmailProvider, MicrosoftEmailProvider, GoogleEmailProvider } from './agenticmail/index.js';
74
+
70
75
  // Agent Runtime (standalone agent execution)
71
76
  export { AgentRuntime, createAgentRuntime } from './runtime/index.js';
72
77
  export type { AgentConfig, SessionState, StreamEvent, RuntimeConfig, ModelConfig, SpawnOptions } from './runtime/types.js';