summaryrefslogtreecommitdiffhomepage
path: root/src/features/workspaces/index.ts
blob: 1a60bb703731435b3bf2aba950a530e5394d2964 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
export type { WorkspaceHttp, WorkspaceResult } from "./adapter/http";
export { createWorkspaceHttp } from "./adapter/http";
export { createTileLayoutHttp, type TileLayoutHttp } from "./adapter/tile-layout-http";
export type {
  DragEmit,
  DragEvent as DragControllerEvent,
  DragPhase,
} from "./logic/drag-controller";
export { nextDragPhase } from "./logic/drag-controller";
export type { Route } from "./logic/route";
export {
  DEFAULT_WORKSPACE_ID,
  isValidSlug,
  parsePath,
  WORKSPACE_SLUG_RE,
  workspacePath,
} from "./logic/route";
export type {
  GridGeometry,
  Placement,
  TileGeometryMode,
  TileLayoutData,
  TileLayoutEntry,
} from "./logic/tile-layout";
export {
  clampSpan,
  displacePlace,
  dragAppendLimit,
  fillOrderKey,
  firstEmptySlot,
  geometryFor,
  mergeLayout,
  pack,
  pinAtFirstEmpty,
  placeAtCell,
  resizeTile,
  sanitizeLayout,
  sortByRecentActivity,
  sortTiles,
  toRenderCell,
  toUniversalCell,
} from "./logic/tile-layout";
export { applyStarred, pageTitle, relativeTime, sortWorkspaces } from "./logic/view-model";
export type { WorkspaceStore } from "./store.svelte";
export { createWorkspaceStore } from "./store.svelte";
export type { TileLayoutProviderState, TileLayoutStore } from "./tile-layout-store.svelte";
export { createTileLayoutStore } from "./tile-layout-store.svelte";
export { default as WorkspacesHome } from "./ui/WorkspacesHome.svelte";

/** Public module manifest — aggregated by the shell's "Loaded Modules" view. */
export const manifest = {
  name: "workspaces",
  description: "URL-driven conversation grouping with a backend-owned default cwd",
} as const;