@agenticmail/enterprise 0.5.147 → 0.5.148

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,34 @@
1
+ import "./chunk-KFQGP6VL.js";
2
+
3
+ // src/cli-serve.ts
4
+ async function runServe(_args) {
5
+ const DATABASE_URL = process.env.DATABASE_URL;
6
+ const JWT_SECRET = process.env.JWT_SECRET;
7
+ const PORT = parseInt(process.env.PORT || "8080", 10);
8
+ if (!DATABASE_URL) {
9
+ console.error("ERROR: DATABASE_URL environment variable is required");
10
+ process.exit(1);
11
+ }
12
+ if (!JWT_SECRET) {
13
+ console.error("ERROR: JWT_SECRET environment variable is required");
14
+ process.exit(1);
15
+ }
16
+ const { createAdapter } = await import("./factory-MBP7N2OQ.js");
17
+ const { createServer } = await import("./server-D3R4NX53.js");
18
+ const db = await createAdapter({
19
+ type: DATABASE_URL.startsWith("postgres") ? "postgres" : "sqlite",
20
+ connectionString: DATABASE_URL
21
+ });
22
+ await db.migrate();
23
+ const server = createServer({
24
+ port: PORT,
25
+ db,
26
+ jwtSecret: JWT_SECRET,
27
+ corsOrigins: ["*"]
28
+ });
29
+ await server.start();
30
+ console.log(`AgenticMail Enterprise server running on :${PORT}`);
31
+ }
32
+ export {
33
+ runServe
34
+ };
package/dist/cli.js CHANGED
@@ -47,14 +47,14 @@ Skill Development:
47
47
  `);
48
48
  break;
49
49
  case "serve":
50
- import("./cli-serve-PAZBBNYO.js").then((m) => m.runServe(args.slice(1))).catch(fatal);
50
+ import("./cli-serve-TY75XKAC.js").then((m) => m.runServe(args.slice(1))).catch(fatal);
51
51
  break;
52
52
  case "agent":
53
- import("./cli-agent-C5GYBTEP.js").then((m) => m.runAgent(args.slice(1))).catch(fatal);
53
+ import("./cli-agent-NJA6QJRP.js").then((m) => m.runAgent(args.slice(1))).catch(fatal);
54
54
  break;
55
55
  case "setup":
56
56
  default:
57
- import("./setup-FYDVXY3G.js").then((m) => m.runSetupWizard()).catch(fatal);
57
+ import("./setup-E5UQ7DVF.js").then((m) => m.runSetupWizard()).catch(fatal);
58
58
  break;
59
59
  }
60
60
  function fatal(err) {
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  provision,
9
9
  runSetupWizard
10
- } from "./chunk-75367ZJT.js";
10
+ } from "./chunk-W2D2QS6F.js";
11
11
  import {
12
12
  ActionJournal,
13
13
  ActivityTracker,
@@ -54,7 +54,7 @@ import {
54
54
  executeTool,
55
55
  runAgentLoop,
56
56
  toolsToDefinitions
57
- } from "./chunk-AOR6GSZQ.js";
57
+ } from "./chunk-5DHA3EXP.js";
58
58
  import "./chunk-AQH4DFYV.js";
59
59
  import {
60
60
  ValidationError,
@@ -69,7 +69,7 @@ import {
69
69
  requireRole,
70
70
  securityHeaders,
71
71
  validate
72
- } from "./chunk-ROB2PPZ2.js";
72
+ } from "./chunk-RT7T4NSG.js";
73
73
  import "./chunk-3SMTCIR4.js";
74
74
  import {
75
75
  CircuitBreaker,
@@ -0,0 +1,49 @@
1
+ import {
2
+ AgentRuntime,
3
+ EmailChannel,
4
+ FollowUpScheduler,
5
+ SessionManager,
6
+ SubAgentManager,
7
+ ToolRegistry,
8
+ callLLM,
9
+ createAgentRuntime,
10
+ createNoopHooks,
11
+ createRuntimeHooks,
12
+ estimateMessageTokens,
13
+ estimateTokens,
14
+ executeTool,
15
+ runAgentLoop,
16
+ toolsToDefinitions
17
+ } from "./chunk-5DHA3EXP.js";
18
+ import "./chunk-AQH4DFYV.js";
19
+ import "./chunk-JLSQOQ5L.js";
20
+ import {
21
+ PROVIDER_REGISTRY,
22
+ listAllProviders,
23
+ resolveApiKeyForProvider,
24
+ resolveProvider
25
+ } from "./chunk-67KZYSLU.js";
26
+ import "./chunk-NRF3YRF7.js";
27
+ import "./chunk-TYW5XTOW.js";
28
+ import "./chunk-KFQGP6VL.js";
29
+ export {
30
+ AgentRuntime,
31
+ EmailChannel,
32
+ FollowUpScheduler,
33
+ PROVIDER_REGISTRY,
34
+ SessionManager,
35
+ SubAgentManager,
36
+ ToolRegistry,
37
+ callLLM,
38
+ createAgentRuntime,
39
+ createNoopHooks,
40
+ createRuntimeHooks,
41
+ estimateMessageTokens,
42
+ estimateTokens,
43
+ executeTool,
44
+ listAllProviders,
45
+ resolveApiKeyForProvider,
46
+ resolveProvider,
47
+ runAgentLoop,
48
+ toolsToDefinitions
49
+ };
@@ -0,0 +1,12 @@
1
+ import {
2
+ createServer
3
+ } from "./chunk-RT7T4NSG.js";
4
+ import "./chunk-3SMTCIR4.js";
5
+ import "./chunk-JLSQOQ5L.js";
6
+ import "./chunk-RO537U6H.js";
7
+ import "./chunk-DRXMYYKN.js";
8
+ import "./chunk-67KZYSLU.js";
9
+ import "./chunk-KFQGP6VL.js";
10
+ export {
11
+ createServer
12
+ };
@@ -0,0 +1,20 @@
1
+ import {
2
+ promptCompanyInfo,
3
+ promptDatabase,
4
+ promptDeployment,
5
+ promptDomain,
6
+ promptRegistration,
7
+ provision,
8
+ runSetupWizard
9
+ } from "./chunk-W2D2QS6F.js";
10
+ import "./chunk-MHIFVS5L.js";
11
+ import "./chunk-KFQGP6VL.js";
12
+ export {
13
+ promptCompanyInfo,
14
+ promptDatabase,
15
+ promptDeployment,
16
+ promptDomain,
17
+ promptRegistration,
18
+ provision,
19
+ runSetupWizard
20
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agenticmail/enterprise",
3
- "version": "0.5.147",
3
+ "version": "0.5.148",
4
4
  "description": "AgenticMail Enterprise — cloud-hosted AI agent identity, email, auth & compliance for organizations",
5
5
  "type": "module",
6
6
  "bin": {
@@ -373,78 +373,7 @@ export function createMeetingLifecycleTools(config: MeetingLifecycleConfig, _opt
373
373
  },
374
374
 
375
375
  // ─── Check Meeting Joinability ─────────────────────
376
- {
377
- name: 'meeting_join',
378
- description: 'Join a video meeting (Google Meet, Zoom, or Teams) by opening the meeting URL in a browser. Works in observer mode on containers (can see screen/chat but no real audio/video). On VMs, full audio/video is available.',
379
- category: 'utility' as const,
380
- parameters: {
381
- type: 'object' as const,
382
- properties: {
383
- url: { type: 'string', description: 'Meeting URL (e.g. https://meet.google.com/abc-defg-hij)' },
384
- platform: { type: 'string', description: 'Meeting platform: google_meet, zoom, teams (auto-detected from URL if omitted)' },
385
- muted: { type: 'boolean', description: 'Join with mic muted (default: true)' },
386
- cameraOff: { type: 'boolean', description: 'Join with camera off (default: true)' },
387
- },
388
- required: ['url'],
389
- },
390
- async execute(_id: string, params: any) {
391
- const meetUrl = params.url;
392
- if (!meetUrl) return errorResult('Meeting URL is required');
393
-
394
- const caps = getCaps();
395
- const summary = getCapabilitySummary(caps);
396
-
397
- // Auto-detect platform
398
- let platform = params.platform || 'unknown';
399
- if (meetUrl.includes('meet.google.com')) platform = 'google_meet';
400
- else if (meetUrl.includes('zoom.us') || meetUrl.includes('zoom.com')) platform = 'zoom';
401
- else if (meetUrl.includes('teams.microsoft.com') || meetUrl.includes('teams.live.com')) platform = 'teams';
402
-
403
- // Return instructions for the agent to use browser tool
404
- // The agent has browser tool access and should use it to navigate to the URL
405
- const isObserverOnly = !caps.canJoinMeetings;
406
- const instructions: string[] = [];
407
-
408
- if (platform === 'google_meet') {
409
- instructions.push(
410
- `Navigate to: ${meetUrl}`,
411
- 'Wait for the pre-join screen to load.',
412
- 'If prompted to sign in, you should already be authenticated via Google OAuth.',
413
- isObserverOnly
414
- ? 'You are in OBSERVER mode: camera and mic will show as unavailable. Click "Join now" or "Ask to join" anyway.'
415
- : 'Toggle mic OFF (Ctrl+D) and camera OFF (Ctrl+E) before joining.',
416
- 'Click the "Join now" or "Ask to join" button.',
417
- 'Once in the meeting, you can observe the screen and read the chat.',
418
- );
419
- } else if (platform === 'zoom') {
420
- instructions.push(
421
- `Navigate to: ${meetUrl}`,
422
- 'Click "Join from Your Browser" (do NOT install the Zoom client).',
423
- 'Enter your name if prompted.',
424
- 'Join with mic and camera off.',
425
- );
426
- } else if (platform === 'teams') {
427
- instructions.push(
428
- `Navigate to: ${meetUrl}`,
429
- 'Click "Continue on this browser" (do NOT use the Teams app).',
430
- 'Enter your name if prompted.',
431
- 'Join with mic and camera off.',
432
- );
433
- } else {
434
- instructions.push(`Navigate to: ${meetUrl}`, 'Follow the on-screen prompts to join.');
435
- }
436
-
437
- return jsonResult({
438
- status: 'ready_to_join',
439
- platform,
440
- url: meetUrl,
441
- mode: isObserverOnly ? 'observer' : 'full',
442
- deployment: summary.deployment,
443
- instructions,
444
- nextStep: 'Use the browser tool to navigate to the URL and follow the instructions above. Use browser(action="navigate", targetUrl="' + meetUrl + '") then browser(action="snapshot") to see the page.',
445
- });
446
- },
447
- },
376
+ // NOTE: meeting_join is defined in google/meetings.ts — do NOT duplicate here
448
377
  {
449
378
  name: 'meeting_can_join',
450
379
  description: 'Check if this agent can join a video meeting on the current deployment. Returns capabilities and specific instructions based on what is available.',