@deepseek-ai/dsh-experimental-client-ui-agent-team 0.1.7-alpha.2 → 0.1.7-rc.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.
package/README.i18n.yaml CHANGED
@@ -1,6 +1,43 @@
1
- # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
2
- # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
- # after editing either side, bring the other along and re-record with:
1
+ # Bilingual-pair consistency record for README.md (docs/i18n/README.md): per heading
2
+ # section, a hash of its English and Chinese blocks outside code blocks and generated regions.
3
+ # After editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/experimental/client-ui-agent-team/README.md
5
- README.md: 253c243a680a989988ea65e553c14eff9a699155
6
- README.zh.md: 143c855b8b8a45a7d3777700aefa6a378401f20d
5
+ /:
6
+ en: 6deb254c416ff51b
7
+ zh: e0913c7be837da78
8
+ /deepseek-ai-dsh-experimental-client-ui-agent-team:
9
+ en: 447e3c2bbf1ea3c6
10
+ zh: 25bba08497976d12
11
+ /deepseek-ai-dsh-experimental-client-ui-agent-team/summary:
12
+ en: a30d7bbb951ed3ec
13
+ zh: 8b12eca1138820f0
14
+ /deepseek-ai-dsh-experimental-client-ui-agent-team/table-of-contents:
15
+ en: d152484eb41ac6b4
16
+ zh: 09388d293f9be9cb
17
+ /deepseek-ai-dsh-experimental-client-ui-agent-team/use-this-package:
18
+ en: ba021754d3ae6d9e
19
+ zh: 18017b40f13e6ffd
20
+ /deepseek-ai-dsh-experimental-client-ui-agent-team/use-this-package/inspect-and-navigate-the-roster:
21
+ en: 62778e911a4ee9e9
22
+ zh: dff1dbbc3d5e4af6
23
+ /deepseek-ai-dsh-experimental-client-ui-agent-team/use-this-package/inspect-the-task-board:
24
+ en: cf09faa436dad9fd
25
+ zh: e7423f4111eb88f9
26
+ /deepseek-ai-dsh-experimental-client-ui-agent-team/understand-the-implementation:
27
+ en: 3ea723e7ea467be7
28
+ zh: dba02b20bef0fd7f
29
+ /deepseek-ai-dsh-experimental-client-ui-agent-team/further-exploration:
30
+ en: 71ac041029c64d5a
31
+ zh: fef2e4c5dccb8d1b
32
+ /deepseek-ai-dsh-experimental-client-ui-agent-team/model-experience:
33
+ en: 47ebeba07d72759d
34
+ zh: 8fe8133f6dd845a9
35
+ /deepseek-ai-dsh-experimental-client-ui-agent-team/model-experience/kv-cache-effect:
36
+ en: b51b320f5e4dacfc
37
+ zh: 6695947c3f9fed28
38
+ /deepseek-ai-dsh-experimental-client-ui-agent-team/known-limitations-and-deferred-work:
39
+ en: 254e4aa2f81037d2
40
+ zh: 3cdf19dffafb51df
41
+ /deepseek-ai-dsh-experimental-client-ui-agent-team/known-limitations-and-deferred-work/dev-note:
42
+ en: 317e07f2fd605e55
43
+ zh: 66836ceef6216892
package/README.md CHANGED
@@ -9,7 +9,7 @@ English | [中文](README.zh.md)
9
9
 
10
10
  ## Summary
11
11
 
12
- This package adds an Agent Teams action to the Web conversation header, where a user can inspect the current roster, inspect the shared task board, and navigate into a teammate's conversation. It reads authoritative Team state through the generated `ctx.remote.agentTeams` contribution and keeps ordinary child-history navigation on the stable addressed-subagent path. Choose it through the published experimental Agent Teams bundle. The browser projection does not extend the stable API Proxy, store Team state, or register model-facing input.
12
+ This package adds an Agent Teams action to the Web conversation header, where a user can inspect the current roster, inspect the shared task board, and navigate into a teammate's conversation. It reads the Lead Session's `agentTeam` projection from the shared Session store, where Host projection frames keep it current without a refresh control, and keeps ordinary child-history navigation on the stable addressed-subagent path. Choose it through the published experimental Agent Teams bundle. The browser projection does not extend the stable API Proxy, store Team state, or register model-facing input.
13
13
 
