@cerbur/clutch-dsh-worktree 0.1.5 → 0.1.7

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 (167) hide show
  1. package/README.md +167 -24
  2. package/README.zh.md +141 -19
  3. package/cordis.patch.yml +21 -0
  4. package/lib/client/WorktreeContext.d.ts.map +1 -1
  5. package/lib/client/WorktreeContext.js +2 -2
  6. package/lib/client/WorktreeContext.js.map +1 -1
  7. package/lib/client/WorktreeHeroContext.d.ts +1 -1
  8. package/lib/client/WorktreeHeroContext.js +1 -1
  9. package/lib/client/WorktreeSurface.d.ts +2 -2
  10. package/lib/client/WorktreeSurface.d.ts.map +1 -1
  11. package/lib/client/WorktreeSurface.js +592 -124
  12. package/lib/client/WorktreeSurface.js.map +1 -1
  13. package/lib/client/entry.d.ts.map +1 -1
  14. package/lib/client/entry.js +87 -2
  15. package/lib/client/entry.js.map +1 -1
  16. package/lib/client/index.d.ts +3 -0
  17. package/lib/client/index.d.ts.map +1 -1
  18. package/lib/client/index.js +2 -0
  19. package/lib/client/index.js.map +1 -1
  20. package/lib/client/locales.d.ts +82 -0
  21. package/lib/client/locales.d.ts.map +1 -1
  22. package/lib/client/locales.js +84 -2
  23. package/lib/client/locales.js.map +1 -1
  24. package/lib/client/session-view.d.ts +34 -0
  25. package/lib/client/session-view.d.ts.map +1 -1
  26. package/lib/client/session-view.js +119 -1
  27. package/lib/client/session-view.js.map +1 -1
  28. package/lib/client/virtual-workspace-membership.js +1 -1
  29. package/lib/client/virtual-workspace-membership.js.map +1 -1
  30. package/lib/client/worktree-connection.d.ts +6 -2
  31. package/lib/client/worktree-connection.d.ts.map +1 -1
  32. package/lib/client/worktree-connection.js +8 -0
  33. package/lib/client/worktree-connection.js.map +1 -1
  34. package/lib/client/worktree-error-copy.d.ts +2 -0
  35. package/lib/client/worktree-error-copy.d.ts.map +1 -1
  36. package/lib/client/worktree-error-copy.js +22 -0
  37. package/lib/client/worktree-error-copy.js.map +1 -1
  38. package/lib/client/worktree-expand-state.d.ts +33 -0
  39. package/lib/client/worktree-expand-state.d.ts.map +1 -0
  40. package/lib/client/worktree-expand-state.js +83 -0
  41. package/lib/client/worktree-expand-state.js.map +1 -0
  42. package/lib/client/worktree-permission-icon.d.ts +7 -0
  43. package/lib/client/worktree-permission-icon.d.ts.map +1 -0
  44. package/lib/client/worktree-permission-icon.js +119 -0
  45. package/lib/client/worktree-permission-icon.js.map +1 -0
  46. package/lib/client/worktree-permission.d.ts +21 -0
  47. package/lib/client/worktree-permission.d.ts.map +1 -0
  48. package/lib/client/worktree-permission.js +70 -0
  49. package/lib/client/worktree-permission.js.map +1 -0
  50. package/lib/client/worktree-session-fork.d.ts +65 -0
  51. package/lib/client/worktree-session-fork.d.ts.map +1 -0
  52. package/lib/client/worktree-session-fork.js +174 -0
  53. package/lib/client/worktree-session-fork.js.map +1 -0
  54. package/lib/client/worktree-session-order.d.ts +36 -0
  55. package/lib/client/worktree-session-order.d.ts.map +1 -0
  56. package/lib/client/worktree-session-order.js +215 -0
  57. package/lib/client/worktree-session-order.js.map +1 -0
  58. package/lib/client/worktree-session-position.d.ts +2 -0
  59. package/lib/client/worktree-session-position.d.ts.map +1 -0
  60. package/lib/client/worktree-session-position.js +11 -0
  61. package/lib/client/worktree-session-position.js.map +1 -0
  62. package/lib/client/worktree-session.d.ts +34 -1
  63. package/lib/client/worktree-session.d.ts.map +1 -1
  64. package/lib/client/worktree-session.js +98 -2
  65. package/lib/client/worktree-session.js.map +1 -1
  66. package/lib/client/worktree-surface-dialogs.d.ts +1 -1
  67. package/lib/client/worktree-surface-dialogs.d.ts.map +1 -1
  68. package/lib/client/worktree-surface-dialogs.js +30 -13
  69. package/lib/client/worktree-surface-dialogs.js.map +1 -1
  70. package/lib/client/worktree-surface-rows.d.ts +4 -4
  71. package/lib/client/worktree-surface-rows.d.ts.map +1 -1
  72. package/lib/client/worktree-surface-rows.js +132 -47
  73. package/lib/client/worktree-surface-rows.js.map +1 -1
  74. package/lib/client/worktree-surface-selectors.d.ts +18 -0
  75. package/lib/client/worktree-surface-selectors.d.ts.map +1 -1
  76. package/lib/client/worktree-surface-selectors.js +62 -0
  77. package/lib/client/worktree-surface-selectors.js.map +1 -1
  78. package/lib/client/worktree-surface-types.d.ts +73 -3
  79. package/lib/client/worktree-surface-types.d.ts.map +1 -1
  80. package/lib/client/worktree-view-actions.d.ts +11 -3
  81. package/lib/client/worktree-view-actions.d.ts.map +1 -1
  82. package/lib/client/worktree-view-actions.js +31 -2
  83. package/lib/client/worktree-view-actions.js.map +1 -1
  84. package/lib/client/worktree-view-errors.d.ts +10 -0
  85. package/lib/client/worktree-view-errors.d.ts.map +1 -1
  86. package/lib/client/worktree-view-errors.js +22 -1
  87. package/lib/client/worktree-view-errors.js.map +1 -1
  88. package/lib/client/worktree-view-read.d.ts +8 -0
  89. package/lib/client/worktree-view-read.d.ts.map +1 -1
  90. package/lib/client/worktree-view-read.js +19 -0
  91. package/lib/client/worktree-view-read.js.map +1 -1
  92. package/lib/client.js +2047 -264
  93. package/lib/client.js.map +1 -1
  94. package/lib/contract/index.contract.js +16 -0
  95. package/lib/contract/index.contract.js.map +1 -1
  96. package/lib/contract/index.d.ts +26 -2
  97. package/lib/contract/index.d.ts.map +1 -1
  98. package/lib/contract/index.js +8 -0
  99. package/lib/contract/index.js.map +1 -1
  100. package/lib/contract/worktree-permission.d.ts +73 -0
  101. package/lib/contract/worktree-permission.d.ts.map +1 -0
  102. package/lib/contract/worktree-permission.js +32 -0
  103. package/lib/contract/worktree-permission.js.map +1 -0
  104. package/lib/host/index.d.ts +4 -0
  105. package/lib/host/index.d.ts.map +1 -1
  106. package/lib/host/index.js +2 -0
  107. package/lib/host/index.js.map +1 -1
  108. package/lib/host/remote.d.ts +2 -2
  109. package/lib/host/remote.d.ts.map +1 -1
  110. package/lib/host/remote.js +9 -1
  111. package/lib/host/remote.js.map +1 -1
  112. package/lib/host/service.d.ts +10 -1
  113. package/lib/host/service.d.ts.map +1 -1
  114. package/lib/host/service.js +48 -2
  115. package/lib/host/service.js.map +1 -1
  116. package/lib/host/worktree-permission-manager.d.ts +14 -0
  117. package/lib/host/worktree-permission-manager.d.ts.map +1 -0
  118. package/lib/host/worktree-permission-manager.js +111 -0
  119. package/lib/host/worktree-permission-manager.js.map +1 -0
  120. package/lib/host/worktree-permission.d.ts +38 -0
  121. package/lib/host/worktree-permission.d.ts.map +1 -0
  122. package/lib/host/worktree-permission.js +156 -0
  123. package/lib/host/worktree-permission.js.map +1 -0
  124. package/lib/index.d.ts +4 -3
  125. package/lib/index.d.ts.map +1 -1
  126. package/lib/index.js +2 -1
  127. package/lib/index.js.map +1 -1
  128. package/lib/manage/manager-support.d.ts +2 -0
  129. package/lib/manage/manager-support.d.ts.map +1 -1
  130. package/lib/manage/manager-support.js +9 -0
  131. package/lib/manage/manager-support.js.map +1 -1
  132. package/lib/manage/manager-worktrees.d.ts +10 -1
  133. package/lib/manage/manager-worktrees.d.ts.map +1 -1
  134. package/lib/manage/manager-worktrees.js +121 -5
  135. package/lib/manage/manager-worktrees.js.map +1 -1
  136. package/lib/manage/manager.d.ts +8 -1
  137. package/lib/manage/manager.d.ts.map +1 -1
  138. package/lib/manage/manager.js +7 -1
  139. package/lib/manage/manager.js.map +1 -1
  140. package/lib/manage/worktree-permission.d.ts +3 -0
  141. package/lib/manage/worktree-permission.d.ts.map +1 -0
  142. package/lib/manage/worktree-permission.js +3 -0
  143. package/lib/manage/worktree-permission.js.map +1 -0
  144. package/lib/provider/git.d.ts +2 -0
  145. package/lib/provider/git.d.ts.map +1 -1
  146. package/lib/provider/git.js +23 -1
  147. package/lib/provider/git.js.map +1 -1
  148. package/lib/provider/index.d.ts +1 -1
  149. package/lib/provider/index.d.ts.map +1 -1
  150. package/lib/provider/index.js +1 -1
  151. package/lib/provider/index.js.map +1 -1
  152. package/lib/provider/sidecar-schema.d.ts +1 -1
  153. package/lib/provider/sidecar-schema.d.ts.map +1 -1
  154. package/lib/provider/sidecar-schema.js +33 -37
  155. package/lib/provider/sidecar-schema.js.map +1 -1
  156. package/lib/provider/sidecar.d.ts.map +1 -1
  157. package/lib/provider/sidecar.js +3 -1
  158. package/lib/provider/sidecar.js.map +1 -1
  159. package/lib/provider/types.d.ts +9 -1
  160. package/lib/provider/types.d.ts.map +1 -1
  161. package/lib/provider/types.js +2 -1
  162. package/lib/provider/types.js.map +1 -1
  163. package/lib/typert.host.js +214 -21
  164. package/lib/typert.remote-client.d.ts +9 -1
  165. package/lib/typert.remote-client.d.ts.map +1 -1
  166. package/lib/typert.remote-client.js +214 -21
  167. package/package.json +30 -30
