@co-engram/core 0.1.4 → 0.1.6

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 (105) hide show
  1. package/dist/dedup/hash.d.ts +8 -0
  2. package/dist/dedup/hash.d.ts.map +1 -1
  3. package/dist/dedup/hash.js +26 -2
  4. package/dist/dedup/hash.js.map +1 -1
  5. package/dist/dreaming/decay.d.ts.map +1 -1
  6. package/dist/dreaming/decay.js +1 -1
  7. package/dist/dreaming/decay.js.map +1 -1
  8. package/dist/i18n/en.d.ts.map +1 -1
  9. package/dist/i18n/en.js +43 -16
  10. package/dist/i18n/en.js.map +1 -1
  11. package/dist/i18n/zh.d.ts +29 -9
  12. package/dist/i18n/zh.d.ts.map +1 -1
  13. package/dist/i18n/zh.js +43 -16
  14. package/dist/i18n/zh.js.map +1 -1
  15. package/dist/importance/vector.d.ts +4 -4
  16. package/dist/importance/vector.d.ts.map +1 -1
  17. package/dist/importance/vector.js +7 -12
  18. package/dist/importance/vector.js.map +1 -1
  19. package/dist/lifecycle/freshness.d.ts +25 -6
  20. package/dist/lifecycle/freshness.d.ts.map +1 -1
  21. package/dist/lifecycle/freshness.js +37 -21
  22. package/dist/lifecycle/freshness.js.map +1 -1
  23. package/dist/merge-driver.cjs +1 -1
  24. package/dist/observability/proposal-engine.d.ts +94 -10
  25. package/dist/observability/proposal-engine.d.ts.map +1 -1
  26. package/dist/observability/proposal-engine.js +169 -4
  27. package/dist/observability/proposal-engine.js.map +1 -1
  28. package/dist/prompt-builder/builder.d.ts +3 -0
  29. package/dist/prompt-builder/builder.d.ts.map +1 -1
  30. package/dist/prompt-builder/builder.js +45 -3
  31. package/dist/prompt-builder/builder.js.map +1 -1
  32. package/dist/prompt-builder/index.d.ts +1 -0
  33. package/dist/prompt-builder/index.d.ts.map +1 -1
  34. package/dist/prompt-builder/index.js +1 -0
  35. package/dist/prompt-builder/index.js.map +1 -1
  36. package/dist/prompt-builder/path-overview.d.ts +35 -0
  37. package/dist/prompt-builder/path-overview.d.ts.map +1 -0
  38. package/dist/prompt-builder/path-overview.js +44 -0
  39. package/dist/prompt-builder/path-overview.js.map +1 -0
  40. package/dist/prompt-builder/types.d.ts +11 -0
  41. package/dist/prompt-builder/types.d.ts.map +1 -1
  42. package/dist/retrieval/index.d.ts +2 -0
  43. package/dist/retrieval/index.d.ts.map +1 -1
  44. package/dist/retrieval/index.js +2 -0
  45. package/dist/retrieval/index.js.map +1 -1
  46. package/dist/retrieval/scoring.d.ts +7 -4
  47. package/dist/retrieval/scoring.d.ts.map +1 -1
  48. package/dist/retrieval/scoring.js +9 -16
  49. package/dist/retrieval/scoring.js.map +1 -1
  50. package/dist/retrieval/search-engine.d.ts +58 -0
  51. package/dist/retrieval/search-engine.d.ts.map +1 -0
  52. package/dist/retrieval/search-engine.js +53 -0
  53. package/dist/retrieval/search-engine.js.map +1 -0
  54. package/dist/retrieval/sqlite-orchestrator.d.ts +68 -0
  55. package/dist/retrieval/sqlite-orchestrator.d.ts.map +1 -0
  56. package/dist/retrieval/sqlite-orchestrator.js +148 -0
  57. package/dist/retrieval/sqlite-orchestrator.js.map +1 -0
  58. package/dist/storage/bootstrap.d.ts +31 -0
  59. package/dist/storage/bootstrap.d.ts.map +1 -0
  60. package/dist/storage/bootstrap.js +89 -0
  61. package/dist/storage/bootstrap.js.map +1 -0
  62. package/dist/storage/engram-index.d.ts +9 -0
  63. package/dist/storage/engram-index.d.ts.map +1 -1
  64. package/dist/storage/engram-index.js +38 -0
  65. package/dist/storage/engram-index.js.map +1 -1
  66. package/dist/storage/index-cleanup.d.ts +45 -0
  67. package/dist/storage/index-cleanup.d.ts.map +1 -0
  68. package/dist/storage/index-cleanup.js +186 -0
  69. package/dist/storage/index-cleanup.js.map +1 -0
  70. package/dist/storage/index-db-cursor.d.ts +27 -0
  71. package/dist/storage/index-db-cursor.d.ts.map +1 -0
  72. package/dist/storage/index-db-cursor.js +59 -0
  73. package/dist/storage/index-db-cursor.js.map +1 -0
  74. package/dist/storage/index-db.d.ts +112 -0
  75. package/dist/storage/index-db.d.ts.map +1 -0
  76. package/dist/storage/index-db.js +183 -0
  77. package/dist/storage/index-db.js.map +1 -0
  78. package/dist/storage/index.d.ts +4 -0
  79. package/dist/storage/index.d.ts.map +1 -1
  80. package/dist/storage/index.js +6 -0
  81. package/dist/storage/index.js.map +1 -1
  82. package/dist/storage/repository.d.ts +117 -21
  83. package/dist/storage/repository.d.ts.map +1 -1
  84. package/dist/storage/repository.js +222 -51
  85. package/dist/storage/repository.js.map +1 -1
  86. package/dist/tools/audit-query-tool.d.ts +2 -2
  87. package/dist/tools/doctor-tools.d.ts.map +1 -1
  88. package/dist/tools/doctor-tools.js +18 -3
  89. package/dist/tools/doctor-tools.js.map +1 -1
  90. package/dist/tools/engram-tools.d.ts.map +1 -1
  91. package/dist/tools/engram-tools.js +12 -2
  92. package/dist/tools/engram-tools.js.map +1 -1
  93. package/dist/tools/proposal-tools.d.ts +2 -0
  94. package/dist/tools/proposal-tools.d.ts.map +1 -1
  95. package/dist/tools/proposal-tools.js +19 -4
  96. package/dist/tools/proposal-tools.js.map +1 -1
  97. package/dist/tools/schemas.d.ts +78 -70
  98. package/dist/tools/schemas.d.ts.map +1 -1
  99. package/dist/tools/schemas.js +6 -0
  100. package/dist/tools/schemas.js.map +1 -1
  101. package/dist/tools/tool.d.ts +1 -1
  102. package/dist/tools/tool.d.ts.map +1 -1
  103. package/dist/types/repository-types.d.ts +1 -1
  104. package/dist/types/repository-types.d.ts.map +1 -1
  105. package/package.json +9 -9
