mirror of
https://github.com/open-jarvis/OpenJarvis.git
synced 2026-07-30 02:42:16 +00:00
* feat: add Apple Contacts connector (macOS AddressBook) Reads directly from ~/Library/Application Support/AddressBook/AddressBook-v22.abcddb in read-only mode. Extracts names, phone numbers, emails, postal addresses, URLs, social profiles, and notes for each contact. Requires Full Disk Access like iMessage and Apple Notes connectors. - New connector: src/openjarvis/connectors/apple_contacts.py - Registered in connectors/__init__.py - Added frontend catalog entry (PIM category) and icon mapping - MCP tools: contacts_search, contacts_get_contact * test: add comprehensive tests for Apple Contacts connector 15 tests covering: is_connected (exists/missing), sync yields all real contacts (skips system rows), extracts all field types (phone, email, address, URL, social, notes), cleans Apple label markup, org-only contacts, minimal contacts, since filter, sync_status tracking, structured metadata, disconnect, mcp_tools, registry, empty DB, missing DB. Uses fake SQLite database — no real Contacts DB needed. * fix: scan iCloud/Exchange source databases for all contacts The main AddressBook database only contains locally-created contacts. Synced contacts (iCloud, Exchange, etc.) live under Sources/<UUID>/AddressBook-v22.abcddb. Now scans all source databases and deduplicates by ZUNIQUEID across sources. Adds tests for multi-source scanning and cross-source deduplication.