docs GitHub

Reference

Events

Generated by scripts/gen-docs-reference from each module.json's watches and the emit calls in the module's source. Do not edit this page: edit the code, then run npm run docs:ref.

565 event types. A module may emit only what its manifest declares under watches.emits; anything else throws. Events land in vyred's event log, where watchers, surfaces and other modules read them. Fields are the payload keys the source passes to emit; "sometimes" marks keys only some emits carry.

See tools and events for how to listen.

agents

EventFields
summon.finishedresult, status
summon.queuedtext
summon.startednot found in the source (the type is built at run time)
summon.threadthread

appearance

EventFields
appearance.changedscheme, theme, version

appmods

EventFields
appmods.domain-changedhost, on; sometimes app
appmods.installedname, version; sometimes deployment, source
appmods.removedname; sometimes deployment, source
appmods.restartedname, why
appmods.startedname
appmods.stoppedname; sometimes deployment, source
documents.declinednot found in the source (the type is built at run time)
documents.form-completednot found in the source (the type is built at run time)
documents.signednot found in the source (the type is built at run time)

Listens for: vault.item-changed

approvals

EventFields
approvals.changedcount

apps

EventFields
apps.actedaction, app
apps.sentaction, app

artifacts

EventFields
artifact-links.changedon, path, port
artifact.archivedbuilt in a variable before the emit; see the source
artifact.createdbuilt in a variable before the emit; see the source
artifact.deletedbuilt in a variable before the emit; see the source
artifact.movedbuilt in a variable before the emit; see the source
artifact.restoredbuilt in a variable before the emit; see the source
artifact.sharedbuilt in a variable before the emit; see the source
artifact.unsharedbuilt in a variable before the emit; see the source
artifact.updatedbuilt in a variable before the emit; see the source
thread.artifactbuilt in a variable before the emit; see the source

Listens for: floor.wrote, thread.deleted

ask

EventFields
ask.answered-manyid, thread
thread.questionsid, questions, state, title; sometimes answers

assistant

EventFields
assistant.access-narrowedscreens, tools
assistant.briefedday, text
assistant.rolledday, seeded, thread
push.proactivebuilt in a variable before the emit; see the source

attachments

EventFields
attachment.addedbytes, id, mime, name, thread

brand

EventFields
brand.changedversion

bridges

EventFields
bridge.revokedat, bridge, by_space, destination, kind, source
kit.installednot found in the source (the type is built at run time)
projection.acceptednot found in the source (the type is built at run time)
projection.deliverednot found in the source (the type is built at run time)
projection.proposednot found in the source (the type is built at run time)
projection.revokednot found in the source (the type is built at run time)
record.copiednot found in the source (the type is built at run time)
reference.acceptednot found in the source (the type is built at run time)
reference.proposednot found in the source (the type is built at run time)
reference.resolvednot found in the source (the type is built at run time)
reference.revokednot found in the source (the type is built at run time)
task.continuednot found in the source (the type is built at run time)
view.acceptednot found in the source (the type is built at run time)
view.proposednot found in the source (the type is built at run time)
view.readnot found in the source (the type is built at run time)
view.revokednot found in the source (the type is built at run time)

capsule

EventFields
capsule.hotkeymessage, ok
capsule.requestedaction

chrome

EventFields
chrome.actedaction, app, ok, summary; sometimes agent, call, thread, why
chrome.connectedbrowser, version
chrome.disconnectednone
chrome.finishedagent, ok; sometimes stopped, thread
chrome.interjectedagent, from, text
chrome.pausedagent
chrome.planbuilt in a variable before the emit; see the source
chrome.replacednone
chrome.resumedagent; sometimes answer
chrome.signin-askedapp, kind, message, tab
chrome.signin-doneapp, tab
chrome.site-learnedorigin, rev
chrome.stepagent, id, state, status; sometimes thread, why
chrome.stoppedagent, by
chrome.voiceagent, final, text; sometimes run
chrome.waitingagent, question

chrome

EventFields
chrome.actedaction, agent, app, ok; sometimes why

comms

EventFields
comms.heldcount, id, via
comms.sentid, sent, via; sometimes failed, provider

computers

