memkin 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/README.en.md +108 -836
  2. package/README.md +108 -836
  3. package/README.zh-CN.md +80 -44
  4. package/dist/cli-stores.d.ts +12 -0
  5. package/dist/cli-stores.d.ts.map +1 -1
  6. package/dist/cli-stores.js +15 -1
  7. package/dist/cli-stores.js.map +1 -1
  8. package/dist/cli.js +94 -6
  9. package/dist/cli.js.map +1 -1
  10. package/dist/collectors/agent/claude-code.d.ts.map +1 -1
  11. package/dist/collectors/agent/claude-code.js +10 -29
  12. package/dist/collectors/agent/claude-code.js.map +1 -1
  13. package/dist/collectors/agent/codex.d.ts.map +1 -1
  14. package/dist/collectors/agent/codex.js +24 -10
  15. package/dist/collectors/agent/codex.js.map +1 -1
  16. package/dist/collectors/agent/collector.d.ts +38 -0
  17. package/dist/collectors/agent/collector.d.ts.map +1 -1
  18. package/dist/collectors/agent/collector.js +91 -20
  19. package/dist/collectors/agent/collector.js.map +1 -1
  20. package/dist/collectors/agent/hermes.d.ts.map +1 -1
  21. package/dist/collectors/agent/hermes.js +5 -1
  22. package/dist/collectors/agent/hermes.js.map +1 -1
  23. package/dist/collectors/feishu/sources/calendar.d.ts.map +1 -1
  24. package/dist/collectors/feishu/sources/calendar.js +18 -7
  25. package/dist/collectors/feishu/sources/calendar.js.map +1 -1
  26. package/dist/consolidator/consolidator.d.ts +9 -1
  27. package/dist/consolidator/consolidator.d.ts.map +1 -1
  28. package/dist/consolidator/consolidator.js +7 -0
  29. package/dist/consolidator/consolidator.js.map +1 -1
  30. package/dist/consolidator/entity-merge.d.ts +33 -0
  31. package/dist/consolidator/entity-merge.d.ts.map +1 -0
  32. package/dist/consolidator/entity-merge.js +148 -0
  33. package/dist/consolidator/entity-merge.js.map +1 -0
  34. package/dist/core/agent-session-scanner.d.ts +23 -0
  35. package/dist/core/agent-session-scanner.d.ts.map +1 -0
  36. package/dist/core/agent-session-scanner.js +69 -0
  37. package/dist/core/agent-session-scanner.js.map +1 -0
  38. package/dist/core/canonicalize.d.ts +8 -0
  39. package/dist/core/canonicalize.d.ts.map +1 -1
  40. package/dist/core/canonicalize.js +12 -2
  41. package/dist/core/canonicalize.js.map +1 -1
  42. package/dist/core/config.d.ts +6 -0
  43. package/dist/core/config.d.ts.map +1 -1
  44. package/dist/core/config.js.map +1 -1
  45. package/dist/core/identity-resolver.d.ts +53 -3
  46. package/dist/core/identity-resolver.d.ts.map +1 -1
  47. package/dist/core/identity-resolver.js +112 -17
  48. package/dist/core/identity-resolver.js.map +1 -1
  49. package/dist/core/person-identity.d.ts +38 -3
  50. package/dist/core/person-identity.d.ts.map +1 -1
  51. package/dist/core/person-identity.js +58 -29
  52. package/dist/core/person-identity.js.map +1 -1
  53. package/dist/core/pipeline-factory.d.ts.map +1 -1
  54. package/dist/core/pipeline-factory.js +2 -1
  55. package/dist/core/pipeline-factory.js.map +1 -1
  56. package/dist/core/pipeline.js +3 -3
  57. package/dist/core/pipeline.js.map +1 -1
  58. package/dist/daemon/autostart/daemon-state.d.ts +32 -0
  59. package/dist/daemon/autostart/daemon-state.d.ts.map +1 -1
  60. package/dist/daemon/autostart/daemon-state.js +27 -1
  61. package/dist/daemon/autostart/daemon-state.js.map +1 -1
  62. package/dist/daemon/scheduler.d.ts +10 -0
  63. package/dist/daemon/scheduler.d.ts.map +1 -1
  64. package/dist/daemon/scheduler.js +20 -1
  65. package/dist/daemon/scheduler.js.map +1 -1
  66. package/dist/demo/seed.d.ts +32 -0
  67. package/dist/demo/seed.d.ts.map +1 -0
  68. package/dist/demo/seed.js +185 -0
  69. package/dist/demo/seed.js.map +1 -0
  70. package/dist/embedded-assets.generated.d.ts.map +1 -1
  71. package/dist/embedded-assets.generated.js +2 -2
  72. package/dist/embedded-assets.generated.js.map +1 -1
  73. package/dist/eval/golden.d.ts +107 -0
  74. package/dist/eval/golden.d.ts.map +1 -0
  75. package/dist/eval/golden.js +74 -0
  76. package/dist/eval/golden.js.map +1 -0
  77. package/dist/eval/judge.d.ts +82 -0
  78. package/dist/eval/judge.d.ts.map +1 -0
  79. package/dist/eval/judge.js +130 -0
  80. package/dist/eval/judge.js.map +1 -0
  81. package/dist/eval/manifest.d.ts +107 -0
  82. package/dist/eval/manifest.d.ts.map +1 -0
  83. package/dist/eval/manifest.js +84 -0
  84. package/dist/eval/manifest.js.map +1 -0
  85. package/dist/eval/metrics.d.ts +87 -0
  86. package/dist/eval/metrics.d.ts.map +1 -0
  87. package/dist/eval/metrics.js +97 -0
  88. package/dist/eval/metrics.js.map +1 -0
  89. package/dist/extractors/noise-filter.d.ts +7 -3
  90. package/dist/extractors/noise-filter.d.ts.map +1 -1
  91. package/dist/extractors/noise-filter.js +16 -3
  92. package/dist/extractors/noise-filter.js.map +1 -1
  93. package/dist/extractors/signal-extractor.d.ts.map +1 -1
  94. package/dist/extractors/signal-extractor.js +13 -2
  95. package/dist/extractors/signal-extractor.js.map +1 -1
  96. package/dist/lifecycle/legacy-migration.d.ts +6 -2
  97. package/dist/lifecycle/legacy-migration.d.ts.map +1 -1
  98. package/dist/lifecycle/legacy-migration.js +69 -4
  99. package/dist/lifecycle/legacy-migration.js.map +1 -1
  100. package/dist/server/api.d.ts.map +1 -1
  101. package/dist/server/api.js +18 -7
  102. package/dist/server/api.js.map +1 -1
  103. package/dist/server/backfill-routes.d.ts.map +1 -1
  104. package/dist/server/backfill-routes.js +2 -1
  105. package/dist/server/backfill-routes.js.map +1 -1
  106. package/dist/server/mcp.d.ts +4 -4
  107. package/dist/store/agent-sessions.d.ts +59 -0
  108. package/dist/store/agent-sessions.d.ts.map +1 -0
  109. package/dist/store/agent-sessions.js +119 -0
  110. package/dist/store/agent-sessions.js.map +1 -0
  111. package/dist/store/database.d.ts +20 -1
  112. package/dist/store/database.d.ts.map +1 -1
  113. package/dist/store/database.js +44 -6
  114. package/dist/store/database.js.map +1 -1
  115. package/dist/store/embedding.d.ts +20 -2
  116. package/dist/store/embedding.d.ts.map +1 -1
  117. package/dist/store/embedding.js +20 -5
  118. package/dist/store/embedding.js.map +1 -1
  119. package/dist/store/entity-suggestions.d.ts +62 -0
  120. package/dist/store/entity-suggestions.d.ts.map +1 -0
  121. package/dist/store/entity-suggestions.js +80 -0
  122. package/dist/store/entity-suggestions.js.map +1 -0
  123. package/dist/store/migrations/index.d.ts.map +1 -1
  124. package/dist/store/migrations/index.js +91 -0
  125. package/dist/store/migrations/index.js.map +1 -1
  126. package/dist/store/pages.d.ts.map +1 -1
  127. package/dist/store/pages.js +12 -3
  128. package/dist/store/pages.js.map +1 -1
  129. package/package.json +1 -1
