6534 lines
230 KiB
JSON
6534 lines
230 KiB
JSON
{
|
|
"devices": [
|
|
{
|
|
"kind": "com.facebook",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "facebook account",
|
|
"triggers": {},
|
|
"queries": {
|
|
},
|
|
"actions": {
|
|
"post": {
|
|
"types": [
|
|
"String"
|
|
],
|
|
"args": [
|
|
"status"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "post $status on Facebook",
|
|
"confirmation_remote": "post $status on $__person's Facebook",
|
|
"doc": "post a status update to Facebook",
|
|
"canonical": "post on facebook",
|
|
"argcanonicals": [
|
|
"status"
|
|
],
|
|
"questions": [
|
|
"What do you want to post?"
|
|
],
|
|
"string_values": [
|
|
"tt:long_free_text"
|
|
]
|
|
},
|
|
"post_picture": {
|
|
"types": [
|
|
"Entity(tt:picture)",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"picture_url",
|
|
"caption"
|
|
],
|
|
"required": [
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "upload a picture on Facebook with caption $caption",
|
|
"confirmation_remote": "upload a picture on $__person's Facebook with caption $caption",
|
|
"doc": "upload a photo to your Facebook",
|
|
"canonical": "post picture on facebook",
|
|
"argcanonicals": [
|
|
"picture url",
|
|
"caption"
|
|
],
|
|
"questions": [
|
|
"Upload the picture now.",
|
|
"What should be the caption of the picture?"
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"com.instagram:caption"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.google",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "google account",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.linkedin",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "linkedin account",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get_profile": {
|
|
"types": [
|
|
"String",
|
|
"String",
|
|
"String",
|
|
"String",
|
|
"Array(String)",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"formatted_name",
|
|
"headline",
|
|
"industry",
|
|
"specialties",
|
|
"positions",
|
|
"profile_picture"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "your LinkedIn profile",
|
|
"confirmation_remote": "$__person's LinkedIn profile",
|
|
"doc": "retrieve your LinkedIn profile",
|
|
"canonical": "get profile on linkedin",
|
|
"argcanonicals": [
|
|
"formatted name",
|
|
"headline",
|
|
"industry",
|
|
"specialties",
|
|
"positions",
|
|
"profile picture"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
"tt:person_full_name",
|
|
"tt:job_title",
|
|
"com.linkedin:industry",
|
|
null,
|
|
null,
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {
|
|
"share": {
|
|
"types": [
|
|
"String"
|
|
],
|
|
"args": [
|
|
"status"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "share $status on your LinkedIn",
|
|
"confirmation_remote": "share $status on $__person's LinkedIn",
|
|
"doc": "share a comment and a link ",
|
|
"canonical": "post on linkedin",
|
|
"argcanonicals": [
|
|
"status"
|
|
],
|
|
"questions": [
|
|
"What do you want to post? Include a link to a page."
|
|
],
|
|
"string_values": [
|
|
"tt:long_free_text"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.twitter",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "twitter account",
|
|
"triggers": {},
|
|
"queries": {
|
|
"direct_messages": {
|
|
"types": [
|
|
"Entity(tt:username)",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"sender",
|
|
"message"
|
|
],
|
|
"required": [
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "direct messages you received on Twitter",
|
|
"confirmation_remote": "direct messages $__person received on Twitter",
|
|
"doc": "get recent direct messages you received",
|
|
"canonical": "twitter direct messages",
|
|
"argcanonicals": [
|
|
"sender",
|
|
"message"
|
|
],
|
|
"questions": [
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
"com.twitter:username",
|
|
"tt:message"
|
|
]
|
|
},
|
|
"home_timeline": {
|
|
"types": [
|
|
"String",
|
|
"Array(Entity(tt:hashtag))",
|
|
"Array(Entity(tt:url))",
|
|
"Entity(tt:username)",
|
|
"Entity(tt:username)",
|
|
"Entity(com.twitter:id)"
|
|
],
|
|
"args": [
|
|
"text",
|
|
"hashtags",
|
|
"urls",
|
|
"author",
|
|
"in_reply_to",
|
|
"tweet_id"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "tweets from anyone you follow",
|
|
"confirmation_remote": "tweets from anyone $__person's follow",
|
|
"doc": "shows your Twitter timeline (the home page of Twitter)",
|
|
"canonical": "twitter home timeline",
|
|
"argcanonicals": [
|
|
"text",
|
|
"hashtags",
|
|
"urls",
|
|
"author",
|
|
"in reply to",
|
|
"tweet id"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
"tt:long_free_text",
|
|
"com.twitter:hashtag",
|
|
null,
|
|
"com.twitter:username",
|
|
"com.twitter:username",
|
|
null
|
|
]
|
|
},
|
|
"my_tweets": {
|
|
"types": [
|
|
"String",
|
|
"Array(Entity(tt:hashtag))",
|
|
"Array(Entity(tt:url))",
|
|
"Entity(tt:username)",
|
|
"Entity(com.twitter:id)"
|
|
],
|
|
"args": [
|
|
"text",
|
|
"hashtags",
|
|
"urls",
|
|
"in_reply_to",
|
|
"tweet_id"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "tweets from you",
|
|
"confirmation_remote": "tweets from $__person",
|
|
"doc": "get your recent tweets",
|
|
"canonical": "my tweets on twitter",
|
|
"argcanonicals": [
|
|
"text",
|
|
"hashtags",
|
|
"urls",
|
|
"in reply to",
|
|
"tweet id"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
"tt:long_free_text",
|
|
"com.twitter:hashtag",
|
|
null,
|
|
"com.twitter:username",
|
|
null
|
|
]
|
|
},
|
|
"search": {
|
|
"types": [
|
|
"Number",
|
|
"String",
|
|
"Array(Entity(tt:hashtag))",
|
|
"Array(Entity(tt:url))",
|
|
"Entity(tt:username)",
|
|
"Entity(tt:username)",
|
|
"Entity(com.twitter:id)"
|
|
],
|
|
"args": [
|
|
"count",
|
|
"text",
|
|
"hashtags",
|
|
"urls",
|
|
"author",
|
|
"in_reply_to",
|
|
"tweet_id"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "recent tweets",
|
|
"confirmation_remote": "recent tweets",
|
|
"doc": "search recent tweets; default is 5",
|
|
"canonical": "search on twitter",
|
|
"argcanonicals": [
|
|
"count",
|
|
"text",
|
|
"hashtags",
|
|
"urls",
|
|
"author",
|
|
"in reply to",
|
|
"tweet id"
|
|
],
|
|
"questions": [
|
|
"How many tweets do you want?",
|
|
"",
|
|
"",
|
|
"",
|
|
"From which user do you want tweets?",
|
|
"In reply to which user do you want tweets?",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"tt:long_free_text",
|
|
"com.twitter:hashtag",
|
|
null,
|
|
"com.twitter:username",
|
|
"com.twitter:username",
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {
|
|
"follow": {
|
|
"types": [
|
|
"Entity(tt:username)"
|
|
],
|
|
"args": [
|
|
"user_name"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "follow $user_name on Twitter",
|
|
"confirmation_remote": "follow $user_name with $__person's Twitter",
|
|
"doc": "follow the named user",
|
|
"canonical": "follow on twitter",
|
|
"argcanonicals": [
|
|
"user name"
|
|
],
|
|
"questions": [
|
|
"What user do you want to follow?"
|
|
],
|
|
"string_values": [
|
|
"com.twitter:username"
|
|
]
|
|
},
|
|
"post": {
|
|
"types": [
|
|
"String"
|
|
],
|
|
"args": [
|
|
"status"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "tweet $status",
|
|
"confirmation_remote": "post $status on $__person's Twitter",
|
|
"doc": "post a tweet; use # to include a hashtag and @ to reply",
|
|
"canonical": "post on twitter",
|
|
"argcanonicals": [
|
|
"status"
|
|
],
|
|
"questions": [
|
|
"What do you want to tweet?"
|
|
],
|
|
"string_values": [
|
|
"tt:long_free_text"
|
|
]
|
|
},
|
|
"post_picture": {
|
|
"types": [
|
|
"String",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"caption",
|
|
"picture_url"
|
|
],
|
|
"required": [
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "tweet $caption with an attached picture",
|
|
"confirmation_remote": "post $caption and a picture on $__person's Twitter",
|
|
"doc": "post a tweet with a picture",
|
|
"canonical": "post picture on twitter",
|
|
"argcanonicals": [
|
|
"caption",
|
|
"picture url"
|
|
],
|
|
"questions": [
|
|
"What caption do you want?",
|
|
"Upload the picture now."
|
|
],
|
|
"string_values": [
|
|
"com.instagram:caption",
|
|
null
|
|
]
|
|
},
|
|
"retweet": {
|
|
"types": [
|
|
"Entity(com.twitter:id)"
|
|
],
|
|
"args": [
|
|
"tweet_id"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "retween $tweet_id",
|
|
"confirmation_remote": "retweet $tweet_id on $__person's Twitter Account",
|
|
"doc": "retweet a given tweet, by id",
|
|
"canonical": "retweet",
|
|
"argcanonicals": [
|
|
"tweet id"
|
|
],
|
|
"questions": [
|
|
"What tweet do you want to retweet?"
|
|
],
|
|
"string_values": [
|
|
null
|
|
]
|
|
},
|
|
"send_direct_message": {
|
|
"types": [
|
|
"Entity(tt:username)",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"to",
|
|
"message"
|
|
],
|
|
"required": [
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "send a direct message on Twitter to $to saying $message",
|
|
"confirmation_remote": "send a direct message on $__person's Twitter to $to saying $message",
|
|
"doc": "send a direct message",
|
|
"canonical": "send dm on twitter",
|
|
"argcanonicals": [
|
|
"to",
|
|
"message"
|
|
],
|
|
"questions": [
|
|
"Who do you want to send the message to?",
|
|
"What message do you want to send?"
|
|
],
|
|
"string_values": [
|
|
"com.twitter:username",
|
|
"tt:message"
|
|
]
|
|
},
|
|
"unfollow": {
|
|
"types": [
|
|
"Entity(tt:username)"
|
|
],
|
|
"args": [
|
|
"user_name"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "unfollow $user_name on Twitter",
|
|
"confirmation_remote": "unfollow $user_name from $__person's Twitter",
|
|
"doc": "stop following the named user; this call succeeds even if the user was already followed before",
|
|
"canonical": "unfollow on twitter",
|
|
"argcanonicals": [
|
|
"user name"
|
|
],
|
|
"questions": [
|
|
"What user do you want to unfollow?"
|
|
],
|
|
"string_values": [
|
|
"com.twitter:username"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "org.thingpedia.builtin.bluetooth.generic",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "generic bluetooth device",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "online-account",
|
|
"kind_type": "category",
|
|
"kind_canonical": "online account",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "messaging",
|
|
"kind_type": "other",
|
|
"kind_canonical": "messaging",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.thecatapi",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "the cat api",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get": {
|
|
"types": [
|
|
"Entity(com.thecatapi:image_id)",
|
|
"Number",
|
|
"Entity(tt:picture)",
|
|
"Entity(tt:url)"
|
|
],
|
|
"args": [
|
|
"image_id",
|
|
"count",
|
|
"picture_url",
|
|
"link"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
true,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "cat pictures",
|
|
"confirmation_remote": "cat pictures",
|
|
"doc": "get `count` many cat pictures",
|
|
"canonical": "get cat on thecatapi",
|
|
"argcanonicals": [
|
|
"image id",
|
|
"count",
|
|
"picture url",
|
|
"link"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"How many cats do you want?",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
null,
|
|
null,
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "data-source",
|
|
"kind_type": "category",
|
|
"kind_canonical": "data source",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "org.thingpedia.builtin.thingengine.phone",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "phone",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get_gps": {
|
|
"types": [
|
|
"Location",
|
|
"Measure(m)",
|
|
"Number",
|
|
"Measure(mps)"
|
|
],
|
|
"args": [
|
|
"location",
|
|
"altitude",
|
|
"bearing",
|
|
"speed"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "your location",
|
|
"confirmation_remote": "$__person's location",
|
|
"doc": "get last known GPS location",
|
|
"canonical": "get current location on phone",
|
|
"argcanonicals": [
|
|
"location",
|
|
"altitude",
|
|
"bearing",
|
|
"speed"
|
|
],
|
|
"questions": [
|
|
"What location are you interested in?",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
null,
|
|
null,
|
|
null
|
|
]
|
|
},
|
|
"sms": {
|
|
"types": [
|
|
"Entity(tt:phone_number)",
|
|
"String",
|
|
"Date"
|
|
],
|
|
"args": [
|
|
"sender",
|
|
"message",
|
|
"date"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "your SMS",
|
|
"confirmation_remote": "$__person's SMS",
|
|
"doc": "trigger when an SMS is received",
|
|
"canonical": "receive sms on phone",
|
|
"argcanonicals": [
|
|
"sender",
|
|
"message",
|
|
"date"
|
|
],
|
|
"questions": [
|
|
"What number do you want to monitor?",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"tt:message",
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {
|
|
"call": {
|
|
"types": [
|
|
"Entity(tt:phone_number)"
|
|
],
|
|
"args": [
|
|
"number"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "call $number",
|
|
"confirmation_remote": "call $number using $__person's phone",
|
|
"doc": "place a phone call",
|
|
"canonical": "make call on phone",
|
|
"argcanonicals": [
|
|
"number"
|
|
],
|
|
"questions": [
|
|
"Who do you want to call?"
|
|
],
|
|
"string_values": [
|
|
null
|
|
]
|
|
},
|
|
"call_emergency": {
|
|
"types": [],
|
|
"args": [],
|
|
"required": [],
|
|
"is_input": [],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "call emergency assistance",
|
|
"confirmation_remote": "call emergency assistance from $__person's phone",
|
|
"doc": "place an emergency call; due to regulations on emergency numbers, the call is not actually placed, it just shows the dialer with the right number",
|
|
"canonical": "call emergency on phone",
|
|
"argcanonicals": [],
|
|
"questions": [],
|
|
"string_values": []
|
|
},
|
|
"send_sms": {
|
|
"types": [
|
|
"Entity(tt:phone_number)",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"to",
|
|
"message"
|
|
],
|
|
"required": [
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "send a message to $to containing $message",
|
|
"confirmation_remote": "send a message from $__person to $to containing $message",
|
|
"doc": "send a message to the specified phone number (carrier charges apply)",
|
|
"canonical": "send sms on phone",
|
|
"argcanonicals": [
|
|
"to",
|
|
"message"
|
|
],
|
|
"questions": [
|
|
"Who do you want to text?",
|
|
"What do you want to say in your text?"
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"tt:message"
|
|
]
|
|
},
|
|
"set_ringer": {
|
|
"types": [
|
|
"Enum(normal,vibrate,silent)"
|
|
],
|
|
"args": [
|
|
"mode"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "set your phone to $mode",
|
|
"confirmation_remote": "set $__person's phone to $mode",
|
|
"doc": "set ringer mode; valid values are \"normal\", \"vibrate\" and \"silent\"",
|
|
"canonical": "set ringer on phone",
|
|
"argcanonicals": [
|
|
"mode"
|
|
],
|
|
"questions": [
|
|
"What mode to you want to set?"
|
|
],
|
|
"string_values": [
|
|
null
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.nest",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "nest account",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "thermostat",
|
|
"kind_type": "other",
|
|
"kind_canonical": "thermostat",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get_humidity": {
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"args": [
|
|
"value"
|
|
],
|
|
"required": [
|
|
false
|
|
],
|
|
"is_input": [
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "the humidity reported by your thermostat",
|
|
"confirmation_remote": "the humidity reported by $__person's thermostat",
|
|
"doc": "get the current humidity (in percent)",
|
|
"canonical": "get humidity on thermostat",
|
|
"argcanonicals": [
|
|
"value"
|
|
],
|
|
"questions": [
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"get_hvac_state": {
|
|
"types": [
|
|
"Enum(heat,cool,heat_cool,off)",
|
|
"Enum(heating,cooling,off)"
|
|
],
|
|
"args": [
|
|
"mode",
|
|
"state"
|
|
],
|
|
"required": [
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "the state of your heating system",
|
|
"confirmation_remote": "the state of $__person's heating system",
|
|
"doc": "get the state of the heating system",
|
|
"canonical": "get hvac state on thermostat",
|
|
"argcanonicals": [
|
|
"mode",
|
|
"state"
|
|
],
|
|
"questions": [
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"get_temperature": {
|
|
"types": [
|
|
"Measure(C)"
|
|
],
|
|
"args": [
|
|
"value"
|
|
],
|
|
"required": [
|
|
false
|
|
],
|
|
"is_input": [
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "the temperature on your thermostat",
|
|
"confirmation_remote": "the temperature on $__person's thermostat",
|
|
"doc": "get the current temperature",
|
|
"canonical": "get temperature on thermostat",
|
|
"argcanonicals": [
|
|
"value"
|
|
],
|
|
"questions": [
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {
|
|
"set_hvac_mode": {
|
|
"types": [
|
|
"Enum(heat,cool,heat_cool,off)"
|
|
],
|
|
"args": [
|
|
"mode"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "set your HVAC to $mode",
|
|
"confirmation_remote": "set your HVAC to $mode",
|
|
"doc": "change the mode of the HVAC system associated with this thermostat",
|
|
"canonical": "set hvac mode on thermostat",
|
|
"argcanonicals": [
|
|
"mode"
|
|
],
|
|
"questions": [
|
|
"What mode do you want to set?"
|
|
],
|
|
"string_values": []
|
|
},
|
|
"set_minmax_temperature": {
|
|
"types": [
|
|
"Measure(C)",
|
|
"Measure(C)"
|
|
],
|
|
"args": [
|
|
"low",
|
|
"high"
|
|
],
|
|
"required": [
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "set your thermostat between $low and $high",
|
|
"confirmation_remote": "set your thermostat between $low and $high",
|
|
"doc": "set desired temperature range",
|
|
"canonical": "set minimum maximum temperature on thermostat",
|
|
"argcanonicals": [
|
|
"low",
|
|
"high"
|
|
],
|
|
"questions": [
|
|
"What low temperature do you want to set?",
|
|
"What high temperature do you want to set?"
|
|
],
|
|
"string_values": []
|
|
},
|
|
"set_target_temperature": {
|
|
"types": [
|
|
"Measure(C)"
|
|
],
|
|
"args": [
|
|
"value"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "set your thermostat to $value",
|
|
"confirmation_remote": "set your thermostat to $value",
|
|
"doc": "set target temperature",
|
|
"canonical": "set target temperature on thermostat",
|
|
"argcanonicals": [
|
|
"value"
|
|
],
|
|
"questions": [
|
|
"What temperature do you want to set?"
|
|
],
|
|
"string_values": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.tesla",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "tesla account",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "car",
|
|
"kind_type": "other",
|
|
"kind_canonical": "car",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {
|
|
"honk_horn": {
|
|
"types": [],
|
|
"args": [],
|
|
"required": [],
|
|
"is_input": [],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "honk your car's horn",
|
|
"confirmation_remote": "honk your car's horn",
|
|
"doc": "honk the car horn once",
|
|
"canonical": "honk horn on car",
|
|
"argcanonicals": [],
|
|
"questions": [],
|
|
"string_values": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "security-camera",
|
|
"kind_type": "other",
|
|
"kind_canonical": "security camera",
|
|
"triggers": {},
|
|
"queries": {
|
|
"current_event": {
|
|
"types": [
|
|
"Date",
|
|
"Boolean",
|
|
"Boolean",
|
|
"Boolean",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"start_time",
|
|
"has_sound",
|
|
"has_motion",
|
|
"has_person",
|
|
"picture_url"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "the current event detected on your security camera",
|
|
"confirmation_remote": "the current event detected on $__person's security camera",
|
|
"doc": "trigger on any new event detected by the camera, providing the start time of the event and a small gif",
|
|
"canonical": "current event on security camera",
|
|
"argcanonicals": [
|
|
"start time",
|
|
"has sound",
|
|
"has motion",
|
|
"has person",
|
|
"picture url"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"Do you want events with sound?",
|
|
"Do you want events with motion?",
|
|
"Do you want events with people in front of the camera?",
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {
|
|
"set_power": {
|
|
"types": [
|
|
"Enum(on,off)"
|
|
],
|
|
"args": [
|
|
"power"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "turn $power your security camera",
|
|
"confirmation_remote": "turn $power $__person's security camera",
|
|
"doc": "change the streaming status of the camera",
|
|
"canonical": "set power on security camera",
|
|
"argcanonicals": [
|
|
"power"
|
|
],
|
|
"questions": [
|
|
"Do you want to turn your camera on or off?"
|
|
],
|
|
"string_values": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.slack",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "slack",
|
|
"triggers": {},
|
|
"queries": {
|
|
"channel_history": {
|
|
"types": [
|
|
"Entity(tt:hashtag)",
|
|
"Date",
|
|
"Entity(tt:username)",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"channel",
|
|
"date",
|
|
"sender",
|
|
"message"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "your messages on Slack",
|
|
"confirmation_remote": "$__person's messages on Slack",
|
|
"doc": "Polls Slack and sends you any new messages that appear in public channels of your Slack team.",
|
|
"canonical": "get message on slack",
|
|
"argcanonicals": [
|
|
"channel",
|
|
"date",
|
|
"sender",
|
|
"message"
|
|
],
|
|
"questions": [
|
|
"What channel are you interested in?",
|
|
"",
|
|
"What user are you interested in?",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
null,
|
|
null,
|
|
"tt:message"
|
|
]
|
|
}
|
|
},
|
|
"actions": {
|
|
"send": {
|
|
"types": [
|
|
"Entity(tt:hashtag)",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"channel",
|
|
"message"
|
|
],
|
|
"required": [
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "send a message on slack to channel $channel saying $message",
|
|
"confirmation_remote": "send a message on $__person's slack to channel $channel saying $message",
|
|
"doc": "Send a message to the specified Slack channel as a bot named after you. Omit the hashtag from the channel name.",
|
|
"canonical": "send message on slack",
|
|
"argcanonicals": [
|
|
"channel",
|
|
"message"
|
|
],
|
|
"questions": [
|
|
"What channel do you want to send the message to?",
|
|
"What message do you want me to send?"
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"tt:message"
|
|
]
|
|
},
|
|
"send_picture": {
|
|
"types": [
|
|
"Entity(tt:hashtag)",
|
|
"String",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"channel",
|
|
"caption",
|
|
"picture_url"
|
|
],
|
|
"required": [
|
|
true,
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "send a picture on slack to channel $channel with caption $caption",
|
|
"confirmation_remote": "send a picture on $__person's slack to channel $channel with caption $caption",
|
|
"doc": "Send a message with a picture attachment to the specified Slack channel. Omit the hashtag from the channel name.",
|
|
"canonical": "send picture on slack",
|
|
"argcanonicals": [
|
|
"channel",
|
|
"caption",
|
|
"picture url"
|
|
],
|
|
"questions": [
|
|
"What channel do you want to send the message to?",
|
|
"What is the caption of the picture?",
|
|
"Upload the picture now."
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"tt:message",
|
|
null
|
|
]
|
|
},
|
|
"setPresence": {
|
|
"types": [
|
|
"Enum(away,auto)"
|
|
],
|
|
"args": [
|
|
"presence"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "set your presence status on slack to $presence",
|
|
"confirmation_remote": "set $__person's presence status on slack to $presence",
|
|
"doc": "Update your displayed presence. Presence must be 'away' or 'auto'.",
|
|
"canonical": "set presence on slack",
|
|
"argcanonicals": [
|
|
"presence"
|
|
],
|
|
"questions": [
|
|
"What should be your new presence?"
|
|
],
|
|
"string_values": [
|
|
null
|
|
]
|
|
},
|
|
"updateChannelPurpose": {
|
|
"types": [
|
|
"Entity(tt:hashtag)",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"channel",
|
|
"purpose"
|
|
],
|
|
"required": [
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "update the purpose of slack channel $channel to $purpose",
|
|
"confirmation_remote": "update the purpose of $__person's slack channel $channel to $purpose",
|
|
"doc": "Update the specified channel's purpose. Omit the hashtag from the channel name.",
|
|
"canonical": "update channel purpose on slack",
|
|
"argcanonicals": [
|
|
"channel",
|
|
"purpose"
|
|
],
|
|
"questions": [
|
|
"What channel do you want to change?",
|
|
"What purpose do you want to set?"
|
|
],
|
|
"string_values": [
|
|
null,
|
|
null
|
|
]
|
|
},
|
|
"updateChannelTopic": {
|
|
"types": [
|
|
"Entity(tt:hashtag)",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"channel",
|
|
"topic"
|
|
],
|
|
"required": [
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "update the topic of slack channel $channel to $topic",
|
|
"confirmation_remote": "update the topic of $__person's slack channel $channel to $topic",
|
|
"doc": "Update the specified channel's topic. Omit the hashtag from the channel name.",
|
|
"canonical": "update channel topic on slack",
|
|
"argcanonicals": [
|
|
"channel",
|
|
"topic"
|
|
],
|
|
"questions": [
|
|
"What channel do you want to change?",
|
|
"What should be the new topic?"
|
|
],
|
|
"string_values": [
|
|
null,
|
|
null
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "org.thingpedia.bluetooth.speaker.a2dp",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "bluetooth speaker",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {
|
|
"lower_volume": {
|
|
"types": [],
|
|
"args": [],
|
|
"required": [],
|
|
"is_input": [],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "decrease the volume on your bluetooth speaker",
|
|
"confirmation_remote": "decrease the volume on $__person's bluetooth speaker",
|
|
"doc": "increase the audio volume on this speaker (by some platform specific amount)",
|
|
"canonical": "lower volume on bluetooth speaker",
|
|
"argcanonicals": [],
|
|
"questions": [],
|
|
"string_values": []
|
|
},
|
|
"play_music": {
|
|
"types": [],
|
|
"args": [],
|
|
"required": [],
|
|
"is_input": [],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "play some music on your bluetooth speaker",
|
|
"confirmation_remote": "play some music on $__person's bluetooth speaker",
|
|
"doc": "play music on this device; the result is platform dependent (eg might open the default music player app)",
|
|
"canonical": "play music on bluetooth speaker",
|
|
"argcanonicals": [],
|
|
"questions": [],
|
|
"string_values": []
|
|
},
|
|
"raise_volume": {
|
|
"types": [],
|
|
"args": [],
|
|
"required": [],
|
|
"is_input": [],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "increase the volume on your bluetooth speaker",
|
|
"confirmation_remote": "increase the volume on $__person's bluetooth speaker",
|
|
"doc": "increase the audio volume on this speaker (by some platform specific amount)",
|
|
"canonical": "raise volume on bluetooth speaker",
|
|
"argcanonicals": [],
|
|
"questions": [],
|
|
"string_values": []
|
|
},
|
|
"set_sink": {
|
|
"types": [],
|
|
"args": [],
|
|
"required": [],
|
|
"is_input": [],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "set your bluetooth speaker to be the default audio output",
|
|
"confirmation_remote": "set $__person's bluetooth speaker to be his default audio output",
|
|
"doc": "set this speaker as the default audio output device",
|
|
"canonical": "set audio sink on bluetooth speaker",
|
|
"argcanonicals": [],
|
|
"questions": [],
|
|
"string_values": []
|
|
},
|
|
"set_volume": {
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"args": [
|
|
"percent"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "set the volume on your bluetooth speaker to $percent %",
|
|
"confirmation_remote": "set the volume on $__person's bluetooth speaker to $percent%",
|
|
"doc": "set the volume on this device to the given percent value",
|
|
"canonical": "set volume on bluetooth speaker",
|
|
"argcanonicals": [
|
|
"percent"
|
|
],
|
|
"questions": [
|
|
"What volume do you want to set (in percent)?"
|
|
],
|
|
"string_values": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.bing",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "bing search",
|
|
"triggers": {},
|
|
"queries": {
|
|
"image_search": {
|
|
"types": [
|
|
"String",
|
|
"String",
|
|
"Entity(tt:picture)",
|
|
"Entity(tt:url)",
|
|
"Number",
|
|
"Number"
|
|
],
|
|
"args": [
|
|
"query",
|
|
"title",
|
|
"picture_url",
|
|
"link",
|
|
"width",
|
|
"height"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "images matching $query from Bing",
|
|
"confirmation_remote": "images matching $query from Bing",
|
|
"doc": "search for `query` on Bing Images",
|
|
"canonical": "image search on bing",
|
|
"argcanonicals": [
|
|
"query",
|
|
"title",
|
|
"picture url",
|
|
"link",
|
|
"width",
|
|
"height"
|
|
],
|
|
"questions": [
|
|
"What do you want to search?",
|
|
"",
|
|
"",
|
|
"",
|
|
"What width are you looking for (in pixels)?",
|
|
"What height are you looking for (in pixels)?"
|
|
],
|
|
"string_values": [
|
|
"tt:search_query",
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null
|
|
]
|
|
},
|
|
"web_search": {
|
|
"types": [
|
|
"String",
|
|
"String",
|
|
"String",
|
|
"Entity(tt:url)"
|
|
],
|
|
"args": [
|
|
"query",
|
|
"title",
|
|
"description",
|
|
"link"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "websites matching $query on Bing",
|
|
"confirmation_remote": "websites matching $query on Bing",
|
|
"doc": "search for `query` on Bing",
|
|
"canonical": "web search on bing",
|
|
"argcanonicals": [
|
|
"query",
|
|
"title",
|
|
"description",
|
|
"link"
|
|
],
|
|
"questions": [
|
|
"What do you want to search?",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
"tt:search_query",
|
|
null,
|
|
"tt:long_free_text",
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.github",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "github account",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get_commit": {
|
|
"types": [
|
|
"Entity(tt:path_name)",
|
|
"Entity(tt:username)",
|
|
"String",
|
|
"Date",
|
|
"Array(Entity(tt:path_name))",
|
|
"Array(Entity(tt:path_name))",
|
|
"Array(Entity(tt:path_name))"
|
|
],
|
|
"args": [
|
|
"repo_name",
|
|
"user",
|
|
"message",
|
|
"time",
|
|
"modified_files",
|
|
"added_files",
|
|
"deleted_files"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "commits of repository $repo_name on Github",
|
|
"confirmation_remote": "commits of repository $repo_name on $__person's Github",
|
|
"doc": "commits to a particular repository",
|
|
"canonical": "commits on github",
|
|
"argcanonicals": [
|
|
"repo name",
|
|
"user",
|
|
"message",
|
|
"time",
|
|
"modified files",
|
|
"added files",
|
|
"deleted files"
|
|
],
|
|
"questions": [
|
|
"What repository do you want to watch?",
|
|
"What user are you interested in?",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"get_file": {
|
|
"types": [
|
|
"Entity(tt:path_name)",
|
|
"Entity(tt:path_name)",
|
|
"Entity(tt:url)"
|
|
],
|
|
"args": [
|
|
"repo_name",
|
|
"file_name",
|
|
"url"
|
|
],
|
|
"required": [
|
|
true,
|
|
true,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "link of ${file_name} in Github repository ${repo_name}",
|
|
"confirmation_remote": "link of ${file_name} in $__person's Github repository ${repo_name}",
|
|
"doc": "generate a temporary link for the given file",
|
|
"canonical": "link of file in github",
|
|
"argcanonicals": [
|
|
"repo name",
|
|
"file name",
|
|
"url"
|
|
],
|
|
"questions": [
|
|
"What repository is the file in?",
|
|
"What file do you want to get?",
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"get_issue": {
|
|
"types": [
|
|
"Entity(tt:path_name)",
|
|
"Entity(tt:username)",
|
|
"Number",
|
|
"String",
|
|
"String",
|
|
"Date"
|
|
],
|
|
"args": [
|
|
"repo_name",
|
|
"user",
|
|
"number",
|
|
"title",
|
|
"body",
|
|
"time"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "opened issues of repository $repo_name on Github",
|
|
"confirmation_remote": "opened issues of repository $repo_name on $__person's Github",
|
|
"doc": "issues on a particular repository",
|
|
"canonical": "issues on github",
|
|
"argcanonicals": [
|
|
"repo name",
|
|
"user",
|
|
"number",
|
|
"title",
|
|
"body",
|
|
"time"
|
|
],
|
|
"questions": [
|
|
"What repository do you want to watch?",
|
|
"What user are you interested in?",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"get_issue_comment": {
|
|
"types": [
|
|
"Entity(tt:path_name)",
|
|
"Entity(tt:username)",
|
|
"Number",
|
|
"String",
|
|
"Date"
|
|
],
|
|
"args": [
|
|
"repo_name",
|
|
"user",
|
|
"issue_number",
|
|
"body",
|
|
"time"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "comments on issues on Github repository $repo_name",
|
|
"confirmation_remote": "comments on issues on $__person's Github repository $repo_name ",
|
|
"doc": "comments on issues",
|
|
"canonical": "get issue comments on github",
|
|
"argcanonicals": [
|
|
"repo name",
|
|
"user",
|
|
"issue number",
|
|
"body",
|
|
"time"
|
|
],
|
|
"questions": [
|
|
"What repository do you want to watch?",
|
|
"What user are you interested in?",
|
|
"What issue number to want to watch?",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"get_milestone": {
|
|
"types": [
|
|
"Entity(tt:path_name)",
|
|
"Entity(tt:username)",
|
|
"String",
|
|
"Date",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"repo_name",
|
|
"user",
|
|
"description",
|
|
"time",
|
|
"title"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "the milestones created on Github repository $repo_name",
|
|
"confirmation_remote": "the milestones created on $__person's Github repository",
|
|
"doc": "milestones from a particular repository",
|
|
"canonical": "milestones on github",
|
|
"argcanonicals": [
|
|
"repo name",
|
|
"user",
|
|
"description",
|
|
"time",
|
|
"title"
|
|
],
|
|
"questions": [
|
|
"What repository do you want to watch?",
|
|
"What user are you interested in?",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {
|
|
"add_email": {
|
|
"types": [
|
|
"Entity(tt:email_address)"
|
|
],
|
|
"args": [
|
|
"email"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "add $email to your Github account",
|
|
"confirmation_remote": "add $email to $__person's Github account",
|
|
"doc": "Add a new email to account",
|
|
"canonical": "add email on github",
|
|
"argcanonicals": [
|
|
"email"
|
|
],
|
|
"questions": [
|
|
"What email do youli want to add?"
|
|
],
|
|
"string_values": []
|
|
},
|
|
"comment_issue": {
|
|
"types": [
|
|
"Entity(tt:path_name)",
|
|
"Number",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"repo_name",
|
|
"issue_number",
|
|
"body"
|
|
],
|
|
"required": [
|
|
true,
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "comment on issue $issue_number in $repo_name on Github",
|
|
"confirmation_remote": "comment on issue $issue_number in $repo_name on $__person's Github",
|
|
"doc": "post a new comment on a given issue",
|
|
"canonical": "comment on issue on github",
|
|
"argcanonicals": [
|
|
"repo name",
|
|
"issue number",
|
|
"body"
|
|
],
|
|
"questions": [
|
|
"What repository do you want to comment on?",
|
|
"What issue do you want to comment on?",
|
|
"What do you want to comment?"
|
|
],
|
|
"string_values": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.xkcd",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "xkcd",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get_comic": {
|
|
"types": [
|
|
"Number",
|
|
"String",
|
|
"Entity(tt:picture)",
|
|
"Entity(tt:url)",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"number",
|
|
"title",
|
|
"picture_url",
|
|
"link",
|
|
"alt_text"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "an Xkcd comic",
|
|
"confirmation_remote": "an Xkcd comic",
|
|
"doc": "retrieve the comic with a given number, or the latest comit",
|
|
"canonical": "xkcd comic",
|
|
"argcanonicals": [
|
|
"number",
|
|
"title",
|
|
"picture url",
|
|
"link",
|
|
"alt text"
|
|
],
|
|
"questions": [
|
|
"What Xkcd comic do you want?",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"com.xkcd:title",
|
|
null,
|
|
null,
|
|
"com.xkcd:alt_text"
|
|
]
|
|
},
|
|
"random_comic": {
|
|
"types": [
|
|
"Number",
|
|
"String",
|
|
"Entity(tt:picture)",
|
|
"Entity(tt:url)",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"number",
|
|
"title",
|
|
"picture_url",
|
|
"link",
|
|
"alt_text"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "a random Xkcd comic",
|
|
"confirmation_remote": "a random Xkcd comic",
|
|
"doc": "retrieve a random xkcd",
|
|
"canonical": "random xkcd comic",
|
|
"argcanonicals": [
|
|
"number",
|
|
"title",
|
|
"picture url",
|
|
"link",
|
|
"alt text"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"com.xkcd:title",
|
|
null,
|
|
null,
|
|
"com.xkcd:alt_text"
|
|
]
|
|
},
|
|
"what_if": {
|
|
"types": [
|
|
"String",
|
|
"Entity(tt:url)",
|
|
"Date"
|
|
],
|
|
"args": [
|
|
"title",
|
|
"link",
|
|
"updated_time"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "Xkcd's What If blog posts",
|
|
"confirmation_remote": "Xkcd's What If blog posts",
|
|
"doc": "retrieve the latest posts on Xkcd's What If blog",
|
|
"canonical": "xkcd what if blog posts",
|
|
"argcanonicals": [
|
|
"title",
|
|
"link",
|
|
"updated time"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
"com.xkcd:what_if_title",
|
|
null,
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.uber",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "uber",
|
|
"triggers": {},
|
|
"queries": {
|
|
"price_estimate": {
|
|
"types": [
|
|
"Location",
|
|
"Location",
|
|
"Enum(pool,uber_x,uber_xl,uber_black,select,suv,assist)",
|
|
"Currency",
|
|
"Currency",
|
|
"Number",
|
|
"Measure(ms)",
|
|
"Measure(m)"
|
|
],
|
|
"args": [
|
|
"start",
|
|
"end",
|
|
"uber_type",
|
|
"low_estimate",
|
|
"high_estimate",
|
|
"surge",
|
|
"duration",
|
|
"distance"
|
|
],
|
|
"required": [
|
|
true,
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "estimated prices for Uber from $start to $end",
|
|
"confirmation_remote": "estimated prices for Uber from $start to $end",
|
|
"doc": "returns estimated prices for a given trip on all available products",
|
|
"canonical": "get price estimate on uber",
|
|
"argcanonicals": [
|
|
"start",
|
|
"end",
|
|
"uber type",
|
|
"low estimate",
|
|
"high estimate",
|
|
"surge",
|
|
"duration",
|
|
"distance"
|
|
],
|
|
"questions": [
|
|
"Where do you want to be picked up?",
|
|
"Where do you want to go?",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null
|
|
]
|
|
},
|
|
"time_estimate": {
|
|
"types": [
|
|
"Location",
|
|
"Enum(pool,uber_x,uber_xl,uber_black,select,suv,assist)",
|
|
"Measure(ms)"
|
|
],
|
|
"args": [
|
|
"start",
|
|
"uber_type",
|
|
"estimate"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "ETAs for uber services at $start",
|
|
"confirmation_remote": "ETAs for uber services at $start",
|
|
"doc": "returns ETAs for all Uber products (pool, uberX, select, etc.) offered at a given location",
|
|
"canonical": "get time estimate on uber",
|
|
"argcanonicals": [
|
|
"start",
|
|
"uber type",
|
|
"estimate"
|
|
],
|
|
"questions": [
|
|
"Where do you want to call Uber?",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
null,
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.yandex.translate",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "yandex translate",
|
|
"triggers": {},
|
|
"queries": {
|
|
"detect_language": {
|
|
"types": [
|
|
"String",
|
|
"Entity(tt:iso_lang_code)"
|
|
],
|
|
"args": [
|
|
"text",
|
|
"value"
|
|
],
|
|
"required": [
|
|
true,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "the language of $text ",
|
|
"confirmation_remote": "the language of $text ",
|
|
"doc": "returns the ISO code of the guessed language of the given text",
|
|
"canonical": "detect language on ytranslate",
|
|
"argcanonicals": [
|
|
"text",
|
|
"value"
|
|
],
|
|
"questions": [
|
|
"What text do you want to analyze?",
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"translate": {
|
|
"types": [
|
|
"Entity(tt:iso_lang_code)",
|
|
"Entity(tt:iso_lang_code)",
|
|
"String",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"source_language",
|
|
"target_language",
|
|
"text",
|
|
"translated_text"
|
|
],
|
|
"required": [
|
|
false,
|
|
true,
|
|
true,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true,
|
|
true,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "the translation of $text to $target_language",
|
|
"confirmation_remote": "the translation of $text to $target_language",
|
|
"doc": "Translate text from source to destination language",
|
|
"canonical": "translate on ytranslate",
|
|
"argcanonicals": [
|
|
"source language",
|
|
"target language",
|
|
"text",
|
|
"translated text"
|
|
],
|
|
"questions": [
|
|
"What's the source language? Use an ISO language code like it, en or zh.",
|
|
"What's the target language? Use an ISO language code like it, en or zh.",
|
|
"What do you want to translate?",
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.yahoo.finance",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "yahoo finance",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get_stock_div": {
|
|
"types": [
|
|
"Entity(tt:stock_id)",
|
|
"String",
|
|
"Number",
|
|
"Currency",
|
|
"Date",
|
|
"Date"
|
|
],
|
|
"args": [
|
|
"stock_id",
|
|
"company_name",
|
|
"yield",
|
|
"value",
|
|
"pay_date",
|
|
"ex_dividend_date"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "the dividend info of $stock_id",
|
|
"confirmation_remote": "the dividend info of $stock_id",
|
|
"doc": "Poll dividend info on stock",
|
|
"canonical": "stock dividend change on yahoofinance",
|
|
"argcanonicals": [
|
|
"stock id",
|
|
"company name",
|
|
"yield",
|
|
"value",
|
|
"pay date",
|
|
"ex dividend date"
|
|
],
|
|
"questions": [
|
|
"What company's stock do you want to watch? Use the 4 letter ID, like GOOG, AAPL or MSFT",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"get_stock_quote": {
|
|
"types": [
|
|
"Entity(tt:stock_id)",
|
|
"String",
|
|
"Currency",
|
|
"Currency"
|
|
],
|
|
"args": [
|
|
"stock_id",
|
|
"company_name",
|
|
"ask_price",
|
|
"bid_price"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "the stock price of $stock_id",
|
|
"confirmation_remote": "the stock price of $stock_id",
|
|
"doc": "Poll stock information for specified stock ID.",
|
|
"canonical": "get stock price",
|
|
"argcanonicals": [
|
|
"stock id",
|
|
"company name",
|
|
"ask price",
|
|
"bid price"
|
|
],
|
|
"questions": [
|
|
"What company's stock do you want to watch? Use the 4 letter ID, like GOOG, AAPL or MSFT",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "org.thingpedia.rss",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "rss feed",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get_post": {
|
|
"types": [
|
|
"String",
|
|
"Entity(tt:url)"
|
|
],
|
|
"args": [
|
|
"title",
|
|
"link"
|
|
],
|
|
"required": [
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "posts on the RSS feed",
|
|
"confirmation_remote": "posts on the RSS feed",
|
|
"doc": "Poll for new posts (every 3 hours)",
|
|
"canonical": "get post on rss",
|
|
"argcanonicals": [
|
|
"title",
|
|
"link"
|
|
],
|
|
"questions": [
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.youtube",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "youtube account",
|
|
"triggers": {},
|
|
"queries": {
|
|
"channels_by_category": {
|
|
"types": [
|
|
"Enum(best_of_youtube,recommended,paid,music,comedy,film_and_entertainment,gaming,beauty_and_fashion,from_tv,automotive,animation,sports,diy,tech,science,cooking,causes,news_and_politics,lifestyle)",
|
|
"Entity(com.youtube:channel_id)",
|
|
"String",
|
|
"String",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"category_id",
|
|
"channel_id",
|
|
"title",
|
|
"description",
|
|
"thumbnail"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "channels in YouTube Category $category_id",
|
|
"confirmation_remote": "channels in YouTube Category $category_id",
|
|
"doc": "list channel in a given YouTube Guide Category",
|
|
"canonical": "list channel by category on youtube",
|
|
"argcanonicals": [
|
|
"category id",
|
|
"channel id",
|
|
"title",
|
|
"description",
|
|
"thumbnail"
|
|
],
|
|
"questions": [
|
|
"What category do you want to list?",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
null,
|
|
"com.youtube:channel_title",
|
|
"com.youtube:video_title",
|
|
null
|
|
]
|
|
},
|
|
"list_subscriptions": {
|
|
"types": [
|
|
"Entity(com.youtube:channel_id)",
|
|
"String",
|
|
"String",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"channel_id",
|
|
"title",
|
|
"description",
|
|
"thumbnail"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "your subscribed channels on YouTube",
|
|
"confirmation_remote": "your subscribed channels on YouTube",
|
|
"doc": "list channel you're subscribed to",
|
|
"canonical": "list subscriptions on youtube",
|
|
"argcanonicals": [
|
|
"channel id",
|
|
"title",
|
|
"description",
|
|
"thumbnail"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"com.youtube:channel_title",
|
|
"tt:long_free_text",
|
|
null
|
|
]
|
|
},
|
|
"list_videos": {
|
|
"types": [
|
|
"Entity(com.youtube:channel_id)",
|
|
"String",
|
|
"String",
|
|
"Entity(com.youtube:video_id)",
|
|
"Entity(tt:url)",
|
|
"String",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"channel_id",
|
|
"channel_title",
|
|
"title",
|
|
"video_id",
|
|
"video_url",
|
|
"description",
|
|
"thumbnail"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "recent videos in YouTube channel ${channel_id}",
|
|
"confirmation_remote": "recent videos in YouTube channel ${channel_id}",
|
|
"doc": "trigger on new videos uploaded on the given channel",
|
|
"canonical": "list video on youtube",
|
|
"argcanonicals": [
|
|
"channel id",
|
|
"channel title",
|
|
"title",
|
|
"video id",
|
|
"video url",
|
|
"description",
|
|
"thumbnail"
|
|
],
|
|
"questions": [
|
|
"What channel do you want to be notified about? Use the full channel URL, like https://www.youtube.com/channels/xxxxxxx.",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"com.youtube:channel_title",
|
|
"com.youtube:video_title",
|
|
null,
|
|
null,
|
|
"tt:long_free_text",
|
|
null
|
|
]
|
|
},
|
|
"search_channel": {
|
|
"types": [
|
|
"String",
|
|
"Entity(com.youtube:channel_id)",
|
|
"String",
|
|
"String",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"query",
|
|
"channel_id",
|
|
"title",
|
|
"description",
|
|
"thumbnail"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "YouTube channels matching $query",
|
|
"confirmation_remote": "YouTube channels matching $query",
|
|
"doc": "search channels",
|
|
"canonical": "search channel on youtube",
|
|
"argcanonicals": [
|
|
"query",
|
|
"channel id",
|
|
"title",
|
|
"description",
|
|
"thumbnail"
|
|
],
|
|
"questions": [
|
|
"What do you want to search?",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
"tt:search_query",
|
|
null,
|
|
"com.youtube:channel_title",
|
|
"tt:long_free_text",
|
|
null
|
|
]
|
|
},
|
|
"search_videos": {
|
|
"types": [
|
|
"String",
|
|
"Entity(com.youtube:video_id)",
|
|
"Entity(com.youtube:channel_id)",
|
|
"String",
|
|
"String",
|
|
"Entity(tt:picture)",
|
|
"Number",
|
|
"Entity(tt:url)"
|
|
],
|
|
"args": [
|
|
"query",
|
|
"video_id",
|
|
"channel_id",
|
|
"title",
|
|
"description",
|
|
"thumbnail",
|
|
"count",
|
|
"video_url"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
true,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "YouTube videos matching $query",
|
|
"confirmation_remote": "YouTube videos matching $query",
|
|
"doc": "search videos",
|
|
"canonical": "search video on youtube",
|
|
"argcanonicals": [
|
|
"query",
|
|
"video id",
|
|
"channel id",
|
|
"title",
|
|
"description",
|
|
"thumbnail",
|
|
"count",
|
|
"video url"
|
|
],
|
|
"questions": [
|
|
"What do you want to search?",
|
|
"",
|
|
"What channel do you want to limit the search to?",
|
|
"",
|
|
"",
|
|
"",
|
|
"How many search results do you want?",
|
|
""
|
|
],
|
|
"string_values": [
|
|
"tt:search_query",
|
|
null,
|
|
null,
|
|
"com.youtube:video_title",
|
|
"tt:long_free_text",
|
|
null,
|
|
null,
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "org.thingpedia.weather",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "weather api",
|
|
"triggers": {},
|
|
"queries": {
|
|
"current": {
|
|
"types": [
|
|
"Location",
|
|
"Measure(C)",
|
|
"Measure(mps)",
|
|
"Number",
|
|
"Number",
|
|
"Number",
|
|
"Enum(raining,cloudy,sunny,snowy,sleety,drizzling,windy)",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"location",
|
|
"temperature",
|
|
"wind_speed",
|
|
"humidity",
|
|
"cloudiness",
|
|
"fog",
|
|
"status",
|
|
"icon"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "the current weather for $location",
|
|
"confirmation_remote": "the current weather for $location",
|
|
"doc": "Information about current weather",
|
|
"canonical": "get current weather on weatherapi",
|
|
"argcanonicals": [
|
|
"location",
|
|
"temperature",
|
|
"wind speed",
|
|
"humidity",
|
|
"cloudiness",
|
|
"fog",
|
|
"status",
|
|
"icon"
|
|
],
|
|
"questions": [
|
|
"What location do you want the current weather for?",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"moon": {
|
|
"types": [
|
|
"Location",
|
|
"Date",
|
|
"Enum(new_moon,waxing_crescent,first_quarter,waxing_gibbous,full_moon,waning_gibbous,third_quarter,waning_crescent)"
|
|
],
|
|
"args": [
|
|
"location",
|
|
"date",
|
|
"phase"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "the moon phase for $location",
|
|
"confirmation_remote": "the moon phase for $location",
|
|
"doc": "Information about moon times and moon phase",
|
|
"canonical": "get moon phase on weatherapi",
|
|
"argcanonicals": [
|
|
"location",
|
|
"date",
|
|
"phase"
|
|
],
|
|
"questions": [
|
|
"What location do you want moon time info for?",
|
|
"What day are you interested in?",
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"sunrise": {
|
|
"types": [
|
|
"Location",
|
|
"Date",
|
|
"Time",
|
|
"Time"
|
|
],
|
|
"args": [
|
|
"location",
|
|
"date",
|
|
"sunrise_time",
|
|
"sunset_time"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "the sunrise and sunset time for location $location",
|
|
"confirmation_remote": "the sunrise and sunset time for location $location",
|
|
"doc": "Information about sunrise and sunset",
|
|
"canonical": "get sunrise on weatherapi",
|
|
"argcanonicals": [
|
|
"location",
|
|
"date",
|
|
"sunrise time",
|
|
"sunset time"
|
|
],
|
|
"questions": [
|
|
"What location do you want sun time info for?",
|
|
"What day are you interested in?",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.instagram",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "instagram",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get_pictures": {
|
|
"types": [
|
|
"Number",
|
|
"Entity(instagram:media_id)",
|
|
"Entity(tt:picture)",
|
|
"String",
|
|
"Entity(tt:url)",
|
|
"Entity(com.instagram:filter)",
|
|
"Array(Entity(tt:hashtag))",
|
|
"Location"
|
|
],
|
|
"args": [
|
|
"count",
|
|
"media_id",
|
|
"picture_url",
|
|
"caption",
|
|
"link",
|
|
"filter",
|
|
"hashtags",
|
|
"location"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "your recent Instagram pictures",
|
|
"confirmation_remote": "$__person's recent Instagram pictures",
|
|
"doc": "get pictures recently uploaded by the user",
|
|
"canonical": "get pictures on instagram",
|
|
"argcanonicals": [
|
|
"count",
|
|
"media id",
|
|
"picture url",
|
|
"caption",
|
|
"link",
|
|
"filter",
|
|
"hashtags",
|
|
"location"
|
|
],
|
|
"questions": [
|
|
"How many pictures do you want?",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"With what filters do you want pictures?",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
null,
|
|
null,
|
|
"com.instagram:caption",
|
|
null,
|
|
null,
|
|
"com.instagram:hashtag",
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.live.onedrive",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "onedrive account",
|
|
"triggers": {},
|
|
"queries": {
|
|
"list_files": {
|
|
"types": [
|
|
"Entity(com.live.onedrive:file_id)",
|
|
"Entity(tt:path_name)",
|
|
"String",
|
|
"Date",
|
|
"Date",
|
|
"Entity(com.live.onedrive:user_id)",
|
|
"Entity(tt:url)",
|
|
"Enum(created_time_increasing,created_time_decreasing,modified_time_increasing,modified_time_decreasing,name_increasing,name_decreasing)"
|
|
],
|
|
"args": [
|
|
"file_id",
|
|
"file_name",
|
|
"description",
|
|
"created_time",
|
|
"modified_time",
|
|
"modified_by",
|
|
"link",
|
|
"order_by"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
true
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "files your OneDrive",
|
|
"confirmation_remote": "files on $__person's OneDrive",
|
|
"doc": "list files in your onedrive",
|
|
"canonical": "file created on onedrive",
|
|
"argcanonicals": [
|
|
"file id",
|
|
"file name",
|
|
"description",
|
|
"created time",
|
|
"modified time",
|
|
"modified by",
|
|
"link",
|
|
"order by"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"open": {
|
|
"types": [
|
|
"Entity(tt:path_name)",
|
|
"Entity(tt:url)"
|
|
],
|
|
"args": [
|
|
"file_name",
|
|
"url"
|
|
],
|
|
"required": [
|
|
true,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "the link to $file_name in your Onedrive",
|
|
"confirmation_remote": "the link to $file_name in $__person's Onedrive",
|
|
"doc": "open (retrieve a temporary link to) a file",
|
|
"canonical": "open on onedrive",
|
|
"argcanonicals": [
|
|
"file name",
|
|
"url"
|
|
],
|
|
"questions": [
|
|
"What file do you want to open? Use the full path name.",
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {
|
|
"create_file": {
|
|
"types": [
|
|
"Entity(tt:path_name)",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"file_name",
|
|
"contents"
|
|
],
|
|
"required": [
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "create a new file on OneDrive named $file_name containing $contents",
|
|
"confirmation_remote": "create a new file on OneDrive named $file_name containing $contents",
|
|
"doc": "create a new file in your onedrive",
|
|
"canonical": "create file on onedrive",
|
|
"argcanonicals": [
|
|
"file name",
|
|
"contents"
|
|
],
|
|
"questions": [
|
|
"What should be the name of the file?",
|
|
"What do you want to write in the file?"
|
|
],
|
|
"string_values": []
|
|
},
|
|
"delete_file": {
|
|
"types": [
|
|
"Entity(tt:path_name)"
|
|
],
|
|
"args": [
|
|
"file_name"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "delete the file $file_name from OneDrive",
|
|
"confirmation_remote": "delete the file $file_name from OneDrive",
|
|
"doc": "delete a file in your onedrive",
|
|
"canonical": "delete file on onedrive",
|
|
"argcanonicals": [
|
|
"file name"
|
|
],
|
|
"questions": [
|
|
"What file do you want to delete?"
|
|
],
|
|
"string_values": []
|
|
},
|
|
"rename_file": {
|
|
"types": [
|
|
"Entity(tt:path_name)",
|
|
"Entity(tt:path_name)"
|
|
],
|
|
"args": [
|
|
"old_name",
|
|
"new_name"
|
|
],
|
|
"required": [
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "rename $old_name to $new_name on OneDrive",
|
|
"confirmation_remote": "rename $old_name to $new_name on OneDrive",
|
|
"doc": "rename a file in your onedrive",
|
|
"canonical": "rename file on onedrive",
|
|
"argcanonicals": [
|
|
"old name",
|
|
"new name"
|
|
],
|
|
"questions": [
|
|
"What file do you want to rename?",
|
|
"What should be the new name?"
|
|
],
|
|
"string_values": []
|
|
},
|
|
"upload_picture": {
|
|
"types": [
|
|
"Entity(tt:path_name)",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"file_name",
|
|
"picture_url"
|
|
],
|
|
"required": [
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "upload a picture on OneDrive as $file_name",
|
|
"confirmation_remote": "upload a picture on OneDrive as $file_name",
|
|
"doc": "upload a picture in your onedrive",
|
|
"canonical": "upload picture on onedrive",
|
|
"argcanonicals": [
|
|
"file name",
|
|
"picture url"
|
|
],
|
|
"questions": [
|
|
"What should be the file name of the picture?",
|
|
"Upload the picture now."
|
|
],
|
|
"string_values": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "org.thingpedia.builtin.thingengine.builtin",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "miscellaneous interfaces",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get_date": {
|
|
"types": [
|
|
"Date"
|
|
],
|
|
"args": [
|
|
"date"
|
|
],
|
|
"required": [
|
|
false
|
|
],
|
|
"is_input": [
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "today's date",
|
|
"confirmation_remote": "today's date",
|
|
"doc": "get the current date; this is equivalent to $now() and exists mostly so that Sabrina can codegen it; also equivalent to get_time() but the default formatting is different",
|
|
"canonical": "get date",
|
|
"argcanonicals": [
|
|
"date"
|
|
],
|
|
"questions": [
|
|
""
|
|
],
|
|
"string_values": [
|
|
null
|
|
]
|
|
},
|
|
"get_random_between": {
|
|
"types": [
|
|
"Number",
|
|
"Number",
|
|
"Number"
|
|
],
|
|
"args": [
|
|
"low",
|
|
"high",
|
|
"random"
|
|
],
|
|
"required": [
|
|
true,
|
|
true,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "a random integer between $low and $high",
|
|
"confirmation_remote": "a random integer between $low and $high",
|
|
"doc": "get a uniform random integer between `low` and `high`; this is equivalent to $random() and some rounding/mod operation",
|
|
"canonical": "get random integer",
|
|
"argcanonicals": [
|
|
"low",
|
|
"high",
|
|
"random"
|
|
],
|
|
"questions": [
|
|
"What should be the lower bound?",
|
|
"What should be the upper bound?",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
null,
|
|
null
|
|
]
|
|
},
|
|
"get_time": {
|
|
"types": [
|
|
"Date"
|
|
],
|
|
"args": [
|
|
"time"
|
|
],
|
|
"required": [
|
|
false
|
|
],
|
|
"is_input": [
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "the current time",
|
|
"confirmation_remote": "the current time",
|
|
"doc": "get the current time; this is equivalent to $now() and exists mostly so that Sabrina can codegen it",
|
|
"canonical": "get time",
|
|
"argcanonicals": [
|
|
"time"
|
|
],
|
|
"questions": [
|
|
""
|
|
],
|
|
"string_values": [
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {
|
|
"debug_log": {
|
|
"types": [
|
|
"String"
|
|
],
|
|
"args": [
|
|
"message"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "write $message in the developer logs",
|
|
"confirmation_remote": "write $message in the developer logs on $__person's phone",
|
|
"doc": "log a message in the developer logs",
|
|
"canonical": "log",
|
|
"argcanonicals": [
|
|
"message"
|
|
],
|
|
"questions": [
|
|
"What should I write in the logs?"
|
|
],
|
|
"string_values": [
|
|
null
|
|
]
|
|
},
|
|
"discover": {
|
|
"types": [],
|
|
"args": [],
|
|
"required": [],
|
|
"is_input": [],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "search for new devices",
|
|
"confirmation_remote": "search for new devices on $__person's Almond",
|
|
"doc": "start interactive discovery for new devices",
|
|
"canonical": "discover",
|
|
"argcanonicals": [],
|
|
"questions": [],
|
|
"string_values": []
|
|
},
|
|
"say": {
|
|
"types": [
|
|
"String"
|
|
],
|
|
"args": [
|
|
"message"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "send me a message $message",
|
|
"confirmation_remote": "send $__person message $message",
|
|
"doc": "makes Almond say something; this is the codegennable version of @$notify",
|
|
"canonical": "say",
|
|
"argcanonicals": [
|
|
"message"
|
|
],
|
|
"questions": [
|
|
"What do you want me to say?"
|
|
],
|
|
"string_values": [
|
|
"tt:message"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "light-bulb",
|
|
"kind_type": "other",
|
|
"kind_canonical": "light bulb",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {
|
|
"alert_long": {
|
|
"types": [],
|
|
"args": [],
|
|
"required": [],
|
|
"is_input": [],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "flash alerts on your lightbulb",
|
|
"confirmation_remote": "flash alerts on $__person's lightbulb",
|
|
"doc": "Flashes light on the light bulb 10 times",
|
|
"canonical": "flash alert lights on light bulb",
|
|
"argcanonicals": [],
|
|
"questions": [],
|
|
"string_values": []
|
|
},
|
|
"color_loop": {
|
|
"types": [],
|
|
"args": [],
|
|
"required": [],
|
|
"is_input": [],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "loop colors on your lightbulb",
|
|
"confirmation_remote": "loop colors on $__person's lightbulb",
|
|
"doc": "loops all colors on the light bulb",
|
|
"canonical": "color loop lights on light bulb",
|
|
"argcanonicals": [],
|
|
"questions": [],
|
|
"string_values": []
|
|
},
|
|
"set_power": {
|
|
"types": [
|
|
"Enum(on,off)"
|
|
],
|
|
"args": [
|
|
"power"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "turn $power your lightbulb",
|
|
"confirmation_remote": "turn $power $__person's lightbulb",
|
|
"doc": "set power on the light bulb",
|
|
"canonical": "set power on light bulb",
|
|
"argcanonicals": [
|
|
"power"
|
|
],
|
|
"questions": [
|
|
"Do you want to turn it on or off?"
|
|
],
|
|
"string_values": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.hue",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "philips hue",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.gmail",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "gmail account",
|
|
"triggers": {},
|
|
"queries": {
|
|
"inbox": {
|
|
"types": [
|
|
"String",
|
|
"Entity(tt:email_address)",
|
|
"String",
|
|
"Date",
|
|
"Array(String)",
|
|
"String",
|
|
"Entity(com.gmail:thread_id)",
|
|
"Entity(com.gmail:email_id)",
|
|
"Boolean",
|
|
"Boolean"
|
|
],
|
|
"args": [
|
|
"sender_name",
|
|
"sender_address",
|
|
"subject",
|
|
"date",
|
|
"labels",
|
|
"snippet",
|
|
"thread_id",
|
|
"email_id",
|
|
"is_important",
|
|
"is_primary"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
true,
|
|
true
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "the emails in your GMail inbox",
|
|
"confirmation_remote": "the emails in $__person's GMail inbox",
|
|
"doc": "retrieve your inbox",
|
|
"canonical": "list email in inbox",
|
|
"argcanonicals": [
|
|
"sender name",
|
|
"sender address",
|
|
"subject",
|
|
"date",
|
|
"labels",
|
|
"snippet",
|
|
"thread id",
|
|
"email id",
|
|
"is important",
|
|
"is primary"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
"tt:person_full_name",
|
|
null,
|
|
"tt:email_subject",
|
|
null,
|
|
null,
|
|
"tt:long_free_text",
|
|
null,
|
|
null,
|
|
null,
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {
|
|
"reply": {
|
|
"types": [
|
|
"Entity(com.gmail:email_id)",
|
|
"String",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"email_id",
|
|
"subject",
|
|
"message"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "reply to $email_id saying $message",
|
|
"confirmation_remote": "reply to $email_id saying $message from $__person's GMail",
|
|
"doc": "reply to emails",
|
|
"canonical": "gmail reply email",
|
|
"argcanonicals": [
|
|
"email id",
|
|
"subject",
|
|
"message"
|
|
],
|
|
"questions": [
|
|
"What email do you want to reply to?",
|
|
"",
|
|
"What do you want to say in your reply?"
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"tt:email_subject",
|
|
"tt:long_free_text"
|
|
]
|
|
},
|
|
"send_email": {
|
|
"types": [
|
|
"Entity(tt:email_address)",
|
|
"String",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"to",
|
|
"subject",
|
|
"message"
|
|
],
|
|
"required": [
|
|
true,
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "send an email to $to with subject $subject on GMail",
|
|
"confirmation_remote": "send an email to $to with subject $subject using $__person's GMail",
|
|
"doc": "send an email",
|
|
"canonical": "send email on gmail",
|
|
"argcanonicals": [
|
|
"to",
|
|
"subject",
|
|
"message"
|
|
],
|
|
"questions": [
|
|
"Who do you want to send to?",
|
|
"With what subject?",
|
|
"What message do you want to send?"
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"tt:email_subject",
|
|
"tt:long_free_text"
|
|
]
|
|
},
|
|
"send_picture": {
|
|
"types": [
|
|
"Entity(tt:email_address)",
|
|
"String",
|
|
"String",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"to",
|
|
"subject",
|
|
"message",
|
|
"picture_url"
|
|
],
|
|
"required": [
|
|
true,
|
|
true,
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true,
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "send a picture to $to with subject $subject on GMail",
|
|
"confirmation_remote": "send a picture to $to with subject $subject using $__person's GMail",
|
|
"doc": "send an email with a picture attached",
|
|
"canonical": "send picture on gmail",
|
|
"argcanonicals": [
|
|
"to",
|
|
"subject",
|
|
"message",
|
|
"picture url"
|
|
],
|
|
"questions": [
|
|
"Who do you want to send to?",
|
|
"With what subject?",
|
|
"What message do you want to send?",
|
|
"Upload the picture now."
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"tt:email_subject",
|
|
"tt:long_free_text",
|
|
null
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "smoke-alarm",
|
|
"kind_type": "other",
|
|
"kind_canonical": "smoke alarm",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.google.drive",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "google drive",
|
|
"triggers": {},
|
|
"queries": {
|
|
"list_drive_files": {
|
|
"types": [
|
|
"Entity(com.google.drive:file_id)",
|
|
"Entity(tt:path_name)",
|
|
"Entity(tt:mime_type)",
|
|
"String",
|
|
"Boolean",
|
|
"Date",
|
|
"Date",
|
|
"Measure(byte)",
|
|
"Enum(created_time_increasing,created_time_decreasing,modified_time_increasing,modified_time_decreasing,name_increasing,name_decreasing)",
|
|
"String",
|
|
"Entity(tt:url)"
|
|
],
|
|
"args": [
|
|
"file_id",
|
|
"file_name",
|
|
"mime_type",
|
|
"description",
|
|
"starred",
|
|
"created_time",
|
|
"modified_time",
|
|
"file_size",
|
|
"order_by",
|
|
"last_modified_by",
|
|
"link"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
true,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "files in your Google Drive",
|
|
"confirmation_remote": "files in $__person's Google Drive",
|
|
"doc": "list files in Google Drive, sort by the given order, or modification date by default",
|
|
"canonical": "google drive file list",
|
|
"argcanonicals": [
|
|
"file id",
|
|
"file name",
|
|
"mime type",
|
|
"description",
|
|
"starred",
|
|
"created time",
|
|
"modified time",
|
|
"file size",
|
|
"order by",
|
|
"last modified by",
|
|
"link"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {
|
|
"create_new_drive_file": {
|
|
"types": [
|
|
"Entity(tt:path_name)"
|
|
],
|
|
"args": [
|
|
"file_name"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "create a file with name $file_name on google drive",
|
|
"confirmation_remote": "create a file with name $file_name on google drive",
|
|
"doc": "create a new file with the specified name on google drive",
|
|
"canonical": "create a new file on google drive",
|
|
"argcanonicals": [
|
|
"file name"
|
|
],
|
|
"questions": [
|
|
"what's the name of the file?"
|
|
],
|
|
"string_values": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "org.thingpedia.icalendar",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "icalendar events",
|
|
"triggers": {},
|
|
"queries": {
|
|
"list_events": {
|
|
"types": [
|
|
"Date",
|
|
"Date",
|
|
"String",
|
|
"String",
|
|
"Number",
|
|
"String",
|
|
"String",
|
|
"Enum(scheduled,upcoming,started,ended)"
|
|
],
|
|
"args": [
|
|
"start_date",
|
|
"end_date",
|
|
"summary",
|
|
"description",
|
|
"sequence",
|
|
"organizer",
|
|
"location",
|
|
"status"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "the events in your calendar",
|
|
"confirmation_remote": "the events in $__person's calendar",
|
|
"doc": "list events in the calendar matching the provided arguments",
|
|
"canonical": "list event on icalendar",
|
|
"argcanonicals": [
|
|
"start date",
|
|
"end date",
|
|
"summary",
|
|
"description",
|
|
"sequence",
|
|
"organizer",
|
|
"location",
|
|
"status"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"Who should be the organizer of the events?",
|
|
"What should be the location of the events?",
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "org.thingpedia.holidays",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "holidays calendar",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get_holidays": {
|
|
"types": [
|
|
"Entity(tt:country)",
|
|
"Date",
|
|
"String",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"country",
|
|
"date",
|
|
"summary",
|
|
"description"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "the holidays in ${country}",
|
|
"confirmation_remote": "the holidays in ${country}",
|
|
"doc": "Retrieve the Holidays.",
|
|
"canonical": "get holidays",
|
|
"argcanonicals": [
|
|
"country",
|
|
"date",
|
|
"summary",
|
|
"description"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.dropbox",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "dropbox account",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get_space_usage": {
|
|
"types": [
|
|
"Measure(byte)",
|
|
"Measure(byte)"
|
|
],
|
|
"args": [
|
|
"used_space",
|
|
"total_space"
|
|
],
|
|
"required": [
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "your Dropbox quota info",
|
|
"confirmation_remote": "$__person's Dropbox quota info",
|
|
"doc": "retrieves the used and allocated space",
|
|
"canonical": "get space usage on dropbox",
|
|
"argcanonicals": [
|
|
"used space",
|
|
"total space"
|
|
],
|
|
"questions": [
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"list_folder": {
|
|
"types": [
|
|
"Entity(tt:path_name)",
|
|
"Entity(tt:path_name)",
|
|
"Boolean",
|
|
"Date",
|
|
"Measure(byte)",
|
|
"Entity(tt:path_name)",
|
|
"Enum(modified_time_decreasing,modified_time_increasing,name_decreasing,name_increasing)"
|
|
],
|
|
"args": [
|
|
"folder_name",
|
|
"file_name",
|
|
"is_folder",
|
|
"modified_time",
|
|
"file_size",
|
|
"full_path",
|
|
"order_by"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
true
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "the content of $folder_name in your Dropbox",
|
|
"confirmation_remote": "the content of $folder_name in $__person's Dropbox",
|
|
"doc": "list the content of a folder",
|
|
"canonical": "list folder on dropbox",
|
|
"argcanonicals": [
|
|
"folder name",
|
|
"file name",
|
|
"is folder",
|
|
"modified time",
|
|
"file size",
|
|
"full path",
|
|
"order by"
|
|
],
|
|
"questions": [
|
|
"What folder do you want to list?",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"open": {
|
|
"types": [
|
|
"Entity(tt:path_name)",
|
|
"Entity(tt:url)"
|
|
],
|
|
"args": [
|
|
"file_name",
|
|
"url"
|
|
],
|
|
"required": [
|
|
true,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "the link to $file_name in your Dropbox",
|
|
"confirmation_remote": "the link to $file_name in $__person's Dropbox",
|
|
"doc": "open (retrieve a temporary link to) a file",
|
|
"canonical": "open on dropbox",
|
|
"argcanonicals": [
|
|
"file name",
|
|
"url"
|
|
],
|
|
"questions": [
|
|
"What file do you want to open? Use the full path name.",
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {
|
|
"create_new_folder": {
|
|
"types": [
|
|
"Entity(tt:path_name)"
|
|
],
|
|
"args": [
|
|
"folder_name"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "create a new folder called $folder_name in your Dropbox",
|
|
"confirmation_remote": "create a new folder called $folder_name in $__person's Dropbox",
|
|
"doc": "creates new folder in user's root directory",
|
|
"canonical": "create folder on dropbox",
|
|
"argcanonicals": [
|
|
"folder name"
|
|
],
|
|
"questions": [
|
|
"How do you want to call the folder?"
|
|
],
|
|
"string_values": []
|
|
},
|
|
"move": {
|
|
"types": [
|
|
"Entity(tt:path_name)",
|
|
"Entity(tt:path_name)"
|
|
],
|
|
"args": [
|
|
"old_name",
|
|
"new_name"
|
|
],
|
|
"required": [
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "rename $old_name to $new_name in your Dropbox",
|
|
"confirmation_remote": "rename $old_name to $new_name in $__person's Dropbox",
|
|
"doc": "moves/renames a file",
|
|
"canonical": "move on dropbox",
|
|
"argcanonicals": [
|
|
"old name",
|
|
"new name"
|
|
],
|
|
"questions": [
|
|
"What file do you want to move?",
|
|
"What should be the new name?"
|
|
],
|
|
"string_values": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.imgflip",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "imgflip meme generator",
|
|
"triggers": {},
|
|
"queries": {
|
|
"generate": {
|
|
"types": [
|
|
"Entity(imgflip:meme_id)",
|
|
"String",
|
|
"String",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"template",
|
|
"text_top",
|
|
"text_bottom",
|
|
"picture_url"
|
|
],
|
|
"required": [
|
|
true,
|
|
true,
|
|
true,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true,
|
|
true,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "the meme $template with $text_top at the top and $text_bottom at the bottom, generated using Imflip",
|
|
"confirmation_remote": "the meme $template with $text_top at the top and $text_bottom at the bottom, generated using Imflip",
|
|
"doc": "generate a meme by name",
|
|
"canonical": "generate meme on imgflip",
|
|
"argcanonicals": [
|
|
"template",
|
|
"text top",
|
|
"text bottom",
|
|
"picture url"
|
|
],
|
|
"questions": [
|
|
"What meme do you want to generate?",
|
|
"What do you want to write at the top? Leave blank for the default (if recognized)",
|
|
"What do you want to write at the bottom? Leave blank for the default (if recognized)",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"com.imgflip:meme_text",
|
|
"com.imgflip:meme_text",
|
|
null
|
|
]
|
|
},
|
|
"list": {
|
|
"types": [
|
|
"String",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"name",
|
|
"picture_url"
|
|
],
|
|
"required": [
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": false,
|
|
"confirmation": "meme templates available on Imgflip",
|
|
"confirmation_remote": "meme templates available on Imgflip",
|
|
"doc": "list available meme templates",
|
|
"canonical": "list meme templates on imgflip",
|
|
"argcanonicals": [
|
|
"name",
|
|
"picture url"
|
|
],
|
|
"questions": [
|
|
"What meme do you want?",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.giphy",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "giphy",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get": {
|
|
"types": [
|
|
"Entity(tt:hashtag)",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"tag",
|
|
"picture_url"
|
|
],
|
|
"required": [
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "a gif from giphy",
|
|
"confirmation_remote": "a gif from giphy",
|
|
"doc": "get a gif from Giphy, optionally with the given tag",
|
|
"canonical": "random giphy gif",
|
|
"argcanonicals": [
|
|
"tag",
|
|
"picture url"
|
|
],
|
|
"questions": [
|
|
"With what tag?",
|
|
""
|
|
],
|
|
"string_values": [
|
|
"com.twitter:hashtag",
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "media",
|
|
"kind_type": "category",
|
|
"kind_canonical": "media",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "service",
|
|
"kind_type": "category",
|
|
"kind_canonical": "service",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "social-network",
|
|
"kind_type": "category",
|
|
"kind_canonical": "social network",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "communication",
|
|
"kind_type": "category",
|
|
"kind_canonical": "communication",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "home",
|
|
"kind_type": "category",
|
|
"kind_canonical": "home",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "health",
|
|
"kind_type": "category",
|
|
"kind_canonical": "health",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "data-management",
|
|
"kind_type": "category",
|
|
"kind_canonical": "data management",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.washingtonpost",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "the washington post",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get_article": {
|
|
"types": [
|
|
"Enum(politics,opinions,local,sports,national,world,business,lifestyle)",
|
|
"String",
|
|
"Entity(tt:url)",
|
|
"String",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"section",
|
|
"title",
|
|
"link",
|
|
"description",
|
|
"picture_url"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "the latest articles in the ${section} section of the Washington Post",
|
|
"confirmation_remote": "the latest articles in the ${section} section of the Washington Post",
|
|
"doc": "read washington post",
|
|
"canonical": "articles on washington post",
|
|
"argcanonicals": [
|
|
"section",
|
|
"title",
|
|
"link",
|
|
"description",
|
|
"picture url"
|
|
],
|
|
"questions": [
|
|
"What section do you want to read?",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"tt:news_title",
|
|
null,
|
|
"tt:news_description",
|
|
null
|
|
]
|
|
},
|
|
"get_blog_post": {
|
|
"types": [
|
|
"Enum(the_fix,politics,powerpost,fact_checker,world_views,compost,the_plum_line,post_partisan,post_everything,right_turn,capital_weather_gang,morning_mix,wonkblog)",
|
|
"String",
|
|
"Entity(tt:url)",
|
|
"Date"
|
|
],
|
|
"args": [
|
|
"section",
|
|
"title",
|
|
"link",
|
|
"updated"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "the latest articles in the $section blog of the Washington Post",
|
|
"confirmation_remote": "the latest articles in the $section blog of the Washington Post",
|
|
"doc": "trigger on new blog posts",
|
|
"canonical": "blog post on washington post",
|
|
"argcanonicals": [
|
|
"section",
|
|
"title",
|
|
"link",
|
|
"updated"
|
|
],
|
|
"questions": [
|
|
"What blog do you want to monitor?",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"tt:news_title",
|
|
null,
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.phdcomics",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "piled higher and deeper",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get_post": {
|
|
"types": [
|
|
"String",
|
|
"Entity(tt:url)",
|
|
"Entity(tt:picture)",
|
|
"Date"
|
|
],
|
|
"args": [
|
|
"title",
|
|
"link",
|
|
"picture_url",
|
|
"updated_time"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "PhD comics",
|
|
"confirmation_remote": "PhD comics",
|
|
"doc": "get the latest phd comics posts",
|
|
"canonical": "phdcomics posts",
|
|
"argcanonicals": [
|
|
"title",
|
|
"link",
|
|
"picture url",
|
|
"updated time"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
"com.phdcomics:title",
|
|
null,
|
|
null,
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "gov.nasa",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "nasa daily",
|
|
"triggers": {},
|
|
"queries": {
|
|
"apod": {
|
|
"types": [
|
|
"String",
|
|
"String",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"title",
|
|
"description",
|
|
"picture_url"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "NASA's Astronomy Picture of the Day",
|
|
"confirmation_remote": "NASA's Astronomy Picture of the Day",
|
|
"doc": "Title, description, and image URL of NASA's Astronomy Picture of the Day (APOD)",
|
|
"canonical": "get astronomy picture of the day on nasa",
|
|
"argcanonicals": [
|
|
"title",
|
|
"description",
|
|
"picture url"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
"gov.nasa:apod_title",
|
|
"tt:long_free_text",
|
|
null
|
|
]
|
|
},
|
|
"asteroid": {
|
|
"types": [
|
|
"Entity(gov.nasa:asteroid_id)",
|
|
"String",
|
|
"Measure(m)",
|
|
"Measure(m)",
|
|
"Boolean",
|
|
"Measure(mps)",
|
|
"Measure(m)",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"asteroid_id",
|
|
"name",
|
|
"estimated_diameter_min",
|
|
"estimated_diameter_max",
|
|
"is_dangerous",
|
|
"relative_velocity",
|
|
"distance",
|
|
"orbiting_body"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "the asteroid passing close to Earth today",
|
|
"confirmation_remote": "the asteroid passing close to Earth today",
|
|
"doc": "Daily-updated data on the closest asteroid to earth",
|
|
"canonical": "close asteroid on nasa",
|
|
"argcanonicals": [
|
|
"asteroid id",
|
|
"name",
|
|
"estimated diameter min",
|
|
"estimated diameter max",
|
|
"is dangerous",
|
|
"relative velocity",
|
|
"distance",
|
|
"orbiting body"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
"tt:celestial_body"
|
|
]
|
|
},
|
|
"rover": {
|
|
"types": [
|
|
"Date",
|
|
"Number",
|
|
"Entity(tt:picture)",
|
|
"Entity(gov.nasa:curiosity_rover_camera)"
|
|
],
|
|
"args": [
|
|
"date_taken",
|
|
"count",
|
|
"picture_url",
|
|
"camera_used"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "Curiosity Rover photos from NASA",
|
|
"confirmation_remote": "Curiosity Rover photos from NASA",
|
|
"doc": "photos from the Curiosity Rover on Mars",
|
|
"canonical": "get curiosity rover picture on nasa",
|
|
"argcanonicals": [
|
|
"date taken",
|
|
"count",
|
|
"picture url",
|
|
"camera used"
|
|
],
|
|
"questions": [
|
|
"From what Earth day do you want pictures?",
|
|
"How many pictures do you want?",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
null,
|
|
null,
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.tumblr",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "tumblr",
|
|
"triggers": {},
|
|
"queries": {
|
|
"new_photo": {
|
|
"types": [
|
|
"Entity(tt:username)",
|
|
"Date",
|
|
"String",
|
|
"Entity(tt:url)",
|
|
"Array(Entity(tt:hashtag))",
|
|
"Array(Entity(tt:picture))"
|
|
],
|
|
"args": [
|
|
"blog_name",
|
|
"date",
|
|
"caption",
|
|
"link",
|
|
"tags",
|
|
"picture_urls"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "recent pictures in $blog_name on Tumblr",
|
|
"confirmation_remote": "recent pictures in $blog_name on Tumblr",
|
|
"doc": "Trigger when there is a new photo post. `photo_urls` is an array of all image source urls in the post",
|
|
"canonical": "get photo post on tumblr",
|
|
"argcanonicals": [
|
|
"blog name",
|
|
"date",
|
|
"caption",
|
|
"link",
|
|
"tags",
|
|
"picture urls"
|
|
],
|
|
"questions": [
|
|
"What blog name do you want to follow?",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"new_text": {
|
|
"types": [
|
|
"Entity(tt:username)",
|
|
"Date",
|
|
"String",
|
|
"Entity(tt:url)",
|
|
"Array(Entity(tt:hashtag))",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"blog_name",
|
|
"date",
|
|
"title",
|
|
"link",
|
|
"tags",
|
|
"body"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "recent posts in Tumblr blog $blog_name",
|
|
"confirmation_remote": "recent posts in Tumblr blog $blog_name",
|
|
"doc": "Trigger when there is a new text post.",
|
|
"canonical": "get text post on tumblr",
|
|
"argcanonicals": [
|
|
"blog name",
|
|
"date",
|
|
"title",
|
|
"link",
|
|
"tags",
|
|
"body"
|
|
],
|
|
"questions": [
|
|
"What blog name do you want to follow?",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.reddit.frontpage",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "reddit frontpage",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get": {
|
|
"types": [
|
|
"String",
|
|
"Entity(tt:url)",
|
|
"Entity(tt:username)",
|
|
"String",
|
|
"Date"
|
|
],
|
|
"args": [
|
|
"title",
|
|
"link",
|
|
"user",
|
|
"category",
|
|
"updated"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "the posts on the front page of Reddit",
|
|
"confirmation_remote": "the posts on the front page of Reddit",
|
|
"doc": "Url of link to Reddit comments whenever a post reaches the front page.",
|
|
"canonical": "get post on reddit front page",
|
|
"argcanonicals": [
|
|
"title",
|
|
"link",
|
|
"user",
|
|
"category",
|
|
"updated"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
"What user do you want to monitor?",
|
|
"What sub-reddit do you want to monitor?",
|
|
""
|
|
],
|
|
"string_values": [
|
|
"tt:news_title",
|
|
null,
|
|
null,
|
|
"com.reddit.frontpage:category",
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "com.lg.tv.webos2",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "lg webos tv",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {
|
|
"lower_volume": {
|
|
"types": [],
|
|
"args": [],
|
|
"required": [],
|
|
"is_input": [],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "decrease the volume on your LG WebOS TV",
|
|
"confirmation_remote": "decrease the volume on $__person's LG WebOS TV",
|
|
"doc": "lower the audio volume on the tv",
|
|
"canonical": "lower volume on lg webos tv",
|
|
"argcanonicals": [],
|
|
"questions": [],
|
|
"string_values": []
|
|
},
|
|
"mute": {
|
|
"types": [],
|
|
"args": [],
|
|
"required": [],
|
|
"is_input": [],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "mute your LG WebOS TV",
|
|
"confirmation_remote": "mute $__person's LG WebOS TV",
|
|
"doc": "change the mute status on the tv",
|
|
"canonical": "mute on lg webos tv",
|
|
"argcanonicals": [],
|
|
"questions": [],
|
|
"string_values": []
|
|
},
|
|
"play_url": {
|
|
"types": [
|
|
"Entity(tt:url)"
|
|
],
|
|
"args": [
|
|
"url"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "play $url on your LG WebOS TV",
|
|
"confirmation_remote": "play $url on $__person's LG WebOS TV",
|
|
"doc": "start playing a video by URL",
|
|
"canonical": "play url on lg webos tv",
|
|
"argcanonicals": [
|
|
"url"
|
|
],
|
|
"questions": [
|
|
"What video do you want to play? Use the full URL."
|
|
],
|
|
"string_values": []
|
|
},
|
|
"raise_volume": {
|
|
"types": [],
|
|
"args": [],
|
|
"required": [],
|
|
"is_input": [],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "increase the volume on your LG WebOS TV",
|
|
"confirmation_remote": "increase the volume on $__person's LG WebOS TV",
|
|
"doc": "increase the volume of the tv",
|
|
"canonical": "raise volume on lg webos tv",
|
|
"argcanonicals": [],
|
|
"questions": [],
|
|
"string_values": []
|
|
},
|
|
"set_power": {
|
|
"types": [
|
|
"Enum(on,off)"
|
|
],
|
|
"args": [
|
|
"power"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "turn $power your LG WebOS TV",
|
|
"confirmation_remote": "turn $power $__person's LG WebOS TV",
|
|
"doc": "turn off the TV (turning on is not supported)",
|
|
"canonical": "set power on lg webos tv",
|
|
"argcanonicals": [
|
|
"power"
|
|
],
|
|
"questions": [
|
|
"Do you want to turn the tv on or off?"
|
|
],
|
|
"string_values": []
|
|
},
|
|
"set_volume": {
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"args": [
|
|
"percent"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "set the volume on your LG WebOS TV to $percent%",
|
|
"confirmation_remote": "set the volume on $__person's LG WebOS TV to $percent%",
|
|
"doc": "set the volume on this device to the given percent value",
|
|
"canonical": "set volume on lg webos tv",
|
|
"argcanonicals": [
|
|
"percent"
|
|
],
|
|
"questions": [
|
|
"What volume do you want to set (in percent)?"
|
|
],
|
|
"string_values": []
|
|
},
|
|
"unmute": {
|
|
"types": [],
|
|
"args": [],
|
|
"required": [],
|
|
"is_input": [],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "unmute your LG WebOS Tv",
|
|
"confirmation_remote": "unmute $__person's LG WebOS Tv",
|
|
"doc": "change the mute status on the tv",
|
|
"canonical": "unmute on lg webos tv",
|
|
"argcanonicals": [],
|
|
"questions": [],
|
|
"string_values": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.wsj",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "the wall street journal",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get": {
|
|
"types": [
|
|
"Enum(opinions,world_news,us_business,markets,technology,lifestyle)",
|
|
"String",
|
|
"Entity(tt:url)",
|
|
"Date"
|
|
],
|
|
"args": [
|
|
"section",
|
|
"title",
|
|
"link",
|
|
"updated"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "articles published in the $section section of the Wall Street Journal",
|
|
"confirmation_remote": "articles published in the $section section of the Wall Street Journal",
|
|
"doc": "trigger on new articles",
|
|
"canonical": "get post on wall street journal",
|
|
"argcanonicals": [
|
|
"section",
|
|
"title",
|
|
"link",
|
|
"updated"
|
|
],
|
|
"questions": [
|
|
"What section of the Wall Street Journal do you want to read?",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"tt:news_title",
|
|
null,
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "thingengine-system",
|
|
"kind_type": "category",
|
|
"kind_canonical": "thingengine system",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "org.thingpedia.builtin.thingengine",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "thingengine",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "org.thingpedia.builtin.thingengine.remote",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "remote thingengine",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "uk.co.thedogapi",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "the dog api",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get": {
|
|
"types": [
|
|
"Number",
|
|
"Entity(dogapi:image_id)",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"count",
|
|
"image_id",
|
|
"picture_url"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "dog pictures",
|
|
"confirmation_remote": "dog pictures",
|
|
"doc": "get `count` many dog pictures",
|
|
"canonical": "get dogs",
|
|
"argcanonicals": [
|
|
"count",
|
|
"image id",
|
|
"picture url"
|
|
],
|
|
"questions": [
|
|
"How many dogs do you want?",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
null,
|
|
null,
|
|
null
|
|
]
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "org.thingpedia.demo.coffee",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "almond coffee",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {
|
|
"order": {
|
|
"types": [
|
|
"Enum(drip_coffee,espresso,latte,flat_white,mocha,caramel_mocha,white_mocha,macchiato,caramel_macchiato,cappuccino,americano)",
|
|
"Location",
|
|
"Enum(small,medium,large)",
|
|
"Boolean",
|
|
"Enum(none,milk,sugar,both)"
|
|
],
|
|
"args": [
|
|
"beverage",
|
|
"delivery_location",
|
|
"size",
|
|
"iced",
|
|
"extras"
|
|
],
|
|
"required": [
|
|
true,
|
|
true,
|
|
true,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true,
|
|
true,
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "order a $size $beverage to deliver at $delivery_location",
|
|
"confirmation_remote": "order a $size $beverage to deliver at $delivery_location for $__person",
|
|
"doc": "order fake coffee",
|
|
"canonical": "order coffee",
|
|
"argcanonicals": [
|
|
"beverage",
|
|
"delivery location",
|
|
"size",
|
|
"iced",
|
|
"extras"
|
|
],
|
|
"questions": [
|
|
"What beverage do you want?",
|
|
"Where do you want it delivered?",
|
|
"What size do you want?",
|
|
"Do you want it iced?",
|
|
"Do you want milk or sugar?"
|
|
],
|
|
"string_values": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.nytimes",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "new york times",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get_front_page": {
|
|
"types": [
|
|
"String",
|
|
"Entity(tt:url)",
|
|
"Date",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"title",
|
|
"link",
|
|
"updated",
|
|
"description"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "New York Times articles",
|
|
"confirmation_remote": "New York Times articles",
|
|
"doc": "read the front page of the New York Times",
|
|
"canonical": "get new york times front page",
|
|
"argcanonicals": [
|
|
"title",
|
|
"link",
|
|
"updated",
|
|
"description"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": [
|
|
"tt:news_title",
|
|
null,
|
|
null,
|
|
"tt:news_description"
|
|
]
|
|
}
|
|
},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "org.thingpedia.builtin.matrix",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "matrix",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "org.thingpedia.builtin.test",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "test device",
|
|
"triggers": {},
|
|
"queries": {
|
|
"dup_data": {
|
|
"types": [
|
|
"String",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"data_in",
|
|
"data_out"
|
|
],
|
|
"required": [
|
|
true,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "duplicate ${data_in} data",
|
|
"confirmation_remote": "duplicate ${data_in} data",
|
|
"doc": "duplicate the data (concatenate two copies); this is a simple deterministic get that depends on the input and is used to test param passing into a get",
|
|
"canonical": "duplicate data on test",
|
|
"argcanonicals": [
|
|
"data in",
|
|
"data out"
|
|
],
|
|
"questions": [
|
|
"What data do you want to duplicate?",
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"get_data": {
|
|
"types": [
|
|
"Measure(byte)",
|
|
"Number",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"size",
|
|
"count",
|
|
"data"
|
|
],
|
|
"required": [
|
|
true,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true,
|
|
false
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "generate $size of fake data",
|
|
"confirmation_remote": "generate $size of fake data on $__person's Almond",
|
|
"doc": "generate `size` amount of fake data",
|
|
"canonical": "get data on test",
|
|
"argcanonicals": [
|
|
"size",
|
|
"count",
|
|
"data"
|
|
],
|
|
"questions": [
|
|
"How much fake data do you want?",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {
|
|
"eat_data": {
|
|
"types": [
|
|
"String"
|
|
],
|
|
"args": [
|
|
"data"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "consume $data",
|
|
"confirmation_remote": "consume $data on $__person's Almond",
|
|
"doc": "consume some data, do nothing",
|
|
"canonical": "eat data on test",
|
|
"argcanonicals": [
|
|
"data"
|
|
],
|
|
"questions": [
|
|
"What do you want me to consume?"
|
|
],
|
|
"string_values": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.google.calendar",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "google calendar",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "me.omlet.chat",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "omlet account",
|
|
"triggers": {},
|
|
"queries": {
|
|
"messages": {
|
|
"types": [
|
|
"Entity(omlet:feed_id)",
|
|
"String",
|
|
"Boolean"
|
|
],
|
|
"args": [
|
|
"feed",
|
|
"message",
|
|
"from_me"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
true
|
|
],
|
|
"is_list": true,
|
|
"is_monitorable": true,
|
|
"confirmation": "Omlet messages",
|
|
"confirmation_remote": "$__person's Omlet messages",
|
|
"doc": "list omlet messages in a feed (or in all feeds)",
|
|
"canonical": "list messages on omlet",
|
|
"argcanonicals": [
|
|
"feed",
|
|
"message",
|
|
"from me"
|
|
],
|
|
"questions": [
|
|
"What feed do you want to monitor?",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {
|
|
"send_picture": {
|
|
"types": [
|
|
"Entity(tt:username)",
|
|
"Entity(tt:picture)",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"to",
|
|
"picture_url",
|
|
"caption"
|
|
],
|
|
"required": [
|
|
true,
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "send a picture on Omlet to $to with caption $caption",
|
|
"confirmation_remote": "send a picture on Omlet to $to with caption $caption",
|
|
"doc": "send a picture to a specific identity",
|
|
"canonical": "send picture on omlet",
|
|
"argcanonicals": [
|
|
"to",
|
|
"picture url",
|
|
"caption"
|
|
],
|
|
"questions": [
|
|
"Who do you want to send the message to? Use the Omlet ID, phone number or email address.",
|
|
"Upload the picture you want to send now.",
|
|
"What caption should the picture have?"
|
|
],
|
|
"string_values": []
|
|
},
|
|
"send_to": {
|
|
"types": [
|
|
"Entity(tt:username)",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"to",
|
|
"message"
|
|
],
|
|
"required": [
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "send a message on Omlet to $to saying $message",
|
|
"confirmation_remote": "send a message on Omlet to $to saying $message",
|
|
"doc": "send a message to a specific identity",
|
|
"canonical": "send message on omlet",
|
|
"argcanonicals": [
|
|
"to",
|
|
"message"
|
|
],
|
|
"questions": [
|
|
"Who do you want to send the message to? Use the Omlet ID, phone number or email address.",
|
|
"What do you want to say?"
|
|
],
|
|
"string_values": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.nest.security_camera",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "nest security camera",
|
|
"triggers": {},
|
|
"queries": {
|
|
"current_event": {
|
|
"types": [
|
|
"Date",
|
|
"Boolean",
|
|
"Boolean",
|
|
"Boolean",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"start_time",
|
|
"has_sound",
|
|
"has_motion",
|
|
"has_person",
|
|
"picture_url"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "the current event detected on your Nest security camera",
|
|
"confirmation_remote": "the current event detected on $__person's Nest security camera",
|
|
"doc": "trigger on any new event detected by the camera, providing the start time of the event and a small gif",
|
|
"canonical": "current event on nest security camera",
|
|
"argcanonicals": [
|
|
"start time",
|
|
"has sound",
|
|
"has motion",
|
|
"has person",
|
|
"picture url"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"Do you want events with sound?",
|
|
"Do you want events with motion?",
|
|
"Do you want events with people in front of the camera?",
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {
|
|
"set_power": {
|
|
"types": [
|
|
"Enum(on,off)"
|
|
],
|
|
"args": [
|
|
"power"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "turn $power your Nest security camera",
|
|
"confirmation_remote": "turn $power $__person's Nest security camera",
|
|
"doc": "change the streaming status of the camera",
|
|
"canonical": "set power on nest security camera",
|
|
"argcanonicals": [
|
|
"power"
|
|
],
|
|
"questions": [
|
|
"Do you want to turn your camera on or off?"
|
|
],
|
|
"string_values": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.nest.thermostat",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "nest thermostat",
|
|
"triggers": {},
|
|
"queries": {
|
|
"get_humidity": {
|
|
"types": [
|
|
"Number"
|
|
],
|
|
"args": [
|
|
"value"
|
|
],
|
|
"required": [
|
|
false
|
|
],
|
|
"is_input": [
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "the humidity reported by Nest Thermostat",
|
|
"confirmation_remote": "the humidity reported by $__person's thermostat",
|
|
"doc": "get the current humidity (in percent)",
|
|
"canonical": "get humidity on thermostat",
|
|
"argcanonicals": [
|
|
"value"
|
|
],
|
|
"questions": [
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"get_hvac_state": {
|
|
"types": [
|
|
"Enum(heat,cool,heat_cool,off)",
|
|
"Enum(heating,cooling,off)"
|
|
],
|
|
"args": [
|
|
"mode",
|
|
"state"
|
|
],
|
|
"required": [
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "the state of your Nest Thermostat",
|
|
"confirmation_remote": "the state of $__person's Nest Thermostat",
|
|
"doc": "get the state of the heating system",
|
|
"canonical": "get hvac state on thermostat",
|
|
"argcanonicals": [
|
|
"mode",
|
|
"state"
|
|
],
|
|
"questions": [
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"get_temperature": {
|
|
"types": [
|
|
"Measure(C)"
|
|
],
|
|
"args": [
|
|
"value"
|
|
],
|
|
"required": [
|
|
false
|
|
],
|
|
"is_input": [
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "the temperature on your thermostat",
|
|
"confirmation_remote": "the temperature on $__person's thermostat",
|
|
"doc": "get the current temperature",
|
|
"canonical": "get temperature on thermostat",
|
|
"argcanonicals": [
|
|
"value"
|
|
],
|
|
"questions": [
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {
|
|
"set_hvac_mode": {
|
|
"types": [
|
|
"Enum(heat,cool,heat_cool,off)"
|
|
],
|
|
"args": [
|
|
"mode"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "set your Nest Thermostat to $mode",
|
|
"confirmation_remote": "set your Nest Thermostat to $mode",
|
|
"doc": "change the mode of the HVAC system associated with this thermostat",
|
|
"canonical": "set hvac mode on thermostat",
|
|
"argcanonicals": [
|
|
"mode"
|
|
],
|
|
"questions": [
|
|
"What mode do you want to set?"
|
|
],
|
|
"string_values": []
|
|
},
|
|
"set_minmax_temperature": {
|
|
"types": [
|
|
"Measure(C)",
|
|
"Measure(C)"
|
|
],
|
|
"args": [
|
|
"low",
|
|
"high"
|
|
],
|
|
"required": [
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "set your Nest Thermostat between $low and $high",
|
|
"confirmation_remote": "set your Nest Thermostat between $low and $high",
|
|
"doc": "set desired temperature range",
|
|
"canonical": "set minimum maximum temperature on thermostat",
|
|
"argcanonicals": [
|
|
"low",
|
|
"high"
|
|
],
|
|
"questions": [
|
|
"What low temperature do you want to set?",
|
|
"What high temperature do you want to set?"
|
|
],
|
|
"string_values": []
|
|
},
|
|
"set_target_temperature": {
|
|
"types": [
|
|
"Measure(C)"
|
|
],
|
|
"args": [
|
|
"value"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "set your Nest Thermostat to $value",
|
|
"confirmation_remote": "set your Nest Thermostat to $value",
|
|
"doc": "set target temperature",
|
|
"canonical": "set target temperature on thermostat",
|
|
"argcanonicals": [
|
|
"value"
|
|
],
|
|
"questions": [
|
|
"What temperature do you want to set?"
|
|
],
|
|
"string_values": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.tumblr.blog",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "tumblr blog",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {
|
|
"post_picture": {
|
|
"types": [
|
|
"String",
|
|
"Entity(tt:picture)"
|
|
],
|
|
"args": [
|
|
"caption",
|
|
"picture_url"
|
|
],
|
|
"required": [
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "post a picture with caption $caption in your Tumblr",
|
|
"confirmation_remote": "post a picture with caption $caption in your Tumblr",
|
|
"doc": "post a picture",
|
|
"canonical": "post picture on tumblr blog",
|
|
"argcanonicals": [
|
|
"caption",
|
|
"picture url"
|
|
],
|
|
"questions": [
|
|
"What is the caption of the picture?",
|
|
"Upload the picture now."
|
|
],
|
|
"string_values": [
|
|
"com.instagram:caption",
|
|
null
|
|
]
|
|
},
|
|
"post_text": {
|
|
"types": [
|
|
"String",
|
|
"String"
|
|
],
|
|
"args": [
|
|
"title",
|
|
"body"
|
|
],
|
|
"required": [
|
|
true,
|
|
true
|
|
],
|
|
"is_input": [
|
|
true,
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "post $title with body $body in your Tumblr",
|
|
"confirmation_remote": "post $title with body $body in your Tumblr",
|
|
"doc": "make a new post",
|
|
"canonical": "post on tumblr blog",
|
|
"argcanonicals": [
|
|
"title",
|
|
"body"
|
|
],
|
|
"questions": [
|
|
"What is the title of the post?",
|
|
"What is the body of the post? Markdown is allowed."
|
|
],
|
|
"string_values": [
|
|
null,
|
|
"tt:long_free_text"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.fitbit",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "fitbit tracker",
|
|
"triggers": {},
|
|
"queries": {
|
|
"getbody": {
|
|
"types": [
|
|
"Measure(kg)",
|
|
"Number",
|
|
"Number"
|
|
],
|
|
"args": [
|
|
"weight",
|
|
"bmi",
|
|
"fat"
|
|
],
|
|
"required": [
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "your body measurements from FitBit",
|
|
"confirmation_remote": "$__person's body measurements from FitBit",
|
|
"doc": "retrieve body measurements from Fitbit",
|
|
"canonical": "retrieve body measurements on fitbit",
|
|
"argcanonicals": [
|
|
"weight",
|
|
"bmi",
|
|
"fat"
|
|
],
|
|
"questions": [
|
|
"",
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
},
|
|
"getsteps": {
|
|
"types": [
|
|
"Date",
|
|
"Number"
|
|
],
|
|
"args": [
|
|
"date",
|
|
"steps"
|
|
],
|
|
"required": [
|
|
false,
|
|
false
|
|
],
|
|
"is_input": [
|
|
true,
|
|
false
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": true,
|
|
"confirmation": "your step count from your FitBit",
|
|
"confirmation_remote": "$__person's step count from their FitBit",
|
|
"doc": "retrieves the step count for the date",
|
|
"canonical": "retrieve steps on fitbit",
|
|
"argcanonicals": [
|
|
"date",
|
|
"steps"
|
|
],
|
|
"questions": [
|
|
"",
|
|
""
|
|
],
|
|
"string_values": []
|
|
}
|
|
},
|
|
"actions": {
|
|
"recordweight": {
|
|
"types": [
|
|
"Measure(kg)"
|
|
],
|
|
"args": [
|
|
"weight"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "record weight",
|
|
"confirmation_remote": "record weight on $__person's fitbit",
|
|
"doc": "record weight on Fitbit",
|
|
"canonical": "record weight on fitbit",
|
|
"argcanonicals": [
|
|
"weight"
|
|
],
|
|
"questions": [
|
|
"What is your weight?"
|
|
],
|
|
"string_values": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "com.nest.smoke_alarm",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "nest smoke alarm",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {}
|
|
},
|
|
{
|
|
"kind": "org.thingpedia.builtin.test.invisible",
|
|
"kind_type": "primary",
|
|
"kind_canonical": "invisible device",
|
|
"triggers": {},
|
|
"queries": {},
|
|
"actions": {
|
|
"eat_data": {
|
|
"types": [
|
|
"String"
|
|
],
|
|
"args": [
|
|
"data"
|
|
],
|
|
"required": [
|
|
true
|
|
],
|
|
"is_input": [
|
|
true
|
|
],
|
|
"is_list": false,
|
|
"is_monitorable": false,
|
|
"confirmation": "consume $data",
|
|
"confirmation_remote": "consume $data on $__person's Almond",
|
|
"doc": "consume some data, do nothing",
|
|
"canonical": "eat data on test",
|
|
"argcanonicals": [
|
|
"data"
|
|
],
|
|
"questions": [
|
|
"What do you want me to consume?"
|
|
],
|
|
"string_values": []
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"entities": [
|
|
{
|
|
"type": "com.facebook:id",
|
|
"name": "Facebook post ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "com.gmail:email_id",
|
|
"name": "GMail Email ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "com.gmail:thread_id",
|
|
"name": "GMail Thread ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "com.google.contacts:contact_name",
|
|
"name": "Name of a contact in Google Contacts",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "com.google.drive:file_id",
|
|
"name": "Google Drive File ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "com.icanhazdadjoke:id",
|
|
"name": "Dad Joke ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "com.instagram:filter",
|
|
"name": "Instagram Filter",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "com.live.onedrive:file_id",
|
|
"name": "OneDrive File ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "com.live.onedrive:user_id",
|
|
"name": "OneDrive User ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "com.steampowered:user_id",
|
|
"name": "Steam User ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "com.thecatapi:image_id",
|
|
"name": "The Cat API Image ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "com.twitter:id",
|
|
"name": "Twitter API ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "com.youtube:channel_id",
|
|
"name": "YouTube Channel ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "com.youtube:video_id",
|
|
"name": "YouTube Video ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "dogapi:image_id",
|
|
"name": "The Dog API Image ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "gov.nasa:asteroid_id",
|
|
"name": "NASA Asteroid ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "gov.nasa:curiosity_rover_camera",
|
|
"name": "NASA Curiosity Rover Camera Identifier",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "imgflip:meme_id",
|
|
"name": "Imgflip Meme ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "instagram:media_id",
|
|
"name": "Instagram Media ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "omlet:feed_id",
|
|
"name": "Omlet Feed",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "org.arxiv:category",
|
|
"name": "ArXiv Category",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "org.freedesktop:app_id",
|
|
"name": "Freedesktop App Identifier",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "sportradar:eu_soccer_team",
|
|
"name": "Sportradar European Soccer Team",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "sportradar:eu_tournament",
|
|
"name": "Sportradar EU Soccer Tournament ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "sportradar:mlb_team",
|
|
"name": "Sportradar MLB Team",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "sportradar:nba_team",
|
|
"name": "Sportradar NBA Team",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "sportradar:ncaafb_team",
|
|
"name": "Sportradar NCAA Football Team",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "sportradar:ncaambb_team",
|
|
"name": "Sportradar NCAA Men's Basketball Team",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "sportradar:nfl_team",
|
|
"name": "Sportradar NFL Team",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "sportradar:us_soccer_team",
|
|
"name": "Sportradar North American Soccer Team",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "sportradar:us_tournament",
|
|
"name": "Sportradar US Soccer Tournament ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "tt:country",
|
|
"name": "ISO 3166-1 Alpha-2 Country Code",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "tt:cryptocurrency_code",
|
|
"name": "Cryptocurrency Code",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "tt:currency_code",
|
|
"name": "Currency Code",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "tt:iso_lang_code",
|
|
"name": "ISO 639-1 Language Code",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "tt:mime_type",
|
|
"name": "Media (MIME) Type",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "tt:stock_id",
|
|
"name": "Company Stock ID",
|
|
"is_well_known": 0,
|
|
"has_ner_support": 1
|
|
},
|
|
{
|
|
"type": "tt:contact",
|
|
"name": "Contact Identity",
|
|
"is_well_known": 1,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "tt:contact_name",
|
|
"name": "Contact Name",
|
|
"is_well_known": 1,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "tt:device",
|
|
"name": "Device Name",
|
|
"is_well_known": 1,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "tt:email_address",
|
|
"name": "Email Address",
|
|
"is_well_known": 1,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "tt:flow_token",
|
|
"name": "Flow Identifier",
|
|
"is_well_known": 1,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "tt:function",
|
|
"name": "Function Name",
|
|
"is_well_known": 1,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "tt:hashtag",
|
|
"name": "Hashtag",
|
|
"is_well_known": 1,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "tt:path_name",
|
|
"name": "Unix Path",
|
|
"is_well_known": 1,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "tt:phone_number",
|
|
"name": "Phone Number",
|
|
"is_well_known": 1,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "tt:picture",
|
|
"name": "Picture",
|
|
"is_well_known": 1,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "tt:program",
|
|
"name": "Program",
|
|
"is_well_known": 1,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "tt:url",
|
|
"name": "URL",
|
|
"is_well_known": 1,
|
|
"has_ner_support": 0
|
|
},
|
|
{
|
|
"type": "tt:username",
|
|
"name": "Username",
|
|
"is_well_known": 1,
|
|
"has_ner_support": 0
|
|
}
|
|
]
|
|
}
|