@@ -55,25 +55,40 @@ export function WorktreeWorkspaceDeleteDialog({ t, target, pending, error, onClo
55
55
  void onSubmit();
56
56
  }, children: t('dialog.delete') })] })), children: error !== undefined && (_jsx("p", { className: styles.renameError, role: "alert", children: formatWorktreeViewError(error, t) })) }));
57
57
  }
58
- export function WorktreeCreateDialog({ t, workspace, view, setupStatus, canCreate, selectedBranch, newBranch, actionPending, onClose, onSelectedBranchChange, onNewBranchChange, onSubmit, }) {
58
+ export function WorktreeCreateDialog({ t, workspace, view, readError, setupStatus, canCreate, mode, importCandidates, selectedImportPath, selectedBranch, newBranch, actionPending, onClose, onRetry, onModeChange, onRetryImportCandidates, onSelectedImportPathChange, onSelectedBranchChange, onNewBranchChange, onSubmit, }) {
59
59
  if (workspace === undefined)
60
60
  return null;
61
61
  const setupCommands = setupStatus === undefined ? [] : worktreeSetupCommands(setupStatus);
62
- return (_jsx(Modal, { open: true, onClose: () => {
62
+ const importing = mode === 'import';
63
+ const importBlocked = actionPending ||
64
+ importCandidates.status === 'loading' ||
65
+ selectedImportPath === undefined;
66
+ return (_jsxs(Modal, { open: true, onClose: () => {
63
67
  if (actionPending)
64
68
  return;
65
69
  onClose();
66
- }, closeLabel: t('dialog.closeWorktreeCreate'), title: t('worktree.createTitle'), description: t('worktree.createDescription', { name: workspace.title }), footer: (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: actionPending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: actionPending ||
67
- selectedBranch.length === 0 ||
68
- newBranch.trim().length === 0, onClick: () => {
70
+ }, closeLabel: t('dialog.closeWorktreeCreate'), title: t('worktree.createTitle'), description: importing
71
+ ? t('worktree.importDescription', { name: workspace.title })
72
+ : t('worktree.createDescription', { name: workspace.title }), footer: (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: actionPending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: importing
73
+ ? importBlocked
74
+ : actionPending ||
75
+ !canCreate ||
76
+ selectedBranch.length === 0 ||
77
+ newBranch.trim().length === 0, onClick: () => {
69
78
  void onSubmit();
70
- }, children: t('worktree.create') })] })), children: canCreate ? (_jsxs(_Fragment, { children: [_jsxs("label", { className: styles.modalField, children: [t('worktree.baseBranch'), _jsx("select", { className: styles.actionSelect, "aria-label": t('worktree.baseBranch'), value: selectedBranch, disabled: actionPending, onChange: (event) => {
71
- onSelectedBranchChange(event.currentTarget.value);
72
- }, children: view?.branches.map((branch) => (_jsxs("option", { value: branch.name, children: [branch.name, branch.isCurrent ? t('branch.current') : '', branch.checkedOut ? t('branch.checkedOut') : ''] }, branch.name))) })] }), _jsxs("label", { className: styles.modalField, children: [t('worktree.name'), _jsx(Input, { className: styles.renameInput, "aria-label": t('worktree.name'), value: newBranch, placeholder: "dsh/12345678", disabled: actionPending, onChange: (event) => {
73
- onNewBranchChange(event.currentTarget.value);
74
- } })] })] })) : (_jsxs("div", { className: styles.gitReadiness, "data-worktree-readiness": setupStatus ?? 'loading', role: "alert", children: [_jsx("p", { className: styles.message, children: setupStatus === undefined
75
- ? t('status.loading')
76
- : worktreeSetupMessage(setupStatus, t) }), setupCommands.length > 0 && (_jsx("pre", { className: styles.commandBlock, "aria-label": t('worktree.setup.commands'), children: setupCommands.join('\n') }))] })) }));
79
+ }, children: importing ? t('worktree.import') : t('worktree.create') })] })), children: [_jsxs("div", { className: styles.worktreeModalTabs, role: "tablist", "aria-label": t('worktree.title'), children: [_jsx("button", { className: styles.worktreeModalTab, type: "button", role: "tab", "aria-selected": mode === 'create', disabled: actionPending, onClick: () => {
80
+ onModeChange('create');
81
+ }, children: t('worktree.tabCreate') }), _jsx("button", { className: styles.worktreeModalTab, type: "button", role: "tab", "aria-selected": mode === 'import', disabled: actionPending, onClick: () => {
82
+ onModeChange('import');
83
+ }, children: t('worktree.tabImport') })] }), importing ? (_jsxs("div", { className: styles.worktreeImportCandidates, role: "tabpanel", children: [importCandidates.status === 'loading' && importCandidates.candidates.length === 0 && (_jsx("p", { className: styles.message, children: t('worktree.importLoading') })), importCandidates.status === 'error' && (_jsxs("div", { className: styles.worktreeImportError, role: "alert", children: [_jsx("p", { className: styles.message, children: formatWorktreeViewError(importCandidates.error, t) }), _jsx(Button, { variant: "outline", disabled: actionPending, onClick: onRetryImportCandidates, children: t('action.retry') })] })), importCandidates.candidates.length === 0 && importCandidates.status === 'ready' && (_jsx("p", { className: styles.message, children: t('worktree.importEmpty') })), importCandidates.candidates.length > 0 && (_jsxs("label", { className: styles.modalField, children: [t('worktree.tabImport'), _jsxs("select", { className: styles.worktreeImportSelect, "data-worktree-import-select": true, "aria-label": t('worktree.tabImport'), value: selectedImportPath ?? '', disabled: actionPending, onChange: (event) => {
84
+ onSelectedImportPathChange(event.currentTarget.value);
85
+ }, children: [_jsx("option", { value: "", disabled: true, children: t('worktree.importPlaceholder') }), importCandidates.candidates.map((candidate) => (_jsxs("option", { value: candidate.absolutePath, children: [candidate.branch, " \u2014 ", candidate.absolutePath] }, candidate.absolutePath)))] })] }))] })) : readError !== undefined ? (_jsxs("div", { className: styles.gitReadiness, "data-worktree-readiness": "error", role: "alert", children: [_jsx("p", { className: styles.message, "data-error": "true", children: formatWorktreeViewError(readError, t) }), readError.retryable && onRetry !== undefined && (_jsx("button", { type: "button", className: styles.retryButton, disabled: actionPending, onClick: onRetry, children: t('action.retry') }))] })) : canCreate ? (_jsxs(_Fragment, { children: [_jsxs("label", { className: styles.modalField, children: [t('worktree.baseBranch'), _jsx("select", { className: styles.actionSelect, "aria-label": t('worktree.baseBranch'), value: selectedBranch, disabled: actionPending, onChange: (event) => {
86
+ onSelectedBranchChange(event.currentTarget.value);
87
+ }, children: view?.branches.map((branch) => (_jsxs("option", { value: branch.name, children: [branch.name, branch.isCurrent ? t('branch.current') : '', branch.checkedOut ? t('branch.checkedOut') : ''] }, branch.name))) })] }), _jsxs("label", { className: styles.modalField, children: [t('worktree.name'), _jsx(Input, { className: styles.renameInput, "aria-label": t('worktree.name'), value: newBranch, placeholder: "dsh/12345678", disabled: actionPending, onChange: (event) => {
88
+ onNewBranchChange(event.currentTarget.value);
89
+ } })] })] })) : (_jsxs("div", { className: styles.gitReadiness, "data-worktree-readiness": setupStatus ?? 'loading', role: "alert", children: [_jsx("p", { className: styles.message, children: setupStatus === undefined
90
+ ? t('status.loading')
91
+ : worktreeSetupMessage(setupStatus, t) }), setupCommands.length > 0 && (_jsx("pre", { className: styles.commandBlock, "aria-label": t('worktree.setup.commands'), children: setupCommands.join('\n') }))] }))] }));
77
92
  }