@@ -0,0 +1,69 @@
1
+ // src/core/agent-session-scanner.ts
2
+ //
3
+ // AgentSessionScanner — PR-0 foundation of the session-level distillation pipeline.
4
+ //
5
+ // Scans an agent transcript source's files, records each STABLE revision into the
6
+ // agent_sessions ledger (M007), and advances a per-source scan watermark. The watermark
7
+ // (max file mtime seen) is decoupled from per-session processing state: it always advances,
8
+ // so a poison / dead_lettered session never blocks the scan from moving forward. This
9
+ // replaces the lossy per-agent cursor (claude-code's lexicographic `sessionId <= cursor`).
10
+ //
11
+ // This module does NOT distill or apply — that is PR-2 / PR-4. It only records `discovered`.
12
+ import * as fsp from "node:fs/promises";
13
+ import fg from "fast-glob";
14
+ import { readStableSnapshot } from "../collectors/agent/collector.js";
15
+ import { readMeta, writeMeta } from "../store/store-meta.js";
16
+ function watermarkKey(sourceInstance) {
17
+ return `agent_watermark:${sourceInstance}`;
18
+ }
19
+ export async function scanAgentSessions(opts) {
20
+ const { sourceInstance, layout, store, executor } = opts;
21
+ const files = await discoverFiles(layout);
22
+ const priorWatermark = Number((await readMeta(executor, watermarkKey(sourceInstance))) ?? "0");
23
+ let discovered = 0;
24
+ let revised = 0;
25
+ let skipped = 0;
26
+ let maxMtime = priorWatermark;
27
+ for (const file of files) {
28
+ let mtimeMs;
29
+ try {
30
+ mtimeMs = (await fsp.stat(file)).mtimeMs;
31
+ }
32
+ catch {
33
+ continue;
34
+ }
35
+ if (mtimeMs > maxMtime)
36
+ maxMtime = mtimeMs;
37
+ const snapshot = await readStableSnapshot(file);
38
+ if (!snapshot) {
39
+ skipped++;
40
+ continue;
41
+ }
42
+ const sessionId = layout.sessionIdFromPath(file);
43
+ const res = await store.recordRevision({
44
+ sourceInstance,
45
+ sessionId,
46
+ contentHash: snapshot.contentHash,
47
+ byteSize: snapshot.byteSize,
48
+ lineCount: snapshot.lineCount,
49
+ });
50
+ if (res.status === "new")
51
+ discovered++;
52
+ else if (res.status === "revised")
53
+ revised++;
54
+ }
55
+ // Watermark advances unconditionally — independent of any session's processing state.
56
+ if (maxMtime > priorWatermark) {
57
+ await writeMeta(executor, watermarkKey(sourceInstance), String(maxMtime));
58
+ }
59
+ return { scanned: files.length, discovered, revised, skipped, watermark: maxMtime };
60
+ }
61
+ async function discoverFiles(layout) {
62
+ try {
63
+ return await fg(layout.glob, { cwd: layout.baseDir, absolute: true, onlyFiles: true });
64
+ }
65
+ catch {
66
+ return [];
67
+ }
68
+ }
69
+ //# sourceMappingURL=agent-session-scanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-session-scanner.js","sourceRoot":"","sources":["../../src/core/agent-session-scanner.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,EAAE;AACF,oFAAoF;AACpF,EAAE;AACF,kFAAkF;AAClF,wFAAwF;AACxF,4FAA4F;AAC5F,sFAAsF;AACtF,2FAA2F;AAC3F,EAAE;AACF,6FAA6F;AAE7F,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAItE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAsB7D,SAAS,YAAY,CAAC,cAAsB;IAC1C,OAAO,mBAAmB,cAAc,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAA2B;IACjE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAEzD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAE/F,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,QAAQ,GAAG,cAAc,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,OAAO,GAAG,QAAQ;YAAE,QAAQ,GAAG,OAAO,CAAC;QAE3C,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC;YACrC,cAAc;YACd,SAAS;YACT,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK;YAAE,UAAU,EAAE,CAAC;aAClC,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;IAC/C,CAAC;IAED,sFAAsF;IACtF,IAAI,QAAQ,GAAG,cAAc,EAAE,CAAC;QAC9B,MAAM,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAqB;IAChD,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -1,3 +1,11 @@
1
1
  import type { CanonicalisedBlock, ConversationBlock } from "./types.js";