EventFields
computer.checked-outagent, screen, thread
computer.createdagent
computer.fill-beganagent, fill, origin
computer.fill-endedagent, fill, why; sometimes target
computer.frozenagent
computer.handed-backbuilt in a variable before the emit; see the source
computer.idle-warningagent, at, surface
computer.joinedagent, node, stableId
computer.leftagent
computer.member-addedagent, computer, generation
computer.member-removedagent, computer
computer.member-rotatedagent, computer, generation
computer.pausedagent
computer.releasedagent, why
computer.resumedagent
computer.shieldedagent, reason
computer.stoppedagent; sometimes died
computer.taken-overagent, surface, thread
computer.thawedagent
computer.unshieldedagent, reason
device.renamedid, kind, name

connectors

EventFields
connectors.connect-failednot found in the source (the type is built at run time)
connectors.connectednot found in the source (the type is built at run time)
connectors.connection-checkedid, light
connectors.connection-createdid
connectors.connection-deletedid
connectors.connection-proposedlabel, proposal
connectors.connection-receivedbytes, delivery, id
connectors.connection-updatedid
connectors.disconnectednot found in the source (the type is built at run time)
connectors.scope-changednot found in the source (the type is built at run time)
connectors.site-needs-browserhost, id, reason, rung, site
connectors.site-needs-signinhost, id, rung, site; sometimes agent
connectors.site-ranclass, id, op, rung
connectors.site-stoppedhost, id, reason, site

context

EventFields
context.changedbuilt in a variable before the emit; see the source

design

EventFields
design.changednone; sometimes css, removed, screen, version
design.css-disabledreason, scope
design.proposedby, id; sometimes css, screen

documents

EventFields
documents.copy-sentdays
documents.generatedformat, path, record, template, template_version
documents.remindedsubmission
documents.sentsubmission, template_id

files

EventFields
drive.exposedfindings, unsafe
files.receivedbytes, name, path
files.sentbytes, name, to

gate

EventFields
gate.failederror, id, via
gate.heldnone; sometimes agent, description, id, input, kind, project, run, summary, thread, to, via
gate.rejectedby, id, kind, reason, via
gate.releasedagent, by, edited, id, kind, project, thread, to, via; sometimes said
gate.revisedagent, by, id, project, thread, to, via
gate.settledby, id, kind, outcome, via

github

EventFields
github.addedlogin, name
github.cleanup-neededbranch, commits, dirty, path, project, session
github.connect-failederror, id
github.connectedid, login, name
github.local-initbranch, project
github.removedname
github.repo-createdaccount, full_name, visibility
github.token-invalidname
github.undoneproject, session, undone

glass

EventFields
file.createdby, kind, path, size, target
file.movedby, from, size, target, to
file.trashedby, path, size, target, to
file.uploadedby, path, size, target
glass.closedseconds, session, surface, target
glass.openedsession, surface, target
glass.releasedheld_ms, surface, target, why
glass.takenprivate, surface, target

goals

EventFields
goal.acceptedgoal
goal.createdgoal
goal.donegoal
goal.milestonegoal, index, text
goal.proposedgoal

google

EventFields
google.addedname
google.connect-failederror, id
google.connectedemail, id, name
google.draftedaccount
google.removedname
google.scheduledaccount, op
google.sentaccount, what

hands

EventFields
hands.actedacted, app, kind, selector, verified; sometimes action, held, why
hands.pausednone
hands.resumedapp; sometimes by
hands.stoppedapp, by

hands-desktop

EventFields
desktop.actedaction, agent, ok, summary; sometimes app, call, thread, why

harness

EventFields
file.touchedpath, session, tool
thread.startedcwd, session, source
thread.stoppedreason, session, source
tool.helddecision, lesson, rule, session, tool
turn.completedsession

hooks

EventFields
hook.closedroute
hook.openedroute, scheme
hook.receivedat, bytes, id, route

import

EventFields
import.progressbuilt in a variable before the emit; see the source

learn

