@dsh-cc/memory-consolidation 0.8.1-rc.1 → 0.8.2-rc.1

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
@@ -3,4 +3,4 @@
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # pnpm check:readme --write
5
5
  README.md: 4b414345abfbf6cf6f71bb3b7788a92e63354708
6
- README.zh.md: 86db0f7c3c02e656f533135c502597b8b5dd39d1
6
+ README.zh.md: eb791fd313de5dba41edf98a727d7ec37a7a9dd0
package/README.zh.md CHANGED
@@ -3,7 +3,7 @@
3
3
  中文 | [English](README.md)
4
4
 
5
5
  面向 DeepSeek Harness 的后台记忆整合:轮末抽取与对 `dsh-memory` 所读取的记忆
6
- 目录进行三重门 dream 重写。
6
+ 目录做三重门 dream 重写。
7
7
 
8
8
  ## 本包提供的能力
9
9
 
@@ -22,30 +22,30 @@
22
22
  `system-prompt/change` 重组装 `memory` 系统提示词 section。本包不为记忆文件本身
23
23
  引入新的会话事件。
24
24
 
25
- ## 与 sandbox 的关系:为什么由插件而非 fork 落盘
25
+ ## 与 sandbox 的关系:为什么由插件而非 fork 落盘
26
26
 
27
27
  记忆目录位于 harness home,在任何会话 workspace 之外。fork subagent 继承父会话
28
- 的 sandbox 策略,因此在 `workspace-write`(或 `read-only`)下,所有指向记忆目录
29
- 的模型侧 `write`/`edit` 都会被围栏拦截(`FS_SANDBOX_DENIED`);后台 job 又无法
30
- 走 escalation 重试——escalation 需要弹审批,而 job 的审批策略是 `never`。所以在
31
- 任何 sandboxed 会话里,模型侧的记忆写入注定失败。
32
-
33
- 因此 fork 不再持有任何写工具:它们通过 `outputSchema`(driver 注入的
34
- `structured_output` 工具)上报文件集,由插件——可信的 host 代码——亲自落盘。
35
- 写入目标是**触发 agent 自己所在工作区的目录**——`<memoryHome>/projects/<slug>/`,
28
+ 的 sandbox 策略,因此在 `workspace-write`(或 `read-only`)下,所有指向记忆目录
29
+ 的模型侧 `write`/`edit` 都会被围栏拦截(`FS_SANDBOX_DENIED`);后台 job 又无法
30
+ 走 escalation 重试——escalation 需要弹审批,而 job 的审批策略是 `never`。所以在
31
+ 任何 sandboxed 会话里,模型侧的记忆写入注定失败。
32
+
33
+ 因此 fork 不再持有任何写工具:它们通过 `outputSchema`(driver 注入的
34
+ `structured_output` 工具)上报文件集,由插件——可信的 host 代码——亲自落盘。
35
+ 写入目标是**触发 agent 自己所在工作区的目录**——`<memoryHome>/projects/<slug>/`,
36
36
  由 `resolveWorkspaceMemoryDir` 按 agent 的规范 git 根解析——而不是共享的 home 根
37
- (home 根是显式全局层,由 `dsh-memory` 的 `memory_save` 以 `scope: "global"` 写入):
37
+ (home 根是显式全局层,由 `dsh-memory` 的 `memory_save` 以 `scope: "global"` 写入):
38
38
 
39
- 1. `validateMemoryWrites` 校验这份不可信负载:仅允许扁平 `.md` 文件名(不允许
40
- 分隔符、`..`、绝对路径、点文件),不允许重名,并施加硬上限(32 个文件 /
41
- 单文件 64 KiB / 单批 256 KiB)。任何违规整批拒绝。
42
- 2. `writeMemoryFiles` 经 `ctx.fs` 缝写入,并为每次调用盖上
39
+ 1. `validateMemoryWrites` 校验这份不可信负载:仅允许扁平 `.md` 文件名(不允许
40
+ 分隔符、`..`、绝对路径、点文件),不允许重名,并施加硬上限(32 个文件 /
41
+ 单文件 64 KiB / 单批 256 KiB)。任何违规整批拒绝。
42
+ 2. `writeMemoryFiles` 经 `ctx.fs` 缝写入,并为每次调用盖上
43
43
  `{ mode: 'workspace-write', workspaceRoot: <记忆目录> }` 的 per-call 策略——
