@max-null/dsh-memory 0.7.1 → 0.7.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/dist/engine.d.ts CHANGED
@@ -244,7 +244,13 @@ export declare class MemoryEngine extends Service {
244
244
  /**
245
245
  * 强制重载存储:关闭全局域与全部已开工作区域后重开(unit 释放后
246
246
  * backend 重读文件),放弃内存缓存。供外部编辑记忆文件后刷新
247
- * (JsonStorageBackend 打开时加载一次,无 watch——2026-08-19 实测)。
247
+ * (JsonStorageBackend 打开时加载一次,无 watch——2026-08-19 实测);
248
+ * 多实例写入协调(0.7.1)让它在每次「磁盘被别人改过」时自动触发。
249
+ *
250
+ * **已打开的工作区要重开,而不是一关了之**:注入 provider 是同步回调、只读
251
+ * 已打开的表,关掉就等同于「这个工作区没有常驻记忆」——工作区记忆会从上下文里
252
+ * 静默消失,直到某次工具调用把它重新打开。重开的表同样从磁盘重读,
253
+ * 「放弃内存缓存」这条语义不变,改变的只是「重读完别忘了装回去」。
248
254
  */
249
255
  reload(): Promise<void>;
250
256
  /**
package/dist/engine.js CHANGED
@@ -262,15 +262,27 @@ export class MemoryEngine extends Service {
262
262
  /**
263
263
  * 强制重载存储:关闭全局域与全部已开工作区域后重开(unit 释放后
264
264
  * backend 重读文件),放弃内存缓存。供外部编辑记忆文件后刷新
265
- * (JsonStorageBackend 打开时加载一次,无 watch——2026-08-19 实测)。
265
+ * (JsonStorageBackend 打开时加载一次,无 watch——2026-08-19 实测);
266
+ * 多实例写入协调(0.7.1)让它在每次「磁盘被别人改过」时自动触发。
267
+ *
268
+ * **已打开的工作区要重开,而不是一关了之**:注入 provider 是同步回调、只读
269
+ * 已打开的表,关掉就等同于「这个工作区没有常驻记忆」——工作区记忆会从上下文里
270
+ * 静默消失,直到某次工具调用把它重新打开。重开的表同样从磁盘重读,
271
+ * 「放弃内存缓存」这条语义不变,改变的只是「重读完别忘了装回去」。
266
272
  */
267
273
  async reload() {
274
+ const opened = [...this.projectTables.keys()];
268
275
  await this.facility?.closeAll();
269
276
  for (const facility of this.projectFacilities.values())
270
277
  await facility.closeAll();
271
278
  this.projectTables.clear();
272
279
  this.projectFacilities.clear();
273
280
  await this.openGlobalFacility();
281
+ for (const key of opened) {
282
+ // 重开失败 = 该工作区退回「未打开」(本轮注入缺这部分,下次访问重试),
283
+ // 不该让触发重载的那一整次写入跟着失败。
284
+ await this.projectTableFor(key).catch(() => undefined);
285
+ }
274
286
  }
275
287
  /**
276
288
  * Create one record. 低危内容直接 `approved`(静默生效,2026-09-15 静默记忆机制);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@max-null/dsh-memory",
3
- "version": "0.7.1",
3
+ "version": "0.7.2",
4
4
  "description": "Cross-session plaintext memory plugin for the DeepSeek Harness — deterministic BM25 recall, writes take effect immediately, signal-driven injection, no embeddings",
5
5
  "license": "MIT",
6
6
  "publishConfig": {