dsh-group-status 0.2.1 → 0.3.0
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.
- package/CHANGELOG.md +53 -0
- package/README.en.md +36 -18
- package/README.md +39 -19
- package/lib/client.js +659 -300
- package/lib/client.js.map +1 -1
- package/lib/index.js +22 -9
- package/lib/types/client/WorkspacePicker.d.ts +2 -2
- package/lib/types/client/WorkspacePicker.d.ts.map +1 -1
- package/lib/types/client/badge-labels.d.ts +92 -0
- package/lib/types/client/badge-labels.d.ts.map +1 -0
- package/lib/types/client/badge-labels.js +150 -0
- package/lib/types/client/badge-labels.js.map +1 -0
- package/lib/types/client/badge-settings.d.ts +17 -1
- package/lib/types/client/badge-settings.d.ts.map +1 -1
- package/lib/types/client/badge-settings.js +12 -0
- package/lib/types/client/badge-settings.js.map +1 -1
- package/lib/types/client/facet-store.d.ts +46 -0
- package/lib/types/client/facet-store.d.ts.map +1 -0
- package/lib/types/client/facet-store.js +123 -0
- package/lib/types/client/facet-store.js.map +1 -0
- package/lib/types/client/facet-visibility.d.ts +17 -0
- package/lib/types/client/facet-visibility.d.ts.map +1 -0
- package/lib/types/client/facet-visibility.js +18 -0
- package/lib/types/client/facet-visibility.js.map +1 -0
- package/lib/types/client/facets.d.ts +265 -0
- package/lib/types/client/facets.d.ts.map +1 -0
- package/lib/types/client/facets.js +209 -0
- package/lib/types/client/facets.js.map +1 -0
- package/lib/types/client/group-status.d.ts +43 -47
- package/lib/types/client/group-status.d.ts.map +1 -1
- package/lib/types/client/group-status.js +76 -90
- package/lib/types/client/group-status.js.map +1 -1
- package/lib/types/client/index.d.ts +25 -0
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/index.js +28 -0
- package/lib/types/client/index.js.map +1 -1
- package/lib/types/client/legacy/bridge.d.ts +30 -0
- package/lib/types/client/legacy/bridge.d.ts.map +1 -0
- package/lib/types/client/legacy/bridge.js +58 -0
- package/lib/types/client/legacy/bridge.js.map +1 -0
- package/lib/types/client/legacy/register-legacy-facets.d.ts +14 -0
- package/lib/types/client/legacy/register-legacy-facets.d.ts.map +1 -0
- package/lib/types/client/legacy/register-legacy-facets.js +77 -0
- package/lib/types/client/legacy/register-legacy-facets.js.map +1 -0
- package/lib/types/client/legacy/schedule.d.ts +49 -0
- package/lib/types/client/legacy/schedule.d.ts.map +1 -0
- package/lib/types/client/legacy/schedule.js +73 -0
- package/lib/types/client/legacy/schedule.js.map +1 -0
- package/lib/types/client/legacy/store-source.d.ts +78 -0
- package/lib/types/client/legacy/store-source.d.ts.map +1 -0
- package/lib/types/client/legacy/store-source.js +82 -0
- package/lib/types/client/legacy/store-source.js.map +1 -0
- package/lib/types/client/legacy/waiting-review.d.ts +85 -0
- package/lib/types/client/legacy/waiting-review.d.ts.map +1 -0
- package/lib/types/client/legacy/waiting-review.js +179 -0
- package/lib/types/client/legacy/waiting-review.js.map +1 -0
- package/lib/types/client/locales.d.ts +2 -4
- package/lib/types/client/locales.d.ts.map +1 -1
- package/lib/types/client/locales.js +5 -7
- package/lib/types/client/locales.js.map +1 -1
- package/lib/types/client/rows/GroupBadge.d.ts +18 -25
- package/lib/types/client/rows/GroupBadge.d.ts.map +1 -1
- package/lib/types/client/rows/GroupBadge.js +45 -106
- package/lib/types/client/rows/GroupBadge.js.map +1 -1
- package/lib/types/client/rows/Rows.d.ts +8 -4
- package/lib/types/client/rows/Rows.d.ts.map +1 -1
- package/lib/types/client/rows/Rows.js +6 -6
- package/lib/types/client/rows/Rows.js.map +1 -1
- package/lib/types/client/rows/WorkspaceBrowser.d.ts +1 -1
- package/lib/types/client/rows/WorkspaceBrowser.d.ts.map +1 -1
- package/lib/types/client/rows/WorkspaceBrowser.js +30 -23
- package/lib/types/client/rows/WorkspaceBrowser.js.map +1 -1
- package/lib/types/client/session-actions/ArchiveSession.d.ts +3 -3
- package/lib/types/client/session-actions/ArchiveSession.d.ts.map +1 -1
- package/lib/types/client/session-actions/ForkSession.d.ts +1 -1
- package/lib/types/client/session-actions/ForkSession.d.ts.map +1 -1
- package/lib/types/client/session-actions/PinSession.d.ts +2 -2
- package/lib/types/client/session-actions/PinSession.d.ts.map +1 -1
- package/lib/types/client/session-actions/RenameSession.d.ts +2 -2
- package/lib/types/client/session-actions/RenameSession.d.ts.map +1 -1
- package/lib/types/client/session-actions/RowActionToast.d.ts +1 -1
- package/lib/types/client/session-actions/RowActionToast.d.ts.map +1 -1
- package/lib/types/client/tree.d.ts +0 -2
- package/lib/types/client/tree.d.ts.map +1 -1
- package/lib/types/client/tree.js +0 -2
- package/lib/types/client/tree.js.map +1 -1
- package/lib/types/index.d.ts +56 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/index.js +1 -1
- package/lib/types/index.js.map +1 -1
- package/package.json +1 -5
- package/lib/tsconfig.tsbuildinfo +0 -1
|
@@ -1,34 +1,24 @@
|
|
|
1
|
+
import { defaultMergeFold } from "./facets.js";
|
|
2
|
+
/** 空折果表:让哨兵的引用跨渲染稳定。 */
|
|
3
|
+
const EMPTY_FACETS = new Map();
|
|
1
4
|
/**
|
|
2
5
|
* Zero-valued sentinel for {@link GroupLiveStatus}.
|
|
3
6
|
*
|
|
4
|
-
* Used when a group
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* React selectors never trigger spurious re-renders on it.
|
|
7
|
+
* Used when a group has nothing to report. Kept as a frozen constant so the
|
|
8
|
+
* reference is stable across renders — `Object.is` comparisons in React selectors
|
|
9
|
+
* never trigger spurious re-renders on it.
|
|
8
10
|
*/
|
|
9
11
|
export const EMPTY_LIVE_STATUS = Object.freeze({
|
|
10
12
|
running: 0, approval: 0, planReview: 0, question: 0, done: 0, subagents: 0,
|
|
11
|
-
|
|
12
|
-
waitingReviewCount: 0, waitingReviewState: undefined,
|
|
13
|
+
facets: EMPTY_FACETS,
|
|
13
14
|
});
|
|
14
15
|
/**
|
|
15
|
-
*
|
|
16
|
-
* highest-priority state (overdue > urgent > scheduled for schedule; overdue > waiting
|
|
17
|
-
* for waiting-review).
|
|
16
|
+
* 合并两份分组折果:本插件自己的计数相加,外部状态来源**按 facet 各自合并**。
|
|
18
17
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* 用于多层聚合:折叠的父文件夹要覆盖整棵子树,而子树里每一层都已各自折过一遍。
|
|
19
|
+
* `FacetFold.data` 怎么合归该 facet 自己决定,本模块从不解释。
|
|
21
20
|
*/
|
|
22
21
|
export function mergeLiveStatus(a, b) {
|
|
23
|
-
// Schedule state: overdue (3) > urgent (2) > scheduled (1) > undefined (0)
|
|
24
|
-
const priorityOf = (s) => s === 'overdue' ? 3 : s === 'urgent' ? 2 : s === 'scheduled' ? 1 : 0;
|
|
25
|
-
const schedulePriorityA = priorityOf(a.scheduleState);
|
|
26
|
-
const schedulePriorityB = priorityOf(b.scheduleState);
|
|
27
|
-
const scheduleState = schedulePriorityA >= schedulePriorityB ? a.scheduleState : b.scheduleState;
|
|
28
|
-
// Waiting-review state: overdue > waiting > undefined
|
|
29
|
-
const waitingPriorityA = a.waitingReviewState === 'overdue' ? 2 : a.waitingReviewState === 'waiting' ? 1 : 0;
|
|
30
|
-
const waitingPriorityB = b.waitingReviewState === 'overdue' ? 2 : b.waitingReviewState === 'waiting' ? 1 : 0;
|
|
31
|
-
const waitingReviewState = waitingPriorityA >= waitingPriorityB ? a.waitingReviewState : b.waitingReviewState;
|
|
32
22
|
return {
|
|
33
23
|
running: a.running + b.running,
|
|
34
24
|
approval: a.approval + b.approval,
|
|
@@ -36,24 +26,25 @@ export function mergeLiveStatus(a, b) {
|
|
|
36
26
|
question: a.question + b.question,
|
|
37
27
|
done: a.done + b.done,
|
|
38
28
|
subagents: a.subagents + b.subagents,
|
|
39
|
-
|
|
40
|
-
scheduledCount: a.scheduledCount + b.scheduledCount,
|
|
41
|
-
scheduleState,
|
|
42
|
-
waitingReviewCount: a.waitingReviewCount + b.waitingReviewCount,
|
|
43
|
-
waitingReviewState,
|
|
29
|
+
facets: mergeFacets(a.facets, b.facets),
|
|
44
30
|
};
|
|
45
31
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
32
|
+
/** 按 facet id 合并两侧折果;只有一侧有的来源原样带过。 */
|
|
33
|
+
function mergeFacets(a, b) {
|
|
34
|
+
if (a.size === 0)
|
|
35
|
+
return b;
|
|
36
|
+
if (b.size === 0)
|
|
37
|
+
return a;
|
|
38
|
+
const merged = new Map(a);
|
|
39
|
+
for (const [id, entry] of b) {
|
|
40
|
+
const own = merged.get(id);
|
|
41
|
+
// 合并规则由该来源自己声明;缺省只加数量、取更紧急的色档、脉冲取或。
|
|
42
|
+
// 合并后仍沿用先登记那一份的 facet 引用:两侧本就是同一个来源。
|
|
43
|
+
merged.set(id, own === undefined
|
|
44
|
+
? entry
|
|
45
|
+
: { facet: own.facet, fold: own.facet.merge?.(own.fold, entry.fold) ?? defaultMergeFold(own.fold, entry.fold) });
|
|
46
|
+
}
|
|
47
|
+
return merged;
|
|
57
48
|
}
|
|
58
49
|
// ── Main computation ──
|
|
59
50
|
/**
|
|
@@ -61,85 +52,80 @@ function stripSessionPrefix(id) {
|
|
|
61
52
|
* hidden live sessions. Mirrors the session-row status priority (pending
|
|
62
53
|
* outranks running outranks completed) at the counting level; labels resolve with
|
|
63
54
|
* locale at render time.
|
|
55
|
+
*
|
|
64
56
|
* @param nodes - member rows of the group.
|
|
65
|
-
* @param sessionIds - the same members' Session ids (
|
|
66
|
-
* @param
|
|
67
|
-
* @param
|
|
57
|
+
* @param sessionIds - the same members' Session ids (facets address their own data by id).
|
|
58
|
+
* @param facets - the registered status sources to fold over this group.
|
|
59
|
+
* @param now - one clock reading for the whole pass, so sibling facets cannot disagree
|
|
60
|
+
* about which deadlines are still ahead.
|
|
68
61
|
*/
|
|
69
|
-
export function summarizeGroupStatus(nodes, sessionIds,
|
|
62
|
+
export function summarizeGroupStatus(nodes, sessionIds, facets = [], now = Date.now()) {
|
|
70
63
|
let running = 0;
|
|
71
64
|
let approval = 0;
|
|
72
65
|
let planReview = 0;
|
|
73
66
|
let question = 0;
|
|
74
67
|
let done = 0;
|
|
75
68
|
let subagents = 0;
|
|
69
|
+
// #25②:这一段曾与 `rows/Rows.tsx` 的 `sessionStatuses()` 各写一份优先级,两处结果不同
|
|
70
|
+
// (pending 会话漏算子智能体;未运行但已完成 + 有运行中子智能体时两处判断相反)。计数
|
|
71
|
+
// 判据仍在本模块(徽标只需要五个数字),但**语义以行内为准**:行内 pending 会同时给出
|
|
72
|
+
// subagents,未运行且有 subagents 时不承认 completed。下面的分支刻意照抄那两条规则,
|
|
73
|
+
// 不是另立一套「徽标自己的优先级」。
|
|
76
74
|
for (const n of nodes) {
|
|
77
75
|
if (n.blank || n.archived)
|
|
78
76
|
continue;
|
|
77
|
+
const hasSubagents = n.runningSubagentCount > 0;
|
|
78
|
+
// 行内:pending 与 subagents 可并存(Rows.tsx `[pending, subagents]`),故不 `continue`。
|
|
79
79
|
if (n.pendingInteraction === 'approval') {
|
|
80
80
|
approval += 1;
|
|
81
|
+
subagents += n.runningSubagentCount;
|
|
81
82
|
continue;
|
|
82
83
|
}
|
|
83
84
|
if (n.pendingInteraction === 'plan-review') {
|
|
84
85
|
planReview += 1;
|
|
86
|
+
subagents += n.runningSubagentCount;
|
|
85
87
|
continue;
|
|
86
88
|
}
|
|
87
89
|
if (n.pendingInteraction === 'question') {
|
|
88
90
|
question += 1;
|
|
91
|
+
subagents += n.runningSubagentCount;
|
|
89
92
|
continue;
|
|
90
93
|
}
|
|
91
|
-
if (n.running)
|
|
94
|
+
if (n.running) {
|
|
92
95
|
running += 1;
|
|
93
|
-
|
|
96
|
+
subagents += n.runningSubagentCount;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
// 行内:subagents 优先于 completed(`if (subagents !== undefined) return [subagents]`)。
|
|
100
|
+
if (hasSubagents) {
|
|
101
|
+
subagents += n.runningSubagentCount;
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
if (n.completed)
|
|
94
105
|
done += 1;
|
|
95
|
-
subagents += n.runningSubagentCount;
|
|
96
106
|
}
|
|
97
|
-
//
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
let highestPriority = 0; // 0=none, 1=scheduled, 2=urgent, 3=overdue
|
|
105
|
-
for (const id of sessionIds) {
|
|
106
|
-
const entry = scheduleSummary.get(id);
|
|
107
|
-
if (entry) {
|
|
108
|
-
totalSessions += 1;
|
|
109
|
-
totalCount += entry.count;
|
|
110
|
-
const priority = entry.state === 'overdue' ? 3 : entry.state === 'urgent' ? 2 : 1;
|
|
111
|
-
if (priority > highestPriority)
|
|
112
|
-
highestPriority = priority;
|
|
113
|
-
}
|
|
107
|
+
// 外部来源逐个折。一个来源坏了不该带塌整只徽标:快照读失败按「此刻没有数据」处理,
|
|
108
|
+
// 折叠抛错则跳过该来源——两者都不往渲染管线里扩散。
|
|
109
|
+
const folded = new Map();
|
|
110
|
+
for (const { facet } of facets) {
|
|
111
|
+
let snapshot;
|
|
112
|
+
try {
|
|
113
|
+
snapshot = facet.getSnapshot();
|
|
114
114
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
if (waitingReviewSummary && sessionIds.length > 0) {
|
|
127
|
-
for (const id of sessionIds) {
|
|
128
|
-
const entry = waitingReviewSummary.get(id) ?? waitingReviewSummary.get(stripSessionPrefix(id));
|
|
129
|
-
if (entry === undefined)
|
|
130
|
-
continue;
|
|
131
|
-
waitingReviewCount += 1;
|
|
132
|
-
if (entry.state === 'overdue')
|
|
133
|
-
waitingReviewState = 'overdue';
|
|
134
|
-
else if (waitingReviewState === undefined)
|
|
135
|
-
waitingReviewState = 'waiting';
|
|
115
|
+
catch {
|
|
116
|
+
snapshot = undefined;
|
|
117
|
+
}
|
|
118
|
+
try {
|
|
119
|
+
const result = facet.fold(snapshot, sessionIds, now);
|
|
120
|
+
// `count <= 0` 的来源不进表:数字、图标、文案、显隐判定都当它不存在。
|
|
121
|
+
if (result !== undefined && result.count > 0)
|
|
122
|
+
folded.set(facet.id, { facet, fold: result });
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
/* 同上:这个来源此刻不参与徽标 */
|
|
136
126
|
}
|
|
137
127
|
}
|
|
138
|
-
return {
|
|
139
|
-
running, approval, planReview, question, done, subagents,
|
|
140
|
-
scheduledSessions, scheduledCount, scheduleState,
|
|
141
|
-
waitingReviewCount, waitingReviewState,
|
|
142
|
-
};
|
|
128
|
+
return { running, approval, planReview, question, done, subagents, facets: folded };
|
|
143
129
|
}
|
|
144
130
|
/**
|
|
145
131
|
* Measure each group's own members, as the input to {@link aggregateGroupStatuses}.
|
|
@@ -152,13 +138,13 @@ export function summarizeGroupStatus(nodes, sessionIds, waitingReviewSummary, sc
|
|
|
152
138
|
* every collapsed parent undercount by the size of its expanded descendants.
|
|
153
139
|
*
|
|
154
140
|
* @param groups - derived groups, each with its member rows already populated.
|
|
155
|
-
* @param
|
|
156
|
-
* @param
|
|
141
|
+
* @param facets - registered sources, already filtered by the visibility settings.
|
|
142
|
+
* @param now - one clock reading shared by every group in the pass.
|
|
157
143
|
*/
|
|
158
|
-
export function directStatusesForGroups(groups,
|
|
144
|
+
export function directStatusesForGroups(groups, facets = [], now = Date.now()) {
|
|
159
145
|
const map = new Map();
|
|
160
146
|
for (const group of groups) {
|
|
161
|
-
map.set(group.key, summarizeGroupStatus(group.sessions, group.sessions.map(s => s.id),
|
|
147
|
+
map.set(group.key, summarizeGroupStatus(group.sessions, group.sessions.map(s => s.id), facets, now));
|
|
162
148
|
}
|
|
163
149
|
return map;
|
|
164
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group-status.js","sourceRoot":"","sources":["../../../src/client/group-status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"group-status.js","sourceRoot":"","sources":["../../../src/client/group-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,31 @@ declare module '@deepseek-ai/dsh-api-session-controller/client' {
|
|
|
31
31
|
* provides a waitable service. apply therefore depends on each slot
|
|
32
32
|
* declaration through `slots.inject()` instead of assuming order.
|
|
33
33
|
*/
|
|
34
|
+
/**
|
|
35
|
+
* ── 跨插件公共 API:分组状态 facet 协议 ─────────────────────────────
|
|
36
|
+
*
|
|
37
|
+
* 任何插件想让自己的状态进**折叠分组**的徽标,就 `require('dsh-group-status/client')`
|
|
38
|
+
* 拿这三个符号注册一个 facet;本插件不认识它,也不为它改代码:
|
|
39
|
+
*
|
|
40
|
+
* ```ts
|
|
41
|
+
* const gs = require('dsh-group-status/client')
|
|
42
|
+
* const unregister = gs?.registerGroupStatusFacet?.({
|
|
43
|
+
* protocol: gs.GROUP_STATUS_FACET_PROTOCOL_VERSION,
|
|
44
|
+
* id: 'my-plugin.review', // '<包名>.<状态名>',全局唯一
|
|
45
|
+
* subscribe: store.subscribe, // 外部存储面,不要求 React hook
|
|
46
|
+
* getSnapshot: store.getSnapshot,
|
|
47
|
+
* fold: (snapshot, sessionIds, now) => ({ count, tone, pulse, data }),
|
|
48
|
+
* merge: (a, b) => ({ ... }), // 多层文件夹怎么合并你的折果
|
|
49
|
+
* label: (fold, { now }) => '等待评审(剩 3分钟) · #15',
|
|
50
|
+
* renderIcon: (fold) => h('svg', …), // 图标归你,本插件只负责摆放
|
|
51
|
+
* })
|
|
52
|
+
* ctx.effect(() => () => unregister?.(), 'my-plugin: group-status facet')
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* 完整契约、版本规则与为什么是这个方向见 `docs/facet-protocol.md`。
|
|
56
|
+
*/
|
|
57
|
+
export { GROUP_STATUS_FACET_PROTOCOL_VERSION, FACET_TONE_RANK, registerGroupStatusFacet, registry as groupStatusFacetRegistry, } from './facets.ts';
|
|
58
|
+
export type { AnyFacet, AnyFacetFold, FacetFold, FacetOrigin, FacetRenderContext, FacetRegistration, FacetRejection, FacetTone, GroupStatusFacet, Unregister, } from './facets.ts';
|
|
34
59
|
export declare const inject: string[];
|
|
35
60
|
/**
|
|
36
61
|
* Register the browser and picker once their slot declarations are on the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,KAAK,EAC2C,iBAAiB,EACvE,MAAM,kDAAkD,CAAA;AAEzD,OAAO,KAAK,EAAkB,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAqB5F,OAAO,EAAuC,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,KAAK,EAC2C,iBAAiB,EACvE,MAAM,kDAAkD,CAAA;AAEzD,OAAO,KAAK,EAAkB,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAqB5F,OAAO,EAAuC,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAarG,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AAExD,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,YAAY,EACV,uBAAuB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,wBAAwB,EAC/F,aAAa,EAAE,QAAQ,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,wBAAwB,EAC9G,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EAAE,oBAAoB,GAC9C,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,mBAAmB;QAC3B,iEAAiE;QACjE,aAAa,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;QACtD,8EAA8E;QAC9E,gBAAgB,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,CAAA;KAC9D;IAED,UAAU,kBAAkB;QAC1B,+DAA+D;QAC/D,SAAS,EAAE,YAAY,CAAA;KACxB;CACF;AAED,OAAO,QAAQ,gDAAgD,CAAC;IAC9D,UAAU,yBAAyB;QACjC,kBAAkB,EAAE,OAAO,CAAA;KAC5B;CACF;AAkCD;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EACL,mCAAmC,EAAE,eAAe,EAAE,wBAAwB,EAC9E,QAAQ,IAAI,wBAAwB,GACrC,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAClE,iBAAiB,EAAE,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,GAC3E,MAAM,aAAa,CAAA;AAEpB,eAAO,MAAM,MAAM,UAElB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA8QxC"}
|
|
@@ -2,6 +2,7 @@ import { createSnapshotStore } from '@deepseek-ai/dsh-client-store';
|
|
|
2
2
|
import { menuOpenStateFactory, } from "./contract/slots.js";
|
|
3
3
|
import { createWorkspaceShortcutControls, installWorkspaceShortcuts } from "./shortcuts.js";
|
|
4
4
|
import { createBadgeSettingsSource, ENTRY_ID } from "./badge-settings.js";
|
|
5
|
+
import { disposeFacetStore } from "./facet-store.js";
|
|
5
6
|
import { BadgeSettingsCard } from "./BadgeSettingsCard.js";
|
|
6
7
|
import { UiWorkspaceService } from "./navigation.js";
|
|
7
8
|
import { createWorkspaceViewStore } from "./stores.js";
|
|
@@ -31,6 +32,30 @@ const CONFIG_CARD_KEY = 'dsh-group-status';
|
|
|
31
32
|
* provides a waitable service. apply therefore depends on each slot
|
|
32
33
|
* declaration through `slots.inject()` instead of assuming order.
|
|
33
34
|
*/
|
|
35
|
+
/**
|
|
36
|
+
* ── 跨插件公共 API:分组状态 facet 协议 ─────────────────────────────
|
|
37
|
+
*
|
|
38
|
+
* 任何插件想让自己的状态进**折叠分组**的徽标,就 `require('dsh-group-status/client')`
|
|
39
|
+
* 拿这三个符号注册一个 facet;本插件不认识它,也不为它改代码:
|
|
40
|
+
*
|
|
41
|
+
* ```ts
|
|
42
|
+
* const gs = require('dsh-group-status/client')
|
|
43
|
+
* const unregister = gs?.registerGroupStatusFacet?.({
|
|
44
|
+
* protocol: gs.GROUP_STATUS_FACET_PROTOCOL_VERSION,
|
|
45
|
+
* id: 'my-plugin.review', // '<包名>.<状态名>',全局唯一
|
|
46
|
+
* subscribe: store.subscribe, // 外部存储面,不要求 React hook
|
|
47
|
+
* getSnapshot: store.getSnapshot,
|
|
48
|
+
* fold: (snapshot, sessionIds, now) => ({ count, tone, pulse, data }),
|
|
49
|
+
* merge: (a, b) => ({ ... }), // 多层文件夹怎么合并你的折果
|
|
50
|
+
* label: (fold, { now }) => '等待评审(剩 3分钟) · #15',
|
|
51
|
+
* renderIcon: (fold) => h('svg', …), // 图标归你,本插件只负责摆放
|
|
52
|
+
* })
|
|
53
|
+
* ctx.effect(() => () => unregister?.(), 'my-plugin: group-status facet')
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* 完整契约、版本规则与为什么是这个方向见 `docs/facet-protocol.md`。
|
|
57
|
+
*/
|
|
58
|
+
export { GROUP_STATUS_FACET_PROTOCOL_VERSION, FACET_TONE_RANK, registerGroupStatusFacet, registry as groupStatusFacetRegistry, } from "./facets.js";
|
|
34
59
|
export const inject = [
|
|
35
60
|
'slots', 'sessions', 'workspaces', 'locale', 'remote', 'remote.directoryPicker', 'layout', 'shortcuts',
|
|
36
61
|
];
|
|
@@ -55,6 +80,9 @@ export function apply(ctx) {
|
|
|
55
80
|
const uiWorkspace = new UiWorkspaceService(ctx, ctx.remote.directoryPicker, workspaces, sessions, viewInstance.actions, notify);
|
|
56
81
|
ctx.slots.provideRoot({ hooks: { workspaces: workspaces.list } });
|
|
57
82
|
ctx.effect(() => ctx.locale.register(NS, { zh, en }), 'ui-workspace: dictionaries');
|
|
83
|
+
// 外部状态来源只有一张登记面(`facets.ts`):本插件不认识任何具体插件,也不代任何
|
|
84
|
+
// 插件登记。释放单例存储即可,来源自己的 facet 由它们的插件生命周期负责注销。
|
|
85
|
+
ctx.effect(() => () => disposeFacetStore(), 'ui-workspace: status facets');
|
|
58
86
|
const shortcutControls = createWorkspaceShortcutControls();
|
|
59
87
|
// 折叠徽标的显示偏好(`showCompletedInBadge`)。
|
|
60
88
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 过渡期的跨插件桥:把 dsh-later / dsh-gitea-dispatch 的摘要面接到 facet 登记面上。
|
|
3
|
+
*
|
|
4
|
+
* ⚠️ 本目录整体是**临时代管**。两个提供方按 `../facets.ts` 的协议自己注册之后
|
|
5
|
+
* (对应它们各自的 issue),`legacy/` 整个目录与 `package.json` 里的
|
|
6
|
+
* `dsh.client.external` 两条声明一并删除,本插件不再认识任何具体状态源。
|
|
7
|
+
*
|
|
8
|
+
* ## 为什么在这里、又为什么要"登记表"
|
|
9
|
+
*
|
|
10
|
+
* 两家的 store 都在自己的 client `apply` 里创建,而**插件 apply 的先后宿主不保证**:
|
|
11
|
+
* 本插件可能在对方 store 就绪之前就开始渲染。所以桥接层不能一次性抓 store,必须
|
|
12
|
+
* 订阅对方的"store 登记变化",并把 store 的迟到本身当作一次快照变化通知出去
|
|
13
|
+
* (`subscribe` 里同时挂两层)。这与 `cross-plugin-summary.ts` 里 `createSummaryRegistry`
|
|
14
|
+
* 解决的是一模一样的问题,只是这次藏在桥接层里,不污染协议。
|
|
15
|
+
*
|
|
16
|
+
* ## 为什么用 subscribe/getSnapshot 而不是调对方的 hook
|
|
17
|
+
*
|
|
18
|
+
* 见 `../facets.ts` 文件头:hook 数量必须逐次渲染恒定,而 facet 运行时可增删。桥接层
|
|
19
|
+
* 只要把对方的 store 面交出去,聚合侧就完全不需要知道背后有几个来源。
|
|
20
|
+
*
|
|
21
|
+
* @module dsh-group-status/client/legacy/bridge
|
|
22
|
+
*/
|
|
23
|
+
import { type FacetRegistry, type Unregister } from '../facets.ts';
|
|
24
|
+
/**
|
|
25
|
+
* 安装过渡适配器。
|
|
26
|
+
*
|
|
27
|
+
* @param target - 登记面;缺省用生产单例,测试传入自建实例以隔离。
|
|
28
|
+
*/
|
|
29
|
+
export declare function installLegacyBridges(target?: FacetRegistry): Unregister;
|
|
30
|
+
//# sourceMappingURL=bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../../src/client/legacy/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAY,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAA;AAsB5E;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,GAAE,aAAwB,GAAG,UAAU,CAUjF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 过渡期的跨插件桥:把 dsh-later / dsh-gitea-dispatch 的摘要面接到 facet 登记面上。
|
|
3
|
+
*
|
|
4
|
+
* ⚠️ 本目录整体是**临时代管**。两个提供方按 `../facets.ts` 的协议自己注册之后
|
|
5
|
+
* (对应它们各自的 issue),`legacy/` 整个目录与 `package.json` 里的
|
|
6
|
+
* `dsh.client.external` 两条声明一并删除,本插件不再认识任何具体状态源。
|
|
7
|
+
*
|
|
8
|
+
* ## 为什么在这里、又为什么要"登记表"
|
|
9
|
+
*
|
|
10
|
+
* 两家的 store 都在自己的 client `apply` 里创建,而**插件 apply 的先后宿主不保证**:
|
|
11
|
+
* 本插件可能在对方 store 就绪之前就开始渲染。所以桥接层不能一次性抓 store,必须
|
|
12
|
+
* 订阅对方的"store 登记变化",并把 store 的迟到本身当作一次快照变化通知出去
|
|
13
|
+
* (`subscribe` 里同时挂两层)。这与 `cross-plugin-summary.ts` 里 `createSummaryRegistry`
|
|
14
|
+
* 解决的是一模一样的问题,只是这次藏在桥接层里,不污染协议。
|
|
15
|
+
*
|
|
16
|
+
* ## 为什么用 subscribe/getSnapshot 而不是调对方的 hook
|
|
17
|
+
*
|
|
18
|
+
* 见 `../facets.ts` 文件头:hook 数量必须逐次渲染恒定,而 facet 运行时可增删。桥接层
|
|
19
|
+
* 只要把对方的 store 面交出去,聚合侧就完全不需要知道背后有几个来源。
|
|
20
|
+
*
|
|
21
|
+
* @module dsh-group-status/client/legacy/bridge
|
|
22
|
+
*/
|
|
23
|
+
import { registry } from "../facets.js";
|
|
24
|
+
import { assembleLegacySources } from "./store-source.js";
|
|
25
|
+
import { registerLegacyFacets } from "./register-legacy-facets.js";
|
|
26
|
+
/**
|
|
27
|
+
* 读一个 provider 的 client 模块表行。
|
|
28
|
+
*
|
|
29
|
+
* 用**注入的** `require`(闭包工厂的参数)而不是 `globalThis.require`:宿主没有全局
|
|
30
|
+
* require(实测 `typeof globalThis.require === 'undefined'`),走全局会静默拿到
|
|
31
|
+
* undefined,于是整个跨插件集成"看起来装着、其实一直没工作"。
|
|
32
|
+
* 提供方未安装 / 未启用时模块表里没有这一行,`require` 抛错 → 当作缺席。
|
|
33
|
+
*/
|
|
34
|
+
function clientOf(specifier) {
|
|
35
|
+
try {
|
|
36
|
+
return require(specifier);
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* 安装过渡适配器。
|
|
44
|
+
*
|
|
45
|
+
* @param target - 登记面;缺省用生产单例,测试传入自建实例以隔离。
|
|
46
|
+
*/
|
|
47
|
+
export function installLegacyBridges(target = registry) {
|
|
48
|
+
const later = clientOf('dsh-later/client');
|
|
49
|
+
const dispatch = clientOf('dsh-gitea-dispatch/client');
|
|
50
|
+
// 缺席就省略键(exactOptionalPropertyTypes 下 undefined 不是"没有"的合法写法)。
|
|
51
|
+
const clients = {
|
|
52
|
+
...(later === undefined ? {} : { later }),
|
|
53
|
+
...(dispatch === undefined ? {} : { dispatch }),
|
|
54
|
+
};
|
|
55
|
+
const sources = assembleLegacySources(clients);
|
|
56
|
+
return registerLegacyFacets(sources, target);
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../../src/client/legacy/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,QAAQ,EAAuC,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAA8B,MAAM,mBAAmB,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA8B,CAAA;AAInE;;;;;;;GAOG;AACH,SAAS,QAAQ,CAAI,SAAiB;IACpC,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,SAAS,CAAkB,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAwB,QAAQ;IACnE,MAAM,KAAK,GAAG,QAAQ,CAAiC,kBAAkB,CAAC,CAAA;IAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAoC,2BAA2B,CAAC,CAAA;IACzF,8DAA8D;IAC9D,MAAM,OAAO,GAA0B;QACrC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;KAChD,CAAA;IACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC9C,OAAO,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;AAC9C,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type FacetRegistry, type Unregister } from '../facets.ts';
|
|
2
|
+
import type { LegacyFacetSources } from './store-source.ts';
|
|
3
|
+
/**
|
|
4
|
+
* 登记本插件目前**代管**的状态源。
|
|
5
|
+
*
|
|
6
|
+
* 两个 facet 都显式声明 `origin: 'legacy'`,所以状态所有者一旦自己注册同名 facet,
|
|
7
|
+
* 适配器就让位({@link FACET_ORIGIN_RANK}),不会重复计数。
|
|
8
|
+
*
|
|
9
|
+
* @returns 一次性注销函数(挂到 `ctx.effect` 的清理上)。
|
|
10
|
+
*/
|
|
11
|
+
export declare function registerLegacyFacets(sources: LegacyFacetSources, target?: FacetRegistry): Unregister;
|
|
12
|
+
/** 本插件目前代管了哪些状态源(诊断与测试用)。 */
|
|
13
|
+
export declare const LEGACY_FACET_IDS: readonly string[];
|
|
14
|
+
//# sourceMappingURL=register-legacy-facets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-legacy-facets.d.ts","sourceRoot":"","sources":["../../../../src/client/legacy/register-legacy-facets.tsx"],"names":[],"mappings":"AAYA,OAAO,EAA2C,KAAK,aAAa,EAAyB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAA;AAGlI,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAkB3D;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,GAAE,aAA+B,GAAG,UAAU,CAwCrH;AAUD,6BAA6B;AAC7B,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAAiD,CAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 过渡期:把内置适配器登记进 facet 注册面,并交出它们各自的图标。
|
|
3
|
+
*
|
|
4
|
+
* ⚠️ 本文件与整个 `legacy/` 目录都是**临时代管**:状态所有者(dsh-later、
|
|
5
|
+
* dsh-gitea-dispatch)按 `../facets.ts` 的协议自己注册之后,这里连同两个适配器一起
|
|
6
|
+
* 删除。图标之所以留在这一层而不是放回 `rows/GroupBadge.tsx`:「这个状态长什么样」
|
|
7
|
+
* 是状态所有者的知识,本插件只管把它放进徽标的排格里。
|
|
8
|
+
*
|
|
9
|
+
* @module dsh-group-status/client/legacy/register-legacy-facets
|
|
10
|
+
*/
|
|
11
|
+
import { createElement } from 'react';
|
|
12
|
+
import { IconClockOutlineRegular, IconListPenOutlineRegular } from '@deepseek-ai/dsh-client-ui-primitives';
|
|
13
|
+
import { registerGroupStatusFacet } from "../facets.js";
|
|
14
|
+
import { registry as defaultRegistry } from "../facets.js";
|
|
15
|
+
import { createScheduleFacet, SCHEDULE_FACET_ID } from "./schedule.js";
|
|
16
|
+
import { createWaitingReviewFacet, WAITING_REVIEW_FACET_ID, } from "./waiting-review.js";
|
|
17
|
+
/** 语义色档 → 宿主色令牌(与改造前的取色逐档一致)。 */
|
|
18
|
+
const TONE_COLOR = {
|
|
19
|
+
info: '#8b5cf6',
|
|
20
|
+
warn: 'var(--dsw-alias-state-warn-secondary)',
|
|
21
|
+
error: 'var(--dsw-alias-state-error-primary)',
|
|
22
|
+
};
|
|
23
|
+
/** 带色的一小段 inline-flex,尺寸与其余徽标图标一致。 */
|
|
24
|
+
function glyph(color, icon) {
|
|
25
|
+
return createElement('span', { style: { color, display: 'inline-flex', alignItems: 'center' } }, icon);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* 登记本插件目前**代管**的状态源。
|
|
29
|
+
*
|
|
30
|
+
* 两个 facet 都显式声明 `origin: 'legacy'`,所以状态所有者一旦自己注册同名 facet,
|
|
31
|
+
* 适配器就让位({@link FACET_ORIGIN_RANK}),不会重复计数。
|
|
32
|
+
*
|
|
33
|
+
* @returns 一次性注销函数(挂到 `ctx.effect` 的清理上)。
|
|
34
|
+
*/
|
|
35
|
+
export function registerLegacyFacets(sources, target = defaultRegistry) {
|
|
36
|
+
const disposers = [];
|
|
37
|
+
if (sources.schedule !== undefined) {
|
|
38
|
+
const facet = {
|
|
39
|
+
...createScheduleFacet(sources.schedule),
|
|
40
|
+
// 紫色与 dsh-later 自己的定时徽标同源(浅深底对比均 >=3:1);
|
|
41
|
+
// urgent / overdue 走宿主 warn / error 语义令牌。
|
|
42
|
+
renderIcon: (fold) => glyph(fold.tone === 'error' ? TONE_COLOR.error : fold.tone === 'warn' ? TONE_COLOR.warn : TONE_COLOR.info, createElement(IconClockOutlineRegular, { size: 14 })),
|
|
43
|
+
};
|
|
44
|
+
disposers.push(target === defaultRegistry
|
|
45
|
+
? registerGroupStatusFacet(facet)
|
|
46
|
+
: registerInto(target, facet));
|
|
47
|
+
}
|
|
48
|
+
if (sources.waiting !== undefined) {
|
|
49
|
+
const facet = {
|
|
50
|
+
...createWaitingReviewFacet(sources.waiting),
|
|
51
|
+
// #23:这枚「列表笔」是**过时刻意保留的兜底形状,不是当前形状**。dsh-gitea-dispatch
|
|
52
|
+
// 自其 #56/#60 起交出自绘的沙漏(跟随 waitingIconStyle 四档),本文件按
|
|
53
|
+
// FACET_ORIGIN_RANK 让位给它(provider 恒胜 legacy)。只有 provider 缺席
|
|
54
|
+
//(未安装 / 版本早于 #47)或登记失败时才会现形——那些路径下形状与行内不一致是
|
|
55
|
+
// **有意接受的**,好过「等待评审彻底不进徽标」。别把它当成 bug 改回沙漏。
|
|
56
|
+
// 与定时任务仍用不同图标:两者同属"在等"的语义,只靠颜色区分对色盲用户不可用。
|
|
57
|
+
renderIcon: (fold) => glyph(fold.tone === 'error' ? TONE_COLOR.error : TONE_COLOR.warn, createElement(IconListPenOutlineRegular, { size: 14 })),
|
|
58
|
+
};
|
|
59
|
+
disposers.push(target === defaultRegistry
|
|
60
|
+
? registerGroupStatusFacet(facet)
|
|
61
|
+
: registerInto(target, facet));
|
|
62
|
+
}
|
|
63
|
+
return () => {
|
|
64
|
+
for (const dispose of disposers)
|
|
65
|
+
dispose();
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/** 对给定登记面注册一个 facet(与单例路径同一套校验/拒绝语义)。 */
|
|
69
|
+
function registerInto(target, facet) {
|
|
70
|
+
const result = target.register(facet);
|
|
71
|
+
return result.ok ? () => {
|
|
72
|
+
target.remove(result.id, facet);
|
|
73
|
+
} : () => undefined;
|
|
74
|
+
}
|
|
75
|
+
/** 本插件目前代管了哪些状态源(诊断与测试用)。 */
|
|
76
|
+
export const LEGACY_FACET_IDS = [SCHEDULE_FACET_ID, WAITING_REVIEW_FACET_ID];
|
|
77
|
+
//# sourceMappingURL=register-legacy-facets.js.map
|