genienlp/tests/dataset/thingpedia-8strict.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
}
]
}