@lemoncat7/dsh-partner 1.8.3 → 1.10.2

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 (188) hide show
  1. package/README.md +36 -1
  2. package/docs/architecture.md +101 -1
  3. package/lib/agent-runtime.d.ts +11 -2
  4. package/lib/agent-runtime.d.ts.map +1 -1
  5. package/lib/agent-runtime.js +91 -66
  6. package/lib/agent-runtime.js.map +1 -1
  7. package/lib/api/features/workspace-api.d.ts +2 -0
  8. package/lib/api/features/workspace-api.d.ts.map +1 -1
  9. package/lib/api/features/workspace-api.js +49 -2
  10. package/lib/api/features/workspace-api.js.map +1 -1
  11. package/lib/api.d.ts +2 -0
  12. package/lib/api.d.ts.map +1 -1
  13. package/lib/api.js +13 -31
  14. package/lib/api.js.map +1 -1
  15. package/lib/channels/delivery-policy.d.ts +14 -0
  16. package/lib/channels/delivery-policy.d.ts.map +1 -0
  17. package/lib/channels/delivery-policy.js +82 -0
  18. package/lib/channels/delivery-policy.js.map +1 -0
  19. package/lib/channels/manager.d.ts +3 -2
  20. package/lib/channels/manager.d.ts.map +1 -1
  21. package/lib/channels/manager.js +40 -17
  22. package/lib/channels/manager.js.map +1 -1
  23. package/lib/channels/outbound-media.d.ts +6 -0
  24. package/lib/channels/outbound-media.d.ts.map +1 -0
  25. package/lib/channels/outbound-media.js +118 -0
  26. package/lib/channels/outbound-media.js.map +1 -0
  27. package/lib/client-api.d.ts +4 -0
  28. package/lib/client-api.d.ts.map +1 -1
  29. package/lib/client-api.js.map +1 -1
  30. package/lib/client.d.ts.map +1 -1
  31. package/lib/client.js +1572 -1109
  32. package/lib/client.js.map +4 -4
  33. package/lib/collaboration/composition.d.ts +3 -1
  34. package/lib/collaboration/composition.d.ts.map +1 -1
  35. package/lib/collaboration/composition.js +47 -14
  36. package/lib/collaboration/composition.js.map +1 -1
  37. package/lib/collaboration/service.d.ts +7 -0
  38. package/lib/collaboration/service.d.ts.map +1 -1
  39. package/lib/collaboration/service.js +154 -44
  40. package/lib/collaboration/service.js.map +1 -1
  41. package/lib/collaboration/task-dispatch.d.ts +18 -0
  42. package/lib/collaboration/task-dispatch.d.ts.map +1 -0
  43. package/lib/collaboration/task-dispatch.js +44 -0
  44. package/lib/collaboration/task-dispatch.js.map +1 -0
  45. package/lib/collaboration/task-recovery.d.ts +8 -0
  46. package/lib/collaboration/task-recovery.d.ts.map +1 -0
  47. package/lib/collaboration/task-recovery.js +30 -0
  48. package/lib/collaboration/task-recovery.js.map +1 -0
  49. package/lib/companions/directory-cleanup.d.ts +4 -0
  50. package/lib/companions/directory-cleanup.d.ts.map +1 -0
  51. package/lib/companions/directory-cleanup.js +77 -0
  52. package/lib/companions/directory-cleanup.js.map +1 -0
  53. package/lib/companions/removal.d.ts +20 -0
  54. package/lib/companions/removal.d.ts.map +1 -0
  55. package/lib/companions/removal.js +84 -0
  56. package/lib/companions/removal.js.map +1 -0
  57. package/lib/companions/service.d.ts +3 -0
  58. package/lib/companions/service.d.ts.map +1 -1
  59. package/lib/companions/service.js +4 -0
  60. package/lib/companions/service.js.map +1 -1
  61. package/lib/companions/session-configuration.js +1 -1
  62. package/lib/companions/session-configuration.js.map +1 -1
  63. package/lib/companions/workspace-cleanup.d.ts +4 -0
  64. package/lib/companions/workspace-cleanup.d.ts.map +1 -0
  65. package/lib/companions/workspace-cleanup.js +37 -0
  66. package/lib/companions/workspace-cleanup.js.map +1 -0
  67. package/lib/daily-review.d.ts +1 -0
  68. package/lib/daily-review.d.ts.map +1 -1
  69. package/lib/daily-review.js +3 -0
  70. package/lib/daily-review.js.map +1 -1
  71. package/lib/domain.d.ts +2 -0
  72. package/lib/domain.d.ts.map +1 -1
  73. package/lib/domain.js.map +1 -1
  74. package/lib/execution/agent-support.d.ts.map +1 -1
  75. package/lib/execution/agent-support.js +27 -3
  76. package/lib/execution/agent-support.js.map +1 -1
  77. package/lib/execution/service.d.ts +1 -0
  78. package/lib/execution/service.d.ts.map +1 -1
  79. package/lib/execution/service.js +10 -0
  80. package/lib/execution/service.js.map +1 -1
  81. package/lib/heartbeat.d.ts +1 -0
  82. package/lib/heartbeat.d.ts.map +1 -1
  83. package/lib/heartbeat.js +3 -0
  84. package/lib/heartbeat.js.map +1 -1
  85. package/lib/index.d.ts.map +1 -1
  86. package/lib/index.js +22 -11
  87. package/lib/index.js.map +1 -1
  88. package/lib/pendant/renderer.d.ts +1 -0
  89. package/lib/pendant/renderer.d.ts.map +1 -1
  90. package/lib/pendant/renderer.js +4 -0
  91. package/lib/pendant/renderer.js.map +1 -1
  92. package/lib/pendant/widget.js +3 -1
  93. package/lib/pendant/widget.js.map +1 -1
  94. package/lib/pendant-renderer.js +6 -6
  95. package/lib/requirements/archive.d.ts +4 -0
  96. package/lib/requirements/archive.d.ts.map +1 -0
  97. package/lib/requirements/archive.js +14 -0
  98. package/lib/requirements/archive.js.map +1 -0
  99. package/lib/requirements/consolidation.d.ts +11 -0
  100. package/lib/requirements/consolidation.d.ts.map +1 -0
  101. package/lib/requirements/consolidation.js +50 -0
  102. package/lib/requirements/consolidation.js.map +1 -0
  103. package/lib/requirements/domain.d.ts +41 -0
  104. package/lib/requirements/domain.d.ts.map +1 -0
  105. package/lib/requirements/domain.js +2 -0
  106. package/lib/requirements/domain.js.map +1 -0
  107. package/lib/requirements/progress.d.ts +7 -0
  108. package/lib/requirements/progress.d.ts.map +1 -0
  109. package/lib/requirements/progress.js +17 -0
  110. package/lib/requirements/progress.js.map +1 -0
  111. package/lib/requirements/service.d.ts +23 -0
  112. package/lib/requirements/service.d.ts.map +1 -0
  113. package/lib/requirements/service.js +163 -0
  114. package/lib/requirements/service.js.map +1 -0
  115. package/lib/requirements/tool.d.ts +5 -0
  116. package/lib/requirements/tool.d.ts.map +1 -0
  117. package/lib/requirements/tool.js +49 -0
  118. package/lib/requirements/tool.js.map +1 -0
  119. package/lib/requirements/worker.d.ts +30 -0
  120. package/lib/requirements/worker.d.ts.map +1 -0
  121. package/lib/requirements/worker.js +164 -0
  122. package/lib/requirements/worker.js.map +1 -0
  123. package/lib/skills/builtin.d.ts.map +1 -1
  124. package/lib/skills/builtin.js +3 -2
  125. package/lib/skills/builtin.js.map +1 -1
  126. package/lib/skills/service.js +1 -1
  127. package/lib/skills/service.js.map +1 -1
  128. package/lib/skills/task-planning.d.ts +5 -0
  129. package/lib/skills/task-planning.d.ts.map +1 -0
  130. package/lib/skills/task-planning.js +47 -0
  131. package/lib/skills/task-planning.js.map +1 -0
  132. package/lib/store.d.ts +3 -0
  133. package/lib/store.d.ts.map +1 -1
  134. package/lib/store.js +10 -0
  135. package/lib/store.js.map +1 -1
  136. package/lib/tasks/context.d.ts +8 -0
  137. package/lib/tasks/context.d.ts.map +1 -0
  138. package/lib/tasks/context.js +48 -0
  139. package/lib/tasks/context.js.map +1 -0
  140. package/lib/tasks/domain.d.ts +12 -0
  141. package/lib/tasks/domain.d.ts.map +1 -1
  142. package/lib/tasks/progress-notifier.d.ts +4 -0
  143. package/lib/tasks/progress-notifier.d.ts.map +1 -0
  144. package/lib/tasks/progress-notifier.js +20 -0
  145. package/lib/tasks/progress-notifier.js.map +1 -0
  146. package/lib/tasks/removal.d.ts +5 -0
  147. package/lib/tasks/removal.d.ts.map +1 -0
  148. package/lib/tasks/removal.js +44 -0
  149. package/lib/tasks/removal.js.map +1 -0
  150. package/lib/tasks/requirement-link.d.ts +4 -0
  151. package/lib/tasks/requirement-link.d.ts.map +1 -0
  152. package/lib/tasks/requirement-link.js +11 -0
  153. package/lib/tasks/requirement-link.js.map +1 -0
  154. package/lib/tasks/service.d.ts +13 -5
  155. package/lib/tasks/service.d.ts.map +1 -1
  156. package/lib/tasks/service.js +113 -29
  157. package/lib/tasks/service.js.map +1 -1
  158. package/lib/ui/board-refresh.d.ts +3 -0
  159. package/lib/ui/board-refresh.d.ts.map +1 -0
  160. package/lib/ui/board-refresh.js +42 -0
  161. package/lib/ui/board-refresh.js.map +1 -0
  162. package/lib/ui/identity-editor.d.ts +11 -0
  163. package/lib/ui/identity-editor.d.ts.map +1 -0
  164. package/lib/ui/identity-editor.js +78 -0
  165. package/lib/ui/identity-editor.js.map +1 -0
  166. package/lib/ui/requirement-board.d.ts +5 -0
  167. package/lib/ui/requirement-board.d.ts.map +1 -0
  168. package/lib/ui/requirement-board.js +47 -0
  169. package/lib/ui/requirement-board.js.map +1 -0
  170. package/lib/ui/requirement-dialog.d.ts +15 -0
  171. package/lib/ui/requirement-dialog.d.ts.map +1 -0
  172. package/lib/ui/requirement-dialog.js +53 -0
  173. package/lib/ui/requirement-dialog.js.map +1 -0
  174. package/lib/ui/requirement-tasks-panel.d.ts +8 -0
  175. package/lib/ui/requirement-tasks-panel.d.ts.map +1 -0
  176. package/lib/ui/requirement-tasks-panel.js +269 -0
  177. package/lib/ui/requirement-tasks-panel.js.map +1 -0
  178. package/lib/ui/task-board-panel.d.ts +2 -4
  179. package/lib/ui/task-board-panel.d.ts.map +1 -1
  180. package/lib/ui/task-board-panel.js +2 -283
  181. package/lib/ui/task-board-panel.js.map +1 -1
  182. package/lib/ui/task-board-stage.d.ts +12 -0
  183. package/lib/ui/task-board-stage.d.ts.map +1 -0
  184. package/lib/ui/task-board-stage.js +13 -0
  185. package/lib/ui/task-board-stage.js.map +1 -0
  186. package/lib/ui/workspace-components.js +1 -1
  187. package/lib/ui/workspace-components.js.map +1 -1
  188. package/package.json +1 -1