44
- 围栏仍然生效,只是可写根恰好就是记忆目录。sandbox 在校验之外再兜一层;
44
+ 围栏仍然生效,只是可写根恰好就是记忆目录。sandbox 在校验之外再兜一层;
45
45
  记忆目录之外的任何路径都不可写。
46
46
 
47
- job 状态反映真实结局:非 completed 的 `stopReason`、缺失/非法的负载、落盘失败
48
- 都会映射为 `failed` 并带 detail,而不是静默地假 `completed`。
47
+ job 状态反映真实结局:非 completed 的 `stopReason`、缺失/非法的负载、落盘失败
48
+ 都会映射为 `failed` 并带 detail,而不是静默地假 `completed`。
49
49
 
50
50
  ## 使用
51
51
 
@@ -53,7 +53,7 @@ job 状态反映真实结局:非 completed 的 `stopReason`、缺失/非法的
53
53
 
54
54
  | Key | 默认值 | 含义 |
55
55
  |---|---|---|
56
- | `memoryHome` | harness home `memory/` | 记忆 home 根;抽取/dream 写入触发 agent 所在仓库的 `projects/<slug>/` |
56
+ | `memoryHome` | harness home `memory/` | 记忆 home 根;抽取/dream 写入触发 agent 所在仓库的 `projects/<slug>/` |
57
57
  | `extractEnabled` | `true` | 运行轮末抽取 |
58
58
  | `dreamEnabled` | `true` | 运行三重门 dream |
59
59
  | `minHours` | `24` | 两次整合间的最小间隔小时数 |
@@ -69,7 +69,7 @@ await ctx.plugin(consolidation, { minHours: 24, minSessions: 5 })
69
69
  ## Model Experience
70
70
 
71
71
  门关闭时,turn-stopping 监听器几乎无成本(一次锁读取)。当时间门与会话门打开时,
72
- 每次整合运行一个 fork subagent,限制为读/搜索工具加 `structured_output` 上报工具;
72
+ 每次整合运行一个 fork subagent,限制为读/搜索工具加 `structured_output` 上报工具;
73
73
  其输出不会追加到主 transcript。每轮抽取可能启动一个短暂后台 fork。
74
74
 
75
75
  ## API
@@ -77,12 +77,12 @@ await ctx.plugin(consolidation, { minHours: 24, minSessions: 5 })
77
77
  - `tryAcquireLock(fs, dir, pid, now, policy?)` / `rollbackLock(fs, dir, priorAt, policy?)` /
78
78
  `readLastConsolidatedAt(fs, dir)` —— 整合锁。
79
79
  - `gatesPass(input)` / `timeGatePasses(...)` / `sessionGatePasses(...)` —— 门谓词。
80
- - `MEMORY_TOOL_FILTER` / `MEMORY_AGENT_TOOLS` —— 记忆作用域工具集(读/搜索 +
81
- `structured_output`)。
80
+ - `MEMORY_TOOL_FILTER` / `MEMORY_AGENT_TOOLS` —— 记忆作用域工具集(读/搜索 +
81
+ `structured_output`)。
82
82
  - `MEMORY_WRITES_SCHEMA` —— 每个 fork 上报的 `outputSchema` 契约。
83
83
  - `validateMemoryWrites(input)` / `writeMemoryFiles(fs, dir, writes)` /
84
- `memoryWritePolicy(dir)` —— host 侧落盘(由记忆目录的拥有者
85
- `@dsh-cc/memory` 持有,此处 re-export)。
84
+ `memoryWritePolicy(dir)` —— host 侧落盘(由记忆目录的拥有者
85
+ `@dsh-cc/memory` 持有,此处 re-export)。
86
86
  - `buildExtractionPrompt` / `buildConsolidationPrompt` —— fork 的提示词。
87
87
 
88
88
  ## 已知限制与延期工作
@@ -91,6 +91,6 @@ await ctx.plugin(consolidation, { minHours: 24, minSessions: 5 })
91
91
  文件 mtime;崩溃恢复依赖过期窗口而非进程存活。
92
92
  - 会话门当前通过 `ctx.sessions` 统计存活会话并将其视为新会话;带时钟的 transcript
93
93
  查询已延期。
