New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

@vox-ai-app/integrations

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vox-ai-app/integrations

macOS integrations (Mail, Screen, iMessage) for Vox

Source
npmnpm
Version
1.0.0
Version published
Weekly downloads
6
-40%
Maintainers
1
Weekly downloads
 
Created
Source

@vox-ai-app/vox-integrations

macOS system integrations for Vox: Apple Mail, Screen control, and iMessage. Each integration ships with tool implementations and LLM tool definitions.

Requires macOS. Each integration needs specific system permissions granted by the user.

Install

npm install @vox-ai-app/vox-integrations

Peer dependency: electron >= 28

Exports

ExportContents
@vox-ai-app/vox-integrationsAll exports
@vox-ai-app/vox-integrations/defsAll tool definitions
@vox-ai-app/vox-integrations/mailMail functions
@vox-ai-app/vox-integrations/screenScreen capture + control
@vox-ai-app/vox-integrations/screen/captureCapture only
@vox-ai-app/vox-integrations/screen/controlControl only
@vox-ai-app/vox-integrations/screen/queueSession acquire/release
@vox-ai-app/vox-integrations/imessageiMessage data, reply, service

Mail

Requires Automation permission for Mail (System Settings → Privacy & Security → Automation).

import {
  sendEmail,
  readEmails,
  searchContacts,
  replyToEmail
} from '@vox-ai-app/vox-integrations/mail'

const emails = await readEmails({ account: 'Work', folder: 'INBOX', limit: 20 })
await sendEmail({ to: 'user@example.com', subject: 'Hi', body: 'Hello.' })
await replyToEmail({ messageId: '...', body: 'Thanks!' })

Tool definitions:

import { MAIL_TOOL_DEFINITIONS } from '@vox-ai-app/vox-integrations/defs'

Screen

Requires Accessibility permission (System Settings → Privacy & Security → Accessibility).

import {
  captureFullScreen,
  clickAt,
  typeText,
  getUiElements
} from '@vox-ai-app/vox-integrations/screen'
import { acquireScreen, releaseScreen } from '@vox-ai-app/vox-integrations/screen/queue'

const session = await acquireScreen()
try {
  const img = await captureFullScreen()
  await clickAt({ x: 100, y: 200 })
  await typeText({ text: 'Hello' })
} finally {
  await releaseScreen(session)
}

Tool definitions:

import { SCREEN_TOOL_DEFINITIONS } from '@vox-ai-app/vox-integrations/defs'

iMessage

Requires Full Disk Access (System Settings → Privacy & Security → Full Disk Access).

Tool use (read conversations, send messages)

import { listConversations, listContacts, sendReply } from '@vox-ai-app/vox-integrations/imessage'

const conversations = listConversations()
const contacts = listContacts()
await sendReply('+15551234567', 'Hello from Vox!')

Gateway service (AI replies to incoming iMessages)

import { createIMessageService } from '@vox-ai-app/vox-integrations/imessage'

const svc = createIMessageService({
  logger,
  onTranscript: (text, handle) => {
    /* emit to UI */
  },
  onOpenSettings: () => shell.openExternal('x-apple.systempreferences:...'),
  onMessage: async (text, handle) => {
    // call your AI here, return the reply string
    return await askAI(text)
  }
})

svc.start('my-passphrase')
// user sends "my-passphrase\nWhat's the weather?" → AI replies back

onMessage must return a Promise<string | null>. Returning null skips the reply.

Tool definitions:

import { IMESSAGE_TOOL_DEFINITIONS } from '@vox-ai-app/vox-integrations/defs'

License

MIT

FAQs

Package last updated on 27 Mar 2026

Related posts