@@ -1,284 +1,3 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useCallback, useDeferredValue, useEffect, useMemo, useRef, useState } from 'react';
3
- import { IconCheckOutline16, IconChevronRightOutline14, IconCloseOutline16, IconPlusOutline16, IconSearchOutline16, IconTrashOutline16 } from '@deepseek-ai/dsh-client-ui-primitives';
4
- import { api } from '../client-api.js';
5
- import { CollectionSkeleton, WorkspaceDialog, WorkspaceHero, WorkspaceNotice, errorMessage } from './workspace-components.js';
6
- const COLUMNS = [
7
- { id: 'backlog', label: '收集箱' }, { id: 'ready', label: '待开始' }, { id: 'doing', label: '进行中' },
8
- { id: 'review', label: '待验收' }, { id: 'blocked', label: '受阻' }, { id: 'done', label: '已完成' },
9
- ];
10
- const LIVE_REFRESH_MS = 4_000;
11
- export function TaskBoardPanel({ initialTaskId, openRequest } = {}) {
12
- const [board, setBoard] = useState({ tasks: [], activities: [] });
13
- const [directory, setDirectory] = useState([]);
14
- const [delegations, setDelegations] = useState([]);
15
- const [creating, setCreating] = useState(false);
16
- const [selectedTaskId, setSelectedTaskId] = useState(initialTaskId);
17
- useEffect(() => { if (initialTaskId)
18
- setSelectedTaskId(initialTaskId); }, [initialTaskId, openRequest]);
19
- const [busy, setBusy] = useState();
20
- const [loading, setLoading] = useState(true);
21
- const [error, setError] = useState();
22
- const [syncedAt, setSyncedAt] = useState();
23
- const [query, setQuery] = useState('');
24
- const [statusFilter, setStatusFilter] = useState('all');
25
- const [assigneeFilter, setAssigneeFilter] = useState('all');
26
- const deferredQuery = useDeferredValue(query.trim().toLocaleLowerCase());
27
- const tasksById = useMemo(() => new Map(board.tasks.map(item => [item.id, item])), [board.tasks]);
28
- const directoryById = useMemo(() => new Map(directory.map(item => [item.id, item])), [directory]);
29
- const activeDelegationByTaskId = useMemo(() => {
30
- const result = new Map();
31
- for (const delegation of delegations) {
32
- if ((delegation.status === 'queued' || delegation.status === 'running') && !result.has(delegation.taskId))
33
- result.set(delegation.taskId, delegation);
34
- }
35
- return result;
36
- }, [delegations]);
37
- const selectedTask = selectedTaskId ? tasksById.get(selectedTaskId) : undefined;
38
- const dependentsById = useMemo(() => {
39
- const result = new Map();
40
- for (const task of board.tasks)
41
- for (const dependencyId of task.dependencyTaskIds)
42
- result.set(dependencyId, (result.get(dependencyId) ?? 0) + 1);
43
- return result;
44
- }, [board.tasks]);
45
- const scopedTasks = useMemo(() => board.tasks.filter(task => {
46
- if (assigneeFilter !== 'all' && (task.assigneeCompanionId ?? 'unassigned') !== assigneeFilter)
47
- return false;
48
- if (!deferredQuery)
49
- return true;
50
- const dependencies = task.dependencyTaskIds.map(id => tasksById.get(id)?.title ?? '');
51
- return [task.title, task.description, task.resultAbstract, task.resultSummary, directoryById.get(task.assigneeCompanionId ?? '')?.name, ...dependencies]
52
- .some(value => value?.toLocaleLowerCase().includes(deferredQuery));
53
- }), [assigneeFilter, board.tasks, deferredQuery, directoryById, tasksById]);
54
- const statusCounts = useMemo(() => {
55
- const result = new Map(COLUMNS.map(column => [column.id, 0]));
56
- for (const task of scopedTasks)
57
- result.set(task.status, (result.get(task.status) ?? 0) + 1);
58
- return result;
59
- }, [scopedTasks]);
60
- const visibleColumns = statusFilter === 'all' ? COLUMNS : COLUMNS.filter(column => column.id === statusFilter);
61
- const tasksByStatus = useMemo(() => {
62
- const priorityRank = { urgent: 3, high: 2, normal: 1, low: 0 };
63
- const result = new Map(COLUMNS.map(column => [column.id, []]));
64
- for (const task of scopedTasks) {
65
- if (statusFilter !== 'all' && task.status !== statusFilter)
66
- continue;
67
- result.get(task.status)?.push(task);
68
- }
69
- for (const tasks of result.values())
70
- tasks.sort((left, right) => priorityRank[right.priority] - priorityRank[left.priority] || right.updatedAt - left.updatedAt);
71
- return result;
72
- }, [scopedTasks, statusFilter]);
73
- const visibleTaskCount = statusFilter === 'all' ? scopedTasks.length : (statusCounts.get(statusFilter) ?? 0);
74
- const loadingRef = useRef(false);
75
- const load = useCallback(async () => {
76
- if (loadingRef.current)
77
- return;
78
- loadingRef.current = true;
79
- try {
80
- const [next, collaboration] = await Promise.all([api('/tasks'), api('/collaboration')]);
81
- setBoard(next);
82
- setDirectory(collaboration.companions);
83
- setDelegations(collaboration.delegations);
84
- setSyncedAt(Date.now());
85
- setError(undefined);
86
- }
87
- catch (reason) {
88
- setError(errorMessage(reason));
89
- }
90
- finally {
91
- loadingRef.current = false;
92
- setLoading(false);
93
- }
94
- }, []);
95
- useEffect(() => {
96
- void load();
97
- const timer = window.setInterval(() => { if (document.visibilityState === 'visible')
98
- void load(); }, LIVE_REFRESH_MS);
99
- const visible = () => { if (document.visibilityState === 'visible')
100
- void load(); };
101
- document.addEventListener('visibilitychange', visible);
102
- return () => { window.clearInterval(timer); document.removeEventListener('visibilitychange', visible); };
103
- }, [load]);
104
- const update = async (task, change) => {
105
- setBusy(task.id);
106
- setError(undefined);
107
- try {
108
- await api(`/tasks/${task.id}`, { method: 'PUT', body: JSON.stringify({ expectedRevision: task.revision, ...change }) });
109
- await load();
110
- }
111
- catch (reason) {
112
- setError(errorMessage(reason));
113
- }
114
- finally {
115
- setBusy(undefined);
116
- }
117
- };
118
- const delegate = async (task) => {
119
- if (!task.assigneeCompanionId)
120
- return;
121
- setBusy(task.id);
122
- setError(undefined);
123
- try {
124
- await api(`/tasks/${task.id}/delegate`, { method: 'POST', body: JSON.stringify({ to: task.assigneeCompanionId, request: task.description || `完成任务:${task.title}` }) });
125
- await load();
126
- }
127
- catch (reason) {
128
- setError(errorMessage(reason));
129
- }
130
- finally {
131
- setBusy(undefined);
132
- }
133
- };
134
- const review = async (task) => {
135
- if (!task.reviewerCompanionId)
136
- return;
137
- setBusy(task.id);
138
- setError(undefined);
139
- try {
140
- await api(`/tasks/${task.id}/review`, { method: 'POST', body: JSON.stringify({ to: task.reviewerCompanionId }) });
141
- await load();
142
- }
143
- catch (reason) {
144
- setError(errorMessage(reason));
145
- }
146
- finally {
147
- setBusy(undefined);
148
- }
149
- };
150
- const accept = async (task) => {
151
- setBusy(task.id);
152
- setError(undefined);
153
- try {
154
- await api(`/tasks/${task.id}/accept`, { method: 'POST' });
155
- await load();
156
- }
157
- catch (reason) {
158
- setError(errorMessage(reason));
159
- }
160
- finally {
161
- setBusy(undefined);
162
- }
163
- };
164
- const reject = async (task, reason) => {
165
- if (!reason)
166
- return;
167
- setBusy(task.id);
168
- setError(undefined);
169
- try {
170
- await api(`/tasks/${task.id}/reject`, { method: 'POST', body: JSON.stringify({ reason }) });
171
- await load();
172
- }
173
- catch (cause) {
174
- setError(errorMessage(cause));
175
- }
176
- finally {
177
- setBusy(undefined);
178
- }
179
- };
180
- const remove = async (task) => {
181
- setBusy(task.id);
182
- setError(undefined);
183
- try {
184
- await api(`/tasks/${task.id}`, { method: 'DELETE' });
185
- if (selectedTaskId === task.id)
186
- setSelectedTaskId(undefined);
187
- await load();
188
- }
189
- catch (reason) {
190
- setError(errorMessage(reason));
191
- }
192
- finally {
193
- setBusy(undefined);
194
- }
195
- };
196
- return _jsxs("div", { className: "dsh-partner-feature-page is-board", children: [_jsx(WorkspaceHero, { eyebrow: "Shared workspace", title: "\u4F19\u4F34\u4EFB\u52A1\u770B\u677F", detail: "\u627F\u63A5\u591A\u6B65\u3001\u4F9D\u8D56\u548C\u8DE8\u4F19\u4F34\u5DE5\u4F5C\u3002\u524D\u7F6E\u4EFB\u52A1\u5B8C\u6210\u540E\u624D\u80FD\u6267\u884C\uFF0C\u7ED3\u679C\u9A8C\u6536\u901A\u8FC7\u540E\u624D\u4F1A\u89E3\u9501\u540E\u7EED\u4EFB\u52A1\u3002", actions: _jsxs(_Fragment, { children: [_jsxs("span", { className: "dsh-partner-board-live", title: syncedAt ? `最近同步 ${new Date(syncedAt).toLocaleTimeString()}` : '正在连接', children: [_jsx("i", {}), "\u5B9E\u65F6\u540C\u6B65"] }), _jsxs("button", { type: "button", onClick: () => setCreating(true), children: [_jsx(IconPlusOutline16, { size: 15 }), "\u65B0\u4EFB\u52A1"] })] }) }), error && _jsx(WorkspaceNotice, { children: error }), creating && _jsx(WorkspaceDialog, { title: "\u65B0\u5EFA\u4EFB\u52A1", detail: "\u5199\u6E05\u76EE\u6807\u3001\u8D1F\u8D23\u4EBA\u548C\u9A8C\u6536\u8FB9\u754C\uFF1B\u53EA\u6709\u771F\u6B63\u5B58\u5728\u524D\u7F6E\u5173\u7CFB\u65F6\u624D\u6DFB\u52A0\u4F9D\u8D56\u3002", close: () => setCreating(false), width: "wide", children: _jsx(TaskForm, { companions: directory, tasks: board.tasks, close: () => setCreating(false), changed: load }) }), selectedTask && _jsx(WorkspaceDialog, { eyebrow: "TASK DETAIL", title: selectedTask.title, detail: taskDialogSummary(selectedTask, directory), close: () => setSelectedTaskId(undefined), width: "wide", children: _jsx(TaskDetail, { task: selectedTask, tasks: board.tasks, activities: board.activities.filter(item => item.taskId === selectedTask.id), directory: directory, execution: activeDelegationByTaskId.get(selectedTask.id), busy: busy === selectedTask.id, update: change => { void update(selectedTask, change); }, delegate: () => { void delegate(selectedTask); }, review: () => { void review(selectedTask); }, accept: () => { void accept(selectedTask); }, reject: reason => { void reject(selectedTask, reason); }, remove: () => { void remove(selectedTask); } }, selectedTask.id) }), loading ? _jsx(CollectionSkeleton, { rows: 6 }) : _jsxs(_Fragment, { children: [_jsxs("div", { className: "dsh-partner-board-tools", children: [_jsxs("label", { className: "dsh-partner-board-search", children: [_jsx("span", { className: "sr-only", children: "\u641C\u7D22\u4EFB\u52A1" }), _jsx("span", { "aria-hidden": "true", children: _jsx(IconSearchOutline16, { size: 16 }) }), _jsx("input", { value: query, onChange: event => setQuery(event.target.value), placeholder: "\u641C\u7D22\u4EFB\u52A1\u3001\u8D1F\u8D23\u4EBA\u6216\u524D\u7F6E\u4EFB\u52A1" }), query && _jsx("button", { type: "button", onClick: () => setQuery(''), "aria-label": "\u6E05\u9664\u4EFB\u52A1\u641C\u7D22", children: _jsx(IconCloseOutline16, { size: 14 }) })] }), _jsxs("label", { className: "dsh-partner-board-assignee", children: [_jsx("span", { className: "sr-only", children: "\u6309\u8D1F\u8D23\u4EBA\u7B5B\u9009" }), _jsxs("select", { value: assigneeFilter, onChange: event => setAssigneeFilter(event.target.value), children: [_jsx("option", { value: "all", children: "\u5168\u90E8\u4F19\u4F34" }), _jsx("option", { value: "unassigned", children: "\u672A\u6307\u6D3E" }), directory.map(item => _jsxs("option", { value: item.id, children: ["@", item.name] }, item.id))] })] }), _jsxs("small", { "aria-live": "polite", children: ["\u663E\u793A ", visibleTaskCount, " / ", board.tasks.length] })] }), _jsxs("nav", { className: "dsh-partner-board-statuses", "aria-label": "\u6309\u4EFB\u52A1\u72B6\u6001\u7B5B\u9009", children: [_jsxs("button", { type: "button", className: statusFilter === 'all' ? 'is-active' : '', "aria-pressed": statusFilter === 'all', onClick: () => setStatusFilter('all'), children: [_jsx("span", { children: "\u5168\u90E8" }), _jsx("b", { children: scopedTasks.length })] }), COLUMNS.map(column => _jsxs("button", { type: "button", className: statusFilter === column.id ? 'is-active' : '', "aria-pressed": statusFilter === column.id, onClick: () => setStatusFilter(column.id), children: [_jsx("span", { children: column.label }), _jsx("b", { children: statusCounts.get(column.id) ?? 0 })] }, column.id))] }), _jsx("div", { className: "dsh-partner-board", "data-focused": statusFilter !== 'all', "aria-label": "\u4EFB\u52A1\u770B\u677F", children: visibleColumns.map(column => {
197
- const tasks = tasksByStatus.get(column.id) ?? [];
198
- const columnTitleId = `dsh-partner-board-${column.id}`;
199
- return _jsxs("section", { "data-status": column.id, "data-empty": tasks.length === 0, "aria-labelledby": columnTitleId, children: [_jsxs("header", { children: [_jsx("strong", { id: columnTitleId, children: column.label }), _jsx("b", { children: tasks.length })] }), tasks.length > 0 ? _jsx("div", { className: "dsh-partner-board-column-list", children: tasks.map(task => _jsx(TaskCard, { task: task, tasksById: tasksById, directoryById: directoryById, dependentCount: dependentsById.get(task.id) ?? 0, execution: activeDelegationByTaskId.get(task.id), open: () => setSelectedTaskId(task.id) }, task.id)) }) : _jsx("p", { children: query || assigneeFilter !== 'all' ? '没有匹配任务' : '暂无任务' })] }, column.id);
200
- }) })] })] });
201
- }
202
- function TaskCard({ task, tasksById, directoryById, dependentCount, execution, open }) {
203
- const dependencies = task.dependencyTaskIds.map(id => tasksById.get(id)).filter((item) => item !== undefined);
204
- const blockers = dependencies.filter(item => item.status !== 'done');
205
- const completedDependencies = dependencies.length - blockers.length;
206
- const assignee = directoryById.get(task.assigneeCompanionId ?? '');
207
- const executionState = execution ? delegationState(execution) : undefined;
208
- return _jsx("article", { className: "dsh-partner-task-card", "data-blocked": blockers.length > 0, "data-priority": task.priority, children: _jsxs("button", { type: "button", className: "dsh-partner-task-summary", "aria-haspopup": "dialog", onClick: open, children: [_jsxs("span", { children: [_jsxs("span", { className: "dsh-partner-task-card-title", children: [_jsx("strong", { title: task.title, children: task.title }), _jsx("em", { children: priorityLabel(task.priority) })] }), _jsxs("small", { className: "dsh-partner-task-card-owner", children: [assignee ? `@${assignee.name}` : '未指派', task.resultSummary ? ' · 已有结果' : '', executionState ? ` · ${executionState.label}` : ''] }), (dependencies.length > 0 || dependentCount > 0) && _jsxs("span", { className: "dsh-partner-task-relations", children: [dependencies.length > 0 && _jsxs("small", { "data-blocked": blockers.length > 0, children: ["\u524D\u7F6E ", completedDependencies, "/", dependencies.length] }), dependentCount > 0 && _jsxs("small", { children: ["\u5B8C\u6210\u540E\u89E3\u9501 ", dependentCount] })] })] }), _jsx(IconChevronRightOutline14, { size: 14 })] }) });
209
- }
210
- function TaskDetail({ task, tasks, activities, directory, execution, busy, update, delegate, review, accept, reject, remove }) {
211
- const [rejecting, setRejecting] = useState(false);
212
- const [rejectReason, setRejectReason] = useState('');
213
- const [confirmingDelete, setConfirmingDelete] = useState(false);
214
- const byId = useMemo(() => new Map(tasks.map(item => [item.id, item])), [tasks]);
215
- const dependencies = task.dependencyTaskIds.map(id => byId.get(id)).filter((item) => item !== undefined);
216
- const blockers = dependencies.filter(item => item.status !== 'done');
217
- const assignee = directory.find(item => item.id === task.assigneeCompanionId);
218
- const reviewer = directory.find(item => item.id === task.reviewerCompanionId);
219
- const dependencyCandidates = tasks.filter(item => item.id !== task.id && !task.dependencyTaskIds.includes(item.id) && !dependsOn(item.id, task.id, byId));
220
- const canExecute = Boolean(task.assigneeCompanionId) && blockers.length === 0 && !['doing', 'review', 'done'].includes(task.status);
221
- const recentActivities = [...activities].sort((left, right) => right.at - left.at).slice(0, 6);
222
- const executionState = execution ? delegationState(execution) : undefined;
223
- return _jsxs("div", { className: "dsh-partner-task-detail", children: [_jsxs("section", { className: "dsh-partner-task-description", children: [_jsx("strong", { children: "\u4EFB\u52A1\u8BF4\u660E" }), _jsx("p", { children: task.description || '没有补充说明' })] }), _jsxs("div", { className: "dsh-partner-task-fields", children: [_jsxs("label", { children: [_jsx("span", { children: "\u72B6\u6001" }), _jsx("select", { value: task.status, disabled: busy, onChange: event => update({ status: event.target.value }), children: COLUMNS.map(item => _jsx("option", { value: item.id, disabled: (item.id === 'doing' || item.id === 'review' || item.id === 'done') && blockers.length > 0 || item.id === 'done' && task.status !== 'review' && task.status !== 'done', children: item.label }, item.id)) })] }), _jsxs("label", { children: [_jsx("span", { children: "\u8D1F\u8D23\u4EBA" }), _jsxs("select", { value: task.assigneeCompanionId ?? '', disabled: busy || task.status === 'doing', onChange: event => update({ assigneeCompanionId: event.target.value }), children: [_jsx("option", { value: "", children: "\u672A\u6307\u6D3E" }), directory.map(item => _jsxs("option", { value: item.id, children: ["@", item.name, " \u00B7 ", item.availability === 'busy' ? '忙碌' : '可用'] }, item.id))] })] }), _jsxs("label", { children: [_jsx("span", { children: "\u9A8C\u6536\u4F19\u4F34" }), _jsxs("select", { value: task.reviewerCompanionId ?? '', disabled: busy, onChange: event => update({ reviewerCompanionId: event.target.value }), children: [_jsx("option", { value: "", children: "\u7559\u7A7A \u00B7 \u4EBA\u5DE5\u9A8C\u6536" }), directory.map(item => _jsxs("option", { value: item.id, children: ["@", item.name] }, item.id))] })] })] }), executionState && _jsxs("section", { className: "dsh-partner-task-execution", "data-state": execution?.status, children: [_jsx("i", {}), _jsxs("span", { children: [_jsx("strong", { children: executionState.title }), _jsx("small", { children: executionState.detail })] })] }), _jsxs("section", { className: "dsh-partner-task-dependency", children: [_jsxs("header", { children: [_jsx("strong", { children: "\u524D\u7F6E\u4EFB\u52A1" }), _jsx("small", { children: blockers.length ? `${blockers.length} 项未完成,当前任务不能启动` : dependencies.length ? '已全部完成,可以启动' : '没有前置依赖' })] }), dependencies.length > 0 && _jsx("div", { children: dependencies.map(item => _jsxs("span", { "data-done": item.status === 'done', children: [_jsx("i", { children: item.status === 'done' ? _jsx(IconCheckOutline16, { size: 12 }) : '' }), _jsx("b", { children: item.title }), _jsx("button", { type: "button", disabled: busy || ['doing', 'review', 'done'].includes(task.status), "aria-label": `移除前置任务 ${item.title}`, onClick: () => update({ dependencyTaskIds: task.dependencyTaskIds.filter(id => id !== item.id) }), children: "\u79FB\u9664" })] }, item.id)) }), dependencyCandidates.length > 0 && _jsxs("label", { children: [_jsx("span", { className: "sr-only", children: "\u589E\u52A0\u524D\u7F6E\u4EFB\u52A1" }), _jsxs("select", { defaultValue: "", disabled: busy || ['doing', 'review', 'done'].includes(task.status), onChange: event => { const id = event.currentTarget.value; if (id)
224
- update({ dependencyTaskIds: [...task.dependencyTaskIds, id] }); event.currentTarget.value = ''; }, children: [_jsx("option", { value: "", children: "\u589E\u52A0\u524D\u7F6E\u4EFB\u52A1\u2026" }), dependencyCandidates.map(item => _jsxs("option", { value: item.id, children: [item.title, " \u00B7 ", statusLabel(item.status)] }, item.id))] })] })] }), task.resultSummary && _jsx(ResultBlock, { label: "\u6267\u884C\u7ED3\u679C", value: task.resultSummary }), task.reviewSummary && _jsx(ResultBlock, { label: `核验意见${reviewer ? ` · @${reviewer.name}` : ''}`, value: task.reviewSummary }), recentActivities.length > 0 && _jsxs("section", { className: "dsh-partner-task-activity", children: [_jsx("strong", { children: "\u6700\u8FD1\u6D3B\u52A8" }), _jsx("ol", { children: recentActivities.map(item => _jsxs("li", { children: [_jsx("span", { children: item.message }), _jsx("time", { children: new Date(item.at).toLocaleString() })] }, item.id)) })] }), rejecting && _jsxs("form", { className: "dsh-partner-task-reject", onSubmit: event => { event.preventDefault(); const reason = rejectReason.trim(); if (!reason)
225
- return; reject(reason); setRejecting(false); setRejectReason(''); }, children: [_jsxs("label", { children: [_jsx("span", { children: "\u6253\u56DE\u539F\u56E0" }), _jsx("textarea", { autoFocus: true, value: rejectReason, onChange: event => setRejectReason(event.target.value), rows: 3, maxLength: 1200, placeholder: "\u8BF4\u660E\u9700\u8981\u91CD\u505A\u6216\u8865\u5145\u7684\u5185\u5BB9" })] }), _jsxs("div", { children: [_jsx("button", { type: "button", onClick: () => { setRejecting(false); setRejectReason(''); }, children: "\u53D6\u6D88" }), _jsx("button", { type: "submit", className: "is-primary", disabled: busy || !rejectReason.trim(), children: "\u786E\u8BA4\u6253\u56DE" })] })] }), confirmingDelete && _jsxs("div", { className: "dsh-partner-task-delete-confirm", role: "alert", children: [_jsx("span", { children: "\u5220\u9664\u540E\uFF0C\u4F9D\u8D56\u5B83\u7684\u4EFB\u52A1\u4F1A\u89E3\u9664\u8FD9\u6761\u524D\u7F6E\u5173\u7CFB\u3002" }), _jsxs("div", { children: [_jsx("button", { type: "button", onClick: () => setConfirmingDelete(false), children: "\u53D6\u6D88" }), _jsx("button", { type: "button", className: "is-danger", disabled: busy, onClick: remove, children: "\u786E\u8BA4\u5220\u9664" })] })] }), _jsxs("footer", { className: "dsh-partner-task-actions", children: [_jsxs("small", { children: ["r", task.revision, " \u00B7 ", new Date(task.updatedAt).toLocaleString()] }), _jsxs("span", { children: [task.status === 'review' ? _jsxs(_Fragment, { children: [task.reviewerCompanionId && _jsx("button", { type: "button", disabled: busy, onClick: review, children: busy ? '核验中…' : `交给 @${reviewer?.name ?? '伙伴'} 核验` }), _jsx("button", { type: "button", disabled: busy, onClick: () => setRejecting(true), children: "\u6253\u56DE\u91CD\u505A" }), _jsx("button", { type: "button", className: "is-primary", disabled: busy, onClick: accept, children: "\u9A8C\u6536\u901A\u8FC7" })] }) : _jsx("button", { type: "button", disabled: busy || !canExecute, title: blockers.length ? '前置任务尚未完成' : !task.assigneeCompanionId ? '请先选择负责人' : undefined, onClick: delegate, children: busy ? '执行中…' : task.status === 'doing' ? '正在执行' : task.status === 'done' ? '已经完成' : `交给 @${assignee?.name ?? '伙伴'}` }), _jsx("button", { type: "button", className: "is-icon", "aria-label": `删除 ${task.title}`, "aria-expanded": confirmingDelete, disabled: busy, onClick: () => setConfirmingDelete(true), children: _jsx(IconTrashOutline16, { size: 14 }) })] })] })] });
226
- }
227
- function ResultBlock({ label, value }) {
228
- return _jsxs("section", { className: "dsh-partner-task-result", children: [_jsx("strong", { children: label }), _jsx("p", { children: value })] });
229
- }
230
- function TaskForm({ companions, tasks, close, changed }) {
231
- const [error, setError] = useState();
232
- const [busy, setBusy] = useState(false);
233
- const dependencyOptions = tasks.filter(item => item.status !== 'done');
234
- const submit = async (event) => {
235
- event.preventDefault();
236
- const data = new FormData(event.currentTarget);
237
- setBusy(true);
238
- setError(undefined);
239
- try {
240
- await api('/tasks', { method: 'POST', body: JSON.stringify({
241
- title: data.get('title'), description: data.get('description'), priority: data.get('priority'), status: 'backlog',
242
- assigneeCompanionId: data.get('assignee') || undefined, reviewerCompanionId: data.get('reviewer') || undefined,
243
- dependencyTaskIds: data.getAll('dependencyTaskId'),
244
- }) });
245
- await changed();
246
- close();
247
- }
248
- catch (reason) {
249
- setError(errorMessage(reason));
250
- }
251
- finally {
252
- setBusy(false);
253
- }
254
- };
255
- return _jsxs("form", { className: "dsh-partner-task-form", "aria-busy": busy, onSubmit: event => { void submit(event); }, children: [_jsxs("label", { children: [_jsx("span", { children: "\u4EFB\u52A1\u540D\u79F0" }), _jsx("input", { name: "title", maxLength: 200, required: true, autoFocus: true, placeholder: "\u4E00\u53E5\u8BDD\u8BF4\u660E\u4EA4\u4ED8\u76EE\u6807" })] }), _jsxs("label", { children: [_jsx("span", { children: "\u8D1F\u8D23\u4EBA" }), _jsxs("select", { name: "assignee", defaultValue: "", children: [_jsx("option", { value: "", children: "\u672A\u6307\u6D3E" }), companions.map(item => _jsxs("option", { value: item.id, children: ["@", item.name] }, item.id))] })] }), _jsxs("label", { className: "is-wide", children: [_jsx("span", { children: "\u4EFB\u52A1\u8BF4\u660E" }), _jsx("textarea", { name: "description", maxLength: 8000, rows: 5, placeholder: "\u8865\u5145\u80CC\u666F\u3001\u4EA4\u4ED8\u7269\u548C\u5B8C\u6210\u6761\u4EF6" })] }), _jsxs("label", { children: [_jsx("span", { children: "\u4F18\u5148\u7EA7" }), _jsxs("select", { name: "priority", defaultValue: "normal", children: [_jsx("option", { value: "low", children: "\u4F4E" }), _jsx("option", { value: "normal", children: "\u666E\u901A" }), _jsx("option", { value: "high", children: "\u9AD8" }), _jsx("option", { value: "urgent", children: "\u7D27\u6025" })] })] }), _jsxs("label", { children: [_jsx("span", { children: "\u9A8C\u6536\u4F19\u4F34" }), _jsxs("select", { name: "reviewer", defaultValue: "", children: [_jsx("option", { value: "", children: "\u7559\u7A7A \u00B7 \u4EBA\u5DE5\u9A8C\u6536" }), companions.map(item => _jsxs("option", { value: item.id, children: ["@", item.name] }, item.id))] })] }), _jsxs("div", { className: "dsh-partner-task-form-dependencies is-wide", children: [_jsxs("span", { children: ["\u4F9D\u8D56\u4EFB\u52A1 ", _jsx("small", { children: "\u53EF\u9009" })] }), dependencyOptions.length > 0 ? _jsx("div", { children: dependencyOptions.map(item => _jsxs("label", { children: [_jsx("input", { type: "checkbox", name: "dependencyTaskId", value: item.id }), _jsx("i", {}), _jsx("span", { children: item.title }), _jsx("small", { children: statusLabel(item.status) })] }, item.id)) }) : _jsx("p", { children: "\u5F53\u524D\u6CA1\u6709\u53EF\u9009\u7684\u672A\u5B8C\u6210\u4EFB\u52A1" }), _jsx("small", { children: "\u53EF\u4EE5\u9009\u62E9\u591A\u4E2A\uFF1B\u7559\u7A7A\u8868\u793A\u8BE5\u4EFB\u52A1\u4E0D\u4F9D\u8D56\u5176\u4ED6\u4EFB\u52A1\u3002" })] }), error && _jsx(WorkspaceNotice, { children: error }), _jsxs("footer", { children: [_jsx("button", { type: "button", disabled: busy, onClick: close, children: "\u53D6\u6D88" }), _jsxs("button", { type: "submit", className: "is-primary", disabled: busy, children: [_jsx(IconPlusOutline16, { size: 14 }), busy ? '创建中…' : '创建任务'] })] })] });
256
- }
257
- function dependsOn(candidateId, targetId, tasks, visited = new Set()) {
258
- if (candidateId === targetId)
259
- return true;
260
- if (visited.has(candidateId))
261
- return false;
262
- visited.add(candidateId);
263
- return (tasks.get(candidateId)?.dependencyTaskIds ?? []).some(id => dependsOn(id, targetId, tasks, visited));
264
- }
265
- function statusLabel(value) { return COLUMNS.find(item => item.id === value)?.label ?? value; }
266
- function taskDialogSummary(task, directory) {
267
- const assignee = directory.find(item => item.id === task.assigneeCompanionId);
268
- return `${statusLabel(task.status)} · ${assignee ? `负责人 @${assignee.name}` : '尚未指派负责人'} · ${priorityLabel(task.priority)}`;
269
- }
270
- function priorityLabel(value) { return ({ low: '低优先级', normal: '普通优先级', high: '高优先级', urgent: '紧急' })[value]; }
271
- function delegationState(value) {
272
- const review = value.kind === 'review';
273
- if (value.status === 'queued') {
274
- const at = value.nextAttemptAt ? new Date(value.nextAttemptAt).toLocaleString() : '稍后';
275
- return { label: '等待自动恢复', title: review ? '验收将在连接恢复后继续' : '任务将在连接恢复后继续', detail: `${at} 自动重试${value.error ? ` · ${value.error}` : ''}` };
276
- }
277
- const recovered = (value.attempts ?? 1) > 1;
278
- return {
279
- label: recovered ? `第 ${value.attempts} 次恢复中` : review ? '伙伴验收中' : '伙伴执行中',
280
- title: recovered ? (review ? '正在恢复伙伴验收' : '正在恢复伙伴任务') : review ? '伙伴正在核验结果' : '伙伴正在执行任务',
281
- detail: recovered ? '会先检查已有产出,避免重复写入或重复发布。' : '执行状态会自动同步,无需手动刷新。',
282
- };
283
- }
1
+ /** Stable workspace entry; requirement navigation owns the board hierarchy. */
2
+ export { RequirementBoard as TaskBoardPanel } from './requirement-board.js';
284
3
  //# sourceMappingURL=task-board-panel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"task-board-panel.js","sourceRoot":"","sources":["../../src/ui/task-board-panel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-board-panel.js","sourceRoot":"","sources":["../../src/ui/task-board-panel.tsx"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,OAAO,EAAE,gBAAgB,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { BoardTaskStatusView, BoardTaskView } from '../client-api.js';
