@getrift/rift 0.1.0-beta.11 → 0.1.0-beta.13

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 (74) hide show
  1. package/dist/src/cli/commands/onboard.d.ts +38 -0
  2. package/dist/src/cli/commands/onboard.d.ts.map +1 -1
  3. package/dist/src/cli/commands/onboard.js +176 -101
  4. package/dist/src/cli/commands/onboard.js.map +1 -1
  5. package/dist/src/cli/commands/reconcile.d.ts.map +1 -1
  6. package/dist/src/cli/commands/reconcile.js +12 -0
  7. package/dist/src/cli/commands/reconcile.js.map +1 -1
  8. package/dist/src/cli/status/friend-header.d.ts +8 -1
  9. package/dist/src/cli/status/friend-header.d.ts.map +1 -1
  10. package/dist/src/cli/status/friend-header.js +93 -12
  11. package/dist/src/cli/status/friend-header.js.map +1 -1
  12. package/dist/src/cli/ui.d.ts +47 -0
  13. package/dist/src/cli/ui.d.ts.map +1 -0
  14. package/dist/src/cli/ui.js +166 -0
  15. package/dist/src/cli/ui.js.map +1 -0
  16. package/dist/src/jobs/handlers/compact.js +1 -0
  17. package/dist/src/jobs/handlers/compact.js.map +1 -1
  18. package/dist/src/jobs/handlers/dedupe-conversations.d.ts +134 -0
  19. package/dist/src/jobs/handlers/dedupe-conversations.d.ts.map +1 -0
  20. package/dist/src/jobs/handlers/dedupe-conversations.js +371 -0
  21. package/dist/src/jobs/handlers/dedupe-conversations.js.map +1 -0
  22. package/dist/src/jobs/handlers/ingest.d.ts.map +1 -1
  23. package/dist/src/jobs/handlers/ingest.js +44 -18
  24. package/dist/src/jobs/handlers/ingest.js.map +1 -1
  25. package/dist/src/jobs/handlers/reconcile.d.ts +11 -0
  26. package/dist/src/jobs/handlers/reconcile.d.ts.map +1 -1
  27. package/dist/src/jobs/handlers/reconcile.js +25 -0
  28. package/dist/src/jobs/handlers/reconcile.js.map +1 -1
  29. package/dist/src/jobs/handlers/save.d.ts.map +1 -1
  30. package/dist/src/jobs/handlers/save.js +6 -1
  31. package/dist/src/jobs/handlers/save.js.map +1 -1
  32. package/dist/src/mcp/server.d.ts.map +1 -1
  33. package/dist/src/mcp/server.js +43 -3
  34. package/dist/src/mcp/server.js.map +1 -1
  35. package/dist/src/mcp/tools/context-pack.js +163 -25
  36. package/dist/src/mcp/tools/context-pack.js.map +1 -1
  37. package/dist/src/observability/onboarding-metric.d.ts +115 -0
  38. package/dist/src/observability/onboarding-metric.d.ts.map +1 -0
  39. package/dist/src/observability/onboarding-metric.js +344 -0
  40. package/dist/src/observability/onboarding-metric.js.map +1 -0
  41. package/dist/src/observability/tool-usage-stats.d.ts +8 -0
  42. package/dist/src/observability/tool-usage-stats.d.ts.map +1 -1
  43. package/dist/src/observability/tool-usage-stats.js +11 -1
  44. package/dist/src/observability/tool-usage-stats.js.map +1 -1
  45. package/dist/src/retrieval/context-pack.d.ts +100 -0
  46. package/dist/src/retrieval/context-pack.d.ts.map +1 -1
  47. package/dist/src/retrieval/context-pack.js +274 -6
  48. package/dist/src/retrieval/context-pack.js.map +1 -1
  49. package/dist/src/retrieval/current-truth.d.ts +326 -0
  50. package/dist/src/retrieval/current-truth.d.ts.map +1 -0
  51. package/dist/src/retrieval/current-truth.js +747 -0
  52. package/dist/src/retrieval/current-truth.js.map +1 -0
  53. package/dist/src/retrieval/git-state.d.ts +53 -0
  54. package/dist/src/retrieval/git-state.d.ts.map +1 -0
  55. package/dist/src/retrieval/git-state.js +174 -0
  56. package/dist/src/retrieval/git-state.js.map +1 -0
  57. package/dist/src/server/routes/friend-status.d.ts +63 -0
  58. package/dist/src/server/routes/friend-status.d.ts.map +1 -1
  59. package/dist/src/server/routes/friend-status.js +97 -0
  60. package/dist/src/server/routes/friend-status.js.map +1 -1
  61. package/dist/src/server/routes/mcp-usage.d.ts +4 -3
  62. package/dist/src/server/routes/mcp-usage.d.ts.map +1 -1
  63. package/dist/src/server/routes/mcp-usage.js.map +1 -1
  64. package/dist/src/server/routes/reconcile.d.ts.map +1 -1
  65. package/dist/src/server/routes/reconcile.js +16 -0
  66. package/dist/src/server/routes/reconcile.js.map +1 -1
  67. package/dist/src/storage/rebuild.d.ts.map +1 -1
  68. package/dist/src/storage/rebuild.js +24 -2
  69. package/dist/src/storage/rebuild.js.map +1 -1
  70. package/dist/src/storage/tables.d.ts +9 -0
  71. package/dist/src/storage/tables.d.ts.map +1 -1
  72. package/dist/src/storage/tables.js +22 -1
  73. package/dist/src/storage/tables.js.map +1 -1
  74. package/package.json +2 -1
