@getrift/rift 0.1.0-beta.12 → 0.1.0-beta.14

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 (89) hide show
  1. package/README.md +35 -9
  2. package/dist/src/cli/commands/doctor.d.ts +6 -0
  3. package/dist/src/cli/commands/doctor.d.ts.map +1 -0
  4. package/dist/src/cli/commands/doctor.js +183 -0
  5. package/dist/src/cli/commands/doctor.js.map +1 -0
  6. package/dist/src/cli/commands/menubar.d.ts +30 -0
  7. package/dist/src/cli/commands/menubar.d.ts.map +1 -0
  8. package/dist/src/cli/commands/menubar.js +180 -0
  9. package/dist/src/cli/commands/menubar.js.map +1 -0
  10. package/dist/src/cli/commands/onboard.d.ts +38 -0
  11. package/dist/src/cli/commands/onboard.d.ts.map +1 -1
  12. package/dist/src/cli/commands/onboard.js +203 -121
  13. package/dist/src/cli/commands/onboard.js.map +1 -1
  14. package/dist/src/cli/commands/status.d.ts +9 -7
  15. package/dist/src/cli/commands/status.d.ts.map +1 -1
  16. package/dist/src/cli/commands/status.js +29 -10
  17. package/dist/src/cli/commands/status.js.map +1 -1
  18. package/dist/src/cli/commands/update.d.ts +3 -0
  19. package/dist/src/cli/commands/update.d.ts.map +1 -1
  20. package/dist/src/cli/commands/update.js +19 -0
  21. package/dist/src/cli/commands/update.js.map +1 -1
  22. package/dist/src/cli/index.d.ts.map +1 -1
  23. package/dist/src/cli/index.js +4 -0
  24. package/dist/src/cli/index.js.map +1 -1
  25. package/dist/src/cli/postinstall-menubar.d.ts +22 -0
  26. package/dist/src/cli/postinstall-menubar.d.ts.map +1 -0
  27. package/dist/src/cli/postinstall-menubar.js +39 -0
  28. package/dist/src/cli/postinstall-menubar.js.map +1 -0
  29. package/dist/src/cli/status/friend-header.d.ts +8 -1
  30. package/dist/src/cli/status/friend-header.d.ts.map +1 -1
  31. package/dist/src/cli/status/friend-header.js +93 -12
  32. package/dist/src/cli/status/friend-header.js.map +1 -1
  33. package/dist/src/cli/ui.d.ts +47 -0
  34. package/dist/src/cli/ui.d.ts.map +1 -0
  35. package/dist/src/cli/ui.js +166 -0
  36. package/dist/src/cli/ui.js.map +1 -0
  37. package/dist/src/diagnostics/doctor.d.ts +106 -0
  38. package/dist/src/diagnostics/doctor.d.ts.map +1 -0
  39. package/dist/src/diagnostics/doctor.js +251 -0
  40. package/dist/src/diagnostics/doctor.js.map +1 -0
  41. package/dist/src/diagnostics/notify.d.ts +90 -0
  42. package/dist/src/diagnostics/notify.d.ts.map +1 -0
  43. package/dist/src/diagnostics/notify.js +177 -0
  44. package/dist/src/diagnostics/notify.js.map +1 -0
  45. package/dist/src/diagnostics/repair-prompt.d.ts +49 -0
  46. package/dist/src/diagnostics/repair-prompt.d.ts.map +1 -0
  47. package/dist/src/diagnostics/repair-prompt.js +198 -0
  48. package/dist/src/diagnostics/repair-prompt.js.map +1 -0
  49. package/dist/src/jobs/handlers/dedupe-conversations.d.ts +25 -2
  50. package/dist/src/jobs/handlers/dedupe-conversations.d.ts.map +1 -1
  51. package/dist/src/jobs/handlers/dedupe-conversations.js +48 -9
  52. package/dist/src/jobs/handlers/dedupe-conversations.js.map +1 -1
  53. package/dist/src/jobs/handlers/ingest.d.ts.map +1 -1
  54. package/dist/src/jobs/handlers/ingest.js +8 -2
  55. package/dist/src/jobs/handlers/ingest.js.map +1 -1
  56. package/dist/src/main.js +43 -4
  57. package/dist/src/main.js.map +1 -1
  58. package/dist/src/mcp/server.d.ts.map +1 -1
  59. package/dist/src/mcp/server.js +43 -3
  60. package/dist/src/mcp/server.js.map +1 -1
  61. package/dist/src/mcp/tools/context-pack.js +163 -25
  62. package/dist/src/mcp/tools/context-pack.js.map +1 -1
  63. package/dist/src/observability/onboarding-metric.d.ts +115 -0
  64. package/dist/src/observability/onboarding-metric.d.ts.map +1 -0
  65. package/dist/src/observability/onboarding-metric.js +344 -0
  66. package/dist/src/observability/onboarding-metric.js.map +1 -0
  67. package/dist/src/observability/version-check.d.ts +1 -0
  68. package/dist/src/observability/version-check.d.ts.map +1 -1
  69. package/dist/src/observability/version-check.js +2 -1
  70. package/dist/src/observability/version-check.js.map +1 -1
  71. package/dist/src/retrieval/context-pack.d.ts +37 -0
  72. package/dist/src/retrieval/context-pack.d.ts.map +1 -1
  73. package/dist/src/retrieval/context-pack.js +165 -1
  74. package/dist/src/retrieval/context-pack.js.map +1 -1
  75. package/dist/src/retrieval/current-truth.d.ts +326 -0
  76. package/dist/src/retrieval/current-truth.d.ts.map +1 -0
  77. package/dist/src/retrieval/current-truth.js +747 -0
  78. package/dist/src/retrieval/current-truth.js.map +1 -0
  79. package/dist/src/retrieval/git-state.d.ts +53 -0
  80. package/dist/src/retrieval/git-state.d.ts.map +1 -0
  81. package/dist/src/retrieval/git-state.js +174 -0
  82. package/dist/src/retrieval/git-state.js.map +1 -0
  83. package/dist/src/server/routes/friend-status.d.ts +63 -0
  84. package/dist/src/server/routes/friend-status.d.ts.map +1 -1
  85. package/dist/src/server/routes/friend-status.js +97 -0
  86. package/dist/src/server/routes/friend-status.js.map +1 -1
  87. package/operator/swiftbar/render-menu.py +444 -0
  88. package/operator/swiftbar/rift.10s.sh +147 -0
  89. package/package.json +4 -1
