Skip to content

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.

The person it concerns info App stream

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 tail reads 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

FieldTypeRequiredDescription
airdressstringyes
atstringyes
host_labelstringyes
principal_idstring (uuid)yes
profile_labelstringyes
statestringyes
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"
}
The person it concerns info

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 tail reads 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

FieldTypeRequiredDescription
hoststringyes
principal_idstring (uuid)yes
sessionstring (uuid)yes
skipped_foregroundbooleanyes
statestringyes
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"
}
The person it concerns info

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 tail reads 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

FieldTypeRequiredDescription
devicestring (uuid)yes
legsinteger (uint)yes
principal_idstring (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"
}
The person it concerns info

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 tail reads 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

FieldTypeRequiredDescription
devicestring (uuid)yes
introduced_bystring (uuid)yes
principal_idstring (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"
}
The person it concerns info

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 tail reads 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

FieldTypeRequiredDescription
devicestring (uuid)yes
presence_algstringyes
principal_idstring (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"
}
The person it concerns info

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 tail reads 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

FieldTypeRequiredDescription
hoststringyes
machinestring (uuid)yes
principal_idstring (uuid)yes
transportstringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
hoststringyes
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"
}
The person it concerns info

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 tail reads 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

FieldTypeRequiredDescription
hoststringyes
lived_secsinteger (uint64)yes
machinestring (uuid)yes
principal_idstring (uuid)yes
reasonstringyes
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"
}
The person it concerns info App stream

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 tail reads 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

FieldTypeRequiredDescription
airdressstringyes
atstringyes
host_labelstringyes
machine_idstring (uuid)yes
principal_idstring (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"
}
Owner warn Functions

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 tail reads 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

FieldTypeRequiredDescription
machinestring (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"
}
Owner warn

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 tail reads 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

FieldTypeRequiredDescription
hoststringyes
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"
}
The person it concerns info

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 tail reads 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

FieldTypeRequiredDescription
hoststringyes
principal_idstring (uuid)yes
profilesinteger (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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
machinestring (uuid)yes
reasonstringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
hoststringyes
machinestring (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"
}
Owner warn

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 tail reads 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

FieldTypeRequiredDescription
hoststringyes
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"
}
The person it concerns info

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 tail reads 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

FieldTypeRequiredDescription
hoststringyes
in_secondsinteger (uint32)yes
principal_idstring (uuid)yes
sessionsinteger (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"
}
Owner warn

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 tail reads 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

FieldTypeRequiredDescription
errorstringyes
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"
}
The person it concerns info

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 tail reads 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

FieldTypeRequiredDescription
hoststringyes
principal_idstring (uuid)yes
sessionstring (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"
}
The person it concerns info

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 tail reads 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

FieldTypeRequiredDescription
hoststringyes
principal_idstring (uuid)yes
reasonstringyes
sessionstring (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"
}
The person it concerns info

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 tail reads 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

FieldTypeRequiredDescription
hoststringyes
principal_idstring (uuid)yes
sessionstring (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"
}
The person it concerns info

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 tail reads 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

FieldTypeRequiredDescription
hoststringyes
principal_idstring (uuid)yes
sessionstring (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"
}
The person it concerns info

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 tail reads 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

FieldTypeRequiredDescription
hoststringyes
principal_idstring (uuid)yes
sessionstring (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"
}
The person it concerns info

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 tail reads 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

FieldTypeRequiredDescription
codestringyes
hoststringyes
principal_idstring (uuid)yes
sessionstring (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"
}
Owner info Functions

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 tail reads 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"
}