@cerbur/clutch-dsh-worktree 0.1.24 → 0.1.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +82 -22
  2. package/README.zh.md +67 -19
  3. package/lib/client/WorktreeSurface.d.ts.map +1 -1
  4. package/lib/client/WorktreeSurface.js +2 -1
  5. package/lib/client/WorktreeSurface.js.map +1 -1
  6. package/lib/client/dsh-icons.d.ts +1 -0
  7. package/lib/client/dsh-icons.d.ts.map +1 -1
  8. package/lib/client/dsh-icons.js +1 -0
  9. package/lib/client/dsh-icons.js.map +1 -1
  10. package/lib/client/locales.d.ts +28 -2
  11. package/lib/client/locales.d.ts.map +1 -1
  12. package/lib/client/locales.js +28 -2
  13. package/lib/client/locales.js.map +1 -1
  14. package/lib/client/surface/components/ActiveWorktree.d.ts +1 -1
  15. package/lib/client/surface/components/ActiveWorktree.d.ts.map +1 -1
  16. package/lib/client/surface/components/ActiveWorktree.js +8 -2
  17. package/lib/client/surface/components/ActiveWorktree.js.map +1 -1
  18. package/lib/client/surface/components/ActivityFilterBar.d.ts +16 -0
  19. package/lib/client/surface/components/ActivityFilterBar.d.ts.map +1 -0
  20. package/lib/client/surface/components/ActivityFilterBar.js +48 -0
  21. package/lib/client/surface/components/ActivityFilterBar.js.map +1 -0
  22. package/lib/client/surface/components/AnimatedTree.js +2 -2
  23. package/lib/client/surface/components/AnimatedTree.js.map +1 -1
  24. package/lib/client/surface/components/ArchivedWorktree.d.ts +1 -1
  25. package/lib/client/surface/components/ArchivedWorktree.d.ts.map +1 -1
  26. package/lib/client/surface/components/ArchivedWorktree.js +7 -2
  27. package/lib/client/surface/components/ArchivedWorktree.js.map +1 -1
  28. package/lib/client/surface/components/ArchivedWorktrees.d.ts +1 -1
  29. package/lib/client/surface/components/ArchivedWorktrees.d.ts.map +1 -1
  30. package/lib/client/surface/components/ArchivedWorktrees.js +2 -2
  31. package/lib/client/surface/components/ArchivedWorktrees.js.map +1 -1
  32. package/lib/client/surface/components/SurfaceContent.d.ts +2 -2
  33. package/lib/client/surface/components/SurfaceContent.d.ts.map +1 -1
  34. package/lib/client/surface/components/SurfaceContent.js.map +1 -1
  35. package/lib/client/surface/components/WorkspaceTree.d.ts +2 -2
  36. package/lib/client/surface/components/WorkspaceTree.d.ts.map +1 -1
  37. package/lib/client/surface/components/WorkspaceTree.js +34 -11
  38. package/lib/client/surface/components/WorkspaceTree.js.map +1 -1
  39. package/lib/client/surface/components/rows.d.ts.map +1 -1
  40. package/lib/client/surface/components/rows.js +1 -1
  41. package/lib/client/surface/components/rows.js.map +1 -1
  42. package/lib/client/surface/state/useActivityFilter.d.ts +25 -0
  43. package/lib/client/surface/state/useActivityFilter.d.ts.map +1 -0
  44. package/lib/client/surface/state/useActivityFilter.js +79 -0
  45. package/lib/client/surface/state/useActivityFilter.js.map +1 -0
  46. package/lib/client/surface/state/useSessionExpansion.d.ts +2 -0
  47. package/lib/client/surface/state/useSessionExpansion.d.ts.map +1 -1
  48. package/lib/client/surface/state/useSessionExpansion.js +75 -17
  49. package/lib/client/surface/state/useSessionExpansion.js.map +1 -1
  50. package/lib/client/surface/state/useSurfaceSources.d.ts +2 -1
  51. package/lib/client/surface/state/useSurfaceSources.d.ts.map +1 -1
  52. package/lib/client/surface/state/useSurfaceSources.js +12 -0
  53. package/lib/client/surface/state/useSurfaceSources.js.map +1 -1
  54. package/lib/client/view/activity-filter.d.ts +86 -0
  55. package/lib/client/view/activity-filter.d.ts.map +1 -0
  56. package/lib/client/view/activity-filter.js +121 -0
  57. package/lib/client/view/activity-filter.js.map +1 -0
  58. package/lib/client/view/view-mode-store.d.ts.map +1 -1
  59. package/lib/client/view/view-mode-store.js +26 -1
  60. package/lib/client/view/view-mode-store.js.map +1 -1
  61. package/lib/client/view/view-mode.d.ts +18 -1
  62. package/lib/client/view/view-mode.d.ts.map +1 -1
  63. package/lib/client/view/view-mode.js.map +1 -1
  64. package/lib/client/view/worktree-expand-state.d.ts +12 -1
  65. package/lib/client/view/worktree-expand-state.d.ts.map +1 -1
  66. package/lib/client/view/worktree-expand-state.js +26 -0
  67. package/lib/client/view/worktree-expand-state.js.map +1 -1
  68. package/lib/client.js +579 -79
  69. package/lib/client.js.map +1 -1
  70. package/lib/host/service.d.ts +1 -1
  71. package/lib/host/service.d.ts.map +1 -1
  72. package/lib/tool/context.d.ts +3 -0
  73. package/lib/tool/context.d.ts.map +1 -1
  74. package/lib/tool/context.js +13 -6
  75. package/lib/tool/context.js.map +1 -1
  76. package/lib/tool/index.d.ts.map +1 -1
  77. package/lib/tool/index.js +87 -33
  78. package/lib/tool/index.js.map +1 -1
  79. package/lib/tool/native-session.d.ts.map +1 -1
  80. package/lib/tool/native-session.js +16 -0
  81. package/lib/tool/native-session.js.map +1 -1
  82. package/lib/tool/types.d.ts +1 -1
  83. package/lib/tool/types.d.ts.map +1 -1
  84. package/lib/typert.host.js +623 -278
  85. package/lib/typert.remote-client.d.ts +35 -2
  86. package/lib/typert.remote-client.d.ts.map +1 -1
  87. package/lib/typert.remote-client.js +617 -277
  88. package/package.json +59 -54