EventFields
distill.finishedjob, kind, lesson, ok, skill
lesson.allowedallowed, asked, lesson, level, propose
lesson.brokenlesson, level, session, stage
lesson.caughtlesson, session, stage; sometimes attempt, tool
lesson.dormantlesson, level
lesson.escalatedfrom, lesson, to
lesson.learnedchecked, lesson, level, rule
lesson.proposedchecked, lesson, rule
lesson.retiredlesson; sometimes declined, replaced
lesson.tamperednone
skill.installedscope, skill
skill.proposedscope, sessions, skill
skill.retiredskill
EventFields
ask.answerednot found in the source (the type is built at run time)
ask.raisedbuilt in a variable before the emit; see the source
companion.pairedapproved, companion, device, fingerprint, nonce
companion.refuseddevice, reason
companion.removedcompanion, device, why
companion.requesteddevice, fingerprint, name, reason, request
device.renamedid, kind, name
lease.borrowednot found in the source (the type is built at run time)
link.connectedbox
link.lostbox, error
link.mac-onlinename, peer
link.pair-requestedexpires, id, kind, login, name
link.pairedpeer; sometimes box, kind, login, name
link.signed-inbox, expires
link.signed-outnone
link.sleepingbuilt in a variable before the emit; see the source
link.unpairednone; sometimes box, name, peer
link.wokebuilt in a variable before the emit; see the source
thread.contendedbuilt in a variable before the emit; see the source
thread.finishedbuilt in a variable before the emit; see the source
thread.limitnot found in the source (the type is built at run time)
thread.movednot found in the source (the type is built at run time)
thread.queuedbuilt in a variable before the emit; see the source
thread.sentbuilt in a variable before the emit; see the source
thread.stoppedbuilt in a variable before the emit; see the source
thread.textbuilt in a variable before the emit; see the source

mail

EventFields
mail.heldaccount, id, via
mail.mappedaccount
mail.needs-credentialaccount, item
mail.sentaccount

mcp

EventFields
mcp.addedauth, name, transport
mcp.calledagent, ms, ok, server, tool; sometimes released
mcp.failederror, name
mcp.heldagent, id, kind, server, tool
mcp.refreshedname, tools
mcp.removedname
mcp.startedms, name, tools, transport
mcp.stoppedname, reason
mcp.updatedfields, name

mcpconn

EventFields
mcpconn.connectedid, name, where
mcpconn.didconn, name, ok, says, tool
mcpconn.revokedid, name

memory

EventFields
memory.answeredabstained, id, limited
memory.correctedaction, addresses, prior_confidence, prior_rule, prior_source, rel, scope
memory.curatededges, ms, nodes, updated
memory.fixedaction, id, kind, source
memory.forgotfrom, id; sometimes project
memory.graph-grewedges, new, nodes, updated
memory.mergedid, scope
memory.profile-changedfacts
memory.rememberedfacts, id
memory.sealedkept
memory.site-learnedcounts, key
memory.splitnone; sometimes callers, effect, id, scope
memory.suggestedid; sometimes state
memory.thinkingid, stage
memory.unlock-askedserver
memory.updatedby, thread; sometimes correction, fix
memory.writtenfrom, id, kind, project; sometimes restored

microsoft

EventFields
microsoft.addedname
microsoft.removedname

models

EventFields
models.changedadded, count
models.evals-changedmodel, state
models.newid, model, provider

names

EventFields
name.claimedname
name.movedat, name
name.releasedname

onboard

EventFields
onboard.claude-changedsignedIn
onboard.finishednone
onboard.steppedstate, step

outside

EventFields
outside.grantedid, kind, resource; sometimes write
outside.heldheld, id, name, tool
outside.refusedreason, source; sometimes id
outside.registeredid, kind, name
outside.revokedby, id, name
outside.usedid, name, outcome, resource, tool

planner

EventFields
planner.ackedaction, by, due, firing, item, key; sometimes unrung, until
planner.addeditem, kind, title; sometimes added_by, at
planner.changedfields, item, kind
planner.escalatedafter_ms, doer, task, title, to
planner.firedactions, due, firing, item, key, kind, missed, ring, title; sometimes account, added_by, start
planner.removeditem, kind
planner.schedulereason
planner.task-runitem, ok, result; sometimes thread

pluginagent

EventFields
pluginagent.askedcomputer, id
pluginagent.declinednone
pluginagent.grantedagent, computer
pluginagent.revokedagent

presence

EventFields
presence.enrolledid, kind, name
presence.provedcaller, method, tool; sometimes strength
presence.refusednone; sometimes caller, device, method, tool, why
presence.removedid
presence.session-replaceddevice, ended, id
presence.signed-inid, node
presence.signed-outnone; sometimes device, id

previews

EventFields
preview.openedid, project, thread, title
preview.removedid, project, thread
preview.stateid, project, state, thread, title; sometimes access, error
thread.operatorask, computer, line, run, state, steps, title
thread.previewaccess, id, mode, source, state, thumb, title
thread.signincomputer, id, site, state, why

projects

EventFields
project.changedproject; sometimes archived, fields, instructions, name
project.createdhome, name, project, threads
thread.pickedproject, thread
thread.unpickedproject, thread

publish

