@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
@@ -29,12 +29,22 @@ export const zh = {
29
29
  'worktree.expand': '展开 {name}',
30
30
  'worktree.collapse': '收起 {name}',
31
31
  'worktree.options': 'Worktree 选项:{name}',
32
+ 'worktree.copyPath': '复制路径',
33
+ 'worktree.createNew': '创建新的 Worktree',
32
34
  'worktree.remove': '移除 Worktree',
33
35
  'worktree.removeDescription': '移除“{name}”?Session 会保留在 DSH 中,并作为已分离关系继续可用。',
36
+ 'worktree.removeExternalDescription': '移除“{name}”?这会删除关联的外部 Worktree 目录。Session 会保留在 DSH 中,并作为已分离关系继续可用。',
34
37
  'worktree.addSession': '向 {name} 添加会话',
35
38
  'worktree.noWorktrees': '暂无 Worktree',
36
39
  'worktree.createTitle': '新建 Worktree',
37
40
  'worktree.createDescription': '“{name}” · Worktree 路径由 DSH 管理。',
41
+ 'worktree.tabCreate': '创建',
42
+ 'worktree.tabImport': '导入',
43
+ 'worktree.importDescription': '向“{name}”注册已有的 Worktree。注册不会移动目录;之后移除会删除关联的 Worktree 目录。',
44
+ 'worktree.importLoading': '正在查找可导入的 Worktree…',
45
+ 'worktree.importEmpty': '没有可导入的 Worktree。',
46
+ 'worktree.importPlaceholder': '请选择要导入的 Worktree',
47
+ 'worktree.importSelected': '已选择',
38
48
  'worktree.baseBranch': 'Worktree 基线分支',
39
49
  'worktree.noLocalBranch': '没有本地分支',
40
50
  'worktree.noBranches': '此工作区中没有找到本地分支。',
@@ -45,6 +55,7 @@ export const zh = {
45
55
  'worktree.setup.commands': '可复制的命令',
46
56
  'worktree.name': 'Worktree 名称',
47
57
  'worktree.create': '创建 Worktree',
58
+ 'worktree.import': '导入 Worktree',
48
59
  'session.options': '会话选项:{name}',
49
60
  'session.new': '新会话',
50
61
  'session.rename': '重命名会话',
@@ -53,6 +64,23 @@ export const zh = {
53
64
  'session.expandMore': '展开其余 {count} 个会话',
54
65
  'session.collapse': '收起',
55
66
  'session.name': '会话名称',
67
+ 'session.status.running': '进行中',
68
+ 'session.status.subagentsRunning.one': '{n} 个子代理运行中',
69
+ 'session.status.subagentsRunning.other': '{n} 个子代理运行中',
70
+ 'session.status.idle': '空闲',
71
+ 'session.status.waitingApproval': '等待审批',
72
+ 'session.status.planReview': '计划待审',
73
+ 'session.status.waitingAnswer': '等待回答',
74
+ 'session.status.completed': '已完成',
75
+ copy: '复制',
76
+ 'hover.copied': '已复制',
77
+ 'session.time.now': '刚刚',
78
+ 'session.time.minutes': '{n}分钟',
79
+ 'session.time.hours': '{n}小时',
80
+ 'session.time.days': '{n}天',
81
+ 'session.time.months': '{n}个月',
82
+ 'session.time.years': '{n}年',
83
+ 'session.time.ago': '{t}前',
56
84
  'dialog.close': '关闭',
57
85
  'dialog.closeWorkspaceRename': '关闭重命名工作区对话框',
58
86
  'dialog.closeWorkspaceDelete': '关闭删除工作区对话框',
@@ -64,6 +92,14 @@ export const zh = {
64
92
  'action.retry': '重试',
65
93
  'action.retryBinding': '重试绑定',
66
94
  'action.openCreatedSession': '打开已创建的 Session',
95
+ 'permission.fallbackWorkspaceWrite': '无法使用 Worktree 完全访问预设,已降级为 workspace-write;保留审批提示。',
96
+ 'permission.userRestricted': '已保留你在 DSH 原生权限界面选择的限制,未自动提升此 Worktree Session。',
97
+ 'permission.unverified': '无法验证 Worktree Session 的权限服务;Session 已保留,但完全访问未得到确认。',
98
+ 'permission.unavailable': 'Worktree Session 权限状态暂时不可用,请重试。',
99
+ 'permission.fullAccessTitle': '确认启用 Worktree Full access?',
100
+ 'permission.fullAccessDescription': '启用 Worktree Full access 后,此 Session 可能访问 Session 目录之外的关联 Git 元数据和 Worktree 文件。完全访问会关闭此 Session 的文件系统沙箱,但会保留审批提示;网络和进程策略不变。目标 Worktree:{cwd}',
101
+ 'permission.fullAccessAcknowledge': '我已了解风险,并愿意继续',
102
+ 'permission.fullAccessEnable': '启用 Worktree Full access',
67
103
  'status.loading': '正在加载工作区…',
68
104
  'error.worktreeDataUnavailable': 'Worktree 数据不可用,请重试。',
69
105
  'error.gitNotInstalled': 'Git 未安装或不可用,请安装 Git 后重试。',
@@ -75,12 +111,17 @@ export const zh = {
75
111
  'error.worktreeOrderingUnavailable': 'Worktree 排序不可用,请重新连接后重试。',
76
112
  'error.worktreeCreatedSessionUnavailable': 'Worktree 已创建,但 Session 创建不可用,请重新连接后重试。',
77
113
  'error.sessionCreationUnavailable': 'Session 创建不可用,请重新连接后重试。',
78
- 'error.worktreeRecordMissing': 'Worktree 创建未返回 Worktree 记录,请重试请求。',
114
+ 'error.worktreeRecordMissing': 'Worktree 注册未返回 Worktree 记录,请重试请求。',
115
+ 'error.worktreeImportInvalid': '这个 Worktree 无法导入,请选择同一 Workspace 中有效的绝对路径。',
116
+ 'error.worktreeAlreadyManaged': '这个 Worktree 已由插件管理。',
117
+ 'error.worktreeRegistrationSessionUnavailable': 'Worktree 已注册,但 Session 创建不可用,请重新连接后重试。',
79
118
  'error.workspaceRenameUnavailable': '工作区重命名不可用,请重新连接后重试。',
80
119
  'error.workspaceDeleteUnavailable': '工作区删除不可用,请重新连接后重试。',
81
120
  'error.sessionRenameUnavailable': '会话重命名不可用,请重新连接后重试。',
82
121
  'error.sessionBindingFailed': 'Session {sessionId} 已创建,但 Worktree 绑定失败:{reason}',
83
122
  'error.sessionAlreadyBound': 'Session 已绑定到其他 Worktree,未创建新的 Session。',
123
+ 'error.worktreePermissionConfirmationRequired': 'Session 和绑定已保留;确认完全访问后重试,未打开 Session。',
124
+ 'error.worktreePermissionFailed': 'Worktree Session 权限设置失败,可重试:{reason}',
84
125
  'error.sessionListNotReady': 'Session 列表尚未就绪,请重试。',
85
126
  'error.sessionFactsIncomplete': 'Session 信息尚未完整,请重试。',
86
127
  'error.worktreeSessionRepairRequired': '当前 Worktree 的 Session 绑定需要修复,请重试。',
@@ -119,12 +160,22 @@ export const en = {
119
160
  'worktree.expand': 'Expand {name}',
120
161
  'worktree.collapse': 'Collapse {name}',
121
162
  'worktree.options': 'Worktree options for {name}',
163
+ 'worktree.copyPath': 'Copy path',
164
+ 'worktree.createNew': 'Create new Worktree',
122
165
  'worktree.remove': 'Remove Worktree',
123
166
  'worktree.removeDescription': 'Remove {name}? Sessions stay in DSH and remain available as detached bindings.',
167
+ 'worktree.removeExternalDescription': 'Remove {name}? This deletes the linked external Worktree directory. Sessions stay in DSH and remain available as detached bindings.',
124
168
  'worktree.addSession': 'Add Session to {name}',
125
169
  'worktree.noWorktrees': 'No Worktrees',
126
170
  'worktree.createTitle': 'New Worktree',
127
171
  'worktree.createDescription': '{name} · the Worktree path is managed by DSH.',
172
+ 'worktree.tabCreate': 'Create',
173
+ 'worktree.tabImport': 'Import',
174
+ 'worktree.importDescription': 'Register an existing Worktree for {name}. Registration leaves the directory in place; removing it later deletes the linked Worktree directory.',
175
+ 'worktree.importLoading': 'Finding importable Worktrees…',
176
+ 'worktree.importEmpty': 'No importable Worktrees found.',
177
+ 'worktree.importPlaceholder': 'Select a Worktree to import',
178
+ 'worktree.importSelected': 'Selected',
128
179
  'worktree.baseBranch': 'Worktree base branch',
129
180
  'worktree.noLocalBranch': 'No local branch',
130
181
  'worktree.noBranches': 'No local branches found in this Workspace.',
@@ -135,6 +186,7 @@ export const en = {
135
186
  'worktree.setup.commands': 'Copyable commands',
136
187
  'worktree.name': 'Worktree name',
137
188
  'worktree.create': 'Create Worktree',
189
+ 'worktree.import': 'Import Worktree',
138
190
  'session.options': 'Session options for {name}',
139
191
  'session.new': 'New Session',
140
192
  'session.rename': 'Rename session',
@@ -143,6 +195,23 @@ export const en = {
143
195
  'session.expandMore': 'Expand {count} more',
144
196
  'session.collapse': 'Collapse',
145
197
  'session.name': 'Session name',
198
+ 'session.status.running': 'Running',
199
+ 'session.status.subagentsRunning.one': '{n} subagent running',
200
+ 'session.status.subagentsRunning.other': '{n} subagents running',
201
+ 'session.status.idle': 'Idle',
202
+ 'session.status.waitingApproval': 'Waiting for approval',
203
+ 'session.status.planReview': 'Plan awaiting review',
204
+ 'session.status.waitingAnswer': 'Waiting for answer',
205
+ 'session.status.completed': 'Completed',
206
+ copy: 'Copy',
207
+ 'hover.copied': 'Copied',
208
+ 'session.time.now': 'now',
209
+ 'session.time.minutes': '{n}min',
210
+ 'session.time.hours': '{n}h',
211
+ 'session.time.days': '{n}d',
212
+ 'session.time.months': '{n}mo',
213
+ 'session.time.years': '{n}y',
214
+ 'session.time.ago': '{t} ago',
146
215
  'dialog.close': 'Close',
147
216
  'dialog.closeWorkspaceRename': 'Close Rename Workspace dialog',
148
217
  'dialog.closeWorkspaceDelete': 'Close Delete Workspace dialog',
@@ -154,6 +223,14 @@ export const en = {
154
223
  'action.retry': 'Retry',
155
224
  'action.retryBinding': 'Retry Binding',
156
225
  'action.openCreatedSession': 'Open Created Session',
226
+ 'permission.fallbackWorkspaceWrite': 'The Worktree Full Access preset is unavailable; fell back to workspace-write with approval prompts enabled.',
227
+ 'permission.userRestricted': 'The restriction selected in DSH’s native permission UI was preserved; this Worktree Session was not elevated.',
228
+ 'permission.unverified': 'The Worktree Session permission service could not be verified; the Session was retained, but Full Access is not confirmed.',
229
+ 'permission.unavailable': 'The Worktree Session permission state is temporarily unavailable; retry the request.',
230
+ 'permission.fullAccessTitle': 'Enable Worktree Full access?',
231
+ 'permission.fullAccessDescription': 'Worktree Full access lets this Session access linked Git metadata and Worktree files outside the Session directory. It disables filesystem confinement for this Session while keeping approval prompts enabled; network and process policy are unchanged. Target Worktree: {cwd}',
232
+ 'permission.fullAccessAcknowledge': 'I understand the risks and want to continue',
233
+ 'permission.fullAccessEnable': 'Enable Worktree Full access',
157
234
  'status.loading': 'Loading Workspaces…',
158
235
  'error.worktreeDataUnavailable': 'Worktree data is unavailable. Retry the request.',
159
236
  'error.gitNotInstalled': 'Git is not installed or unavailable. Install Git and retry.',
@@ -165,12 +242,17 @@ export const en = {
165
242
  'error.worktreeOrderingUnavailable': 'Worktree ordering is unavailable; retry after reconnecting.',
166
243
  'error.worktreeCreatedSessionUnavailable': 'Worktree created, but Session creation is unavailable; retry after reconnecting.',
167
244
  'error.sessionCreationUnavailable': 'Session creation is unavailable; retry after reconnecting.',
168
- 'error.worktreeRecordMissing': 'Worktree creation returned no Worktree record; retry the request.',
245
+ 'error.worktreeRecordMissing': 'Worktree registration returned no Worktree record; retry the request.',
246
+ 'error.worktreeImportInvalid': 'This Worktree cannot be imported. Choose a valid absolute path in this Workspace.',
247
+ 'error.worktreeAlreadyManaged': 'This Worktree is already managed by the plugin.',
248
+ 'error.worktreeRegistrationSessionUnavailable': 'The Worktree was registered, but Session creation is unavailable; retry after reconnecting.',
169
249
  'error.workspaceRenameUnavailable': 'Workspace rename is unavailable; retry after reconnecting.',
170
250
  'error.workspaceDeleteUnavailable': 'Workspace delete is unavailable; retry after reconnecting.',
171
251
  'error.sessionRenameUnavailable': 'Session rename is unavailable; retry after reconnecting.',
172
252
  'error.sessionBindingFailed': 'Session {sessionId} was created, but Worktree binding failed: {reason}',
173
253
  'error.sessionAlreadyBound': 'The Session is already bound to another Worktree; no new Session was created.',
254
+ 'error.worktreePermissionConfirmationRequired': 'The Session and binding were retained; confirm Full Access and retry. The Session was not opened.',
255
+ 'error.worktreePermissionFailed': 'Worktree Session permission setup failed; retryable error: {reason}',
174
256
  'error.sessionListNotReady': 'The Session list is not ready yet; retry the request.',
175
257
  'error.sessionFactsIncomplete': 'Session facts are incomplete; retry the request.',
176
258
  'error.worktreeSessionRepairRequired': 'The current Worktree Session binding needs repair; retry the request.',
@@ -1 +1 @@
1
- {"version":3,"file":"locales.js","sourceRoot":"","sources":["../../src/client/locales.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locales.js","sourceRoot":"","sources":["../../src/client/locales.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,32 @@ export interface SessionSummaryLike {
3
3
  /** Native DSH's empty-log bit. Missing is treated as non-blank. */
4
4
  readonly blank?: boolean;
5
5
  readonly displayTitle?: string;
6
+ readonly running?: boolean;
7
+ readonly pendingInteraction?: PendingInteractionStatus;
8
+ readonly completed?: boolean;
9
+ readonly parentId?: string;
10
+ readonly origin?: 'subagent' | string;
11
+ readonly updatedAt?: number;
12
+ }
13
+ export type PendingInteractionStatus = 'approval' | 'plan-review' | 'question';
14
+ export type SessionStatusState = 'warning' | 'ongoing' | 'done';
15
+ export type SessionStatusLabelKey = 'running' | 'subagentsRunning' | 'idle' | 'waitingApproval' | 'planReview' | 'waitingAnswer' | 'completed';
16
+ export interface SessionStatusPresentation {
17
+ readonly state: SessionStatusState;
18
+ readonly labelKey: SessionStatusLabelKey;
19
+ readonly runningSubagentCount: number;
20
+ }
21
+ export interface RelativeTime {
22
+ readonly unit: 'now' | 'minutes' | 'hours' | 'days' | 'months' | 'years';
23
+ readonly n: number;
24
+ }
25
+ export interface SessionPresentation {
26
+ readonly status: SessionStatusPresentation;
27
+ readonly running: boolean;
28
+ readonly ongoing: boolean;
29
+ readonly runningSubagentCount: number;
30
+ readonly completed: boolean;
31
+ readonly updatedAt?: number;
6
32
  }
7
33
  /** The subset of the DSH Session list consumed by this browser Consumer. */
8
34
  export interface SessionListLike {
@@ -10,6 +36,14 @@ export interface SessionListLike {
10
36
  readonly current?: string;
11
37
  readonly byId: Record<string, SessionSummaryLike>;
12
38
  }
39
+ /** Native Workspace relative-time buckets, kept pure for deterministic rendering/tests. */
40
+ export declare function relativeTime(updatedAt: number | undefined, now: number): RelativeTime | undefined;
41
+ /** Match native Workspace status priority while retaining the aggregate subagent count. */
42
+ export declare function sessionStatus(session: Pick<SessionSummaryLike, 'pendingInteraction' | 'running' | 'completed'>, runningSubagentCount: number): SessionStatusPresentation;
43
+ /** Derive row and group activity facts from one retained DSH Session snapshot. */
44
+ export declare function deriveSessionPresentationIndex(sessions: Pick<SessionListLike, 'byId'>): Readonly<Record<string, SessionPresentation>>;
45
+ /** Aggregate only live ongoing activity; callers decide which IDs are in the group. */
46
+ export declare function hasOngoingSession(sessionIds: readonly string[], presentations: Readonly<Record<string, Pick<SessionPresentation, 'ongoing'> | undefined>>): boolean;
13
47
  /** Read the native blank flag without inferring blankness from title or id. */
14
48
  export declare function isBlankSession(sessionId: string, sessions: Pick<SessionListLike, 'byId'>): boolean;
15
49
  /** Filter a group without mutating its source order. */
@@ -1 +1 @@
1
- {"version":3,"file":"session-view.d.ts","sourceRoot":"","sources":["../../src/client/session-view.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CACnD;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GACtC,OAAO,CAET;AAUD,wDAAwD;AACxD,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC,GAClD,SAAS,MAAM,EAAE,CAEnB;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,EACvC,UAAU,EAAE,MAAM,GACjB,MAAM,CAGR;AAED,6EAA6E;AAC7E,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,EACvC,eAAe,EAAE,MAAM,GACtB,OAAO,CAKT"}
1
+ {"version":3,"file":"session-view.d.ts","sourceRoot":"","sources":["../../src/client/session-view.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,121 @@
1
+ function isPendingInteractionStatus(value) {
2
+ return value === 'approval' || value === 'plan-review' || value === 'question';
3
+ }
4
+ function validUpdatedAt(value) {
5
+ return value !== undefined && Number.isFinite(value);
6
+ }
7
+ /**
8
+ * Native-compatible subagent lineage index. The upstream runtime's public client
9
+ * entry is a browser module-loader bundle, so keeping this pure mirror local lets
10
+ * the browser Consumer and its Node tests share the same status semantics.
11
+ */
12
+ function indexSubagentDescendants(summaries) {
13
+ const indexed = new Map();
14
+ for (const descendant of Object.values(summaries)) {
15
+ if (descendant.origin !== 'subagent')
16
+ continue;
17
+ const seen = new Set();
18
+ let current = descendant;
19
+ while (current?.origin === 'subagent' &&
20
+ current.parentId !== undefined &&
21
+ !seen.has(current.id)) {
22
+ seen.add(current.id);
23
+ const aggregate = indexed.get(current.parentId);
24
+ if (aggregate === undefined) {
25
+ indexed.set(current.parentId, {
26
+ count: 1,
27
+ runningCount: descendant.running ? 1 : 0,
28
+ });
29
+ }
30
+ else {
31
+ aggregate.count += 1;
32
+ if (descendant.running)
33
+ aggregate.runningCount += 1;
34
+ }
35
+ current = summaries[current.parentId];
36
+ }
37
+ }
38
+ return indexed;
39
+ }
40
+ /** Native Workspace relative-time buckets, kept pure for deterministic rendering/tests. */
41
+ export function relativeTime(updatedAt, now) {
42
+ if (!validUpdatedAt(updatedAt) || !Number.isFinite(now))
43
+ return undefined;
44
+ const MIN = 60_000;
45
+ const HOUR = 3_600_000;
46
+ const DAY = 86_400_000;
47
+ const diff = Math.max(0, now - updatedAt);
48
+ if (diff < MIN)
49
+ return { unit: 'now', n: 0 };
50
+ if (diff < HOUR)
51
+ return { unit: 'minutes', n: Math.floor(diff / MIN) };
52
+ if (diff < DAY)
53
+ return { unit: 'hours', n: Math.floor(diff / HOUR) };
54
+ if (diff < 30 * DAY)
55
+ return { unit: 'days', n: Math.floor(diff / DAY) };
56
+ if (diff < 365 * DAY)
57
+ return { unit: 'months', n: Math.floor(diff / (30 * DAY)) };
58
+ return { unit: 'years', n: Math.floor(diff / (365 * DAY)) };
59
+ }
60
+ /** Match native Workspace status priority while retaining the aggregate subagent count. */
61
+ export function sessionStatus(session, runningSubagentCount) {
62
+ const count = Number.isFinite(runningSubagentCount) && runningSubagentCount > 0
63
+ ? Math.floor(runningSubagentCount)
64
+ : 0;
65
+ if (isPendingInteractionStatus(session.pendingInteraction)) {
66
+ const labelKey = session.pendingInteraction === 'approval'
67
+ ? 'waitingApproval'
68
+ : session.pendingInteraction === 'plan-review'
69
+ ? 'planReview'
70
+ : 'waitingAnswer';
71
+ return { state: 'warning', labelKey, runningSubagentCount: count };
72
+ }
73
+ if (session.running === true) {
74
+ return { state: 'ongoing', labelKey: 'running', runningSubagentCount: count };
75
+ }
76
+ if (count > 0) {
77
+ return { state: 'ongoing', labelKey: 'subagentsRunning', runningSubagentCount: count };
78
+ }
79
+ if (session.completed === true) {
80
+ return { state: 'done', labelKey: 'completed', runningSubagentCount: 0 };
81
+ }
82
+ return { state: 'done', labelKey: 'idle', runningSubagentCount: 0 };
83
+ }
84
+ function toLineageSummary(sessionId, summary) {
85
+ return {
86
+ id: sessionId,
87
+ running: summary.running === true,
88
+ ...(summary.parentId === undefined ? {} : { parentId: summary.parentId }),
89
+ ...(summary.origin === 'subagent' ? { origin: 'subagent' } : {}),
90
+ };
91
+ }
92
+ /** Derive row and group activity facts from one retained DSH Session snapshot. */
93
+ export function deriveSessionPresentationIndex(sessions) {
94
+ const lineageSummaries = Object.fromEntries(Object.entries(sessions.byId).map(([sessionId, summary]) => [
95
+ sessionId,
96
+ toLineageSummary(sessionId, summary),
97
+ ]));
98
+ const descendants = indexSubagentDescendants(lineageSummaries);
99
+ return Object.fromEntries(Object.entries(sessions.byId).map(([sessionId, summary]) => {
100
+ const runningSubagentCount = descendants.get(sessionId)?.runningCount ?? 0;
101
+ const status = sessionStatus(summary, runningSubagentCount);
102
+ return [
103
+ sessionId,
104
+ {
105
+ status,
106
+ running: summary.running === true,
107
+ ongoing: summary.running === true || runningSubagentCount > 0,
108
+ runningSubagentCount,
109
+ completed: summary.completed === true,
110
+ ...(validUpdatedAt(summary.updatedAt) ? { updatedAt: summary.updatedAt } : {}),
111
+ },
112
+ ];
113
+ }));
114
+ }
115
+ /** Aggregate only live ongoing activity; callers decide which IDs are in the group. */
116
+ export function hasOngoingSession(sessionIds, presentations) {
117
+ return sessionIds.some((sessionId) => presentations[sessionId]?.ongoing === true);
118
+ }
1
119
  /** Read the native blank flag without inferring blankness from title or id. */
2
120
  export function isBlankSession(sessionId, sessions) {
3
121
  return sessions.byId[sessionId]?.blank === true;
@@ -13,7 +131,7 @@ export function filterVisibleSessionIds(sessionIds, sessions) {
13
131
  /** Resolve a row title while keeping the blank label outside the DSH summary. */
14
132
  export function sessionDisplayLabel(sessionId, sessions, blankLabel) {
15
133
  const summary = sessions.byId[sessionId];
16
- return summary?.blank === true ? blankLabel : summary?.displayTitle ?? sessionId;
134
+ return summary?.blank === true ? blankLabel : (summary?.displayTitle ?? sessionId);
17
135
  }
18
136
  /** Match only durable Session titles or the final diagnostic id fallback. */
19
137
  export function sessionMatchesQuery(sessionId, sessions, normalizedQuery) {
@@ -1 +1 @@
1
- {"version":3,"file":"session-view.js","sourceRoot":"","sources":["../../src/client/session-view.ts"],"names":[],"mappings":"AAcA,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAC5B,SAAiB,EACjB,QAAuC;IAEvC,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAClD,CAAC;AAED,mFAAmF;AACnF,SAAS,gBAAgB,CACvB,SAAiB,EACjB,QAAmD;IAEnD,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC;AAChF,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,uBAAuB,CACrC,UAA6B,EAC7B,QAAmD;IAEnD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,mBAAmB,CACjC,SAAiB,EACjB,QAAuC,EACvC,UAAkB;IAElB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,IAAI,SAAS,CAAC;AACnF,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,mBAAmB,CACjC,SAAiB,EACjB,QAAuC,EACvC,eAAuB;IAEvB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,OAAO,EAAE,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,KAAK,GAAG,OAAO,EAAE,YAAY,IAAI,SAAS,CAAC;IACjD,OAAO,KAAK,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"session-view.js","sourceRoot":"","sources":["../../src/client/session-view.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ export function createVirtualWorkspaceMembership(list) {
53
53
  applying = false;
54
54
  }
55
55
  };
56
- // DSH rc.8 publishes Workspace baselines through `set()`. Decorate that
56
+ // The current upstream DSH publishes Workspace baselines through `set()`. Decorate that
57
57
  // browser-local write seam so native subscribers receive the projection in
58
58
  // the same notification instead of observing a raw snapshot first.
59
59
  list.set = (next) => {
@@ -1 +1 @@
1
- {"version":3,"file":"virtual-workspace-membership.js","sourceRoot":"","sources":["../../src/client/virtual-workspace-membership.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"virtual-workspace-membership.js","sourceRoot":"","sources":["../../src/client/virtual-workspace-membership.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ClientConnectionRpc } from '@deepseek-ai/dsh-client-connection/client';
2
- import type { WorktreeManager } from '../contract/index.js';
2
+ import type { WorktreeManager, WorktreePermissionManager } from '../contract/index.js';
3
3
  /** The one logical channel shared by the DSH Connection and Typert Gateway. */
4
4
  export declare const WORKTREE_CONNECTION_CHANNEL: "/api";
5
5
  /**
@@ -8,12 +8,16 @@ export declare const WORKTREE_CONNECTION_CHANNEL: "/api";
8
8
  */
9
9
  export declare const WORKTREE_CONNECTION_ENDPOINTS: Readonly<{
10
10
  listWorktrees: "worktreeManager/listWorktrees";
11
+ listImportCandidates: "worktreeManager/listImportCandidates";
11
12
  listBranches: "worktreeManager/listBranches";
12
13
  createWorktree: "worktreeManager/createWorktree";
14
+ importWorktree: "worktreeManager/importWorktree";
13
15
  removeWorktree: "worktreeManager/removeWorktree";
14
16
  insertWorktreeBefore: "worktreeManager/insertWorktreeBefore";
15
17
  listBindings: "worktreeManager/listBindings";
16
18
  bindSession: "worktreeManager/bindSession";
19
+ ensureWorktreePermission: "worktreeManager/ensureWorktreePermission";
20
+ normalizeDetachedWorktreePermissions: "worktreeManager/normalizeDetachedWorktreePermissions";
17
21
  }>;
18
22
  /** Deliberately narrow transport seam: the adapter only needs `call`. */
19
23
  export type WorktreeConnectionRpc = Pick<ClientConnectionRpc, 'call'>;
@@ -31,7 +35,7 @@ export declare class WorktreeConnectionError extends Error {
31
35
  readonly retryable: boolean;
32
36
  constructor(options: WorktreeConnectionErrorOptions);
33
37
  }
34
- export interface WorktreeConnectionAdapter extends WorktreeManager {
38
+ export interface WorktreeConnectionAdapter extends WorktreeManager, WorktreePermissionManager {
35
39
  /** Abort all requests owned by this Client plugin instance. */
36
40
  dispose(): void;
37
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-connection.d.ts","sourceRoot":"","sources":["../../src/client/worktree-connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAErF,OAAO,KAAK,EAEV,eAAe,EAGhB,MAAM,sBAAsB,CAAC;AAE9B,+EAA+E;AAC/E,eAAO,MAAM,2BAA2B,EAAG,MAAe,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;EAQiB,CAAC;AAE5D,yEAAyE;AACzE,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAEtE,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qFAAqF;AACrF,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;gBAEhB,OAAO,EAAE,8BAA8B;CAOpD;AAED,MAAM,WAAW,yBAA0B,SAAQ,eAAe;IAChE,+DAA+D;IAC/D,OAAO,IAAI,IAAI,CAAC;CACjB;AA+ED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,qBAAqB,GACzB,yBAAyB,CA+C3B"}
1
+ {"version":3,"file":"worktree-connection.d.ts","sourceRoot":"","sources":["../../src/client/worktree-connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAErF,OAAO,KAAK,EAEV,eAAe,EACf,yBAAyB,EAI1B,MAAM,sBAAsB,CAAC;AAE9B,+EAA+E;AAC/E,eAAO,MAAM,2BAA2B,EAAG,MAAe,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;EAYiB,CAAC;AAE5D,yEAAyE;AACzE,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAEtE,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qFAAqF;AACrF,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;gBAEhB,OAAO,EAAE,8BAA8B;CAOpD;AAED,MAAM,WAAW,yBAA0B,SAAQ,eAAe,EAAE,yBAAyB;IAC3F,+DAA+D;IAC/D,OAAO,IAAI,IAAI,CAAC;CACjB;AA+ED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,qBAAqB,GACzB,yBAAyB,CAoD3B"}
@@ -6,12 +6,16 @@ export const WORKTREE_CONNECTION_CHANNEL = '/api';
6
6
  */
7
7
  export const WORKTREE_CONNECTION_ENDPOINTS = Object.freeze({
8
8
  listWorktrees: 'worktreeManager/listWorktrees',
9
+ listImportCandidates: 'worktreeManager/listImportCandidates',
9
10
  listBranches: 'worktreeManager/listBranches',
10
11
  createWorktree: 'worktreeManager/createWorktree',
12
+ importWorktree: 'worktreeManager/importWorktree',
11
13
  removeWorktree: 'worktreeManager/removeWorktree',
12
14
  insertWorktreeBefore: 'worktreeManager/insertWorktreeBefore',
13
15
  listBindings: 'worktreeManager/listBindings',
14
16
  bindSession: 'worktreeManager/bindSession',
17
+ ensureWorktreePermission: 'worktreeManager/ensureWorktreePermission',
18
+ normalizeDetachedWorktreePermissions: 'worktreeManager/normalizeDetachedWorktreePermissions',
15
19
  });
16
20
  /** Browser-safe error shared by transport, Gateway, endpoint and domain failures. */
17
21
  export class WorktreeConnectionError extends Error {
@@ -121,8 +125,10 @@ export function createWorktreeConnectionAdapter(rpc) {
121
125
  }
122
126
  return {
123
127
  listWorktrees: (input) => invoke('listWorktrees', input),
128
+ listImportCandidates: (input) => invoke('listImportCandidates', input),
124
129
  listBranches: (input) => invoke('listBranches', input),
125
130
  createWorktree: (input) => invoke('createWorktree', input),
131
+ importWorktree: (input) => invoke('importWorktree', input),
126
132
  async removeWorktree(input) {
127
133
  await invoke('removeWorktree', input);
128
134
  },
@@ -131,6 +137,8 @@ export function createWorktreeConnectionAdapter(rpc) {
131
137
  },
132
138
  listBindings: (input) => invoke('listBindings', input),
133
139
  bindSession: (input) => invoke('bindSession', input),
140
+ ensureWorktreePermission: (input) => invoke('ensureWorktreePermission', input),
141
+ normalizeDetachedWorktreePermissions: (input) => invoke('normalizeDetachedWorktreePermissions', input),
134
142
  dispose() {
135
143
  if (disposed)
136
144
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-connection.js","sourceRoot":"","sources":["../../src/client/worktree-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree-connection.js","sourceRoot":"","sources":["../../src/client/worktree-connection.ts"],"names":[],"mappings":"AAWA,+EAA+E;AAC/E,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAe,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,MAAM,CAAC;IACzD,aAAa,EAAE,+BAA+B;IAC9C,oBAAoB,EAAE,sCAAsC;IAC5D,YAAY,EAAE,8BAA8B;IAC5C,cAAc,EAAE,gCAAgC;IAChD,cAAc,EAAE,gCAAgC;IAChD,cAAc,EAAE,gCAAgC;IAChD,oBAAoB,EAAE,sCAAsC;IAC5D,YAAY,EAAE,8BAA8B;IAC5C,WAAW,EAAE,6BAA6B;IAC1C,wBAAwB,EAAE,0CAA0C;IACpE,oCAAoC,EAAE,sDAAsD;CAC7F,CAA0D,CAAC;AAa5D,qFAAqF;AACrF,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACvC,IAAI,CAAS;IACb,OAAO,CAAoC;IAC3C,SAAS,CAAU;IAE5B,YAAY,OAAuC;QACjD,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3F,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;CACF;AASD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CACxB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACpE,OAAO,KAAK,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,IAAI,uBAAuB,CAAC;QACjC,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAgB,EAChB,KAAc,EACd,IAAI,GAAG,wBAAwB;IAE/B,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,IAAI,uBAAuB,CAAC;QACjC,IAAI;QACJ,OAAO;QACP,OAAO,EAAE,EAAE,QAAQ,EAAE;QACrB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,MAAgD;IACxF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,MAAM,IAAI,uBAAuB,CAAC;QAChC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;QACvB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;QAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE;QACpC,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,OAAO,IAAI,uBAAuB,CAAC;QACjC,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE,QAAQ,EAAE;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,MAAM,CAAQ,QAAgB,EAAE,MAAwB;IAC/D,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACrB,MAAM,IAAI,uBAAuB,CAAC;YAChC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;YAC7B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO;YACnC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO;YACnC,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,KAAc,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAC7C,GAA0B;IAE1B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC5C,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,KAAK,UAAU,MAAM,CAAQ,MAA4B,EAAE,KAAc;QACvE,IAAI,QAAQ;YAAE,MAAM,aAAa,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACzB,MAAM,QAAQ,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,IAAI,MAAwB,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CACrB,2BAA2B,EAC3B,QAAQ,EACR,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EACnB,UAAU,CAAC,MAAM,CAClB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;oBAAE,MAAM,aAAa,EAAE,CAAC;gBACjE,MAAM,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO,MAAM,CAAQ,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;gBAAS,CAAC;YACT,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO;QACL,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC;QACxD,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,sBAAsB,EAAE,KAAK,CAAC;QACtE,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC;QACtD,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC;QAC1D,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC;QAC1D,KAAK,CAAC,cAAc,CAAC,KAAK;YACxB,MAAM,MAAM,CAAO,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,CAAC,oBAAoB,CAAC,KAAK;YAC9B,OAAO,MAAM,CAAoB,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;QACD,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC;QACtD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC;QACpD,wBAAwB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,0BAA0B,EAAE,KAAK,CAAC;QAC9E,oCAAoC,EAAE,CAAC,KAA6C,EAAE,EAAE,CACtF,MAAM,CAAC,sCAAsC,EAAE,KAAK,CAAC;QACvD,OAAO;YACL,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,MAAM,UAAU,IAAI,QAAQ;gBAAE,UAAU,CAAC,KAAK,EAAE,CAAC;YACtD,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import type { TranslateNS } from '@deepseek-ai/dsh-client-ui-slots';
2
+ import type { WorktreePermissionResult } from '../contract/index.js';
2
3
  import type { WorktreeViewError } from './worktree-view.js';
3
4
  import { WORKTREE_NS } from './locales.js';
4
5
  type WorktreeTranslate = TranslateNS<typeof WORKTREE_NS>;
6
+ export declare function formatWorktreePermissionNotice(result: WorktreePermissionResult, t: WorktreeTranslate): string;
5
7
  export declare function formatWorktreeViewError(error: WorktreeViewError, t: WorktreeTranslate): string;
6
8
  export {};
7
9
  //# sourceMappingURL=worktree-error-copy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-error-copy.d.ts","sourceRoot":"","sources":["../../src/client/worktree-error-copy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,KAAK,iBAAiB,GAAG,WAAW,CAAC,OAAO,WAAW,CAAC,CAAC;AAWzD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,iBAAiB,EACxB,CAAC,EAAE,iBAAiB,GACnB,MAAM,CAmDR"}
1
+ {"version":3,"file":"worktree-error-copy.d.ts","sourceRoot":"","sources":["../../src/client/worktree-error-copy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,KAAK,iBAAiB,GAAG,WAAW,CAAC,OAAO,WAAW,CAAC,CAAC;AAWzD,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,wBAAwB,EAChC,CAAC,EAAE,iBAAiB,GACnB,MAAM,CAWR;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,iBAAiB,EACxB,CAAC,EAAE,iBAAiB,GACnB,MAAM,CA6DR"}
@@ -5,6 +5,18 @@ function detail(error, name) {
5
5
  function reason(error, t) {
6
6
  return error.message.length > 0 ? error.message : t('error.worktreeDataUnavailable');
7
7
  }
8
+ export function formatWorktreePermissionNotice(result, t) {
9
+ switch (result.status) {
10
+ case 'fallback-workspace-write':
11
+ return t('permission.fallbackWorkspaceWrite');
12
+ case 'user-restricted':
13
+ return t('permission.userRestricted');
14
+ case 'unverified':
15
+ return t('permission.unverified');
16
+ default:
17
+ return t('permission.unavailable');
18
+ }
19
+ }
8
20
  export function formatWorktreeViewError(error, t) {
9
21
  switch (error.code) {
10
22
  case 'CLIENT_DISPOSED':
@@ -28,6 +40,12 @@ export function formatWorktreeViewError(error, t) {
28
40
  return t('error.worktreeCreatedSessionUnavailable');
29
41
  case 'WORKTREE_RECORD_MISSING':
30
42
  return t('error.worktreeRecordMissing');
43
+ case 'WORKTREE_IMPORT_INVALID':
44
+ return t('error.worktreeImportInvalid');
45
+ case 'WORKTREE_ALREADY_MANAGED':
46
+ return t('error.worktreeAlreadyManaged');
47
+ case 'WORKTREE_REGISTRATION_SESSION_UNAVAILABLE':
48
+ return t('error.worktreeRegistrationSessionUnavailable');
31
49
  case 'WORKSPACE_RENAME_UNAVAILABLE':
32
50
  return t('error.workspaceRenameUnavailable');
33
51
  case 'WORKSPACE_DELETE_UNAVAILABLE':
@@ -41,6 +59,10 @@ export function formatWorktreeViewError(error, t) {
41
59
  });
42
60
  case 'SESSION_ALREADY_BOUND':
43
61
  return t('error.sessionAlreadyBound');
62
+ case 'WORKTREE_PERMISSION_CONFIRMATION_REQUIRED':
63
+ return t('error.worktreePermissionConfirmationRequired');
64
+ case 'WORKTREE_PERMISSION_FAILED':
65
+ return t('error.worktreePermissionFailed', { reason: reason(error, t) });
44
66
  case 'SESSION_LIST_NOT_READY':
45
67
  return t('error.sessionListNotReady');
46
68
  case 'SESSION_FACTS_INCOMPLETE':