@deepseek-ai/dsh-client-ui-settings 0.1.7-rc.1 → 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 +57 -5
- package/README.md +3 -3
- package/README.zh.md +3 -3
- package/lib/types/client/contract/slots.d.ts +7 -0
- package/package.json +7 -7
package/README.i18n.yaml
CHANGED
|
@@ -1,6 +1,58 @@
|
|
|
1
|
-
# Bilingual-pair consistency record (docs/i18n/README.md):
|
|
2
|
-
#
|
|
3
|
-
#
|
|
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/client/ui-settings/README.md
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/:
|
|
6
|
+
en: a68df653048eed14
|
|
7
|
+
zh: 2b117acaec0165a8
|
|
8
|
+
/deepseek-ai-dsh-client-ui-settings:
|
|
9
|
+
en: 720600abd76a4a91
|
|
10
|
+
zh: 822bda08efbfc3e4
|
|
11
|
+
/deepseek-ai-dsh-client-ui-settings/summary:
|
|
12
|
+
en: 0404ff8b4ec867e0
|
|
13
|
+
zh: 9c3f03dfd1306cc9
|
|
14
|
+
/deepseek-ai-dsh-client-ui-settings/table-of-contents:
|
|
15
|
+
en: d152484eb41ac6b4
|
|
16
|
+
zh: 09388d293f9be9cb
|
|
17
|
+
/deepseek-ai-dsh-client-ui-settings/use-this-package:
|
|
18
|
+
en: 2417d8409aad6ca7
|
|
19
|
+
zh: 449eee623a2f334b
|
|
20
|
+
/deepseek-ai-dsh-client-ui-settings/use-this-package/configuration-forms:
|
|
21
|
+
en: 5bda0401a6a4f158
|
|
22
|
+
zh: 6778a64d3e2a7453
|
|
23
|
+
/deepseek-ai-dsh-client-ui-settings/use-this-package/following-served-namespaces:
|
|
24
|
+
en: 2edd420502bebce1
|
|
25
|
+
zh: 6624abe01110c012
|
|
26
|
+
/deepseek-ai-dsh-client-ui-settings/use-this-package/filling-the-settings-slots:
|
|
27
|
+
en: 28e4230a0675edf8
|
|
28
|
+
zh: b91c095ec2c0dd42
|
|
29
|
+
/deepseek-ai-dsh-client-ui-settings/use-this-package/observable-success-and-failures:
|
|
30
|
+
en: 9767f17ca0f02ae3
|
|
31
|
+
zh: 8e475d6d3d670702
|
|
32
|
+
/deepseek-ai-dsh-client-ui-settings/understand-the-implementation:
|
|
33
|
+
en: d756fe51d9456fb4
|
|
34
|
+
zh: 41de582aace7332f
|
|
35
|
+
/deepseek-ai-dsh-client-ui-settings/understand-the-implementation/the-describe-mirror:
|
|
36
|
+
en: ea274a9480884a7f
|
|
37
|
+
zh: bbaf650e04646c04
|
|
38
|
+
/deepseek-ai-dsh-client-ui-settings/understand-the-implementation/shared-entry-writes:
|
|
39
|
+
en: 11a73ab8e9280b81
|
|
40
|
+
zh: f0e72a05959e3f32
|
|
41
|
+
/deepseek-ai-dsh-client-ui-settings/understand-the-implementation/schema-service:
|
|
42
|
+
en: 34872bda24dc50c6
|
|
43
|
+
zh: dcccef423906c408
|
|
44
|
+
/deepseek-ai-dsh-client-ui-settings/further-exploration:
|
|
45
|
+
en: 57e3fe18940ecc83
|
|
46
|
+
zh: 165bd696250de5dc
|
|
47
|
+
/deepseek-ai-dsh-client-ui-settings/model-experience:
|
|
48
|
+
en: 3120df665299c634
|
|
49
|
+
zh: 1d9f365d091d0d2a
|
|
50
|
+
/deepseek-ai-dsh-client-ui-settings/model-experience/kv-cache-effect:
|
|
51
|
+
en: ca75c51c89c2c9b0
|
|
52
|
+
zh: de54f3467ef3b9be
|
|
53
|
+
/deepseek-ai-dsh-client-ui-settings/known-limitations-and-deferred-work:
|
|
54
|
+
en: d8ef5c4f3a48e05f
|
|
55
|
+
zh: 7c335dc8543249c6
|
|
56
|
+
/deepseek-ai-dsh-client-ui-settings/known-limitations-and-deferred-work/dev-note:
|
|
57
|
+
en: 26f0b742de49074e
|
|
58
|
+
zh: ee7321bad1101bf1
|
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ Feature plugins use this package to store and edit their preferences without re-
|
|
|
29
29
|
|
|
30
30
|
### Configuration forms
|
|
31
31
|
|
|
32
|
-
`ctx.configForms.developerTools` owns the shared Web and desktop preference `ui-settings.enabled`, defaulting to `true`. Its `enabled` observable publishes accepted choices and `setEnabled` uses the same ordered settings writes. Desktop and loopback Web persist to the Host document; remote Web keeps this choice in one browser-local observable until reload without issuing Host writes. This controls presentation and HTML preview permissions, not Host authorization or Session recording. Host-backed clients keep developer features disabled until the first accepted schema-resolved value arrives; missing or failed initial responses do not enable them. Later refreshes retain the last accepted choice.
|
|
32
|
+
`ctx.configForms.developerTools` owns the Coding Tools switch and the shared Web and desktop preference `ui-settings.enabled`, defaulting to `true`. Its `enabled` observable publishes accepted choices and `setEnabled` uses the same ordered settings writes. Desktop and loopback Web persist to the Host document; remote Web keeps this choice in one browser-local observable until reload without issuing Host writes. This controls presentation and HTML preview permissions, not Host authorization or Session recording. Host-backed clients keep developer features disabled until the first accepted schema-resolved value arrives; missing or failed initial responses do not enable them. Later refreshes retain the last accepted choice.
|
|
33
33
|
|
|
34
34
|
Feature adapters use `ctx.configForms.get(entryId)` to obtain accepted values and a write queue shared by every editor of that Host entry. Snapshots contain resolved `value`, inherited `base`, raw `user`, revision, writability, and persistence mode. `set` and `unset` submit one operation; `mutate` submits one atomic operation list. Staged editors pass the revision read before editing; conflicts preserve their drafts. Unsetting removes the override and restores inheritance.
|
|
35
35
|
|
|
@@ -50,7 +50,7 @@ A committed write folds its answer into the shared mirror. Refused writes refres
|
|
|
50
50
|
<a id="understand-the-implementation"></a>
|
|
51
51
|
## Understand the implementation
|
|
52
52
|
|
|
53
|
-
The optional settings.launcher contribution receives
|
|
53
|
+
The optional `settings.launcher` contribution receives sidebar geometry, whether the open Settings panel covers the sidebar, the settings navigation callbacks, and the effective Settings key labels and accessible combination. The shell omits shortcut presentation for an unbound command and retains its plain Settings trigger when no launcher is registered.
|
|
54
54
|
|
|
55
55
|
<details>
|
|
56
56
|
<summary>Implementation internals — click to expand</summary>
|
|
@@ -103,7 +103,7 @@ None; this package neither assembles nor sends a provider request.
|
|
|
103
103
|
|
|
104
104
|
These limits define where the settings transport cannot reach; they are current package constraints.
|
|
105
105
|
|
|
106
|
-
- **Non-loopback pages get no durable settings** — this Client keeps Host persistence disabled there, so a form starts `unavailable` and never crosses the wire; form writes are inert even though Connection authentication covers the API. The shared
|
|
106
|
+
- **Non-loopback pages get no durable settings** — this Client keeps Host persistence disabled there, so a form starts `unavailable` and never crosses the wire; form writes are inert even though Connection authentication covers the API. The shared Coding Tools preference instead provides browser-local changes.
|
|
107
107
|
|
|
108
108
|
<a id="dev-note"></a>
|
|
109
109
|
### Dev Note
|
package/README.zh.md
CHANGED
|
@@ -29,7 +29,7 @@ kind: "package-reference"
|
|
|
29
29
|
|
|
30
30
|
### 配置表单
|
|
31
31
|
|
|
32
|
-
`ctx.configForms.developerTools`
|
|
32
|
+
`ctx.configForms.developerTools` 管理代码工作工具开关与 Web 和桌面端共享的偏好 `ui-settings.enabled`,默认为 `true`。其 `enabled` 可观察值发布已接受的选择,`setEnabled` 使用相同的有序设置写入。桌面端和回环 Web 将设置持久化到 Host 文档;远程 Web 将此选择保存在单个浏览器本地可观察值中,刷新后重置,不发送 Host 写入。此设置控制界面展示和 HTML 预览权限,不控制 Host 授权或 Session 记录。 使用 Host 偏好的客户端在首个经过 schema 解析并接受的值到达前保持开发者功能关闭;首次响应缺失或失败不会启用它们。后续刷新保留已接受的选择。
|
|
33
33
|
|
|
34
34
|
功能适配器使用 `ctx.configForms.get(entryId)` 获取该 Host 条目所有编辑器共享的已接受值和写入队列。快照包含解析后的 `value`、继承 `base`、原始 `user`、修订号、可写性和持久化模式。`set` 与 `unset` 提交单个操作,`mutate` 提交一个原子操作列表。暂存编辑器传入编辑前读取的修订号;冲突时保留草稿。清除操作移除覆盖并恢复继承。
|
|
35
35
|
|
|
@@ -50,7 +50,7 @@ kind: "package-reference"
|
|
|
50
50
|
<a id="understand-the-implementation"></a>
|
|
51
51
|
## 理解实现
|
|
52
52
|
|
|
53
|
-
可选的 settings.launcher
|
|
53
|
+
可选的 `settings.launcher` 贡献接收侧栏布局、设置面板是否覆盖侧栏、设置导航回调,以及有效的设置键位标签和无障碍组合。命令未绑定时,外壳不传快捷键展示信息;未注册入口时,外壳保留普通设置按钮。
|
|
54
54
|
|
|
55
55
|
<details>
|
|
56
56
|
<summary>实现细节——点击展开</summary>
|
|
@@ -103,7 +103,7 @@ kind: "package-reference"
|
|
|
103
103
|
|
|
104
104
|
这些限制说明设置传输层够不到的地方;它们是当前包约束。
|
|
105
105
|
|
|
106
|
-
- **非 loopback 页面没有持久化设置**:本 Client 在那里禁用 Host 持久化,因此 表单以 `unavailable` 起步且从不跨线路;尽管 Connection 认证覆盖 API
|
|
106
|
+
- **非 loopback 页面没有持久化设置**:本 Client 在那里禁用 Host 持久化,因此 表单以 `unavailable` 起步且从不跨线路;尽管 Connection 认证覆盖 API,表单写入仍在那里无效。共享的代码工作工具偏好单独提供浏览器本地变更。
|
|
107
107
|
|
|
108
108
|
<a id="dev-note"></a>
|
|
109
109
|
### 开发备注
|
|
@@ -170,6 +170,13 @@ export interface SettingsOnboardingOwnerProps {
|
|
|
170
170
|
export interface SettingsLauncherOwnerProps {
|
|
171
171
|
/** Whether the sidebar shows labels. */
|
|
172
172
|
wide: boolean;
|
|
173
|
+
/** Whether the settings dialog covers the sidebar; a launcher may treat a false-to-true edge as one Settings entry. */
|
|
174
|
+
settingsOpen: boolean;
|
|
175
|
+
/** Effective Settings key labels and accessible combination; omitted when unbound. */
|
|
176
|
+
settingsShortcut?: {
|
|
177
|
+
readonly keys: readonly string[];
|
|
178
|
+
readonly aria?: string | undefined;
|
|
179
|
+
};
|
|
173
180
|
/** Open the settings panel. */
|
|
174
181
|
openSettings: () => void;
|
|
175
182
|
/** @param id - registered onboarding editor to open explicitly. */
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-client-ui-settings",
|
|
3
3
|
"description": "Settings domain base plugin: shared configuration forms and the canonical settings slot-type contract",
|
|
4
|
-
"version": "0.1.7-rc.
|
|
4
|
+
"version": "0.1.7-rc.2",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -41,12 +41,12 @@
|
|
|
41
41
|
"@types/react": "~18.3.1",
|
|
42
42
|
"react": "^18.2.0",
|
|
43
43
|
"@deepseek-ai/cordis": "~4.0.4",
|
|
44
|
-
"@deepseek-ai/dsh-api-remotes": "0.1.7-rc.
|
|
45
|
-
"@deepseek-ai/dsh-client-store": "0.1.7-rc.
|
|
46
|
-
"@deepseek-ai/dsh-client-test-runtime": "0.1.7-rc.
|
|
47
|
-
"@deepseek-ai/dsh-client-ui-slots": "0.1.7-rc.
|
|
48
|
-
"@deepseek-ai/dsh-
|
|
49
|
-
"@deepseek-ai/dsh-
|
|
44
|
+
"@deepseek-ai/dsh-api-remotes": "0.1.7-rc.2",
|
|
45
|
+
"@deepseek-ai/dsh-client-store": "0.1.7-rc.2",
|
|
46
|
+
"@deepseek-ai/dsh-client-test-runtime": "0.1.7-rc.2",
|
|
47
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.1.7-rc.2",
|
|
48
|
+
"@deepseek-ai/dsh-settings": "0.1.7-rc.2",
|
|
49
|
+
"@deepseek-ai/dsh-util-values": "0.1.7-rc.2"
|
|
50
50
|
},
|
|
51
51
|
"files": [
|
|
52
52
|
"lib/index.js",
|