If you give Sabrina an argument of type Contact in a slot of type PhoneNumber/EmailAddress, she will run contact search in the user's phone address book.
We should map that to a FilterNerSpanFn with tag PERSON, and make it into a ContactValue that looks like a StringValue at the JSON level, minus the type being Contact.
We might also want a rule that maps mom, gf, bf, dad, etc. to Contact. Maybe single tokens? Or maybe a simple list of few rules that float mom,dad, girlfriend,boyfriend.
The infrastructure to learn who's mom/dad/etc on the client side more or less exists.
(For the record, google now recognizes mom, dad, girlfriend, but not gf. Also Google knows my dad's name, despite me never writing it anywhere, which is creepy. I think it matches on last names.)
If you give Sabrina an argument of type Contact in a slot of type PhoneNumber/EmailAddress, she will run contact search in the user's phone address book. We should map that to a FilterNerSpanFn with tag PERSON, and make it into a ContactValue that looks like a StringValue at the JSON level, minus the type being Contact.
We might also want a rule that maps mom, gf, bf, dad, etc. to Contact. Maybe single tokens? Or maybe a simple list of few rules that float mom,dad, girlfriend,boyfriend. The infrastructure to learn who's mom/dad/etc on the client side more or less exists.
(For the record, google now recognizes mom, dad, girlfriend, but not gf. Also Google knows my dad's name, despite me never writing it anywhere, which is creepy. I think it matches on last names.)