ReadonlycreateCreate the local identity (and its first device).
ReadonlycreateMint an API token bound to this identity's account (Hub), for a CLI or service to act as it. Returns it as an
unsaved AccessToken; the token secret is returned only once, so the caller stores it.
ReadonlycreateWrite a recovery credential for this identity. Returns the generated recovery code when HALO generated the key; nothing when an external key (passkey) was registered.
ReadonlycredentialsHALO credentials of the local identity; emits the current set immediately.
ReadonlydevicesDevices belonging to the local identity; emits the current set immediately.
ReadonlygetSynchronous snapshot of the local identity's devices, for imperative callers.
ReadonlygetThe signed-in identity as an EDGE/Hub authentication principal (Option.none when no identity
or local device exists). Synchronous because every consumer attaches it inside a React effect or
an identity-change callback; the signing it defers is what is asynchronous.
ReadonlygetSynchronous snapshot of the local identity (Option.none when none exists). For imperative
callers (non-React, non-Effect) that need the current value without subscribing.
ReadonlygrantGrant this identity access to an EDGE/Hub service by writing a ServiceAccess credential
(self-issued). Replaces hand-constructing the protobuf credential at the call site.
ReadonlyidentityThe local identity (Option.none when none exists) as a stream that emits the current
value immediately on subscription. Take the first element for a one-shot read; subscribe
for updates.
ReadonlyinvitationsActive (host-created) device-invitation flows; emits the current set immediately.
ReadonlyjoinRedeem a device-invitation code on a new device (guest side).
ReadonlypersonalId of the identity's personal (HALO) space — where its credentials live. Option.none when no
identity exists. Derived asynchronously from the identity key, hence a verb rather than a field
on Info.
ReadonlyrecoverRe-admit this device to an existing identity via a recovery credential.
ReadonlyrequestRequest the challenge a recovery key must sign to admit this device.
ReadonlyrevokeRevoke a recovery credential by its hex-encoded lookup key.
ReadonlyshareInitiate a device invitation (host side).
ReadonlysubscribeSubscribe to local-identity changes (imperative). Invokes callback immediately with the
current value, then on each change. Returns an unsubscribe function.
ReadonlyupdateUpdate the identity profile.
The service shape backing Service. Named (rather than inline in the
Context.Tag) so consumers referencing it — e.g. a capability typedContext.Service.Shape<typeof Identity.Service>— name it portably instead of expanding its structure and leaking the transitive Invitation types into their declaration emit (TS2883).