dsh-memoir 0.7.1 → 0.8.0
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.en.md +16 -9
- package/README.md +16 -9
- package/cordis.patch.yml +2 -3
- package/lib/autodistill.d.ts +7 -0
- package/lib/autodistill.js +1 -1
- package/lib/client.js +17 -20
- package/lib/client.js.map +3 -3
- package/package.json +21 -19
package/README.en.md
CHANGED
|
@@ -12,11 +12,13 @@
|
|
|
12
12
|
No embeddings, vector database, or cloud memory service. The npm package has zero bundled runtime dependencies; DSH peers are supplied by the host.
|
|
13
13
|
|
|
14
14
|
> [!IMPORTANT]
|
|
15
|
+
> **0.8.0 requires DSH `>=0.1.7-rc.1 <0.1.8-0`**, tested against `0.1.7-rc.1` with Windows/WSL regressions and an isolated Windows host. Pin `dsh-memoir@0.7.1` on legacy DSH 0.1.5 instead of upgrading to latest. Real-browser interaction and paid-model end-to-end validation remain unverified.
|
|
16
|
+
>
|
|
15
17
|
> `dsh-memoir@0.7.1` fixes lost session snapshots after restart or RAM eviction (#10), supporting DSH **0.1.5-rc.1 / rc.2**. It requires `>=0.1.5-rc.1 <0.1.6-0`; check your host first. Keep `0.6.2` on DSH 0.1.2, or `0.5.6` on DSH 0.1.1-rc.2; those older lines do not include this fix.
|
|
16
18
|
|
|
17
19
|
```bash
|
|
18
|
-
npm install --global @deepseek-ai/dsh@0.1.
|
|
19
|
-
dsh plugin --profile web add dsh-memoir@
|
|
20
|
+
npm install --global @deepseek-ai/dsh@0.1.7-rc.1
|
|
21
|
+
dsh plugin --profile web add dsh-memoir@0.8.0
|
|
20
22
|
```
|
|
21
23
|
|
|
22
24
|
Restart `dsh web`. Memory remains local and is not automatically deleted when the plugin is updated or removed.
|
|
@@ -88,7 +90,7 @@ Similar-memory governance starts with BM25 candidates, then combines title simil
|
|
|
88
90
|
|
|
89
91
|
v0.6.2 diagnostics show the latest decision and process-local counters. Turns calling `memoir_record` or `memoir_update` skip reminders; submitting a reminder does not confirm persistence. Agent disposal clears gate state, with a fallback cap of 1024 recently active agents (eviction also forgets their turn watermark and cooldown). Manual recording remains available when automatic distillation is disabled.
|
|
90
92
|
|
|
91
|
-
DSH `0.1.
|
|
93
|
+
0.8.0 targets DSH `0.1.7-rc.1`; 0.7.1 was validated on `0.1.5-rc.1 / rc.2`. BM25 is lexical retrieval and does not guarantee cross-language semantic matches without shared terms. Distillation guidance does not replace fact checking.
|
|
92
94
|
|
|
93
95
|
Automatic distillation is an observable agent turn-end reminder, not silent background scraping of every chat. The default `1 / 0 / 1` means every eligible worked turn, no extra cooldown, and at least one tool call.
|
|
94
96
|
|
|
@@ -150,20 +152,21 @@ Installing into a DSH-alpha `web` profile registers a native Memory Conversation
|
|
|
150
152
|
|
|
151
153
|
| Channel | DSH baseline | Installation | Status |
|
|
152
154
|
| --- | --- | --- | --- |
|
|
153
|
-
| npm `latest` (`0.
|
|
155
|
+
| npm `latest` (`0.8.0`) | `>=0.1.7-rc.1 <0.1.8-0` | `dsh plugin --profile web add dsh-memoir@0.8.0` | DSH 0.1.7 line |
|
|
156
|
+
| pinned npm `0.7.1` | `>=0.1.5-rc.1 <0.1.6-0` | `dsh plugin --profile web add dsh-memoir@0.7.1` | Legacy 0.1.5 line |
|
|
154
157
|
| pinned npm `0.6.2` | `>=0.1.2-alpha.2 <0.1.3` | `dsh plugin --profile web add dsh-memoir@0.6.2` | Legacy 0.1.2 line |
|
|
155
158
|
| pinned npm `0.5.6` | `0.1.1-rc.2` | `dsh plugin --profile web add dsh-memoir@0.5.6` | rc2 compatibility line |
|
|
156
|
-
|
|
|
159
|
+
| Source `v0.8.0` | `>=0.1.7-rc.1 <0.1.8-0` | local build + `link:` | Development; not compatible with legacy 0.1.5 / 0.1.6 |
|
|
157
160
|
|
|
158
161
|
Node.js `^22.19.0 || >=24.0.0` is required. 0.7.1 keeps the native `conversation.view` / `settings.section` slots and `snapshotEvents()`. DSH 0.1.5 uses Session log V3, independent of Memoir store v4 / settings v3. Back up DSH_HOME before upgrading DSH; migrated sessions are not guaranteed readable by older hosts. This Memoir release neither migrates nor resets memory and retains frozen session snapshots without enabling new dynamic-prompt behavior.
|
|
159
162
|
|
|
160
163
|
<details>
|
|
161
164
|
<summary>Install from source</summary>
|
|
162
165
|
|
|
163
|
-
0.7.
|
|
166
|
+
Published 0.7.1 source (legacy DSH 0.1.5):
|
|
164
167
|
|
|
165
168
|
```bash
|
|
166
|
-
git clone https://github.com/Qinling-Melon-Farmers/dsh-memoir.git
|
|
169
|
+
git clone --branch v0.7.1 https://github.com/Qinling-Melon-Farmers/dsh-memoir.git
|
|
167
170
|
cd dsh-memoir
|
|
168
171
|
pnpm install --frozen-lockfile
|
|
169
172
|
pnpm run build
|
|
@@ -173,6 +176,8 @@ dsh plugin --profile web add "link:/absolute/path/dsh-memoir"
|
|
|
173
176
|
|
|
174
177
|
</details>
|
|
175
178
|
|
|
179
|
+
0.8.0 uses native `uiWorkspace` navigation, `conversation.view` / `settings.section`, and a producer-owned Session V4 distillation source. Source links open the session and turn IDs remain copyable; global DOM turn scrolling is removed to avoid targeting another conversation. `snapshotEvents()` remains in use (deprecated but still available); migration to public asynchronous projections is planned. Memoir data formats are unchanged. Back up DSH_HOME before upgrading: DSH Session V4 migration is separate from plugin memory storage.
|
|
180
|
+
|
|
176
181
|
## Storage, privacy, and security boundaries
|
|
177
182
|
|
|
178
183
|
```text
|
|
@@ -224,7 +229,9 @@ v0.5.6 benchmark (Node 24.19, 900/1200-token budget; full data in [`bench/report
|
|
|
224
229
|
|
|
225
230
|
Numbers vary by machine and corpus. The important properties are that injection remains bounded and the cache-hit path is independent of total memory size.
|
|
226
231
|
|
|
227
|
-
0.
|
|
232
|
+
0.8.0: Windows passes 206 of 207 tests with one skip; WSL passes all 207. Typecheck/build pass on both. Three Cordis lifecycle cycles and client slot/style/language-observer cleanup pass, as do the isolated Windows page, official client combo and Memoir APIs. Real-browser interaction and paid-model end-to-end validation remain unverified; historical screenshots are not visual evidence for this version.
|
|
233
|
+
|
|
234
|
+
Historical 0.7.1 has 202 tests: 201 pass on Windows with one POSIX permission test skipped; all pass on Linux. Coverage includes actual process restart, same-session concurrent creation, LRU, empty baselines, forks, language isolation, corruption and permission errors, plus existing BM25/Hot Memory/tool regressions. DSH rc.1 and the newest rc.2 are validated. Prefix equality in tests is not a guarantee of actual billing savings.
|
|
228
235
|
|
|
229
236
|
## FAQ
|
|
230
237
|
|
|
@@ -253,6 +260,6 @@ pnpm test
|
|
|
253
260
|
npm run bench
|
|
254
261
|
```
|
|
255
262
|
|
|
256
|
-
Read [CONTRIBUTING.md](./CONTRIBUTING.md) before submitting changes. See [CHANGELOG.md](./CHANGELOG.md) for version history. Formal packages are published by the tag workflow through npm OIDC. The current
|
|
263
|
+
Read [CONTRIBUTING.md](./CONTRIBUTING.md) before submitting changes. See [CHANGELOG.md](./CHANGELOG.md) for version history. Formal packages are published by the tag workflow through npm OIDC. The current version is [v0.8.0](https://github.com/Qinling-Melon-Farmers/dsh-memoir/releases/tag/v0.8.0), targeting DSH 0.1.7. Keep 0.7.1 on legacy DSH 0.1.5.
|
|
257
264
|
|
|
258
265
|
Apache-2.0
|
package/README.md
CHANGED
|
@@ -11,11 +11,13 @@
|
|
|
11
11
|
无需 embedding、向量数据库或云端记忆服务;npm 包零捆绑运行时依赖,DSH peer 由宿主提供。
|
|
12
12
|
|
|
13
13
|
> [!IMPORTANT]
|
|
14
|
+
> **0.8.0 要求 DSH `>=0.1.7-rc.1 <0.1.8-0`**,已针对 `0.1.7-rc.1` 完成 Windows/WSL 自动化回归与 Windows 隔离宿主验证。旧 DSH 0.1.5 请固定安装 `dsh-memoir@0.7.1`,不要直接升级 latest。真实浏览器交互与付费模型端到端验证尚未完成。
|
|
15
|
+
>
|
|
14
16
|
> `dsh-memoir@0.7.1` 修复重启和内存淘汰后旧会话快照丢失(#10),支持 DSH **0.1.5-rc.1 / rc.2**。要求 `>=0.1.5-rc.1 <0.1.6-0`;请先核对宿主版本。旧 DSH 0.1.2 用户固定使用 `0.6.2`,0.1.1-rc.2 用户固定使用 `0.5.6`;这些旧版未包含本次修复。
|
|
15
17
|
|
|
16
18
|
```bash
|
|
17
|
-
npm install --global @deepseek-ai/dsh@0.1.
|
|
18
|
-
dsh plugin --profile web add dsh-memoir@
|
|
19
|
+
npm install --global @deepseek-ai/dsh@0.1.7-rc.1
|
|
20
|
+
dsh plugin --profile web add dsh-memoir@0.8.0
|
|
19
21
|
```
|
|
20
22
|
|
|
21
23
|
重启 `dsh web` 即可。记忆保存在本机,不会随插件升级或卸载自动删除。
|
|
@@ -87,7 +89,7 @@ memoir_record / memoir_update
|
|
|
87
89
|
|
|
88
90
|
v0.6.2 的诊断页显示最近触发或跳过原因及本次进程计数。已经调用 `memoir_record` 或 `memoir_update` 的回合不再提醒;提交提醒不代表写入已完成。Agent 销毁会清理门控状态,最多保留 1024 个最近活动 Agent(淘汰后不再保留其回合水位和冷却)。关闭自动蒸馏后仍可手动记录。
|
|
89
91
|
|
|
90
|
-
|
|
92
|
+
0.8.0面向 DSH `0.1.7-rc.1`;0.7.1 的历史验证范围为 `0.1.5-rc.1 / rc.2`。BM25 是词项召回,不能保证无共同词项的跨语言语义匹配;提炼质量提示也不能替代事实核验。
|
|
91
93
|
|
|
92
94
|
自动蒸馏是可观察的 Agent 收尾提醒,不是后台静默抓取聊天内容。默认 `1 / 0 / 1` 表示:每个有效 worked turn、无额外冷却、至少一次工具调用即可提醒。
|
|
93
95
|
|
|
@@ -149,20 +151,21 @@ v0.6.2 的诊断页显示最近触发或跳过原因及本次进程计数。已
|
|
|
149
151
|
|
|
150
152
|
| 渠道 | DSH 基线 | 安装方式 | 状态 |
|
|
151
153
|
| --- | --- | --- | --- |
|
|
152
|
-
| npm `latest`(`0.
|
|
154
|
+
| npm `latest`(`0.8.0`) | `>=0.1.7-rc.1 <0.1.8-0` | `dsh plugin --profile web add dsh-memoir@0.8.0` | 0.1.7 兼容线 |
|
|
155
|
+
| npm 固定版 `0.7.1` | `>=0.1.5-rc.1 <0.1.6-0` | `dsh plugin --profile web add dsh-memoir@0.7.1` | 旧 0.1.5 维护线 |
|
|
153
156
|
| npm 固定版 `0.6.2` | `>=0.1.2-alpha.2 <0.1.3` | `dsh plugin --profile web add dsh-memoir@0.6.2` | 旧 0.1.2 兼容线 |
|
|
154
157
|
| npm 固定版 `0.5.6` | `0.1.1-rc.2` | `dsh plugin --profile web add dsh-memoir@0.5.6` | rc2 兼容线 |
|
|
155
|
-
|
|
|
158
|
+
| 源码 `v0.8.0` | `>=0.1.7-rc.1 <0.1.8-0` | 本地构建 + `link:` | 开发调试,不兼容旧 0.1.5 / 0.1.6 |
|
|
156
159
|
|
|
157
160
|
需要 Node.js `^22.19.0 || >=24.0.0`。0.7.1 继续使用原生 `conversation.view` / `settings.section` 与 `snapshotEvents()`。DSH 0.1.5 的会话日志升级至 V3;其迁移与 Memoir 的 store v4 / settings v3 是独立格式。升级 DSH 前备份 DSH_HOME,迁移后的 DSH 会话不能承诺被旧宿主读取。Memoir 本次不迁移或清空记忆,也不启用新动态提示词行为;既有会话快照语义保持不变。
|
|
158
161
|
|
|
159
162
|
<details>
|
|
160
163
|
<summary>从源码安装</summary>
|
|
161
164
|
|
|
162
|
-
0.7.
|
|
165
|
+
已发布 0.7.1 源码(旧 DSH 0.1.5):
|
|
163
166
|
|
|
164
167
|
```bash
|
|
165
|
-
git clone https://github.com/Qinling-Melon-Farmers/dsh-memoir.git
|
|
168
|
+
git clone --branch v0.7.1 https://github.com/Qinling-Melon-Farmers/dsh-memoir.git
|
|
166
169
|
cd dsh-memoir
|
|
167
170
|
pnpm install --frozen-lockfile
|
|
168
171
|
pnpm run build
|
|
@@ -172,6 +175,8 @@ dsh plugin --profile web add "link:/absolute/path/dsh-memoir"
|
|
|
172
175
|
|
|
173
176
|
</details>
|
|
174
177
|
|
|
178
|
+
0.8.0使用原生 `uiWorkspace` 导航、`conversation.view` / `settings.section` 和 Session V4 专属蒸馏来源。来源链接打开会话,回合编号可复制;不再通过全局 DOM 自动滚到回合,避免多会话串扰。`snapshotEvents()` 仍在使用(宿主已标记弃用但尚未移除),公开异步 projection 迁移列入后续版本。Memoir 数据格式不变;升级 DSH 前备份 DSH_HOME,其 Session V4 迁移与插件记忆迁移是两回事。
|
|
179
|
+
|
|
175
180
|
## 存储、隐私与安全边界
|
|
176
181
|
|
|
177
182
|
```text
|
|
@@ -223,7 +228,9 @@ v0.5.6 基准(Node 24.19,900/1200 token;完整数据见 [`bench/report.md`
|
|
|
223
228
|
|
|
224
229
|
基准值取决于机器和语料;它证明的重点是注入预算保持有界、缓存命中路径与记忆总量解耦。
|
|
225
230
|
|
|
226
|
-
0.
|
|
231
|
+
0.8.0:Windows 207 项测试中 206 通过、1 项跳过,WSL 207 项全部通过;双端类型检查/构建通过。三轮 Cordis 生命周期与客户端 slots/样式/语言 observer 清理测试通过,Windows 隔离宿主页、官方客户端组合资源及 Memoir API 通过。未完成真实浏览器交互和付费模型端到端验收;历史截图不是本版实机证据。
|
|
232
|
+
|
|
233
|
+
历史 0.7.1 含 202 项测试:Windows 201 项通过、1 项 POSIX 权限测试跳过;Linux 全部通过。覆盖实际跨进程快照恢复、同会话并发写入、LRU、空基线、fork、语言隔离、损坏与权限失败,以及原有 BM25/Hot Memory/工具回归。已核验 DSH rc.1 和最新 rc.2;没有把测试前缀一致性等同于实际账单节省保证。
|
|
227
234
|
|
|
228
235
|
## 常见问题
|
|
229
236
|
|
|
@@ -252,6 +259,6 @@ pnpm test
|
|
|
252
259
|
npm run bench
|
|
253
260
|
```
|
|
254
261
|
|
|
255
|
-
提交前请阅读 [CONTRIBUTING.md](./CONTRIBUTING.md)。版本变化见 [CHANGELOG.md](./CHANGELOG.md),正式包由 tag 工作流通过 npm OIDC
|
|
262
|
+
提交前请阅读 [CONTRIBUTING.md](./CONTRIBUTING.md)。版本变化见 [CHANGELOG.md](./CHANGELOG.md),正式包由 tag 工作流通过 npm OIDC 发布。当前版本是 [v0.8.0](https://github.com/Qinling-Melon-Farmers/dsh-memoir/releases/tag/v0.8.0),面向 DSH 0.1.7;旧 0.1.5 保留 0.7.1。
|
|
256
263
|
|
|
257
264
|
Apache-2.0
|
package/cordis.patch.yml
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
# dsh-memoir bundle patch: inserts the host-half plugin row into the web
|
|
2
2
|
# profile roster. Applied as a profile bundle layer (the `dsh.bundle.patch`
|
|
3
|
-
# manifest field) over dsh-base. dsh-memoir v0.
|
|
4
|
-
# line >=0.1.
|
|
5
|
-
# dsh plugin --profile web add dsh-memoir@latest
|
|
3
|
+
# manifest field) over dsh-base. dsh-memoir v0.8.0 targets the DSH
|
|
4
|
+
# line >=0.1.7-rc.1 <0.1.8-0. Keep Memoir 0.7.1 on older DSH 0.1.5.
|
|
6
5
|
#
|
|
7
6
|
# The row is a bare plugin by package name: the node half (exports ".")
|
|
8
7
|
# registers the memoir_record / memoir_read tools, the /api/dsh-memoir panel
|
package/lib/autodistill.d.ts
CHANGED
|
@@ -11,6 +11,13 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { UserMessage } from '@deepseek-ai/dsh-llm';
|
|
13
13
|
import type { MemoirLanguage } from './i18n.js';
|
|
14
|
+
declare module '@deepseek-ai/dsh-llm/message' {
|
|
15
|
+
interface MessageSourceMap {
|
|
16
|
+
'dsh-memoir': {
|
|
17
|
+
kind: 'dsh-memoir';
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
14
21
|
/** The steering prompt injected at the end of an active turn. */
|
|
15
22
|
export declare function distillPrompt(language?: MemoirLanguage): string;
|
|
16
23
|
/** Backwards-compatible Chinese prompt constant. */
|
package/lib/autodistill.js
CHANGED
|
@@ -155,7 +155,7 @@ export function installAutoDistill(wire, options) {
|
|
|
155
155
|
try {
|
|
156
156
|
agent.steer(createUserMessage({
|
|
157
157
|
content: [{ type: 'text', text: distillPrompt(options.language?.()) }],
|
|
158
|
-
source: { kind:
|
|
158
|
+
source: { kind: AUTO_DISTILL_PLUGIN },
|
|
159
159
|
}));
|
|
160
160
|
}
|
|
161
161
|
catch (error) {
|
package/lib/client.js
CHANGED
|
@@ -241,7 +241,7 @@ var dictionaries = {
|
|
|
241
241
|
"session": "\u4F1A\u8BDD",
|
|
242
242
|
"source.label": "\u6765\u6E90",
|
|
243
243
|
"source.turn": "\u56DE\u5408",
|
|
244
|
-
"source.open": "\u6253\u5F00\u6765\u6E90\u4F1A\u8BDD\
|
|
244
|
+
"source.open": "\u6253\u5F00\u6765\u6E90\u4F1A\u8BDD\uFF08\u56DE\u5408\u7F16\u53F7\u53EF\u590D\u5236\uFF09",
|
|
245
245
|
"source.copy": "\u590D\u5236\u4F1A\u8BDD\u4E0E\u56DE\u5408\u6807\u8BC6",
|
|
246
246
|
"source.copied": "\u5DF2\u590D\u5236",
|
|
247
247
|
"sections.work": "\u5DE5\u4F5C\u8BB0\u5F55",
|
|
@@ -431,7 +431,7 @@ var dictionaries = {
|
|
|
431
431
|
"session": "session",
|
|
432
432
|
"source.label": "Source",
|
|
433
433
|
"source.turn": "turn",
|
|
434
|
-
"source.open": "Open the source session
|
|
434
|
+
"source.open": "Open the source session (turn ID can be copied)",
|
|
435
435
|
"source.copy": "Copy session and turn identifiers",
|
|
436
436
|
"source.copied": "Copied",
|
|
437
437
|
"sections.work": "Work Log",
|
|
@@ -2738,15 +2738,15 @@ body[data-ds-dark-theme] [data-dsh-memoir-view] {
|
|
|
2738
2738
|
}
|
|
2739
2739
|
`;
|
|
2740
2740
|
|
|
2741
|
+
// src/client/native-navigation.ts
|
|
2742
|
+
function mainWorkspaceCwd(snapshot) {
|
|
2743
|
+
const main = Object.values(snapshot.byId).filter((session) => (session.retainedBy.mainView ?? 0) > 0);
|
|
2744
|
+
return main.length === 1 ? main[0].cwd ?? "" : "";
|
|
2745
|
+
}
|
|
2746
|
+
|
|
2741
2747
|
// src/client/index.tsx
|
|
2742
2748
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
2743
|
-
var inject = ["
|
|
2744
|
-
function revealSourceTurn(turnId) {
|
|
2745
|
-
if (turnId === void 0) return;
|
|
2746
|
-
const reveal = () => document.querySelector(`[data-turn-tail="${turnId}"]`)?.scrollIntoView({ block: "center", behavior: "smooth" });
|
|
2747
|
-
setTimeout(reveal, 0);
|
|
2748
|
-
setTimeout(reveal, 250);
|
|
2749
|
-
}
|
|
2749
|
+
var inject = ["uiWorkspace", "slots"];
|
|
2750
2750
|
function ConversationMemoirView({
|
|
2751
2751
|
api,
|
|
2752
2752
|
ctx,
|
|
@@ -2754,7 +2754,8 @@ function ConversationMemoirView({
|
|
|
2754
2754
|
sessionId,
|
|
2755
2755
|
useSessions,
|
|
2756
2756
|
viewRequest,
|
|
2757
|
-
completeViewRequest
|
|
2757
|
+
completeViewRequest,
|
|
2758
|
+
openView
|
|
2758
2759
|
}) {
|
|
2759
2760
|
const cwd = useSessions((snapshot) => snapshot.byId[sessionId]?.cwd ?? "");
|
|
2760
2761
|
(0, import_react2.useEffect)(() => {
|
|
@@ -2773,9 +2774,9 @@ function ConversationMemoirView({
|
|
|
2773
2774
|
api,
|
|
2774
2775
|
cwd,
|
|
2775
2776
|
t,
|
|
2776
|
-
openSource: (sourceSessionId
|
|
2777
|
-
|
|
2778
|
-
|
|
2777
|
+
openSource: (sourceSessionId) => {
|
|
2778
|
+
if (sourceSessionId === sessionId) openView("chat", "");
|
|
2779
|
+
ctx.uiWorkspace.openSession(sourceSessionId);
|
|
2779
2780
|
}
|
|
2780
2781
|
}
|
|
2781
2782
|
)
|
|
@@ -2789,10 +2790,7 @@ function SettingsMemoirSection({
|
|
|
2789
2790
|
close,
|
|
2790
2791
|
useSessions
|
|
2791
2792
|
}) {
|
|
2792
|
-
const cwd = useSessions(
|
|
2793
|
-
const current = snapshot.current;
|
|
2794
|
-
return current === void 0 ? "" : snapshot.byId[current]?.cwd ?? "";
|
|
2795
|
-
});
|
|
2793
|
+
const cwd = useSessions(mainWorkspaceCwd);
|
|
2796
2794
|
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "memoir-settings-section", "data-dsh-plugin": "memoir", "data-dsh-part": "settings-section", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
2797
2795
|
MemoirPanel,
|
|
2798
2796
|
{
|
|
@@ -2800,10 +2798,9 @@ function SettingsMemoirSection({
|
|
|
2800
2798
|
cwd,
|
|
2801
2799
|
t,
|
|
2802
2800
|
onClose: close,
|
|
2803
|
-
openSource: (sourceSessionId
|
|
2801
|
+
openSource: (sourceSessionId) => {
|
|
2804
2802
|
close();
|
|
2805
|
-
ctx.
|
|
2806
|
-
revealSourceTurn(turnId);
|
|
2803
|
+
ctx.uiWorkspace.openSession(sourceSessionId);
|
|
2807
2804
|
}
|
|
2808
2805
|
}
|
|
2809
2806
|
) });
|