@nanmicoder/dsh-agent-teams 0.1.10 → 0.1.12

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.
@@ -0,0 +1,165 @@
1
+ /** `agentTeams` namespace dictionaries for every plugin-owned Web surface. */
2
+ /** Dictionary namespace owned by the AgentTeams client plugin. */
3
+ export const AGENT_TEAMS_LOCALE_NAMESPACE = 'agentTeams';
4
+ /** Simplified Chinese dictionary (the key-set source of truth). */
5
+ export const zh = {
6
+ 'card.memberCount': '{count} 名成员',
7
+ 'action.openActivityPanel': '打开活动面板',
8
+ 'activity.panelButton': '活动面板',
9
+ 'activity.badgeAria': 'AgentTeams 活动,{count} 个团队',
10
+ 'activity.panelAria': 'AgentTeams 活动面板',
11
+ 'activity.title': 'AgentTeams 活动',
12
+ 'activity.float': '切换为浮动面板',
13
+ 'activity.dockRight': '停靠到右侧',
14
+ 'activity.collapse': '收起活动面板',
15
+ 'activity.empty': '暂无团队活动',
16
+ 'format.listSeparator': '、',
17
+ 'task.status.pending': '待领取',
18
+ 'task.status.claimed': '已认领',
19
+ 'task.status.inProgress': '进行中',
20
+ 'task.status.completed': '已完成',
21
+ 'task.status.failed': '失败',
22
+ 'task.status.cancelled': '已取消',
23
+ 'member.state.working': '工作中',
24
+ 'member.state.failed': '有失败',
25
+ 'member.state.waiting': '等待',
26
+ 'member.state.delivered': '已交付',
27
+ 'member.state.left': '已离队',
28
+ 'member.state.removed': '已移除',
29
+ 'member.state.pending': '待执行',
30
+ 'member.state.unassigned': '待派工',
31
+ 'member.status.executing': '正在执行 {taskId}',
32
+ 'member.status.working': '正在处理已派任务',
33
+ 'member.status.waitingOn': '等待 {taskId} · {assignee}',
34
+ 'member.status.waitingPrerequisite': '等待前置任务',
35
+ 'member.status.waitingAssignment': '等待队长派工',
36
+ 'member.status.delivered': '任务已交付',
37
+ 'member.status.idle': '待继续执行',
38
+ 'member.status.unknown': '状态未知',
39
+ 'task.assignee.unclaimed': '待认领',
40
+ 'task.summary.waitingBreakdown': '等待队长拆解任务',
41
+ 'task.summary.allDelivered': '全部 {count} 项任务已交付',
42
+ 'task.summary.blockedAndRunning': '{tasks}{more} 等待前置,其余已开工',
43
+ 'task.summary.more': ' 等 {count} 项',
44
+ 'task.summary.running': '{tasks} 正在执行',
45
+ 'task.summary.ready': '{tasks} 已就绪待开工',
46
+ 'task.summary.blocked': '{tasks} 等待前置',
47
+ 'task.summary.waitingSchedule': '等待下一轮调度',
48
+ 'progress.aria': '团队总进度',
49
+ 'progress.title': '总进度',
50
+ 'progress.running': '■ 进行中 {count}',
51
+ 'progress.blocked': '■ 等待依赖 {count}',
52
+ 'progress.delivered': '■ 已交付 {count}',
53
+ 'dependency.aria': '任务依赖链',
54
+ 'dependency.parallel': '并行任务',
55
+ 'dependency.title': '任务依赖',
56
+ 'dependency.hint.parallel': '无前后依赖 · 点击查看详情',
57
+ 'dependency.hint.chain': '悬停高亮依赖链 · 点击固定',
58
+ 'dependency.hint.pinned': '{taskId} 已固定 · Esc 取消',
59
+ 'task.runningAria': '运行中',
60
+ 'task.detail.completed': '已完成并交付',
61
+ 'task.detail.noPrerequisite': '无前置,可立即开工',
62
+ 'task.detail.ready': '前置已就绪,可开工',
63
+ 'task.detail.waitingOn': '等待 {tasks}',
64
+ 'task.detail.noDownstream': '无下游任务',
65
+ 'task.detail.unlocks': '完成后解锁 {tasks}',
66
+ 'team.ended': '已结束',
67
+ 'team.stats.members': '{count} 名成员',
68
+ 'team.stats.completed': '{completed}/{total} 完成',
69
+ 'team.stats.messages': '{count} 条消息',
70
+ 'delegation.aria': '队长派工关系',
71
+ 'captain.name': '队长',
72
+ 'captain.role': '拆解 · 派发 · 汇总',
73
+ 'captain.summary': '已派发 {tasks} 项任务给 {members} 名成员',
74
+ 'captain.state.working': '{count} 人执行中',
75
+ 'captain.state.collected': '已收齐',
76
+ 'captain.state.waiting': '等待回报',
77
+ 'members.toggle': '{count} 名成员',
78
+ 'members.collapse': '收起',
79
+ 'members.expand': '展开',
80
+ 'members.empty': '暂无成员,等待队长组建团队',
81
+ 'assignment.label': '队长派发',
82
+ 'assignment.empty': '暂无任务',
83
+ 'archive.label': '已结束 · 历史归档',
84
+ };
85
+ /** English dictionary, checked complete against the Chinese source key set. */
86
+ export const en = {
87
+ 'card.memberCount': '{count} members',
88
+ 'action.openActivityPanel': 'Open activity panel',
89
+ 'activity.panelButton': 'Activity panel',
90
+ 'activity.badgeAria': 'AgentTeams activity, {count} teams',
91
+ 'activity.panelAria': 'AgentTeams activity panel',
92
+ 'activity.title': 'AgentTeams activity',
93
+ 'activity.float': 'Switch to floating panel',
94
+ 'activity.dockRight': 'Dock to the right',
95
+ 'activity.collapse': 'Collapse activity panel',
96
+ 'activity.empty': 'No team activity',
97
+ 'format.listSeparator': ', ',
98
+ 'task.status.pending': 'Unclaimed',
99
+ 'task.status.claimed': 'Claimed',
100
+ 'task.status.inProgress': 'In progress',
101
+ 'task.status.completed': 'Completed',
102
+ 'task.status.failed': 'Failed',
103
+ 'task.status.cancelled': 'Cancelled',
104
+ 'member.state.working': 'Working',
105
+ 'member.state.failed': 'Has failures',
106
+ 'member.state.waiting': 'Waiting',
107
+ 'member.state.delivered': 'Delivered',
108
+ 'member.state.left': 'Left team',
109
+ 'member.state.removed': 'Removed',
110
+ 'member.state.pending': 'Pending',
111
+ 'member.state.unassigned': 'Awaiting assignment',
112
+ 'member.status.executing': 'Working on {taskId}',
113
+ 'member.status.working': 'Working on assigned tasks',
114
+ 'member.status.waitingOn': 'Waiting for {taskId} · {assignee}',
115
+ 'member.status.waitingPrerequisite': 'Waiting for prerequisites',
116
+ 'member.status.waitingAssignment': 'Waiting for the captain to assign work',
117
+ 'member.status.delivered': 'Tasks delivered',
118
+ 'member.status.idle': 'Ready to continue',
119
+ 'member.status.unknown': 'Status unknown',
120
+ 'task.assignee.unclaimed': 'Unclaimed',
121
+ 'task.summary.waitingBreakdown': 'Waiting for the captain to break down the work',
122
+ 'task.summary.allDelivered': 'All {count} tasks delivered',
123
+ 'task.summary.blockedAndRunning': '{tasks}{more} waiting on prerequisites; other work has started',
124
+ 'task.summary.more': ' and {count} more',
125
+ 'task.summary.running': '{tasks} in progress',
126
+ 'task.summary.ready': '{tasks} ready to start',
127
+ 'task.summary.blocked': '{tasks} waiting on prerequisites',
128
+ 'task.summary.waitingSchedule': 'Waiting for the next scheduling round',
129
+ 'progress.aria': 'Overall team progress',
130
+ 'progress.title': 'Overall progress',
131
+ 'progress.running': '■ In progress {count}',
132
+ 'progress.blocked': '■ Waiting {count}',
133
+ 'progress.delivered': '■ Delivered {count}',
134
+ 'dependency.aria': 'Task dependency chain',
135
+ 'dependency.parallel': 'Parallel tasks',
136
+ 'dependency.title': 'Task dependencies',
137
+ 'dependency.hint.parallel': 'No dependencies · Click for details',
138
+ 'dependency.hint.chain': 'Hover to highlight dependencies · Click to pin',
139
+ 'dependency.hint.pinned': '{taskId} pinned · Esc to clear',
140
+ 'task.runningAria': 'Running',
141
+ 'task.detail.completed': 'Completed and delivered',
142
+ 'task.detail.noPrerequisite': 'No prerequisites; ready to start',
143
+ 'task.detail.ready': 'Prerequisites ready; can start',
144
+ 'task.detail.waitingOn': 'Waiting for {tasks}',
145
+ 'task.detail.noDownstream': 'No downstream tasks',
146
+ 'task.detail.unlocks': 'Unlocks {tasks} when complete',
147
+ 'team.ended': 'Ended',
148
+ 'team.stats.members': '{count} members',
149
+ 'team.stats.completed': '{completed}/{total} completed',
150
+ 'team.stats.messages': '{count} messages',
151
+ 'delegation.aria': 'Captain delegation map',
152
+ 'captain.name': 'Captain',
153
+ 'captain.role': 'Break down · Delegate · Synthesize',
154
+ 'captain.summary': 'Assigned {tasks} tasks to {members} members',
155
+ 'captain.state.working': '{count} active',
156
+ 'captain.state.collected': 'All reports received',
157
+ 'captain.state.waiting': 'Waiting for reports',
158
+ 'members.toggle': 'Members {count}',
159
+ 'members.collapse': 'Collapse',
160
+ 'members.expand': 'Expand',
161
+ 'members.empty': 'No members yet; waiting for the captain to assemble the team',
162
+ 'assignment.label': 'Captain assigned',
163
+ 'assignment.empty': 'No tasks',
164
+ 'archive.label': 'Ended · Archived history',
165
+ };
@@ -0,0 +1,21 @@
1
+ /** Version-tolerant navigation into durable AgentTeams member transcripts. */
2
+ /**
3
+ * Open one member's persisted transcript.
4
+ *
5
+ * Harness rc.8 intentionally removed cold subagents from the ordinary session
6
+ * list. They must first be rediscovered in their parent's catalog, then opened
7
+ * with the exact parent/child/mode address. Older runtimes have only `open()`;
8
+ * the fallback preserves the plugin's rc.6 peer range.
9
+ */
10
+ export async function openAgentTeamMember(sessions, parentSessionId, childSessionId) {
11
+ if (sessions.openSubagent === undefined || sessions.refreshSubagents === undefined) {
12
+ sessions.open(childSessionId);
13
+ return 'session';
14
+ }
15
+ await sessions.refreshSubagents(parentSessionId);
16
+ const retained = sessions.subagentAddress?.(childSessionId);
17
+ sessions.openSubagent(retained?.parentSessionId === parentSessionId
18
+ ? retained
19
+ : { parentSessionId, childSessionId, mode: 'continuable' });
20
+ return 'subagent';
21
+ }