worklist
client.worklist shows the person what is theirs to work on. The Seald Healthcare Cloud holds the worklist. An offline lease covers it where the tenant enabled one for the role.
get
get(): Promise<WorklistItem[]>func get() async throws -> [WorklistItem]suspend fun get(): List<WorklistItem>Returns: Every item waiting for this person, across every kind below.
Records: Nothing. Not a decision.
Errors: locked, no-session, unreachable where no offline lease covers it.
Types
WorklistItem
The union has fourteen kinds, told apart by kind. Each kind carries what your application needs to render it and act on it.
type WorklistItem = | { kind: 'recent'; ref: ObjectRef; dataset: string; at: Date } | { kind: 'shared'; ref: ObjectRef; dataset: string; by: RecipientId; at: Date } | { kind: 'enrollment-request'; requestId: string; person: Person; lapsesAt: Date } | { kind: 'policy-version'; versionId: string; author: RecipientId; submittedAt: Date } | { kind: 'custodian-share'; registrationId: string } | { kind: 'proof-overdue'; custodian: Person; due: Date } | { kind: 'ceremony'; ceremonyId: string } | { kind: 'pending-version'; ref: Required<ObjectRef>; agent: RecipientId; expiresAt: Date } | { kind: 'backfill-waiting'; person: Person; since: Date } | { kind: 'member-without-device'; person: Person; since: Date } | { kind: 'ownerless-domain'; root: Locator; dataset: string } | { kind: 'journal-review'; recipientId: RecipientId; person: Person } | { kind: 'support-grant'; grantId: string; until: Date } | { kind: 'hold-lift'; holdId: string };enum WorklistItem { case recent(ref: ObjectRef, dataset: String, at: Date) case shared(ref: ObjectRef, dataset: String, by: RecipientId, at: Date) case enrollmentRequest(requestId: String, person: Person, lapsesAt: Date) case policyVersion(versionId: String, author: RecipientId, submittedAt: Date) case custodianShare(registrationId: String) case proofOverdue(custodian: Person, due: Date) case ceremony(ceremonyId: String) case pendingVersion(ref: ObjectRef, agent: RecipientId, expiresAt: Date) case backfillWaiting(person: Person, since: Date) case memberWithoutDevice(person: Person, since: Date) case ownerlessDomain(root: Locator, dataset: String) case journalReview(recipientId: RecipientId, person: Person) case supportGrant(grantId: String, until: Date) case holdLift(holdId: String)}sealed interface WorklistItem { data class Recent(val ref: ObjectRef, val dataset: String, val at: Instant) : WorklistItem data class Shared(val ref: ObjectRef, val dataset: String, val by: RecipientId, val at: Instant) : WorklistItem data class EnrollmentRequest(val requestId: String, val person: Person, val lapsesAt: Instant) : WorklistItem data class PolicyVersion(val versionId: String, val author: RecipientId, val submittedAt: Instant) : WorklistItem data class CustodianShare(val registrationId: String) : WorklistItem data class ProofOverdue(val custodian: Person, val due: Instant) : WorklistItem data class Ceremony(val ceremonyId: String) : WorklistItem data class PendingVersion(val ref: ObjectRef, val agent: RecipientId, val expiresAt: Instant) : WorklistItem data class BackfillWaiting(val person: Person, val since: Instant) : WorklistItem data class MemberWithoutDevice(val person: Person, val since: Instant) : WorklistItem data class OwnerlessDomain(val root: Locator, val dataset: String) : WorklistItem data class JournalReview(val recipientId: RecipientId, val person: Person) : WorklistItem data class SupportGrant(val grantId: String, val until: Instant) : WorklistItem data class HoldLift(val holdId: String) : WorklistItem}| Kind | Fields | Description |
|---|---|---|
recent | ref, dataset, at | An object this person opened recently. |
shared | ref, dataset, by, at | An object shared with this person by another device. |
enrollment-request | requestId, person, lapsesAt | Another device of this person asked to enroll, or an Admin has a request to review. |
policy-version | versionId, author, submittedAt | An overlay version submitted, waiting on this person’s approval. |
custodian-share | registrationId | A backup key share waiting for this custodian to collect with backupKey.receiveShare. |
proof-overdue | custodian, due | A custodian’s yearly proveShare is overdue. |
ceremony | ceremonyId | A break-glass ceremony this person may take part in. |
pending-version | ref, agent, expiresAt | An AI agent’s version waiting on this delegator’s acceptPending or rejectPending. |
backfill-waiting | person, since | A key domain or record that still waits to give a member’s new device access. |
member-without-device | person, since | A member of a key domain with no enrolled device yet. |
ownerless-domain | root, dataset | A key domain left with no domain owner, waiting for break-glass recovery. |
journal-review | recipientId, person | A device whose offline activity record the Seald Healthcare Cloud refused. It waits for an Owner’s review. |
support-grant | grantId, until | Customer operator access, active until the date given. |
hold-lift | holdId | A legal hold with one Owner’s signature, waiting for a second to lift it. |
Worklist
interface Worklist { get(): Promise<WorklistItem[]>;}class Worklist { func get() async throws -> [WorklistItem]}class Worklist { suspend fun get(): List<WorklistItem>}Worklist groups the one method above into the namespace client.worklist. See Worklist and events for how to render each kind and refresh on the worklist event.