airdress.shell.*
The events in the airdress.shell family. How to read a section, and what
each audience means, is on the event reference page.
airdress.shell.attention
Section titled “airdress.shell.attention”A shell session asked for its person’s attention: needs_you, done or bell. Labels and a state, never a session’s content, and only on the person’s own airdresses.
Audience: the person it concerns. About one person on the airdress. It reaches only that person: their own devices and subscriptions they made themselves. The owner’s subscriptions never receive another person’s events.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- The app’s event stream, as
shell_attention: devices it concerns hear of it at once. - Not functions bound to this operator’s events: functions act for the owner, and this event is about someone else.
Versions
- Version 1: first carried by operator v0.1.133.
Data
| Field | Type | Required | Description |
|---|---|---|---|
airdress | string | yes | |
at | string | yes | |
host_label | string | yes | |
principal_id | string (uuid) | yes | |
profile_label | string | yes | |
state | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A shell session asked for its person's attention: `needs_you`, `done` or `bell`. Labels and a state, never a session's content, and only on the person's own airdresses.", "properties": { "airdress": { "type": "string" }, "at": { "type": "string" }, "host_label": { "type": "string" }, "principal_id": { "format": "uuid", "type": "string" }, "profile_label": { "type": "string" }, "state": { "type": "string" } }, "required": [ "airdress", "at", "host_label", "principal_id", "profile_label", "state" ], "title": "ShellAttention", "type": "object"}airdress.shell.attention.sent
Section titled “airdress.shell.attention.sent”A shell session raised attention (needs_you, done, bell) and it passed the rate limit. skipped_foreground is true when a device had the session in front of it, so no notice was sent.
Audience: the person it concerns. About one person on the airdress. It reaches only that person: their own devices and subscriptions they made themselves. The owner’s subscriptions never receive another person’s events.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: functions act for the owner, and this event is about someone else.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
host | string | yes | |
principal_id | string (uuid) | yes | |
session | string (uuid) | yes | |
skipped_foreground | boolean | yes | |
state | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A shell session raised attention (`needs_you`, `done`, `bell`) and it passed the rate limit. `skipped_foreground` is true when a device had the session in front of it, so no notice was sent.", "properties": { "host": { "type": "string" }, "principal_id": { "format": "uuid", "type": "string" }, "session": { "format": "uuid", "type": "string" }, "skipped_foreground": { "type": "boolean" }, "state": { "type": "string" } }, "required": [ "host", "principal_id", "session", "skipped_foreground", "state" ], "title": "ShellAttentionSent", "type": "object"}airdress.shell.device.revoked
Section titled “airdress.shell.device.revoked”A revoked device’s shell legs were closed, and its person’s hosts told to forget it.
Audience: the person it concerns. About one person on the airdress. It reaches only that person: their own devices and subscriptions they made themselves. The owner’s subscriptions never receive another person’s events.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: functions act for the owner, and this event is about someone else.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
device | string (uuid) | yes | |
legs | integer (uint) | yes | |
principal_id | string (uuid) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A revoked device's shell legs were closed, and its person's hosts told to forget it.", "properties": { "device": { "format": "uuid", "type": "string" }, "legs": { "format": "uint", "minimum": 0, "type": "integer" }, "principal_id": { "format": "uuid", "type": "string" } }, "required": [ "device", "legs", "principal_id" ], "title": "ShellDeviceRevoked", "type": "object"}airdress.shell.device_key.introduced
Section titled “airdress.shell.device_key.introduced”A device of a person was introduced, by another of that person’s devices, to that person’s shell hosts.
Audience: the person it concerns. About one person on the airdress. It reaches only that person: their own devices and subscriptions they made themselves. The owner’s subscriptions never receive another person’s events.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: functions act for the owner, and this event is about someone else.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
device | string (uuid) | yes | |
introduced_by | string (uuid) | yes | |
principal_id | string (uuid) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A device of a person was introduced, by another of that person's devices, to that person's shell hosts.", "properties": { "device": { "format": "uuid", "type": "string" }, "introduced_by": { "format": "uuid", "type": "string" }, "principal_id": { "format": "uuid", "type": "string" } }, "required": [ "device", "introduced_by", "principal_id" ], "title": "ShellDeviceKeyIntroduced", "type": "object"}airdress.shell.device_key.registered
Section titled “airdress.shell.device_key.registered”A device registered its shell keys.
presence_alg is how it proves a person is present (none for a CLI). No key is in the event; it is about the device’s own person.
Audience: the person it concerns. About one person on the airdress. It reaches only that person: their own devices and subscriptions they made themselves. The owner’s subscriptions never receive another person’s events.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: functions act for the owner, and this event is about someone else.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
device | string (uuid) | yes | |
presence_alg | string | yes | |
principal_id | string (uuid) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A device registered its shell keys.\n\n`presence_alg` is how it proves a person is present (`none` for a CLI). No key is in the event; it is about the device's own person.", "properties": { "device": { "format": "uuid", "type": "string" }, "presence_alg": { "type": "string" }, "principal_id": { "format": "uuid", "type": "string" } }, "required": [ "device", "presence_alg", "principal_id" ], "title": "ShellDeviceKeyRegistered", "type": "object"}airdress.shell.host.connected
Section titled “airdress.shell.host.connected”A shell host’s channel opened, over ws or poll.
Audience: the person it concerns. About one person on the airdress. It reaches only that person: their own devices and subscriptions they made themselves. The owner’s subscriptions never receive another person’s events.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: functions act for the owner, and this event is about someone else.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
host | string | yes | |
machine | string (uuid) | yes | |
principal_id | string (uuid) | yes | |
transport | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A shell host's channel opened, over `ws` or `poll`.", "properties": { "host": { "type": "string" }, "machine": { "format": "uuid", "type": "string" }, "principal_id": { "format": "uuid", "type": "string" }, "transport": { "type": "string" } }, "required": [ "host", "machine", "principal_id", "transport" ], "title": "ShellHostConnected", "type": "object"}airdress.shell.host.deleted
Section titled “airdress.shell.host.deleted”A ShellHost was deleted; its machine is no longer admitted to a host channel. Deleting revokes nothing by itself.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
host | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A `ShellHost` was deleted; its machine is no longer admitted to a host channel. Deleting revokes nothing by itself.", "properties": { "host": { "type": "string" } }, "required": [ "host" ], "title": "ShellHostDeleted", "type": "object"}airdress.shell.host.disconnected
Section titled “airdress.shell.host.disconnected”A shell host’s channel closed. reason is the close reason (displaced, idle, host_revoked, …); lived_secs how long it was held.
Audience: the person it concerns. About one person on the airdress. It reaches only that person: their own devices and subscriptions they made themselves. The owner’s subscriptions never receive another person’s events.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: functions act for the owner, and this event is about someone else.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
host | string | yes | |
lived_secs | integer (uint64) | yes | |
machine | string (uuid) | yes | |
principal_id | string (uuid) | yes | |
reason | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A shell host's channel closed. `reason` is the close reason (`displaced`, `idle`, `host_revoked`, …); `lived_secs` how long it was held.", "properties": { "host": { "type": "string" }, "lived_secs": { "format": "uint64", "minimum": 0, "type": "integer" }, "machine": { "format": "uuid", "type": "string" }, "principal_id": { "format": "uuid", "type": "string" }, "reason": { "type": "string" } }, "required": [ "host", "lived_secs", "machine", "principal_id", "reason" ], "title": "ShellHostDisconnected", "type": "object"}airdress.shell.host.linked
Section titled “airdress.shell.host.linked”A shell host was approved and linked to its person.
Recorded on the person’s airdresses and the owner’s, because a sub-user may approve their own host and the owner is the one who can revoke it. A label and ids: never an argv, a path, a key or an address.
Audience: the person it concerns. About one person on the airdress. It reaches only that person: their own devices and subscriptions they made themselves. The owner’s subscriptions never receive another person’s events.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- The app’s event stream, as
shell_host_linked: devices it concerns hear of it at once. - Not functions bound to this operator’s events: functions act for the owner, and this event is about someone else.
Versions
- Version 1: first carried by operator v0.1.133.
Data
| Field | Type | Required | Description |
|---|---|---|---|
airdress | string | yes | |
at | string | yes | |
host_label | string | yes | |
machine_id | string (uuid) | yes | |
principal_id | string (uuid) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A shell host was approved and linked to its person.\n\nRecorded on the person's airdresses and the owner's, because a sub-user may approve their own host and the owner is the one who can revoke it. A label and ids: never an argv, a path, a key or an address.", "properties": { "airdress": { "type": "string" }, "at": { "type": "string" }, "host_label": { "type": "string" }, "machine_id": { "format": "uuid", "type": "string" }, "principal_id": { "format": "uuid", "type": "string" } }, "required": [ "airdress", "at", "host_label", "machine_id", "principal_id" ], "title": "ShellHostLinked", "type": "object"}airdress.shell.host.linked_unannounced
Section titled “airdress.shell.host.linked_unannounced”A shell host was linked and no enrolled device — neither its person’s nor the owner’s — could be told. The link stands.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
machine | string (uuid) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A shell host was linked and no enrolled device — neither its person's nor the owner's — could be told. The link stands.", "properties": { "machine": { "format": "uuid", "type": "string" } }, "required": [ "machine" ], "title": "ShellHostLinkedUnannounced", "type": "object"}airdress.shell.host.pin_mismatch
Section titled “airdress.shell.host.pin_mismatch”A shell host’s signed host info names a person other than its ShellHost’s. Repeats on each reconcile while it holds, so it stays off the bus.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: it is kept off that path as too frequent or too internal. A subscription with a function target still receives it.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
host | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A shell host's signed host info names a person other than its `ShellHost`'s. Repeats on each reconcile while it holds, so it stays off the bus.", "properties": { "host": { "type": "string" } }, "required": [ "host" ], "title": "ShellHostPinMismatch", "type": "object"}airdress.shell.host.profiles_changed
Section titled “airdress.shell.host.profiles_changed”A shell host published its profiles. The count only: a profile’s argv never leaves the host.
Audience: the person it concerns. About one person on the airdress. It reaches only that person: their own devices and subscriptions they made themselves. The owner’s subscriptions never receive another person’s events.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: functions act for the owner, and this event is about someone else.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
host | string | yes | |
principal_id | string (uuid) | yes | |
profiles | integer (uint) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A shell host published its profiles. The count only: a profile's argv never leaves the host.", "properties": { "host": { "type": "string" }, "principal_id": { "format": "uuid", "type": "string" }, "profiles": { "format": "uint", "minimum": 0, "type": "integer" } }, "required": [ "host", "principal_id", "profiles" ], "title": "ShellHostProfilesChanged", "type": "object"}airdress.shell.host.refused
Section titled “airdress.shell.host.refused”A machine that is not a linked, enabled shell host asked for a host channel and was refused (shell_host_not_linked, shell_host_disabled).
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
machine | string (uuid) | yes | |
reason | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A machine that is not a linked, enabled shell host asked for a host channel and was refused (`shell_host_not_linked`, `shell_host_disabled`).", "properties": { "machine": { "format": "uuid", "type": "string" }, "reason": { "type": "string" } }, "required": [ "machine", "reason" ], "title": "ShellHostRefused", "type": "object"}airdress.shell.host.revoked
Section titled “airdress.shell.host.revoked”A shell host was revoked: by the owner through the admin route (its machine revoked, its ShellHost deleted), or found revoked by the liveness check and its channel closed.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
host | string | yes | |
machine | string (uuid) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A shell host was revoked: by the owner through the admin route (its machine revoked, its `ShellHost` deleted), or found revoked by the liveness check and its channel closed.", "properties": { "host": { "type": "string" }, "machine": { "format": "uuid", "type": "string" } }, "required": [ "host", "machine" ], "title": "ShellHostRevoked", "type": "object"}airdress.shell.host.runs_as_root
Section titled “airdress.shell.host.runs_as_root”A shell host reports that it runs as root. Every surface that shows the host shows it too (status.host.runsAsRoot); this line repeats on each reconcile while it holds, so it stays off the bus.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: it is kept off that path as too frequent or too internal. A subscription with a function target still receives it.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
host | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A shell host reports that it runs as root. Every surface that shows the host shows it too (`status.host.runsAsRoot`); this line repeats on each reconcile while it holds, so it stays off the bus.", "properties": { "host": { "type": "string" } }, "required": [ "host" ], "title": "ShellHostRunsAsRoot", "type": "object"}airdress.shell.host.stopping
Section titled “airdress.shell.host.stopping”A shell host announced it is stopping, in in_seconds, ending sessions sessions. Once per stop.
Audience: the person it concerns. About one person on the airdress. It reaches only that person: their own devices and subscriptions they made themselves. The owner’s subscriptions never receive another person’s events.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: functions act for the owner, and this event is about someone else.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
host | string | yes | |
in_seconds | integer (uint32) | yes | |
principal_id | string (uuid) | yes | |
sessions | integer (uint) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A shell host announced it is stopping, in `in_seconds`, ending `sessions` sessions. Once per stop.", "properties": { "host": { "type": "string" }, "in_seconds": { "format": "uint32", "minimum": 0, "type": "integer" }, "principal_id": { "format": "uuid", "type": "string" }, "sessions": { "format": "uint", "minimum": 0, "type": "integer" } }, "required": [ "host", "in_seconds", "principal_id", "sessions" ], "title": "ShellHostStopping", "type": "object"}airdress.shell.liveness.listen_failed
Section titled “airdress.shell.liveness.listen_failed”The listener for machine and device revocations could not connect, or failed and is reconnecting. Revocations still land through the periodic check; only their promptness is lost.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: it is kept off that path as too frequent or too internal. A subscription with a function target still receives it.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
error | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "The listener for machine and device revocations could not connect, or failed and is reconnecting. Revocations still land through the periodic check; only their promptness is lost.", "properties": { "error": { "type": "string" } }, "required": [ "error" ], "title": "ShellLivenessListenFailed", "type": "object"}airdress.shell.session.attached
Section titled “airdress.shell.session.attached”A device attached to a shell session.
Audience: the person it concerns. About one person on the airdress. It reaches only that person: their own devices and subscriptions they made themselves. The owner’s subscriptions never receive another person’s events.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: functions act for the owner, and this event is about someone else.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
host | string | yes | |
principal_id | string (uuid) | yes | |
session | string (uuid) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A device attached to a shell session.", "properties": { "host": { "type": "string" }, "principal_id": { "format": "uuid", "type": "string" }, "session": { "format": "uuid", "type": "string" } }, "required": [ "host", "principal_id", "session" ], "title": "ShellSessionAttached", "type": "object"}airdress.shell.session.closed
Section titled “airdress.shell.session.closed”A shell session ended. reason is the host’s (exit, host_stopped, …).
Audience: the person it concerns. About one person on the airdress. It reaches only that person: their own devices and subscriptions they made themselves. The owner’s subscriptions never receive another person’s events.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: functions act for the owner, and this event is about someone else.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
host | string | yes | |
principal_id | string (uuid) | yes | |
reason | string | yes | |
session | string (uuid) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A shell session ended. `reason` is the host's (`exit`, `host_stopped`, …).", "properties": { "host": { "type": "string" }, "principal_id": { "format": "uuid", "type": "string" }, "reason": { "type": "string" }, "session": { "format": "uuid", "type": "string" } }, "required": [ "host", "principal_id", "reason", "session" ], "title": "ShellSessionClosed", "type": "object"}airdress.shell.session.detached
Section titled “airdress.shell.session.detached”A device detached from a shell session; the session goes on.
Audience: the person it concerns. About one person on the airdress. It reaches only that person: their own devices and subscriptions they made themselves. The owner’s subscriptions never receive another person’s events.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: functions act for the owner, and this event is about someone else.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
host | string | yes | |
principal_id | string (uuid) | yes | |
session | string (uuid) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A device detached from a shell session; the session goes on.", "properties": { "host": { "type": "string" }, "principal_id": { "format": "uuid", "type": "string" }, "session": { "format": "uuid", "type": "string" } }, "required": [ "host", "principal_id", "session" ], "title": "ShellSessionDetached", "type": "object"}airdress.shell.session.input_moved
Section titled “airdress.shell.session.input_moved”Input in a shell session moved to another device: that device is now its typist.
Audience: the person it concerns. About one person on the airdress. It reaches only that person: their own devices and subscriptions they made themselves. The owner’s subscriptions never receive another person’s events.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: functions act for the owner, and this event is about someone else.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
host | string | yes | |
principal_id | string (uuid) | yes | |
session | string (uuid) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "Input in a shell session moved to another device: that device is now its typist.", "properties": { "host": { "type": "string" }, "principal_id": { "format": "uuid", "type": "string" }, "session": { "format": "uuid", "type": "string" } }, "required": [ "host", "principal_id", "session" ], "title": "ShellSessionInputMoved", "type": "object"}airdress.shell.session.opened
Section titled “airdress.shell.session.opened”A shell session opened on a host.
Audience: the person it concerns. About one person on the airdress. It reaches only that person: their own devices and subscriptions they made themselves. The owner’s subscriptions never receive another person’s events.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: functions act for the owner, and this event is about someone else.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
host | string | yes | |
principal_id | string (uuid) | yes | |
session | string (uuid) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A shell session opened on a host.", "properties": { "host": { "type": "string" }, "principal_id": { "format": "uuid", "type": "string" }, "session": { "format": "uuid", "type": "string" } }, "required": [ "host", "principal_id", "session" ], "title": "ShellSessionOpened", "type": "object"}airdress.shell.session.refused
Section titled “airdress.shell.session.refused”A shell host refused a device on a session; code is the host’s reason. The device’s leg was ended.
Audience: the person it concerns. About one person on the airdress. It reaches only that person: their own devices and subscriptions they made themselves. The owner’s subscriptions never receive another person’s events.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: functions act for the owner, and this event is about someone else.
Versions
- Version 1: first carried by operator v0.1.137.
Data
| Field | Type | Required | Description |
|---|---|---|---|
code | string | yes | |
host | string | yes | |
principal_id | string (uuid) | yes | |
session | string (uuid) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A shell host refused a device on a session; `code` is the host's reason. The device's leg was ended.", "properties": { "code": { "type": "string" }, "host": { "type": "string" }, "principal_id": { "format": "uuid", "type": "string" }, "session": { "format": "uuid", "type": "string" } }, "required": [ "code", "host", "principal_id", "session" ], "title": "ShellSessionRefused", "type": "object"}airdress.shell.switched_off
Section titled “airdress.shell.switched_off”The shells switch was turned off: every leg and host channel is closed.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.138.
Data
It carries no fields.
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "The shells switch was turned off: every leg and host channel is closed.", "title": "ShellsSwitchedOff", "type": "object"}