3
+ /** Bounded progressive disclosure; a single page scroll, no tiny inner scroll box. */
4
+ export declare function TaskBoardStage({ id, label, tasks, focused, filtered, renderTask }: {
5
+ id: BoardTaskStatusView;
6
+ label: string;
7
+ tasks: BoardTaskView[];
8
+ focused: boolean;
9
+ filtered: boolean;
10
+ renderTask(task: BoardTaskView): ReactNode;
11
+ }): JSX.Element;
12
+ //# sourceMappingURL=task-board-stage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-board-stage.d.ts","sourceRoot":"","sources":["../../src/ui/task-board-stage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAE1E,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;IAClF,EAAE,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,aAAa,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;IACnG,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAA;CAC3C,GAAG,GAAG,CAAC,OAAO,CAiBd"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { IconChevronRightOutline14 } from '@deepseek-ai/dsh-client-ui-primitives';
4
+ /** Bounded progressive disclosure; a single page scroll, no tiny inner scroll box. */
5
+ export function TaskBoardStage({ id, label, tasks, focused, filtered, renderTask }) {
6
+ const [collapsed, setCollapsed] = useState(false);
7
+ const [limit, setLimit] = useState(6);
8
+ const count = Math.max(limit, focused ? 12 : 6);
9
+ const titleId = `dsh-partner-board-${id}`, listId = `${titleId}-list`;
10
+ const expanded = !collapsed;
11
+ return _jsxs("section", { "data-status": id, "data-empty": tasks.length === 0, "aria-labelledby": titleId, children: [_jsx("header", { children: _jsxs("button", { type: "button", className: "dsh-partner-board-stage-toggle", "aria-expanded": expanded, "aria-controls": listId, onClick: () => setCollapsed(value => !value), children: [_jsx(IconChevronRightOutline14, { size: 14 }), _jsx("strong", { id: titleId, children: label }), _jsx("b", { children: tasks.length })] }) }), _jsx("div", { id: listId, hidden: !expanded, children: tasks.length > 0 ? _jsxs(_Fragment, { children: [_jsx("div", { className: "dsh-partner-board-column-list", children: tasks.slice(0, count).map(renderTask) }), tasks.length > count && _jsxs("button", { type: "button", className: "dsh-partner-board-more", onClick: () => setLimit(count + 12), children: ["\u5C55\u5F00\u66F4\u591A \u00B7 \u8FD8\u6709 ", tasks.length - count, " \u9879"] })] }) : _jsx("p", { className: "dsh-partner-board-empty", children: filtered ? '没有匹配任务' : '暂无任务' }) })] });
12
+ }
13
+ //# sourceMappingURL=task-board-stage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-board-stage.js","sourceRoot":"","sources":["../../src/ui/task-board-stage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AAGjF,sFAAsF;AACtF,MAAM,UAAU,cAAc,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAG/E;IACC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,qBAAqB,EAAE,EAAE,EAAE,MAAM,GAAG,GAAG,OAAO,OAAO,CAAA;IACrE,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAA;IAC3B,OAAO,kCAAsB,EAAE,gBAAc,KAAK,CAAC,MAAM,KAAK,CAAC,qBAAmB,OAAO,aACvF,2BAAQ,kBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,gCAAgC,mBAAgB,QAAQ,mBAAiB,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,aACnK,KAAC,yBAAyB,IAAC,IAAI,EAAE,EAAE,GAAI,EAAA,iBAAQ,EAAE,EAAE,OAAO,YAAG,KAAK,GAAU,EAAA,sBAAI,KAAK,CAAC,MAAM,GAAK,IAC1F,GAAS,EAClB,cAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,QAAQ,YAC/B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,8BAClB,cAAK,SAAS,EAAC,+BAA+B,YAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAO,EAC3F,KAAK,CAAC,MAAM,GAAG,KAAK,IAAI,kBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,wBAAwB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,8DAAa,KAAK,CAAC,MAAM,GAAG,KAAK,eAAY,IACjK,CAAC,CAAC,CAAC,YAAG,SAAS,EAAC,yBAAyB,YAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAK,GAC3E,IACE,CAAA;AACZ,CAAC"}
@@ -28,7 +28,7 @@ export function WorkspaceDialog({ eyebrow = 'CREATE & CONFIGURE', title, detail,
28
28
  }
29
29
  if (event.key !== 'Tab')
30
30
  return;
31
- const focusable = [...(panelRef.current?.querySelectorAll('button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])') ?? [])];
31
+ const focusable = [...(panelRef.current?.querySelectorAll('button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), summary, [tabindex]:not([tabindex="-1"])') ?? [])].filter(node => node.getClientRects().length > 0);
32
32
  if (focusable.length === 0)
33
33
  return;
34
34
  const first = focusable[0];
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-components.js","sourceRoot":"","sources":["../../src/ui/workspace-components.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-components.js","sourceRoot":"","sources":["../../src/ui/workspace-components.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemoncat7/dsh-partner",
3
- "version": "1.8.3",
3
+ "version": "1.10.2",
4
4
  "description": "Long-lived AI companions with WeChat channel routing for DeepSeek Harness",
5
5
  "keywords": [
6
6
  "deepseek-harness",