memory-eternal 0.10.5 → 0.10.7
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/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +10 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/.mcp.json +9 -9
- package/LICENSE +21 -21
- package/README.en.md +37 -1
- package/README.md +30 -1
- package/bin/dsh-memory.mjs +31 -45
- package/examples/mcp-memory/memory-eternal.cordis.yml +59 -59
- package/hooks/capture.mjs +77 -77
- package/hooks/claude-session.js +56 -56
- package/hooks/hooks.claude.json +23 -12
- package/hooks/hooks.codex.json +15 -15
- package/hooks/hooks.cursor.json +11 -11
- package/hooks/secret-guard.mjs +82 -0
- package/index.js +113 -21
- package/lib/api.js +125 -8
- package/lib/client.js +17 -17
- package/lib/config-sync.js +24 -0
- package/lib/db.js +359 -359
- package/lib/host-heartbeat.js +72 -72
- package/lib/llm-openai.js +84 -84
- package/lib/mcp.js +3 -1
- package/lib/node-bin.js +99 -99
- package/lib/setup.js +515 -470
- package/lib/sse.js +51 -51
- package/lib/stall.js +30 -30
- package/lib/sweep.js +56 -56
- package/lib/vault-resolve.js +84 -84
- package/lib/watchdog.js +330 -11
- package/lib/web-assets.js +41 -41
- package/lib/web.js +2 -0
- package/package.json +2 -2
- package/skills/memory-recall/SKILL.md +19 -14
- package/web/app.js +15 -15
- package/web/index.html +46 -46
package/lib/config-sync.js
CHANGED
|
@@ -204,6 +204,30 @@ export function patchApplied(config, patch) {
|
|
|
204
204
|
return true
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
+
/**
|
|
208
|
+
* 只保留「本宿主 schema 里存在」的键(升级期「新独立页 + 旧宿主」的必备过滤)。
|
|
209
|
+
*
|
|
210
|
+
* 为什么必须过滤:独立 Web 端提交的是**整张表单**。升级期它可能带上旧宿主还不认识的键
|
|
211
|
+
* (实测:独立页 0.10.7 提交含 `secretHint` 的整包 → 0.10.6 宿主按白名单丢掉它 →
|
|
212
|
+
* `patchApplied` 回读校验必然对不上 → 连试 5 次后标 `dropped`,用户还会看到
|
|
213
|
+
* 「HMR transactions cannot be nested」这种与配置内容无关的报错)。过滤之后,旧宿主只应用
|
|
214
|
+
* 它认识的那部分,不认识的记一行日志、等宿主升级后自然生效。
|
|
215
|
+
*
|
|
216
|
+
* @param {object} patch
|
|
217
|
+
* @param {Set<string>|string[]} knownKeys
|
|
218
|
+
* @returns {{known:object, ignored:string[]}}
|
|
219
|
+
*/
|
|
220
|
+
export function filterKnownKeys(patch, knownKeys) {
|
|
221
|
+
const known = knownKeys instanceof Set ? knownKeys : new Set(knownKeys || [])
|
|
222
|
+
const out = {}
|
|
223
|
+
const ignored = []
|
|
224
|
+
for (const [k, v] of Object.entries(patch || {})) {
|
|
225
|
+
if (known.has(k)) out[k] = v
|
|
226
|
+
else ignored.push(k)
|
|
227
|
+
}
|
|
228
|
+
return { known: out, ignored }
|
|
229
|
+
}
|
|
230
|
+
|
|
207
231
|
/**
|
|
208
232
|
* 应用一次 patch,并在抛错后**回读确认**(issue #21 的核心修复)。
|
|
209
233
|
*
|