14
14
  ## Table of Contents
15
15
 
@@ -29,13 +29,15 @@ Enable this package through [`@deepseek-ai/dsh-experimental-agent-team-profile`]
29
29
 
30
30
  ### Inspect and navigate the roster
31
31
 
32
- Opening the panel calls `agentTeams/view`. Roster rows show durable names, turn availability, model, and diagnostics. Provisioning and running members use the shared ongoing loader, inactive members use idle, and failed members use error. Selecting a healthy teammate opens the ordinary `{ parentSessionId, childSessionId, mode: 'continuable' }` address from its Lead and roster identity without refreshing or checking the parent catalog. The Host validates the parent, child, and mode when history opens. History and later human prompts continue through the stable addressed-subagent conversation path; this package adds no Team-specific address field.
32
+ The panel shows the Lead Session's roster and task board from the shared Session store. Task and roster updates appear while the panel stays open. Opening the panel performs no projection requests. The panel shows a loading notice while the conversation or Session list is loading, and an unavailable notice when no Team value is present afterward.
33
+
34
+ Roster rows show durable names and phases. Provisioning and running members use the shared ongoing loader, inactive members use a person icon, and failed members use error. Live Session status supplies running activity; the shared `modelSelection` projection supplies a model when available. The current conversation carries a Current chat tag and cannot be selected. Selecting the Lead from a teammate conversation opens the Lead Session directly. Selecting an active teammate opens its ordinary continuable child address. The Host validates the parent, child, and mode when history opens; later human prompts use the same addressed-subagent conversation.
33
35
 
34
36
  ### Inspect the task board
35
37
 
36
38
  Ready pending tasks use idle, blocked pending tasks use warning, in-progress tasks use ongoing, and completed tasks use done.
37
39
 
38
- The read-only task board shows task identity, owner, blockers, readiness, advisory write scopes, and overlap warnings. Team agents create and update tasks through their tools; the panel provides no task mutation controls.
40
+ The read-only task board shows task identity, owner, blockers, readiness, advisory write scopes, and overlap warnings. Descriptions longer than two lines have an expand toggle. Section headings show member and task counts; an empty board shows a short description, and a lone member with no tasks uses a single-column panel. Team agents create and update tasks through their tools; the panel provides no task mutation controls. When the projection reports a rejected persisted Team record, the panel shows that failure above the last valid roster and tasks.
39
41
 
40
42
  -----
41
43
 
@@ -45,14 +47,14 @@ The read-only task board shows task identity, owner, blockers, readiness, adviso
45
47
  <details>
46
48
  <summary>Implementation internals — click to expand</summary>
47
49
 
48
- The Client export mounts the generated `ctx.remote.agentTeams` contribution from [`@deepseek-ai/dsh-experimental-agent-team/remote`](../agent-team/README.md), then registers its locale dictionaries and one conversation-header slot through Cordis effects. Disposing the plugin fiber removes both registrations.
50
+ The Client export registers its locale dictionaries and one conversation-header slot through Cordis effects; it mounts no Remote namespace. Disposing the plugin fiber removes both registrations.
49
51
 
50
- The panel renders outside the conversation container and stays within the viewport. Opening moves focus into the panel; Escape or Close returns focus to its trigger. Clicking outside or moving focus outside the panel and trigger closes it without moving focus back. Opening or refreshing the panel reads the complete Team view. Overlapping refreshes keep the newest response, and responses for a previous conversation are ignored.
52
+ The panel renders outside the conversation container and stays within the viewport. Member cards use the shared elevation stroke for their outlines in resting, selected, and hover states. Hovering the trigger opens the panel after 150ms; leaving both trigger and panel closes it after a 120ms grace period. Clicking the trigger pins the panel and moves focus into it. Outside clicks and Escape dismiss the panel; Escape returns focus to the trigger only when focus was inside the panel. In a narrow header, the trigger becomes an icon and opens only on click. The component derives every row from the `useSessions`, `useSessionStatus`, and `useSession` seats: the Lead identity comes from the current Session's subagent address, the Team view from `projectionsBySession[lead].values.agentTeam`, member activity from Session status with the list summary as fallback, and the model from `projectionsBySession[member].values.modelSelection.next`. Each roster row selects its own running state. The only injected callback opens a roster Session using the current and target Session ids. Switching conversations closes the panel and clears a navigation failure.
51
53
 