@@ -0,0 +1,166 @@
1
+ /**
2
+ * Terminal UI helpers for interactive CLI flows (currently `rift onboard`).
3
+ *
4
+ * Color contract:
5
+ * - Color is enabled ONLY when stdout is a TTY, unless explicitly forced.
6
+ * We compute this ourselves rather than trusting picocolors' default
7
+ * auto-detection, which enables color under `CI=true` even when stdout
8
+ * is piped — that would leak ANSI escape codes into logs, snapshot
9
+ * tests, and copy/pasted output. Overrides: `NO_COLOR` (any non-empty
10
+ * value) force-disables; `FORCE_COLOR` (any value other than 0/false)
11
+ * force-enables. Evaluated once at module load.
12
+ * - Animation (the spinner) only runs on a TTY regardless of color, so a
13
+ * non-TTY run prints exactly one resolved status row per step — a stable
14
+ * plain string for assertions.
15
+ * - Glyphs and box-drawing characters are Unicode, not ANSI escapes, so
16
+ * they are safe in non-TTY output and never introduce forbidden-name or
17
+ * secret substrings.
18
+ */
19
+ import { createColors } from "picocolors";
20
+ const env = process.env;
21
+ const noColor = typeof env["NO_COLOR"] === "string" && env["NO_COLOR"] !== "";
22
+ const forceColor = typeof env["FORCE_COLOR"] === "string" &&
23
+ env["FORCE_COLOR"] !== "0" &&
24
+ env["FORCE_COLOR"] !== "false";
25
+ const colorEnabled = !noColor && (forceColor || process.stdout.isTTY === true);
26
+ const pc = createColors(colorEnabled);
27
+ const isTty = () => process.stdout.isTTY === true;
28
+ const write = (s) => {
29
+ process.stdout.write(s);
30
+ };
31
+ /** Strip ANSI escape codes so width math is correct for box drawing. */
32
+ const stripAnsi = (s) => s.replace(/\x1b\[[0-9;]*m/g, "");
33
+ const visibleWidth = (s) => stripAnsi(s).length;
34
+ /** Label column width — wide enough for the longest onboarding step label
35
+ * ("Existing data" = 13). */
36
+ const LABEL_WIDTH = 14;
37
+ const GLYPH = {
38
+ ok: pc.green("✓"),
39
+ warn: pc.yellow("!"),
40
+ fail: pc.red("✗"),
41
+ info: pc.cyan("•"),
42
+ skip: pc.dim("–"),
43
+ };
44
+ /** ANSI-Shadow wordmark for the first-run banner. */
45
+ const WORDMARK = [
46
+ "██████╗ ██╗ ███████╗ ████████╗",
47
+ "██╔══██╗ ██║ ██╔════╝ ╚══██╔══╝",
48
+ "██████╔╝ ██║ █████╗ ██║",
49
+ "██╔══██╗ ██║ ██╔══╝ ██║",
50
+ "██║ ██║ ██║ ██║ ██║",
51
+ "╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝",
52
+ ];
53
+ const TAGLINE = "Local-first memory for AI tools";
54
+ /**
55
+ * Print the first-run banner. On a TTY this is the full ANSI-Shadow `RIFT`
56
+ * wordmark; off a TTY (pipe/CI) it collapses to a one-line `◆ RIFT` lockup so
57
+ * logs stay clean. The tagline and a rule follow in both modes.
58
+ */
59
+ export function banner() {
60
+ write("\n");
61
+ if (isTty()) {
62
+ for (const ln of WORDMARK)
63
+ write(` ${pc.cyan(ln)}\n`);
64
+ }
65
+ else {
66
+ write(` ${pc.cyan("◆")} ${pc.bold("RIFT")}\n`);
67
+ }
68
+ write(` ${pc.dim(TAGLINE)}\n`);
69
+ write(` ${pc.dim("─".repeat(TAGLINE.length))}\n`);
70
+ }
71
+ /** Print a resolved status row: ` ✓ Label detail`. The label is
72
+ * the bold human-readable headline; the detail tail is dimmed so the
73
+ * technical bits (paths, daemon/Voyage state, counts) stay secondary. */
74
+ export function step(status, label, detail = "") {
75
+ const padded = label.padEnd(LABEL_WIDTH);
76
+ const tail = detail ? ` ${pc.dim(detail)}` : "";
77
+ write(` ${GLYPH[status]} ${pc.bold(padded)}${tail}\n`);
78
+ }
79
+ /** Print a dimmed, indented secondary line under a step. */
80
+ export function note(text) {
81
+ for (const ln of text.split("\n")) {
82
+ write(` ${pc.dim(ln)}\n`);
83
+ }
84
+ }
85
+ /**
86
+ * Print indented, full-readability body text under a step. Unlike `note`,
87
+ * this is NOT dimmed — for trust-critical copy (e.g. the privacy contract)
88
+ * that must stay legible.
89
+ */
90
+ export function detail(text) {
91
+ for (const ln of text.split("\n")) {
92
+ write(` ${ln}\n`);
93
+ }
94
+ }
95
+ /** Print a plain (unstyled-content) line — escape hatch for raw output. */
96
+ export function line(text = "") {
97
+ write(text + "\n");
98
+ }
99
+ const SPINNER_FRAMES = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
100
+ /**
101
+ * A single-line spinner for an in-flight async step. On a TTY it animates
102
+ * in place and resolves to a status row; on a non-TTY it stays silent until
103
+ * resolved, then prints exactly one status row (stable for assertions).
104
+ */
105
+ export class Spinner {
106
+ label;
107
+ timer;
108
+ frame = 0;
109
+ constructor(label) {
110
+ this.label = label;
111
+ }
112
+ start() {
113
+ if (!isTty())
114
+ return this;
115
+ this.render();
116
+ this.timer = setInterval(() => {
117
+ this.frame = (this.frame + 1) % SPINNER_FRAMES.length;
118
+ this.render();
119
+ }, 80);
120
+ // Don't keep the event loop alive just for the spinner.
121
+ this.timer.unref?.();
122
+ return this;
123
+ }
124
+ render() {
125
+ const padded = this.label.padEnd(LABEL_WIDTH);
126
+ write(`\r ${pc.cyan(SPINNER_FRAMES[this.frame])} ${pc.bold(padded)}\x1b[K`);
127
+ }
128
+ clearLine() {
129
+ if (this.timer) {
130
+ clearInterval(this.timer);
131
+ this.timer = undefined;
132
+ }
133
+ if (isTty())
134
+ write("\r\x1b[K");
135
+ }
136
+ succeed(label = this.label, detail = "") {
137
+ this.clearLine();
138
+ step("ok", label, detail);
139
+ }
140
+ warn(label = this.label, detail = "") {
141
+ this.clearLine();
142
+ step("warn", label, detail);
143
+ }
144
+ fail(label = this.label, detail = "") {
145
+ this.clearLine();
146
+ step("fail", label, detail);
147
+ }
148
+ }
149
+ /**
150
+ * Render a rounded box around the given lines. Width adapts to the widest
151
+ * line (ANSI-aware). Used for the final next-action card.
152
+ */
153
+ export function box(lines) {
154
+ const inner = Math.max(...lines.map(visibleWidth), 0);
155
+ const pad = 2;
156
+ const w = inner + pad * 2;
157
+ write("\n");
158
+ write(` ${pc.dim("╭" + "─".repeat(w) + "╮")}\n`);
159
+ for (const l of lines) {
160
+ const gap = inner - visibleWidth(l);
161
+ write(` ${pc.dim("│")}${" ".repeat(pad)}${l}${" ".repeat(gap + pad)}${pc.dim("│")}\n`);
162
+ }
163
+ write(` ${pc.dim("╰" + "─".repeat(w) + "╯")}\n`);
164
+ }
165
+ export { pc, colorEnabled };
166
+ //# sourceMappingURL=ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/cli/ui.ts"],"names":[],"mappings":"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"}
@@ -336,6 +336,7 @@ function cleanConversationRow(row) {
336
336
  key_outputs: row.key_outputs,
337
337
  indexed_at: row.indexed_at,
338
338
  idempotency_key: row.idempotency_key,
339
+ conversation_fingerprint: row.conversation_fingerprint ?? "",
339
340
  };
340
341
  }