@@ -22,7 +22,7 @@
22
22
  */
23
23
  import type { EngramRepository } from "../storage/repository.js";
24
24
  import type { AuditLog } from "./audit-log.js";
25
- import type { EngramCreateInput } from "../types/engram.js";
25
+ import type { EngramCreateInput, EngramVisibility } from "../types/engram.js";
26
26
  import { type NecessityEvaluator } from "./necessity-evaluator.js";
27
27
  /** Embedder 接口:文本 → 向量 */
28
28
  export type Embedder = (text: string) => Promise<readonly number[]>;
@@ -41,16 +41,19 @@ export interface TopicCluster {
41
41
  /** 最后见到时间 */
42
42
  readonly lastSeenAt: string;
43
43
  }
44
- /** Proposal 来源:对话流聚类(auto)还是 Claude Code auto-memory 文件 */
45
- export type ProposalSource = "conversation" | "auto-memory";
44
+ /** Proposal 来源:对话流聚类 / Claude Code auto-memory 文件 / 外部 .md 检测 */
45
+ export type ProposalSource = "conversation" | "auto-memory" | "external-markdown";
46
46
  /**
47
- * 预填的 engram 字段(auto-memory 来源专用)
47
+ * 预填的 engram 字段(auto-memory 与 external-markdown 来源共用)
48
48
  *
49
49
  * 对话流聚类的 proposal 不携带 payload —— 仅有 sampleQuotes/centroidExcerpt
50
50
  * 片段,LLM 在 accept 时需自行具象化 title/content。
51
51
  *
52
- * auto-memory 来源的 proposal 携带完整 payload —— 文件本身已是完整内容,
53
- * accept 时可直接用 payload 创建 engram,LLM 无需重复填表。
52
+ * auto-memory / external-markdown 来源的 proposal 携带完整 payload —— 文件
53
+ * 本身已是完整内容,accept 时可直接用 payload 创建 engram,LLM 无需重复填表。
54
+ *
55
+ * external-markdown 来源额外携带 `sourcePath`(原始 .md 在 dataRoot 中的相对
56
+ * 路径,用于 accept 时移动/重写文件)。
54
57
  */