78
93
  export function WorktreeRemovalDialog({ t, worktree, actionPending, onClose, onSubmit, }) {
79
94
  if (worktree === undefined)
@@ -82,7 +97,9 @@ export function WorktreeRemovalDialog({ t, worktree, actionPending, onClose, onS
82
97
  if (actionPending)
83
98
  return;
84
99
  onClose();
85
- }, closeLabel: t('dialog.closeWorktreeRemove'), title: t('worktree.remove'), description: t('worktree.removeDescription', { name: worktree.branch }), footer: (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: actionPending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: actionPending, onClick: () => {
100
+ }, closeLabel: t('dialog.closeWorktreeRemove'), title: t('worktree.remove'), description: worktree.source === 'external'
101
+ ? t('worktree.removeExternalDescription', { name: worktree.branch })
102
+ : t('worktree.removeDescription', { name: worktree.branch }), footer: (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: actionPending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: actionPending, onClick: () => {
86
103
  void onSubmit();
87
104
  }, children: t('worktree.remove') })] })) }));
88
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-surface-dialogs.js","sourceRoot":"","sources":["../../src/client/worktree-surface-dialogs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree-surface-dialogs.js","sourceRoot":"","sources":["../../src/client/worktree-surface-dialogs.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import type { WorktreeGroupRowProps, WorktreeSessionGroupProps, WorktreeSessionRowProps, WorktreeWorkspaceRowProps } from './worktree-surface-types.js';
2
2
  /** Workspace row using the native DSH menu, fixed action column, and drag contract. */
3
- export declare function WorktreeWorkspaceRow({ t, workspace, expanded, actionPending, menuOpen, drag, onToggle, onCreateWorktree, onRename, onDelete, onMenuOpenChange, }: WorktreeWorkspaceRowProps): import("react").JSX.Element;
3
+ export declare function WorktreeWorkspaceRow({ t, workspace, expanded, hasOngoingSession, actionPending, menuOpen, drag, onToggle, onCreateWorktree, onRename, onDelete, onMenuOpenChange, }: WorktreeWorkspaceRowProps): import("react").JSX.Element;
4
4
  /** Shared Main/Worktree group row with parameterized icon, state, and actions. */
5
- export declare function WorktreeGroupRow({ t, kind, label, worktreeId, expanded, icon, workspaceTitle, state, stateLabel, onToggle, onCreateSession, menu, drag, }: WorktreeGroupRowProps): import("react").JSX.Element;
5
+ export declare function WorktreeGroupRow({ t, kind, label, worktreeId, expanded, hasOngoingSession, icon, workspaceTitle, state, stateLabel, onToggle, onCreateSession, menu, drag, }: WorktreeGroupRowProps): import("react").JSX.Element;
6
6
  /** Worktree-mode Session row with the same trailing options menu as native DSH rows. */
