import type { MainEventRegister, WorkspaceMeta } from '../type'; import { cloneWorkspace, deleteWorkspace, listWorkspaces } from './handlers'; import { getWorkspaceMeta } from './meta'; import { workspaceSubjects } from './subjects'; export * from './handlers'; export * from './subjects'; export const workspaceEvents = { onMetaChange: ( fn: (meta: { workspaceId: string; meta: WorkspaceMeta }) => void ) => { const sub = workspaceSubjects.meta$.subscribe(fn); return () => { sub.unsubscribe(); }; }, } satisfies Record; export const workspaceHandlers = { list: async () => listWorkspaces(), delete: async (id: string) => deleteWorkspace(id), getMeta: async (id: string) => { return getWorkspaceMeta(id); }, clone: async (id: string, newId: string) => cloneWorkspace(id, newId), };