API reference
root-data
Import
Section titled “Import”import * as api from "@fungi.computer/oyster/root-data";Exports
Section titled “Exports”| Kind | Export | Description |
|---|---|---|
| type alias | OysterRootRoles | Role choices belong to the root owner, independently of Release declarations. |
| type alias | OysterRootDirectory | Shared workbench metadata, without a hosted Team’s administration or grants. |
| type alias | OysterRootDataOptions | Existing installation, Release and SQLite owners supplied by the root. |
| function | createOysterRootData() | Data adapters for a standalone workbench over the root’s existing owners. |
OysterRootRolestype alias
Section titled “OysterRootRoles”type OysterRootRoles = Readonly< Record< string, Readonly<{ surfaceId: string | null; chosen: boolean; }> >>;Role choices belong to the root owner, independently of Release declarations.
OysterRootDirectorytype alias
Section titled “OysterRootDirectory”type OysterRootDirectory = Readonly<{ apps: readonly AppDirectoryEntry[]; roles: OysterRootRoles; computer?: Readonly<{ computerId: string; name: string; }>;}>;Shared workbench metadata, without a hosted Team’s administration or grants.
OysterRootDataOptionstype alias
Section titled “OysterRootDataOptions”type OysterRootDataOptions = Parameters<typeof createAppStorage>[0] & Readonly<{ installations: Pick<InstallationStore, "list">; resolveRelease: Promise< Pick< Readonly<{ release: Release; build: AppBuild; api: AppApi | null; declaration: AppDeclaration | null; ui: | Readonly<{ kind: "html"; artifactRef: ArtifactRef; digest: Sha256Digest; }> | Readonly<{ kind: "assets"; build: AssetBuild; }> | null; backend: Readonly<{ artifactRef: ArtifactRef; digest: Sha256Digest; }> | null; }>, "ui" | "declaration" > >; }>;Existing installation, Release and SQLite owners supplied by the root.
createOysterRootData()function
Section titled “createOysterRootData()”function createOysterRootData(options): object;Data adapters for a standalone workbench over the root’s existing owners.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options |
OysterRootDataOptions |
Returns
Section titled “Returns”| Name | Type | Description |
|---|---|---|
storage |
object |
Each open(authorize) receives fresh host admission and Release-declared keys. |
storage.purgeInstallation() |
(address) => void |
Remove an installation’s values and write counters inside its delete transaction. |
storage.purgeMember() |
(memberId, throughVersion) => void |
Remove a member’s private values and counters through the revoked membership version. |
openInstallation() |
(authorize) => object |
Bind a lifecycle view to fresh installation admission; only declared team layers are accessible. |
open() |
(authorize) => object |
Bind a member view to live admission, declared keys and the current membership version. |
directory() |
() => Promise<Readonly<{ apps: readonly object[]; roles: OysterRootRoles; computer?: Readonly<{ computerId: string; name: string; }>; }>> |
Project the current installations without minting permissions or role choices. |
platformDestinations() |
() => readonly Readonly<{ id: string; label: string; }>[] |
No standalone platform navigation destination is implemented yet. |