7
- export declare function WorktreeSessionRow({ t, sessionId, blank, label, drag, actionPending, onOpen, onRename, onFork, onArchive, }: WorktreeSessionRowProps): import("react").JSX.Element;
8
- export declare function WorktreeSessionGroup({ t, groupKey, sessionIds, workspaceId, expanded, actionPending, sessions, dragState, onToggleExpanded, onStartDrag, onHoverDrag, onClearDrag, onFinishDrag, onCommitDrag, onOpen, onRename, onFork, onArchive, }: WorktreeSessionGroupProps): import("react").JSX.Element;
7
+ export declare function WorktreeSessionRow({ t, sessionId, blank, current, label, drag, actionPending, onOpen, onRename, onFork, onArchive, presentation, }: WorktreeSessionRowProps): import("react").JSX.Element;
8
+ export declare function WorktreeSessionGroup({ t, groupKey, sessionIds, workspaceId, currentSessionId, expanded, actionPending, sessions, sessionPresentations, dragState, onToggleExpanded, onStartDrag, onHoverDrag, onClearDrag, onFinishDrag, onCommitDrag, onOpen, onRename, onFork, onArchive, }: WorktreeSessionGroupProps): import("react").JSX.Element;
9
9
  //# sourceMappingURL=worktree-surface-rows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-surface-rows.d.ts","sourceRoot":"","sources":["../../src/client/worktree-surface-rows.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,6BAA6B,CAAC;AAQrC,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,EACnC,CAAC,EACD,SAAS,EACT,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,gBAAgB,GACjB,EAAE,yBAAyB,+BAsH3B;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,EAC/B,CAAC,EACD,IAAI,EACJ,KAAK,EACL,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,KAAK,EACL,UAAU,EACV,QAAQ,EACR,eAAe,EACf,IAAI,EACJ,IAAI,GACL,EAAE,qBAAqB,+BA0IvB;AAED,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,EACjC,CAAC,EACD,SAAS,EACT,KAAK,EACL,KAAK,EACL,IAAI,EACJ,aAAa,EACb,MAAM,EACN,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE,uBAAuB,+BAgGzB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,CAAC,EACD,QAAQ,EACR,UAAU,EACV,WAAW,EACX,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE,yBAAyB,+BAkE3B"}