341
342
  function safeParseArray(json) {
@@ -1 +1 @@
1
- {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../../../src/jobs/handlers/compact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AA2BvE,MAAM,cAAc,GAAG,YAAY,CAAC;AACpC,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAEzC,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAE9E,4DAA4D;AAC5D,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,oBAAoB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;AAChD,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,UAAU,oBAAoB,CAAC,IAAiB;IACpD,OAAO,KAAK,EAAE,GAAQ,EAAiB,EAAE;QACvC,MAAM,OAAO,GAAI,GAAG,CAAC,OAA0B,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACvF,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEpC,qCAAqC;QACrC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ;YAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAEvC,IAAI,CAAC;YACH,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACpD,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACtD,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;YACvB,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,8DAA8D;YAC9D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,KAAK,UAAU,gBAAgB,CAC7B,IAAiB,EACjB,MAAe;IAEf,MAAM,QAAQ,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAExC,0CAA0C;IAC1C,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;IAC1B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAEvC,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAsB,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAElE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACzE,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAED,iDAAiD;IACjD,MAAM,OAAO,GAAwB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,MAAM,WAAW,CACvC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,iBAAiB,EACtB;QACE,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,kBAAkB;QAC7B,WAAW,EAAE,CAAC;KACf,EACD,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAC1D,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACrC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhD,qDAAqD;IACrD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACpE,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAElE,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAE1D,qFAAqF;IACrF,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,QAAQ,GAAqB;QACjC,EAAE,EAAE,SAAS;QACb,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;QAC7B,gBAAgB,EAAE,eAAe;QACjC,SAAS,EAAE,QAAQ;QACnB,eAAe,EAAE,EAAE,EAAG,kCAAkC;QACxD,QAAQ,EAAE,KAAK;KAChB,CAAC;IACF,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE5C,sCAAsC;IACtC,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAE/C,0BAA0B;IAC1B,sDAAsD;IACtD,MAAM,gBAAgB,CACpB,IAAI,CAAC,OAAO,EACZ;QACE,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,2BAA2B;QACtC,SAAS,EAAE,MAAM,CAAC,MAAM;KACzB,EACD,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CACtD,CAAC;IAEF,qBAAqB;IACrB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,kEAAkE;IAClE,oEAAoE;IACpE,sEAAsE;IACtE,yCAAyC;IACzC,MAAM,WAAW,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAC5E,MAAM,SAAS,GAAG;QAChB,EAAE,EAAE,QAAQ;QACZ,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,YAAY,EAAE,WAAW;QACzB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,QAAQ;QACrB,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;QAC7B,gBAAgB,EAAE,eAAe;KAClC,CAAC;IACF,MAAM,cAAc,GAAG,GAAG,WAAW,IAAI,SAAS,OAAO,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAC7E,MAAM,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAElE,kCAAkC;IAClC,MAAM,SAAS,GAAc;QAC3B,EAAE,EAAE,QAAQ;QACZ,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,SAAS,EAAE,eAAe;QAC1B,YAAY,EAAE,WAAW;QACzB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,QAAQ;QACrB,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;KAC9B,CAAC;IACF,MAAM,gBAAgB,CACpB,IAAI,CAAC,OAAO,EACZ;QACE,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,eAAe;QAC1B,SAAS,EAAE,CAAC;KACb,EACD,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CACnC,CAAC;IAEF,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,eAAe,GAAG,cAAc,CAAC;IAC1C,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE5C,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,KAAK,UAAU,cAAc,CAC3B,IAAiB,EACjB,MAAe;IAEf,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,mEAAmE;QACnE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,MAAM;YACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAExC,2CAA2C;IAC3C,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,CAAC,MAAM,SAAS;aAC1B,KAAK,EAAE;aACP,KAAK,CAAC,SAAS,MAAM,GAAG,CAAC;aACzB,OAAO,EAAE,CAAsB,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,gBAAgB,CACpB,IAAI,CAAC,OAAO,EACZ;gBACE,KAAK,EAAE,mBAAmB;gBAC1B,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,8BAA8B;gBACzC,SAAS,EAAE,IAAI,CAAC,MAAM;aACvB,EACD,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CACnD,CAAC;YACF,MAAM,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,GAAG,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;IAEzD,8DAA8D;IAC9D,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;QACvF,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE5C,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,MAAM;QACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAAe,EACf,QAA0B;IAE1B,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC;IACpE,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,MAAM,KAAK,GAAG,EAAE;SACb,WAAW,CAAC,GAAG,CAAC;SAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;SAC1C,IAAI,EAAE;SACN,OAAO,EAAE,CAAC,CAAC,oBAAoB;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAC3B,CAAC;YACtB,IAAI,GAAG,CAAC,QAAQ;gBAAE,OAAO,GAAG,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe,EAAE,SAAiB;IAC/D,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO;IAEhC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CACf,CAAC;YACtB,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;gBACzC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACrB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,UAAU,CAAC,GAAoB;IACtC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC;QAClC,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC;QACxC,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,GAAoB;IAChD,kFAAkF;IAClF,mEAAmE;IACnE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAA6B,CAAC,CAAC;IAChE,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS;QACT,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,eAAe,EAAE,GAAG,CAAC,eAAe;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../../../src/jobs/handlers/compact.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ import type { ConversationSource } from "../../providers/types.js";
2
+ export type ConversationTable = "conversations_hot" | "conversations_cold";
3
+ /** Minimal row projection the planner needs — no embedding or content. */
4
+ export interface DedupeRowView {
5
+ row_id: string;
6
+ table: ConversationTable;
7
+ indexed_at: string;
8
+ content_length: number;
9
+ /**
10
+ * Row's source. Used by the planner to decide whether the row can
11
+ * participate in `(source, conversation_id)` dedupe at all. CLI
12
+ * sources opt out; web sources require a derivable conversation_id
13
+ * in the raw or they get flagged in `rows_without_dedupe_key`.
14
+ */
15
+ source: ConversationSource;
16
+ }
17
+ /** Minimal raw-file projection — filename + parsed source/conversation_id. */
18
+ export interface DedupeRawView {
19
+ path: string;
20
+ filename: string;
21
+ row_id_from_filename: string;
22
+ source: string;
23
+ conversation_id: string;
24
+ }
25
+ export interface DedupePlanInput {
26
+ rows: DedupeRowView[];
27
+ raw_files: DedupeRawView[];
28
+ }
29
+ export interface DedupeMember {
30
+ row_id: string;
31
+ table: ConversationTable;
32
+ indexed_at: string;
33
+ content_length: number;
34
+ is_stable_id: boolean;
35
+ raw_files: string[];
36
+ }
37
+ export type SuspicionReason = "legacy_member_is_newer" | "legacy_member_has_more_content";
38
+ export interface DedupeGroupPlan {
39
+ source: string;
40
+ conversation_id: string;
41
+ stable_id: string;
42
+ members: DedupeMember[];
43
+ kept_member: DedupeMember;
44
+ deleted_members: DedupeMember[];
45
+ raw_files_to_delete: string[];
46
+ decision_reason: string;
47
+ /**
48
+ * `actionable` groups are safe to delete in `--apply` mode.
49
+ * `suspicious` groups are reported but never mutated: a stable-id
50
+ * member exists but a legacy member is newer or has more content,
51
+ * so deleting the legacy would lose information the canonical row
52
+ * doesn't have. The user resolves by hand (or re-imports the
53
+ * richer legacy snapshot so it lands on the stable row id).
54
+ */
55
+ classification: "actionable" | "suspicious";
56
+ /** Per-group flags explaining why the stable rule was overridden. Empty when `actionable`. */
57
+ suspicious_reasons: SuspicionReason[];
58
+ }
59
+ export interface DedupePlan {
60
+ /** Groups safe to delete; loser members + their raw files. */
61
+ actionable_groups: DedupeGroupPlan[];
62
+ /**
63
+ * Stable-rule winners that are older or shorter than a deleted
64
+ * legacy member. Reported for operator triage; never mutated.
65
+ */
66
+ suspicious_groups: DedupeGroupPlan[];
67
+ /**
68
+ * Web-source rows for which the planner could not derive a
69
+ * `(source, conversation_id)` canonical key — either the raw file
70
+ * is missing from disk, or it exists but lacks `conversation_id`.
71
+ * This is a real audit anomaly for web sources (their raws always
72
+ * carry a provider conversation id). CLI sources are NEVER reported
73
+ * here: their row id is canonical and they don't participate in
74
+ * `(source, conversation_id)` dedupe.
75
+ */
76
+ rows_without_dedupe_key: {
77
+ row_id: string;
78
+ table: ConversationTable;
79
+ source: ConversationSource;
80
+ }[];
81
+ }
82
+ /**
83
+ * Pure planner. Given a snapshot of rows + raw files, produces the
84
+ * dedupe plan with no I/O. Caller decides whether to apply.
85
+ */
86
+ export declare function planDedupe(input: DedupePlanInput): DedupePlan;
87
+ export interface DedupeConversationsReport {
88
+ apply: boolean;
89
+ rows_scanned: number;
90
+ raw_files_scanned: number;
91
+ /** Total dedupe-eligible groups (actionable + suspicious). */
92
+ duplicate_groups_found: number;
93
+ /** Rows that `--apply` would delete (actionable groups only). */
94
+ rows_to_delete: number;
95
+ /** Raw files that `--apply` would delete (actionable groups only). */
96
+ raw_files_to_delete: number;
97
+ rows_deleted: number;
98
+ raw_files_deleted: number;
99
+ /**
100
+ * Web-source rows the planner could not key by
101
+ * `(source, conversation_id)`. See `DedupePlan.rows_without_dedupe_key`
102
+ * for the precise definition. CLI rows are never counted here.
103
+ */
104
+ rows_without_dedupe_key: number;
105
+ /** Number of groups skipped in `--apply` mode for safety. */
106
+ suspicious_groups_skipped: number;
107
+ actionable_groups: DedupeGroupPlan[];
108
+ suspicious_groups: DedupeGroupPlan[];
109
+ errors: string[];
110
+ /**
111
+ * Absolute path of the audit JSON written for this run (when
112
+ * `reportsDir` was supplied). Same content as the returned report;
113
+ * persisted so operators can spot-check groups before `--apply` and
114
+ * keep an after-the-fact record once applied.
115
+ */
116
+ report_path?: string;
117
+ }
118
+ export interface DedupeConversationsOpts {
119
+ apply: boolean;
120
+ dataDir: string;
121
+ /**
122
+ * If set, the report is also written to
123
+ * `<reportsDir>/dedupe-conversations-<ISO-stamp>.json` and the path
124
+ * is echoed in `report.report_path`. Directory is created if missing.
125
+ */
126
+ reportsDir?: string;
127
+ }
128
+ /**
129
+ * Scan `conversations_hot` + `conversations_cold`, plan the dedupe,
130
+ * optionally apply. Caller (the reconcile handler) wraps this in the
131
+ * watcher pause/resume protocol so live writes can't race.
132
+ */
133
+ export declare function dedupeConversations(opts: DedupeConversationsOpts): Promise<DedupeConversationsReport>;
134
+ //# sourceMappingURL=dedupe-conversations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedupe-conversations.d.ts","sourceRoot":"","sources":["../../../../src/jobs/handlers/dedupe-conversations.ts"],"names":[],"mappings":"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"}