52
54
  | File | Role |
53
55
  |---|---|
54
- | [`src/client/mount.ts`](src/client/mount.ts) | Generated Remote, locale, navigation, and slot registrations |
55
- | [`src/client/TeamAction.tsx`](src/client/TeamAction.tsx) | Roster and task-board interaction state |
56
+ | [`src/client/mount.ts`](src/client/mount.ts) | Locale, navigation, and slot registrations |
57
+ | [`src/client/TeamAction.tsx`](src/client/TeamAction.tsx) | Projection-derived roster and task board with panel interaction state |
56
58
  | [`src/client/locales.ts`](src/client/locales.ts) | English and Chinese panel copy |
57
59
  | [`src/index.ts`](src/index.ts) | Inert Host entry |
58
60
 
@@ -64,7 +66,7 @@ The panel renders outside the conversation container and stays within the viewpo
64
66
  ## Further Exploration
65
67
 
66
68
  - [Agent Teams bundle](../agent-team-profile/README.md) — the published opt-in bundle that mounts this Client plugin.
67
- - [Agent Teams service](../agent-team/README.md) — authoritative roster, task, and Remote behavior.
69
+ - [Agent Teams service](../agent-team/README.md) — authoritative roster, task, and projection behavior.
68
70
  - [Conversation UI](../../client/ui-conversation/README.md) — the stable header slot and addressed-subagent navigation surface.
69
71
  - [Experimental packages](../README.md) — incubation status and publication policy.
70
72
 
@@ -83,7 +85,9 @@ No direct effect; the Team tools and ordinary conversation submission own any la
83
85
 
84
86
  <a id="known-limitations-and-deferred-work"></a>
85
87
 
86
- - **Snapshot refresh** — the panel refreshes on open and explicit refresh; it has no live event subscription or mailbox timeline.
88
+ - **No mailbox timeline** — the projection view carries roster and tasks only; peer messages are not shown.
89
+ - **Late plugin activation** — after enabling Agent Teams in an already-open conversation, reload the page to receive its Team projection.
90
+ - **Model availability** — a model appears only when the shared store has a durable selection or request for that member. Missing cold-cache values stay absent until normal Session loading or a live update supplies them.
87
91
  - **Ordinary child continuation** — a human message sent after navigation uses the stable addressed-subagent prompt path, not the Team peer mailbox.
88
92
  - **No lifecycle or workspace controls** — the panel cannot spawn, rename, delete, or interrupt teammates, and write scopes remain advisory metadata.
89
93
 
@@ -97,4 +101,4 @@ None.
97
101
 
98
102
  </details>
99
103
 
100
- **Runtime invariant:** No companion is published. RPC is authoritative and the package owns only one disposable slot registration.
104
+ **Runtime invariant:** No companion is published. The Host projection is authoritative and the package owns only one disposable slot registration.
package/README.zh.md CHANGED
@@ -9,7 +9,7 @@ kind: "package-reference"
9
9
 
10
10
  ## 概述
11
11
 
12
- 本包向 Web 会话页头添加 Agent Teams action,让用户检查当前 roster、查看共享任务板并导航到 teammate 会话。它通过生成的 `ctx.remote.agentTeams` contribution 读取权威 Team 状态,并让普通 child history 导航继续使用稳定的 addressed-subagent 路径。通过公开发布的实验性 Agent Teams bundle 选择本包。这个浏览器 projection 不扩展稳定 API Proxy、不存储 Team 状态,也不注册面向模型的输入。
12
+ 本包向 Web 会话页头添加 Agent Teams action,让用户检查当前 roster、查看共享任务板并导航到 teammate 会话。它从共享 Session store 读取 Lead Session 的 `agentTeam` 投影,Host 投影 frame 使其保持最新而无需刷新控件,并让普通 child history 导航继续使用稳定的 addressed-subagent 路径。通过公开发布的实验性 Agent Teams bundle 选择本包。这个浏览器 projection 不扩展稳定 API Proxy、不存储 Team 状态,也不注册面向模型的输入。
13
13
 