EventFields
deployment.approvednot found in the source (the type is built at run time)
deployment.builtnot found in the source (the type is built at run time)
deployment.decideddeployment, outcome, space, task
deployment.helddeployment, space, task
deployment.job-rancode, deployment, ok, seconds, space
deployment.previewednot found in the source (the type is built at run time)
deployment.publishednot found in the source (the type is built at run time)
deployment.restarteddeployment, space, why
deployment.retirednot found in the source (the type is built at run time)
deployment.rolled-backnot found in the source (the type is built at run time)

push

EventFields
push.cappedday, kind, tag
push.delivereddevice, receipt
push.seenstandalone, surface; sometimes device
push.subscribeddevice, label, service

recall

EventFields
recall.embeddeddone, total
recall.scrubbedclasses, names, titles, turns, vectors
session.indexedfrom, rewritten, session, to
session.statebusy, session
session.turnsession; sometimes replay

relay

EventFields
device.joinednot found in the source (the type is built at run time)
device.movedid, path; sometimes rtt
device.pairedid, kind, name, via; sometimes build, fingerprint, gate, release
device.removedid, why
device.renamedid, kind, name
device.trust-askedfingerprint, id, name
pairing-window.closedreason, window
pairing-window.openedwindow
pairing-window.renewedwindow
pairing.abandoneddevice
pairing.pendingdevice, fingerprint, gate, name, via
pairing.rejecteddevice, window
pairing.requesteddevice, fingerprint, name, window
relay.code-askedbuilt in a variable before the emit; see the source
relay.connectedbuilt in a variable before the emit; see the source
relay.disconnectedbuilt in a variable before the emit; see the source
relay.invite-redeemedfingerprint, name, offer, pub
relay.paireddevice, fingerprint, name
relay.signin-askedbuilt in a variable before the emit; see the source
relay.tunnel-connectedbuilt in a variable before the emit; see the source
relay.tunnel-disconnectedbuilt in a variable before the emit; see the source
setup.contestednone
setup.endedwhy
setup.paireddevice
tailnet.revoke-failednot found in the source (the type is built at run time)
tailnet.triednot found in the source (the type is built at run time)

runner

EventFields
runner.checkpointnot found in the source (the type is built at run time)
runner.deletednot found in the source (the type is built at run time)
runner.fencednot found in the source (the type is built at run time)
runner.lockednot found in the source (the type is built at run time)
runner.movednot found in the source (the type is built at run time)
runner.resumedconflicts, files, lines, session, thread, turn; sometimes held, heldNames, line
runner.seal-failednot found in the source (the type is built at run time)
runner.sealednot found in the source (the type is built at run time)
runner.startednot found in the source (the type is built at run time)
runner.stoppednot found in the source (the type is built at run time)

sessions

EventFields
account.changedaccount, provider, signed_in, why
mode.defaultedmode, project
model.changedmodel, scope
prompt.changedby, mode, scope, version
slot.queuedkey, kind, owner, position, project, waiting
slot.releasedid, key, kind, owner, project
slot.takenheld, id, key, kind, owner, project
usage.pausedbuilt in a variable before the emit; see the source
usage.resumedauth, by

settings

EventFields
settings.changedapply, by, key, level, rev; sometimes change, project, session
settings.loosenedby, change, key, label, level, said
EventFields
sidebar.changedscope; sometimes key, op

sight

EventFields
sight.steppedbuilt in a variable before the emit; see the source

spaces

EventFields
compute.member-acceptednot found in the source (the type is built at run time)
compute.member-declinednot found in the source (the type is built at run time)
compute.space-allowednot found in the source (the type is built at run time)
compute.space-stoppednot found in the source (the type is built at run time)
identity.alias-addedat, domain, name
identity.code-replacedat, name, seq
identity.createdat, id, name
identity.device-removedat, eid, name
identity.entry-addedat, name; sometimes eid, kind, seq
identity.entry-removedat, name; sometimes eid, kind, seq
identity.recoveredat, how, name, seq
identity.warningat, code, name, why
invite.acceptednot found in the source (the type is built at run time)
invite.creatednot found in the source (the type is built at run time)
invite.expirednot found in the source (the type is built at run time)
invite.revokednot found in the source (the type is built at run time)
member.addednot found in the source (the type is built at run time)
member.expirednot found in the source (the type is built at run time)
member.extendednot found in the source (the type is built at run time)
member.removednot found in the source (the type is built at run time)
member.role-changednot found in the source (the type is built at run time)
ownership.transferrednot found in the source (the type is built at run time)
space.create-cancellednot found in the source (the type is built at run time)
space.create-donenot found in the source (the type is built at run time)
space.create-stepnot found in the source (the type is built at run time)
space.device-enrolment-setdevice, spaces
space.device-lentdevice, lent, space
space.device-removeddevice, space
space.device-restoreddevice, space
space.pairing-statenot found in the source (the type is built at run time)
space.setup-movedspace
space.vps-creatednot found in the source (the type is built at run time)
space.vps-destroyednot found in the source (the type is built at run time)
space.warningcode, message, spaceId

