craft-hub / WorkspaceService
Class: WorkspaceService
Defined in: packages/craft-hub/src/workspaces.ts:54
Manage portable workspace manifests separately from machine-local bindings.
Constructors
Constructor
new WorkspaceService(
configDir,dataDir,projects):WorkspaceService
Defined in: packages/craft-hub/src/workspaces.ts:57
Parameters
configDir
string
dataDir
string
projects
Returns
WorkspaceService
Properties
configDir
readonlyconfigDir:string
Defined in: packages/craft-hub/src/workspaces.ts:58
Methods
addProject()
addProject(
workspaceId,projectId,ownerScopeId?):Promise<WorkspaceRecord>
Defined in: packages/craft-hub/src/workspaces.ts:580
Parameters
workspaceId
string
projectId
string
ownerScopeId?
string
Returns
Promise<WorkspaceRecord>
applyPortableCatalog()
applyPortableCatalog(
input,ownerScopeId?):Promise<WorkspaceCatalog>
Defined in: packages/craft-hub/src/workspaces.ts:361
Apply portable ordering and groups without deleting local-only workspaces or groups.
Parameters
input
Pick<WorkspaceCatalog, "groups" | "workspaceGroups" | "workspaceOrder">
ownerScopeId?
string = PERSONAL_OWNER_SCOPE_ID
Returns
Promise<WorkspaceCatalog>
applyPortableManifest()
applyPortableManifest(
manifest,ownerScopeId?):Promise<WorkspaceRecord>
Defined in: packages/craft-hub/src/workspaces.ts:339
Apply one portable manifest while preserving this machine's project bindings and trust.
Parameters
manifest
ownerScopeId?
string = ...
Returns
Promise<WorkspaceRecord>
applyPortableOrder()
applyPortableOrder(
remoteOrder,ownerScopeId?):Promise<WorkspaceCatalog>
Defined in: packages/craft-hub/src/workspaces.ts:354
Apply portable ordering without deleting local-only workspaces.
Parameters
remoteOrder
string[]
ownerScopeId?
string = PERSONAL_OWNER_SCOPE_ID
Returns
Promise<WorkspaceCatalog>
assignGroup()
assignGroup(
workspaceId,groupId?,ownerScopeId?):Promise<WorkspaceRecord>
Defined in: packages/craft-hub/src/workspaces.ts:179
Move one workspace into a group, or remove it from grouping.
Parameters
workspaceId
string
groupId?
string
ownerScopeId?
string
Returns
Promise<WorkspaceRecord>
assignProjectGroup()
assignProjectGroup(
projectId,groupId?,ownerScopeId?):Promise<Record<string,string>>
Defined in: packages/craft-hub/src/workspaces.ts:229
Move one registered standalone project into a navigation group, or leave it ungrouped.
Parameters
projectId
string
groupId?
string
ownerScopeId?
string = PERSONAL_OWNER_SCOPE_ID
Returns
Promise<Record<string, string>>
bind()
bind(
projectKey,projectId,ownerScopeId?):Promise<void>
Defined in: packages/craft-hub/src/workspaces.ts:524
Parameters
projectKey
string
projectId
string
ownerScopeId?
string = PERSONAL_OWNER_SCOPE_ID
Returns
Promise<void>
create()
create(
name,ownerScopeId?):Promise<WorkspaceRecord>
Defined in: packages/craft-hub/src/workspaces.ts:95
Parameters
name
string
ownerScopeId?
string = PERSONAL_OWNER_SCOPE_ID
Returns
Promise<WorkspaceRecord>
createGroup()
createGroup(
name,ownerScopeId?):Promise<WorkspaceGroup>
Defined in: packages/craft-hub/src/workspaces.ts:115
Create an editable workspace group.
Parameters
name
string
ownerScopeId?
string = PERSONAL_OWNER_SCOPE_ID
Returns
Promise<WorkspaceGroup>
delete()
delete(
id,expectedRevision,ownerScopeId?):Promise<void>
Defined in: packages/craft-hub/src/workspaces.ts:300
Parameters
id
string
expectedRevision
string
ownerScopeId?
string
Returns
Promise<void>
deleteGroup()
deleteGroup(
id,ownerScopeId?):Promise<void>
Defined in: packages/craft-hub/src/workspaces.ts:156
Delete a group without deleting its workspaces or standalone projects.
Parameters
id
string
ownerScopeId?
string
Returns
Promise<void>
deleteOwnerScopeData()
deleteOwnerScopeData(
ownerScopeId):Promise<OwnerScopeWorkspaceData>
Defined in: packages/craft-hub/src/workspaces.ts:445
Remove every portable and machine-local record owned by one Team.
Parameters
ownerScopeId
string
Returns
Promise<OwnerScopeWorkspaceData>
get()
get(
id,ownerScopeId?):Promise<WorkspaceRecord>
Defined in: packages/craft-hub/src/workspaces.ts:87
Parameters
id
string
ownerScopeId?
string
Returns
Promise<WorkspaceRecord>
groups()
groups(
ownerScopeId?):Promise<WorkspaceGroup[]>
Defined in: packages/craft-hub/src/workspaces.ts:110
List editable workspace groups in navigation order.
Parameters
ownerScopeId?
string = PERSONAL_OWNER_SCOPE_ID
Returns
Promise<WorkspaceGroup[]>
importWorkspace()
importWorkspace(
name,members,groupId,ownerScopeId?):Promise<WorkspaceRecord>
Defined in: packages/craft-hub/src/workspaces.ts:248
Create one owned workspace from imported members and retain paths only in local bindings.
Parameters
name
string
members
ImportedWorkspaceMemberInput[]
groupId
string
ownerScopeId?
string = PERSONAL_OWNER_SCOPE_ID
Returns
Promise<WorkspaceRecord>
list()
list(
ownerScopeId?):Promise<WorkspaceRecord[]>
Defined in: packages/craft-hub/src/workspaces.ts:65
Parameters
ownerScopeId?
string = PERSONAL_OWNER_SCOPE_ID
Returns
Promise<WorkspaceRecord[]>
portableSnapshot()
portableSnapshot(
ownerScopeId?):Promise<PortableWorkspaceSnapshot>
Defined in: packages/craft-hub/src/workspaces.ts:325
Export only user-owned workspace manifests and their portable order.
Parameters
ownerScopeId?
string = PERSONAL_OWNER_SCOPE_ID
Returns
Promise<PortableWorkspaceSnapshot>
projectGroupAssignments()
projectGroupAssignments(
ownerScopeId?):Promise<Record<string,string>>
Defined in: packages/craft-hub/src/workspaces.ts:197
List machine-local group assignments for registered standalone projects.
Parameters
ownerScopeId?
string = PERSONAL_OWNER_SCOPE_ID
Returns
Promise<Record<string, string>>
projectKey()
projectKey(
projectId,workspace?):Promise<string>
Defined in: packages/craft-hub/src/workspaces.ts:603
Parameters
projectId
string
workspace?
Returns
Promise<string>
projectOwnerScopes()
projectOwnerScopes(
ownerScopeIds):Promise<Record<string,string[]>>
Defined in: packages/craft-hub/src/workspaces.ts:206
Map registered projects to the non-Personal owner scopes that explicitly reference them.
Parameters
ownerScopeIds
string[]
Returns
Promise<Record<string, string[]>>
registerImportedProject()
registerImportedProject(
workspaceId,projectKey,locatedPath?,ownerScopeId?):Promise<WorkspaceRecord>
Defined in: packages/craft-hub/src/workspaces.ts:536
Resolve and register a member from its retained import path without granting trust.
Parameters
workspaceId
string
projectKey
string
locatedPath?
string
ownerScopeId?
string
Returns
Promise<WorkspaceRecord>
removeProject()
removeProject(
workspaceId,projectIdOrKey,ownerScopeId?):Promise<WorkspaceRecord>
Defined in: packages/craft-hub/src/workspaces.ts:591
Parameters
workspaceId
string
projectIdOrKey
string
ownerScopeId?
string
Returns
Promise<WorkspaceRecord>
renameGroup()
renameGroup(
id,name,ownerScopeId?):Promise<WorkspaceGroup>
Defined in: packages/craft-hub/src/workspaces.ts:130
Rename an editable workspace group.
Parameters
id
string
name
string
ownerScopeId?
string
Returns
Promise<WorkspaceGroup>
reorder()
reorder(
workspaceOrder,ownerScopeId?):Promise<WorkspaceCatalog>
Defined in: packages/craft-hub/src/workspaces.ts:311
Parameters
workspaceOrder
string[]
ownerScopeId?
string = PERSONAL_OWNER_SCOPE_ID
Returns
Promise<WorkspaceCatalog>
replacePortableSnapshot()
replacePortableSnapshot(
snapshot,ownerScopeId?):Promise<WorkspaceCatalog>
Defined in: packages/craft-hub/src/workspaces.ts:394
Replace portable workspace state while retaining machine-local project bindings and UI state.
Parameters
snapshot
ownerScopeId?
string = PERSONAL_OWNER_SCOPE_ID
Returns
Promise<WorkspaceCatalog>
resolveProjectKey()
resolveProjectKey(
projectKey,ownerScopeId?):Promise<string|undefined>
Defined in: packages/craft-hub/src/workspaces.ts:517
Resolve a portable project key through this machine's bindings without changing trust.
Parameters
projectKey
string
ownerScopeId?
string = PERSONAL_OWNER_SCOPE_ID
Returns
Promise<string | undefined>
restoreOwnerScopeData()
restoreOwnerScopeData(
ownerScopeId,data):Promise<void>
Defined in: packages/craft-hub/src/workspaces.ts:497
Restore a Team state receipt after a later lifecycle operation fails.
Parameters
ownerScopeId
string
data
Returns
Promise<void>
save()
save(
input):Promise<WorkspaceRecord>
Defined in: packages/craft-hub/src/workspaces.ts:282
Parameters
input
Returns
Promise<WorkspaceRecord>
setGroupIcon()
setGroupIcon(
id,icon?,ownerScopeId?):Promise<WorkspaceGroup>
Defined in: packages/craft-hub/src/workspaces.ts:144
Set the optional portable icon or emoji for one workspace group.
Parameters
id
string
icon?
string
ownerScopeId?
string
Returns
Promise<WorkspaceGroup>
uiState()
uiState(
ownerScopeId?):Promise<WorkspaceUiState>
Defined in: packages/craft-hub/src/workspaces.ts:551
Parameters
ownerScopeId?
string = PERSONAL_OWNER_SCOPE_ID
Returns
Promise<WorkspaceUiState>
updateUiState()
updateUiState(
state,ownerScopeId?):Promise<WorkspaceUiState>
Defined in: packages/craft-hub/src/workspaces.ts:561
Parameters
state
ownerScopeId?
string = PERSONAL_OWNER_SCOPE_ID
Returns
Promise<WorkspaceUiState>