14
14
  ## 目录
15
15
 
@@ -29,13 +29,15 @@ kind: "package-reference"
29
29
 
30
30
  ### 检查并导航 roster
31
31
 
32
- 打开 panel 会调用 `agentTeams/view`。Roster row 展示持久 name、轮次可用状态、model 与 diagnostics。provisioning 和 running 成员使用共享 ongoing loading,inactive 成员使用 idle 灰点,failed 成员使用 error 红点。选择健康 teammate 时,系统直接根据其 Lead 与 roster 身份打开普通的 `{ parentSessionId, childSessionId, mode: 'continuable' }` address,不刷新或检查 parent catalog。Host 在打开历史时校验 parent、child 与 mode。History 与后续人类提示词继续使用稳定 addressed-subagent 会话路径;本包不会添加 Team 专用 address 字段。
32
+ 面板从共享 Session store 展示 Lead Session 的 roster 与任务板。面板保持打开时,任务和成员更新会直接出现。打开面板不发起投影请求。会话或 Session 列表正在加载时,面板显示加载提示;加载结束后仍无 Team 值时,显示不可用提示。
33
+
34
+ Roster 行展示持久名称与阶段。provisioning 和 running 成员使用共享 ongoing loading,inactive 成员使用人物图标,failed 成员使用 error 红点。实时 Session 状态提供运行活动;共享 `modelSelection` 投影在可用时提供模型。当前会话带有“当前会话”标签且不可选择。在 teammate 会话中选择 Lead 会直接打开 Lead Session。选择 active teammate 会打开其普通 continuable 子会话地址。Host 在打开历史时校验 parent、child 与 mode;后续人类提示词使用同一 addressed-subagent 会话。
33
35
 
34
36
  ### 查看任务板
35
37
 
36
38
  可开始的 pending 任务使用 idle 灰点,被依赖阻塞的 pending 任务使用 warning 橙点,in-progress 任务使用 ongoing loading,completed 任务使用 done 绿点。
37
39
 
38
- 只读任务板展示任务标识、负责人、依赖、就绪状态、提示性写入范围与重叠警告。Team agent 通过工具创建和更新任务;面板不提供任务修改控件。
40
+ 只读任务板展示任务标识、负责人、依赖、就绪状态、提示性写入范围与重叠警告。超过两行的描述提供展开按钮。分区标题显示成员与任务数量;空任务板显示简短描述,只有一名成员且无任务时采用单列面板。Team agent 通过工具创建和更新任务;面板不提供任务修改控件。当投影报告某条持久 Team 记录被拒绝时,面板在最后有效的 roster 与任务上方显示该失败。
39
41
 
40
42
  -----
41
43
 
@@ -45,14 +47,14 @@ kind: "package-reference"
45
47
  <details>
46
48
  <summary>实现细节——点击展开</summary>
47
49
 
48
- Client export 挂载来自 [`@deepseek-ai/dsh-experimental-agent-team/remote`](../agent-team/README.zh.md) 的生成的 `ctx.remote.agentTeams` contribution,然后通过 Cordis effect 注册 locale dictionary 与一个 conversation-header slot。Dispose plugin fiber 会移除这两项 registration。
50
+ Client export 通过 Cordis effect 注册 locale dictionary 与一个 conversation-header slot;它不挂载任何 Remote namespace。Dispose plugin fiber 会移除这两项 registration。
49
51
 