spend

EventFields
spend.cappedaction, cap, day, line, provider, spent; sometimes agent, purpose, thread
spend.raisedcap, provider, was

suggest

EventFields
suggest.readynone

sync

EventFields
sync.deletedbytes, files, machine; sometimes planHash
sync.progressmachine, path; sometimes bytes, done, quarantined, total
sync.revokedmachine
sync.sendingok, path; sometimes error, quarantined
sync.sentexcluded, failed, of, quarantined, sent, skipped

Listens for: link.unpaired

system

EventFields
device.renamedid, kind, name
system.startedpid

team

EventFields
summon.cancelledproject, request, teammate
summon.finishedproject, reply_to, request, result, status, teammate
summon.queuedfrom_kind, priority, project, reply_to, request, role, teammate, text
summon.startedproject, reply_to, request, teammate
summon.threadproject, reply_to, request, teammate, thread
team.role-changedfiller, project, role
teammate.charter-changedagent, by, note, previous, project, version
teammate.createdagent, project, role; sometimes revived
teammate.default-changedenabled, project
teammate.duty-changedagent, change, id, project
teammate.retiredagent, project, reason, role, undone

term

EventFields
term.closedreason, term
term.commandauthor, command, session, surface, term, via
term.openedcwd, session, term

threads

EventFields
ask.answeredask, by, decision, summary, tool; sometimes answers, device, scope
ask.raisedagent, ask, destination, holder, kind, reason, summary, thread_name, tool, tool_use_id
effort.switchedeffort, live
lease.changedholder, previous; sometimes took
mode.changedlabel, mode
model.switchedlive, model; sometimes reported
thinking.switchedon
thread.archivedagent, project
thread.chatchat, cwd, session
thread.contendedholder, session
thread.continuedfrom_machine, from_thread, provider, source, thread, turns
thread.deletedagent, project, thread
thread.edit-undonepath, restored
thread.finishedok, via
thread.limitbuilt in a variable before the emit; see the source
thread.mentionedmentions, uuid
thread.placingnot found in the source (the type is built at run time)
thread.planbuilt in a variable before the emit; see the source
thread.provideraccount, from, model, reason, to; sometimes once, text
thread.queuedqueued, surface, text, uuid; sometimes author, edited, images, kind, queued_at, request, step
thread.rememberedfile, scope
thread.renamedname
thread.rewoundrestore, uuid; sometimes at, files
thread.rolledfrom, quiet, reason, seed_chars, seed_tail, thread, to; sometimes share, source, used, window
thread.sandboxsandboxed; sometimes confined_by, folder, provider, reason
thread.sentsurface, text; sometimes author, images, kind, queued, queued_at, request, step, uuid, via
thread.shellcode, command, output
thread.startedbuilt in a variable before the emit; see the source
thread.statestate; sometimes error, turn
thread.statusstatus; sometimes error, stopping, turn
thread.steeredstep, uuid; sometimes queued_at, restored, text
thread.stoppedcode, reason
thread.taskbuilt in a variable before the emit; see the source
thread.textnone; sometimes before, block, delta, done, has, message, notice, text, thread
thread.thinkingblock, delta, message
thread.toolcall, id, phase, status
thread.turntext, turn, uuid; sometimes steered
thread.unarchivedagent, project
thread.unqueuedqueued, reason, surface, uuid
thread.usagecost_usd, tokens, total_cost_usd; sometimes context
thread.watchedby, note, notify, reason, watch; sometimes summary
turn.saidat, id, surface, text_hash

tips

EventFields
tips.updatedcount, from, module, to

undo

EventFields
undo.doneid
undo.failedid
undo.recordedactor_kind, id, tool

update

EventFields
update.availablechannel, current, version
update.requestedversion

vault