@@ -0,0 +1,198 @@
1
+ /**
2
+ * Commands the assistant must never run from this prompt. Kept as data
3
+ * so the test suite can assert every one is named in the rendered
4
+ * "Constraints" block.
5
+ */
6
+ export const FORBIDDEN_COMMANDS = [
7
+ "rift uninstall --purge-data",
8
+ "rift rebuild --reset",
9
+ "rm -rf",
10
+ ];
11
+ /**
12
+ * Build the repair prompt. `target` only changes which assistant the
13
+ * prompt addresses; the state and safety rules are identical so neither
14
+ * tool can be talked into something the other forbids.
15
+ */
16
+ export function buildRepairPrompt(input, target) {
17
+ const { report, status, localSignals } = input;
18
+ const assistant = target === "claude" ? "Claude" : "Codex";
19
+ const lines = [];
20
+ lines.push(`Rift is not healthy on this Mac. Please help me fix it, ${assistant}.`);
21
+ lines.push("");
22
+ // --- Symptoms: the diagnosed issues, plain-language, no secrets. ---
23
+ lines.push("Symptoms:");
24
+ if (report.issues.length === 0) {
25
+ lines.push("- rift doctor found no specific broken signal, but I think something " +
26
+ "is off. Please investigate.");
27
+ }
28
+ else {
29
+ for (const issue of report.issues) {
30
+ lines.push(`- ${issue.title}. ${issue.detail}`);
31
+ }
32
+ }
33
+ lines.push("");
34
+ // --- State: redacted, debug-useful facts. ---
35
+ lines.push("Current state:");
36
+ for (const line of renderStateLines(report, status, localSignals)) {
37
+ lines.push(`- ${line}`);
38
+ }
39
+ lines.push("");
40
+ // --- Inspect-first checklist, ordered by the primary issue. ---
41
+ lines.push("Start by inspecting, in this order:");
42
+ let step = 1;
43
+ lines.push(`${step++}. \`rift status\` — confirm the current state for yourself.`);
44
+ lines.push(`${step++}. \`rift doctor\` — read the plain-language diagnosis.`);
45
+ for (const cmd of inspectionCommandsFor(report)) {
46
+ lines.push(`${step++}. ${cmd}`);
47
+ }
48
+ lines.push(`${step++}. Rift logs only if the above is not enough.`);
49
+ lines.push("");
50
+ // --- Hard constraints. ---
51
+ lines.push("Constraints:");
52
+ lines.push("- Explain the failure to me in plain English BEFORE changing anything.");
53
+ lines.push("- Inspect first; prefer commands that inspect and repair over commands that reset.");
54
+ lines.push("- Do not print or echo secrets (Voyage key, tokens).");
55
+ lines.push("- Do not delete or reset my Rift data.");
56
+ for (const forbidden of FORBIDDEN_COMMANDS) {
57
+ lines.push(`- Do not run \`${forbidden}\`.`);
58
+ }
59
+ lines.push("- If a fix is risky or irreversible, stop and ask me first.");
60
+ return lines.join("\n");
61
+ }
62
+ /**
63
+ * Render the redacted "Current state" facts. Every value here is either
64
+ * non-sensitive (versions, ports, booleans, ages) or already reduced to
65
+ * a safe fingerprint (Voyage last-4). Raw keys, tokens, and conversation
66
+ * content never reach this function.
67
+ */
68
+ function renderStateLines(report, status, localSignals) {
69
+ const out = [];
70
+ if (!status) {
71
+ // The reason /status/friend could not be read drives the state copy:
72
+ // "not responding" is only true for a genuinely down daemon, not for
73
+ // an auth/config failure where the daemon may be perfectly alive.
74
+ switch (report.primary?.kind) {
75
+ case "config_missing":
76
+ out.push("Rift config: missing (could not resolve the daemon URL).");
77
+ out.push("This Mac looks like onboarding never completed.");
78
+ break;
79
+ case "daemon_auth_failed":
80
+ out.push("Rift daemon: reachable, but this command could not authenticate " +
81
+ "to it (missing or rejected token). The daemon itself may be fine.");
82
+ break;
83
+ default:
84
+ out.push("Rift daemon: not responding (could not reach /status/friend).");
85
+ break;
86
+ }
87
+ out.push("Expected daemon label: com.getrift.daemon (managed by launchd on port 3577).");
88
+ out.push(voyageFingerprintLine(localSignals));
89
+ out.push(mcpLine(localSignals));
90
+ return out;
91
+ }
92
+ out.push(`Rift version: ${status.build.version} (node ${status.build.node}).`);
93
+ out.push(`Daemon: running on port ${status.daemon.port}, up ${formatSeconds(status.daemon.uptime_seconds)}.`);
94
+ // data_dir is a local path, not a secret, and the assistant needs it
95
+ // to inspect the right data root (a stale Application Support copy is
96
+ // a real false-alarm source).
97
+ out.push(`Data directory: ${status.daemon.data_dir}`);
98
+ out.push(`Voyage key present in daemon env: ${status.daemon.voyage_key_present ? "yes" : "no"}.`);
99
+ out.push(voyageFingerprintLine(localSignals));
100
+ if (status.voyage.last_embed_at) {
101
+ out.push(`Last successful embed: ${status.voyage.last_embed_at}.`);
102
+ }
103
+ if (status.voyage.last_error_at) {
104
+ out.push(`Last Voyage error: ${status.voyage.last_error_at} (${status.voyage.last_error_reason ?? "unknown"}).`);
105
+ }
106
+ if (status.index.last_update_at) {
107
+ out.push(`Last index write: ${status.index.last_update_at}.`);
108
+ }
109
+ if (status.index.last_error_at) {
110
+ out.push(`Last index error: ${status.index.last_error_at} (${status.index.last_error_reason ?? "unknown"}).`);
111
+ }
112
+ out.push(`Codex CLI auth: ${codexAuthLabel(status.codex.last_preflight_ok)}${status.codex.last_preflight_at
113
+ ? ` (last checked ${status.codex.last_preflight_at})`
114
+ : ""}.`);
115
+ if (status.capture.last_run_at) {
116
+ out.push(`Last capture run: ${status.capture.last_run_at} — ${status.capture.last_saved} saved, ` +
117
+ `${status.capture.last_review} for review, ${status.capture.last_errors} errors.`);
118
+ }
119
+ else {
120
+ out.push("Last capture run: none yet.");
121
+ }
122
+ out.push(mcpLine(localSignals));
123
+ return out;
124
+ }
125
+ function voyageFingerprintLine(localSignals) {
126
+ return localSignals.voyageLast4
127
+ ? `Voyage key fingerprint (last 4 only): …${localSignals.voyageLast4}.`
128
+ : "Voyage key fingerprint: not found locally.";
129
+ }
130
+ function mcpLine(localSignals) {
131
+ if (localSignals.mcpClients.length === 0) {
132
+ return "MCP clients: none detected.";
133
+ }
134
+ const parts = localSignals.mcpClients.map((c) => `${c.client}=${c.installed ? "connected" : "not connected"}`);
135
+ return `MCP clients: ${parts.join(", ")}.`;
136
+ }
137
+ function codexAuthLabel(ok) {
138
+ if (ok === null)
139
+ return "unknown (not checked yet)";
140
+ return ok ? "looks authenticated" : "appears expired";
141
+ }
142
+ /**
143
+ * Issue-specific inspection commands, deduped and ordered by the issues
144
+ * present. Inspection/repair only — nothing here resets state.
145
+ */
146
+ function inspectionCommandsFor(report) {
147
+ const cmds = [];
148
+ const seen = new Set();
149
+ const add = (cmd) => {
150
+ if (!seen.has(cmd)) {
151
+ seen.add(cmd);
152
+ cmds.push(cmd);
153
+ }
154
+ };
155
+ for (const issue of report.issues) {
156
+ switch (issue.kind) {
157
+ case "daemon_unreachable":
158
+ add("`launchctl print gui/$UID/com.getrift.daemon` — check the daemon is loaded and not crash-looping.");
159
+ break;
160
+ case "daemon_auth_failed":
161
+ add("`rift token issue` — re-issue an access token (the existing one is missing or rejected); do not restart the daemon for this.");
162
+ break;
163
+ case "config_missing":
164
+ add("`rift onboard` — finish setup; there is no config for this command to read yet.");
165
+ break;
166
+ case "codex_auth_expired":
167
+ add("`codex login` — re-authenticate the codex CLI, then `rift capture`.");
168
+ break;
169
+ case "voyage_key_missing":
170
+ case "voyage_embed_errors":
171
+ add("`rift onboard --reconfigure-voyage` — re-check the Voyage key (it will not be printed).");
172
+ break;
173
+ case "index_write_errors":
174
+ add("`rift reindex` — only after confirming the cause; this rebuilds the index, it does not delete data.");
175
+ break;
176
+ case "capture_failed":
177
+ add("`rift capture` — re-run capture and read the per-session output.");
178
+ break;
179
+ default:
180
+ break;
181
+ }
182
+ }
183
+ return cmds;
184
+ }
185
+ function formatSeconds(seconds) {
186
+ if (seconds < 60)
187
+ return `${seconds}s`;
188
+ const minutes = Math.floor(seconds / 60);
189
+ if (minutes < 60)
190
+ return `${minutes}m`;
191
+ const hours = Math.floor(minutes / 60);
192
+ const remMin = minutes % 60;
193
+ if (hours < 24)
194
+ return remMin > 0 ? `${hours}h ${remMin}m` : `${hours}h`;
195
+ const days = Math.floor(hours / 24);
196
+ return `${days}d`;
197
+ }
198
+ //# sourceMappingURL=repair-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair-prompt.js","sourceRoot":"","sources":["../../../src/diagnostics/repair-prompt.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ConversationSource } from "../../providers/types.js";
1
2
  export type ConversationTable = "conversations_hot" | "conversations_cold";
