12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970{"id":"com.lattice.contacts","name":"Contacts","icon":"👤","color":"#3b82f6","description":"Manage contact names, email addresses, phone numbers and birthdays.","requested_permissions":{"storage":["kv","sql"],"network":{"allowlist":[]},"events":{"contact-added":{"description":"A contact was added.","schema":{"type":"object","properties":{"id":{"type":"integer","description":"Contact ID."},"name":{"type":"string","description":"Contact name."},"email":{"type":"string","description":"Email address; empty means unknown."},"phone":{"type":"string","description":"Phone number text; empty means unknown."},"birthday":{"type":"string","description":"Birthday, YYYY-MM-DD; empty means unknown."},"notes":{"type":"string","description":"Contact notes; empty means none."}},"required":["id","name","email","phone","birthday","notes"]}},"contact-updated":{"description":"A contact was updated.","schema":{"type":"object","properties":{"id":{"type":"integer","description":"Contact ID."},"name":{"type":"string","description":"Contact name."},"email":{"type":"string","description":"Email address; empty means unknown."},"phone":{"type":"string","description":"Phone number text; empty means unknown."},"birthday":{"type":"string","description":"Birthday, YYYY-MM-DD; empty means unknown."},"notes":{"type":"string","description":"Contact notes; empty means none."}},"required":["id","name","email","phone","birthday","notes"]}},"contact-removed":{"description":"A contact was removed.","schema":{"type":"object","properties":{"id":{"type":"integer","description":"Contact ID."},"name":{"type":"string","description":"Contact name."}},"required":["id","name"]}}},"listeners":{"add-contact":{"description":"Add a contact.","schema":{"type":"object","properties":{"name":{"type":"string","description":"Nonempty contact name."},"email":{"type":"string","description":"Email address; omitted or empty means unknown."},"phone":{"type":"string","description":"Phone number text; omitted or empty means unknown."},"birthday":{"type":"string","description":"Birthday, YYYY-MM-DD; omitted or empty means unknown."},"notes":{"type":"string","description":"Contact notes; omitted or empty means none."}},"required":["name"]}}}}}