EventFields
grant.requestednone; sometimes agent, item, module, name, origin, project, watcher
pass.accept-requestedid
pass.accepteditems, mode, owner, pass
pass.createdholder, items, mode, pass
pass.requestedholder, items, mode, pass
pass.revokedholder, pass, rotate
person.offboardedperson, revoked, rotate
person.requestedid
vault.agent-carriedcarried, rows
vault.agent-grantedagent, item, origin
vault.agent-revokedagent, item, origin
vault.card-changedfingerprint, name, was
vault.connecteditem, module, need, provider
vault.connection-addedaccount, id, provider, source
vault.connection-changedfields, id
vault.connection-removedid
vault.copiedclearsAt, field, name, surface
vault.device-joinedfingerprint, name, role
vault.device-paireddevice, name
vault.device-revokeddevice, name
vault.emergency-addeditems, person, wait_ms
vault.emergency-deniedperson
vault.emergency-releasedperson
vault.emergency-removedperson
vault.emergency-requestedopens, person
vault.filledname; sometimes agent, app, device, origin, surface, what
vault.grantednone; sometimes description, input, internal, module, name, project, run, watcher
vault.item-addedkind, name
vault.item-changedkind, name; sometimes stale
vault.item-deletedname
vault.key-rotatedkv, vault
vault.kit-printedby
vault.lease-endedended, task
vault.lease-lentagent, connections, kit, task, version
vault.linkedname, to
vault.lockednone; sometimes ended, sessions, surface, vault, why
vault.mcp-pass-endedid, name
vault.mcp-pass-madeid, items, name
vault.mcp-refusedreason, source; sometimes pass
vault.member-addedmember, role, vault
vault.member-removedmember, rotate, vault
vault.member-rolemember, role, vault
vault.person-verifiedfingerprint, name
vault.refusedaction, name, who, why
vault.releasedname; sometimes holder, module, pass, watcher
vault.restoredadded, grants, identity, kept, mode, passes
vault.reveal-askeditem, name, pass
vault.revealedfield, name, surface
vault.revealed-to-passitem, name, pass
vault.revokedmodule, name; sometimes project, watcher
vault.scope-convertedagents, item, projects; sometimes note
vault.secretkey-changedacct, why
vault.shared-createdvault
vault.shared-joinedrole, vault
vault.ssh-approvedexpires, host, name
vault.sync-conflictedname, vault
vault.unlinkedname, to
vault.unlockednone; sometimes sessions, surface, vault
vault.useditem, thread, via

vitals

EventFields
vitals.sampleat, battery, cpu, device, disk, gpu, netRx, netTx, ram, scope
vitals.troubledevice, metric, minutes, scope, value

waiting

EventFields
waiting.changedby_kind, count

watchers

EventFields
watcher.createdname, project, schedule
watcher.deletedname
watcher.failederror, failures, name, paused
watcher.fireditems, name, seen, trigger
watcher.pausedname, why
watcher.resumedname
watcher.schedule-movedwatchers, zone_before, zone_now
watcher.wokeitems, name, thread

wink

EventFields
storage.pairedbuilt in a variable before the emit; see the source
storage.removeddrain, final
storage.unreachablereason
wink.code-acknot found in the source (the type is built at run time)
wink.code-closednot found in the source (the type is built at run time)
wink.code-donenot found in the source (the type is built at run time)
wink.code-openednot found in the source (the type is built at run time)
wink.code-replacednot found in the source (the type is built at run time)
wink.code-unavailablenot found in the source (the type is built at run time)
wink.code-wrongnot found in the source (the type is built at run time)
wink.confirmedoffer
wink.declinedoffer, why
wink.device-needs-repairdevice
wink.enrol-askeddevice
wink.enrolleddevice, ok
wink.expiredoffer
wink.foundoffer; sometimes flow
wink.joinedflow; sometimes device, grant, kind, offer, role
wink.network-changedspace, state
wink.offer-changeddevice, offer, on; sometimes side, space
wink.offeredexpires, flow, offer, via; sometimes role
wink.pair-answeredyes; sometimes kind
wink.pair-askedchoices, device, name, until; sometimes any, kind, signin
wink.pair-confirmpairing, words
wink.pair-donekind, pairing; sometimes device, target
wink.pair-failedpairing, reason
wink.pair-waitingkind, pairing; sometimes target
wink.relay-applieddevice; sometimes url
wink.removednone; sometimes device, grant
wink.server-adoptedowner
wink.server-paireddevice
wink.server-releasedevice, state; sometimes message
wink.server-releasednone
wink.server-resetat, card, devices
wink.shareddevice, grant
wink.signin-askeduntil

Listens for: device.paired, device.removed, name.claimed, relay.code-asked, relay.connected, relay.invite-redeemed, relay.signin-asked