@co-engram/core 0.1.3 → 0.1.5

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.
Files changed (61) hide show
  1. package/dist/bootstrap/classify.d.ts +6 -0
  2. package/dist/bootstrap/classify.d.ts.map +1 -1
  3. package/dist/bootstrap/classify.js +15 -0
  4. package/dist/bootstrap/classify.js.map +1 -1
  5. package/dist/config/defaults.js +1 -1
  6. package/dist/dedup/hash.d.ts +8 -0
  7. package/dist/dedup/hash.d.ts.map +1 -1
  8. package/dist/dedup/hash.js +26 -2
  9. package/dist/dedup/hash.js.map +1 -1
  10. package/dist/i18n/en.d.ts.map +1 -1
  11. package/dist/i18n/en.js +45 -28
  12. package/dist/i18n/en.js.map +1 -1
  13. package/dist/i18n/zh.d.ts +24 -12
  14. package/dist/i18n/zh.d.ts.map +1 -1
  15. package/dist/i18n/zh.js +41 -26
  16. package/dist/i18n/zh.js.map +1 -1
  17. package/dist/merge/auto-onboard.d.ts +7 -1
  18. package/dist/merge/auto-onboard.d.ts.map +1 -1
  19. package/dist/merge/auto-onboard.js +35 -13
  20. package/dist/merge/auto-onboard.js.map +1 -1
  21. package/dist/merge/post-merge-hook.d.ts.map +1 -1
  22. package/dist/merge/post-merge-hook.js +16 -2
  23. package/dist/merge/post-merge-hook.js.map +1 -1
  24. package/dist/merge-driver.cjs +1 -1
  25. package/dist/observability/proposal-engine.d.ts +164 -4
  26. package/dist/observability/proposal-engine.d.ts.map +1 -1
  27. package/dist/observability/proposal-engine.js +357 -13
  28. package/dist/observability/proposal-engine.js.map +1 -1
  29. package/dist/storage/engram-index.d.ts +9 -0
  30. package/dist/storage/engram-index.d.ts.map +1 -1
  31. package/dist/storage/engram-index.js +38 -0
  32. package/dist/storage/engram-index.js.map +1 -1
  33. package/dist/storage/index-cleanup.d.ts +45 -0
  34. package/dist/storage/index-cleanup.d.ts.map +1 -0
  35. package/dist/storage/index-cleanup.js +186 -0
  36. package/dist/storage/index-cleanup.js.map +1 -0
  37. package/dist/storage/index.d.ts +1 -0
  38. package/dist/storage/index.d.ts.map +1 -1
  39. package/dist/storage/index.js +1 -0
  40. package/dist/storage/index.js.map +1 -1
  41. package/dist/storage/repository.d.ts +107 -6
  42. package/dist/storage/repository.d.ts.map +1 -1
  43. package/dist/storage/repository.js +212 -14
  44. package/dist/storage/repository.js.map +1 -1
  45. package/dist/tools/doctor-tools.d.ts.map +1 -1
  46. package/dist/tools/doctor-tools.js +18 -3
  47. package/dist/tools/doctor-tools.js.map +1 -1
  48. package/dist/tools/engram-tools.d.ts.map +1 -1
  49. package/dist/tools/engram-tools.js +10 -0
  50. package/dist/tools/engram-tools.js.map +1 -1
  51. package/dist/tools/proposal-tools.d.ts +25 -1
  52. package/dist/tools/proposal-tools.d.ts.map +1 -1
  53. package/dist/tools/proposal-tools.js +76 -21
  54. package/dist/tools/proposal-tools.js.map +1 -1
  55. package/dist/tools/schemas.d.ts +29 -11
  56. package/dist/tools/schemas.d.ts.map +1 -1
  57. package/dist/tools/schemas.js +23 -5
  58. package/dist/tools/schemas.js.map +1 -1
  59. package/dist/types/repository-types.d.ts +1 -1
  60. package/dist/types/repository-types.d.ts.map +1 -1
  61. package/package.json +9 -9
