@michengai/dsh-archive-manager 0.1.16 → 0.1.18
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 +14 -0
- package/CHANGELOG.zh-CN.md +14 -0
- package/README.md +152 -152
- package/README.zh-CN.md +152 -152
- package/assets/branding/banner.txt +1 -1
- package/cordis.patch.yml +13 -13
- package/lib/client.js +3214 -3013
- package/lib/index.js +9 -9
- package/lib/workspace.js +354 -354
- package/package.json +6 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,20 @@
|
|
|
4
4
|
|
|
5
5
|
Published release notes are retained below; new versions are added without removing earlier entries.
|
|
6
6
|
|
|
7
|
+
## 0.1.18 — 2026-08-28
|
|
8
|
+
|
|
9
|
+
- Added client compatibility for the split store layout in DSH `v0.1.2-alpha.1` while preserving the legacy runtime fallback used by `v0.1.1-rc.2`.
|
|
10
|
+
- Restored the alpha Workspace navigation service required by the sidebar, conversation view, and directory picker when Archive Manager replaces the stock Workspace UI.
|
|
11
|
+
- Bound observable stores at the Settings boundary and kept subagent-lineage indexing local, preventing archived-chat startup and rendering failures on the alpha release.
|
|
12
|
+
|
|
13
|
+
Published package: [`@michengai/dsh-archive-manager@0.1.18`](https://www.npmjs.com/package/@michengai/dsh-archive-manager/v/0.1.18).
|
|
14
|
+
|
|
15
|
+
## 0.1.17 — 2026-08-28
|
|
16
|
+
|
|
17
|
+
- Enabled npm Trusted Publishing through the repository's GitHub Actions release workflow.
|
|
18
|
+
|
|
19
|
+
Published package: [`@michengai/dsh-archive-manager@0.1.17`](https://www.npmjs.com/package/@michengai/dsh-archive-manager/v/0.1.17).
|
|
20
|
+
|
|
7
21
|
## 0.1.16 — 2026-08-27
|
|
8
22
|
|
|
9
23
|
- Added a restore icon to archived-group bulk action menus for consistent action affordances.
|
package/CHANGELOG.zh-CN.md
CHANGED
|
@@ -4,6 +4,20 @@
|
|
|
4
4
|
|
|
5
5
|
以下发布说明会持续保留;新增版本时不再删除较早记录。
|
|
6
6
|
|
|
7
|
+
## 0.1.18 — 2026-08-28
|
|
8
|
+
|
|
9
|
+
- 兼容 DSH `v0.1.2-alpha.1` 拆分后的客户端 Store 布局,同时保留 `v0.1.1-rc.2` 使用的旧版 Runtime 回退路径。
|
|
10
|
+
- 在归档管理器替换官方工作区 UI 后补齐 alpha 版侧栏、会话视图和目录选择器依赖的工作区导航服务。
|
|
11
|
+
- 在设置页注入边界绑定可观察 Store,并将子代理谱系索引保留在插件内部,避免 alpha 版启动和归档页渲染失败。
|
|
12
|
+
|
|
13
|
+
发布包:[`@michengai/dsh-archive-manager@0.1.18`](https://www.npmjs.com/package/@michengai/dsh-archive-manager/v/0.1.18)。
|
|
14
|
+
|
|
15
|
+
## 0.1.17 — 2026-08-28
|
|
16
|
+
|
|
17
|
+
- 启用仓库 GitHub Actions 发布工作流的 npm Trusted Publishing。
|
|
18
|
+
|
|
19
|
+
发布包:[`@michengai/dsh-archive-manager@0.1.17`](https://www.npmjs.com/package/@michengai/dsh-archive-manager/v/0.1.17)。
|
|
20
|
+
|
|
7
21
|
## 0.1.16 — 2026-08-27
|
|
8
22
|
|
|
9
23
|
- 为归档分组的批量操作菜单补充恢复图标,使操作入口的视觉提示保持一致。
|
package/README.md
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
<p align="center">
|
|
2
2
|
<img src="assets/branding/dsh-banner.png" alt="DSH Archive Manager" width="100%">
|
|
3
3
|
</p>
|
|
4
|
-
|
|
5
|
-
<div align="center">
|
|
6
|
-
|
|
7
|
-
# DSH Archive Manager
|
|
8
|
-
|
|
9
|
-
**Safely manage archived sessions in DeepSeek Harness**
|
|
10
|
-
|
|
4
|
+
|
|
5
|
+
<div align="center">
|
|
6
|
+
|
|
7
|
+
# DSH Archive Manager
|
|
8
|
+
|
|
9
|
+
**Safely manage archived sessions in DeepSeek Harness**
|
|
10
|
+
|
|
11
11
|
[简体中文](README.zh-CN.md) · [Changelog](CHANGELOG.md) · [Apache-2.0](LICENSE)
|
|
12
|
-
|
|
13
|
-
[](LICENSE)
|
|
12
|
+
|
|
13
|
+
[](LICENSE)
|
|
14
14
|
[](https://www.npmjs.com/package/@michengai/dsh-archive-manager)
|
|
15
15
|
[](https://www.npmjs.com/package/@michengai/dsh-archive-manager)
|
|
16
|
-
[](https://github.com/MichengAI/dsh-archive-manager)
|
|
17
|
-
[](https://nodejs.org/)
|
|
18
|
-
</div>
|
|
19
|
-
|
|
20
|
-
> DSH Archive Manager is a community-maintained DeepSeek Harness (DSH) plugin, not an official DeepSeek AI product.
|
|
21
|
-
|
|
22
|
-
## Features
|
|
23
|
-
|
|
24
|
-
- Archive a session from the sidebar session menu.
|
|
16
|
+
[](https://github.com/MichengAI/dsh-archive-manager)
|
|
17
|
+
[](https://nodejs.org/)
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
> DSH Archive Manager is a community-maintained DeepSeek Harness (DSH) plugin, not an official DeepSeek AI product.
|
|
21
|
+
|
|
22
|
+
## Features
|
|
23
|
+
|
|
24
|
+
- Archive a session from the sidebar session menu.
|
|
25
25
|
- Search archived chats, sort them by update time, creation time, or title, and filter them by workspace in **Settings → Archived**.
|
|
26
26
|
- Restore a session to its original workspace with **Unarchive**.
|
|
27
27
|
- Restore or permanently delete every archived chat in a project group.
|
|
@@ -32,13 +32,13 @@
|
|
|
32
32
|
- Paste one sentence into DSH, Codex, or WorkBuddy and let that agent install the plugin locally.
|
|
33
33
|
|
|
34
34
|
## Screenshots
|
|
35
|
-
|
|
36
|
-
Open the sidebar session menu and choose **Archive session**:
|
|
37
|
-
|
|
38
|
-

|
|
39
|
-
|
|
35
|
+
|
|
36
|
+
Open the sidebar session menu and choose **Archive session**:
|
|
37
|
+
|
|
38
|
+

|
|
39
|
+
|
|
40
40
|
Search, sort, filter by project, unarchive, or permanently delete chats in **Settings → Archived**:
|
|
41
|
-
|
|
41
|
+
|
|
42
42
|

|
|
43
43
|
|
|
44
44
|
## DSH product ecosystem
|
|
@@ -53,137 +53,137 @@ This product can be installed independently or used through the desktop app or W
|
|
|
53
53
|
| Six feature products | [Codex UI](https://github.com/MichengAI/dsh-codex-ui) · [IM Connect](https://github.com/MichengAI/dsh-im-connect) · [Automation](https://github.com/MichengAI/dsh-automation) · [Skills Manager](https://github.com/MichengAI/dsh-skills-manager) · [Archive Manager](https://github.com/MichengAI/dsh-archive-manager) · [Agency Agents](https://github.com/MichengAI/dsh-agency-agents) |
|
|
54
54
|
|
|
55
55
|
## Prerequisites
|
|
56
|
-
|
|
57
|
-
- A working DeepSeek Harness Web installation with `dsh` available in PowerShell.
|
|
58
|
-
- Examples use the `web` profile; replace it with the target profile.
|
|
59
|
-
- Source installation and development require Node.js 22+ and pnpm. npm installation does not require running `pnpm install` separately.
|
|
60
|
-
|
|
61
|
-
## Installation
|
|
62
|
-
|
|
63
|
-
`dsh plugin add` forwards to `pnpm add` in the profile directory. Without a version and official registry, a local mirror or minimum-release-age policy can leave you on an older build.
|
|
64
|
-
|
|
65
|
-
### Ask another agent to install it
|
|
66
|
-
|
|
67
|
-
This plugin runs inside DeepSeek Harness Web. Copy one of the sentences below into DSH, Codex, or WorkBuddy and let that agent install it into your local `web` profile.
|
|
68
|
-
|
|
69
|
-
From npm:
|
|
70
|
-
|
|
71
|
-
```text
|
|
72
|
-
Install the latest DSH plugin @michengai/dsh-archive-manager into my local web profile using the official npm registry: dsh plugin --profile web add @michengai/dsh-archive-manager@latest --registry=https://registry.npmjs.org/. Then run dsh --profile web --dump-config, confirm archive-manager is mounted, and remind me to restart DSH Web and hard-refresh the browser.
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
From source:
|
|
76
|
-
|
|
77
|
-
```text
|
|
78
|
-
Install the DSH plugin from source at https://github.com/MichengAI/dsh-archive-manager: clone it, run pnpm install --frozen-lockfile and pnpm build, then run dsh plugin --profile web add . from that directory. Do not copy lib by itself. Then run dsh --profile web --dump-config, confirm archive-manager is mounted, and remind me to restart DSH Web and hard-refresh the browser.
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
| Product | How to use it |
|
|
82
|
-
| --- | --- |
|
|
83
|
-
| DSH | Send one of the sentences above to the current session. |
|
|
84
|
-
| Codex | Send one of the sentences above to Codex and let it install locally. |
|
|
85
|
-
| WorkBuddy | Send one of the sentences above to WorkBuddy; for a source install you can also paste `https://github.com/MichengAI/dsh-archive-manager`. |
|
|
86
|
-
|
|
87
|
-
Codex and WorkBuddy only install the plugin. After that, open DSH Web and use **Settings → Archived**.
|
|
88
|
-
|
|
89
|
-
You can also run the same npm command yourself:
|
|
90
|
-
|
|
91
|
-
```powershell
|
|
92
|
-
dsh plugin --profile web add @michengai/dsh-archive-manager@latest --registry=https://registry.npmjs.org/
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
If `dsh` is not on PATH, replace the leading `dsh` with `npx --yes @deepseek-ai/dsh`.
|
|
96
|
-
|
|
97
|
-
### Install the latest package from the official npm registry
|
|
98
|
-
|
|
99
|
-
Run this from any PowerShell directory:
|
|
100
|
-
|
|
101
|
-
```powershell
|
|
102
|
-
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
103
|
-
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
104
|
-
dsh plugin --profile web add @michengai/dsh-archive-manager@latest --registry=https://registry.npmjs.org/
|
|
105
|
-
dsh --profile web --dump-config
|
|
106
|
-
```
|
|
107
|
-
|
|
56
|
+
|
|
57
|
+
- A working DeepSeek Harness Web installation with `dsh` available in PowerShell.
|
|
58
|
+
- Examples use the `web` profile; replace it with the target profile.
|
|
59
|
+
- Source installation and development require Node.js 22+ and pnpm. npm installation does not require running `pnpm install` separately.
|
|
60
|
+
|
|
61
|
+
## Installation
|
|
62
|
+
|
|
63
|
+
`dsh plugin add` forwards to `pnpm add` in the profile directory. Without a version and official registry, a local mirror or minimum-release-age policy can leave you on an older build.
|
|
64
|
+
|
|
65
|
+
### Ask another agent to install it
|
|
66
|
+
|
|
67
|
+
This plugin runs inside DeepSeek Harness Web. Copy one of the sentences below into DSH, Codex, or WorkBuddy and let that agent install it into your local `web` profile.
|
|
68
|
+
|
|
69
|
+
From npm:
|
|
70
|
+
|
|
71
|
+
```text
|
|
72
|
+
Install the latest DSH plugin @michengai/dsh-archive-manager into my local web profile using the official npm registry: dsh plugin --profile web add @michengai/dsh-archive-manager@latest --registry=https://registry.npmjs.org/. Then run dsh --profile web --dump-config, confirm archive-manager is mounted, and remind me to restart DSH Web and hard-refresh the browser.
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
From source:
|
|
76
|
+
|
|
77
|
+
```text
|
|
78
|
+
Install the DSH plugin from source at https://github.com/MichengAI/dsh-archive-manager: clone it, run pnpm install --frozen-lockfile and pnpm build, then run dsh plugin --profile web add . from that directory. Do not copy lib by itself. Then run dsh --profile web --dump-config, confirm archive-manager is mounted, and remind me to restart DSH Web and hard-refresh the browser.
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
| Product | How to use it |
|
|
82
|
+
| --- | --- |
|
|
83
|
+
| DSH | Send one of the sentences above to the current session. |
|
|
84
|
+
| Codex | Send one of the sentences above to Codex and let it install locally. |
|
|
85
|
+
| WorkBuddy | Send one of the sentences above to WorkBuddy; for a source install you can also paste `https://github.com/MichengAI/dsh-archive-manager`. |
|
|
86
|
+
|
|
87
|
+
Codex and WorkBuddy only install the plugin. After that, open DSH Web and use **Settings → Archived**.
|
|
88
|
+
|
|
89
|
+
You can also run the same npm command yourself:
|
|
90
|
+
|
|
91
|
+
```powershell
|
|
92
|
+
dsh plugin --profile web add @michengai/dsh-archive-manager@latest --registry=https://registry.npmjs.org/
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
If `dsh` is not on PATH, replace the leading `dsh` with `npx --yes @deepseek-ai/dsh`.
|
|
96
|
+
|
|
97
|
+
### Install the latest package from the official npm registry
|
|
98
|
+
|
|
99
|
+
Run this from any PowerShell directory:
|
|
100
|
+
|
|
101
|
+
```powershell
|
|
102
|
+
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
103
|
+
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
104
|
+
dsh plugin --profile web add @michengai/dsh-archive-manager@latest --registry=https://registry.npmjs.org/
|
|
105
|
+
dsh --profile web --dump-config
|
|
106
|
+
```
|
|
107
|
+
|
|
108
108
|
To pin a release, replace `@latest` with a specific version such as `@x.y.z`.
|
|
109
|
-
|
|
110
|
-
The configuration output should contain `workspace-archive-manager` and `ui-workspace-archive-manager`. Restart DSH Web and hard-refresh the browser. Do not copy client files manually: the Settings page and archive menu need the mounted plugin.
|
|
111
|
-
|
|
112
|
-
### Install from source
|
|
113
|
-
|
|
114
|
-
Use this for debugging or unpublished changes. The cloned directory becomes the plugin source path:
|
|
115
|
-
|
|
116
|
-
```powershell
|
|
117
|
-
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
118
|
-
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
119
|
-
Set-Location D:\Repository\deepseek-harness-plugin
|
|
120
|
-
git clone https://github.com/MichengAI/dsh-archive-manager.git
|
|
121
|
-
Set-Location .\dsh-archive-manager
|
|
122
|
-
pnpm install --frozen-lockfile
|
|
123
|
-
pnpm build
|
|
124
|
-
dsh plugin --profile web add .
|
|
125
|
-
dsh --profile web --dump-config
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
Restart DSH Web and hard-refresh the browser. `dsh plugin ... add .` reads the package metadata and `cordis.patch.yml`; do not install by copying `lib` directly.
|
|
129
|
-
|
|
130
|
-
## Usage
|
|
131
|
-
|
|
132
|
-
1. Open the sidebar session menu and choose **Archive session**.
|
|
133
|
-
2. Open **Settings → Archived** to inspect sessions by workspace.
|
|
109
|
+
|
|
110
|
+
The configuration output should contain `workspace-archive-manager` and `ui-workspace-archive-manager`. Restart DSH Web and hard-refresh the browser. Do not copy client files manually: the Settings page and archive menu need the mounted plugin.
|
|
111
|
+
|
|
112
|
+
### Install from source
|
|
113
|
+
|
|
114
|
+
Use this for debugging or unpublished changes. The cloned directory becomes the plugin source path:
|
|
115
|
+
|
|
116
|
+
```powershell
|
|
117
|
+
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
118
|
+
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
119
|
+
Set-Location D:\Repository\deepseek-harness-plugin
|
|
120
|
+
git clone https://github.com/MichengAI/dsh-archive-manager.git
|
|
121
|
+
Set-Location .\dsh-archive-manager
|
|
122
|
+
pnpm install --frozen-lockfile
|
|
123
|
+
pnpm build
|
|
124
|
+
dsh plugin --profile web add .
|
|
125
|
+
dsh --profile web --dump-config
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Restart DSH Web and hard-refresh the browser. `dsh plugin ... add .` reads the package metadata and `cordis.patch.yml`; do not install by copying `lib` directly.
|
|
129
|
+
|
|
130
|
+
## Usage
|
|
131
|
+
|
|
132
|
+
1. Open the sidebar session menu and choose **Archive session**.
|
|
133
|
+
2. Open **Settings → Archived** to inspect sessions by workspace.
|
|
134
134
|
3. Search by title, sort by update time, creation time, or title, or filter the list by project.
|
|
135
135
|
4. Select **Unarchive** to restore one session, or select **Restore all** in the page header.
|
|
136
136
|
5. Open a project heading's action menu to restore or delete all of that project's archived chats.
|
|
137
137
|
6. Use the delete icon to remove one session permanently, then confirm the deletion. **It cannot be undone.**
|
|
138
|
-
|
|
139
|
-
If the entry is missing after installation or upgrade, restart DSH Web and hard-refresh the browser. It is located directly after **Connectors** in Settings.
|
|
140
|
-
|
|
141
|
-
## Data handling limits
|
|
142
|
-
|
|
143
|
-
- Deletion always requires confirmation.
|
|
144
|
-
- It removes the session directory, workspace records, archive set, and projection cache.
|
|
145
|
-
- A live session finishes writing before cleanup to prevent data truncation.
|
|
146
|
-
- The plugin replaces DSH’s default workspace and projection services. Install through the DSH profile instead of manually composing the patch.
|
|
147
|
-
|
|
148
|
-
## Secondary development
|
|
149
|
-
|
|
150
|
-
This repository has no `src` directory. `lib` is directly maintained runtime source, which is its current layout rather than the recommended layout for new plugins. New plugins should prefer `src` built to `lib`.
|
|
151
|
-
|
|
152
|
-
- [lib\index.js](lib/index.js): host service entry point.
|
|
153
|
-
- [lib\workspace.js](lib/workspace.js): archived-session and workspace service.
|
|
154
|
-
- [lib\projcache.js](lib/projcache.js): session projection cache.
|
|
155
|
-
- [lib\client.js](lib/client.js): Settings page and archive UI.
|
|
156
|
-
- `test\*.test.mjs`: host, client, Remote, and styling coverage.
|
|
157
|
-
|
|
158
|
-
After changing the runtime source, validate, test, and install from the local directory:
|
|
159
|
-
|
|
160
|
-
```powershell
|
|
161
|
-
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
162
|
-
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
163
|
-
pnpm build
|
|
164
|
-
pnpm test
|
|
165
|
-
pnpm pack:check
|
|
166
|
-
dsh plugin --profile web add .
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
`pnpm build` validates package integrity; it does not compile `lib` into another directory.
|
|
170
|
-
|
|
171
|
-
## Validation
|
|
172
|
-
|
|
173
|
-
```powershell
|
|
174
|
-
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
175
|
-
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
176
|
-
pnpm build
|
|
177
|
-
pnpm test
|
|
178
|
-
pnpm pack:check
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
`prepublishOnly` runs the build check and tests before publishing.
|
|
182
|
-
|
|
183
|
-
## License
|
|
184
|
-
|
|
185
|
-
Licensed under [Apache License 2.0](LICENSE).
|
|
186
|
-
|
|
187
|
-
## Changelog
|
|
188
|
-
|
|
138
|
+
|
|
139
|
+
If the entry is missing after installation or upgrade, restart DSH Web and hard-refresh the browser. It is located directly after **Connectors** in Settings.
|
|
140
|
+
|
|
141
|
+
## Data handling limits
|
|
142
|
+
|
|
143
|
+
- Deletion always requires confirmation.
|
|
144
|
+
- It removes the session directory, workspace records, archive set, and projection cache.
|
|
145
|
+
- A live session finishes writing before cleanup to prevent data truncation.
|
|
146
|
+
- The plugin replaces DSH’s default workspace and projection services. Install through the DSH profile instead of manually composing the patch.
|
|
147
|
+
|
|
148
|
+
## Secondary development
|
|
149
|
+
|
|
150
|
+
This repository has no `src` directory. `lib` is directly maintained runtime source, which is its current layout rather than the recommended layout for new plugins. New plugins should prefer `src` built to `lib`.
|
|
151
|
+
|
|
152
|
+
- [lib\index.js](lib/index.js): host service entry point.
|
|
153
|
+
- [lib\workspace.js](lib/workspace.js): archived-session and workspace service.
|
|
154
|
+
- [lib\projcache.js](lib/projcache.js): session projection cache.
|
|
155
|
+
- [lib\client.js](lib/client.js): Settings page and archive UI.
|
|
156
|
+
- `test\*.test.mjs`: host, client, Remote, and styling coverage.
|
|
157
|
+
|
|
158
|
+
After changing the runtime source, validate, test, and install from the local directory:
|
|
159
|
+
|
|
160
|
+
```powershell
|
|
161
|
+
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
162
|
+
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
163
|
+
pnpm build
|
|
164
|
+
pnpm test
|
|
165
|
+
pnpm pack:check
|
|
166
|
+
dsh plugin --profile web add .
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
`pnpm build` validates package integrity; it does not compile `lib` into another directory.
|
|
170
|
+
|
|
171
|
+
## Validation
|
|
172
|
+
|
|
173
|
+
```powershell
|
|
174
|
+
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
175
|
+
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
176
|
+
pnpm build
|
|
177
|
+
pnpm test
|
|
178
|
+
pnpm pack:check
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
`prepublishOnly` runs the build check and tests before publishing.
|
|
182
|
+
|
|
183
|
+
## License
|
|
184
|
+
|
|
185
|
+
Licensed under [Apache License 2.0](LICENSE).
|
|
186
|
+
|
|
187
|
+
## Changelog
|
|
188
|
+
|
|
189
189
|
See [CHANGELOG.md](CHANGELOG.md) for retained release notes.
|