94
- - 没有删除通道:dream 会把过期记忆从 `MEMORY.md` 移除,但失去引用的主题文件仍留在
95
- 盘上,直到被覆写。主题文件删除已延期(fork 的 allow-list 本来也没有 remove 工具)。
94
+ - 没有删除通道:dream 会把过期记忆从 `MEMORY.md` 移除,但失去引用的主题文件仍留在
95
+ 盘上,直到被覆写。主题文件删除已延期(fork 的 allow-list 本来也没有 remove 工具)。
96
96
  - 并行会话的抽取并写时为 last-writer-wins;dream 锁只串行化整合。
@@ -1 +1 @@
1
- {"version":3,"file":"session-scan.d.ts","sourceRoot":"","sources":["../src/session-scan.ts"],"names":[],"mappings":"AAwBA,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;CACpB;AAiFD;;;GAGG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqCnF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,SAAS,cAAc,EAAE,EACnC,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAOpC"}
1
+ {"version":3,"file":"session-scan.d.ts","sourceRoot":"","sources":["../src/session-scan.ts"],"names":[],"mappings":"AAwBA,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;CACpB;AAmFD;;;GAGG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqCnF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,SAAS,cAAc,EAAE,EACnC,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAOpC"}
@@ -4,9 +4,9 @@
4
4
  *
5
5
  * Layout: `<sessionsRoot>/<projectKey>/<sessionId>/<stream>`; any directory at
6
6
  * depth 2 is treated as a session dir. Stream resolution mirrors
7
- * session-forensics/src/scan.ts: prefer `session.v3.jsonl.zstd`, fall back to
8
- * the legacy `session.jsonl.zstd` (the writer emits exactly one format per
9
- * dir). Only the header line is needed, so the read is a bounded prefix
7
+ * session-forensics/src/scan.ts: prefer `session.v4.jsonl.zstd` (harness
8
+ * 0.1.7), fall back to `session.v3.jsonl.zstd` then legacy
9
+ * `session.jsonl.zstd` (the writer emits exactly one format per dir). Only the header line is needed, so the read is a bounded prefix
10
10
  * (256 KiB compressed → 16 KiB decompressed) via `node:fs`/`node:zlib`
11
11
  * in-process zstd — no fs seam (prefix reads are impossible over it) and no