50
- 面板渲染在会话容器外,并保持在视口范围内。打开时焦点移入面板;按 Escape 或选择关闭按钮时,焦点返回触发按钮。点击外部或将焦点移出面板与触发按钮时,面板关闭,但不会将焦点移回。打开或刷新面板会读取完整 Team view。并行刷新只保留最新响应,属于上一个会话的响应会被忽略。
52
+ 面板渲染在会话容器外,并保持在视口范围内。成员卡片在静止、选中和悬停状态下均使用共享 elevation 描边绘制轮廓。悬停触发按钮 150ms 后打开面板;指针离开触发按钮和面板后,经过 120ms 宽限关闭。点击触发按钮会固定面板并将焦点移入其中。点击外部或按 Escape 可关闭面板;仅当焦点原本位于面板内时,Escape 才将焦点返回触发按钮。页头较窄时触发按钮折叠为图标,只响应点击打开。组件从 `useSessions`、`useSessionStatus` 与 `useSession` 座位派生每一行:Lead 身份来自当前 Session 的 subagent address,Team 视图来自 `projectionsBySession[lead].values.agentTeam`,成员活动来自 Session 状态并以列表摘要为后备,model 来自 `projectionsBySession[member].values.modelSelection.next`。每个 roster 行只选择自己的运行状态。唯一的注入回调通过当前与目标 Session 的 id 打开 roster Session。切换会话会关闭面板并清除导航失败。
51
53
 
52
54
  | 文件 | 职责 |
53
55
  |---|---|
54
- | [`src/client/mount.ts`](src/client/mount.ts) | 生成的 Remote、locale、导航与 slot registration |
55
- | [`src/client/TeamAction.tsx`](src/client/TeamAction.tsx) | Roster 与任务板交互状态 |
56
+ | [`src/client/mount.ts`](src/client/mount.ts) | locale、导航与 slot registration |
57
+ | [`src/client/TeamAction.tsx`](src/client/TeamAction.tsx) | 由投影派生的 roster 与任务板及面板交互状态 |
56
58
  | [`src/client/locales.ts`](src/client/locales.ts) | 中英文 panel 文案 |
57
59
  | [`src/index.ts`](src/index.ts) | 不执行行为的 Host entry |
58
60
 
@@ -64,7 +66,7 @@ Client export 挂载来自 [`@deepseek-ai/dsh-experimental-agent-team/remote`](.
64
66
  ## 进一步探索
65
67
 
66
68
  - [Agent Teams bundle](../agent-team-profile/README.zh.md)——挂载本 Client plugin 的公开 opt-in bundle。
67
- - [Agent Teams service](../agent-team/README.zh.md)——权威 roster、task 与 Remote 行为。
69
+ - [Agent Teams service](../agent-team/README.zh.md)——权威 roster、task 与投影行为。
68
70
  - [会话 UI](../../client/ui-conversation/README.zh.md)——稳定 header slot 与 addressed-subagent 导航表层。
69
71
  - [实验性包](../README.zh.md)——孵化状态与发布规则。
70
72
 
@@ -83,7 +85,9 @@ Client export 挂载来自 [`@deepseek-ai/dsh-experimental-agent-team/remote`](.
83
85
 
84
86
  <a id="known-limitations-and-deferred-work"></a>
85
87
 
86
- - **Snapshot refresh**——panel 会在打开和显式 refresh 时刷新;它没有实时事件订阅或 mailbox timeline。
88
+ - **没有 mailbox timeline**——投影视图只承载 roster 与任务;不显示 peer 消息。
89
+ - **晚启用插件** — 在已经打开的会话中启用 Agent Teams 后,需要刷新页面才能接收其 Team 投影。
90
+ - **模型可用性** — 仅当共享 store 包含该成员的持久选择或请求时才显示模型。冷缓存中缺少的值会保持缺失,直到正常 Session 加载或实时更新提供它们。
87
91
  - **普通 child continuation**——导航后发送的人类消息使用稳定 addressed-subagent 提示词路径,而不是 Team peer mailbox。
88
92
  - **没有 lifecycle 或 workspace control**——panel 不能 spawn、rename、delete 或 interrupt teammate,write scope 仍只是提示性 metadata。
89
93
 
@@ -97,4 +101,4 @@ Client export 挂载来自 [`@deepseek-ai/dsh-experimental-agent-team/remote`](.
97
101
 
98
102
  </details>
99
103
 
100
- **运行时不变式:** 不发布伴生入口。RPC 是权威来源,本包只持有一个可释放的 slot 注册。
104
+ **运行时不变式:** 不发布伴生入口。Host 投影是权威来源,本包只持有一个可释放的 slot 注册。