Text
A paragraph, title, subtitle, or status message.
SDK responses may contain more than plain text. A reply can include speech, display items, event metadata, or policy information.
Build clients so they can read the normalized response first, then inspect richer fields when the app needs them.
| Output | Use it for |
|---|---|
text | Plain answer text for logs, chat, tests, and fallback displays. |
speech | Speakable text after SSML and markup cleanup. |
display_items | Cards, choices, tables, images, and attachments. |
raw_event | Advanced integrations that need the original event payload. |
policy_denied | User-safe handling when access blocks a request. |
Use SDK constants when a language exposes them. The underlying event names stay stable across SDKs.
| Event | Meaning |
|---|---|
recognizer_loop:utterance | A client sends a user utterance. |
speak | The hub returns speech or reply text. |
complete_intent_failure | A request could not be matched to an available skill. |
hive.policy.denied | Access policy blocked the request. |
mycroft.skill.handler.start | A skill handler started. |
mycroft.skill.handler.complete | A skill handler finished. |
Display items let apps show structured results without reverse-engineering the text.
Text
A paragraph, title, subtitle, or status message.
Choice
A selectable option that can map back to send_action.
Table
Rows and columns for comparison, status, or inventory style output.
Image
A URL or attachment reference that the client can render.
from thalovant import ThalovantClient
with ThalovantClient.from_identity_file("_identity.json") as client: reply = client.ask("Show the next maintenance steps.")
print(reply.text)
for item in reply.display_items: print(item.kind, item.title, item.payload)| Case | Recommended handling |
|---|---|
text is present | Show it as the fallback user-visible answer. |
speech is present | Speak it in voice clients after local safety checks. |
display_items is present | Render the items the client understands and ignore unknown kinds. |
policy_denied is true | Show a safe denied message and log the request ID. |
| No useful output | Treat it as an empty reply and include the raw event in diagnostics. |