2
3
  /** Minimal row projection the planner needs — no embedding or content. */
3
4
  export interface DedupeRowView {
@@ -5,6 +6,13 @@ export interface DedupeRowView {
5
6
  table: ConversationTable;
6
7
  indexed_at: string;
7
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;
8
16
  }
9
17
  /** Minimal raw-file projection — filename + parsed source/conversation_id. */
10
18
  export interface DedupeRawView {
@@ -56,9 +64,19 @@ export interface DedupePlan {
56
64
  * legacy member. Reported for operator triage; never mutated.
57
65
  */
58
66
  suspicious_groups: DedupeGroupPlan[];
59
- rows_without_raw: {
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: {
60
77
  row_id: string;
61
78
  table: ConversationTable;
79
+ source: ConversationSource;
62
80
  }[];
63
81
  }
64
82
  /**
@@ -78,7 +96,12 @@ export interface DedupeConversationsReport {
78
96
  raw_files_to_delete: number;
79
97
  rows_deleted: number;
80
98
  raw_files_deleted: number;
81
- rows_without_raw: 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;
82
105
  /** Number of groups skipped in `--apply` mode for safety. */
83
106
  suspicious_groups_skipped: number;
84
107
  actionable_groups: DedupeGroupPlan[];
@@ -1 +1 @@
1
- {"version":3,"file":"dedupe-conversations.d.ts","sourceRoot":"","sources":["../../../../src/jobs/handlers/dedupe-conversations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dedupe-conversations.d.ts","sourceRoot":"","sources":["../../../../src/jobs/handlers/dedupe-conversations.ts"],"names":[],"mappings":"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"}
@@ -35,10 +35,31 @@
35
35
  * `--apply` never mutates it. The operator triages by hand.
36
36
  *
37
37
  * Dry-run by default. Only `--apply` mutates rows or deletes raw files.
38
- * Rows whose raw file is missing are skipped — the normal reconcile pass
39
- * already classifies them as orphans, which is a different repair lane.
38
+ *
39
+ * CLI capture sources (`claude_code`, `codex_cli`, `gemini_cli`) opt out
40
+ * of `(source, conversation_id)` dedupe: they have no provider-side
41
+ * conversation id and their row id is the canonical identifier. The
42
+ * planner skips them entirely — they are neither grouped nor counted in
43
+ * `rows_without_dedupe_key`.
44
+ *
45
+ * For web-source rows whose raw file is missing, OR exists but lacks
46
+ * `conversation_id`, the planner reports them in `rows_without_dedupe_key`
47
+ * for operator triage. Truly orphan rows (no raw on disk) are also
48
+ * handled by the normal reconcile pass — that's where any deletion lives.
40
49
  */
41
50
  import { stableConversationRowId } from "../../ingestion/inbox-core/conversation-key.js";
51
+ /**
52
+ * CLI capture sources. These hit `POST /save` and have no provider-side
53
+ * conversation id — the row id (job chain root) IS the canonical
54
+ * identifier, so they cannot participate in stable-vs-legacy dedupe.
55
+ * The planner skips them entirely: they are neither grouped nor flagged
56
+ * in `rows_without_dedupe_key`.
57
+ */
58
+ const CLI_CONVERSATION_SOURCES = new Set([
59
+ "claude_code",
60
+ "codex_cli",
61
+ "gemini_cli",
62
+ ]);
42
63
  /**
43
64
  * Pure planner. Given a snapshot of rows + raw files, produces the
44
65
  * dedupe plan with no I/O. Caller decides whether to apply.
@@ -69,11 +90,21 @@ export function planDedupe(input) {
69
90
  // since provider conversation ids can in principle contain any
70
91
  // character.
71
92
  const groups = new Map();
72
- const rowsWithoutRaw = [];
93
+ const rowsWithoutDedupeKey = [];
73
94
  for (const row of input.rows) {
95
+ // CLI sources opt out of (source, conversation_id) dedupe: their
96
+ // row id IS the canonical key, so they cannot have stable-vs-legacy
97
+ // duplicates and should not be flagged when their raw lacks
98
+ // `conversation_id` (that's the expected shape).
99
+ if (CLI_CONVERSATION_SOURCES.has(row.source))
100
+ continue;
74
101
  const lookup = sourceAndConvByRowId.get(row.row_id);
75
102
  if (!lookup) {
76
- rowsWithoutRaw.push({ row_id: row.row_id, table: row.table });
103
+ rowsWithoutDedupeKey.push({
104
+ row_id: row.row_id,
105
+ table: row.table,
106
+ source: row.source,
107
+ });
77
108
  continue;
78
109
  }
79
110
  const stableId = stableConversationRowId(lookup.source, lookup.conversation_id);
@@ -134,7 +165,7 @@ export function planDedupe(input) {
134
165
  return {
135
166
  actionable_groups: actionable,
136
167
  suspicious_groups: suspicious,
137
- rows_without_raw: rowsWithoutRaw,
168
+ rows_without_dedupe_key: rowsWithoutDedupeKey,
138
169
  };
139
170
  }
140
171
  /**
@@ -209,6 +240,11 @@ export async function dedupeConversations(opts) {
209
240
  ];
210
241
  const errors = [];
211
242
  const rawFiles = [];
243
+ // Total raw JSON files visited on disk, regardless of whether the
244
+ // planner could derive a `(source, conversation_id)` key from them.
245
+ // CLI raws (no `conversation_id`) count here even though they don't
246
+ // land in `rawFiles`, so the metric matches its name.
247
+ let rawFilesScanned = 0;
212
248
  for (const source of ALL_CONV_SOURCES) {
213
249
  const rawDir = path.join(opts.dataDir, "raw", "conversations", source);
214
250
  if (!fs.existsSync(rawDir))
@@ -220,13 +256,15 @@ export async function dedupeConversations(opts) {
220
256
  if (!rowIdFromFilename)
221
257
  continue;
222
258
  const fullPath = path.join(rawDir, filename);
259
+ rawFilesScanned++;
223
260
  try {
224
261
  const raw = JSON.parse(fs.readFileSync(fullPath, "utf-8"));
225
262
  const rawSource = typeof raw.source === "string" ? raw.source : source;
226
263
  const conversationId = typeof raw.conversation_id === "string" ? raw.conversation_id : "";
227
264
  if (!conversationId) {
228
- // Pre-stable-id raws may not carry conversation_id at all.
229
- // Without it we can't group, so skip silently.
265
+ // Pre-stable-id raws and CLI captures don't carry
266
+ // conversation_id. Without it we can't group, so skip silently
267
+ // — but the raw was still scanned (counted above).
230
268
  continue;
231
269
  }
232
270
  rawFiles.push({
@@ -283,13 +321,13 @@ export async function dedupeConversations(opts) {
283
321
  const report = {
284
322
  apply: opts.apply,
285
323
  rows_scanned: rows.length,
286
- raw_files_scanned: rawFiles.length,
324
+ raw_files_scanned: rawFilesScanned,
287
325
  duplicate_groups_found: plan.actionable_groups.length + plan.suspicious_groups.length,
288
326
  rows_to_delete: rowsToDelete,
289
327
  raw_files_to_delete: rawFilesToDelete,
290
328
  rows_deleted: rowsDeleted,
291
329
  raw_files_deleted: rawFilesDeleted,
292
- rows_without_raw: plan.rows_without_raw.length,
330
+ rows_without_dedupe_key: plan.rows_without_dedupe_key.length,
293
331
  suspicious_groups_skipped: plan.suspicious_groups.length,
294
332
  actionable_groups: plan.actionable_groups,
295
333
  suspicious_groups: plan.suspicious_groups,
@@ -318,6 +356,7 @@ function rowView(row, table) {
318
356
  table,
319
357
  indexed_at: row.indexed_at,
320
358
  content_length: (row.content ?? "").length,
359
+ source: row.source,
321
360
  };
322
361
  }
323
362
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dedupe-conversations.js","sourceRoot":"","sources":["../../../../src/jobs/handlers/dedupe-conversations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dedupe-conversations.js","sourceRoot":"","sources":["../../../../src/jobs/handlers/dedupe-conversations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../../../../src/jobs/handlers/ingest.ts"],"names":[],"mappings":"AAsDA,OAAO,KAAK,EAAO,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,0BAA0B,CAAC;AAalC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAKnE,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,QAAQ,CAAC;IAChB,wBAAwB,CAAC,EAAE,CACzB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,iBAAiB,KACpB,iBAAiB,CAAC;CACxB;AA4HD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,CA6PvE"}
1
+ {"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../../../../src/jobs/handlers/ingest.ts"],"names":[],"mappings":"AAsDA,OAAO,KAAK,EAAO,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,0BAA0B,CAAC;AAalC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAKnE,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,QAAQ,CAAC;IAChB,wBAAwB,CAAC,EAAE,CACzB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,iBAAiB,KACpB,iBAAiB,CAAC;CACxB;AA4HD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,CAqQvE"}
@@ -185,8 +185,14 @@ export function createIngestHandler(deps) {
185
185
  }
186
186
  const parsed = parser(files);
187
187
  if (parsed.length === 0) {
188
- // Nothing to ingest not an error, just empty export
189
- return;
188
+ // A user-visible inbox drop that produced zero parseable
189
+ // conversations is an export the friend will want to know about
190
+ // and re-drop — not a silent no-op. Surfacing this as a failed
191
+ // job lets /status/friend show `last_error_reason: "empty_export"`
192
+ // and the existing Next: line route the user to re-drop.
193
+ // The phrase "No conversations" is what classifyJobError maps to
194
+ // the `empty_export` class; do not rephrase without updating it.
195
+ throw new Error(`No conversations found in export "${payload.filename}"`);
190
196
  }
191
197
  const rawDir = path.join(deps.dataDir, "raw", "conversations", payload.rawSource ?? payload.source);
192
198
  const table = getTable("conversations_hot");
@@ -1 +1 @@
1
- {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/jobs/handlers/ingest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/jobs/handlers/ingest.ts"],"names":[],"mappings":"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"}
package/dist/src/main.js CHANGED
@@ -35,6 +35,11 @@ if (!configPath) {
35
35
  }
36
36
  const absoluteConfigPath = path.resolve(configPath);
37
37
  const config = loadConfig(absoluteConfigPath);
38
+ // Anchor for failure-notification recency gating. Captured here (rather
39
+ // than reusing buildApp's internal startTime) so the capture loop can
40
+ // distinguish "failing during this uptime" from "stale error from a
41
+ // prior process" without threading startTime out of buildApp.
42
+ const daemonStartTime = Date.now();
38
43
  // Run hidden legacy migration BEFORE loadRiftEnv so the env loader never
39
44
  // resolves to the legacy path on a machine carrying pre-rename state.
40
45
  // Idempotent — no-op on a clean Mac, and on second boot.
@@ -383,20 +388,54 @@ if (config.capture.enabled) {
383
388
  }
384
389
  process.stderr.write(`Auto-capture error: ${error}\n`);
385
390
  }
391
+ finally {
392
+ // Daemon-observed failure notifications. Runs after the run record
393
+ // is written (both branches), so it diagnoses the freshest signals.
394
+ // Best-effort: a notification failure must never affect capture.
395
+ await notifyDaemonObservedFailures();
396
+ }
397
+ };
398
+ // Diagnose the live daemon signals and raise one native notification
399
+ // per newly-failing, daemon-observable issue (expired Codex login,
400
+ // missing/failing Voyage key, index-write failure, capture failure).
401
+ // Rate-limited inside notifyDaemonFailures (transition + once/day).
402
+ const notifyDaemonObservedFailures = async () => {
403
+ try {
404
+ const { buildFriendStatusPayload } = await import("./server/routes/friend-status.js");
405
+ const { diagnose } = await import("./diagnostics/doctor.js");
406
+ const { notifyDaemonFailures } = await import("./diagnostics/notify.js");
407
+ const payload = buildFriendStatusPayload({
408
+ config,
409
+ startTime: daemonStartTime,
410
+ jobQueue,
411
+ });
412
+ const report = diagnose({
413
+ status: payload,
414
+ // The notifier only acts on daemon-observable issues, none of
415
+ // which depend on local MCP-client config — so the daemon need
416
+ // not read the friend's client files here.
417
+ localSignals: { voyageLast4: null, mcpClients: [] },
418
+ now: Date.now(),
419
+ });
420
+ notifyDaemonFailures(config.data_paths.data_dir, report.issues);
421
+ }
422
+ catch (notifyErr) {
423
+ process.stderr.write(`Failure-notification check skipped: ${notifyErr instanceof Error ? notifyErr.message : String(notifyErr)}\n`);
424
+ }
386
425
  };
387
426
  // Run once at startup (after tables are ready)
388
427
  void runCapture();
389
428
  captureInterval = setInterval(() => void runCapture(), captureIntervalMs);
390
429
  process.stderr.write(`Auto-capture enabled for ${config.capture.sources.join(", ")} (interval: ${config.capture.interval_seconds}s)\n`);
391
430
  }
392
- // --- Daily npm-registry update check ---
393
- // One eager probe at boot, then every 24h. Metadata-only — see
431
+ // --- npm-registry update check ---
432
+ // One eager probe at boot, then hourly. Metadata-only — see
394
433
  // docs/feedback/PRIVACY.md and src/observability/version-check.ts.
395
434
  // Non-fatal: any failure is recorded in the snapshot and surfaced to
396
435
  // the renderer, never thrown.
397
436
  let versionCheckInterval = null;
398
437
  {
399
- const { runVersionCheck } = await import("./observability/version-check.js");
438
+ const { runVersionCheck, VERSION_CHECK_INTERVAL_MS } = await import("./observability/version-check.js");
400
439
  const installedVersion = getBuildInfo().version;
401
440
  const runProbe = async () => {
402
441
  try {
@@ -410,7 +449,7 @@ let versionCheckInterval = null;
410
449
  }
411
450
  };
412
451
  void runProbe();
413
- versionCheckInterval = setInterval(() => void runProbe(), 24 * 60 * 60 * 1000);
452
+ versionCheckInterval = setInterval(() => void runProbe(), VERSION_CHECK_INTERVAL_MS);
414
453
  }
415
454
  // Write PID file so the CLI can find and signal this process.
416
455
  const pidPath = path.join(config.data_paths.data_dir, "rift.pid");