2
+ /**
3
+ * Platforms whose collectors read coding-agent session transcripts. Their
4
+ * blocks carry channel = bare sessionId (no routable prefix), so source-type
5
+ * inference must key off the platform — otherwise agent blocks miscategorize
6
+ * as `chat` (spec §8 provenance audit) and get scored with the wrong source
7
+ * weight (signal-scoring has a dedicated agent_session weight).
8
+ */
9
+ export declare const AGENT_PLATFORMS: ReadonlySet<string>;
2
10
  export declare function canonicalize(block: ConversationBlock): CanonicalisedBlock;
3
11
  //# sourceMappingURL=canonicalize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"canonicalize.d.ts","sourceRoot":"","sources":["../../src/core/canonicalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EAIlB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CAMzE"}
1
+ {"version":3,"file":"canonicalize.d.ts","sourceRoot":"","sources":["../../src/core/canonicalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EAIlB,MAAM,YAAY,CAAC;AAEpB;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAA+C,CAAC;AAEhG,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CAMzE"}
@@ -1,10 +1,20 @@
1
+ /**
2
+ * Platforms whose collectors read coding-agent session transcripts. Their
3
+ * blocks carry channel = bare sessionId (no routable prefix), so source-type
4
+ * inference must key off the platform — otherwise agent blocks miscategorize
5
+ * as `chat` (spec §8 provenance audit) and get scored with the wrong source
6
+ * weight (signal-scoring has a dedicated agent_session weight).
7
+ */
8
+ export const AGENT_PLATFORMS = new Set(["claude-code", "codex", "hermes"]);
1
9
  export function canonicalize(block) {
2
- const source_type = inferSourceType(block.channel);
10
+ const source_type = inferSourceType(block.channel, block.platform);
3
11
  const interaction_tags = inferInteractionTags(block, source_type);
4
12
  const canonical_markdown = buildMarkdown(block, source_type);
5
13
  return { block, source_type, interaction_tags, canonical_markdown };
6
14
  }
7
- function inferSourceType(channel) {
15
+ function inferSourceType(channel, platform) {
16
+ if (AGENT_PLATFORMS.has(platform))
17
+ return "agent_session";
8
18
  if (channel.startsWith("mail/"))
9
19
  return "email";
10
20
  if (channel.startsWith("dm/"))
@@ -1 +1 @@
1
- {"version":3,"file":"canonicalize.js","sourceRoot":"","sources":["../../src/core/canonicalize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonicalize.js","sourceRoot":"","sources":["../../src/core/canonicalize.ts"],"names":[],"mappings":"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"}
@@ -186,6 +186,12 @@ export interface SchedulerConfig {
186
186
  interval_secs: number;
187
187
  };
188
188
  sources: Record<string, SchedulerSourceConfig>;
189
+ /**
190
+ * Hard per-source run timeout in milliseconds. A source that exceeds it is
191
+ * recorded as failed and the tick moves on to the next source, so one wedged
192
+ * source cannot stall the whole scheduler. Default: 10 minutes.
193
+ */
194
+ source_timeout_ms?: number;
189
195
  }
190
196
  export interface PipelineOptsConfig {
191
197
  block_concurrency?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { SqlExecutor } from "../store/sql-executor.js";
2
+ import { type EntityHandleType } from "./person-identity.js";
2
3
  import type { ExtractionResult, RawMessage } from "./types.js";
3
4
  export interface IdentityBackend {
4
5
  resolveFeishuOpenId(openId: string): Promise<{
@@ -9,11 +10,35 @@ export interface IdentityBackend {
9
10
  name: string;
10
11
  } | null>;
11
12
  }
13
+ /** Entity types that go through tiered name-handle normalization (spec §9). */
14
+ export type NormalizableEntityType = "project" | "tool";
15
+ /**
16
+ * A merge candidate produced when entity normalization refuses to auto-bind
17
+ * (same-name-multiple-pages or cross-type name clash). Never acted on
18
+ * automatically — persisted as entity_merge_suggestions for user review.
19
+ */
20
+ export interface EntityMergeCandidate {
21
+ entity_type: EntityHandleType;
22
+ from_slug: string;
23
+ into_slug: string;
24
+ reason: "same_name" | "cross_type_name";
25
+ detail?: Record<string, unknown>;
26
+ }
27
+ /**
28
+ * Where refused-bind suggestions get persisted (entity_merge_suggestions,
29
+ * spec §9). Structurally satisfied by EntityMergeSuggestionStore; optional so
30
+ * the resolver stays usable without a store (suggestions are still returned
31
+ * to the caller).
32
+ */
33
+ export interface EntityMergeSuggestionSink {
34
+ record(candidate: EntityMergeCandidate): Promise<void>;
35
+ }
12
36
  export declare class IdentityResolver {
13
37
  private db;
14
38
  private backend?;
39
+ private suggestionSink?;
15
40
  private readonly identity;
16
- constructor(db: SqlExecutor, backend?: IdentityBackend | undefined);
41
+ constructor(db: SqlExecutor, backend?: IdentityBackend | undefined, suggestionSink?: EntityMergeSuggestionSink | undefined);
17
42
  enrichBatch(messages: RawMessage[]): Promise<RawMessage[]>;
18
43
  private resolve;
19
44
  private isUnresolvedId;
@@ -29,14 +54,39 @@ export declare class IdentityResolver {
29
54
  isAlias: boolean;
30
55
  }>;
31
56
  /**
32
- * Canonicalize all person slugs in an ExtractionResult and rewrite references.
57
+ * Canonicalize a project/tool entity slug via the tiered strong-handle
58
+ * contract (spec §9):
59
+ *
60
+ * 1. A handle already recorded in the (entity_type, scope) namespace wins.
61
+ * 2. Exact name matching EXACTLY ONE page of the same type store-wide, with
62
+ * no other entity page of another type sharing the name → auto-bind and
63
+ * record the name handle.
64
+ * 3. Same-name-multiple-pages or a cross-type clash (Codex the tool vs
65
+ * Codex the project) → NO bind; only `entity_merge_suggestions`
66
+ * candidates are produced for user review.
67
+ * 4. Brand-new name → keep the model slug and record its name handle so
68
+ * later slug variants of the same name converge deterministically.
69
+ *
70
+ * Near-miss names (Levenshtein / pinyin) NEVER bind here — fuzzy detection
71
+ * lives in the consolidator sweep and also only produces suggestions.
72
+ */
73
+ canonicalizeEntitySlug(type: NormalizableEntityType, name: string, modelSlug: string): Promise<{
74
+ slug: string;
75
+ isAlias: boolean;
76
+ suggestions: EntityMergeCandidate[];
77
+ }>;
78
+ /**
79
+ * Canonicalize all person + project/tool slugs in an ExtractionResult and
80
+ * rewrite references.
33
81
  *
34
82
  * @param result - The extraction result to canonicalize
35
- * @returns Canonicalized result and alias map (canonical -> list of old slugs)
83
+ * @returns Canonicalized result, person alias map (canonical -> old slugs),
84
+ * and entity merge suggestions produced by refused auto-binds.
36
85
  */
37
86
  canonicalizeExtractionResult(result: ExtractionResult): Promise<{
38
87
  result: ExtractionResult;
39
88
  aliases: Map<string, string[]>;
89
+ suggestions: EntityMergeCandidate[];
40
90
  }>;
41
91
  }
42
92
  //# sourceMappingURL=identity-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-resolver.d.ts","sourceRoot":"","sources":["../../src/core/identity-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAKzF,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CACxE;AAOD,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,OAAO,CAAC;IAJlB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;gBAGrC,EAAE,EAAE,WAAW,EACf,OAAO,CAAC,EAAE,eAAe,YAAA;IAK7B,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YAwBlD,OAAO;IAqCrB,OAAO,CAAC,cAAc;IAItB;;;;;;OAMG;IACG,sBAAsB,CAC1B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAyF9C;;;;;OAKG;IACG,4BAA4B,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC;QACpE,MAAM,EAAE,gBAAgB,CAAC;QACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;KAChC,CAAC;CAmFH"}
1
+ {"version":3,"file":"identity-resolver.d.ts","sourceRoot":"","sources":["../../src/core/identity-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,KAAK,gBAAgB,EAAuB,MAAM,sBAAsB,CAAC;AAElF,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAKzF,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CACxE;AAOD,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,MAAM,CAAC;AAExD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAKD,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,OAAO,CAAC;IAChB,OAAO,CAAC,cAAc,CAAC;IALzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;gBAGrC,EAAE,EAAE,WAAW,EACf,OAAO,CAAC,EAAE,eAAe,YAAA,EACzB,cAAc,CAAC,EAAE,yBAAyB,YAAA;IAK9C,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YAwBlD,OAAO;IAqCrB,OAAO,CAAC,cAAc;IAItB;;;;;;OAMG;IACG,sBAAsB,CAC1B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAyF9C;;;;;;;;;;;;;;;;OAgBG;IACG,sBAAsB,CAC1B,IAAI,EAAE,sBAAsB,EAC5B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,oBAAoB,EAAE,CAAA;KAAE,CAAC;IA4DnF;;;;;;;OAOG;IACG,4BAA4B,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC;QACpE,MAAM,EAAE,gBAAgB,CAAC;QACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/B,WAAW,EAAE,oBAAoB,EAAE,CAAC;KACrC,CAAC;CAoGH"}
@@ -1,12 +1,16 @@
1
1
  import { PersonIdentityStore } from "./person-identity.js";
2
2
  import { toPersonCanonicalSlug } from "./person-slug.js";
3
+ /** Entity page types considered when checking exact-name uniqueness store-wide. */
4
+ const ENTITY_PAGE_TYPES = ["person", "project", "organization", "tool", "concept"];
3
5
  export class IdentityResolver {
4
6
  db;
5
7
  backend;
8
+ suggestionSink;
6
9
  identity;
7
- constructor(db, backend) {
10
+ constructor(db, backend, suggestionSink) {
8
11
  this.db = db;
9
12
  this.backend = backend;
13
+ this.suggestionSink = suggestionSink;
10
14
  this.identity = new PersonIdentityStore(db);
11
15
  }
12
16
  async enrichBatch(messages) {
@@ -126,29 +130,108 @@ export class IdentityResolver {
126
130
  return { slug: canonicalSlug, isAlias: modelSlug !== canonicalSlug };
127
131
  }
128
132
  /**
129
- * Canonicalize all person slugs in an ExtractionResult and rewrite references.
133
+ * Canonicalize a project/tool entity slug via the tiered strong-handle
134
+ * contract (spec §9):
135
+ *
136
+ * 1. A handle already recorded in the (entity_type, scope) namespace wins.
137
+ * 2. Exact name matching EXACTLY ONE page of the same type store-wide, with
138
+ * no other entity page of another type sharing the name → auto-bind and
139
+ * record the name handle.
140
+ * 3. Same-name-multiple-pages or a cross-type clash (Codex the tool vs
141
+ * Codex the project) → NO bind; only `entity_merge_suggestions`
142
+ * candidates are produced for user review.
143
+ * 4. Brand-new name → keep the model slug and record its name handle so
144
+ * later slug variants of the same name converge deterministically.
145
+ *
146
+ * Near-miss names (Levenshtein / pinyin) NEVER bind here — fuzzy detection
147
+ * lives in the consolidator sweep and also only produces suggestions.
148
+ */
149
+ async canonicalizeEntitySlug(type, name, modelSlug) {
150
+ // 1. Existing handle in this namespace pins the canonical slug.
151
+ const bySlug = await this.identity.resolveEntityHandle(type, "slug", modelSlug);
152
+ if (bySlug)
153
+ return { slug: bySlug, isAlias: modelSlug !== bySlug, suggestions: [] };
154
+ const byName = await this.identity.resolveEntityHandle(type, "name", name);
155
+ if (byName)
156
+ return { slug: byName, isAlias: modelSlug !== byName, suggestions: [] };
157
+ // 2. Exact-title candidates across all entity page types.
158
+ const collapsedName = name.trim().replace(/\s+/g, " ");
159
+ const candidates = await this.db.query(`SELECT slug, type FROM pages
160
+ WHERE title = $1 AND type = ANY($2)
161
+ ORDER BY slug`, [collapsedName, [...ENTITY_PAGE_TYPES]]);
162
+ const sameType = candidates.rows.filter((r) => r.type === type);
163
+ const crossType = candidates.rows.filter((r) => r.type !== type);
164
+ // 3a. Unique same-type page and no cross-type clash → strong bind.
165
+ if (sameType.length === 1 && crossType.length === 0) {
166
+ const canonicalSlug = sameType[0].slug;
167
+ await this.identity.recordEntityCanonical(type, collapsedName, canonicalSlug);
168
+ return { slug: canonicalSlug, isAlias: modelSlug !== canonicalSlug, suggestions: [] };
169
+ }
170
+ // 3b. Conflicts → suggestions only, keep the model slug, record nothing.
171
+ const suggestions = [];
172
+ if (sameType.length > 1) {
173
+ // The same-type pages are duplicates of each other; suggest folding later
174
+ // slugs into the first (sorted) one.
175
+ const [first, ...rest] = sameType;
176
+ for (const dup of rest) {
177
+ suggestions.push({
178
+ entity_type: type,
179
+ from_slug: dup.slug,
180
+ into_slug: first.slug,
181
+ reason: "same_name",
182
+ detail: { name: collapsedName },
183
+ });
184
+ }
185
+ }
186
+ for (const clash of crossType) {
187
+ suggestions.push({
188
+ entity_type: type,
189
+ from_slug: modelSlug,
190
+ into_slug: clash.slug,
191
+ reason: "cross_type_name",
192
+ detail: { name: collapsedName, clash_type: clash.type },
193
+ });
194
+ }
195
+ if (suggestions.length > 0) {
196
+ return { slug: modelSlug, isAlias: false, suggestions };
197
+ }
198
+ // 4. Brand-new entity: keep the model slug, record its strong name handle
199
+ // so future slug variants of this exact name converge.
200
+ await this.identity.recordEntityCanonical(type, collapsedName, modelSlug);
201
+ return { slug: modelSlug, isAlias: false, suggestions: [] };
202
+ }
203
+ /**
204
+ * Canonicalize all person + project/tool slugs in an ExtractionResult and
205
+ * rewrite references.
130
206
  *
131
207
  * @param result - The extraction result to canonicalize
132
- * @returns Canonicalized result and alias map (canonical -> list of old slugs)
208
+ * @returns Canonicalized result, person alias map (canonical -> old slugs),
209
+ * and entity merge suggestions produced by refused auto-binds.
133
210
  */
134
211
  async canonicalizeExtractionResult(result) {
135
- // 1. Build rewrite map for person entities
212
+ // 1. Build rewrite map for person + project/tool entities
136
213
  const rewriteMap = new Map();
137
214
  const aliasesMap = new Map();
215
+ const suggestions = [];
138
216
  for (const entity of result.entities) {
139
- if (entity.type !== "person")
140
- continue;
141
- const { slug: canonicalSlug, isAlias } = await this.canonicalizePersonSlug(entity.name, entity.slug);
142
- rewriteMap.set(entity.slug, canonicalSlug);
143
- if (isAlias && entity.slug !== canonicalSlug) {
144
- if (!aliasesMap.has(canonicalSlug)) {
145
- aliasesMap.set(canonicalSlug, []);
146
- }
147
- const aliases = aliasesMap.get(canonicalSlug);
148
- if (aliases) {
149
- aliases.push(entity.slug);
217
+ if (entity.type === "person") {
218
+ const { slug: canonicalSlug, isAlias } = await this.canonicalizePersonSlug(entity.name, entity.slug);
219
+ rewriteMap.set(entity.slug, canonicalSlug);
220
+ if (isAlias && entity.slug !== canonicalSlug) {
221
+ if (!aliasesMap.has(canonicalSlug)) {
222
+ aliasesMap.set(canonicalSlug, []);
223
+ }
224
+ const aliases = aliasesMap.get(canonicalSlug);
225
+ if (aliases) {
226
+ aliases.push(entity.slug);
227
+ }
150
228
  }
151
229
  }
230
+ else if (entity.type === "project" || entity.type === "tool") {
231
+ const r = await this.canonicalizeEntitySlug(entity.type, entity.name, entity.slug);
232
+ rewriteMap.set(entity.slug, r.slug);
233
+ suggestions.push(...r.suggestions);
234
+ }
152
235
  }
153
236
  // 2. Helper to rewrite a slug if it's in the map
154
237
  const rewriteSlug = (slug) => {
@@ -157,7 +240,7 @@ export class IdentityResolver {
157
240
  // 3. Rewrite entities and deduplicate
158
241
  const entityMap = new Map();
159
242
  for (const entity of result.entities) {
160
- const slug = entity.type === "person" ? rewriteSlug(entity.slug) : entity.slug;
243
+ const slug = rewriteMap.has(entity.slug) ? rewriteSlug(entity.slug) : entity.slug;
161
244
  // Keep first entity for each canonical slug
162
245
  if (!entityMap.has(slug)) {
163
246
  entityMap.set(slug, { ...entity, slug });
@@ -201,7 +284,19 @@ export class IdentityResolver {
201
284
  entities: r.entities.map(rewriteSlug),
202
285
  })),
203
286
  };
204
- return { result: canonicalized, aliases: aliasesMap };
287
+ // Persist refused-bind suggestions for user review (best-effort — a sink
288
+ // failure must not break extraction).
289
+ if (this.suggestionSink) {
290
+ for (const s of suggestions) {
291
+ try {
292
+ await this.suggestionSink.record(s);
293
+ }
294
+ catch (err) {
295
+ console.warn("[IdentityResolver] Failed to record merge suggestion:", err);
296
+ }
297
+ }
298
+ }
299
+ return { result: canonicalized, aliases: aliasesMap, suggestions };
205
300
  }
206
301
  }
207
302
  //# sourceMappingURL=identity-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-resolver.js","sourceRoot":"","sources":["../../src/core/identity-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-resolver.js","sourceRoot":"","sources":["../../src/core/identity-resolver.ts"],"names":[],"mappings":"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"}
@@ -13,18 +13,37 @@
13
13
  * only enter the table via an explicit `addAlias` / `link`, so an
14
14
  * ambiguous nickname like "龙哥" can never silently merge two people.
15
15
  * - Merging two existing person pages is always an explicit operation.
16
+ *
17
+ * Since M008 (extraction-quality-redesign PR-3, spec §9) the physical table is
18
+ * `entity_handles`, namespaced by (entity_type, scope) so project/tool entities
19
+ * share the same registry — one table, not a parallel one. All person
20
+ * operations here read/write the entity_type='person' namespace; a
21
+ * `person_handles` compat view remains for legacy readers. Strong-handle
22
+ * auto-binding is tiered BY ENTITY TYPE:
23
+ * - person: open_id / email / exact name / slug bind (existing contract).
24
+ * - project / tool: only "exact name AND unique among that type store-wide"
25
+ * auto-binds; same-name-multiple-pages or cross-type name clashes only
26
+ * produce entity_merge_suggestions (see IdentityResolver).
16
27
  */
17
28
  import type { PageStore } from "../store/pages.js";
18
29
  import type { PersonBehaviorStore } from "../store/person-behavior.js";
19
30
  import type { SqlExecutor } from "../store/sql-executor.js";
20
31
  export type HandleKind = "feishu_open_id" | "email" | "name" | "nickname" | "slug";
21
32
  export type HandleStrength = "strong" | "weak";
33
+ /** Entity namespaces of the generalized handle registry (M008). */
34
+ export type EntityHandleType = "person" | "project" | "organization" | "tool" | "concept";
35
+ /** Default handle scope. Reserved for future narrower namespaces (e.g. per-tenant). */
36
+ export declare const GLOBAL_SCOPE = "global";
22
37
  export interface PersonHandle {
23
38
  kind: HandleKind;
24
39
  value: string;
25
40
  canonical_slug: string;
26
41
  strength: HandleStrength;
27
42
  }
43
+ export interface EntityHandle extends PersonHandle {
44
+ entity_type: EntityHandleType;
45
+ scope: string;
46
+ }
28
47
  /** Default strength for a handle kind. Nicknames are weak; everything else strong. */
29
48
  export declare function defaultStrength(kind: HandleKind): HandleStrength;
30
49
  /**
@@ -50,6 +69,8 @@ export declare class PersonIdentityStore {
50
69
  constructor(db: SqlExecutor, stores?: PersonIdentityStores | undefined, extra?: PersonIdentityExtraStores | undefined);
51
70
  /** Resolve a single handle to its canonical person slug, or null. */
52
71
  resolveHandle(kind: HandleKind, value: string): Promise<string | null>;
72
+ /** Resolve a handle within an entity-type namespace to its canonical slug, or null. */
73
+ resolveEntityHandle(entityType: EntityHandleType, kind: HandleKind, value: string, scope?: string): Promise<string | null>;
53
74
  /**
54
75
  * Resolve an extraction's (name, modelSlug) to a canonical slug via known
55
76
  * handles. Tries strong handles first (slug, embedded open id / email, exact
@@ -62,6 +83,15 @@ export declare class PersonIdentityStore {
62
83
  * non-destructive: existing rows are left untouched.
63
84
  */
64
85
  recordCanonical(name: string, canonicalSlug: string): Promise<void>;
86
+ /**
87
+ * Record the strong handles (name → slug, slug → slug) implied by a
88
+ * canonicalized non-person entity, in its own (entity_type, scope) namespace.
89
+ * Idempotent and non-destructive — existing rows are left untouched. Callers
90
+ * (IdentityResolver.canonicalizeEntitySlug) are responsible for enforcing the
91
+ * tiered auto-bind rules BEFORE recording: for project/tool a name is only
92
+ * strong when it is exactly unique among its type store-wide.
93
+ */
94
+ recordEntityCanonical(entityType: EntityHandleType, name: string, canonicalSlug: string): Promise<void>;
65
95
  /**
66
96
  * Ensure the special `entities/me` self-identity page exists (Spec 9 §4.1).
67
97
  * Idempotent — returns the canonical slug; creates a minimal person page the
@@ -95,9 +125,12 @@ export declare class PersonIdentityStore {
95
125
  * different person (use `merge` / `removeHandle` to reassign).
96
126
  */
97
127
  addAlias(canonicalSlug: string, kind: HandleKind, value: string, strength?: HandleStrength): Promise<void>;
98
- /** List all handles attached to a canonical person. */
99
- listHandles(canonicalSlug: string): Promise<PersonHandle[]>;
100
- /** Remove a handle by (kind, value). */
128
+ /**
129
+ * List all handles attached to a canonical slug, across every entity-type
130
+ * namespace (a page has one slug; its handles all follow that slug).
131
+ */
132
+ listHandles(canonicalSlug: string): Promise<EntityHandle[]>;
133
+ /** Remove a person-namespace handle by (kind, value). */
101
134
  removeHandle(kind: HandleKind, value: string): Promise<void>;
102
135
  /**
103
136
  * Rename a person's canonical slug (correct a wrong canonicalization).
@@ -121,6 +154,8 @@ export declare class PersonIdentityStore {
121
154
  merge(fromSlug: string, intoSlug: string): Promise<void>;
122
155
  private requirePages;
123
156
  private insertHandle;
157
+ /** Insert a handle into an entity-type namespace on the given connection. */
158
+ private insertEntityHandleOn;
124
159
  private repointIdentityCache;
125
160
  /** tx-scoped variant of repointIdentityCache for use inside merge transaction. */
126
161
  private repointIdentityCacheTx;
@@ -1 +1 @@
1
- {"version":3,"file":"person-identity.d.ts","sourceRoot":"","sources":["../../src/core/person-identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"person-identity.d.ts","sourceRoot":"","sources":["../../src/core/person-identity.ts"],"names":[],"mappings":"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"}