Interface: Workspace
Defined in: packages/sdk/src/domain-types.ts:115
A workspace — the unit Silo switches between, keeping its terminals, editors, and layout alive. Read via WorkspaceService.
This is the public surface: it carries the fields an extension needs to read (name, folder, open tabs). Layout, scroll, and panel-state fields are host-internal (WorkspaceInternal in @silo-code/extension-host) and are intentionally absent here.
Properties
id
id: string;Defined in: packages/sdk/src/domain-types.ts:116
name
name: string;Defined in: packages/sdk/src/domain-types.ts:117
folder
folder: string;Defined in: packages/sdk/src/domain-types.ts:118
extraFolders?
optional extraFolders?: string[];Defined in: packages/sdk/src/domain-types.ts:120
Additional folders beyond the primary one.
createdAt
createdAt: string;Defined in: packages/sdk/src/domain-types.ts:121
lastOpenedAt
lastOpenedAt: string;Defined in: packages/sdk/src/domain-types.ts:122
closedAt?
optional closedAt?: string | null;Defined in: packages/sdk/src/domain-types.ts:128
ISO timestamp of when the workspace was soft-closed, or null/undefined if the workspace is open. Closed workspaces are hidden from the main list and surfaced in a "reopen" picker.
terminals
terminals: readonly TerminalRecord[];Defined in: packages/sdk/src/domain-types.ts:129
editors
editors: readonly EditorRecord[];Defined in: packages/sdk/src/domain-types.ts:131
Editor tabs — text editors and diffs alike (a diff is a record with mode: "diff").