@@ -1,5 +1,5 @@
1
1
  import { useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
2
- import { isMainExpanded, isWorkspaceExpanded, isWorktreeExpanded, } from '../../view/worktree-expand-state.js';
2
+ import { isMainExpanded, isWorkspaceExpanded, isWorktreeExpanded, resolveOpenWorkspaceId, } from '../../view/worktree-expand-state.js';
3
3
  import { scrollCurrentSessionIntoView } from '../../session/worktree-session-position.js';
4
4
  import { clearSessionGroupExpansion, currentSessionRevealKeys, isCompleteWorktreeWorkspaceSnapshot, isPendingListPhase, resolveCurrentSessionLocation, } from '../selectors.js';
5
5
  export function useSessionExpansion({ read, source, props }) {
@@ -14,6 +14,9 @@ export function useSessionExpansion({ read, source, props }) {
14
14
  const [currentSessionReveal, setCurrentSessionReveal] = useState();
15
15
  const revealSessionIdRef = useRef(Symbol('initial'));
16
16
  const revealModeRef = useRef(Symbol('initial'));
17
+ // The Workspace already forced open for the current Session. It prevents the reveal
18
+ // from overriding a newer explicit tab click before suppression state commits.
19
+ const appliedRevealRef = useRef();
17
20
  let activeReveal = currentSessionReveal;
18
21
  if (currentSessionId !== revealSessionIdRef.current || mode !== revealModeRef.current) {
19
22
  revealSessionIdRef.current = currentSessionId;
@@ -26,6 +29,10 @@ export function useSessionExpansion({ read, source, props }) {
26
29
  }
27
30
  const searchQueryRef = useRef(searchQuery);
28
31
  searchQueryRef.current = searchQuery;
32
+ useEffect(() => {
33
+ if (mode !== 'worktree')
34
+ appliedRevealRef.current = undefined;
35
+ }, [mode]);
29
36
  useEffect(() => {
30
37
  if (!searchExpanded)
31
38
  return;
@@ -60,6 +67,15 @@ export function useSessionExpansion({ read, source, props }) {
60
67
  activeReveal.sessionId === currentSessionId &&
61
68
  currentRevealKeys.has(key) &&
62
69
  activeReveal.suppressedKeys[key] !== true;
70
+ // Only one Workspace is open at a time: exactly one owns the tree body. A temporary
71
+ // current-Session reveal is the immediate choice; the store write below settles it.
72
+ const revealedWorkspaceId = currentSessionLocation?.workspaceId !== undefined &&
73
+ workspaceIds.includes(currentSessionLocation.workspaceId) &&
74
+ isCurrentSessionReveal('workspace:' + currentSessionLocation.workspaceId)
75
+ ? currentSessionLocation.workspaceId
76
+ : undefined;
77
+ const openWorkspaceId = resolveOpenWorkspaceId(expandSnapshot, workspaceIds, revealedWorkspaceId);
78
+ const isWorkspaceOpen = (workspaceId) => workspaceId === openWorkspaceId;
63
79
  useLayoutEffect(() => {
64
80
  locateGenerationRef.current += 1;
65
81
  positionedLocateGenerationRef.current = undefined;
@@ -102,6 +118,43 @@ export function useSessionExpansion({ read, source, props }) {
102
118
  query,
103
119
  readState.status,
104
120
  ]);
121
+ // Keep the tab choice as one persisted value. A revealed current-Session Workspace
122
+ // wins immediately; legacy multi-open records settle on the first open choice.
123
+ useLayoutEffect(() => {
124
+ if (mode !== 'worktree' ||
125
+ readState.status !== 'ready' ||
126
+ isPendingListPhase(workspaces.phase) ||
127
+ workspaceIds.length === 0) {
128
+ return;
129
+ }
130
+ const expandedIds = workspaceIds.filter((workspaceId) => isWorkspaceExpanded(expandSnapshot, workspaceId));
131
+ if (revealedWorkspaceId !== undefined) {
132
+ const applied = appliedRevealRef.current;
133
+ if (applied !== undefined &&
134
+ applied.sessionId === currentSessionId &&
135
+ applied.workspaceId === revealedWorkspaceId) {
136
+ return;
137
+ }
138
+ expandState.actions.openWorkspaceExclusive(revealedWorkspaceId, workspaceIds);
139
+ appliedRevealRef.current = {
140
+ sessionId: currentSessionId,
141
+ workspaceId: revealedWorkspaceId,
142
+ };
143
+ return;
144
+ }
145
+ if (expandedIds.length > 1 && openWorkspaceId !== undefined) {
146
+ expandState.actions.openWorkspaceExclusive(openWorkspaceId, workspaceIds);
147
+ }
148
+ }, [
149
+ mode,
150
+ readState.status,
151
+ workspaces.phase,
152
+ workspaceIds,
153
+ expandSnapshot,
154
+ revealedWorkspaceId,
155
+ openWorkspaceId,
156
+ expandState,
157
+ ]);
105
158
  useEffect(() => {
106
159
  // Pruning is destructive: require a confirmed Workspace list whose projections all
107
160
  // arrived. A pending or partial read means "nothing arrived yet", not "nothing exists".
@@ -129,27 +182,30 @@ export function useSessionExpansion({ read, source, props }) {
129
182
  });
130
183
  return true;
131
184
  };
185
+ const workspaceGroupKeys = (workspaceId) => [
186
+ 'main:' + workspaceId,
187
+ ...(viewByWorkspace.get(workspaceId)?.worktrees.map((record) => record.worktreeId) ?? []).map((worktreeId) => 'worktree:' + worktreeId),
188
+ ];
132
189
  const toggleWorkspace = (workspaceId) => {
133
- const persistedExpanded = isWorkspaceExpanded(expandSnapshot, workspaceId);
134
- const autoExpanded = isCurrentSessionReveal('workspace:' + workspaceId);
135
- const visuallyExpanded = persistedExpanded || autoExpanded;
136
- if (visuallyExpanded && autoExpanded) {
190
+ // The active tab closes on a second activation; an inactive tab replaces the
191
+ // active one, so the tree body never shows two Workspaces at once.
192
+ if (openWorkspaceId === workspaceId) {
137
193
  suppressCurrentSessionReveal('workspace:' + workspaceId);
138
- }
139
- if (visuallyExpanded && !persistedExpanded) {
140
- clearSessionGroups([
141
- 'main:' + workspaceId,
142
- ...(viewByWorkspace.get(workspaceId)?.worktrees.map((record) => record.worktreeId) ?? []).map((worktreeId) => 'worktree:' + worktreeId),
143
- ]);
194
+ if (isWorkspaceExpanded(expandSnapshot, workspaceId)) {
195
+ expandState.actions.toggleWorkspace(workspaceId);
196
+ }
197
+ clearSessionGroups(workspaceGroupKeys(workspaceId));
144
198
  return;
145
199
  }
146
- expandState.actions.toggleWorkspace(workspaceId);
147
- if (visuallyExpanded) {
148
- clearSessionGroups([
149
- 'main:' + workspaceId,
150
- ...(viewByWorkspace.get(workspaceId)?.worktrees.map((record) => record.worktreeId) ?? []).map((worktreeId) => 'worktree:' + worktreeId),
151
- ]);
200
+ const currentWorkspaceId = currentSessionLocation?.workspaceId;
201
+ if (currentWorkspaceId !== undefined && currentWorkspaceId !== workspaceId) {
202
+ // Explicit tab selection outranks the automatic reveal of the Workspace that
203
+ // owns the current Session until navigation changes.
204
+ suppressCurrentSessionReveal('workspace:' + currentWorkspaceId);
152
205
  }
206
+ if (openWorkspaceId !== undefined)
207
+ clearSessionGroups(workspaceGroupKeys(openWorkspaceId));
208
+ expandState.actions.openWorkspaceExclusive(workspaceId, workspaceIds);
153
209
  };
154
210
  const toggleMain = (workspaceId) => {
155
211
  const persistedExpanded = isMainExpanded(expandSnapshot, workspaceId);
@@ -231,6 +287,8 @@ export function useSessionExpansion({ read, source, props }) {
231
287
  currentSessionLocation,
232
288
  currentRevealKeys,
233
289
  isCurrentSessionReveal,
290
+ openWorkspaceId,
291
+ isWorkspaceOpen,
234
292
  clearSessionGroups,
235
293
  suppressCurrentSessionReveal,
236
294
  toggleWorkspace,
@@ -1 +1 @@
1
- {"version":3,"file":"useSessionExpansion.js","sourceRoot":"","sources":["../../../../src/client/surface/state/useSessionExpansion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,mCAAmC,EACnC,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AAezB,MAAM,UAAU,mBAAmB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAS;IAChE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAC5C,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IACpF,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,EAA6B,CAAC;IAC9F,MAAM,kBAAkB,GAAG,MAAM,CAAqB,MAAM,CAAC,SAAS,CAAsB,CAAC,CAAC;IAC9F,MAAM,aAAa,GAAG,MAAM,CAA0B,MAAM,CAAC,SAAS,CAA2B,CAAC,CAAC;IAEnG,IAAI,YAAY,GAAG,oBAAoB,CAAC;IACxC,IAAI,gBAAgB,KAAK,kBAAkB,CAAC,OAAO,IAAI,IAAI,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;QACtF,kBAAkB,CAAC,OAAO,GAAG,gBAAgB,CAAC;QAC9C,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,YAAY;YACV,gBAAgB,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU;gBACnD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;QAC1D,uBAAuB,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IACrC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,MAAM,OAAO,GAAG,CAAC,KAAiB,EAAQ,EAAE;YAC1C,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,YAAY,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;gBACxF,OAAO;YACT,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;YAC5B,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE;gBAAE,OAAO;YACtC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;IAClC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,cAAc,EAAE,CAAC;YACnB,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IACrB,MAAM,mBAAmB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,6BAA6B,GAAG,MAAM,EAAU,CAAC;IACvD,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,GAAG,QAAQ,CAE1E,EAAE,CAAC,CAAC;IACN,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAwB,EAAE,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC;IACrD,MAAM,sBAAsB,GAAG,OAAO,CACpC,GAAG,EAAE,CACH,SAAS,CAAC,MAAM,KAAK,OAAO;QAC1B,CAAC,CAAC,6BAA6B,CAAC,gBAAgB,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;QACpF,CAAC,CAAC,SAAS,EACf,CAAC,gBAAgB,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CACxE,CAAC;IACF,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,CAAC,EAC/D,CAAC,sBAAsB,CAAC,CACzB,CAAC;IACF,MAAM,sBAAsB,GAAG,CAAC,GAAW,EAAW,EAAE,CACtD,YAAY,KAAK,SAAS;QAC1B,YAAY,CAAC,SAAS,KAAK,gBAAgB;QAC3C,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;QAC1B,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IAC5C,eAAe,CAAC,GAAG,EAAE;QACnB,mBAAmB,CAAC,OAAO,IAAI,CAAC,CAAC;QACjC,6BAA6B,CAAC,OAAO,GAAG,SAAS,CAAC;QAClD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QACD,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,cAAc,CAAC,EAAE,CAAC,CAAC;YACnB,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7B,eAAe,CAAC,GAAG,EAAE;QACnB,IACE,IAAI,KAAK,UAAU;YACnB,gBAAgB,KAAK,SAAS;YAC9B,sBAAsB,KAAK,SAAS,EACpC,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC;QAC/C,IAAI,6BAA6B,CAAC,OAAO,KAAK,UAAU;YAAE,OAAO;QACjE,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,EAAE;YACvC,IAAI,SAAS,IAAI,UAAU,KAAK,mBAAmB,CAAC,OAAO;gBAAE,OAAO;YACpE,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC;gBAAE,OAAO;YAChF,6BAA6B,CAAC,OAAO,GAAG,UAAU,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;YACjB,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC,EAAE;QACD,gBAAgB;QAChB,sBAAsB;QACtB,YAAY;QACZ,cAAc;QACd,IAAI;QACJ,KAAK;QACL,SAAS,CAAC,MAAM;KACjB,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACb,mFAAmF;QACnF,wFAAwF;QACxF,IACE,SAAS,CAAC,MAAM,KAAK,OAAO;YAC5B,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC;YACpC,CAAC,mCAAmC,CAAC,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC;YAEnE,OAAO;QACT,WAAW,CAAC,OAAO,CAAC,MAAM,CACxB,YAAY,EACZ,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CACrF,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACrF,MAAM,kBAAkB,GAAG,CAAC,SAA4B,EAAQ,EAAE;QAChE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACnC,wBAAwB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,0BAA0B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IACxF,CAAC,CAAC;IACF,MAAM,4BAA4B,GAAG,CAAC,GAAW,EAAW,EAAE;QAC5D,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/C,uBAAuB,CAAC,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,gBAAgB;gBAAE,OAAO,OAAO,CAAC;YACpF,OAAO;gBACL,GAAG,OAAO;gBACV,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;aAC3D,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAQ,EAAE;QACpD,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,sBAAsB,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC;QACxE,MAAM,gBAAgB,GAAG,iBAAiB,IAAI,YAAY,CAAC;QAC3D,IAAI,gBAAgB,IAAI,YAAY,EAAE,CAAC;YACrC,4BAA4B,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,gBAAgB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3C,kBAAkB,CAAC;gBACjB,OAAO,GAAG,WAAW;gBACrB,GAAG,CACD,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CACrF,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,WAAW,GAAG,UAAU,CAAC;aAChD,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,gBAAgB,EAAE,CAAC;YACrB,kBAAkB,CAAC;gBACjB,OAAO,GAAG,WAAW;gBACrB,GAAG,CACD,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CACrF,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,WAAW,GAAG,UAAU,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,WAAmB,EAAQ,EAAE;QAC/C,MAAM,iBAAiB,GAAG,cAAc,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC;QACnE,MAAM,gBAAgB,GAAG,iBAAiB,IAAI,YAAY,CAAC;QAC3D,IAAI,gBAAgB,IAAI,YAAY,EAAE,CAAC;YACrC,4BAA4B,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,gBAAgB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3C,kBAAkB,CAAC,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,gBAAgB;YAAE,kBAAkB,CAAC,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,CAAC,UAAkB,EAAQ,EAAE;QAClD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QACzE,MAAM,YAAY,GAAG,sBAAsB,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;QACtE,MAAM,gBAAgB,GAAG,iBAAiB,IAAI,YAAY,CAAC;QAC3D,IAAI,gBAAgB,IAAI,YAAY,EAAE,CAAC;YACrC,4BAA4B,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,gBAAgB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3C,kBAAkB,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,gBAAgB;YAAE,kBAAkB,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC;IACF,MAAM,uBAAuB,GAAG,CAAC,WAAmB,EAAQ,EAAE;QAC5D,MAAM,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;QAC9C,MAAM,YAAY,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;QAC3E,MAAM,gBAAgB,GAAG,iBAAiB,IAAI,YAAY,CAAC;QAC3D,IAAI,gBAAgB,IAAI,YAAY,EAAE,CAAC;YACrC,4BAA4B,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;QACD,6BAA6B,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC1C,GAAG,OAAO;YACV,CAAC,WAAW,CAAC,EAAE,CAAC,gBAAgB;SACjC,CAAC,CAAC,CAAC;IACN,CAAC,CAAC;IACF,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAE,YAAqB,EAAQ,EAAE;QAC3E,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;QACnE,IAAI,YAAY,EAAE,CAAC;YACjB,4BAA4B,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC;YAC1D,wBAAwB,CAAC,CAAC,OAAO,EAAE,EAAE;gBACnC,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,wBAAwB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,OAAO;YACV,CAAC,QAAQ,CAAC,EAAE,CAAC,iBAAiB;SAC/B,CAAC,CAAC,CAAC;IACN,CAAC,CAAC;IACF,OAAO;QACL,WAAW;QACX,cAAc;QACd,cAAc;QACd,iBAAiB;QACjB,UAAU;QACV,WAAW;QACX,UAAU;QACV,oBAAoB,EAAE,YAAY;QAClC,uBAAuB;QACvB,cAAc;QACd,mBAAmB;QACnB,6BAA6B;QAC7B,0BAA0B;QAC1B,6BAA6B;QAC7B,qBAAqB;QACrB,wBAAwB;QACxB,KAAK;QACL,sBAAsB;QACtB,iBAAiB;QACjB,sBAAsB;QACtB,kBAAkB;QAClB,4BAA4B;QAC5B,eAAe;QACf,UAAU;QACV,cAAc;QACd,uBAAuB;QACvB,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"useSessionExpansion.js","sourceRoot":"","sources":["../../../../src/client/surface/state/useSessionExpansion.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type SessionListLike } from '../../session/session-view.js';
2
2
  import type { WorkspaceListLike, WorktreeSurfaceProps } from '../types.js';
3
3
  type Input = {
4
- props: Pick<WorktreeSurfaceProps, 'useStore' | 'available' | 'manager' | 'useSessions' | 'useSessionStatus' | 'useWorkspaces' | 'forkRecovery' | 'expandState' | 'sessionOrder' | 'sidebarSeat'>;
4
+ props: Pick<WorktreeSurfaceProps, 'useStore' | 'actions' | 'available' | 'manager' | 'useSessions' | 'useSessionStatus' | 'useWorkspaces' | 'forkRecovery' | 'expandState' | 'sessionOrder' | 'sidebarSeat'>;
5
5
  };
6
6
  export declare function useSurfaceSources({ props }: Input): {
7
7
  preferredMode: import("../../view/view-mode.js").WorktreeViewMode;
@@ -16,6 +16,7 @@ export declare function useSurfaceSources({ props }: Input): {
16
16
  expandSnapshot: import("../../view/worktree-expand-state.js").WorktreeExpandState;
17
17
  sessionOrderSnapshot: import("../../session/worktree-session-order.js").WorktreeSessionOrderState;
18
18
  sessionPresentations: Readonly<Record<string, import("../../session/session-view.js").SessionPresentation>>;
19
+ activity: import("../../view/activity-filter.js").ActivityFilterView;
19
20
  bounds: {
20
21
  ready: boolean;
21
22
  top: number;
@@ -1 +1 @@
1
- {"version":3,"file":"useSurfaceSources.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/state/useSurfaceSources.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAQvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAG3E,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,IAAI,CACT,oBAAoB,EAClB,UAAU,GACV,WAAW,GACX,SAAS,GACT,aAAa,GACb,kBAAkB,GAClB,eAAe,GACf,cAAc,GACd,aAAa,GACb,cAAc,GACd,aAAa,CAChB,CAAC;CACH,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK;;;;;;;;;;;;;;;;;;;;EAmEjD"}
1
+ {"version":3,"file":"useSurfaceSources.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/state/useSurfaceSources.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AASvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAG3E,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,IAAI,CACT,oBAAoB,EAClB,UAAU,GACV,SAAS,GACT,WAAW,GACX,SAAS,GACT,aAAa,GACb,kBAAkB,GAClB,eAAe,GACf,cAAc,GACd,aAAa,GACb,cAAc,GACd,aAAa,CAChB,CAAC;CACH,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK;;;;;;;;;;;;;;;;;;;;;EA8EjD"}
@@ -4,6 +4,7 @@ import { useWorkspaceRegionGeometry } from '../../view/workspace-region-geometry
4
4
  import { effectiveViewMode } from '../../view/view-mode.js';
5
5
  import { currentSessionIdFromList } from '../../session/session-selection.js';
6
6
  import { EMPTY_FORK_RECOVERY_STORE, useStableWorkspaceIds, } from '../shared.js';
7
+ import { useActivityFilter } from './useActivityFilter.js';
7
8
  import { retainPendingWorkspaces } from '../selectors.js';
8
9
  export function useSurfaceSources({ props }) {
9
10
  const { useStore, available, manager, useSessions, useSessionStatus, useWorkspaces, forkRecovery, expandState, sessionOrder, } = props;
@@ -30,6 +31,16 @@ export function useSurfaceSources({ props }) {
30
31
  const sessionPresentations = useMemo(() => deriveSessionPresentationIndex(sessions, sessionStatuses), [sessions.byId, sessionStatuses]);
31
32
  const { bounds, collapsed } = useWorkspaceRegionGeometry(props.sidebarSeat);
32
33
  const archivedSessionIds = workspaces.archivedSessionIds ?? [];
34
+ const activity = useActivityFilter({
35
+ props,
36
+ enabled: mode === 'worktree',
37
+ source: {
38
+ sessions,
39
+ sessionPresentations,
40
+ currentSessionId,
41
+ archivedSessionIds,
42
+ },
43
+ });
33
44
  return {
34
45
  preferredMode,
35
46
  mode,
@@ -43,6 +54,7 @@ export function useSurfaceSources({ props }) {
43
54
  expandSnapshot,
44
55
  sessionOrderSnapshot,
45
56
  sessionPresentations,
57
+ activity,
46
58
  bounds,
47
59
  collapsed,
48
60
  archivedSessionIds,
@@ -1 +1 @@
1
- {"version":3,"file":"useSurfaceSources.js","sourceRoot":"","sources":["../../../../src/client/surface/state/useSurfaceSources.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSurfaceSources.js","sourceRoot":"","sources":["../../../../src/client/surface/state/useSurfaceSources.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import type { SessionListLike, SessionPresentation } from '../session/session-view.js';
2
+ /**
3
+ * Browser-only activity window that scopes the Worktree tree.
4
+ *
5
+ * The filter is a presentation projection over native Session facts
6
+ * (`updatedAt`, running state and pending interaction). It never adds an RPC,
7
+ * never reads Git, and never writes a Sidecar field: hiding a row must not
8
+ * change what the Host or DSH considers to exist.
9
+ */
10
+ export declare const ACTIVITY_WINDOWS: readonly ["today", "last24h", "last7d", "all"];
11
+ export type ActivityWindowId = (typeof ACTIVITY_WINDOWS)[number];
12
+ /** Preserve the pre-filter tree for existing users and for a fresh profile. */
13
+ export declare const DEFAULT_ACTIVITY_WINDOW: ActivityWindowId;
14
+ export declare function isActivityWindowId(value: unknown): value is ActivityWindowId;
15
+ /** Guard persisted values before they scope a visible tree. */
16
+ export declare function effectiveActivityWindow(value: unknown): ActivityWindowId;
17
+ /** The selector shows every range until the user narrows it. */
18
+ export declare const DEFAULT_ACTIVITY_WINDOWS: readonly ActivityWindowId[];
19
+ /**
20
+ * Guard the persisted visible-range list: unknown and duplicate entries are
21
+ * dropped, the canonical selector order is restored, and an empty result falls
22
+ * back to every range so the selector can never become unreachable.
23
+ */
24
+ export declare function effectiveActivityWindows(value: unknown): readonly ActivityWindowId[];
25
+ /**
26
+ * Apply one visibility checkbox without producing an empty selector.
27
+ * Re-showing a range inserts it back into the canonical order.
28
+ */
29
+ export declare function toggleActivityWindow(current: readonly ActivityWindowId[], window: ActivityWindowId, visible: boolean): readonly ActivityWindowId[];
30
+ /**
31
+ * Pick the tab that takes over when the selected range is hidden: the next
32
+ * visible range in selector order, wrapping to the first one at the end.
33
+ */
34
+ export declare function nextActivityWindow(hidden: ActivityWindowId, visible: readonly ActivityWindowId[]): ActivityWindowId;
35
+ /** Local calendar-day start: DSH presents Session times in the local time zone. */
36
+ export declare function startOfLocalDay(now: number): number;
37
+ /** Inclusive lower bound in epoch milliseconds; `undefined` disables filtering. */
38
+ export declare function activityWindowSince(window: ActivityWindowId, now: number): number | undefined;
39
+ /** Native facts one activity decision needs. */
40
+ export interface ActivitySessionScope {
41
+ readonly sessions: Pick<SessionListLike, 'byId'>;
42
+ readonly sessionPresentations: Readonly<Record<string, SessionPresentation | undefined>>;
43
+ /** The selected Session stays visible in every window; navigation must not hide it. */
44
+ readonly currentSessionId?: string;
45
+ }
46
+ /**
47
+ * A Session is active in a window when it runs now, waits for interaction, or
48
+ * was updated inside the window. Running and pending Sessions count even with
49
+ * an old `updatedAt`, because they are active now.
50
+ */
51
+ export declare function isSessionActiveInWindow(sessionId: string, window: ActivityWindowId, now: number, scope: ActivitySessionScope): boolean;
52
+ /** Filter a group without mutating its source order. */
53
+ export declare function filterSessionIdsByActivity(sessionIds: readonly string[], window: ActivityWindowId, now: number, scope: ActivitySessionScope): readonly string[];
54
+ /** Session scope the tree and the range selector both count. */
55
+ export declare function activityCandidateSessionIds(source: Pick<SessionListLike, 'ids' | 'byId'>, archivedSessionIds: readonly string[]): readonly string[];
56
+ /** Count the Sessions a window would show; used for the range selector labels. */
57
+ export declare function countSessionsInWindow(candidateSessionIds: readonly string[], window: ActivityWindowId, now: number, scope: ActivitySessionScope): number;
58
+ /** Read face the tree components consume; produced by `useActivityFilter`. */
59
+ export interface ActivityFilterView {
60
+ readonly window: ActivityWindowId;
61
+ /** Whether a bounded window is active, i.e. rows may be hidden. */
62
+ readonly active: boolean;
63
+ readonly now: number;
64
+ readonly setWindow: (window: ActivityWindowId) => void;
65
+ /** Ranges the selector shows, in canonical order; never empty. */
66
+ readonly visibleWindows: readonly ActivityWindowId[];
67
+ readonly isWindowVisible: (window: ActivityWindowId) => boolean;
68
+ /** Show or hide one selector tab; hiding the last tab is ignored. */
69
+ readonly setWindowVisible: (window: ActivityWindowId, visible: boolean) => void;
70
+ /**
71
+ * Keep Workspaces/Worktrees with no Session in the range. Defaults to true;
72
+ * users can turn it off to scope structure to the activity range.
73
+ */
74
+ readonly showInactiveStructure: boolean;
75
+ readonly setShowInactiveStructure: (show: boolean) => void;
76
+ /** Ephemeral dropdown state for the visible-range checkboxes. */
77
+ readonly menuOpen: boolean;
78
+ readonly setMenuOpen: (open: boolean) => void;
79
+ readonly isActive: (sessionId: string) => boolean;
80
+ /** Narrow a list to the range; `all` returns the input unchanged. */
81
+ readonly scopeSessionIds: (sessionIds: readonly string[]) => readonly string[];
82
+ /** Whether any candidate Session survives this window. */
83
+ readonly hasActiveSession: (sessionIds: readonly string[]) => boolean;
84
+ readonly count: (window: ActivityWindowId) => number;
85
+ }
86
+ //# sourceMappingURL=activity-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-filter.d.ts","sourceRoot":"","sources":["../../../src/client/view/activity-filter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Browser-only activity window that scopes the Worktree tree.
3
+ *
4
+ * The filter is a presentation projection over native Session facts
5
+ * (`updatedAt`, running state and pending interaction). It never adds an RPC,
6
+ * never reads Git, and never writes a Sidecar field: hiding a row must not
7
+ * change what the Host or DSH considers to exist.
8
+ */
9
+ export const ACTIVITY_WINDOWS = ['today', 'last24h', 'last7d', 'all'];
10
+ /** Preserve the pre-filter tree for existing users and for a fresh profile. */
11
+ export const DEFAULT_ACTIVITY_WINDOW = 'all';
12
+ const DAY_MS = 86_400_000;
13
+ export function isActivityWindowId(value) {
14
+ return typeof value === 'string' && ACTIVITY_WINDOWS.includes(value);
15
+ }
16
+ /** Guard persisted values before they scope a visible tree. */
17
+ export function effectiveActivityWindow(value) {
18
+ return isActivityWindowId(value) ? value : DEFAULT_ACTIVITY_WINDOW;
19
+ }
20
+ /** The selector shows every range until the user narrows it. */
21
+ export const DEFAULT_ACTIVITY_WINDOWS = ACTIVITY_WINDOWS;
22
+ /**
23
+ * Guard the persisted visible-range list: unknown and duplicate entries are
24
+ * dropped, the canonical selector order is restored, and an empty result falls
25
+ * back to every range so the selector can never become unreachable.
26
+ */
27
+ export function effectiveActivityWindows(value) {
28
+ const values = Array.isArray(value) ? value.filter(isActivityWindowId) : [];
29
+ const selected = new Set(values);
30
+ const visible = ACTIVITY_WINDOWS.filter((window) => selected.has(window));
31
+ return visible.length > 0 ? visible : DEFAULT_ACTIVITY_WINDOWS;
32
+ }
33
+ /**
34
+ * Apply one visibility checkbox without producing an empty selector.
35
+ * Re-showing a range inserts it back into the canonical order.
36
+ */
37
+ export function toggleActivityWindow(current, window, visible) {
38
+ const enabled = new Set(current);
39
+ const wasVisible = enabled.has(window);
40
+ if (visible === wasVisible)
41
+ return current;
42
+ if (visible)
43
+ enabled.add(window);
44
+ else
45
+ enabled.delete(window);
46
+ if (enabled.size === 0)
47
+ return current;
48
+ return ACTIVITY_WINDOWS.filter((candidate) => enabled.has(candidate));
49
+ }
50
+ /**
51
+ * Pick the tab that takes over when the selected range is hidden: the next
52
+ * visible range in selector order, wrapping to the first one at the end.
53
+ */
54
+ export function nextActivityWindow(hidden, visible) {
55
+ const start = ACTIVITY_WINDOWS.indexOf(hidden);
56
+ for (let step = 1; step <= ACTIVITY_WINDOWS.length; step += 1) {
57
+ const candidate = ACTIVITY_WINDOWS[(start + step) % ACTIVITY_WINDOWS.length];
58
+ if (candidate !== undefined && visible.includes(candidate))
59
+ return candidate;
60
+ }
61
+ return visible[0] ?? DEFAULT_ACTIVITY_WINDOW;
62
+ }
63
+ /** Local calendar-day start: DSH presents Session times in the local time zone. */
64
+ export function startOfLocalDay(now) {
65
+ const date = new Date(now);
66
+ date.setHours(0, 0, 0, 0);
67
+ return date.getTime();
68
+ }
69
+ /** Inclusive lower bound in epoch milliseconds; `undefined` disables filtering. */
70
+ export function activityWindowSince(window, now) {
71
+ if (!Number.isFinite(now))
72
+ return undefined;
73
+ switch (window) {
74
+ case 'today':
75
+ return startOfLocalDay(now);
76
+ case 'last24h':
77
+ return now - DAY_MS;
78
+ case 'last7d':
79
+ return now - 7 * DAY_MS;
80
+ case 'all':
81
+ return undefined;
82
+ }
83
+ }
84
+ function lastActivityAt(sessionId, scope) {
85
+ const updatedAt = scope.sessionPresentations[sessionId]?.updatedAt ?? scope.sessions.byId[sessionId]?.updatedAt;
86
+ return updatedAt !== undefined && Number.isFinite(updatedAt) ? updatedAt : undefined;
87
+ }
88
+ /**
89
+ * A Session is active in a window when it runs now, waits for interaction, or
90
+ * was updated inside the window. Running and pending Sessions count even with
91
+ * an old `updatedAt`, because they are active now.
92
+ */
93
+ export function isSessionActiveInWindow(sessionId, window, now, scope) {
94
+ const since = activityWindowSince(window, now);
95
+ if (since === undefined)
96
+ return true;
97
+ if (scope.currentSessionId === sessionId)
98
+ return true;
99
+ const presentation = scope.sessionPresentations[sessionId];
100
+ if (presentation !== undefined && (presentation.ongoing || presentation.status.state === 'warning')) {
101
+ return true;
102
+ }
103
+ const at = lastActivityAt(sessionId, scope);
104
+ return at !== undefined && at >= since;
105
+ }
106
+ /** Filter a group without mutating its source order. */
107
+ export function filterSessionIdsByActivity(sessionIds, window, now, scope) {
108
+ if (window === 'all')
109
+ return sessionIds;
110
+ return sessionIds.filter((sessionId) => isSessionActiveInWindow(sessionId, window, now, scope));
111
+ }
112
+ /** Session scope the tree and the range selector both count. */
113
+ export function activityCandidateSessionIds(source, archivedSessionIds) {
114
+ const excluded = new Set(archivedSessionIds);
115
+ return source.ids.filter((sessionId) => !excluded.has(sessionId) && source.byId[sessionId]?.blank !== true);
116
+ }
117
+ /** Count the Sessions a window would show; used for the range selector labels. */
118
+ export function countSessionsInWindow(candidateSessionIds, window, now, scope) {
119
+ return filterSessionIdsByActivity(candidateSessionIds, window, now, scope).length;
120
+ }
121
+ //# sourceMappingURL=activity-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-filter.js","sourceRoot":"","sources":["../../../src/client/view/activity-filter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"view-mode-store.d.ts","sourceRoot":"","sources":["../../../src/client/view/view-mode-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AAExB,sFAAsF;AACtF,wBAAgB,uBAAuB,IAAI,iBAAiB,CAC1D,iBAAiB,EACjB,mBAAmB,CACpB,CAUA"}
1
+ {"version":3,"file":"view-mode-store.d.ts","sourceRoot":"","sources":["../../../src/client/view/view-mode-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAUpF,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AAExB,sFAAsF;AACtF,wBAAgB,uBAAuB,IAAI,iBAAiB,CAC1D,iBAAiB,EACjB,mBAAmB,CACpB,CAoCA"}
@@ -1,14 +1,39 @@
1
1
  import { defineStore } from '@deepseek-ai/dsh-client-store';
2
+ import { DEFAULT_ACTIVITY_WINDOW, DEFAULT_ACTIVITY_WINDOWS, effectiveActivityWindow, effectiveActivityWindows, nextActivityWindow, toggleActivityWindow, } from './activity-filter.js';
2
3
  import { WORKTREE_VIEW_MODE_STORAGE_KEY, } from './view-mode.js';
3
4
  /** Create one root-scoped, browser-local view-mode store for the two slot entries. */
4
5
  export function createWorktreeViewStore() {
5
6
  return defineStore({
6
- init: () => ({ viewMode: 'workspace-session' }),
7
+ init: () => ({
8
+ viewMode: 'workspace-session',
9
+ activityWindow: DEFAULT_ACTIVITY_WINDOW,
10
+ activityWindows: [...DEFAULT_ACTIVITY_WINDOWS],
11
+ showInactiveStructure: true,
12
+ }),
7
13
  persist: WORKTREE_VIEW_MODE_STORAGE_KEY,
8
14
  actions: {
9
15
  setViewMode: (draft, mode) => {
10
16
  draft.viewMode = mode;
11
17
  },
18
+ setActivityWindow: (draft, window) => {
19
+ // Normalize an older persisted payload that predates the visible set.
20
+ draft.activityWindows = effectiveActivityWindows(draft.activityWindows);
21
+ draft.activityWindow = window;
22
+ },
23
+ setShowInactiveStructure: (draft, show) => {
24
+ draft.showInactiveStructure = show === true;
25
+ },
26
+ setActivityWindowVisible: (draft, window, visible) => {
27
+ const current = effectiveActivityWindows(draft.activityWindows);
28
+ const next = toggleActivityWindow(current, window, visible);
29
+ if (next === current)
30
+ return;
31
+ draft.activityWindows = next;
32
+ // Hiding the selected tab hands the selection to the next visible tab.
33
+ const selected = effectiveActivityWindow(draft.activityWindow);
34
+ if (!next.includes(selected))
35
+ draft.activityWindow = nextActivityWindow(selected, next);
36
+ },
12
37
  },
13
38
  });
14
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"view-mode-store.js","sourceRoot":"","sources":["../../../src/client/view/view-mode-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA0B,MAAM,+BAA+B,CAAC;AACpF,OAAO,EACL,8BAA8B,GAG/B,MAAM,gBAAgB,CAAC;AAExB,sFAAsF;AACtF,MAAM,UAAU,uBAAuB;IAIrC,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,GAAsB,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;QAClE,OAAO,EAAE,8BAA8B;QACvC,OAAO,EAAE;YACP,WAAW,EAAE,CAAC,KAAK,EAAE,IAAmC,EAAE,EAAE;gBAC1D,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"view-mode-store.js","sourceRoot":"","sources":["../../../src/client/view/view-mode-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA0B,MAAM,+BAA+B,CAAC;AACpF,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,GAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,8BAA8B,GAG/B,MAAM,gBAAgB,CAAC;AAExB,sFAAsF;AACtF,MAAM,UAAU,uBAAuB;IAIrC,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,GAAsB,EAAE,CAAC,CAAC;YAC9B,QAAQ,EAAE,mBAAmB;YAC7B,cAAc,EAAE,uBAAuB;YACvC,eAAe,EAAE,CAAC,GAAG,wBAAwB,CAAC;YAC9C,qBAAqB,EAAE,IAAI;SAC5B,CAAC;QACF,OAAO,EAAE,8BAA8B;QACvC,OAAO,EAAE;YACP,WAAW,EAAE,CAAC,KAAK,EAAE,IAAmC,EAAE,EAAE;gBAC1D,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAwB,EAAE,EAAE;gBACrD,sEAAsE;gBACtE,KAAK,CAAC,eAAe,GAAG,wBAAwB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACxE,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC;YAChC,CAAC;YACD,wBAAwB,EAAE,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;gBACjD,KAAK,CAAC,qBAAqB,GAAG,IAAI,KAAK,IAAI,CAAC;YAC9C,CAAC;YACD,wBAAwB,EAAE,CACxB,KAAK,EACL,MAAwB,EACxB,OAAgB,EAChB,EAAE;gBACF,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAChE,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC5D,IAAI,IAAI,KAAK,OAAO;oBAAE,OAAO;gBAC7B,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC7B,uEAAuE;gBACvE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC/D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,KAAK,CAAC,cAAc,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1F,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,11 +1,25 @@
1
1
  import type { ActionsDecl } from '@deepseek-ai/dsh-client-ui-slots';
2
+ import type { ActivityWindowId } from './activity-filter.js';
2
3
  /** Peer navigation modes owned by this browser Consumer. */
3
4
  export type WorktreeViewMode = 'workspace-session' | 'worktree';
4
5
  /** Browser-local storage key; it is never sent to DSH or the sidecar. */
5
6
  export declare const WORKTREE_VIEW_MODE_STORAGE_KEY = "clutch-dsh-worktree.view-mode";
6
- /** The only durable Client preference introduced by Phase 4. */
7
+ /** Durable Client preferences: the peer mode plus its activity range. */
7
8
  export interface WorktreeViewState {
8
9
  viewMode: WorktreeViewMode;
10
+ /** Bounded activity window; guard persisted values with `effectiveActivityWindow`. */
11
+ activityWindow: ActivityWindowId;
12
+ /**
13
+ * Ranges the selector shows, in canonical order; guard persisted values with
14
+ * `effectiveActivityWindows`. The list is never empty.
15
+ */
16
+ activityWindows: readonly ActivityWindowId[];
17
+ /**
18
+ * Keep Workspaces and Worktrees whose Sessions are all outside the selected
19
+ * range. Defaults to true so structure and management actions stay visible;
20
+ * an explicit false scopes the structure to the activity range.
21
+ */
22
+ showInactiveStructure: boolean;
9
23
  }
10
24
  /** A browser-local Worktree → DSH Workspace membership projection. */
11
25
  export interface VirtualWorkspaceBinding {
@@ -15,6 +29,9 @@ export interface VirtualWorkspaceBinding {
15
29
  /** The complete mutation face for the view-mode store. */
16
30
  export type WorktreeViewActions = ActionsDecl<WorktreeViewState> & {
17
31
  setViewMode: (draft: WorktreeViewState, mode: WorktreeViewMode) => void;
32
+ setActivityWindow: (draft: WorktreeViewState, window: ActivityWindowId) => void;
33
+ setShowInactiveStructure: (draft: WorktreeViewState, show: boolean) => void;
34
+ setActivityWindowVisible: (draft: WorktreeViewState, window: ActivityWindowId, visible: boolean) => void;
18
35
  };
19
36
  /** Guard persisted values before they become a visible mode. */
20
37
  export declare function isWorktreeViewMode(value: unknown): value is WorktreeViewMode;
@@ -1 +1 @@
1
- {"version":3,"file":"view-mode.d.ts","sourceRoot":"","sources":["../../../src/client/view/view-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-mode.d.ts","sourceRoot":"","sources":["../../../src/client/view/view-mode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"view-mode.js","sourceRoot":"","sources":["../../../src/client/view/view-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-mode.js","sourceRoot":"","sources":["../../../src/client/view/view-mode.ts"],"names":[],"mappings":"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"}