1
+ {"version":3,"file":"worktree-surface-rows.d.ts","sourceRoot":"","sources":["../../src/client/worktree-surface-rows.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,6BAA6B,CAAC;AAsHrC,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,EACnC,CAAC,EACD,SAAS,EACT,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,gBAAgB,GACjB,EAAE,yBAAyB,+BA6H3B;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,EAC/B,CAAC,EACD,IAAI,EACJ,KAAK,EACL,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,IAAI,EACJ,cAAc,EACd,KAAK,EACL,UAAU,EACV,QAAQ,EACR,eAAe,EACf,IAAI,EACJ,IAAI,GACL,EAAE,qBAAqB,+BAwKvB;AAED,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,EACjC,CAAC,EACD,SAAS,EACT,KAAK,EACL,OAAO,EACP,KAAK,EACL,IAAI,EACJ,aAAa,EACb,MAAM,EACN,QAAQ,EACR,MAAM,EACN,SAAS,EACT,YAAY,GACb,EAAE,uBAAuB,+BA8IzB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,CAAC,EACD,QAAQ,EACR,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE,yBAAyB,+BA6D3B"}
@@ -1,15 +1,79 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
- import { HoverCard, IconArchiveOutline20, IconBranchOutline16, IconChevronDownOutline14, IconChevronRightOutline14, IconEditOutline16, IconEllipsisOutline16, IconFolderClose16, IconFolderOpen16, IconPlusOutline16, IconTrashOutline16, Menu, StateDot, } from '@deepseek-ai/dsh-client-ui-primitives';
4
- import { isBlankSession } from './session-view.js';
3
+ import { HoverCard, IconArchiveOutline20, IconBranchOutline16, IconChevronDownOutline14, IconChevronRightOutline14, IconCopyOutline16, IconEditOutline16, IconEllipsisOutline16, IconFolderClose16, IconFolderOpen16, IconPlusOutline16, IconTrashOutline16, Menu, StateDot, writeClipboard, } from '@deepseek-ai/dsh-client-ui-primitives';
4
+ import { isBlankSession, relativeTime, } from './session-view.js';
5
5
  import { sessionLabel } from './worktree-surface-selectors.js';
6
6
  import styles from './worktree.css';
7
7
  function rowHalf(event) {
8
8
  const rect = event.currentTarget.getBoundingClientRect();
9
9
  return event.clientY < rect.top + rect.height / 2 ? 'before' : 'after';
10
10
  }
11
+ function sessionStatusLabel(t, status) {
12
+ switch (status.labelKey) {
13
+ case 'running':
14
+ return t('session.status.running');
15
+ case 'subagentsRunning':
16
+ return t(status.runningSubagentCount === 1
17
+ ? 'session.status.subagentsRunning.one'
18
+ : 'session.status.subagentsRunning.other', { n: status.runningSubagentCount });
19
+ case 'idle':
20
+ return t('session.status.idle');
21
+ case 'waitingApproval':
22
+ return t('session.status.waitingApproval');
23
+ case 'planReview':
24
+ return t('session.status.planReview');
25
+ case 'waitingAnswer':
26
+ return t('session.status.waitingAnswer');
27
+ case 'completed':
28
+ return t('session.status.completed');
29
+ }
30
+ }
31
+ function sessionTimeLabel(t, value) {
32
+ switch (value.unit) {
33
+ case 'now':
34
+ return t('session.time.now');
35
+ case 'minutes':
36
+ return t('session.time.minutes', { n: value.n });
37
+ case 'hours':
38
+ return t('session.time.hours', { n: value.n });
39
+ case 'days':
40
+ return t('session.time.days', { n: value.n });
41
+ case 'months':
42
+ return t('session.time.months', { n: value.n });
43
+ case 'years':
44
+ return t('session.time.years', { n: value.n });
45
+ }
46
+ }
47
+ /** Native Workspace hover-card time copy, including the trailing "ago" marker. */
48
+ function sessionHoverTimeLabel(t, value) {
49
+ const label = sessionTimeLabel(t, value);
50
+ return value.unit === 'now' ? label : t('session.time.ago', { t: label });
51
+ }
52
+ /** Native Workspace hover-card status list, including a secondary subagent status when relevant. */
53
+ function sessionHoverStatuses(presentation) {
54
+ if (presentation.runningSubagentCount === 0 ||
55
+ presentation.status.labelKey === 'subagentsRunning') {
56
+ return [presentation.status];
57
+ }
58
+ return [
59
+ presentation.status,
60
+ {
61
+ state: 'ongoing',
62
+ labelKey: 'subagentsRunning',
63
+ runningSubagentCount: presentation.runningSubagentCount,
64
+ },
65
+ ];
66
+ }
67
+ /** Native Workspace Session hover-card details, adapted to the Worktree row projection. */
68
+ function WorktreeSessionHoverContent({ label, blank, presentation, t, }) {
69
+ const statuses = presentation === undefined ? [] : sessionHoverStatuses(presentation);
70
+ const timeValue = !blank && presentation?.updatedAt !== undefined
71
+ ? relativeTime(presentation.updatedAt, Date.now())
72
+ : undefined;
73
+ return (_jsxs("div", { className: styles.sessionHoverContent, children: [_jsx("div", { className: styles.sessionHoverTitle, children: label }), !blank && timeValue !== undefined && (_jsx("div", { className: styles.sessionHoverTime, children: sessionHoverTimeLabel(t, timeValue) })), statuses.map((status) => (_jsxs("div", { className: styles.sessionHoverStatus, children: [_jsx(StateDot, { state: status.state }), _jsx("span", { children: sessionStatusLabel(t, status) })] }, `${status.labelKey}-${status.runningSubagentCount}`)))] }));
74
+ }
11
75
  /** Workspace row using the native DSH menu, fixed action column, and drag contract. */
12
- export function WorktreeWorkspaceRow({ t, workspace, expanded, actionPending, menuOpen, drag, onToggle, onCreateWorktree, onRename, onDelete, onMenuOpenChange, }) {
76
+ export function WorktreeWorkspaceRow({ t, workspace, expanded, hasOngoingSession, actionPending, menuOpen, drag, onToggle, onCreateWorktree, onRename, onDelete, onMenuOpenChange, }) {
13
77
  const workspaceMenuItems = [
14
78
  {
15
79
  id: 'rename',
@@ -25,12 +89,8 @@ export function WorktreeWorkspaceRow({ t, workspace, expanded, actionPending, me
25
89
  disabled: actionPending,
26
90
  },
27
91
  ];
28
- const markerClass = drag.marker === 'before'
29
- ? styles.dropBefore
30
- : drag.marker === 'after'
31
- ? styles.dropAfter
32
- : '';
33
- return (_jsxs("div", { className: `${styles.workspaceRow} ${markerClass}`, "data-workspace-drag": drag.active ? 'active' : undefined, "data-menu-open": menuOpen || undefined, draggable: true, onClick: () => {
92
+ const markerClass = drag.marker === 'before' ? styles.dropBefore : drag.marker === 'after' ? styles.dropAfter : '';
93
+ return (_jsxs("div", { className: `${styles.workspaceRow} ${markerClass}`, "data-workspace-drag": drag.active ? 'active' : undefined, "data-group-activity": hasOngoingSession && !expanded ? 'true' : undefined, "data-menu-open": menuOpen || undefined, draggable: true, onClick: () => {
34
94
  onToggle();
35
95
  }, onDragStart: (event) => {
36
96
  event.dataTransfer.effectAllowed = 'move';
@@ -52,7 +112,7 @@ export function WorktreeWorkspaceRow({ t, workspace, expanded, actionPending, me
52
112
  }), "aria-expanded": expanded, onClick: (event) => {
53
113
  event.stopPropagation();
54
114
  onToggle();
55
- }, children: expanded ? (_jsx(IconChevronDownOutline14, { size: 18 })) : (_jsx(IconChevronRightOutline14, { size: 18 })) }), _jsx("span", { className: styles.workspaceIcon, "aria-hidden": "true", children: expanded ? _jsx(IconFolderOpen16, {}) : _jsx(IconFolderClose16, {}) }), _jsx("span", { className: styles.workspaceTitle, children: workspace.title }), _jsxs("span", { className: `${styles.treeActionSlot} ${styles.workspaceActions}`, children: [_jsx("span", { className: styles.menuAction, children: _jsx(Menu, { open: menuOpen, onClose: () => {
115
+ }, children: expanded ? (_jsx(IconChevronDownOutline14, { size: 18 })) : (_jsx(IconChevronRightOutline14, { size: 18 })) }), _jsx("span", { className: styles.workspaceIcon, "aria-hidden": "true", children: expanded ? _jsx(IconFolderOpen16, {}) : _jsx(IconFolderClose16, {}) }), _jsx("span", { className: styles.workspaceTitle, children: workspace.title }), _jsxs("span", { className: `${styles.treeActionSlot} ${styles.workspaceActions}`, children: [_jsx("span", { className: styles.groupActivity, "data-group-activity": hasOngoingSession && !expanded ? 'true' : undefined, role: hasOngoingSession && !expanded ? 'img' : undefined, "aria-label": hasOngoingSession && !expanded ? t('session.status.running') : undefined, title: hasOngoingSession && !expanded ? t('session.status.running') : undefined, children: hasOngoingSession && !expanded && _jsx(StateDot, { state: 'ongoing' }) }), _jsx("span", { className: styles.menuAction, children: _jsx(Menu, { open: menuOpen, onClose: () => {
56
116
  onMenuOpenChange(false);
57
117
  }, items: workspaceMenuItems, onSelect: (id) => {
58
118
  onMenuOpenChange(false);
@@ -60,16 +120,16 @@ export function WorktreeWorkspaceRow({ t, workspace, expanded, actionPending, me
60
120
  onRename();
61
121
  if (id === 'delete')
62
122
  onDelete();
63
- }, portal: true, closeOnPointerLeave: true, anchor: (_jsx("button", { type: "button", className: styles.iconButton, "data-workspace-menu": true, "aria-label": t('workspace.options', { name: workspace.title }), onClick: (event) => {
123
+ }, portal: true, closeOnPointerLeave: true, anchor: _jsx("button", { type: "button", className: styles.iconButton, "data-workspace-menu": true, "aria-label": t('workspace.options', { name: workspace.title }), onClick: (event) => {
64
124
  event.stopPropagation();
65
125
  onMenuOpenChange(!menuOpen);
66
- }, children: _jsx(IconEllipsisOutline16, {}) })) }) }), _jsx("button", { type: "button", className: styles.iconButton, "data-add-worktree": true, "aria-label": t('workspace.addWorktree', { name: workspace.title }), onClick: (event) => {
126
+ }, children: _jsx(IconEllipsisOutline16, {}) }) }) }), _jsx("button", { type: "button", className: styles.iconButton, "data-add-worktree": true, "aria-label": t('workspace.addWorktree', { name: workspace.title }), onClick: (event) => {
67
127
  event.stopPropagation();
68
128
  onCreateWorktree();
69
129
  }, children: _jsx(IconPlusOutline16, {}) })] })] }));
70
130
  }
71
131
  /** Shared Main/Worktree group row with parameterized icon, state, and actions. */
72
- export function WorktreeGroupRow({ t, kind, label, worktreeId, expanded, icon, workspaceTitle, state, stateLabel, onToggle, onCreateSession, menu, drag, }) {
132
+ export function WorktreeGroupRow({ t, kind, label, worktreeId, expanded, hasOngoingSession, icon, workspaceTitle, state, stateLabel, onToggle, onCreateSession, menu, drag, }) {
73
133
  const main = kind === 'main';
74
134
  const markerClass = drag?.marker === 'before'
75
135
  ? styles.dropBefore
@@ -100,23 +160,43 @@ export function WorktreeGroupRow({ t, kind, label, worktreeId, expanded, icon, w
100
160
  drag.drop(rowHalf(event));
101
161
  },
102
162
  };
103
- const row = (_jsxs("div", { className: `${styles.worktreeRow} ${markerClass}`, "data-main-group": main ? 'true' : undefined, "data-main-expanded": main ? String(expanded) : undefined, "data-menu-open": menu?.open ? 'true' : undefined, "data-worktree-drag": drag?.active ? 'active' : undefined, ...dragProps, onClick: onToggle, children: [_jsx("button", { type: "button", className: `${styles.disclosureButton} ${styles.worktreeDisclosure}`, "aria-label": t(expanded ? 'worktree.collapse' : 'worktree.expand', { name: label }), "aria-expanded": expanded, onClick: (event) => {
163
+ const row = (_jsxs("div", { className: `${styles.worktreeRow} ${markerClass}`, "data-main-group": main ? 'true' : undefined, "data-main-expanded": main ? String(expanded) : undefined, "data-group-activity": hasOngoingSession && !expanded ? 'true' : undefined, "data-menu-open": menu?.open ? 'true' : undefined, "data-worktree-drag": drag?.active ? 'active' : undefined, ...dragProps, onClick: onToggle, children: [_jsx("button", { type: "button", className: `${styles.disclosureButton} ${styles.worktreeDisclosure}`, "aria-label": t(expanded ? 'worktree.collapse' : 'worktree.expand', { name: label }), "aria-expanded": expanded, onClick: (event) => {
104
164
  event.stopPropagation();
105
165
  onToggle();
106
- }, children: expanded ? (_jsx(IconChevronDownOutline14, { size: 18 })) : (_jsx(IconChevronRightOutline14, { size: 18 })) }), _jsx("span", { className: styles.worktreeIcon, "aria-hidden": "true", children: icon }), state !== undefined && stateLabel !== undefined && (_jsx("span", { className: styles.worktreeState, role: "img", "aria-label": stateLabel, title: stateLabel, children: _jsx(StateDot, { state: state }) })), _jsx("span", { className: styles.worktreeLabel, children: label }), _jsxs("span", { className: styles.treeActionSlot, children: [menu !== undefined && (_jsx("span", { className: styles.menuAction, children: _jsx(Menu, { open: menu.open, onClose: () => {
166
+ }, children: expanded ? (_jsx(IconChevronDownOutline14, { size: 18 })) : (_jsx(IconChevronRightOutline14, { size: 18 })) }), _jsx("span", { className: styles.worktreeIcon, "aria-hidden": "true", children: icon }), state !== undefined && stateLabel !== undefined && (_jsx("span", { className: styles.worktreeState, role: "img", "aria-label": stateLabel, title: stateLabel, children: _jsx(StateDot, { state: state }) })), _jsx("span", { className: styles.worktreeLabel, children: label }), _jsxs("span", { className: styles.treeActionSlot, children: [_jsx("span", { className: styles.groupActivity, "data-group-activity": hasOngoingSession && !expanded ? 'true' : undefined, role: hasOngoingSession && !expanded ? 'img' : undefined, "aria-label": hasOngoingSession && !expanded ? t('session.status.running') : undefined, title: hasOngoingSession && !expanded ? t('session.status.running') : undefined, children: hasOngoingSession && !expanded && _jsx(StateDot, { state: 'ongoing' }) }), menu !== undefined && (_jsx("span", { className: styles.menuAction, children: _jsx(Menu, { open: menu.open, onClose: () => {
107
167
  menu.onOpenChange(false);
108
168
  }, items: [
169
+ ...(menu.showCreate
170
+ ? [{
171
+ id: 'create',
172
+ label: t('worktree.createNew'),
173
+ icon: _jsx(IconPlusOutline16, {}),
174
+ disabled: menu.disabled || menu.onCreateWorktree === undefined,
175
+ }]
176
+ : []),
109
177
  {
110
- id: 'remove',
111
- label: t('worktree.remove'),
112
- icon: _jsx(IconTrashOutline16, {}),
113
- danger: true,
178
+ id: 'copy-path',
179
+ label: t('worktree.copyPath'),
180
+ icon: _jsx(IconCopyOutline16, {}),
114
181
  disabled: menu.disabled,
115
182
  },
183
+ ...(menu.showRemove
184
+ ? [{
185
+ id: 'remove',
186
+ label: t('worktree.remove'),
187
+ icon: _jsx(IconTrashOutline16, {}),
188
+ danger: true,
189
+ disabled: menu.disabled || menu.onRemove === undefined,
190
+ }]
191
+ : []),
116
192
  ], onSelect: (id) => {
117
193
  menu.onOpenChange(false);
118
- if (id === 'remove')
119
- menu.onRemove();
194
+ if (id === 'create' && menu.showCreate)
195
+ menu.onCreateWorktree?.();
196
+ if (id === 'copy-path')
197
+ void writeClipboard(menu.copyPath);
198
+ if (id === 'remove' && menu.showRemove)
199
+ menu.onRemove?.();
120
200
  }, portal: true, closeOnPointerLeave: true, anchor: _jsx("button", { type: "button", className: styles.iconButton, "data-worktree-menu": true, "aria-label": t('worktree.options', { name: menu.label }), onClick: (event) => {
121
201
  event.stopPropagation();
122
202
  menu.onOpenChange(!menu.open);
@@ -129,13 +209,9 @@ export function WorktreeGroupRow({ t, kind, label, worktreeId, expanded, icon, w
129
209
  return (_jsx(HoverCard, { anchor: row, content: _jsx("div", { className: styles.worktreeHoverTitle, children: label }), openDelayMs: 500, disabled: menu?.open === true }));
130
210
  }
131
211
  /** Worktree-mode Session row with the same trailing options menu as native DSH rows. */
132
- export function WorktreeSessionRow({ t, sessionId, blank, label, drag, actionPending, onOpen, onRename, onFork, onArchive, }) {
212
+ export function WorktreeSessionRow({ t, sessionId, blank, current, label, drag, actionPending, onOpen, onRename, onFork, onArchive, presentation, }) {
133
213
  const [menuOpen, setMenuOpen] = useState(false);
134
- const markerClass = drag.marker === 'before'
135
- ? styles.dropBefore
136
- : drag.marker === 'after'
137
- ? styles.dropAfter
138
- : '';
214
+ const markerClass = drag.marker === 'before' ? styles.dropBefore : drag.marker === 'after' ? styles.dropAfter : '';
139
215
  const sessionMenuItems = [
140
216
  {
141
217
  id: 'rename',
@@ -156,7 +232,17 @@ export function WorktreeSessionRow({ t, sessionId, blank, label, drag, actionPen
156
232
  disabled: onArchive === undefined || actionPending,
157
233
  },
158
234
  ];
159
- return (_jsxs("div", { className: `${styles.treeSessionRow} ${markerClass}`, "data-session-id": sessionId, "data-session-blank": blank ? 'true' : undefined, "data-session-drag": drag.active ? 'active' : undefined, "data-menu-open": menuOpen || undefined, role: "treeitem", draggable: true, onDragStart: (event) => {
235
+ const statusLabel = presentation === undefined
236
+ ? undefined
237
+ : sessionStatusLabel(t, presentation.status);
238
+ const showTrailingStatus = !blank &&
239
+ presentation !== undefined &&
240
+ (presentation.status.state !== 'done' || presentation.completed);
241
+ const timeValue = !blank && !showTrailingStatus && presentation?.updatedAt !== undefined
242
+ ? relativeTime(presentation.updatedAt, Date.now())
243
+ : undefined;
244
+ const timeLabel = timeValue === undefined ? undefined : sessionTimeLabel(t, timeValue);
245
+ const row = (_jsxs("div", { className: `${styles.treeSessionRow} ${markerClass}`, "data-session-id": sessionId, "data-session-blank": blank ? 'true' : undefined, "data-session-current": current ? 'true' : undefined, "data-session-drag": drag.active ? 'active' : undefined, "data-menu-open": menuOpen || undefined, role: "treeitem", "aria-current": current ? 'true' : undefined, draggable: true, onDragStart: (event) => {
160
246
  event.dataTransfer.effectAllowed = 'move';
161
247
  event.dataTransfer.setData('text/plain', sessionId);
162
248
  drag.start();
@@ -171,29 +257,28 @@ export function WorktreeSessionRow({ t, sessionId, blank, label, drag, actionPen
171
257
  return;
172
258
  event.preventDefault();
173
259
  drag.drop(rowHalf(event));
174
- }, children: [_jsxs("button", { type: "button", className: styles.treeSessionContent, onClick: onOpen, children: [_jsx("span", { className: styles.treeGuide, "aria-hidden": "true", children: "\u2514" }), _jsx("span", { className: styles.sessionLabel, children: label })] }), !blank && (_jsx("span", { className: styles.rowActions, children: _jsx(Menu, { open: menuOpen, onClose: () => {
175
- setMenuOpen(false);
176
- }, items: sessionMenuItems, onSelect: (id) => {
177
- setMenuOpen(false);
178
- if (id === 'rename')
179
- onRename?.(sessionId, label);
180
- if (id === 'fork')
181
- onFork?.(sessionId);
182
- if (id === 'archive')
183
- onArchive?.(sessionId);
184
- }, portal: true, closeOnPointerLeave: true, anchor: (_jsx("button", { type: "button", className: styles.iconButton, "data-session-menu": true, "aria-label": t('session.options', { name: label }), onClick: (event) => {
185
- event.stopPropagation();
186
- setMenuOpen((current) => !current);
187
- }, children: _jsx(IconEllipsisOutline16, {}) })) }) }))] }));
260
+ }, children: [_jsx("button", { type: "button", className: styles.treeSessionContent, onClick: onOpen, children: _jsx("span", { className: styles.sessionLabel, children: label }) }), !blank && (_jsxs("span", { className: styles.sessionTrailing, children: [_jsx("span", { className: styles.sessionMeta, children: showTrailingStatus && presentation !== undefined ? (_jsx("span", { className: styles.sessionStatus, "data-session-status": statusLabel, role: "img", "aria-label": statusLabel, title: statusLabel, children: _jsx(StateDot, { state: presentation.status.state }) })) : timeLabel !== undefined ? (_jsx("span", { className: styles.sessionTime, "data-session-time": true, children: timeLabel })) : null }), _jsx("span", { className: styles.rowActions, children: _jsx(Menu, { open: menuOpen, onClose: () => {
261
+ setMenuOpen(false);
262
+ }, items: sessionMenuItems, onSelect: (id) => {
263
+ setMenuOpen(false);
264
+ if (id === 'rename')
265
+ onRename?.(sessionId, label);
266
+ if (id === 'fork')
267
+ onFork?.(sessionId);
268
+ if (id === 'archive')
269
+ onArchive?.(sessionId);
270
+ }, portal: true, closeOnPointerLeave: true, anchor: _jsx("button", { type: "button", className: styles.iconButton, "data-session-menu": true, "aria-label": t('session.options', { name: label }), onClick: (event) => {
271
+ event.stopPropagation();
272
+ setMenuOpen((current) => !current);
273
+ }, children: _jsx(IconEllipsisOutline16, {}) }) }) })] }))] }));
274
+ return (_jsx(HoverCard, { anchor: row, content: (_jsx(WorktreeSessionHoverContent, { label: label, blank: blank, presentation: presentation, t: t })), openDelayMs: 500, disabled: menuOpen || drag.active, copyText: blank ? undefined : label, copyLabel: t('copy'), copiedLabel: t('hover.copied') }));
188
275
  }
189
- export function WorktreeSessionGroup({ t, groupKey, sessionIds, workspaceId, expanded, actionPending, sessions, dragState, onToggleExpanded, onStartDrag, onHoverDrag, onClearDrag, onFinishDrag, onCommitDrag, onOpen, onRename, onFork, onArchive, }) {
276
+ export function WorktreeSessionGroup({ t, groupKey, sessionIds, workspaceId, currentSessionId, expanded, actionPending, sessions, sessionPresentations, dragState, onToggleExpanded, onStartDrag, onHoverDrag, onClearDrag, onFinishDrag, onCommitDrag, onOpen, onRename, onFork, onArchive, }) {
190
277
  const visibleSessionIds = expanded ? sessionIds : sessionIds.slice(0, 5);
191
278
  const sameGroupDrag = dragState?.groupKey === groupKey;
192
- return (_jsxs(_Fragment, { children: [visibleSessionIds.map((sessionId) => (_jsx(WorktreeSessionRow, { t: t, sessionId: sessionId, blank: isBlankSession(sessionId, sessions), label: sessionLabel(sessionId, sessions, t), drag: {
279
+ return (_jsxs(_Fragment, { children: [visibleSessionIds.map((sessionId) => (_jsx(WorktreeSessionRow, { t: t, sessionId: sessionId, blank: isBlankSession(sessionId, sessions), current: sessionId === currentSessionId, label: sessionLabel(sessionId, sessions, t), presentation: sessionPresentations[sessionId], drag: {
193
280
  active: sameGroupDrag,
194
- marker: sameGroupDrag && dragState.over?.sessionId === sessionId
195
- ? dragState.over.half
196
- : null,
281
+ marker: sameGroupDrag && dragState.over?.sessionId === sessionId ? dragState.over.half : null,
197
282
  start: () => {
198
283
  onStartDrag(groupKey, sessionId);
199
284
  },
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-surface-rows.js","sourceRoot":"","sources":["../../src/client/worktree-surface-rows.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree-surface-rows.js","sourceRoot":"","sources":["../../src/client/worktree-surface-rows.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,24 @@ import type { WorktreeWorkspaceView } from './worktree-view.js';
4
4
  import type { WorktreeTranslate, WorkspaceLike } from './worktree-surface-types.js';
5
5
  export declare function sessionLabel(sessionId: string, sessions: SessionListLike, t: WorktreeTranslate): string;
6
6
  export declare function bindingIdsFor(bindings: readonly SessionBinding[], worktreeId: string): readonly string[];
7
+ export declare function clearSessionGroupExpansion(current: Readonly<Record<string, boolean>>, groupKeys: readonly string[]): Record<string, boolean>;
8
+ export declare function isCompleteWorktreeWorkspaceSnapshot(workspaceIds: readonly string[], views: readonly WorktreeWorkspaceView[]): boolean;
7
9
  export declare function includesText(value: string, query: string): boolean;
8
10
  export declare function workspaceMatches(workspace: WorkspaceLike, view: WorktreeWorkspaceView | undefined, sessions: SessionListLike, query: string): boolean;
11
+ export type CurrentSessionLocation = {
12
+ readonly sessionId: string;
13
+ readonly workspaceId: string;
14
+ readonly groupKey: string;
15
+ readonly kind: 'main';
16
+ } | {
17
+ readonly sessionId: string;
18
+ readonly workspaceId: string;
19
+ readonly groupKey: string;
20
+ readonly kind: 'worktree';
21
+ readonly worktreeId: string;
22
+ };
23
+ export declare function resolveCurrentSessionLocation(currentSessionId: string | undefined, workspaces: readonly Pick<WorkspaceLike, 'workspaceId' | 'sessionIds'>[], views: readonly WorktreeWorkspaceView[]): CurrentSessionLocation | undefined;
24
+ export declare function currentSessionRevealKeys(location: CurrentSessionLocation | undefined): readonly string[];
25
+ export declare function shouldRevealCurrentSessionGroup(sessionIds: readonly string[], currentSessionId: string | undefined): boolean;
26
+ export declare function isSessionGroupAutoExpanded(sessionIds: readonly string[], currentSessionId: string | undefined, currentSessionRevealActive: boolean): boolean;
9
27
  //# sourceMappingURL=worktree-surface-selectors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-surface-selectors.d.ts","sourceRoot":"","sources":["../../src/client/worktree-surface-selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACd,MAAM,6BAA6B,CAAC;AAErC,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,EACzB,CAAC,EAAE,iBAAiB,GACnB,MAAM,CAER;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,SAAS,cAAc,EAAE,EACnC,UAAU,EAAE,MAAM,GACjB,SAAS,MAAM,EAAE,CAInB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,aAAa,EACxB,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,GACZ,OAAO,CAoBT"}
1
+ {"version":3,"file":"worktree-surface-selectors.d.ts","sourceRoot":"","sources":["../../src/client/worktree-surface-selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACd,MAAM,6BAA6B,CAAC;AAErC,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,EACzB,CAAC,EAAE,iBAAiB,GACnB,MAAM,CAER;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,SAAS,cAAc,EAAE,EACnC,UAAU,EAAE,MAAM,GACjB,SAAS,MAAM,EAAE,CAInB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC1C,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIzB;AAED,wBAAgB,mCAAmC,CACjD,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,KAAK,EAAE,SAAS,qBAAqB,EAAE,GACtC,OAAO,CAKT;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,aAAa,EACxB,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,GACZ,OAAO,CAoBT;AAED,MAAM,MAAM,sBAAsB,GAC9B;IACE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GACD;IACE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEN,wBAAgB,6BAA6B,CAC3C,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,UAAU,EAAE,SAAS,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,YAAY,CAAC,EAAE,EACxE,KAAK,EAAE,SAAS,qBAAqB,EAAE,GACtC,sBAAsB,GAAG,SAAS,CA+BpC;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,sBAAsB,GAAG,SAAS,GAC3C,SAAS,MAAM,EAAE,CASnB;AAED,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,OAAO,CAGT;AAED,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,0BAA0B,EAAE,OAAO,GAClC,OAAO,CAET"}
@@ -7,6 +7,19 @@ export function bindingIdsFor(bindings, worktreeId) {
7
7
  .filter((binding) => binding.worktreeId === worktreeId)
8
8
  .map((binding) => binding.sessionId);
9
9
  }
10
+ export function clearSessionGroupExpansion(current, groupKeys) {
11
+ const next = { ...current };
12
+ for (const key of groupKeys)
13
+ delete next[key];
14
+ return next;
15
+ }
16
+ export function isCompleteWorktreeWorkspaceSnapshot(workspaceIds, views) {
17
+ if (views.length !== workspaceIds.length)
18
+ return false;
19
+ const expected = new Set(workspaceIds);
20
+ const actual = new Set(views.map((view) => view.workspaceId));
21
+ return actual.size === expected.size && [...expected].every((id) => actual.has(id));
22
+ }
10
23
  export function includesText(value, query) {
11
24
  return value.toLocaleLowerCase().includes(query);
12
25
  }
@@ -25,4 +38,53 @@ export function workspaceMatches(workspace, view, sessions, query) {
25
38
  }
26
39
  return view.bindings.some((binding) => sessionMatchesQuery(binding.sessionId, sessions, query));
27
40
  }
41
+ export function resolveCurrentSessionLocation(currentSessionId, workspaces, views) {
42
+ if (currentSessionId === undefined)
43
+ return undefined;
44
+ const workspace = workspaces.find((candidate) => candidate.sessionIds.includes(currentSessionId));
45
+ if (workspace === undefined)
46
+ return undefined;
47
+ const view = views.find((candidate) => candidate.workspaceId === workspace.workspaceId);
48
+ if (view === undefined)
49
+ return undefined;
50
+ const binding = view.bindings.find((candidate) => candidate.sessionId === currentSessionId);
51
+ if (binding === undefined) {
52
+ return {
53
+ sessionId: currentSessionId,
54
+ workspaceId: workspace.workspaceId,
55
+ groupKey: 'main:' + workspace.workspaceId,
56
+ kind: 'main',
57
+ };
58
+ }
59
+ const worktree = view.worktrees.find((candidate) => candidate.worktreeId === binding.worktreeId &&
60
+ candidate.workspaceId === workspace.workspaceId);
61
+ if (worktree === undefined)
62
+ return undefined;
63
+ return {
64
+ sessionId: currentSessionId,
65
+ workspaceId: workspace.workspaceId,
66
+ groupKey: 'worktree:' + worktree.worktreeId,
67
+ kind: 'worktree',
68
+ worktreeId: worktree.worktreeId,
69
+ };
70
+ }
71
+ export function currentSessionRevealKeys(location) {
72
+ if (location === undefined)
73
+ return [];
74
+ return [
75
+ 'workspace:' + location.workspaceId,
76
+ location.kind === 'main'
77
+ ? 'main:' + location.workspaceId
78
+ : 'worktree:' + location.worktreeId,
79
+ 'session-group:' + location.groupKey,
80
+ ];
81
+ }
82
+ export function shouldRevealCurrentSessionGroup(sessionIds, currentSessionId) {
83
+ if (currentSessionId === undefined || sessionIds.length <= 5)
84
+ return false;
85
+ return sessionIds.indexOf(currentSessionId) >= 5;
86
+ }
87
+ export function isSessionGroupAutoExpanded(sessionIds, currentSessionId, currentSessionRevealActive) {
88
+ return currentSessionRevealActive && shouldRevealCurrentSessionGroup(sessionIds, currentSessionId);
89
+ }
28
90
  //# sourceMappingURL=worktree-surface-selectors.js.map