package/dist/i18n/zh.d.ts CHANGED
@@ -33,7 +33,7 @@ export declare const zh: {
33
33
  readonly "tool.skill_invoke": "带参数调用一个 Skill(程序性记忆)。当前为框架;具体模板执行在后续版本实现。";
34
34
  readonly "tool.engram_list_proposals": "列出待处理的记忆候选。当某主题在对话中被多次提及但无匹配记忆时,系统生成待确认提案。默认只返回待处理;传 includeAll=true 可查看历史。";
35
35
  readonly "tool.engram_accept_proposal": "接受一个候选提案 → 系统自动创建对应记忆,并标记提案为已接受。后续相同主题不会再产生重复提案。";
36
- readonly "tool.engram_dismiss_proposal": "驳回一个候选提案。默认 30 天内不再提示;可自定义冷却期。可填理由便于元学习。";
36
+ readonly "tool.engram_dismiss_proposal": "驳回一个候选提案。默认永久不再提示;显式传 dismissDays > 0 时 N 天后可被新事件重新激活。审计日志始终保留。";
37
37
  readonly "tool.engram_synthesize": "手工触发 REM:把多条已有记忆交给 LLM 综合成一条 pattern(模式)记忆,并自动为每个源连一条 derives_from(派生自)连接。需要配置 LLM。可选 dryRun 只看草稿不创建。";
38
38
  readonly "tool.engram_doctor": "对记忆仓库做一次自愈扫描。自动修复文件移动、标题重命名、过期索引项;报告悬空连接和孤儿文件供人工处理。";
39
39
  readonly "tool.engram_list_paths": "列出记忆仓库的目录树,每节点带累计记忆数,用于搜索前先建立全局认知。";
@@ -43,18 +43,18 @@ export declare const zh: {
43
43
  readonly "tool.memory_get": "按 ID 读取单条记忆的完整内容。返回内容、元数据和相关记忆 ID。在 memory_search 之后用来查看细节。";
44
44
  readonly "tool.engram_search.agent": "搜索团队记忆(过去的设计决策、偏好、项目上下文)。\n\n何时调用:\n- 用户引用过去的工作(\"我们之前决定\"、\"上次\"、\"以前我们\")\n- 用户提到偏好(\"我喜欢\"、\"我一直用\"、\"我讨厌\")\n- 用户问项目历史(\"X 为什么存在\"、\"谁决定的\"、\"我们讨论过...吗\")\n- 遇到可能之前见过的 bug\n- 用户明确说\"记住\"或\"我们讨论过\"\n\n何时不调用:\n- 与团队历史无关的纯代码问题\n- 通用编程知识(用 web search)\n- 简单问候\n\n返回:Top N 条 engram(标题 + 摘要 + 分数 + tags)。需要全文用 engram_get。";
45
45
  readonly "tool.engram_get.agent": "按 ID 读取单条记忆(engram)的完整内容。\n\n何时调用:\n- engram_search 返回的命中需要读全文\n- 用户明确询问某个 engram ID 的详情\n- 需要搜索摘要里没显示的元数据(重要性、tags、验证状态)\n\n何时不调用:\n- 还没调过 engram_search(先搜索)\n- engram ID 来自过时的对话(重新搜索验证)\n\n返回:完整内容 + 元数据(创建时间、重要性、truthScore、强化次数)+ 相关 engram ID 列表。\n\n概念:{{concept:engram|userExplanation}}";
46
- readonly "tool.engram_create.agent": "为重要的团队知识创建新记忆(engram)。\n\n何时调用:\n- 用户明确表达偏好(\"以后用 arrow function\")\n- 用户做出带理由的设计决策(\"我们用 PostgreSQL,因为 X\")\n- 用户分享 bug 教训(\"这个失败因为 Y,以后记得检查 Z\")\n- 用户纠正过时记忆(\"其实我们已经改用 X 了\")\n\n何时不调用:\n- 琐碎/一次性信息(\"天气不错\")\n- CLAUDE.md 或项目 README 已有的信息\n- 用户只是在询问的信息(用 engram_search)\n\n⚠️ visibility:含个人凭据/路径/设备特定信息(ADB 序列号、个人 token、本机偏好)时设 'private',文件落 private/ 子目录被 .gitignore 隔离,不入团队仓库但本机仍可检索。默认 'public'。\n\n⚠️ Claude Code auto-memory 的关系:co-engram 启用后,所有记忆默认走本工具(visibility 字段已覆盖 auto-memory 所有用例——'private' = 个人记忆)。不要写到 ~/.claude/projects/.../memory/(auto-memory 文件层),该路径会被 AutoMemorySyncEngine 无差别推到团队库,丢失归属语义。仅当 co-engram 未启用时才用 auto-memory 兜底。\n\n返回:创建的 engram ID + 版本号。自动检测重复。";
46
+ readonly "tool.engram_create.agent": "为重要的团队知识创建新记忆(engram)。\n\n何时调用:\n- 用户明确表达偏好(\"以后用 arrow function\")\n- 用户做出带理由的设计决策(\"我们用 PostgreSQL,因为 X\")\n- 用户分享 bug 教训(\"这个失败因为 Y,以后记得检查 Z\")\n- 用户纠正过时记忆(\"其实我们已经改用 X 了\")\n\n何时不调用:\n- 琐碎/一次性信息\n- CLAUDE.md/README 已有的信息\n- 用户只是在询问(用 engram_search)\n\n⚠️ visibility='private' 用于个人凭据/路径/设备特定信息(ADB 序列号、token、本机偏好),落 private/ 子目录被 .gitignore 隔离,不入团队仓库。\n\n⚠️ 不要写到 ~/.claude/projects/.../memory/ —— AutoMemorySyncEngine 会把该路径镜像成 **待审批 proposal**(仍需 accept,visibility 归属已丢失)。请直接用本工具。\n\n返回:创建的 engram ID + 版本号。自动检测重复。";
47
47
  readonly "tool.engram_update.agent": "当已有记忆的内容需要细化(不是矛盾)时更新。\n\n何时调用:\n- 给已有 engram 补充细节(\"迁移还要处理 X\")\n- 修正记忆里的笔误/不精确表述\n- 用户澄清之前的记忆(\"我的意思是...\")\n\n何时不调用:\n- 新信息和旧的矛盾(用 engram_create + contradiction_resolve)\n- 记忆没问题(不要为了刷新时间戳而更新)\n\n⚠️ 改 visibility 触发文件路径迁移(private → private/<domainTags>/;其他 → <domainTags>/);原子性,冲突失败,stableId 不变。\n\n返回:更新后的 engram + 新版本号。";
48
48
  readonly "tool.engram_list.agent": "浏览所有记忆(分页),最新优先。\n\n何时调用:\n- 用户想看存储的记忆概览(\"你知道我什么\")\n- 需要找记忆但没精确查询词\n- 回顾最近捕获的内容\n\n何时不调用:\n- 有明确查询(用 engram_search 更快更准)\n- 只为检查记忆是否存在(按内容搜)\n\n返回:engram 摘要列表(标题、tags、更新时间)+ 总数。支持分页。";
49
49
  readonly "tool.synapse_create.agent": "在两条记忆之间创建有类型的连接(synapse)。\n\n何时调用:\n- 新记忆扩展/矛盾/关联已有记忆\n- 用户提到因果或依赖关系(\"X 因为 Y 发生\")\n- 把决策链接到理由,或 bug 链接到修复\n\n何时不调用:\n- 两条记忆无关\n- 不确定关系类型(默认用 'related_to')\n\n返回:synapse ID + from/to engram ID。常见类型:extends、contradicts、related_to、caused_by。\n\n副作用(SIDE EFFECTS):\n- kind=\"contradicts\":自动给双方 engram 写 contradicted audit 事件(可被 engram_audit_query 查到),并触发矛盾解决流程。";
50
50
  readonly "tool.engram_reinforce.agent": "标记某条记忆被有效使用(正向强化)。\n\n何时调用:\n- 你在回答里引用了 engram ID 且用户接受了结果\n- 取回的记忆直接帮助解决了任务\n- 成功完成依赖某条记忆的任务后\n\n何时不调用:\n- 实际没用那条记忆(只是扫了一眼)\n- 任务失败或记忆错了(用 engram_report_failure)\n\n返回:记忆的强度分数增加 + 有效使用计数 +1。";
51
51
  readonly "tool.engram_report_failure.agent": "上报一次\"召回后导致错误答案\"的失败使用(LTD 累积式削弱)。\n\n何时调用:\n- 召回了某条记忆,但其内容导致你给出错误答案或走错路径\n- 用户反馈\"这条不对\",但你不确定是这条记忆整体失效还是只是本次不适用\n\n何时不调用:\n- 代码/决策/约束已确定变更,记忆描述的事实已不成立 → 用 engram_delete(确定性失效,立即)\n- 记忆只是不完整(用 engram_update)\n- 不确定(先问用户)\n\n机制说明:累积式负反馈 —— 单次调用只让 importance 下降一点(典型 −0.03),记忆仍在检索池里;多次累积后维护周期可能自动驳回。确定性事实失效不要走这条路,直接 engram_delete。\n\n返回: { ok: true, importance, failureCount } + 审计已记录。";
52
- readonly "tool.engram_delete.agent": "永久删除一条记忆(立即失效,不可恢复)。\n\n⚠️ 不可逆操作:除非用户已明确指示删除(如\"删掉关于 X 的记忆\"),否则调用前必须先向用户确认。\n\n何时调用:\n- 用户明确要删除(\"删掉关于 X 的那条记忆\")\n- 记忆重复了,只保留一条(确认哪条保留)\n- 记忆含敏感信息不应保留\n- 事实已确定失效:代码/决策/约束已确定变更,且你已通过运行验证或用户明确陈述获得确凿证据(不能基于推测)。这种\"确定性失效\"不走累积式 engram_report_failure,直接 delete\n\n何时不调用:\n- 只是召回后答案不准(用 engram_report_failure,累积式负反馈)\n- 事实变更仅是推测、未经运行验证或用户陈述(先验证或问用户)\n- 用户表述模糊(\"忘掉那个\" — 确认含义)\n- 批量清理(用 CLI)\n\n返回:{ deleted: true } 或未找到错误。";
52
+ readonly "tool.engram_delete.agent": "永久删除一条记忆(立即失效,不可恢复)。\n\n⚠️ 除非用户明确指示,调用前必须先确认。\n\n何时调用:\n- 用户明确要删除(\"删掉关于 X 的那条记忆\")\n- 记忆重复或含敏感信息\n- 事实已确定失效(运行验证或用户陈述,非推测)—— 跳过累积式 engram_report_failure,直接 delete\n\n何时不调用:\n- 召回答案不准(用 engram_report_failure)\n- 用户表述模糊(\"忘掉那个\" — 确认含义)\n\n返回:{ deleted: true } 或未找到错误。\n\n⚠️ Fail-loud:删除后 post-check;若检测到 race / 不一致,抛\"still exists\"(跑 engram_doctor 自愈)。";
53
53
  readonly "tool.close_learning_loop.agent": "确认记忆正确后,关闭验证回路。\n\n何时调用:\n- 使用了记忆,验证有效,想标记为已确认\n- 正向反馈 + 用户确认记忆准确后\n- 完成\"取回 → 使用 → 验证 → 确认\"循环\n\n何时不调用:\n- 还没实际验证(等确认扎实后再调)\n- 记忆最终错了(用 engram_report_failure)\n\n返回:更新后的验证状态 + 闭环元数据。";
54
54
  readonly "tool.contradiction_resolve.agent": "解决两条记忆之间的矛盾(旧 vs 新)。\n\n何时调用:\n- 新记忆明确矛盾旧记忆\n- 用户确认旧记忆错了应该 refute\n- 需要标记 contradiction synapse 里哪一方胜出\n\n何时不调用:\n- 两条记忆只是不同视角(用 synapse kind 'related_to')\n- 不确定哪个对(问用户)\n\n返回:resolution 记录 + 两条 engram 的验证状态更新。";
55
- readonly "tool.engram_list_proposals.agent": "列出待处理的记忆候选(隐式捕获但待审批的)。\n\n何时调用:\n- 系统提示显示\"N 个候选记忆待处理\"\n- 用户问\"有什么候选\"或\"查看待处理记忆\"\n- 定期清理已捕获但未确认的记忆\n\n何时不调用:\n- 没有待处理候选(系统提示会显示 0)\n- 刚刚显式搜索过(用 engram_search)\n\n返回:候选列表(标题、相似度、样本消息、proposal ID)";
56
- readonly "tool.engram_accept_proposal.agent": "接受待处理的候选(转成真正的 engram)。\n\n何时调用:\n- 用户确认候选有效(\"对,保存那个\")\n- 你审核后认为候选捕获了真实偏好/决策\n\n何时不调用:\n- 候选错误或质量低(用 engram_dismiss_proposal)\n- 还没审核\n\n返回:创建的 engram ID + 候选标记为已接受。";
57
- readonly "tool.engram_dismiss_proposal.agent": "驳回待处理的候选(拒绝捕获)。\n\n何时调用:\n- 用户说\"不,不值得保存\"\n- 候选是噪声/低质量/已被覆盖\n- 审核后决定不应成为记忆\n\n何时不调用:\n- 还没审核候选内容\n- 候选处于边缘(改为接受 + 细化)\n\n返回:候选标记为已驳回 + 从待处理列表移除。";
55
+ readonly "tool.engram_list_proposals.agent": "列出待处理的记忆候选(隐式捕获但待审批的)。\n\n何时调用:\n- 系统提示显示\"N 个候选记忆待处理\"\n- 用户问\"有什么候选\"或\"查看待处理记忆\"\n\n何时不调用:\n- 没有待处理候选(系统提示会显示 0)\n- 刚刚显式搜索过(用 engram_search)\n\n返回:候选列表。每条带 `source`(\"conversation\" = 对话聚类 / \"auto-memory\" = Claude Code auto-memory 文件 / \"external-markdown\" = dataRoot 下检测到的未追踪 .md);auto-memory 与 external-markdown 来源还带 `proposedTitle`/`proposedContent`/`proposedDomainTags`/`proposedKind`(accept 时落库的完整 payload),直接 accept 即可。";
56
+ readonly "tool.engram_accept_proposal.agent": "接受待处理的候选(转成真正的 engram)。\n\n何时调用:\n- 用户确认候选有效(\"对,保存那个\")\n- auto-memory / external-markdown 来源:候选自带 payload,直接传 `entityId`(accept 前先审核 title/domainTags/kind)\n\n何时不调用:\n- 候选错误或质量低(用 engram_dismiss_proposal)\n- 还没审核\n\n注意:auto-memory / external-markdown 来源的 title/content/domainTags 可省略(走 payload 兜底);conversation 来源仍需显式传。\n\n返回:创建的 engram ID + 候选标记为已接受。";
57
+ readonly "tool.engram_dismiss_proposal.agent": "驳回待处理的候选(拒绝捕获)。\n\n何时调用:\n- 用户说\"不,不值得保存\"\n- 候选是噪声/低质量/已被覆盖\n- 审核后决定不应成为记忆\n\n何时不调用:\n- 还没审核候选内容\n- 候选处于边缘(改为接受 + 细化)\n\n默认**永久驳回**:status=dismissed + dismissedUntil 留空,后续 watcher/observe 都不再重开此候选。若需\"暂时屏蔽\",传 dismissDays > 0 —— N 天后该候选可被新事件重新激活。审计日志始终保留(便于排查)。返回:候选标记为已驳回 + 从待处理列表移除。";
58
58
  readonly "tool.engram_synthesize.agent": "综合多条 engram 形成一条 pattern 记忆(手工触发的 REM)。\n\n何时调用:\n- 几条 engram 在同一主题下反复出现,组合起来能形成可复用经验\n- 团队刚做完复盘,想从具体记忆提炼抽象模式\n- REM 启发式置信度不够,但人判断是真 pattern\n- 想给一组相关 engram 显式建立 derives_from 溯源\n\n何时不调用:\n- 只有一条 engram(改用 engram_update)\n- 源 engram 主题无关(综合出垃圾)\n- 想合并矛盾记忆(改用 contradiction_resolve)\n- 想去重(engram_create 自带 dedupe)\n- ctx.llmClient 未配置(会抛错带安装指引)\n\n返回:patternEngramId + synapseIds(每源一条 derives_from)+ draft(含 title/content/summary/confidence/reason)。dryRun=true 时不创建,只返回 draft。";
59
59
  readonly "tool.engram_doctor.agent": "对记忆仓库做一次自愈扫描。\n\n自动修复:文件移动(索引重新指向)、标题重命名(重新生成 slug + 重命名)、过期索引项(清除)。仅报告:dangling synapse 引用、孤儿 markdown。\n\n何时调用:\n- 用户说\"记忆看起来不对\"或\"搜索找不到该有的条目\"\n- 用户手动编辑/重命名了数据目录下的文件\n- 触及数据仓库的 Git 合并之后\n- 定期健康检查(每次会话一次)\n\n何时不调用:\n- 没观察到不一致\n- 用户想看具体某条 engram(用 engram_get)\n\n返回:开始/结束时间戳、总计数、自动修复数、待审核数,以及完整 issues 列表。";
60
60
  readonly "tool.engram_sync.agent": "手动触发记忆仓库的 pull → commit → push 同步。\n\n流程:fetch → pull --rebase --autostash(冲突 abort + 报告清单)→ add -A + commit(无变更跳过)→ push(无 remote 降级为 commit-only)。缺失时自动创建 .gitignore 排除 .co-engram/。\n\n何时调用:用户说\"保存/提交/push 记忆\";密集写入后显式落盘;dryRun=true 预览未提交变更。\n\n返回:{ pulled:{ok,upToDate?,conflicts?}, committed:{ok,sha?,filesChanged,nothingToCommit?}, pushed:{ok,skipped?,reason?}, summary }。冲突时 pulled.ok=false + conflicts 数组,工具中止后续阶段。";
@@ -77,7 +77,7 @@ export declare const zh: {
77
77
  readonly "tool.engram_get.technical": "按披露层级读取 engram(渐进式披露,控制 token 成本)。\n输入:{ id: EngramId; tier?: 'catalog' | 'digest' | 'content' | 'meta' | 'synapses' | 'auto'; contextBudget?: number }\n- catalog:id + title + kind + tags(最小)\n- digest:+ summary + importance + 时间戳\n- content:+ 完整 body\n- meta:+ frontmatter(全字段)\n- synapses:+ 出/入边\n- auto:按 contextBudget 自动选 tier(默认)\n副作用:无。不更新 lastRetrievedAt(用 engram_reinforce)。\n错误条件:未找到抛错;无效 tier 抛错。\ntruthScore 字段在此暴露(允许字段名引用)。";
78
78
  readonly "tool.engram_create.technical": "创建新 engram。输入:{ title, content, kind, domainTags, createdBy, summary?, contextTags?, importance?, confidence?, emotionalValence?, sourceType?, visibility?, decayHalfLifeDays?, dedupe?, encodingContext? }\nkind 枚举:observation | fact | pattern | procedure | hypothesis。\nDedupe 模式(默认 true):DUPLICATE 强化已有(调 recordRetrievalSuccess);UPDATE 合并 content;NEW 创建。\n副作用:写 engrams/<slug>.md + .meta.json + .synapses.json;append audit;mark repo dirty。\n错误条件:缺必填字段抛错;无效 kind 抛错。\n不变量:slug 唯一性强制;冲突加后缀。";
79
79
  readonly "tool.engram_update.technical": "更新 engram 字段。输入:{ id, title?, content?, summary?, importance?, domainTags?, contextTags?, emotionalValence?, decayHalfLifeDays?, visibility?, updatedBy, kinds? }\n乐观锁:version 字段校验(Finding 231 — 待实现)。\n副作用:重写 .md + .meta.json;append audit;增量更新 digest/graph 索引;mark dirty。\n错误条件:未找到抛错;version 不匹配抛错(实现后)。\n不变量:title 变更触发 re-slug + 文件重命名。";
80
- readonly "tool.engram_delete.technical": "硬删除 engram。输入:{ id }\n副作用:删除 .md + .meta.json + .synapses.json;移除其他 engram 上的 incoming synapse;重建 digest/graph;append audit。\n错误条件:未找到抛错。\n不变量:不可逆(vs engram_forget 保留文件)。Git 历史是唯一恢复途径。\n警告:软移除优先用 engram_archive 或 engram_forget。";
80
+ readonly "tool.engram_delete.technical": "硬删除 engram。输入:{ id }\n副作用:删除 .md + .meta.json + .synapses.json;移除其他 engram 上的 incoming synapse;重建 digest/graph;append audit。\n删除顺序(F3):先删 index → 再删文件 → 再删 synapse。任何中间步骤失败,失败模式都落在 doctor 能自愈的范畴(orphan_markdown / dangling_synapse),无 fail-silent 漏洞。\n错误条件:未找到抛错;post-check 发现 engram 仍存在(race / 不一致)抛\"still exists\"错。\n不变量:不可逆(vs engram_forget 保留文件)。Git 历史是唯一恢复途径。\n警告:软移除优先用 engram_archive 或 engram_forget。";
81
81
  readonly "tool.engram_list.technical": "按 filter 列出 engram(无 query,纯元数据过滤,读最新状态)。\n输入:{ filter?: 同 engram_search;limit?,cursor? }\n副作用:无。\n分页:cursor-based,opaque token。\n不变量:读 engram-index.json(catalog);不读完整内容。比 engram_search 列举更快。";
82
82
  readonly "tool.engram_reinforce.technical": "上报有效检索(LTP)。输入:{ id, effectiveness: 0..1, note? }\n更新:effectiveRetrievals += 1;reinforcementScore += effectiveness;importance += effectiveness × 0.02(clamp [0,1])。\nHebbian 强化:邻居 engram(经 synapse)得 50% delta,contradicts synapse kind 除外。\n副作用:写目标 + 邻居的 .meta.json;append audit;append effectiveness signal。\n错误条件:未找到抛错;effectiveness 越界抛错。\n注意:此路径与 maintenance applyRpeUpdate 不同(Finding 124)— tool 路径增长 importance,maintenance 路径不增长。";
83
83
  readonly "tool.engram_report_failure.technical": "上报失败使用(LTD)。输入:{ id, reason, context? }\n更新:failedUses += 1;retrievalCount += 1;importance -= 0.03(超阈值后 ×1.5 升级)。\n自动建议:failedUses ≥ 3 → 建议 archive;≥ 5 → 建议 forget。\n副作用:写 .meta.json;append audit;append effectiveness signal(failure)。\n错误条件:未找到抛错;空 reason 抛错。";
@@ -97,7 +97,7 @@ export declare const zh: {
97
97
  readonly "tool.skill_invoke.technical": "调用 skill。输入:{ name, parameters }\nP0:仅框架——返回\"skill invoked\"不执行模板。\nP1:tool-sequence 执行参数化工具链;prompt-template 渲染并返回 prompt。\n副作用:取决于模板(tool-sequence 可能写 engram)。\n错误条件:未找到抛错;参数校验抛错。\n不变量:skill 执行记入 provenance 日志。";
98
98
  readonly "tool.engram_list_proposals.technical": "列出待处理提案。输入:{ includeAll?: boolean }\n默认:只返回 pending。includeAll=true 返回 accepted/dismissed 历史。\n提案引擎:对话中提及 ≥3 次但无匹配 engram 的主题生成 pending 提案。\n副作用:无(只读)。\n返回:{ proposalId, title, similarity, sampleMessage, status, createdAt } 数组。";
99
99
  readonly "tool.engram_accept_proposal.technical": "接受提案。输入:{ entityId, title?, content?, domainTags?, kind?, createdBy? }\n副作用:创建 engram(内部调 engram_create);标记提案 status=accepted;抑制同主题未来重复提案;append audit。\n错误条件:提案未找到抛错;已 accepted/dismissed 抛错。\n不变量:默认 createdBy 回退链:explicit > ctx.defaultCreatedBy > 'unknown'。";
100
- readonly "tool.engram_dismiss_proposal.technical": "驳回提案。输入:{ entityId, reason?, dismissDays? }\n默认 dismissDays=30。reason 记入元学习。\n副作用:标记提案 status=dismissed;设置 suppressedUntil 时间戳;append audit。\n错误条件:提案未找到抛错;已 accepted 抛错。\n不变量:dismissDays 后,若主题再次提及,提案可能重新浮现。";
100
+ readonly "tool.engram_dismiss_proposal.technical": "驳回提案。输入:{ entityId, reason?, dismissDays? }\n默认 dismissDays=0(永久);reason 记入元学习。\n副作用:标记提案 status=dismissed;dismissDays>0 时设置 dismissedUntil=N 天后,=0 时 dismissedUntil=undefined(永不重开);append audit。\n错误条件:提案未找到抛错;已 accepted 抛错。\n不变量:dismissed 状态的 proposal 不会被 proposeAutoMemory / observe 重开(即使源事件再次触发)。";
101
101
  readonly "tool.engram_synthesize.technical": "LLM 综合多条 engram 形成 pattern。输入:{ ids: string[2..20], createdBy?, domainTags?: string[1..5], synthesisHints?: string[≤500], dryRun?: boolean }\n行为:读源 → 调 ctx.llmClient.complete(prompt, { maxTokens: 4000, temperature: 0.3 }) → 解析 JSON → createEngram(kind='pattern', sourceType='inferred', importance=0.7, confidence 来自 LLM) → 对每个源 addOutgoingSynapse(kind='derives_from', weight=0.8, directional, evidence 标注 synthesis 来源)。\ndomainTags 解析优先级:用户显式 > LLM 推断 > 源 tags 并集(取前 5)。\n副作用:写新 engram 三件套 + N 条 synapse;append audit { target: 'pattern-via-synthesis', sourceIds, synapseIds };markDirty。\ndryRun=true:只返回 draft,不写盘。\n错误条件:llmClient 缺失抛错带安装指引;ids 去重后 < 2 抛错;任一源不存在抛错(列出缺失 id,不部分执行);LLM 返回非 string 抛错;JSON 解析失败抛错(不创建 engram,避免垃圾数据);LLM 调用抛错透传。\n不变量:derives_from 方向永远是 pattern → source;synapse weight 固定 0.8;id 自动去重。";
102
102
  readonly "tool.engram_doctor.technical": "自愈扫描。输入:{ incremental?: boolean }\n自动修复:文件移动(索引重新指向)、标题重命名(re-slug + rename)、过期索引项(清除)。\n报告(人工审核):dangling synapse 引用、孤儿 markdown。\n副作用:可能重写 .meta.json / .synapses.json / 索引文件;append audit log。\n返回:{ startedAt, finishedAt, total, autoFixed, pendingManualReview, issues: [{ kind, path, message, autoFixed }] }。\nincremental=true:只扫描自上次 mtime pass 以来变化的文件。";
103
103
  readonly "tool.engram_sync.technical": "手动 pull-commit-push。输入:{ message?: string(默认 \"co-engram sync: YYYY-MM-DD\"), dryRun?: boolean(默认 false), pull?: boolean(默认 true), push?: boolean(默认 true) }\n副作用:execSync('git ...', { cwd: dataRoot }) —— 调用系统 git,继承用户 SSH/credentials/proxy;不硬编码任何主机/URL/refspec;不主动写 Change-Id(ZTE/Gerrit 的 commit-msg hook 若已装会自动加);尊重用户 .git/config 的 push 配置(Gerrit review 走 refs/for/* 由用户决定)。\n.gitignore 兜底:缺失则创建,排除整个 .co-engram/ 目录(派生数据 + 行为缓存,均可重新生成)。\n冲突:pullRepo 检测 rebase 冲突 → git rebase --abort → 返回 conflicts 数组(相对仓库根路径)→ 工具中止,不自动 resolve。\npush 降级:hasRemote=false 时 push 阶段 skipped,不报错(支持纯本地仓库)。\n幂等:无变更时 committed.nothingToCommit=true(跳过 commit);再次 pull 已是最新时 pulled.upToDate=true。\n返回:{ repoPath, gitignoreCreated, changedFiles?(dryRun), pulled?, committed?, pushed?, summary }。";
@@ -210,6 +210,7 @@ export declare const zh: {
210
210
  readonly "viewer.health.doctor.fixKind.title_changed": "已根据新标题重命名";
211
211
  readonly "viewer.health.doctor.fixKind.missing_file": "已清除失效索引项";
212
212
  readonly "viewer.health.doctor.fixKind.obsidian_view_stale": "已同步 Obsidian 视图";
213
+ readonly "viewer.health.doctor.fixKind.dangling_index_reference": "已清理派生索引中对已删 engram 的悬空引用";
213
214
  readonly "viewer.search.placeholder": "全文检索记忆印迹...";
214
215
  readonly "viewer.search.button": "搜索";
215
216
  readonly "viewer.search.clear": "清空";
@@ -429,8 +430,7 @@ export declare const zh: {
429
430
  readonly "viewer.proposals.acceptedToast": "✓ 已采纳";
430
431
  readonly "viewer.proposals.createdEngramToast": "创建记忆印迹:${id}";
431
432
  readonly "viewer.proposals.acceptFailed": "采纳失败:${err}";
432
- readonly "viewer.proposals.dismissReasonPrompt": "驳回理由(可选):";
433
- readonly "viewer.proposals.dismissDaysPrompt": "驳回 N 天(默认 30):";
433
+ readonly "viewer.proposals.dismissConfirm": "确认驳回此提案?驳回后将不再出现,审计日志保留。";
434
434
  readonly "viewer.proposals.dismissFailed": "驳回失败:${err}";
435
435
  readonly "viewer.audit.filter.actor": "发起者";
436
436
  readonly "viewer.audit.filter.category": "类别";
@@ -639,6 +639,18 @@ export declare const zh: {
639
639
  readonly "viewer.config.dataRootUpdateFailed": "更新失败:{error}";
640
640
  readonly "viewer.config.dataRootRejectEmpty": "路径不能为空。";
641
641
  readonly "viewer.config.dataRootRejectNonEngram": "目录非空且不是 co-engram 仓库。请选空目录或现有 co-engram 仓库;如需强制接管非空目录,使用 CLI:<code>co-engram config data-root &lt;path&gt; --force</code>。";
642
+ readonly "viewer.config.dataRootNonEngramConfirmTitle": "此目录已有其他文件";
643
+ readonly "viewer.config.dataRootNonEngramConfirmBody": "co-engram 只会在 <code>{path}</code> 中创建 <code>.co-engram/</code> 子目录,不会改动你已有的文件。";
644
+ readonly "viewer.config.dataRootNonEngramExistingList": "现有 {count} 项:{files}";
645
+ readonly "viewer.config.dataRootNonEngramMore": "……以及其他 {count} 项";
646
+ readonly "viewer.config.dataRootTakeOver": "接管此目录";
647
+ readonly "viewer.config.dataRootTakeOverConfirm": "接管 <code>{path}</code>?co-engram 会新建一个 <code>.co-engram/</code> 子目录,不影响你已有的文件。";
648
+ readonly "viewer.config.dataRootCancelled": "已取消接管。";
649
+ readonly "viewer.config.dataRootWelcomeTitle": "欢迎使用 —— 先设置你的团队记忆位置";
650
+ readonly "viewer.config.dataRootWelcomeBody": "co-engram 把团队记忆存放在你选择的目录里。下面几个常用位置任选其一,或输入任意路径。co-engram 只会在目录里创建 <code>.co-engram/</code> 子目录,不会影响已有文件。";
651
+ readonly "viewer.config.dataRootWelcomeSuggestHome": "使用 ~/team-memory(推荐)";
652
+ readonly "viewer.config.dataRootWelcomeSuggestHidden": "使用 ~/.co-engram-data";
653
+ readonly "viewer.config.dataRootWelcomeCustom": "或输入自定义路径:";
642
654
  readonly "viewer.config.saveBar.reset": "重置";
643
655
  readonly "viewer.config.saveBar.save": "保存配置";
644
656
  readonly "viewer.config.saveSuccess": "✓ 配置已保存。";
@@ -715,7 +727,7 @@ export declare const zh: {
715
727
  readonly "viewer.help.tabStats": "<strong>统计</strong>—总览仪表盘:按类型/状态/族分布,显示团队贡献者和 top 标签。顶部搜索框做全文检索。";
716
728
  readonly "viewer.help.tabEngrams": "<strong>记忆印迹</strong>—全部 engram 的卡片/目录视图,支持按 tag/kind/status 过滤,点击进入详情(可编辑/删除/查看突触)。";
717
729
  readonly "viewer.help.tabGraph": "<strong>记忆突触</strong>—知识图谱可视化。可按族/类型过滤边,按 engram 类型过滤节点。打开 engram 详情时图谱会高亮其邻居。";
718
- readonly "viewer.help.tabProposals": "<strong>记忆提案</strong>—候选记忆审批队列。系统从对话中提取候选,由人工/LLM 采纳(engram_accept_proposal)或忽略(engram_dismiss_proposal)。";
730
+ readonly "viewer.help.tabProposals": "<strong>记忆提案</strong>—候选记忆审批队列。来源:对话聚类(同一主题被提及≥3 次)、Claude Code auto-memory 文件、dataRoot 下检测到的未追踪 .md(例如用户拷贝进来的文件)。由人工/LLM 采纳(engram_accept_proposal)或忽略(engram_dismiss_proposal)。";
719
731
  readonly "viewer.help.tabAudit": "<strong>审计</strong>—操作时间线,记录 create/update/reinforce/report_failure 等所有状态变更,便于追溯\"谁在何时改了什么\"。";
720
732
  readonly "viewer.help.tabTrash": "<strong>记忆回收站</strong>—被删除的 engram 暂存处。可恢复单个,或一键清空(支持按分区筛选,永久删除前会 dryRun 预扫描条数 + 二次确认)。";
721
733
  readonly "viewer.help.tabConfig": "<strong>配置</strong>—数据根目录、维护周期、自进化参数等。改持久化配置后需重启宿主生效。";
@@ -734,7 +746,7 @@ export declare const zh: {
734
746
  readonly "viewer.help.tip5": "<code>importance</code> / <code>effectiveness</code> / <code>reinforcementScore</code> 等数值字段会在 2 位小数原始值旁显示等级标签(高 / 中 / 低;阈值 ≥0.7 / ≥0.3 / <0.3)。等级在存储层语言中立,由 UI 本地化。";
735
747
  readonly "viewer.help.opsTitle": "端口与数据根目录";
736
748
  readonly "viewer.help.opsPorts": "<strong>查看器端口</strong>:Claude Code(MCP)默认 <code>18799</code>,OpenClaw(plugin)默认 <code>18899</code>——两宿主同机运行不冲突。环境变量 <code>CO_ENGRAM_VIEWER_PORT</code> 可同时覆盖两宿主。持久化配置里的 <code>viewer.port</code> 已废弃(两宿主共享持久化文件会抢端口)。";
737
- readonly "viewer.help.opsDataRoot": "<strong>数据根目录</strong>:在配置 tab 直接输入路径并保存,或用 CLI <code>co-engram config data-root &lt;path&gt;</code>。两者都写同一份 <code>~/.co-engram/config.json</code> bootstrap 配置,修改后需重启当前宿主生效。UI 出于安全只接受空目录或现有 co-engram 仓库;要接管非空非 co-engram 目录请走 CLI 加 <code>--force</code>。";
749
+ readonly "viewer.help.opsDataRoot": "<strong>数据根目录</strong>:首次打开配置 tab 会看到欢迎卡片,点 <code>~/team-memory</code> <code>~/.co-engram-data</code> 一键设置;也可输入任意自定义路径。若目录已有其他文件,UI 会列出这些文件并让你二次确认 —— co-engram 只在目录里创建 <code>.co-engram/</code> 子目录,不会改动你已有的文件。也可用 CLI <code>co-engram config data-root &lt;path&gt;</code>(加 <code>--force</code> 跳过二次确认)。修改后需重启当前宿主生效。";
738
750
  readonly "viewer.help.profilesTitle": "工具 profile";
739
751
  readonly "viewer.help.profilesBody": "<strong>三档 profile</strong> 按用途收缩 LLM 工具表面,数值来自源码中的 <code>PROFILE_TOOL_COUNTS</code>(经 <code>.size</code> 自动算出,不会漂移)。<strong>minimal(12)</strong>:核心读写 + proposal 处理三件套 + <code>engram_sync</code> —— 只做回忆和记录的 chat agent。<strong>standard(19,默认)</strong>:加上学习回路、矛盾仲裁、自愈(<code>engram_doctor</code>)、渐进式披露(<code>engram_list_paths</code>)、LLM 综合(<code>engram_synthesize</code>)与审计查询(<code>engram_audit_query</code>)。<strong>full(29)</strong>:全部原生工具,实验性的 <code>skill_invoke</code>(P0 占位)除外。切换:<code>CO_ENGRAM_TOOLS_PROFILE=minimal|standard|full</code>;无效值会告警并回退到 standard。";
740
752
  readonly "viewer.help.syncTitle": "保存与同步到远端";
@@ -1 +1 @@
1
- {"version":3,"file":"zh.d.ts","sourceRoot":"","sources":["../../src/i18n/zh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgnDsC,CAAC"}
1
+ {"version":3,"file":"zh.d.ts","sourceRoot":"","sources":["../../src/i18n/zh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAooDsC,CAAC"}
package/dist/i18n/zh.js CHANGED
@@ -38,7 +38,7 @@ export const zh = {
38
38
  // ===== 候选提案工具(3 个) =====
39
39
  "tool.engram_list_proposals": "列出待处理的记忆候选。当某主题在对话中被多次提及但无匹配记忆时,系统生成待确认提案。默认只返回待处理;传 includeAll=true 可查看历史。",
40
40
  "tool.engram_accept_proposal": "接受一个候选提案 → 系统自动创建对应记忆,并标记提案为已接受。后续相同主题不会再产生重复提案。",
41
- "tool.engram_dismiss_proposal": "驳回一个候选提案。默认 30 天内不再提示;可自定义冷却期。可填理由便于元学习。",
41
+ "tool.engram_dismiss_proposal": "驳回一个候选提案。默认永久不再提示;显式传 dismissDays > 0 时 N 天后可被新事件重新激活。审计日志始终保留。",
42
42
  "tool.engram_synthesize": "手工触发 REM:把多条已有记忆交给 LLM 综合成一条 pattern(模式)记忆,并自动为每个源连一条 derives_from(派生自)连接。需要配置 LLM。可选 dryRun 只看草稿不创建。",
43
43
  // ===== 仓库健康工具(2 个) =====
44
44
  "tool.engram_doctor": "对记忆仓库做一次自愈扫描。自动修复文件移动、标题重命名、过期索引项;报告悬空连接和孤儿文件供人工处理。",
@@ -90,13 +90,13 @@ export const zh = {
90
90
  - 用户纠正过时记忆("其实我们已经改用 X 了")
91
91
 
92
92
  何时不调用:
93
- - 琐碎/一次性信息("天气不错")
94
- - CLAUDE.md 或项目 README 已有的信息
95
- - 用户只是在询问的信息(用 engram_search)
93
+ - 琐碎/一次性信息
94
+ - CLAUDE.md/README 已有的信息
95
+ - 用户只是在询问(用 engram_search)
96
96
 
97
- ⚠️ visibility:含个人凭据/路径/设备特定信息(ADB 序列号、个人 token、本机偏好)时设 'private',文件落 private/ 子目录被 .gitignore 隔离,不入团队仓库但本机仍可检索。默认 'public'。
97
+ ⚠️ visibility='private' 用于个人凭据/路径/设备特定信息(ADB 序列号、token、本机偏好),落 private/ 子目录被 .gitignore 隔离,不入团队仓库。
98
98
 
99
- ⚠️ Claude Code auto-memory 的关系:co-engram 启用后,所有记忆默认走本工具(visibility 字段已覆盖 auto-memory 所有用例——'private' = 个人记忆)。不要写到 ~/.claude/projects/.../memory/(auto-memory 文件层),该路径会被 AutoMemorySyncEngine 无差别推到团队库,丢失归属语义。仅当 co-engram 未启用时才用 auto-memory 兜底。
99
+ ⚠️ 不要写到 ~/.claude/projects/.../memory/ —— AutoMemorySyncEngine 会把该路径镜像成 **待审批 proposal**(仍需 accept,visibility 归属已丢失)。请直接用本工具。
100
100
 
101
101
  返回:创建的 engram ID + 版本号。自动检测重复。`,
102
102
  "tool.engram_update.agent": `当已有记忆的内容需要细化(不是矛盾)时更新。
@@ -168,21 +168,20 @@ export const zh = {
168
168
  返回: { ok: true, importance, failureCount } + 审计已记录。`,
169
169
  "tool.engram_delete.agent": `永久删除一条记忆(立即失效,不可恢复)。
170
170
 
171
- ⚠️ 不可逆操作:除非用户已明确指示删除(如"删掉关于 X 的记忆"),否则调用前必须先向用户确认。
171
+ ⚠️ 除非用户明确指示,调用前必须先确认。
172
172
 
173
173
  何时调用:
174
174
  - 用户明确要删除("删掉关于 X 的那条记忆")
175
- - 记忆重复了,只保留一条(确认哪条保留)
176
- - 记忆含敏感信息不应保留
177
- - 事实已确定失效:代码/决策/约束已确定变更,且你已通过运行验证或用户明确陈述获得确凿证据(不能基于推测)。这种"确定性失效"不走累积式 engram_report_failure,直接 delete
175
+ - 记忆重复或含敏感信息
176
+ - 事实已确定失效(运行验证或用户陈述,非推测)—— 跳过累积式 engram_report_failure,直接 delete
178
177
 
179
178
  何时不调用:
180
- - 只是召回后答案不准(用 engram_report_failure,累积式负反馈)
181
- - 事实变更仅是推测、未经运行验证或用户陈述(先验证或问用户)
179
+ - 召回答案不准(用 engram_report_failure)
182
180
  - 用户表述模糊("忘掉那个" — 确认含义)
183
- - 批量清理(用 CLI)
184
181
 
185
- 返回:{ deleted: true } 或未找到错误。`,
182
+ 返回:{ deleted: true } 或未找到错误。
183
+
184
+ ⚠️ Fail-loud:删除后 post-check;若检测到 race / 不一致,抛"still exists"(跑 engram_doctor 自愈)。`,
186
185
  "tool.close_learning_loop.agent": `确认记忆正确后,关闭验证回路。
187
186
 
188
187
  何时调用:
@@ -212,23 +211,24 @@ export const zh = {
212
211
  何时调用:
213
212
  - 系统提示显示"N 个候选记忆待处理"
214
213
  - 用户问"有什么候选"或"查看待处理记忆"
215
- - 定期清理已捕获但未确认的记忆
216
214
 
217
215
  何时不调用:
218
216
  - 没有待处理候选(系统提示会显示 0)
219
217
  - 刚刚显式搜索过(用 engram_search)
220
218
 
221
- 返回:候选列表(标题、相似度、样本消息、proposal ID)。`,
219
+ 返回:候选列表。每条带 \`source\`("conversation" = 对话聚类 / "auto-memory" = Claude Code auto-memory 文件 / "external-markdown" = dataRoot 下检测到的未追踪 .md);auto-memory 与 external-markdown 来源还带 \`proposedTitle\`/\`proposedContent\`/\`proposedDomainTags\`/\`proposedKind\`(accept 时落库的完整 payload),直接 accept 即可。`,
222
220
  "tool.engram_accept_proposal.agent": `接受待处理的候选(转成真正的 engram)。
223
221
 
224
222
  何时调用:
225
223
  - 用户确认候选有效("对,保存那个")
226
- - 你审核后认为候选捕获了真实偏好/决策
224
+ - auto-memory / external-markdown 来源:候选自带 payload,直接传 \`entityId\`(accept 前先审核 title/domainTags/kind)
227
225
 
228
226
  何时不调用:
229
227
  - 候选错误或质量低(用 engram_dismiss_proposal)
230
228
  - 还没审核
231
229
 
230
+ 注意:auto-memory / external-markdown 来源的 title/content/domainTags 可省略(走 payload 兜底);conversation 来源仍需显式传。
231
+
232
232
  返回:创建的 engram ID + 候选标记为已接受。`,
233
233
  "tool.engram_dismiss_proposal.agent": `驳回待处理的候选(拒绝捕获)。
234
234
 
@@ -241,7 +241,7 @@ export const zh = {
241
241
  - 还没审核候选内容
242
242
  - 候选处于边缘(改为接受 + 细化)
243
243
 
244
- 返回:候选标记为已驳回 + 从待处理列表移除。`,
244
+ 默认**永久驳回**:status=dismissed + dismissedUntil 留空,后续 watcher/observe 都不再重开此候选。若需"暂时屏蔽",传 dismissDays > 0 —— N 天后该候选可被新事件重新激活。审计日志始终保留(便于排查)。返回:候选标记为已驳回 + 从待处理列表移除。`,
245
245
  "tool.engram_synthesize.agent": `综合多条 engram 形成一条 pattern 记忆(手工触发的 REM)。
246
246
 
247
247
  何时调用:
@@ -507,7 +507,8 @@ Dedupe 模式(默认 true):DUPLICATE 强化已有(调 recordRetrievalSuccess);UP
507
507
  不变量:title 变更触发 re-slug + 文件重命名。`,
508
508
  "tool.engram_delete.technical": `硬删除 engram。输入:{ id }
509
509
  副作用:删除 .md + .meta.json + .synapses.json;移除其他 engram 上的 incoming synapse;重建 digest/graph;append audit。
510
- 错误条件:未找到抛错。
510
+ 删除顺序(F3):先删 index → 再删文件 → 再删 synapse。任何中间步骤失败,失败模式都落在 doctor 能自愈的范畴(orphan_markdown / dangling_synapse),无 fail-silent 漏洞。
511
+ 错误条件:未找到抛错;post-check 发现 engram 仍存在(race / 不一致)抛"still exists"错。
511
512
  不变量:不可逆(vs engram_forget 保留文件)。Git 历史是唯一恢复途径。
512
513
  警告:软移除优先用 engram_archive 或 engram_forget。`,
513
514
  "tool.engram_list.technical": `按 filter 列出 engram(无 query,纯元数据过滤,读最新状态)。
@@ -614,10 +615,10 @@ P1:tool-sequence 执行参数化工具链;prompt-template 渲染并返回 prompt
614
615
  错误条件:提案未找到抛错;已 accepted/dismissed 抛错。
615
616
  不变量:默认 createdBy 回退链:explicit > ctx.defaultCreatedBy > 'unknown'。`,
616
617
  "tool.engram_dismiss_proposal.technical": `驳回提案。输入:{ entityId, reason?, dismissDays? }
617
- 默认 dismissDays=30。reason 记入元学习。
618
- 副作用:标记提案 status=dismissed;设置 suppressedUntil 时间戳;append audit。
618
+ 默认 dismissDays=0(永久);reason 记入元学习。
619
+ 副作用:标记提案 status=dismissed;dismissDays>0 时设置 dismissedUntil=N 天后,=0 时 dismissedUntil=undefined(永不重开);append audit。
619
620
  错误条件:提案未找到抛错;已 accepted 抛错。
620
- 不变量:dismissDays 后,若主题再次提及,提案可能重新浮现。`,
621
+ 不变量:dismissed 状态的 proposal 不会被 proposeAutoMemory / observe 重开(即使源事件再次触发)。`,
621
622
  "tool.engram_synthesize.technical": `LLM 综合多条 engram 形成 pattern。输入:{ ids: string[2..20], createdBy?, domainTags?: string[1..5], synthesisHints?: string[≤500], dryRun?: boolean }
622
623
  行为:读源 → 调 ctx.llmClient.complete(prompt, { maxTokens: 4000, temperature: 0.3 }) → 解析 JSON → createEngram(kind='pattern', sourceType='inferred', importance=0.7, confidence 来自 LLM) → 对每个源 addOutgoingSynapse(kind='derives_from', weight=0.8, directional, evidence 标注 synthesis 来源)。
623
624
  domainTags 解析优先级:用户显式 > LLM 推断 > 源 tags 并集(取前 5)。
@@ -766,6 +767,7 @@ push 降级:hasRemote=false 时 push 阶段 skipped,不报错(支持纯本地仓
766
767
  "viewer.health.doctor.fixKind.title_changed": "已根据新标题重命名",
767
768
  "viewer.health.doctor.fixKind.missing_file": "已清除失效索引项",
768
769
  "viewer.health.doctor.fixKind.obsidian_view_stale": "已同步 Obsidian 视图",
770
+ "viewer.health.doctor.fixKind.dangling_index_reference": "已清理派生索引中对已删 engram 的悬空引用",
769
771
  "viewer.search.placeholder": "全文检索记忆印迹...",
770
772
  "viewer.search.button": "搜索",
771
773
  "viewer.search.clear": "清空",
@@ -998,8 +1000,7 @@ push 降级:hasRemote=false 时 push 阶段 skipped,不报错(支持纯本地仓
998
1000
  "viewer.proposals.acceptedToast": "✓ 已采纳",
999
1001
  "viewer.proposals.createdEngramToast": "创建记忆印迹:${id}",
1000
1002
  "viewer.proposals.acceptFailed": "采纳失败:${err}",
1001
- "viewer.proposals.dismissReasonPrompt": "驳回理由(可选):",
1002
- "viewer.proposals.dismissDaysPrompt": "驳回 N 天(默认 30):",
1003
+ "viewer.proposals.dismissConfirm": "确认驳回此提案?驳回后将不再出现,审计日志保留。",
1003
1004
  "viewer.proposals.dismissFailed": "驳回失败:${err}",
1004
1005
  // ===== Audit 面板(viewer.audit.*) =====
1005
1006
  "viewer.audit.filter.actor": "发起者",
@@ -1214,6 +1215,20 @@ push 降级:hasRemote=false 时 push 阶段 skipped,不报错(支持纯本地仓
1214
1215
  "viewer.config.dataRootUpdateFailed": "更新失败:{error}",
1215
1216
  "viewer.config.dataRootRejectEmpty": "路径不能为空。",
1216
1217
  "viewer.config.dataRootRejectNonEngram": "目录非空且不是 co-engram 仓库。请选空目录或现有 co-engram 仓库;如需强制接管非空目录,使用 CLI:<code>co-engram config data-root &lt;path&gt; --force</code>。",
1218
+ // 首次设置 / non-engram 二次确认 UX(UI 弹此 banner 代替硬拒绝,免去走 CLI)
1219
+ "viewer.config.dataRootNonEngramConfirmTitle": "此目录已有其他文件",
1220
+ "viewer.config.dataRootNonEngramConfirmBody": "co-engram 只会在 <code>{path}</code> 中创建 <code>.co-engram/</code> 子目录,不会改动你已有的文件。",
1221
+ "viewer.config.dataRootNonEngramExistingList": "现有 {count} 项:{files}",
1222
+ "viewer.config.dataRootNonEngramMore": "……以及其他 {count} 项",
1223
+ "viewer.config.dataRootTakeOver": "接管此目录",
1224
+ "viewer.config.dataRootTakeOverConfirm": "接管 <code>{path}</code>?co-engram 会新建一个 <code>.co-engram/</code> 子目录,不影响你已有的文件。",
1225
+ "viewer.config.dataRootCancelled": "已取消接管。",
1226
+ // 首次用户引导(dataRoot=null 时显示)
1227
+ "viewer.config.dataRootWelcomeTitle": "欢迎使用 —— 先设置你的团队记忆位置",
1228
+ "viewer.config.dataRootWelcomeBody": "co-engram 把团队记忆存放在你选择的目录里。下面几个常用位置任选其一,或输入任意路径。co-engram 只会在目录里创建 <code>.co-engram/</code> 子目录,不会影响已有文件。",
1229
+ "viewer.config.dataRootWelcomeSuggestHome": "使用 ~/team-memory(推荐)",
1230
+ "viewer.config.dataRootWelcomeSuggestHidden": "使用 ~/.co-engram-data",
1231
+ "viewer.config.dataRootWelcomeCustom": "或输入自定义路径:",
1217
1232
  "viewer.config.saveBar.reset": "重置",
1218
1233
  "viewer.config.saveBar.save": "保存配置",
1219
1234
  "viewer.config.saveSuccess": "✓ 配置已保存。",
@@ -1292,7 +1307,7 @@ push 降级:hasRemote=false 时 push 阶段 skipped,不报错(支持纯本地仓
1292
1307
  "viewer.help.tabStats": "<strong>统计</strong>—总览仪表盘:按类型/状态/族分布,显示团队贡献者和 top 标签。顶部搜索框做全文检索。",
1293
1308
  "viewer.help.tabEngrams": "<strong>记忆印迹</strong>—全部 engram 的卡片/目录视图,支持按 tag/kind/status 过滤,点击进入详情(可编辑/删除/查看突触)。",
1294
1309
  "viewer.help.tabGraph": "<strong>记忆突触</strong>—知识图谱可视化。可按族/类型过滤边,按 engram 类型过滤节点。打开 engram 详情时图谱会高亮其邻居。",
1295
- "viewer.help.tabProposals": "<strong>记忆提案</strong>—候选记忆审批队列。系统从对话中提取候选,由人工/LLM 采纳(engram_accept_proposal)或忽略(engram_dismiss_proposal)。",
1310
+ "viewer.help.tabProposals": "<strong>记忆提案</strong>—候选记忆审批队列。来源:对话聚类(同一主题被提及≥3 次)、Claude Code auto-memory 文件、dataRoot 下检测到的未追踪 .md(例如用户拷贝进来的文件)。由人工/LLM 采纳(engram_accept_proposal)或忽略(engram_dismiss_proposal)。",
1296
1311
  "viewer.help.tabAudit": "<strong>审计</strong>—操作时间线,记录 create/update/reinforce/report_failure 等所有状态变更,便于追溯\"谁在何时改了什么\"。",
1297
1312
  "viewer.help.tabTrash": "<strong>记忆回收站</strong>—被删除的 engram 暂存处。可恢复单个,或一键清空(支持按分区筛选,永久删除前会 dryRun 预扫描条数 + 二次确认)。",
1298
1313
  "viewer.help.tabConfig": "<strong>配置</strong>—数据根目录、维护周期、自进化参数等。改持久化配置后需重启宿主生效。",
@@ -1312,7 +1327,7 @@ push 降级:hasRemote=false 时 push 阶段 skipped,不报错(支持纯本地仓
1312
1327
  // ===== 端口与数据根目录 =====
1313
1328
  "viewer.help.opsTitle": "端口与数据根目录",
1314
1329
  "viewer.help.opsPorts": "<strong>查看器端口</strong>:Claude Code(MCP)默认 <code>18799</code>,OpenClaw(plugin)默认 <code>18899</code>——两宿主同机运行不冲突。环境变量 <code>CO_ENGRAM_VIEWER_PORT</code> 可同时覆盖两宿主。持久化配置里的 <code>viewer.port</code> 已废弃(两宿主共享持久化文件会抢端口)。",
1315
- "viewer.help.opsDataRoot": "<strong>数据根目录</strong>:在配置 tab 直接输入路径并保存,或用 CLI <code>co-engram config data-root &lt;path&gt;</code>。两者都写同一份 <code>~/.co-engram/config.json</code> bootstrap 配置,修改后需重启当前宿主生效。UI 出于安全只接受空目录或现有 co-engram 仓库;要接管非空非 co-engram 目录请走 CLI 加 <code>--force</code>。",
1330
+ "viewer.help.opsDataRoot": "<strong>数据根目录</strong>:首次打开配置 tab 会看到欢迎卡片,点 <code>~/team-memory</code> <code>~/.co-engram-data</code> 一键设置;也可输入任意自定义路径。若目录已有其他文件,UI 会列出这些文件并让你二次确认 —— co-engram 只在目录里创建 <code>.co-engram/</code> 子目录,不会改动你已有的文件。也可用 CLI <code>co-engram config data-root &lt;path&gt;</code>(加 <code>--force</code> 跳过二次确认)。修改后需重启当前宿主生效。",
1316
1331
  // ===== 工具 profile =====
1317
1332
  "viewer.help.profilesTitle": "工具 profile",
1318
1333
  "viewer.help.profilesBody": "<strong>三档 profile</strong> 按用途收缩 LLM 工具表面,数值来自源码中的 <code>PROFILE_TOOL_COUNTS</code>(经 <code>.size</code> 自动算出,不会漂移)。<strong>minimal(12)</strong>:核心读写 + proposal 处理三件套 + <code>engram_sync</code> —— 只做回忆和记录的 chat agent。<strong>standard(19,默认)</strong>:加上学习回路、矛盾仲裁、自愈(<code>engram_doctor</code>)、渐进式披露(<code>engram_list_paths</code>)、LLM 综合(<code>engram_synthesize</code>)与审计查询(<code>engram_audit_query</code>)。<strong>full(29)</strong>:全部原生工具,实验性的 <code>skill_invoke</code>(P0 占位)除外。切换:<code>CO_ENGRAM_TOOLS_PROFILE=minimal|standard|full</code>;无效值会告警并回退到 standard。",
@@ -1 +1 @@
1
- {"version":3,"file":"zh.js","sourceRoot":"","sources":["../../src/i18n/zh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,4DAA4D;IAC5D,oBAAoB,EAClB,4DAA4D;IAC9D,iBAAiB,EACf,+CAA+C;IACjD,oBAAoB,EAClB,2BAA2B;IAC7B,oBAAoB,EAAE,wBAAwB;IAC9C,oBAAoB,EAAE,2BAA2B;IACjD,kBAAkB,EAChB,iCAAiC;IACnC,uBAAuB,EACrB,0CAA0C;IAC5C,4BAA4B,EAC1B,wCAAwC;IAC1C,qBAAqB,EACnB,0BAA0B;IAC5B,qBAAqB,EACnB,0BAA0B;IAC5B,oBAAoB,EAClB,mFAAmF;IACrF,kCAAkC,EAChC,oDAAoD;IAEtD,0BAA0B;IAC1B,4BAA4B,EAC1B,sDAAsD;IACxD,0BAA0B,EACxB,2CAA2C;IAC7C,2BAA2B,EACzB,+FAA+F;IACjG,4BAA4B,EAC1B,qDAAqD;IAEvD,8BAA8B;IAC9B,qBAAqB,EACnB,wCAAwC;IAC1C,kBAAkB,EAAE,mBAAmB;IACvC,qBAAqB,EAAE,eAAe;IACtC,mBAAmB,EAAE,kCAAkC;IAEvD,4BAA4B;IAC5B,gBAAgB,EACd,iCAAiC;IACnC,mBAAmB,EACjB,2CAA2C;IAE7C,0BAA0B;IAC1B,4BAA4B,EAC1B,6EAA6E;IAC/E,6BAA6B,EAC3B,kDAAkD;IACpD,8BAA8B,EAC5B,0CAA0C;IAC5C,wBAAwB,EACtB,uGAAuG;IAEzG,0BAA0B;IAC1B,oBAAoB,EAClB,qDAAqD;IACvD,wBAAwB,EACtB,oCAAoC;IACtC,kBAAkB,EAChB,oFAAoF;IACtF,yBAAyB,EACvB,uGAAuG;IAEzG,yCAAyC;IACzC,oBAAoB,EAClB,wDAAwD;IAC1D,iBAAiB,EACf,6DAA6D;IAE/D,mDAAmD;IACnD,+CAA+C;IAC/C,0FAA0F;IAC1F,uCAAuC;IACvC,0BAA0B,EAAE;;;;;;;;;;;;;;yDAc2B;IACvD,uBAAuB,EAAE;;;;;;;;;;;;;sCAaW;IACpC,0BAA0B,EAAE;;;;;;;;;;;;;;;;;+BAiBC;IAC7B,0BAA0B,EAAE;;;;;;;;;;;;;uBAaP;IACrB,wBAAwB,EAAE;;;;;;;;;;;uCAWW;IACrC,2BAA2B,EAAE;;;;;;;;;;;;;;+FAcgE;IAC7F,6BAA6B,EAAE;;;;;;;;;;;0BAWP;IACxB,kCAAkC,EAAE;;;;;;;;;;;;;oDAac;IAClD,0BAA0B,EAAE;;;;;;;;;;;;;;;;6BAgBD;IAC3B,gCAAgC,EAAE;;;;;;;;;;;qBAWf;IACnB,kCAAkC,EAAE;;;;;;;;;;;sCAWA;IACpC,kCAAkC,EAAE;;;;;;;;;;;kCAWJ;IAChC,mCAAmC,EAAE;;;;;;;;;;6BAUV;IAC3B,oCAAoC,EAAE;;;;;;;;;;;wBAWhB;IACtB,8BAA8B,EAAE;;;;;;;;;;;;;;;iIAe+F;IAC/H,0BAA0B,EAAE;;;;;;;;;;;;;;2CAca;IACzC,wBAAwB,EAAE;;;;;;+KAMmJ;IAC7K,8BAA8B,EAAE;;;;;;;;;;;;;uEAaqC;IACrE,+BAA+B,EAAE;;;;;;;;;;;;wFAYqD;IACtF,uBAAuB;IACvB,2BAA2B,EAAE;;;;;;;;;;;;0DAY2B;IACxD,2BAA2B,EAAE;;;;;;;;;;;wCAWS;IACtC,0BAA0B,EAAE;;;;;;;;;;;;;;;wEAe0C;IACtE,wCAAwC,EAAE;;;;;;;;;;;0FAW8C;IACxF,iCAAiC,EAAE;;;;;;;;;;;;2CAYM;IACzC,kCAAkC,EAAE;;;;;;;;;;;iFAW2C;IAC/E,wBAAwB,EAAE;;;;;;;;;;;0EAW8C;IACxE,2BAA2B,EAAE;;;;;;;;;;;;uCAYQ;IACrC,yBAAyB,EAAE;;;;;;;;;;;iDAWoB;IAC/C,sBAAsB,EAAE;;;;;;;;;;;yDAW+B;IACvD,yBAAyB,EAAE;;;;;;;;;;;;;mFAasD;IACjF,0BAA0B,EAAE;;;;;;;;;;;;wDAY0B;IACtD,uBAAuB,EAAE;;;;;;;;;;;uCAWY;IAErC,4CAA4C;IAC5C,yDAAyD;IACzD,uBAAuB;IACvB,8BAA8B,EAAE;;;;;kCAKA;IAChC,2BAA2B,EAAE;;;;;;;;;;4BAUH;IAC1B,8BAA8B,EAAE;;;;;sBAKZ;IACpB,8BAA8B,EAAE;;;;gCAIF;IAC9B,8BAA8B,EAAE;;;;0CAIQ;IACxC,4BAA4B,EAAE;;;;8DAI8B;IAC5D,iCAAiC,EAAE;;;;;4FAKuD;IAC1F,sCAAsC,EAAE;;;;wBAIlB;IACtB,+BAA+B,EAAE;;;;4EAIyC;IAC1E,+BAA+B,EAAE;;;;;gBAKnB;IACd,8BAA8B,EAAE;;;;;;yCAMO;IACvC,4CAA4C,EAAE;;;;;iDAKC;IAC/C,sCAAsC,EAAE;;;;wBAIlB;IACtB,oCAAoC,EAAE;;;;;0BAKd;IACxB,qCAAqC,EAAE;;;;;;mBAMtB;IACjB,sCAAsC,EAAE;;;;;yBAKjB;IACvB,+BAA+B,EAAE;;;;;iDAKc;IAC/C,4BAA4B,EAAE;;;YAGpB;IACV,+BAA+B,EAAE;;;iFAG8C;IAC/E,6BAA6B,EAAE;;;wEAGuC;IACtE,0BAA0B,EAAE;;;;;0BAKJ;IACxB,6BAA6B,EAAE;;;;;8BAKH;IAC5B,sCAAsC,EAAE;;;;2EAIiC;IACzE,uCAAuC,EAAE;;;kEAGuB;IAChE,wCAAwC,EAAE;;;;oCAIR;IAClC,kCAAkC,EAAE;;;;;;uEAMiC;IACrE,8BAA8B,EAAE;;;;;4CAKU;IAC1C,4BAA4B,EAAE;;;;;;iGAMiE;IAC/F,kCAAkC,EAAE;;;;6BAIT;IAC3B,8BAA8B,EAAE;;;;8CAIY;IAC5C,2BAA2B,EAAE;;;;gCAIC;IAE9B,yCAAyC;IACzC,wBAAwB,EACtB,0IAA0I;IAE5I,kFAAkF;IAClF,8BAA8B,EAAE,qBAAqB;IACrD,8BAA8B,EAC5B,gMAAgM;IAClM,4BAA4B,EAC1B,mPAAmP;IACrP,kCAAkC,EAChC,qDAAqD;IACvD,+BAA+B,EAC7B,qIAAqI;IACvI,uBAAuB,EACrB,kSAAkS;IACpS,iCAAiC,EAC/B,gWAAgW;IAClW,iCAAiC,EAC/B,6GAA6G;IAC/G,+BAA+B,EAC7B,gEAAgE;IAClE,6BAA6B,EAC3B,8DAA8D;IAChE,qCAAqC,EACnC,iFAAiF;IAEnF,qBAAqB;IACrB,cAAc,EAAE,WAAW;IAC3B,eAAe,EAAE,UAAU;IAC3B,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,MAAM;IAC5B,kBAAkB,EAAE,MAAM;IAC1B,sBAAsB,EAAE,MAAM;IAC9B,kBAAkB,EAAE,IAAI;IACxB,kBAAkB,EAAE,OAAO;IAC3B,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,QAAQ;IAC7B,mBAAmB,EAAE,IAAI;IACzB,sBAAsB,EAAE,+CAA+C;IACvE,wBAAwB,EAAE,yCAAyC;IACnE,sBAAsB,EAAE,gDAAgD;IACxE,0BAA0B,EAAE,qCAAqC;IACjE,uBAAuB,EAAE,yCAAyC;IAClE,sBAAsB,EAAE,+BAA+B;IACvD,sBAAsB,EAAE,oBAAoB;IAC5C,uBAAuB,EAAE,wCAAwC;IACjE,uBAAuB,EAAE,sCAAsC;IAC/D,qBAAqB,EAAE,qDAAqD;IAE5E,oBAAoB;IACpB,uCAAuC,EAAE,IAAI;IAC7C,sCAAsC,EAAE,IAAI;IAC5C,oCAAoC,EAAE,IAAI;IAC1C,0CAA0C,EAAE,IAAI;IAChD,iCAAiC,EAAE,KAAK;IACxC,sCAAsC,EAAE,IAAI;IAC5C,2BAA2B,EAAE,MAAM;IACnC,8BAA8B,EAAE,KAAK;IACrC,yBAAyB,EACvB,0DAA0D;IAC5D,mCAAmC,EACjC,yCAAyC;IAC3C,2BAA2B,EACzB,+GAA+G;IAEjH,qBAAqB,EAAE,MAAM;IAC7B,wBAAwB,EAAE,oBAAoB;IAC9C,uBAAuB,EAAE,IAAI;IAC7B,2BAA2B,EAAE,MAAM;IACnC,wBAAwB,EAAE,OAAO;IACjC,sBAAsB,EAAE,KAAK;IAC7B,uBAAuB,EAAE,IAAI;IAC7B,qBAAqB,EAAE,oCAAoC;IAC3D,wBAAwB,EAAE,IAAI;IAC9B,0BAA0B,EAAE,IAAI;IAChC,2BAA2B,EAAE,IAAI;IACjC,0BAA0B,EAAE,IAAI;IAChC,2BAA2B,EAAE,MAAM;IACnC,8BAA8B,EAAE,KAAK;IACrC,+BAA+B,EAAE,KAAK;IAEtC,mDAAmD;IACnD,qCAAqC,EAAE,yCAAyC;IAChF,2CAA2C,EAAE,2DAA2D;IACxG,qCAAqC,EAAE,uEAAuE;IAC9G,yCAAyC,EAAE,mHAAmH;IAC9J,iCAAiC,EAAE,yFAAyF;IAC5H,0CAA0C,EAAE,kEAAkE;IAC9G,gCAAgC,EAAE,6DAA6D;IAC/F,kCAAkC,EAAE,8DAA8D;IAClG,wCAAwC,EAAE,mFAAmF;IAE7H,mDAAmD;IACnD,iDAAiD,EAAE,aAAa;IAChE,uDAAuD,EAAE,wBAAwB;IACjF,iDAAiD,EAAE,wBAAwB;IAC3E,qDAAqD,EAAE,WAAW;IAClE,6CAA6C,EAAE,8BAA8B;IAC7E,sDAAsD,EAAE,sCAAsC;IAC9F,4CAA4C,EAAE,oBAAoB;IAClE,8CAA8C,EAAE,6BAA6B;IAC7E,oDAAoD,EAAE,4BAA4B;IAElF,wCAAwC;IACxC,yBAAyB,EAAE,KAAK;IAChC,8BAA8B,EAAE,KAAK;IACrC,iCAAiC,EAAE,MAAM;IACzC,mCAAmC,EAAE,KAAK;IAC1C,gCAAgC,EAAE,OAAO;IACzC,+BAA+B,EAAE,MAAM;IACvC,yCAAyC,EAAE,iBAAiB;IAC5D,0CAA0C,EAAE,6BAA6B;IACzE,mCAAmC,EAAE,mCAAmC;IACxE,mCAAmC,EAAE,iBAAiB;IACtD,kCAAkC,EAAE,cAAc;IAClD,4BAA4B,EAAE,MAAM;IACpC,8BAA8B,EAAE,IAAI;IACpC,4BAA4B,EAAE,QAAQ;IACtC,+BAA+B,EAAE,mCAAmC;IACpE,gCAAgC,EAAE,MAAM;IACxC,oCAAoC,EAAE,OAAO;IAC7C,4BAA4B,EAAE,WAAW;IACzC,8BAA8B,EAAE,cAAc;IAC9C,8BAA8B,EAAE,SAAS;IACzC,iCAAiC,EAAE,OAAO;IAC1C,gCAAgC,EAAE,YAAY;IAC9C,4CAA4C,EAAE,SAAS;IACvD,qDAAqD,EAAE,sBAAsB;IAC7E,yCAAyC,EAAE,SAAS;IACpD,4CAA4C,EAAE,WAAW;IACzD,2CAA2C,EAAE,UAAU;IACvD,kDAAkD,EAAE,iBAAiB;IACrE,2BAA2B,EAAE,aAAa;IAC1C,sBAAsB,EAAE,IAAI;IAC5B,qBAAqB,EAAE,IAAI;IAC3B,2BAA2B,EAAE,iBAAiB;IAC9C,yBAAyB,EAAE,QAAQ;IACnC,yBAAyB,EAAE,OAAO;IAClC,sBAAsB,EAAE,aAAa;IACrC,oBAAoB,EAAE,eAAe;IACrC,yBAAyB,EAAE,cAAc;IACzC,sBAAsB,EAAE,UAAU;IAClC,wBAAwB,EAAE,YAAY;IACtC,sBAAsB,EAAE,UAAU;IAClC,0BAA0B,EAAE,UAAU;IACtC,sBAAsB,EAAE,YAAY;IACpC,sBAAsB,EAAE,aAAa;IACrC,uBAAuB,EAAE,UAAU;IACnC,0BAA0B,EAAE,MAAM;IAClC,sBAAsB,EAAE,MAAM;IAC9B,sBAAsB,EAAE,OAAO;IAC/B,wBAAwB,EAAE,MAAM;IAChC,sBAAsB,EAAE,IAAI;IAC5B,eAAe,EAAE,mCAAmC;IAEpD,kBAAkB;IAClB,kBAAkB,EAAE,yCAAyC;IAC7D,2BAA2B,EAAE,yBAAyB;IACtD,4BAA4B,EAAE,sBAAsB;IACpD,0BAA0B,EACxB,2BAA2B;IAC7B,6BAA6B,EAAE,oBAAoB;IACnD,6BAA6B,EAAE,iBAAiB;IAChD,4BAA4B,EAAE,4BAA4B;IAC1D,qBAAqB,EAAE,WAAW;IAClC,sBAAsB,EAAE,QAAQ;IAChC,0BAA0B,EAAE,cAAc;IAC1C,sBAAsB,EAAE,wBAAwB;IAChD,yBAAyB,EAAE,gBAAgB;IAC3C,qBAAqB,EAAE,MAAM;IAC7B,wBAAwB,EACtB,wGAAwG;IAC1G,6BAA6B,EAC3B,0GAA0G;IAC5G,eAAe,EAAE,eAAe;IAChC,kBAAkB,EAAE,MAAM;IAC1B,2BAA2B,EAAE,iBAAiB;IAC9C,qBAAqB,EAAE,qCAAqC;IAC5D,qBAAqB,EAAE,wBAAwB;IAC/C,oBAAoB,EAClB,gDAAgD;IAClD,wBAAwB,EACtB,mDAAmD;IACrD,0BAA0B,EAAE,sCAAsC;IAClE,sBAAsB,EAAE,mCAAmC;IAC3D,qBAAqB,EACnB,oDAAoD;IACtD,oBAAoB,EAAE,6BAA6B;IACnD,2BAA2B,EACzB,wCAAwC;IAE1C,2CAA2C;IAC3C,sBAAsB;IACtB,uBAAuB,EAAE,IAAI;IAC7B,gBAAgB,EAAE,IAAI;IACtB,mBAAmB,EAAE,IAAI;IACzB,qBAAqB,EAAE,IAAI;IAC3B,sBAAsB,EAAE,IAAI;IAE5B,sBAAsB,EAAE,IAAI;IAC5B,sBAAsB,EAAE,IAAI;IAC5B,sBAAsB,EAAE,IAAI;IAC5B,0BAA0B,EAAE,IAAI;IAEhC,mBAAmB,EAAE,IAAI;IACzB,oBAAoB,EAAE,IAAI;IAC1B,sBAAsB,EAAE,IAAI;IAC5B,uBAAuB,EAAE,IAAI;IAE7B,2BAA2B,EAAE,IAAI;IACjC,4BAA4B,EAAE,IAAI;IAClC,0BAA0B,EAAE,IAAI;IAEhC,gCAAgC,EAAE,IAAI;IACtC,+BAA+B,EAAE,IAAI;IACrC,gCAAgC,EAAE,IAAI;IAEtC,oCAAoC,EAAE,KAAK;IAC3C,mCAAmC,EAAE,IAAI;IACzC,kCAAkC,EAAE,KAAK;IACzC,kCAAkC,EAAE,KAAK;IACzC,iCAAiC,EAAE,KAAK;IAExC,2BAA2B;IAC3B,gBAAgB,EAAE,KAAK;IACvB,mBAAmB,EAAE,KAAK;IAC1B,wBAAwB,EAAE,OAAO;IACjC,yBAAyB,EAAE,QAAQ;IACnC,qBAAqB,EAAE,IAAI;IAC3B,mBAAmB,EAAE,IAAI;IACzB,wBAAwB,EAAE,KAAK;IAC/B,uBAAuB,EAAE,KAAK;IAC9B,sBAAsB,EAAE,KAAK;IAC7B,qBAAqB,EAAE,MAAM;IAC7B,kBAAkB,EAAE,KAAK;IACzB,wBAAwB,EAAE,MAAM;IAChC,oBAAoB,EAAE,KAAK;IAC3B,uBAAuB,EAAE,MAAM;IAC/B,wBAAwB,EAAE,MAAM;IAChC,6BAA6B,EAAE,MAAM;IACrC,gCAAgC,EAAE,OAAO;IACzC,6BAA6B,EAAE,QAAQ;IACvC,kCAAkC,EAAE,SAAS;IAC7C,yBAAyB,EAAE,KAAK;IAChC,2BAA2B,EAAE,MAAM;IACnC,2BAA2B,EAAE,MAAM;IACnC,2BAA2B,EAAE,OAAO;IACpC,gCAAgC,EAAE,OAAO;IACzC,8BAA8B,EAAE,OAAO;IACvC,wBAAwB,EAAE,OAAO;IACjC,gCAAgC,EAAE,OAAO;IACzC,2BAA2B,EAAE,QAAQ;IACrC,wBAAwB,EAAE,MAAM;IAEhC,uBAAuB;IACvB,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE,IAAI;IACrB,yBAAyB,EAAE,MAAM;IACjC,4BAA4B,EAAE,OAAO;IACrC,yBAAyB,EAAE,QAAQ;IAEnC,sBAAsB;IACtB,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,mBAAmB,EAAE,MAAM;IAE3B,sBAAsB;IACtB,aAAa,EAAE,GAAG;IAClB,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,IAAI;IACtB,mBAAmB,EAAE,UAAU;IAE/B,8CAA8C;IAC9C,cAAc,EAAE,IAAI;IACpB,sBAAsB,EAAE,gBAAgB;IACxC,wBAAwB,EAAE,sBAAsB;IAEhD,sBAAsB;IACtB,kBAAkB,EAAE,mBAAmB;IACvC,iBAAiB,EAAE,KAAK;IACxB,mBAAmB,EAAE,MAAM;IAC3B,sBAAsB,EACpB,wCAAwC;IAC1C,sBAAsB,EAAE,SAAS;IACjC,yBAAyB,EACvB,mHAAmH;IACrH,kBAAkB,EAAE,aAAa;IAEjC,8BAA8B;IAC9B,2BAA2B,EAAE,aAAa;IAC1C,qBAAqB,EAAE,IAAI;IAC3B,wBAAwB,EAAE,IAAI;IAC9B,qBAAqB,EAAE,IAAI;IAC3B,2BAA2B,EAAE,MAAM;IACnC,2BAA2B,EAAE,MAAM;IACnC,+BAA+B,EAAE,OAAO;IACxC,+BAA+B,EAAE,QAAQ;IACzC,mBAAmB,EAAE,IAAI;IACzB,mBAAmB,EAAE,IAAI;IACzB,oBAAoB,EAAE,UAAU;IAChC,uBAAuB,EAAE,0BAA0B;IACnD,eAAe,EAAE,SAAS;IAC1B,yBAAyB,EAAE,SAAS;IACpC,kBAAkB,EAAE,KAAK;IAEzB,iDAAiD;IACjD,qBAAqB,EAAE,IAAI;IAC3B,wBAAwB,EAAE,IAAI;IAC9B,sBAAsB,EAAE,IAAI;IAC5B,yBAAyB,EAAE,IAAI;IAC/B,4BAA4B,EAAE,IAAI;IAClC,wBAAwB,EAAE,IAAI;IAC9B,oBAAoB,EAAE,IAAI;IAC1B,wBAAwB,EAAE,IAAI;IAC9B,sBAAsB,EAAE,IAAI;IAC5B,wBAAwB,EAAE,IAAI;IAC9B,0BAA0B,EAAE,IAAI;IAChC,0BAA0B,EAAE,IAAI;IAChC,6BAA6B,EAAE,IAAI;IACnC,6BAA6B,EAAE,IAAI;IACnC,yBAAyB,EAAE,IAAI;IAC/B,0BAA0B,EAAE,IAAI;IAChC,+BAA+B,EAAE,IAAI;IACrC,8BAA8B,EAAE,IAAI;IACpC,8BAA8B,EAAE,IAAI;IACpC,6BAA6B,EAAE,IAAI;IACnC,+BAA+B,EAAE,IAAI;IACrC,iCAAiC,EAAE,KAAK;IACxC,mCAAmC,EAAE,IAAI;IACzC,qCAAqC,EAAE,IAAI;IAC3C,yBAAyB,EAAE,KAAK;IAChC,+BAA+B,EAAE,OAAO;IACxC,2BAA2B,EAAE,KAAK;IAClC,2BAA2B,EAAE,KAAK;IAClC,0BAA0B,EAAE,KAAK;IAEjC,uCAAuC;IACvC,2BAA2B,EAAE,QAAQ;IACrC,4BAA4B,EAAE,QAAQ;IACtC,+BAA+B,EAAE,MAAM;IACvC,6BAA6B,EAAE,QAAQ;IACvC,+BAA+B,EAAE,QAAQ;IACzC,4BAA4B,EAAE,MAAM;IACpC,+BAA+B,EAAE,cAAc;IAC/C,iCAAiC,EAAE,cAAc;IACjD,sCAAsC,EAAE,cAAc;IACtD,iCAAiC,EAAE,mBAAmB;IACtD,sBAAsB,EAAE,QAAQ;IAChC,6BAA6B,EAAE,KAAK;IACpC,wBAAwB,EAAE,IAAI;IAC9B,yBAAyB,EAAE,IAAI;IAC/B,uBAAuB,EAAE,IAAI;IAC7B,oBAAoB,EAAE,MAAM;IAC5B,4BAA4B,EAAE,MAAM;IAEpC,+CAA+C;IAC/C,+BAA+B,EAC7B,wEAAwE;IAC1E,iCAAiC,EAAE,IAAI;IACvC,kCAAkC,EAAE,KAAK;IACzC,mCAAmC,EAAE,KAAK;IAC1C,6BAA6B,EAAE,IAAI;IACnC,wBAAwB,EAAE,iBAAiB;IAC3C,8BAA8B,EAAE,IAAI;IACpC,kCAAkC,EAAE,IAAI;IACxC,8BAA8B,EAAE,QAAQ;IACxC,6BAA6B,EAAE,IAAI;IACnC,qCAAqC,EAAE,QAAQ;IAC/C,4BAA4B,EAAE,IAAI;IAClC,oCAAoC,EAAE,QAAQ;IAC9C,4BAA4B,EAAE,YAAY;IAC1C,oCAAoC,EAAE,eAAe;IACrD,kCAAkC,EAAE,4BAA4B;IAChE,+BAA+B,EAAE,eAAe;IAChD,uCAAuC,EAAE,QAAQ;IACjD,0BAA0B,EAAE,gBAAgB;IAC5C,4BAA4B,EAAE,OAAO;IACrC,4BAA4B,EAAE,OAAO;IACrC,2BAA2B,EAAE,OAAO;IACpC,gCAAgC,EAAE,UAAU;IAC5C,gCAAgC,EAAE,UAAU;IAC5C,iCAAiC,EAAE,MAAM;IACzC,6BAA6B,EAAE,IAAI;IACnC,4BAA4B,EAAE,OAAO;IACrC,2BAA2B,EAAE,aAAa;IAC1C,gCAAgC,EAAE,OAAO;IACzC,kCAAkC,EAAE,OAAO;IAC3C,gCAAgC,EAAE,OAAO;IACzC,qCAAqC,EAAE,cAAc;IACrD,+BAA+B,EAAE,aAAa;IAC9C,sCAAsC,EAAE,WAAW;IACnD,oCAAoC,EAAE,gBAAgB;IACtD,gCAAgC,EAAE,aAAa;IAE/C,uCAAuC;IACvC,2BAA2B,EAAE,KAAK;IAClC,8BAA8B,EAAE,IAAI;IACpC,uCAAuC,EAAE,cAAc;IACvD,qCAAqC,EAAE,gBAAgB;IACvD,uBAAuB,EAAE,IAAI;IAC7B,wBAAwB,EAAE,IAAI;IAC9B,uBAAuB,EAAE,KAAK;IAC9B,0BAA0B,EAAE,IAAI;IAChC,qBAAqB,EAAE,IAAI;IAC3B,uBAAuB,EAAE,MAAM;IAC/B,2BAA2B,EAAE,KAAK;IAClC,8BAA8B,EAAE,IAAI;IACpC,0BAA0B,EAAE,IAAI;IAChC,oBAAoB,EAAE,SAAS;IAC/B,2BAA2B,EAAE,UAAU;IACvC,wBAAwB,EAAE,IAAI;IAC9B,wBAAwB,EAAE,MAAM;IAChC,4BAA4B,EAAE,OAAO;IACrC,+BAA+B,EAAE,IAAI;IACrC,2BAA2B,EAAE,IAAI;IACjC,0BAA0B,EAAE,IAAI;IAChC,+BAA+B,EAAE,SAAS;IAC1C,qCAAqC,EAAE,UAAU;IACjD,yBAAyB,EAAE,cAAc;IACzC,4BAA4B,EAAE,OAAO;IACrC,+BAA+B,EAAE,cAAc;IAC/C,wBAAwB,EAAE,GAAG;IAC7B,6BAA6B,EAAE,WAAW;IAC1C,4BAA4B,EAAE,oBAAoB;IAClD,2BAA2B,EAAE,6BAA6B;IAC1D,8BAA8B,EAAE,6BAA6B;IAC7D,+BAA+B,EAAE,gBAAgB;IACjD,+BAA+B,EAAE,kBAAkB;IACnD,yCAAyC,EAAE,2CAA2C;IACtF,kCAAkC,EAAE,8BAA8B;IAClE,uCAAuC,EAAE,qCAAqC;IAC9E,+BAA+B,EAAE,sBAAsB;IACvD,gCAAgC,EAAE,yCAAyC;IAC3E,uCAAuC,EAAE,8CAA8C;IACvF,2CAA2C,EAAE,mCAAmC;IAChF,8BAA8B,EAAE,0BAA0B;IAC1D,qCAAqC,EAAE,mBAAmB;IAC1D,2CAA2C,EAAE,6BAA6B;IAC1E,8CAA8C,EAAE,kCAAkC;IAClF,qCAAqC,EAAE,gCAAgC;IACvE,gCAAgC,EAAE,iBAAiB;IACnD,+BAA+B,EAAE,qBAAqB;IACtD,gCAAgC,EAAE,cAAc;IAEhD,uCAAuC;IACvC,oBAAoB,EAAE,OAAO;IAC7B,yBAAyB,EAAE,gBAAgB;IAC3C,6BAA6B,EAAE,KAAK;IACpC,kBAAkB,EAAE,IAAI;IACxB,0BAA0B,EAAE,QAAQ;IACpC,oBAAoB,EAAE,IAAI;IAC1B,2BAA2B,EAAE,IAAI;IACjC,2BAA2B,EAAE,MAAM;IACnC,yBAAyB,EAAE,IAAI;IAC/B,yBAAyB,EAAE,IAAI;IAC/B,2BAA2B,EAAE,OAAO;IACpC,0BAA0B,EAAE,6BAA6B;IACzD,6BAA6B,EAAE,KAAK;IACpC,6BAA6B,EAAE,OAAO;IACtC,2BAA2B,EAAE,MAAM;IACnC,6BAA6B,EAAE,IAAI;IACnC,+BAA+B,EAAE,QAAQ;IACzC,uBAAuB,EAAE,IAAI;IAC7B,6BAA6B,EAAE,gBAAgB;IAC/C,4BAA4B,EAAE,aAAa;IAC3C,+BAA+B,EAAE,WAAW;IAC5C,qCAAqC,EAAE,WAAW;IAClD,4BAA4B,EAAE,cAAc;IAC5C,yBAAyB,EAAE,YAAY;IACvC,4BAA4B,EAC1B,sFAAsF;IACxF,4BAA4B,EAAE,gCAAgC;IAC9D,wBAAwB,EAAE,iBAAiB;IAC3C,0BAA0B,EAAE,aAAa;IAEzC,yCAAyC;IACzC,uBAAuB,EAAE,SAAS;IAClC,iCAAiC,EAAE,sBAAsB;IACzD,qBAAqB,EAAE,qBAAqB;IAC5C,+BAA+B,EAAE,KAAK;IACtC,gCAAgC,EAAE,MAAM;IACxC,sCAAsC,EAAE,SAAS;IACjD,kCAAkC,EAAE,WAAW;IAC/C,0BAA0B,EAAE,QAAQ;IACpC,oCAAoC,EAAE,KAAK;IAC3C,8BAA8B,EAAE,IAAI;IACpC,6BAA6B,EAAE,IAAI;IACnC,0BAA0B,EAAE,IAAI;IAChC,+BAA+B,EAAE,KAAK;IACtC,0BAA0B,EAAE,eAAe;IAC3C,wBAAwB,EAAE,eAAe;IACzC,qBAAqB,EAAE,WAAW;IAClC,6BAA6B,EAAE,eAAe;IAE9C,wCAAwC;IACxC,sBAAsB,EAAE,UAAU;IAClC,wBAAwB,EAAE,SAAS;IACnC,qBAAqB,EAAE,MAAM;IAC7B,yBAAyB,EAAE,MAAM;IACjC,uBAAuB,EAAE,MAAM;IAC/B,qBAAqB,EAAE,uBAAuB;IAC9C,yBAAyB,EACvB,0DAA0D;IAC5D,uBAAuB,EAAE,yBAAyB;IAClD,gCAAgC,EAAE,aAAa;IAC/C,gCAAgC,EAAE,QAAQ;IAC1C,gCAAgC,EAAE,KAAK;IACvC,4BAA4B,EAAE,KAAK;IACnC,gCAAgC,EAAE,KAAK;IACvC,8BAA8B,EAAE,KAAK;IACrC,gCAAgC,EAAE,KAAK;IACvC,oCAAoC,EAAE,eAAe;IACrD,gCAAgC,EAAE,WAAW;IAC7C,oCAAoC,EAAE,WAAW;IACjD,kCAAkC,EAAE,WAAW;IAC/C,oCAAoC,EAAE,WAAW;IACjD,4BAA4B,EAAE,kBAAkB;IAChD,mCAAmC,EAAE,uBAAuB;IAC5D,+BAA+B,EAAE,qBAAqB;IACtD,iCAAiC,EAAE,gBAAgB;IACnD,kCAAkC,EAAE,qBAAqB;IACzD,kCAAkC,EAAE,2BAA2B;IAC/D,kCAAkC,EAAE,wBAAwB;IAC5D,qCAAqC,EAAE,mBAAmB;IAC1D,qCAAqC,EAAE,wBAAwB;IAC/D,iCAAiC,EAAE,iBAAiB;IACpD,kCAAkC,EAAE,qBAAqB;IACzD,uCAAuC,EAAE,mBAAmB;IAC5D,sCAAsC,EAAE,mBAAmB;IAC3D,sCAAsC,EAAE,gBAAgB;IACxD,qCAAqC,EAAE,iBAAiB;IACxD,uCAAuC,EAAE,gBAAgB;IACzD,yCAAyC,EAAE,uBAAuB;IAElE,6CAA6C;IAC7C,4BAA4B,EAAE,oBAAoB;IAClD,+BAA+B,EAAE,QAAQ;IACzC,gCAAgC,EAAE,QAAQ;IAC1C,+BAA+B,EAAE,MAAM;IACvC,kCAAkC,EAAE,MAAM;IAC1C,8BAA8B,EAC5B,iGAAiG;IACnG,0BAA0B,EAAE,IAAI;IAChC,yBAAyB,EAAE,IAAI;IAC/B,+BAA+B,EAAE,iBAAiB;IAClD,+BAA+B,EAAE,iBAAiB;IAClD,yBAAyB,EAAE,YAAY;IACvC,4BAA4B,EAAE,aAAa;IAC3C,+BAA+B,EAAE,KAAK;IACtC,4BAA4B,EAAE,cAAc;IAC5C,2BAA2B,EAAE,gBAAgB;IAC7C,iCAAiC,EAAE,mBAAmB;IACtD,mCAAmC,EAAE,UAAU;IAC/C,uCAAuC,EAAE,sBAAsB;IAC/D,yCAAyC,EAAE,sBAAsB;IACjE,2BAA2B,EAAE,KAAK;IAClC,8BAA8B,EAAE,KAAK;IACrC,2BAA2B,EAAE,MAAM;IACnC,+BAA+B,EAAE,OAAO;IACxC,mCAAmC,EAAE,SAAS;IAC9C,6BAA6B,EAAE,WAAW;IAC1C,0BAA0B,EAAE,KAAK;IACjC,kCAAkC,EAAE,UAAU;IAC9C,4BAA4B,EAAE,KAAK;IACnC,wBAAwB,EAAE,KAAK;IAC/B,2BAA2B,EAAE,KAAK;IAClC,2BAA2B,EAAE,KAAK;IAClC,4BAA4B,EAAE,KAAK;IACnC,6BAA6B,EAAE,KAAK;IACpC,uBAAuB,EAAE,GAAG;IAC5B,yBAAyB,EAAE,GAAG;IAC9B,sBAAsB,EAAE,GAAG;IAC3B,yBAAyB,EAAE,cAAc;IACzC,6BAA6B,EAAE,OAAO;IACtC,4BAA4B,EAAE,uBAAuB;IAErD,oCAAoC;IACpC,gCAAgC,EAAE,UAAU;IAC5C,8BAA8B,EAAE,eAAe;IAC/C,+BAA+B,EAAE,MAAM;IACvC,6BAA6B,EAC3B,gCAAgC;IAClC,iCAAiC,EAAE,OAAO;IAC1C,iCAAiC,EAAE,GAAG;IACtC,6BAA6B,EAAE,OAAO;IACtC,8BAA8B,EAAE,IAAI;IACpC,mCAAmC,EACjC,qBAAqB;IACvB,sCAAsC,EAAE,OAAO;IAC/C,2CAA2C,EACzC,oCAAoC;IACtC,kDAAkD,EAAE,eAAe;IACnE,kCAAkC,EAAE,YAAY;IAChD,uCAAuC,EACrC,+CAA+C;IACjD,8BAA8B,EAAE,OAAO;IACvC,mCAAmC,EACjC,mFAAmF;IACrF,mCAAmC,EAAE,MAAM;IAC3C,+BAA+B,EAAE,MAAM;IACvC,+BAA+B,EAAE,MAAM;IACvC,mCAAmC,EACjC,wEAAwE;IAC1E,4CAA4C,EAC1C,4DAA4D;IAC9D,6BAA6B,EAAE,MAAM;IACrC,kCAAkC,EAAE,mBAAmB;IACvD,iCAAiC,EAAE,MAAM;IACzC,sCAAsC,EAAE,aAAa;IACrD,mCAAmC,EAAE,MAAM;IAC3C,wCAAwC,EAAE,yBAAyB;IACnE,8BAA8B,EAAE,KAAK;IACrC,mCAAmC,EAAE,YAAY;IACjD,8BAA8B,EAAE,SAAS;IACzC,mCAAmC,EACjC,8BAA8B;IAChC,gCAAgC,EAC9B,+EAA+E;IACjF,4BAA4B,EAAE,IAAI;IAClC,oCAAoC,EAClC,+EAA+E;IACjF,8CAA8C,EAC5C,yBAAyB;IAC3B,oCAAoC,EAAE,cAAc;IACpD,mCAAmC,EAAE,SAAS;IAC9C,uCAAuC,EACrC,4HAA4H;IAC9H,6BAA6B,EAAE,IAAI;IACnC,4BAA4B,EAAE,MAAM;IACpC,2BAA2B,EAAE,UAAU;IACvC,sCAAsC,EACpC,+BAA+B;IACjC,0BAA0B,EAAE,QAAQ;IACpC,mCAAmC,EAAE,eAAe;IACpD,kCAAkC,EAChC,4EAA4E;IAC9E,mCAAmC,EACjC,2EAA2E;IAC7E,iCAAiC,EAAE,iBAAiB;IACpD,gCAAgC,EAC9B,sCAAsC;IACxC,oCAAoC,EAAE,WAAW;IACjD,mCAAmC,EACjC,0CAA0C;IAC5C,yCAAyC,EAAE,MAAM;IACjD,6BAA6B,EAC3B,wQAAwQ;IAC1Q,qCAAqC,EAAE,IAAI;IAC3C,yCAAyC,EAAE,YAAY;IACvD,6CAA6C,EAAE,OAAO;IACtD,kCAAkC,EAAE,MAAM;IAC1C,sCAAsC,EAAE,MAAM;IAC9C,wCAAwC,EAAE,MAAM;IAEhD,oCAAoC;IACpC,uBAAuB,EAAE,QAAQ;IACjC,0BAA0B,EAAE,aAAa;IACzC,qBAAqB,EAAE,MAAM;IAC7B,oBAAoB,EAAE,IAAI;IAC1B,sBAAsB,EAAE,IAAI;IAC5B,oBAAoB,EAAE,IAAI;IAC1B,sBAAsB,EAAE,IAAI;IAC5B,qBAAqB,EAAE,IAAI;IAC3B,qBAAqB,EAAE,IAAI;IAC3B,uBAAuB,EAAE,IAAI;IAC7B,2BAA2B,EAAE,MAAM;IACnC,wBAAwB,EAAE,MAAM;IAChC,uBAAuB,EAAE,IAAI;IAC7B,wBAAwB,EAAE,IAAI;IAC9B,4BAA4B,EAAE,KAAK;IACnC,6BAA6B,EAAE,KAAK;IACpC,8BAA8B,EAAE,OAAO;IACvC,kCAAkC,EAAE,OAAO;IAC3C,mCAAmC,EACjC,4BAA4B;IAC9B,oCAAoC,EAClC,sBAAsB;IACxB,0BAA0B,EAAE,aAAa;IACzC,4BAA4B,EAAE,aAAa;IAC3C,uBAAuB,EAAE,MAAM;IAC/B,sBAAsB,EAAE,IAAI;IAC5B,sBAAsB,EAAE,SAAS;IAEjC,qCAAqC;IACrC,mBAAmB,EAAE,sBAAsB;IAC3C,mBAAmB,EACjB,oPAAoP;IACtP,2BAA2B,EAAE,MAAM;IACnC,2BAA2B,EACzB,+BAA+B;IACjC,+BAA+B,EAC7B,iMAAiM;IACnM,4BAA4B,EAC1B,gCAAgC;IAClC,gCAAgC,EAC9B,sRAAsR;IACxR,+BAA+B,EAC7B,kDAAkD;IACpD,mCAAmC,EACjC,sEAAsE;IACxE,2BAA2B,EACzB,4CAA4C;IAC9C,+BAA+B,EAC7B,4FAA4F;IAC9F,8BAA8B,EAC5B,uBAAuB;IACzB,kCAAkC,EAChC,qFAAqF;IACvF,wBAAwB,EAAE,gBAAgB;IAC1C,wBAAwB,EACtB,2LAA2L;IAC7L,qBAAqB,EACnB,mIAAmI;IACrI,qBAAqB,EACnB,uNAAuN;IACzN,yBAAyB,EACvB,0JAA0J;IAC5J,yBAAyB,EACvB,+KAA+K;IACjL,yBAAyB,EACvB,4NAA4N;IAC9N,+BAA+B,EAAE,YAAY;IAC7C,+BAA+B,EAC7B,mFAAmF;IACrF,6BAA6B,EAC3B,wCAAwC;IAC1C,4BAA4B,EAC1B,0EAA0E;IAC5E,2BAA2B,EACzB,0EAA0E;IAC5E,2BAA2B,EACzB,iGAAiG;IACnG,0BAA0B,EACxB,iEAAiE;IACnE,uBAAuB,EAAE,UAAU;IACnC,sBAAsB,EACpB,kEAAkE;IACpE,wBAAwB,EACtB,sFAAsF;IACxF,sBAAsB,EACpB,gFAAgF;IAClF,0BAA0B,EACxB,2GAA2G;IAC7G,sBAAsB,EACpB,+FAA+F;IACjG,sBAAsB,EACpB,yFAAyF;IAC3F,uBAAuB,EACrB,uDAAuD;IACzD,4BAA4B,EAAE,UAAU;IACxC,kBAAkB,EAChB,6EAA6E;IAC/E,kBAAkB,EAChB,+CAA+C;IACjD,kBAAkB,EAChB,iHAAiH;IACnH,kBAAkB,EAChB,8DAA8D;IAChE,kBAAkB,EAChB,wGAAwG;IAC1G,kBAAkB,EAChB,sFAAsF;IACxF,uBAAuB,EAAE,IAAI;IAC7B,kBAAkB,EAChB,yCAAyC;IAC3C,kBAAkB,EAChB,kDAAkD;IACpD,kBAAkB,EAChB,sJAAsJ;IACxJ,kBAAkB,EAChB,sDAAsD;IACxD,kBAAkB,EAChB,sKAAsK;IAExK,uBAAuB;IACvB,sBAAsB,EAAE,UAAU;IAClC,sBAAsB,EACpB,uNAAuN;IACzN,yBAAyB,EACvB,8PAA8P;IAEhQ,yBAAyB;IACzB,2BAA2B,EAAE,YAAY;IACzC,0BAA0B,EACxB,sjBAAsjB;IAExjB,oBAAoB;IACpB,uBAAuB,EAAE,UAAU;IACnC,sBAAsB,EACpB,8iBAA8iB;IAEhjB,0BAA0B;IAC1B,2BAA2B,EAAE,yBAAyB;IACtD,0BAA0B,EACxB,kjBAAkjB;IAEpjB,uCAAuC;IACvC,2BAA2B,EAAE,aAAa;IAC1C,4BAA4B,EAAE,kBAAkB;IAChD,oBAAoB,EAAE,QAAQ;IAC9B,wBAAwB,EAAE,KAAK;IAC/B,2BAA2B,EAAE,GAAG;IAChC,0BAA0B,EAAE,IAAI;IAChC,4BAA4B,EAAE,IAAI;IAClC,8BAA8B,EAAE,KAAK;IACrC,6BAA6B,EAAE,KAAK;IACpC,0BAA0B,EAAE,SAAS;IACrC,8BAA8B,EAAE,MAAM;IACtC,4BAA4B,EAAE,UAAU;IACxC,8BAA8B,EAAE,KAAK;IACrC,2BAA2B,EAAE,IAAI;IACjC,yBAAyB,EAAE,IAAI;IAC/B,6BAA6B,EAAE,KAAK;IACpC,6BAA6B,EAAE,KAAK;IACpC,0BAA0B,EAAE,KAAK;IACjC,+BAA+B,EAAE,MAAM;IACvC,+BAA+B,EAAE,MAAM;IACvC,oCAAoC,EAAE,KAAK;IAC3C,gCAAgC,EAAE,KAAK;IACvC,oCAAoC,EAAE,KAAK;IAC3C,kCAAkC,EAAE,KAAK;IACzC,oCAAoC,EAAE,KAAK;IAC3C,8BAA8B,EAAE,IAAI;IACpC,4BAA4B,EAAE,MAAM;IACpC,mCAAmC,EAAE,MAAM;IAC3C,4BAA4B,EAAE,MAAM;IACpC,0BAA0B,EAAE,MAAM;IAClC,8BAA8B,EAAE,MAAM;IACtC,+BAA+B,EAAE,uBAAuB;IACxD,mCAAmC,EAAE,0DAA0D;IAC/F,iCAAiC,EAAE,yBAAyB;IAC5D,gCAAgC,EAAE,aAAa;IAC/C,+BAA+B,EAAE,QAAQ;IAEzC,oDAAoD;IACpD,gCAAgC,EAC9B,iGAAiG;IACnG,+BAA+B,EAAE,uBAAuB;IACxD,2BAA2B,EAAE,KAAK;IAClC,yBAAyB,EAAE,KAAK;IAChC,8BAA8B,EAAE,MAAM;IACtC,2BAA2B,EAAE,KAAK;IAClC,gCAAgC,EAAE,SAAS;IAC3C,kCAAkC,EAAE,IAAI;IAExC,2BAA2B;IAC3B,gBAAgB,EAAE,aAAa;IAC/B,qBAAqB,EAAE,UAAU;IACjC,kBAAkB,EAAE,aAAa;IACjC,uBAAuB,EAAE,UAAU;IACnC,uBAAuB,EAAE,kBAAkB;IAC3C,kBAAkB,EAAE,YAAY;IAEhC,6DAA6D;IAC7D,+CAA+C;IAC/C,6DAA6D;IAC7D,eAAe,EACb,oDAAoD;IACtD,sBAAsB,EACpB,4DAA4D;IAC9D,kBAAkB,EAChB,oDAAoD;IACtD,oBAAoB,EAClB,qDAAqD;IACvD,qBAAqB,EACnB,sDAAsD;IACxD,mBAAmB,EAAE,gCAAgC;IACrD,oBAAoB,EAAE,gCAAgC;IACtD,sBAAsB,EACpB,sCAAsC;IACxC,qBAAqB,EAAE,+BAA+B;IACtD,uBAAuB,EAAE,8BAA8B;IACvD,qBAAqB,EAAE,mBAAmB;IAC1C,wBAAwB,EAAE,sBAAsB;IAChD,2BAA2B,EAAE,4BAA4B;IACzD,+BAA+B,EAC7B,8CAA8C;IAChD,+BAA+B,EAC7B,gDAAgD;IAClD,8BAA8B,EAC5B,iCAAiC;IACnC,0BAA0B,EAAE,+BAA+B;IAC3D,2BAA2B,EAAE,mCAAmC;IAChE,yBAAyB,EAAE,gCAAgC;IAC3D,6BAA6B,EAAE,iCAAiC;IAChE,4BAA4B,EAC1B,6CAA6C;IAC/C,2BAA2B,EACzB,0CAA0C;IAC5C,2BAA2B,EACzB,6CAA6C;IAC/C,0BAA0B,EACxB,qCAAqC;IACvC,qBAAqB,EACnB,+CAA+C;IACjD,qBAAqB,EAAE,4CAA4C;IACnE,wBAAwB,EACtB,0CAA0C;IAC5C,wBAAwB,EACtB,+CAA+C;IACjD,oBAAoB,EAAE,oCAAoC;IAC1D,qBAAqB,EACnB,yCAAyC;IAC3C,0BAA0B,EACxB,4CAA4C;IAC9C,yBAAyB,EACvB,2CAA2C;IAC7C,yBAAyB,EACvB,wCAAwC;IAC1C,wBAAwB,EAAE,wCAAwC;IAClE,0BAA0B,EACxB,yCAAyC;IAC3C,4BAA4B,EAC1B,mDAAmD;IACrD,uBAAuB,EAAE,oCAAoC;IAC7D,mBAAmB,EAAE,4BAA4B;IACjD,uBAAuB,EACrB,wCAAwC;IAC1C,qBAAqB,EAAE,8BAA8B;IACrD,uBAAuB,EAAE,gCAAgC;IACzD,kCAAkC,EAAE,mCAAmC;IACvE,oCAAoC,EAAE,kCAAkC;IACxE,wBAAwB,EAAE,4BAA4B;IACtD,8BAA8B,EAAE,wCAAwC;IACxE,0BAA0B,EAAE,gCAAgC;IAC5D,0BAA0B,EAAE,iCAAiC;IAC7D,yBAAyB,EAAE,2BAA2B;IACtD,gBAAgB,EACd,4DAA4D;IAC9D,gBAAgB,EACd,+CAA+C;IACjD,oBAAoB,EAAE,wCAAwC;IAC9D,yBAAyB,EACvB,+CAA+C;IACjD,gBAAgB,EACd,+CAA+C;IACjD,wBAAwB,EAAE,sCAAsC;IAChE,uBAAuB,EACrB,+DAA+D;IACjE,qBAAqB,EACnB,iDAAiD;IACnD,mBAAmB,EACjB,8CAA8C;IAChD,qBAAqB,EACnB,+CAA+C;IACjD,iBAAiB,EACf,iDAAiD;IACnD,sBAAsB,EACpB,4DAA4D;IAC9D,4BAA4B,EAAE,8BAA8B;IAC5D,wBAAwB,EAAE,yBAAyB;IACnD,2BAA2B,EAAE,6BAA6B;IAC1D,2BAA2B,EACzB,qCAAqC;IACvC,4BAA4B,EAC1B,sDAAsD;IACxD,qBAAqB,EACnB,mDAAmD;IACrD,qBAAqB,EACnB,2DAA2D;IAC7D,qBAAqB,EACnB,4DAA4D;IAC9D,yBAAyB,EACvB,4DAA4D;CACX,CAAC"}
1
+ {"version":3,"file":"zh.js","sourceRoot":"","sources":["../../src/i18n/zh.ts"],"names":[],"mappings":"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"}
@@ -34,18 +34,24 @@ export interface AutoOnboardResult {
34
34
  readonly bundleUpgraded?: boolean;
35
35
  /** .gitattributes 是否被新增条目。 */
36
36
  readonly gitattributesUpdated?: boolean;
37
+ /** post-merge hook 是否在本次 onboard 中安装/覆盖(true=主路径或 sidecar 落地)。 */
38
+ readonly postMergeHookInstalled?: boolean;
37
39
  /** 错误信息(onboard 抛错时填,host 不应崩溃)。 */
38
40
  readonly error?: string;
39
41
  }
40
42
  /**
41
- * 自动 onboard merge driver。
43
+ * 自动 onboard merge driver + post-merge hook
42
44
  *
43
45
  * 行为:
44
46
  * 1. 找 dataRoot 所在 git repo(找不到就 noop)
45
47
  * 2. 验证 bundle 源存在(不存在就 noop)
46
48
  * 3. 调 installMergeDriver
49
+ * 4. 调 installPostMergeHook —— 让 git pull 后自动跑 runPostMergeCheck,
50
+ * 后者会调 runDoctor 重建索引,补齐"git pull 拉到新 .md → engram-index.json
51
+ * 漏更新"的最后一公里(spec §7.5 + index-no-truth 架构缺陷修复)
47
52
  *
48
53
  * 任何步骤抛错都返回 `{ attempted: true, error: msg }`,不向上抛。
54
+ * post-merge hook 安装失败不影响 merge driver 已装好的状态。
49
55
  */
50
56
  export declare function autoOnboardMergeDriver(params: {
51
57
  dataRoot: string;
@@ -1 +1 @@
1
- {"version":3,"file":"auto-onboard.d.ts","sourceRoot":"","sources":["../../src/merge/auto-onboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG3E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS/D;AAED,MAAM,WAAW,iBAAiB;IAChC,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,8BAA8B;IAC9B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,oCAAoC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC,GAAG,iBAAiB,CA0BpB"}
1
+ {"version":3,"file":"auto-onboard.d.ts","sourceRoot":"","sources":["../../src/merge/auto-onboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG3E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS/D;AAED,MAAM,WAAW,iBAAiB;IAChC,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,8BAA8B;IAC9B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,kEAAkE;IAClE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,oCAAoC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC,GAAG,iBAAiB,CA+CpB"}
@@ -15,6 +15,7 @@
15
15
  import { existsSync } from "node:fs";
16
16
  import { dirname } from "node:path";
17
17
  import { installMergeDriver } from "./onboard.js";
18
+ import { installPostMergeHook } from "./post-merge-hook.js";
18
19
  /**
19
20
  * 解析 merge-driver bundle 的源路径。
20
21
  *
@@ -43,14 +44,18 @@ export function findGitRepoRoot(dataRoot) {
43
44
  return null;
44
45
  }
45
46
  /**
46
- * 自动 onboard merge driver。
47
+ * 自动 onboard merge driver + post-merge hook
47
48
  *
48
49
  * 行为:
49
50
  * 1. 找 dataRoot 所在 git repo(找不到就 noop)
50
51
  * 2. 验证 bundle 源存在(不存在就 noop)
51
52
  * 3. 调 installMergeDriver
53
+ * 4. 调 installPostMergeHook —— 让 git pull 后自动跑 runPostMergeCheck,
54
+ * 后者会调 runDoctor 重建索引,补齐"git pull 拉到新 .md → engram-index.json
55
+ * 漏更新"的最后一公里(spec §7.5 + index-no-truth 架构缺陷修复)
52
56
  *
53
57
  * 任何步骤抛错都返回 `{ attempted: true, error: msg }`,不向上抛。
58
+ * post-merge hook 安装失败不影响 merge driver 已装好的状态。
54
59
  */
55
60
  export function autoOnboardMergeDriver(params) {
56
61
  const { dataRoot, bundleSourcePath, repoRootOverride } = params;
@@ -61,21 +66,38 @@ export function autoOnboardMergeDriver(params) {
61
66
  if (!existsSync(bundleSourcePath)) {
62
67
  return { attempted: false };
63
68
  }
69
+ let postMergeHookInstalled = false;
70
+ let driverStats;
71
+ let onboardError;
64
72
  try {
65
- const result = installMergeDriver({ repoRoot, bundleSourcePath });
66
- return {
67
- attempted: true,
68
- repoRoot,
69
- bundleUpgraded: result.bundleUpgraded,
70
- gitattributesUpdated: result.gitattributesUpdated,
71
- };
73
+ driverStats = installMergeDriver({ repoRoot, bundleSourcePath });
72
74
  }
73
75
  catch (e) {
74
- return {
75
- attempted: true,
76
- repoRoot,
77
- error: e instanceof Error ? e.message : String(e),
78
- };
76
+ onboardError = e instanceof Error ? e.message : String(e);
79
77
  }
78
+ // merge driver 失败不阻塞 post-merge hook 安装(两者解决不同问题,
79
+ // 用户至少要享受到 post-merge 索引同步的能力)。但任一失败都记到 error 字段。
80
+ try {
81
+ installPostMergeHook({ repoRoot });
82
+ postMergeHookInstalled = true;
83
+ }
84
+ catch (e) {
85
+ const hookError = e instanceof Error ? e.message : String(e);
86
+ onboardError = onboardError
87
+ ? `${onboardError}; ${hookError}`
88
+ : hookError;
89
+ }
90
+ return {
91
+ attempted: true,
92
+ repoRoot,
93
+ postMergeHookInstalled,
94
+ ...(driverStats !== undefined
95
+ ? {
96
+ bundleUpgraded: driverStats.bundleUpgraded,
97
+ gitattributesUpdated: driverStats.gitattributesUpdated,
98
+ }
99
+ : {}),
100
+ ...(onboardError !== undefined ? { error: onboardError } : {}),
101
+ };
80
102
  }
81
103
  //# sourceMappingURL=auto-onboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto-onboard.js","sourceRoot":"","sources":["../../src/merge/auto-onboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAAmB;IAC1D,MAAM,SAAS,GAAG,GAAG,WAAW,mBAAmB,CAAC;IACpD,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC;YAAE,OAAO,GAAG,CAAC;QAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAChC,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAeD;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAKtC;IACC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;IAEhE,MAAM,QAAQ,GAAG,gBAAgB,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAClE,OAAO;YACL,SAAS,EAAE,IAAI;YACf,QAAQ;YACR,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;SAClD,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,SAAS,EAAE,IAAI;YACf,QAAQ;YACR,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;SAClD,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"auto-onboard.js","sourceRoot":"","sources":["../../src/merge/auto-onboard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"post-merge-hook.d.ts","sourceRoot":"","sources":["../../src/merge/post-merge-hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH,6CAA6C;AAC7C,eAAO,MAAM,WAAW,gCAAgC,CAAC;AAEzD,oCAAoC;AACpC,eAAO,MAAM,kBAAkB,0BAA0B,CAAC;AAmC1D,MAAM,WAAW,0BAA0B;IACzC,oBAAoB;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,0BAA0B,CAoB7B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IACpE,OAAO,EAAE,OAAO,CAAC;CAClB,CAYA;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,gCAAgC;AAChC,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,mBAAmB,CActB;AAMD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,mCAAmC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkE9B"}
1
+ {"version":3,"file":"post-merge-hook.d.ts","sourceRoot":"","sources":["../../src/merge/post-merge-hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH,6CAA6C;AAC7C,eAAO,MAAM,WAAW,gCAAgC,CAAC;AAEzD,oCAAoC;AACpC,eAAO,MAAM,kBAAkB,0BAA0B,CAAC;AAmC1D,MAAM,WAAW,0BAA0B;IACzC,oBAAoB;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,0BAA0B,CAoB7B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IACpE,OAAO,EAAE,OAAO,CAAC;CAClB,CAYA;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,gCAAgC;AAChC,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,mBAAmB,CActB;AAMD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,mCAAmC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgF9B"}