@deepseek-ai/dsh-client-ui-user-questions 0.1.3-alpha.2 → 0.1.5-alpha.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
@@ -2,5 +2,5 @@
2
2
  # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/client/ui-user-questions/README.md
5
- README.md: a779515d22a85cca71fe4a20d7d44ab30f9dcea6
6
- README.zh.md: 13a10ff039ede6bf0fd87ba4f12313ab19d4ba73
5
+ README.md: 9e5997eb2ebe69b4b2d49b57a61b0bd36ec41053
6
+ README.zh.md: a41ace332376ca7ed5e5d52c9e54c01244950383
package/README.md CHANGED
@@ -9,7 +9,7 @@ English | [中文](README.zh.md)
9
9
 
10
10
  ## Summary
11
11
 
12
- `dsh-client-ui-user-questions` is the web question feature plugin: its browser half registers the `question` entry in the conversation-owned `conversation.composer` chain, so when the agent asks the user a question the composer is taken over by the question UI. The component renders one question at a time with progress navigation, single- and multi-select choices, recommendation badges, and custom answers, and submits one structured answer batch for the whole request. A request whose single question declares a presentation intent renders as that intent's own surface instead — notably the `plan-review` waiting-approval card with `Chat about it` / `Refuse` / `Approve`. Its host half is empty on purpose: mounting `dsh-tool-ask-user` there would put the tool in the registry's global layer and merge it into every agent regardless of the preset that composed it.
12
+ When an agent asks a question in the Web client, this package replaces the chat composer with an interactive question surface. Users can move through questions, choose one or multiple options, enter custom answers, skip items, and submit one structured answer batch. Single-choice selections advance immediately, while drafts survive Session navigation for the lifetime of the page. A single question with a supported presentation intent can use a dedicated surface, including the plan-review card with `Chat about it`, `Refuse`, and `Approve` actions.
13
13
 
14
14
  ## Table of Contents
15
15
 
package/README.zh.md CHANGED
@@ -9,7 +9,7 @@ kind: "package-reference"
9
9
 
10
10
  ## 概述
11
11
 
12
- `dsh-client-ui-user-questions` 是 Web 提问功能插件:其浏览器侧把 `question` 条目注册到会话拥有的 `conversation.composer` chain 中,因此当 agent 向用户提问时,编辑器会被提问 UI 接管。组件每次渲染一个问题,提供进度导航、单选与多选选项、推荐徽标与自定义答案,并为整个请求提交一批结构化答案。若某个请求的唯一问题声明了呈现意图,则改为渲染该意图自己的界面——最典型的是 `plan-review` 等待审批卡片,带 `Chat about it` / `Refuse` / `Approve`。其主机侧刻意为空:在那里挂载 `dsh-tool-ask-user` 会把工具放进注册表的全局层,并把它并入每一个 agent,无论它由哪个 preset 组装。
12
+ 当 agent 在 Web 客户端中提问时,本包会用交互式提问界面接管聊天编辑器。用户可以在问题之间导航、选择一个或多个选项、输入自定义答案、跳过问题,并提交一批结构化答案。选择单选项后会立即前进,而草稿会在当前页面的生命周期内跨 Session 导航保留。若唯一的问题声明了受支持的呈现意图,则可使用专用界面,包括带 `Chat about it`、`Refuse` 和 `Approve` 操作的 plan-review 卡片。
13
13
 
14
14
  ## 目录
15
15
 
package/lib/index.js CHANGED
@@ -2,13 +2,10 @@
2
2
  /**
3
3
  * Web question plugin, node half.
4
4
  *
5
- * Deliberately empty. Mounting `ask_user_question` here put it in the tools
6
- * registry's GLOBAL layer, so every agent saw it no matter which preset
7
- * composed it — a two-tool benchmark preset actually presented three, and a
8
- * locally authored `bash-only` preset presented two. Rendering a question is
9
- * a host UI capability; having the tool is an agent capability, and only a
10
- * preset decides that. The `tool-ask-user` row belongs in the presets that
11
- * want it (and in the TUI composition, which has no presets).
5
+ * Mounting `ask_user_question` in the tools registry's global layer expands
6
+ * every agent's tool list regardless of its preset. Rendering a question is
7
+ * a host UI capability; the model-facing tool belongs to the presets that
8
+ * include it and to the TUI composition, which has no presets.
12
9
  */
13
10
  /** Host plugin body — the model-facing tool is composed per preset, not here. */
14
11
  function apply() {}