55
58
  export interface ProposalPayload {
56
59
  readonly title: string;
@@ -65,10 +68,12 @@ export interface ProposalPayload {
65
68
  readonly visibility?: EngramCreateInput["visibility"];
66
69
  readonly decayHalfLifeDays?: number | null;
67
70
  readonly encodingContext?: string;
71
+ /** external-markdown 专用:文件在 dataRoot 内的相对路径 */
72
+ readonly sourcePath?: string;
68
73
  }
69
74
  /** 候选提案 */
70
75
  export interface Proposal {
71
- /** 关联的 cluster id `am:<slug>`(auto-memory) */
76
+ /** 关联的 cluster id / `am:<slug>`(auto-memory) / `ext:<relpath-hash>`(external-markdown) */
72
77
  readonly entityId: string;
73
78
  /** 出现次数(snapshot) */
74
79
  readonly occurrences: number;
@@ -96,19 +101,33 @@ export interface Proposal {
96
101
  readonly necessityRule?: string;
97
102
  /** LLM 建议的标题(可作审批草稿) */
98
103
  readonly suggestedTitle?: string;
99
- /** 来源标识:对话流聚类(默认,向前兼容)还是 auto-memory 文件 */
104
+ /** 来源标识:对话流聚类(默认,向前兼容)/ auto-memory 文件 / 外部 .md 检测 */
100
105
  readonly source?: ProposalSource;
101
106
  /** auto-memory 来源时的可读 slug(用于 list/audit 展示) */
102
107
  readonly slug?: string;
103
- /** 预填的 engram 字段(auto-memory 来源专用;conversation 来源恒为 undefined) */
108
+ /** external-markdown 来源时的相对路径(用于 list/audit 展示) */
109
+ readonly sourcePath?: string;
110
+ /** 预填的 engram 字段(auto-memory / external-markdown 来源专用;conversation 来源恒为 undefined) */
104
111
  readonly payload?: ProposalPayload;
105
112
  }
106
113
  /** auto-memory proposal 的 entityId 前缀(命名空间隔离,永不与对话聚类 `c<dim>-<hash>` 冲突) */
107
114
  export declare const AUTO_MEMORY_PROPOSAL_PREFIX = "am:";
115
+ /** external-markdown proposal 的 entityId 前缀(命名空间隔离,永不与其他来源冲突) */
116
+ export declare const EXTERNAL_MARKDOWN_PROPOSAL_PREFIX = "ext:";
108
117
  /** 由 slug 构造 auto-memory proposal 的 entityId */
109
118
  export declare function autoMemoryEntityId(slug: string): string;
110
119
  /** 判断 entityId 是否来自 auto-memory */
111
120
  export declare function isAutoMemoryProposal(entityId: string): boolean;
121
+ /**
122
+ * 由 dataRoot 内相对路径构造 external-markdown proposal 的 entityId。
123
+ *
124
+ * 使用短 hash(SHA-256 前 16 字符)而非原路径,因为路径可能含 `/` 等不友好字符,
125
+ * 且 entityId 在 audit log / proposals.json 中作为 key 频繁出现,短 hash 更紧凑。
126
+ * 同一文件反复触发 watcher → 同一 entityId → proposeExternalMarkdown 幂等去重。
127
+ */
128
+ export declare function externalMarkdownEntityId(relativePath: string): string;
129
+ /** 判断 entityId 是否来自 external-markdown */
130
+ export declare function isExternalMarkdownProposal(entityId: string): boolean;
112
131
  /** Proposal Engine 配置 */
113
132
  export interface ProposalEngineConfig {
114
133
  /** 触发阈值(默认 3) */
@@ -189,6 +208,7 @@ export declare class ProposalEngine {
189
208
  readonly domainTags?: readonly string[];
190
209
  readonly createdBy?: string;
191
210
  readonly kind?: EngramCreateInput["kind"];
211
+ readonly visibility?: EngramVisibility;
192
212
  }): string;
193
213
  /**
194
214
  * 把 Claude Code auto-memory 文件作为 pending proposal 写入仓库
@@ -222,12 +242,76 @@ export declare class ProposalEngine {
222
242
  readonly encodingContext?: string;
223
243
  readonly at?: string;
224
244
  }): "proposed" | "updated" | "no-change";
245
+ /**
246
+ * 外部 .md 检测入口:由 EngramRepository.scanForExternalMarkdown 通过
247
+ * host 适配层的钩子调用,把 dataRoot 下未追踪的 .md 转成待审批 proposal。
248
+ *
249
+ * 与 `proposeAutoMemory` 的差异:
250
+ * - entityId 用 `ext:<relpath-hash>` 命名空间,与 am: / 对话聚类永不冲突
251
+ * - 必须携带 sourcePath(accept 时用它定位原始 .md 做移动/重命名)
252
+ * - 来源标识为 `external-markdown`(用于 viewer / audit 区分)
253
+ *
254
+ * 信任语义(关键):
255
+ * - auto-memory:Claude Code 写的 .claude/projects/.../memory/ 文件,
256
+ * 半信任(已是 Claude 的输出),accept 时复制内容到 dataRoot
257
+ * - external-markdown:用户拷贝/IDE 写入/rsync 等无明确来源的 .md,
258
+ * **不信任**,accept 时由 host 决定如何处理(典型:移动到 canonical 路径)
259
+ *
260
+ * 幂等行为(与 proposeAutoMemory 一致):
261
+ * - 已 accepted → 跳过(避免重开已审批项)
262
+ * - 已 pending 且 payload fingerprint 相同 → 跳过(no-change)
263
+ * - 已 pending 且 payload 变化 → upsert
264
+ * - 已 dismissed → 跳过(永久驳回)
265
+ * - 不存在 → 创建 pending proposal
266
+ *
267
+ * @returns 写入动作(用于上层日志统计)
268
+ */
269
+ proposeExternalMarkdown(input: {
270
+ readonly sourcePath: string;
271
+ readonly title: string;
272
+ readonly content: string;
273
+ readonly summary?: string;
274
+ readonly domainTags: readonly string[];
275
+ readonly contextTags?: readonly string[];
276
+ readonly kind: EngramCreateInput["kind"];
277
+ readonly createdBy?: string;
278
+ readonly sourceType?: EngramCreateInput["sourceType"];
279
+ readonly importance?: number;
280
+ readonly visibility?: EngramCreateInput["visibility"];
281
+ readonly decayHalfLifeDays?: number | null;
282
+ readonly encodingContext?: string;
283
+ readonly at?: string;
284
+ }): "proposed" | "updated" | "no-change";
285
+ /**
286
+ * 把"watcher 发现的外部 .md"转成 proposeExternalMarkdown 调用的工厂。
287
+ *
288
+ * 供 host 适配层(claude-code-mcp / openclaw-plugin)使用,确保两宿主用
289
+ * 同一份字段映射逻辑(避免漂移)。
290
+ *
291
+ * 行为:
292
+ * - parsed 为 null → noop(裸 .md,不进入提案流程)
293
+ * - frontmatter 缺 title 或 kind → noop(无法构成最小 engram)
294
+ * - domainTags 缺失 → 默认 `["imported"]`,accept 时用户可调整
295
+ * - createdBy 缺失 → 不传(由 engram_create 走 defaultCreatedBy 兜底)
296
+ *
297
+ * @returns 符合 EngramRepository.setExternalMarkdownHook 签名的回调
298
+ */
299
+ createExternalMarkdownHook(): (params: {
300
+ readonly absPath: string;
301
+ readonly relPath: string;
302
+ readonly raw: string;
303
+ readonly parsed: {
304
+ readonly frontmatter: {
305
+ readonly [key: string]: unknown;
306
+ };
307
+ } | null;
308
+ }) => void;
225
309
  /**
226
310
  * 拒绝提案
227
311
  *
228
312
  * 默认**永久驳回**(dismissedUntil = undefined),不再自动重新浮出。
229
313
  * 若调用方显式传 dismissDays > 0,则 N 天后该 proposal 可被 proposeAutoMemory/
230
- * observe 流程重新激活(向后兼容旧行为)。
314
+ * proposeExternalMarkdown/observe 流程重新激活(向后兼容旧行为)。
231
315
  *
232
316
  * @param entityId 簇 id
233
317
  * @param reason 拒绝原因(可选,便于元学习)
@@ -1 +1 @@
1
- {"version":3,"file":"proposal-engine.d.ts","sourceRoot":"","sources":["../../src/observability/proposal-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proposal-engine.d.ts","sourceRoot":"","sources":["../../src/observability/proposal-engine.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,8 @@ import { safeEmit } from "../prompt-signals/event-bus.js";
27
27
  import { RuleBasedNecessityEvaluator, prefilterMessage, } from "./necessity-evaluator.js";
28
28
  /** auto-memory proposal 的 entityId 前缀(命名空间隔离,永不与对话聚类 `c<dim>-<hash>` 冲突) */
29
29
  export const AUTO_MEMORY_PROPOSAL_PREFIX = "am:";
30
+ /** external-markdown proposal 的 entityId 前缀(命名空间隔离,永不与其他来源冲突) */
31
+ export const EXTERNAL_MARKDOWN_PROPOSAL_PREFIX = "ext:";
30
32
  /** 由 slug 构造 auto-memory proposal 的 entityId */
31
33
  export function autoMemoryEntityId(slug) {
32
34
  return `${AUTO_MEMORY_PROPOSAL_PREFIX}${slug}`;
@@ -35,6 +37,24 @@ export function autoMemoryEntityId(slug) {
35
37
  export function isAutoMemoryProposal(entityId) {
36
38
  return entityId.startsWith(AUTO_MEMORY_PROPOSAL_PREFIX);
37
39
  }
40
+ /**
41
+ * 由 dataRoot 内相对路径构造 external-markdown proposal 的 entityId。
42
+ *
43
+ * 使用短 hash(SHA-256 前 16 字符)而非原路径,因为路径可能含 `/` 等不友好字符,
44
+ * 且 entityId 在 audit log / proposals.json 中作为 key 频繁出现,短 hash 更紧凑。
45
+ * 同一文件反复触发 watcher → 同一 entityId → proposeExternalMarkdown 幂等去重。
46
+ */
47
+ export function externalMarkdownEntityId(relativePath) {
48
+ const hash = createHash("sha256")
49
+ .update(relativePath)
50
+ .digest("hex")
51
+ .slice(0, 16);
52
+ return `${EXTERNAL_MARKDOWN_PROPOSAL_PREFIX}${hash}`;
53
+ }
54
+ /** 判断 entityId 是否来自 external-markdown */
55
+ export function isExternalMarkdownProposal(entityId) {
56
+ return entityId.startsWith(EXTERNAL_MARKDOWN_PROPOSAL_PREFIX);
57
+ }
38
58
  /** 默认配置 */
39
59
  export const DEFAULT_PROPOSAL_CONFIG = {
40
60
  threshold: 3,
@@ -187,9 +207,12 @@ export class ProposalEngine {
187
207
  ...(payload?.importance !== undefined
188
208
  ? { importance: payload.importance }
189
209
  : {}),
190
- ...(payload?.visibility !== undefined
191
- ? { visibility: payload.visibility }
192
- : {}),
210
+ // visibility 优先级:caller input > proposal.payload > undefined(走 createEngram 默认 public)
211
+ ...(input.visibility !== undefined
212
+ ? { visibility: input.visibility }
213
+ : payload?.visibility !== undefined
214
+ ? { visibility: payload.visibility }
215
+ : {}),
193
216
  ...(payload?.decayHalfLifeDays !== undefined
194
217
  ? { decayHalfLifeDays: payload.decayHalfLifeDays }
195
218
  : {}),
@@ -312,12 +335,154 @@ export class ProposalEngine {
312
335
  });
313
336
  return "proposed";
314
337
  }
338
+ /**
339
+ * 外部 .md 检测入口:由 EngramRepository.scanForExternalMarkdown 通过
340
+ * host 适配层的钩子调用,把 dataRoot 下未追踪的 .md 转成待审批 proposal。
341
+ *
342
+ * 与 `proposeAutoMemory` 的差异:
343
+ * - entityId 用 `ext:<relpath-hash>` 命名空间,与 am: / 对话聚类永不冲突
344
+ * - 必须携带 sourcePath(accept 时用它定位原始 .md 做移动/重命名)
345
+ * - 来源标识为 `external-markdown`(用于 viewer / audit 区分)
346
+ *
347
+ * 信任语义(关键):
348
+ * - auto-memory:Claude Code 写的 .claude/projects/.../memory/ 文件,
349
+ * 半信任(已是 Claude 的输出),accept 时复制内容到 dataRoot
350
+ * - external-markdown:用户拷贝/IDE 写入/rsync 等无明确来源的 .md,
351
+ * **不信任**,accept 时由 host 决定如何处理(典型:移动到 canonical 路径)
352
+ *
353
+ * 幂等行为(与 proposeAutoMemory 一致):
354
+ * - 已 accepted → 跳过(避免重开已审批项)
355
+ * - 已 pending 且 payload fingerprint 相同 → 跳过(no-change)
356
+ * - 已 pending 且 payload 变化 → upsert
357
+ * - 已 dismissed → 跳过(永久驳回)
358
+ * - 不存在 → 创建 pending proposal
359
+ *
360
+ * @returns 写入动作(用于上层日志统计)
361
+ */
362
+ proposeExternalMarkdown(input) {
363
+ const entityId = externalMarkdownEntityId(input.sourcePath);
364
+ const now = input.at ?? new Date().toISOString();
365
+ const payload = {
366
+ title: input.title,
367
+ content: input.content,
368
+ ...(input.summary !== undefined ? { summary: input.summary } : {}),
369
+ domainTags: input.domainTags,
370
+ ...(input.contextTags !== undefined ? { contextTags: input.contextTags } : {}),
371
+ kind: input.kind,
372
+ ...(input.createdBy !== undefined ? { createdBy: input.createdBy } : {}),
373
+ ...(input.sourceType !== undefined ? { sourceType: input.sourceType } : {}),
374
+ ...(input.importance !== undefined ? { importance: input.importance } : {}),
375
+ ...(input.visibility !== undefined ? { visibility: input.visibility } : {}),
376
+ ...(input.decayHalfLifeDays !== undefined
377
+ ? { decayHalfLifeDays: input.decayHalfLifeDays }
378
+ : {}),
379
+ ...(input.encodingContext !== undefined
380
+ ? { encodingContext: input.encodingContext }
381
+ : {}),
382
+ sourcePath: input.sourcePath,
383
+ };
384
+ const proposals = this.readProposals();
385
+ const existing = proposals.find((p) => p.entityId === entityId);
386
+ if (existing?.status === "accepted") {
387
+ return "no-change";
388
+ }
389
+ if (existing?.status === "dismissed") {
390
+ // 永久驳回(或仍在 dismissDays 冷却期):源文件即使变化也不再重开
391
+ return "no-change";
392
+ }
393
+ if (existing && existing.payload && payloadEqual(existing.payload, payload)) {
394
+ return "no-change";
395
+ }
396
+ if (existing) {
397
+ const next = {
398
+ ...existing,
399
+ sampleQuotes: [input.sourcePath],
400
+ centroidExcerpt: input.sourcePath,
401
+ lastSeenAt: now,
402
+ status: "pending",
403
+ dismissedUntil: undefined,
404
+ dismissReason: undefined,
405
+ payload,
406
+ };
407
+ this.writeProposals(proposals.map((p) => (p.entityId === entityId ? next : p)));
408
+ return "updated";
409
+ }
410
+ const proposal = {
411
+ entityId,
412
+ occurrences: 1,
413
+ sampleQuotes: [input.sourcePath],
414
+ centroidExcerpt: input.sourcePath,
415
+ firstSeenAt: now,
416
+ lastSeenAt: now,
417
+ createdAt: now,
418
+ status: "pending",
419
+ source: "external-markdown",
420
+ sourcePath: input.sourcePath,
421
+ payload,
422
+ };
423
+ this.writeProposals([...proposals, proposal]);
424
+ this.auditLog.append({
425
+ actor: "system",
426
+ action: "propose",
427
+ metadata: { entityId, source: "external-markdown", sourcePath: input.sourcePath },
428
+ });
429
+ return "proposed";
430
+ }
431
+ /**
432
+ * 把"watcher 发现的外部 .md"转成 proposeExternalMarkdown 调用的工厂。
433
+ *
434
+ * 供 host 适配层(claude-code-mcp / openclaw-plugin)使用,确保两宿主用
435
+ * 同一份字段映射逻辑(避免漂移)。
436
+ *
437
+ * 行为:
438
+ * - parsed 为 null → noop(裸 .md,不进入提案流程)
439
+ * - frontmatter 缺 title 或 kind → noop(无法构成最小 engram)
440
+ * - domainTags 缺失 → 默认 `["imported"]`,accept 时用户可调整
441
+ * - createdBy 缺失 → 不传(由 engram_create 走 defaultCreatedBy 兜底)
442
+ *
443
+ * @returns 符合 EngramRepository.setExternalMarkdownHook 签名的回调
444
+ */
445
+ createExternalMarkdownHook() {
446
+ return (params) => {
447
+ const { parsed, relPath } = params;
448
+ if (!parsed)
449
+ return;
450
+ const fm = parsed.frontmatter;
451
+ if (typeof fm.title !== "string" || typeof fm.kind !== "string")
452
+ return;
453
+ const content = typeof fm.content === "string" ? fm.content : params.raw;
454
+ this.proposeExternalMarkdown({
455
+ sourcePath: relPath,
456
+ title: fm.title,
457
+ content,
458
+ ...(typeof fm.summary === "string" ? { summary: fm.summary } : {}),
459
+ domainTags: Array.isArray(fm.domainTags) && fm.domainTags.every((t) => typeof t === "string")
460
+ ? fm.domainTags
461
+ : ["imported"],
462
+ ...(typeof fm.createdBy === "string" ? { createdBy: fm.createdBy } : {}),
463
+ ...(typeof fm.sourceType === "string" ? { sourceType: fm.sourceType } : {}),
464
+ ...(typeof fm.importance === "number" ? { importance: fm.importance } : {}),
465
+ ...(typeof fm.visibility === "string" ? { visibility: fm.visibility } : {}),
466
+ ...(typeof fm.decayHalfLifeDays === "number"
467
+ ? { decayHalfLifeDays: fm.decayHalfLifeDays }
468
+ : {}),
469
+ ...(typeof fm.encodingContext === "string"
470
+ ? { encodingContext: fm.encodingContext }
471
+ : {}),
472
+ ...(Array.isArray(fm.contextTags) &&
473
+ fm.contextTags.every((t) => typeof t === "string")
474
+ ? { contextTags: fm.contextTags }
475
+ : {}),
476
+ kind: fm.kind,
477
+ });
478
+ };
479
+ }
315
480
  /**
316
481
  * 拒绝提案
317
482
  *
318
483
  * 默认**永久驳回**(dismissedUntil = undefined),不再自动重新浮出。
319
484
  * 若调用方显式传 dismissDays > 0,则 N 天后该 proposal 可被 proposeAutoMemory/
320
- * observe 流程重新激活(向后兼容旧行为)。
485
+ * proposeExternalMarkdown/observe 流程重新激活(向后兼容旧行为)。
321
486
  *
322
487
  * @param entityId 簇 id
323
488
  * @param reason 拒绝原因(可选,便于元学习)
@@ -1 +1 @@
1
- {"version":3,"file":"proposal-engine.js","sourceRoot":"","sources":["../../src/observability/proposal-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proposal-engine.js","sourceRoot":"","sources":["../../src/observability/proposal-engine.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@
21
21
  */
22
22
  import type { Language } from "../i18n/index.js";
23
23
  import type { BuildPromptInput, PromptBuilder, PromptSignals } from "./types.js";
24
+ import { type PathOverviewItem } from "./path-overview.js";
24
25
  export type { BuildPromptInput, PromptBuilder, PromptSignals };
25
26
  /**
26
27
  * 主构建函数:组装所有部分
@@ -38,10 +39,12 @@ export declare function buildCoEngramMemoryPrompt(input: BuildPromptInput): read
38
39
  * - language:固定(adapter 注册时确定)
39
40
  * - signals:固定 snapshot(adapter 注册时读取,下次重启刷新)
40
41
  * - proposalCount:动态(每次调用时通过 provider 获取)
42
+ * - pathOverview:动态(每次调用时通过 provider 获取 depth=1 目录概览)
41
43
  */
42
44
  export declare function createPromptBuilder(options: {
43
45
  readonly language?: Language;
44
46
  readonly signals?: PromptSignals;
45
47
  readonly proposalCountProvider?: () => number;
48
+ readonly pathOverviewProvider?: () => readonly PathOverviewItem[];
46
49
  }): PromptBuilder;
47
50
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/prompt-builder/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AAqG/D;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,gBAAgB,GACtB,SAAS,MAAM,EAAE,CAgBnB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/C,GAAG,aAAa,CAQhB"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/prompt-builder/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,aAAa,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE/E,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AA4I/D;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,gBAAgB,GACtB,SAAS,MAAM,EAAE,CAiBnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,SAAS,gBAAgB,EAAE,CAAC;CACnE,GAAG,aAAa,CAShB"}
@@ -20,11 +20,43 @@
20
20
  * @module @co-engram/core/prompt-builder
21
21
  */
22
22
  import { DEFAULT_LANGUAGE, translatePrompt } from "../i18n/index.js";
23
+ import { formatPathOverview } from "./path-overview.js";
24
+ /**
25
+ * 构建可见性风险识别 section(常驻,Task 5)
26
+ *
27
+ * 在 LLM 调用 engram_create / engram_accept_proposal / engram_update 前,
28
+ * 若 content 含凭据 / 个人身份 / 内部信息 / 敏感信息 / 路径中的用户名等
29
+ * 风险信号,必须先询问用户是否设为 visibility: "private"。
30
+ *
31
+ * 该 section 不依赖任何工具可用性 —— 只要 base section 注入了(即任意
32
+ * memory 工具已注册),就跟着注入。这样保证两种 host adapter(claude-code-mcp
33
+ * 与 openclaw-plugin)在 LLM 看到记忆创建引导时,同步看到风险识别引导。
34
+ *
35
+ * 文案全部走 i18n(zh / en),见 `prompt.visibilityRisk.*`。
36
+ */
37
+ function buildVisibilityRiskSection(language) {
38
+ // 11 行:标题空行 + 标题 + guidance + 空行 + 5 个列表项 + 询问模板 + 原则。
39
+ // 行数契约由 prompt-builder.test.ts 固化(base N + 11)。
40
+ return [
41
+ "",
42
+ translatePrompt(language, "prompt.visibilityRisk.title"),
43
+ translatePrompt(language, "prompt.visibilityRisk.guidance"),
44
+ "",
45
+ `- ${translatePrompt(language, "prompt.visibilityRisk.credentials")}`,
46
+ `- ${translatePrompt(language, "prompt.visibilityRisk.personal")}`,
47
+ `- ${translatePrompt(language, "prompt.visibilityRisk.internal")}`,
48
+ `- ${translatePrompt(language, "prompt.visibilityRisk.sensitive")}`,
49
+ `- ${translatePrompt(language, "prompt.visibilityRisk.paths")}`,
50
+ translatePrompt(language, "prompt.visibilityRisk.template"),
51
+ translatePrompt(language, "prompt.visibilityRisk.principle"),
52
+ ];
53
+ }
23
54
  /**
24
55
  * 构建基础 memory section(常驻部分)
25
56
  *
26
57
  * 包含:
27
58
  * - section header
59
+ * - 仓库目录概览(条件性,depth=1 常驻注入)
28
60
  * - 何时调用 memory_search(语义检索场景)
29
61
  * - 何时调用 engram_list(列举场景,仅当 engram_list 可用时注入)
30
62
  * - 何时跳过(负向引导)
@@ -32,11 +64,18 @@ import { DEFAULT_LANGUAGE, translatePrompt } from "../i18n/index.js";
32
64
  * - 创建/更新引导(条件性)
33
65
  * - 强化闭环引导(条件性,仅当 engram_reinforce 可用时注入)
34
66
  */
35
- function buildBaseSection(language, availableTools) {
67
+ function buildBaseSection(language, availableTools, pathOverview) {
36
68
  const lines = [
37
69
  translatePrompt(language, "prompt.memory.section_header"),
38
- translatePrompt(language, "prompt.memory.when_to_search"),
39
70
  ];
71
+ // 仓库结构概览:depth=1 顶级目录,常驻注入(结构信息不走自进化)
72
+ // 让 LLM 在 search 之前先看到仓库布局;空列表跳过。
73
+ if (pathOverview && pathOverview.length > 0) {
74
+ const overview = formatPathOverview(pathOverview, language);
75
+ if (overview)
76
+ lines.push(overview);
77
+ }
78
+ lines.push(translatePrompt(language, "prompt.memory.when_to_search"));
40
79
  // 仅当 engram_list 在可用工具集时才注入列举场景引导
41
80
  // (避免对未注册 engram_list 的 host adapter 误导 agent)
42
81
  if (availableTools.has("engram_list")) {
@@ -111,7 +150,8 @@ export function buildCoEngramMemoryPrompt(input) {
111
150
  if (!hasSearch && !hasGet && !hasEngramSearch && !hasEngramGet)
112
151
  return [];
113
152
  const sections = [
114
- buildBaseSection(language, input.availableTools),
153
+ buildBaseSection(language, input.availableTools, input.pathOverview),
154
+ buildVisibilityRiskSection(language),
115
155
  buildSignalsSection(input.signals, language),
116
156
  buildProposalSection(input.proposalCount ?? 0, language),
117
157
  ];
@@ -124,6 +164,7 @@ export function buildCoEngramMemoryPrompt(input) {
124
164
  * - language:固定(adapter 注册时确定)
125
165
  * - signals:固定 snapshot(adapter 注册时读取,下次重启刷新)
126
166
  * - proposalCount:动态(每次调用时通过 provider 获取)
167
+ * - pathOverview:动态(每次调用时通过 provider 获取 depth=1 目录概览)
127
168
  */
128
169
  export function createPromptBuilder(options) {
129
170
  return (input) => buildCoEngramMemoryPrompt({
@@ -131,6 +172,7 @@ export function createPromptBuilder(options) {
131
172
  language: options.language,
132
173
  signals: options.signals,
133
174
  proposalCount: options.proposalCountProvider?.() ?? 0,
175
+ pathOverview: options.pathOverviewProvider?.(),
134
176
  });
135
177
  }
136
178
  //# sourceMappingURL=builder.js.map