12
12
  * `zstd` CLI (plan §3.1, cold-review blockers #1/#2).
@@ -25,6 +25,8 @@ import { StringDecoder } from "node:string_decoder";
25
25
  const READ_WINDOW = 256 * 1024;
26
26
  /** Decompressed text budget: stop reading once the header must have surfaced. */
27
27
  const TEXT_BUDGET = 16 * 1024;
28
+ /** v4-first, then v3, then legacy — one stream format per dir, older spellings kept readable. */
29
+ const V4_STREAM = "session.v4.jsonl.zstd";
28
30
  const V3_STREAM = "session.v3.jsonl.zstd";
29
31
  const LEGACY_STREAM = "session.jsonl.zstd";
30
32
  function isSafeInt(value) {
@@ -134,7 +136,7 @@ export async function scanSessions(sessionsRoot) {
134
136
  const sessionDir = join(projectDir, entry.name);
135
137
  // Stream resolution mirrors session-forensics/src/scan.ts.
136
138
  let header;
137
- for (const stream of [V3_STREAM, LEGACY_STREAM]) {
139
+ for (const stream of [V4_STREAM, V3_STREAM, LEGACY_STREAM]) {
138
140
  header = await readHeader(join(sessionDir, stream));
139
141
  if (header !== undefined)
140
142
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"session-scan.js","sourceRoot":"","sources":["../src/session-scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-scan.js","sourceRoot":"","sources":["../src/session-scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAkBpD,kEAAkE;AAClE,MAAM,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC;AAC/B,iFAAiF;AACjF,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC;AAE9B,iGAAiG;AACjG,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAC1C,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAC1C,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAE3C,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,UAAkB;IACpC,4EAA4E;IAC5E,0BAA0B;IAC1B,IAAI,OAAO,IAAI,CAAC,oBAAoB,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,MAAuC,EAAE,EAAE;YACzD,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,GAAoC,EAAE;YACvD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;oBAAE,SAAS;gBACjD,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC/B,IAAI,KAAK,EAAE,IAAI,KAAK,SAAS;wBAAE,OAAO,KAAK,CAAC;gBAC9C,CAAC;gBAAC,MAAM,CAAC;oBACP,uCAAuC;gBACzC,CAAC;YACH,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QACF,sEAAsE;QACtE,wEAAwE;QACxE,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;YAChC,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW;gBAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,sEAAsE;AACtE,SAAS,QAAQ,CAAC,MAA2B,EAAE,OAAe;IAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC;IACpF,0EAA0E;IAC1E,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAC/E,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC;QAC7C,CAAC,CAAC,MAAM,CAAC,eAAe;QACxB,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC;YAChC,CAAC,CAAC,IAAI,CAAC,eAAe;YACtB,CAAC,CAAC,CAAC,CAAC;IACR,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,MAAM,CAAC;IAC7C,OAAO;QACL,EAAE,EAAE,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO;QAC/E,SAAS;QACT,GAAG,EAAE,KAAK,GAAG,CAAC,IAAI,MAAM,KAAK,UAAU;KACxC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,YAAoB;IACrD,MAAM,MAAM,GAAsB,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC9E,4EAA4E;IAC5E,wCAAwC;IACxC,IAAI,OAAO,IAAI,CAAC,oBAAoB,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC;IACnE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAqB,EAAE,CAAC;QACtC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gBAAE,SAAS;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,OAAO,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;oBAAE,SAAS;gBACnC,OAAO,EAAE,CAAC;gBACV,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChD,2DAA2D;gBAC3D,IAAI,MAAuC,CAAC;gBAC5C,KAAK,MAAM,MAAM,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,CAAC;oBAC3D,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;oBACpD,IAAI,MAAM,KAAK,SAAS;wBAAE,MAAM;gBAClC,CAAC;gBACD,IAAI,MAAM,KAAK,SAAS;oBAAE,UAAU,EAAE,CAAC;;oBAClC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,QAAmC,EACnC,MAAc;IAEd,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;SACzC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpB,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dsh-cc/memory-consolidation",
3
3
  "description": "Background memory consolidation: turn-end extraction and three-gate dream rewrite",
4
- "version": "0.8.1-rc.1",
4
+ "version": "0.8.2-rc.1",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/dsh-cc/dsh-cc.git",
@@ -25,18 +25,18 @@
25
25
  ],
26
26
  "license": "Apache-2.0",
27
27
  "peerDependencies": {
28
- "@deepseek-ai/dsh-agent": ">=0.1.5-rc.1",
29
- "@deepseek-ai/dsh-fs": ">=0.1.5-rc.1",
30
- "@deepseek-ai/dsh-home-paths": ">=0.1.5-rc.1",
31
- "@deepseek-ai/dsh-invariants": ">=0.1.5-rc.1",
32
- "@deepseek-ai/dsh-jobs": ">=0.1.5-rc.1",
33
- "@deepseek-ai/dsh-session": ">=0.1.5-rc.1",
34
- "@deepseek-ai/dsh-subagent": ">=0.1.5-rc.1",
35
- "@deepseek-ai/cordis": ">=0.1.5-rc.1",
28
+ "@deepseek-ai/dsh-agent": ">=0.1.7-rc.2",
29
+ "@deepseek-ai/dsh-fs": ">=0.1.7-rc.2",
30
+ "@deepseek-ai/dsh-home-paths": ">=0.1.7-rc.2",
31
+ "@deepseek-ai/dsh-invariants": ">=0.1.7-rc.2",
32
+ "@deepseek-ai/dsh-jobs": ">=0.1.7-rc.2",
33
+ "@deepseek-ai/dsh-session": ">=0.1.7-rc.2",
34
+ "@deepseek-ai/dsh-subagent": ">=0.1.7-rc.2",
35
+ "@deepseek-ai/cordis": ">=0.1.7-rc.2",
36
36
  "@deepseek-ai/schemastery": "^3.18.1"
37
37
  },
38
38
  "dependencies": {
39
- "@dsh-cc/memory": "^0.8.1-rc.1"
39
+ "@dsh-cc/memory": "^0.8.2-rc.1"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@deepseek-ai/cordis": "link:../../../../deepseek-harness/vendor/cordis",
@@ -53,7 +53,7 @@
53
53
  "@deepseek-ai/dsh-session-persistence-jsonl": "link:../../../../deepseek-harness/packages/session/session-persistence-jsonl",
54
54
  "@deepseek-ai/dsh-subagent-fork-in-process": "link:../../../../deepseek-harness/packages/subagent/subagent-fork-in-process",
55
55
  "@dsh-cc/agent-loop-mock": "^0.1.0",
56
- "@dsh-cc/tools": "^0.8.1-rc.1"
56
+ "@dsh-cc/tools": "^0.8.2-rc.1"
57
57
  },
58
58
  "publishConfig": {
59
59
  "access": "public"