@@ -1,13 +1,10 @@
1
1
  /**
2
2
  * Web question plugin, node half.
3
3
  *
4
- * Deliberately empty. Mounting `ask_user_question` here put it in the tools
5
- * registry's GLOBAL layer, so every agent saw it no matter which preset
6
- * composed it — a two-tool benchmark preset actually presented three, and a
7
- * locally authored `bash-only` preset presented two. Rendering a question is
8
- * a host UI capability; having the tool is an agent capability, and only a
9
- * preset decides that. The `tool-ask-user` row belongs in the presets that
10
- * want it (and in the TUI composition, which has no presets).
4
+ * Mounting `ask_user_question` in the tools registry's global layer expands
5
+ * every agent's tool list regardless of its preset. Rendering a question is
6
+ * a host UI capability; the model-facing tool belongs to the presets that
7
+ * include it and to the TUI composition, which has no presets.
11
8
  */
12
9
  /** Host plugin body — the model-facing tool is composed per preset, not here. */
13
10
  export declare function apply(): void;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-client-ui-user-questions",
3
3
  "description": "Web ask_user_question composer takeover and plan-review presentation UI",
4
- "version": "0.1.3-alpha.2",
4
+ "version": "0.1.5-alpha.2",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -39,32 +39,30 @@
39
39
  }
40
40
  },
41
41
  "license": "MIT",
42
- "dependencies": {
43
- "clsx": "^2.0.0"
44
- },
45
42
  "peerDependencies": {
46
43
  "@deepseek-ai/cordis": "^4.0.2"
47
44
  },
48
45
  "devDependencies": {
49
46
  "@types/react": "~18.3.1",
50
47
  "react": "^18.2.0",
48
+ "clsx": "^2.0.0",
49
+ "@deepseek-ai/dsh-agent": "^0.1.5-alpha.2",
51
50
  "@deepseek-ai/cordis": "^4.0.2",
52
- "@deepseek-ai/dsh-api-remotes": "^0.1.3-alpha.2",
53
- "@deepseek-ai/dsh-agent": "^0.1.3-alpha.2",
54
- "@deepseek-ai/dsh-api-session-controller": "^0.1.3-alpha.2",
55
- "@deepseek-ai/dsh-client-locale": "^0.1.3-alpha.2",
56
- "@deepseek-ai/dsh-client-store": "^0.1.3-alpha.2",
57
- "@deepseek-ai/dsh-tools": "^0.1.3-alpha.2",
58
- "@deepseek-ai/dsh-system-prompt": "^0.1.3-alpha.2",
59
- "@deepseek-ai/dsh-user-questions": "^0.1.3-alpha.2",
60
- "@deepseek-ai/dsh-client-ui-primitives": "^0.1.3-alpha.2",
61
- "@deepseek-ai/dsh-client-ui-renderer": "^0.1.3-alpha.2",
62
- "@deepseek-ai/dsh-client-ui-session": "^0.1.3-alpha.2",
63
- "@deepseek-ai/dsh-typert-protocol": "^0.1.3-alpha.2",
64
- "@deepseek-ai/dsh-client-ui-conversation": "^0.1.3-alpha.2",
65
- "@deepseek-ai/dsh-client-connection": "^0.1.3-alpha.2",
66
- "@deepseek-ai/dsh-session": "^0.1.3-alpha.2",
67
- "@deepseek-ai/dsh-client-ui-slots": "^0.1.3-alpha.2"
51
+ "@deepseek-ai/dsh-api-remotes": "^0.1.5-alpha.2",
52
+ "@deepseek-ai/dsh-api-session-controller": "^0.1.5-alpha.2",
53
+ "@deepseek-ai/dsh-client-store": "^0.1.5-alpha.2",
54
+ "@deepseek-ai/dsh-user-questions": "^0.1.5-alpha.2",
55
+ "@deepseek-ai/dsh-tools": "^0.1.5-alpha.2",
56
+ "@deepseek-ai/dsh-client-locale": "^0.1.5-alpha.2",
57
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.1.5-alpha.2",
58
+ "@deepseek-ai/dsh-client-ui-slots": "^0.1.5-alpha.2",
59
+ "@deepseek-ai/dsh-client-ui-renderer": "^0.1.5-alpha.2",
60
+ "@deepseek-ai/dsh-client-ui-session": "^0.1.5-alpha.2",
61
+ "@deepseek-ai/dsh-typert-protocol": "^0.1.5-alpha.2",
62
+ "@deepseek-ai/dsh-client-ui-conversation": "^0.1.5-alpha.2",
63
+ "@deepseek-ai/dsh-client-connection": "^0.1.5-alpha.2",
64
+ "@deepseek-ai/dsh-session": "^0.1.5-alpha.2",
65
+ "@deepseek-ai/dsh-system-prompt": "^0.1.5-alpha.2"
68
66
  },
69
67
  "files": [
70
68
  "lib/index.js",