@getrift/rift 0.1.0-beta.2 → 0.1.0-beta.20

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 (386) hide show
  1. package/README.md +35 -9
  2. package/dist/src/auth/keychain.d.ts +9 -0
  3. package/dist/src/auth/keychain.d.ts.map +1 -1
  4. package/dist/src/auth/keychain.js +37 -0
  5. package/dist/src/auth/keychain.js.map +1 -1
  6. package/dist/src/capture/auto-capture.d.ts +7 -0
  7. package/dist/src/capture/auto-capture.d.ts.map +1 -1
  8. package/dist/src/capture/auto-capture.js +82 -15
  9. package/dist/src/capture/auto-capture.js.map +1 -1
  10. package/dist/src/capture/auto-repair.d.ts +110 -0
  11. package/dist/src/capture/auto-repair.d.ts.map +1 -0
  12. package/dist/src/capture/auto-repair.js +269 -0
  13. package/dist/src/capture/auto-repair.js.map +1 -0
  14. package/dist/src/capture/codex-cli-triage-provider.d.ts.map +1 -1
  15. package/dist/src/capture/codex-cli-triage-provider.js +4 -3
  16. package/dist/src/capture/codex-cli-triage-provider.js.map +1 -1
  17. package/dist/src/capture/observability.d.ts +42 -0
  18. package/dist/src/capture/observability.d.ts.map +1 -1
  19. package/dist/src/capture/observability.js +45 -4
  20. package/dist/src/capture/observability.js.map +1 -1
  21. package/dist/src/capture/recover-quarantine.d.ts +260 -0
  22. package/dist/src/capture/recover-quarantine.d.ts.map +1 -0
  23. package/dist/src/capture/recover-quarantine.js +522 -0
  24. package/dist/src/capture/recover-quarantine.js.map +1 -0
  25. package/dist/src/cli/commands/backfill.d.ts.map +1 -1
  26. package/dist/src/cli/commands/backfill.js +5 -2
  27. package/dist/src/cli/commands/backfill.js.map +1 -1
  28. package/dist/src/cli/commands/capture-recover.d.ts +40 -0
  29. package/dist/src/cli/commands/capture-recover.d.ts.map +1 -0
  30. package/dist/src/cli/commands/capture-recover.js +184 -0
  31. package/dist/src/cli/commands/capture-recover.js.map +1 -0
  32. package/dist/src/cli/commands/capture.d.ts.map +1 -1
  33. package/dist/src/cli/commands/capture.js +96 -5
  34. package/dist/src/cli/commands/capture.js.map +1 -1
  35. package/dist/src/cli/commands/doctor.d.ts +6 -0
  36. package/dist/src/cli/commands/doctor.d.ts.map +1 -0
  37. package/dist/src/cli/commands/doctor.js +242 -0
  38. package/dist/src/cli/commands/doctor.js.map +1 -0
  39. package/dist/src/cli/commands/feedback.d.ts +12 -0
  40. package/dist/src/cli/commands/feedback.d.ts.map +1 -1
  41. package/dist/src/cli/commands/feedback.js +93 -4
  42. package/dist/src/cli/commands/feedback.js.map +1 -1
  43. package/dist/src/cli/commands/mcp-install.js +5 -2
  44. package/dist/src/cli/commands/mcp-install.js.map +1 -1
  45. package/dist/src/cli/commands/menubar.d.ts +30 -0
  46. package/dist/src/cli/commands/menubar.d.ts.map +1 -0
  47. package/dist/src/cli/commands/menubar.js +180 -0
  48. package/dist/src/cli/commands/menubar.js.map +1 -0
  49. package/dist/src/cli/commands/onboard.d.ts +129 -0
  50. package/dist/src/cli/commands/onboard.d.ts.map +1 -1
  51. package/dist/src/cli/commands/onboard.js +752 -171
  52. package/dist/src/cli/commands/onboard.js.map +1 -1
  53. package/dist/src/cli/commands/rebuild.d.ts.map +1 -1
  54. package/dist/src/cli/commands/rebuild.js +6 -3
  55. package/dist/src/cli/commands/rebuild.js.map +1 -1
  56. package/dist/src/cli/commands/reconcile.d.ts.map +1 -1
  57. package/dist/src/cli/commands/reconcile.js +12 -0
  58. package/dist/src/cli/commands/reconcile.js.map +1 -1
  59. package/dist/src/cli/commands/review.d.ts.map +1 -1
  60. package/dist/src/cli/commands/review.js +22 -7
  61. package/dist/src/cli/commands/review.js.map +1 -1
  62. package/dist/src/cli/commands/search.d.ts +2 -0
  63. package/dist/src/cli/commands/search.d.ts.map +1 -1
  64. package/dist/src/cli/commands/search.js +34 -4
  65. package/dist/src/cli/commands/search.js.map +1 -1
  66. package/dist/src/cli/commands/status.d.ts +9 -7
  67. package/dist/src/cli/commands/status.d.ts.map +1 -1
  68. package/dist/src/cli/commands/status.js +113 -12
  69. package/dist/src/cli/commands/status.js.map +1 -1
  70. package/dist/src/cli/commands/token-issue.d.ts.map +1 -1
  71. package/dist/src/cli/commands/token-issue.js +9 -1
  72. package/dist/src/cli/commands/token-issue.js.map +1 -1
  73. package/dist/src/cli/commands/triage.d.ts.map +1 -1
  74. package/dist/src/cli/commands/triage.js +7 -5
  75. package/dist/src/cli/commands/triage.js.map +1 -1
  76. package/dist/src/cli/commands/update.d.ts +80 -0
  77. package/dist/src/cli/commands/update.d.ts.map +1 -0
  78. package/dist/src/cli/commands/update.js +378 -0
  79. package/dist/src/cli/commands/update.js.map +1 -0
  80. package/dist/src/cli/default-config-path.d.ts +15 -0
  81. package/dist/src/cli/default-config-path.d.ts.map +1 -0
  82. package/dist/src/cli/default-config-path.js +27 -0
  83. package/dist/src/cli/default-config-path.js.map +1 -0
  84. package/dist/src/cli/feedback/feedback-config.d.ts +46 -0
  85. package/dist/src/cli/feedback/feedback-config.d.ts.map +1 -1
  86. package/dist/src/cli/feedback/feedback-config.js +130 -4
  87. package/dist/src/cli/feedback/feedback-config.js.map +1 -1
  88. package/dist/src/cli/feedback/feedback-history.d.ts +7 -0
  89. package/dist/src/cli/feedback/feedback-history.d.ts.map +1 -1
  90. package/dist/src/cli/feedback/feedback-history.js +39 -9
  91. package/dist/src/cli/feedback/feedback-history.js.map +1 -1
  92. package/dist/src/cli/feedback/feedback-payload.d.ts +22 -1
  93. package/dist/src/cli/feedback/feedback-payload.d.ts.map +1 -1
  94. package/dist/src/cli/feedback/feedback-payload.js.map +1 -1
  95. package/dist/src/cli/feedback/feedback-relay.d.ts +2 -2
  96. package/dist/src/cli/feedback/feedback-relay.d.ts.map +1 -1
  97. package/dist/src/cli/feedback/feedback-relay.js.map +1 -1
  98. package/dist/src/cli/feedback/invite.d.ts +17 -0
  99. package/dist/src/cli/feedback/invite.d.ts.map +1 -0
  100. package/dist/src/cli/feedback/invite.js +67 -0
  101. package/dist/src/cli/feedback/invite.js.map +1 -0
  102. package/dist/src/cli/feedback/relay-secret-store.d.ts +32 -0
  103. package/dist/src/cli/feedback/relay-secret-store.d.ts.map +1 -0
  104. package/dist/src/cli/feedback/relay-secret-store.js +137 -0
  105. package/dist/src/cli/feedback/relay-secret-store.js.map +1 -0
  106. package/dist/src/cli/http-client.d.ts +93 -1
  107. package/dist/src/cli/http-client.d.ts.map +1 -1
  108. package/dist/src/cli/http-client.js +254 -6
  109. package/dist/src/cli/http-client.js.map +1 -1
  110. package/dist/src/cli/index.d.ts.map +1 -1
  111. package/dist/src/cli/index.js +29 -6
  112. package/dist/src/cli/index.js.map +1 -1
  113. package/dist/src/cli/postinstall-menubar.d.ts +22 -0
  114. package/dist/src/cli/postinstall-menubar.d.ts.map +1 -0
  115. package/dist/src/cli/postinstall-menubar.js +39 -0
  116. package/dist/src/cli/postinstall-menubar.js.map +1 -0
  117. package/dist/src/cli/status/friend-header.d.ts +8 -1
  118. package/dist/src/cli/status/friend-header.d.ts.map +1 -1
  119. package/dist/src/cli/status/friend-header.js +334 -26
  120. package/dist/src/cli/status/friend-header.js.map +1 -1
  121. package/dist/src/cli/ui.d.ts +47 -0
  122. package/dist/src/cli/ui.d.ts.map +1 -0
  123. package/dist/src/cli/ui.js +166 -0
  124. package/dist/src/cli/ui.js.map +1 -0
  125. package/dist/src/config/schema.d.ts +79 -0
  126. package/dist/src/config/schema.d.ts.map +1 -1
  127. package/dist/src/config/schema.js +44 -0
  128. package/dist/src/config/schema.js.map +1 -1
  129. package/dist/src/diagnostics/codex-preflight.d.ts +33 -0
  130. package/dist/src/diagnostics/codex-preflight.d.ts.map +1 -0
  131. package/dist/src/diagnostics/codex-preflight.js +75 -0
  132. package/dist/src/diagnostics/codex-preflight.js.map +1 -0
  133. package/dist/src/diagnostics/doctor.d.ts +106 -0
  134. package/dist/src/diagnostics/doctor.d.ts.map +1 -0
  135. package/dist/src/diagnostics/doctor.js +334 -0
  136. package/dist/src/diagnostics/doctor.js.map +1 -0
  137. package/dist/src/diagnostics/notify.d.ts +90 -0
  138. package/dist/src/diagnostics/notify.d.ts.map +1 -0
  139. package/dist/src/diagnostics/notify.js +177 -0
  140. package/dist/src/diagnostics/notify.js.map +1 -0
  141. package/dist/src/diagnostics/repair-prompt.d.ts +49 -0
  142. package/dist/src/diagnostics/repair-prompt.d.ts.map +1 -0
  143. package/dist/src/diagnostics/repair-prompt.js +223 -0
  144. package/dist/src/diagnostics/repair-prompt.js.map +1 -0
  145. package/dist/src/ingestion/inbox-core/conversation-fingerprint.d.ts +2 -0
  146. package/dist/src/ingestion/inbox-core/conversation-fingerprint.d.ts.map +1 -0
  147. package/dist/src/ingestion/inbox-core/conversation-fingerprint.js +27 -0
  148. package/dist/src/ingestion/inbox-core/conversation-fingerprint.js.map +1 -0
  149. package/dist/src/ingestion/inbox-core/conversation-key.d.ts +2 -0
  150. package/dist/src/ingestion/inbox-core/conversation-key.d.ts.map +1 -0
  151. package/dist/src/ingestion/inbox-core/conversation-key.js +31 -0
  152. package/dist/src/ingestion/inbox-core/conversation-key.js.map +1 -0
  153. package/dist/src/ingestion/inbox-core/extensions.d.ts +3 -0
  154. package/dist/src/ingestion/inbox-core/extensions.d.ts.map +1 -0
  155. package/dist/src/ingestion/inbox-core/extensions.js +16 -0
  156. package/dist/src/ingestion/inbox-core/extensions.js.map +1 -0
  157. package/dist/src/ingestion/inbox-core/idempotency.d.ts +2 -0
  158. package/dist/src/ingestion/inbox-core/idempotency.d.ts.map +1 -0
  159. package/dist/src/ingestion/inbox-core/idempotency.js +22 -0
  160. package/dist/src/ingestion/inbox-core/idempotency.js.map +1 -0
  161. package/dist/src/ingestion/inbox-core/index.d.ts +20 -0
  162. package/dist/src/ingestion/inbox-core/index.d.ts.map +1 -0
  163. package/dist/src/ingestion/inbox-core/index.js +20 -0
  164. package/dist/src/ingestion/inbox-core/index.js.map +1 -0
  165. package/dist/src/ingestion/inbox-core/source-detection.d.ts +2 -0
  166. package/dist/src/ingestion/inbox-core/source-detection.d.ts.map +1 -0
  167. package/dist/src/ingestion/inbox-core/source-detection.js +23 -0
  168. package/dist/src/ingestion/inbox-core/source-detection.js.map +1 -0
  169. package/dist/src/ingestion/inbox-core/source-sniffer.d.ts +11 -0
  170. package/dist/src/ingestion/inbox-core/source-sniffer.d.ts.map +1 -0
  171. package/dist/src/ingestion/inbox-core/source-sniffer.js +69 -0
  172. package/dist/src/ingestion/inbox-core/source-sniffer.js.map +1 -0
  173. package/dist/src/ingestion/inbox-core/zip-sniffer.d.ts +70 -0
  174. package/dist/src/ingestion/inbox-core/zip-sniffer.d.ts.map +1 -0
  175. package/dist/src/ingestion/inbox-core/zip-sniffer.js +161 -0
  176. package/dist/src/ingestion/inbox-core/zip-sniffer.js.map +1 -0
  177. package/dist/src/ingestion/inbox-watcher.d.ts.map +1 -1
  178. package/dist/src/ingestion/inbox-watcher.js +34 -50
  179. package/dist/src/ingestion/inbox-watcher.js.map +1 -1
  180. package/dist/src/ingestion/indexer.d.ts +7 -0
  181. package/dist/src/ingestion/indexer.d.ts.map +1 -1
  182. package/dist/src/ingestion/indexer.js +36 -2
  183. package/dist/src/ingestion/indexer.js.map +1 -1
  184. package/dist/src/ingestion/metadata-extraction.d.ts +8 -5
  185. package/dist/src/ingestion/metadata-extraction.d.ts.map +1 -1
  186. package/dist/src/ingestion/metadata-extraction.js +24 -5
  187. package/dist/src/ingestion/metadata-extraction.js.map +1 -1
  188. package/dist/src/ingestion/skip-quarantine.d.ts +10 -0
  189. package/dist/src/ingestion/skip-quarantine.d.ts.map +1 -0
  190. package/dist/src/ingestion/skip-quarantine.js +35 -0
  191. package/dist/src/ingestion/skip-quarantine.js.map +1 -0
  192. package/dist/src/jobs/handlers/compact.d.ts.map +1 -1
  193. package/dist/src/jobs/handlers/compact.js +30 -4
  194. package/dist/src/jobs/handlers/compact.js.map +1 -1
  195. package/dist/src/jobs/handlers/dedupe-conversations.d.ts +134 -0
  196. package/dist/src/jobs/handlers/dedupe-conversations.d.ts.map +1 -0
  197. package/dist/src/jobs/handlers/dedupe-conversations.js +371 -0
  198. package/dist/src/jobs/handlers/dedupe-conversations.js.map +1 -0
  199. package/dist/src/jobs/handlers/ingest.d.ts.map +1 -1
  200. package/dist/src/jobs/handlers/ingest.js +295 -41
  201. package/dist/src/jobs/handlers/ingest.js.map +1 -1
  202. package/dist/src/jobs/handlers/reconcile.d.ts +28 -0
  203. package/dist/src/jobs/handlers/reconcile.d.ts.map +1 -1
  204. package/dist/src/jobs/handlers/reconcile.js +145 -19
  205. package/dist/src/jobs/handlers/reconcile.js.map +1 -1
  206. package/dist/src/jobs/handlers/reindex.d.ts.map +1 -1
  207. package/dist/src/jobs/handlers/reindex.js +13 -2
  208. package/dist/src/jobs/handlers/reindex.js.map +1 -1
  209. package/dist/src/jobs/handlers/save.d.ts.map +1 -1
  210. package/dist/src/jobs/handlers/save.js +57 -3
  211. package/dist/src/jobs/handlers/save.js.map +1 -1
  212. package/dist/src/jobs/queue.d.ts +51 -1
  213. package/dist/src/jobs/queue.d.ts.map +1 -1
  214. package/dist/src/jobs/queue.js +466 -26
  215. package/dist/src/jobs/queue.js.map +1 -1
  216. package/dist/src/jobs/worker-entry.d.ts.map +1 -1
  217. package/dist/src/jobs/worker-entry.js +35 -7
  218. package/dist/src/jobs/worker-entry.js.map +1 -1
  219. package/dist/src/jobs/worker-process.d.ts +11 -0
  220. package/dist/src/jobs/worker-process.d.ts.map +1 -1
  221. package/dist/src/jobs/worker-process.js +37 -4
  222. package/dist/src/jobs/worker-process.js.map +1 -1
  223. package/dist/src/main.js +199 -46
  224. package/dist/src/main.js.map +1 -1
  225. package/dist/src/mcp/errors.d.ts.map +1 -1
  226. package/dist/src/mcp/errors.js +20 -1
  227. package/dist/src/mcp/errors.js.map +1 -1
  228. package/dist/src/mcp/server.d.ts.map +1 -1
  229. package/dist/src/mcp/server.js +43 -3
  230. package/dist/src/mcp/server.js.map +1 -1
  231. package/dist/src/mcp/tools/context-pack.d.ts.map +1 -1
  232. package/dist/src/mcp/tools/context-pack.js +164 -23
  233. package/dist/src/mcp/tools/context-pack.js.map +1 -1
  234. package/dist/src/mcp/tools/search.d.ts +6 -2
  235. package/dist/src/mcp/tools/search.d.ts.map +1 -1
  236. package/dist/src/mcp/tools/search.js +35 -4
  237. package/dist/src/mcp/tools/search.js.map +1 -1
  238. package/dist/src/observability/embedding-events.d.ts +52 -0
  239. package/dist/src/observability/embedding-events.d.ts.map +1 -0
  240. package/dist/src/observability/embedding-events.js +149 -0
  241. package/dist/src/observability/embedding-events.js.map +1 -0
  242. package/dist/src/observability/index-events.d.ts +70 -0
  243. package/dist/src/observability/index-events.d.ts.map +1 -0
  244. package/dist/src/observability/index-events.js +148 -0
  245. package/dist/src/observability/index-events.js.map +1 -0
  246. package/dist/src/observability/onboarding-metric.d.ts +131 -0
  247. package/dist/src/observability/onboarding-metric.d.ts.map +1 -0
  248. package/dist/src/observability/onboarding-metric.js +351 -0
  249. package/dist/src/observability/onboarding-metric.js.map +1 -0
  250. package/dist/src/observability/tool-usage-stats.d.ts +77 -4
  251. package/dist/src/observability/tool-usage-stats.d.ts.map +1 -1
  252. package/dist/src/observability/tool-usage-stats.js +112 -32
  253. package/dist/src/observability/tool-usage-stats.js.map +1 -1
  254. package/dist/src/observability/tool-usage.d.ts +100 -7
  255. package/dist/src/observability/tool-usage.d.ts.map +1 -1
  256. package/dist/src/observability/tool-usage.js +196 -33
  257. package/dist/src/observability/tool-usage.js.map +1 -1
  258. package/dist/src/observability/version-check.d.ts +71 -0
  259. package/dist/src/observability/version-check.d.ts.map +1 -0
  260. package/dist/src/observability/version-check.js +198 -0
  261. package/dist/src/observability/version-check.js.map +1 -0
  262. package/dist/src/providers/basic-metadata-extraction.d.ts +60 -0
  263. package/dist/src/providers/basic-metadata-extraction.d.ts.map +1 -0
  264. package/dist/src/providers/basic-metadata-extraction.js +114 -0
  265. package/dist/src/providers/basic-metadata-extraction.js.map +1 -0
  266. package/dist/src/providers/codex-cli-metadata-extraction.d.ts +1 -0
  267. package/dist/src/providers/codex-cli-metadata-extraction.d.ts.map +1 -1
  268. package/dist/src/providers/codex-cli-metadata-extraction.js +6 -2
  269. package/dist/src/providers/codex-cli-metadata-extraction.js.map +1 -1
  270. package/dist/src/providers/codex-cli-model.d.ts +61 -0
  271. package/dist/src/providers/codex-cli-model.d.ts.map +1 -0
  272. package/dist/src/providers/codex-cli-model.js +194 -0
  273. package/dist/src/providers/codex-cli-model.js.map +1 -0
  274. package/dist/src/providers/codex-cli-runner.d.ts +39 -0
  275. package/dist/src/providers/codex-cli-runner.d.ts.map +1 -1
  276. package/dist/src/providers/codex-cli-runner.js +234 -48
  277. package/dist/src/providers/codex-cli-runner.js.map +1 -1
  278. package/dist/src/providers/conversation-generation.d.ts.map +1 -1
  279. package/dist/src/providers/conversation-generation.js +43 -6
  280. package/dist/src/providers/conversation-generation.js.map +1 -1
  281. package/dist/src/providers/ollama-embed.d.ts +2 -1
  282. package/dist/src/providers/ollama-embed.d.ts.map +1 -1
  283. package/dist/src/providers/ollama-embed.js +1 -0
  284. package/dist/src/providers/ollama-embed.js.map +1 -1
  285. package/dist/src/providers/openai-metadata-extraction.d.ts +3 -3
  286. package/dist/src/providers/openai-metadata-extraction.d.ts.map +1 -1
  287. package/dist/src/providers/openai-metadata-extraction.js +18 -3
  288. package/dist/src/providers/openai-metadata-extraction.js.map +1 -1
  289. package/dist/src/providers/placeholder-embed.d.ts +56 -0
  290. package/dist/src/providers/placeholder-embed.d.ts.map +1 -0
  291. package/dist/src/providers/placeholder-embed.js +64 -0
  292. package/dist/src/providers/placeholder-embed.js.map +1 -0
  293. package/dist/src/providers/stub.d.ts +2 -0
  294. package/dist/src/providers/stub.d.ts.map +1 -1
  295. package/dist/src/providers/stub.js +2 -0
  296. package/dist/src/providers/stub.js.map +1 -1
  297. package/dist/src/providers/types.d.ts +11 -0
  298. package/dist/src/providers/types.d.ts.map +1 -1
  299. package/dist/src/providers/voyage.d.ts +2 -1
  300. package/dist/src/providers/voyage.d.ts.map +1 -1
  301. package/dist/src/providers/voyage.js +1 -0
  302. package/dist/src/providers/voyage.js.map +1 -1
  303. package/dist/src/retrieval/compact.d.ts +116 -2
  304. package/dist/src/retrieval/compact.d.ts.map +1 -1
  305. package/dist/src/retrieval/compact.js +158 -5
  306. package/dist/src/retrieval/compact.js.map +1 -1
  307. package/dist/src/retrieval/context-pack.d.ts +114 -0
  308. package/dist/src/retrieval/context-pack.d.ts.map +1 -1
  309. package/dist/src/retrieval/context-pack.js +292 -8
  310. package/dist/src/retrieval/context-pack.js.map +1 -1
  311. package/dist/src/retrieval/current-truth.d.ts +360 -0
  312. package/dist/src/retrieval/current-truth.d.ts.map +1 -0
  313. package/dist/src/retrieval/current-truth.js +766 -0
  314. package/dist/src/retrieval/current-truth.js.map +1 -0
  315. package/dist/src/retrieval/git-state.d.ts +53 -0
  316. package/dist/src/retrieval/git-state.d.ts.map +1 -0
  317. package/dist/src/retrieval/git-state.js +174 -0
  318. package/dist/src/retrieval/git-state.js.map +1 -0
  319. package/dist/src/retrieval/lexical.d.ts.map +1 -1
  320. package/dist/src/retrieval/lexical.js +19 -3
  321. package/dist/src/retrieval/lexical.js.map +1 -1
  322. package/dist/src/retrieval/locator-boost.d.ts +37 -0
  323. package/dist/src/retrieval/locator-boost.d.ts.map +1 -0
  324. package/dist/src/retrieval/locator-boost.js +129 -0
  325. package/dist/src/retrieval/locator-boost.js.map +1 -0
  326. package/dist/src/retrieval/report-demotion.d.ts +46 -0
  327. package/dist/src/retrieval/report-demotion.d.ts.map +1 -0
  328. package/dist/src/retrieval/report-demotion.js +169 -0
  329. package/dist/src/retrieval/report-demotion.js.map +1 -0
  330. package/dist/src/retrieval/vector.d.ts.map +1 -1
  331. package/dist/src/retrieval/vector.js +11 -2
  332. package/dist/src/retrieval/vector.js.map +1 -1
  333. package/dist/src/server/app.d.ts.map +1 -1
  334. package/dist/src/server/app.js +92 -11
  335. package/dist/src/server/app.js.map +1 -1
  336. package/dist/src/server/routes/compact.d.ts.map +1 -1
  337. package/dist/src/server/routes/compact.js +4 -1
  338. package/dist/src/server/routes/compact.js.map +1 -1
  339. package/dist/src/server/routes/context.d.ts +1 -1
  340. package/dist/src/server/routes/context.d.ts.map +1 -1
  341. package/dist/src/server/routes/context.js +2 -1
  342. package/dist/src/server/routes/context.js.map +1 -1
  343. package/dist/src/server/routes/conversations-search.d.ts.map +1 -1
  344. package/dist/src/server/routes/conversations-search.js +28 -3
  345. package/dist/src/server/routes/conversations-search.js.map +1 -1
  346. package/dist/src/server/routes/enqueue.d.ts +11 -0
  347. package/dist/src/server/routes/enqueue.d.ts.map +1 -0
  348. package/dist/src/server/routes/enqueue.js +17 -0
  349. package/dist/src/server/routes/enqueue.js.map +1 -0
  350. package/dist/src/server/routes/friend-status.d.ts +339 -3
  351. package/dist/src/server/routes/friend-status.d.ts.map +1 -1
  352. package/dist/src/server/routes/friend-status.js +447 -13
  353. package/dist/src/server/routes/friend-status.js.map +1 -1
  354. package/dist/src/server/routes/ingest.d.ts.map +1 -1
  355. package/dist/src/server/routes/ingest.js +5 -2
  356. package/dist/src/server/routes/ingest.js.map +1 -1
  357. package/dist/src/server/routes/mcp-usage.d.ts +5 -4
  358. package/dist/src/server/routes/mcp-usage.d.ts.map +1 -1
  359. package/dist/src/server/routes/mcp-usage.js.map +1 -1
  360. package/dist/src/server/routes/reconcile.d.ts.map +1 -1
  361. package/dist/src/server/routes/reconcile.js +20 -1
  362. package/dist/src/server/routes/reconcile.js.map +1 -1
  363. package/dist/src/server/routes/reindex.d.ts.map +1 -1
  364. package/dist/src/server/routes/reindex.js +4 -1
  365. package/dist/src/server/routes/reindex.js.map +1 -1
  366. package/dist/src/server/routes/save.d.ts.map +1 -1
  367. package/dist/src/server/routes/save.js +4 -1
  368. package/dist/src/server/routes/save.js.map +1 -1
  369. package/dist/src/server/routes/search.d.ts +1 -1
  370. package/dist/src/server/routes/search.d.ts.map +1 -1
  371. package/dist/src/server/routes/search.js +253 -29
  372. package/dist/src/server/routes/search.js.map +1 -1
  373. package/dist/src/server/routes/triage.d.ts.map +1 -1
  374. package/dist/src/server/routes/triage.js +4 -1
  375. package/dist/src/server/routes/triage.js.map +1 -1
  376. package/dist/src/storage/rebuild.d.ts +35 -1
  377. package/dist/src/storage/rebuild.d.ts.map +1 -1
  378. package/dist/src/storage/rebuild.js +288 -64
  379. package/dist/src/storage/rebuild.js.map +1 -1
  380. package/dist/src/storage/tables.d.ts +29 -0
  381. package/dist/src/storage/tables.d.ts.map +1 -1
  382. package/dist/src/storage/tables.js +32 -1
  383. package/dist/src/storage/tables.js.map +1 -1
  384. package/operator/swiftbar/render-menu.py +524 -0
  385. package/operator/swiftbar/rift.10s.sh +176 -0
  386. package/package.json +9 -3
package/README.md CHANGED
@@ -27,6 +27,7 @@ Tout reste sur ta machine, sauf les *embeddings* (envoyés à Voyage AI sous une
27
27
  | 2 | **Node.js 20.19+** | `node --version` dans Ghostty. Si manquant : [nodejs.org](https://nodejs.org/en/download) (LTS) |
28
28
  | 3 | **Codex CLI authentifié** | `codex --version`, puis `codex login` si tu n'as jamais loggé |
29
29
  | 4 | **Une clé Voyage AI** | Je te l'envoie en DM (c'est un projet dédié sur mon compte Voyage). Range-la dans 1Password, on la collera pendant l'onboard |
30
+ | 5 | **SwiftBar** | Optionnel mais recommandé pour voir l'état Rift dans la barre de menu. Le script installe le plugin Rift automatiquement ; si l'app manque, ouvre [swiftbar.app](https://swiftbar.app) puis relance `rift menubar install`. |
30
31
 
31
32
  Codex CLI fait tourner le triage et l'extraction de métadonnées — pas besoin de clé OpenAI séparée. La clé Voyage sert *uniquement* aux embeddings.
32
33
 
@@ -44,6 +45,7 @@ Ce que fait le script :
44
45
  - installe le paquet npm `@getrift/rift@beta` globalement ;
45
46
  - crée tes dossiers de données sous `~/Library/Application Support/Rift/` ;
46
47
  - pose un agent launchd qui lance Rift à chaque session ;
48
+ - installe le plugin Rift pour SwiftBar (menu bar) quand possible ;
47
49
  - attend que le daemon réponde sur le port local.
48
50
 
49
51
  **Si on te demande ton mot de passe Mac (`Password:`)**, c'est normal — il faut écrire dans un dossier système pour rendre la commande `rift` disponible partout. Tape ton mot de passe (rien ne s'affiche pendant la frappe — c'est normal sur Unix), `Entrée`.
@@ -56,18 +58,37 @@ Si ça plante en cours de route, le script restaure ton état précédent et imp
56
58
  rift onboard
57
59
  ```
58
60
 
59
- L'assistant va te poser **5 ou 6 questions**, dans cet ordre :
61
+ L'assistant t'explique d'abord ce qui reste local et ce qui sort (les *embeddings* vers Voyage), **puis** te guide dans l'ordre réel du wizard :
60
62
 
61
- 1. **La clé Voyage que je t'ai envoyée.** Colle-la depuis 1Password. Elle ne s'affiche pas pendant la frappe.
62
- 2. **Validation.** Rift fait un embed test pour vérifier la clé.
63
+ 1. **La clé Voyage que je t'ai envoyée.** L'assistant rappelle à quoi elle sert avant de la demander. Colle-la depuis 1Password elle ne s'affiche pas pendant la frappe.
64
+ 2. **Validation.** Rift fait un embed test pour vérifier la clé, la stocke localement, puis redémarre le service.
63
65
  3. **Vérifie que Codex est authentifié.** Si ça échoue, lance `codex login` et relance `rift onboard`. Ou demande à Claude.
64
- 4. **Première passe de capture.** Watermarke tes sessions existantes (ne les ingère pas).
65
- 5. **Branchement MCP.** Te demande dans quels clients tu veux Rift comme serveur MCP Claude Desktop, Claude Code, Codex, Cursor. **Réponds `oui` à tous ceux que tu utilises.**
66
+ 4. **Sessions détectées.** Rift compte tes sessions Claude Code et Codex CLI existantes.
67
+ 5. **Feedback.** Par défaut, les notes restent dans un fichier local JSONL ; le relais n'est activé que via un flag opérateur.
66
68
  6. **Garde-fou Claude Code (optionnel).** Si Claude Code est détecté, l'assistant te propose d'installer un *PreToolUse hook* qui force la récupération Rift à commencer par `rift_context_pack` (compact, budgété) avant tout `rift_search`. Évite que l'agent crame ton contexte avec des recherches larges. **Réponds `y`** si tu utilises Claude Code. Désactivable à tout moment via `RIFT_POLICY_DISABLED=1` ou en supprimant l'entrée de `~/.claude/settings.json`.
69
+ 7. **Première passe de capture.** Watermarke tes sessions existantes (ne les ingère pas).
70
+ 8. **Import optionnel.** L'assistant te propose de déposer un export ChatGPT à importer maintenant (ou `skip`). **Pour la beta : `skip`** — voir la section payante plus bas.
71
+
72
+ > L'onboarding **ne branche aucun client MCP tout seul** et ne te demande pas lesquels connecter. C'est une étape séparée, à faire après l'onboarding (voir juste en dessous).
67
73
 
68
74
  À la fin, l'assistant te dit "Onboarding terminé" et te suggère ta première recherche.
69
75
 
70
- > Si tu veux importer un export ChatGPT ou Claude.ai, l'assistant te le proposera. **Pour la beta : décline** — c'est de la backfill historique, voir la section payante plus bas.
76
+ ### Brancher Rift à tes apps (MCP)
77
+
78
+ L'onboarding installe et indexe Rift, mais ne le connecte à aucune app. Fais-le ensuite, app par app, avec une commande non-interactive :
79
+
80
+ ```sh
81
+ rift mcp install --client=claude-desktop
82
+ ```
83
+
84
+ Clients supportés (`--client <id>`) :
85
+
86
+ - `claude-desktop` — l'app Claude pour Mac
87
+ - `claude-code` — l'outil Claude Code en terminal
88
+ - `cursor` — l'éditeur Cursor
89
+ - `codex` — l'outil Codex en terminal
90
+
91
+ Pour tout brancher d'un coup : `rift mcp install --all`. Il faut passer `--client <id>` ou `--all` — sans l'un des deux, la commande s'arrête.
71
92
 
72
93
  > Si tu as déjà fait `rift onboard` avant cette beta, tu peux poser le hook après coup avec `rift hooks install --client claude-code`.
73
94
 
@@ -92,18 +113,21 @@ Next: nothing broken. Try rift search "<topic>".
92
113
 
93
114
  Les ✓ partout = tout va bien. Si une ligne montre ✗ ou un *Next:* différent de "nothing broken", suis l'instruction qu'il imprime.
94
115
 
116
+ > La ligne `MCP:` reflète les clients que **tu** as branchés avec `rift mcp install` — l'onboarding n'en connecte aucun automatiquement. Juste après l'onboarding, tu peux n'avoir aucun ✓ ici tant que tu n'as pas lancé cette commande.
117
+
95
118
  ## Usage quotidien
96
119
 
97
- - **Rien à faire.** Le daemon tourne en tâche de fond, ingère tes nouvelles sessions Claude Code / Codex CLI toutes les heures, et expose la mémoire via MCP.
120
+ - **Rien à faire.** Le daemon tourne en tâche de fond, ingère tes nouvelles sessions Claude Code / Codex CLI toutes les heures, expose la mémoire via MCP, et le menu bar Rift te montre si tout va bien.
98
121
  - **Tester depuis Claude Desktop ou Cursor.** Ouvre une conversation, demande par exemple : *"Rappelle-toi ce qu'on a discuté sur le pricing la semaine dernière, va voir dans Rift"* — Claude/Cursor appellera `rift_search` ou `rift_context_pack` automatiquement et t'affichera ce qu'il trouve.
99
122
  - **Rechercher en ligne de commande :** `rift search "comment on a structuré le pricing"`
100
123
  - **Forcer une passe de capture maintenant :** `rift capture`
124
+ - **Mettre à jour :** Rift vérifie le tag beta toutes les heures. Si une nouvelle version existe, `rift status`, `rift doctor` et le menu bar affichent `rift update` ; dans le menu bar, clique **Update Rift**.
101
125
 
102
126
  ## Vie privée
103
127
 
104
128
  - **Local par défaut.** Tes sessions, métadonnées et la base vectorielle (LanceDB) restent sur ta machine.
105
129
  - **Voyage AI.** Seuls les *snippets* envoyés pour embedding partent vers Voyage. Ta clé t'appartient — tu peux la révoquer côté Voyage à tout moment, ce qui coupe l'envoi.
106
- - **Aucune télémétrie de contenu.** Rift ne m'envoie rien, sauf si tu actives explicitement le *feedback relay* (`rift feedback --kind=...`). Et même là, c'est juste la note que tu écris, pas tes conversations.
130
+ - **Aucune télémétrie de contenu.** Rift ne m'envoie rien. La commande `rift feedback --kind=...` écrit ta note dans un JSONL local — elle ne part nulle part. Le *feedback relay* (envoi de la note à Clem) n'existe pas par défaut : il faut le configurer explicitement pendant l'onboarding via `rift onboard --enable-feedback-relay <url>`, et même activé, il ne transmet que la note que tu écris, jamais tes conversations.
107
131
  - **Désinstallation propre.** `rift uninstall` enlève le daemon et les entrées MCP. `rift uninstall --purge-data` supprime aussi les données locales.
108
132
 
109
133
  Le contrat de vie privée détaillé est dans `docs/feedback/PRIVACY.md` (livré avec le paquet).
@@ -136,9 +160,11 @@ Pour déclencher : il me faut un **bon de commande / facture HT signée** par to
136
160
  | `rift status` dit "daemon: unreachable" | `launchctl kickstart -k gui/$UID/com.getrift.daemon` |
137
161
  | Codex CLI auth périmé | `codex login` |
138
162
  | Clé Voyage révoquée ou changée | `rift onboard --reconfigure-voyage` |
163
+ | Le menu bar Rift n'apparaît pas | Ouvre SwiftBar, puis lance `rift menubar install` |
164
+ | Une mise à jour est disponible | `rift update` |
139
165
  | Rift n'apparaît pas dans Claude Desktop / Cursor | `rift mcp install --client=claude-desktop` (remplace par `codex`, `claude-code`, `cursor` selon le besoin) |
140
166
  | Le garde-fou Claude Code te bloque trop souvent | `export RIFT_POLICY_DISABLED=1` dans le shell (désactive le hook le temps de la session), ou enlève l'entrée `rift-policy.mjs` de `~/.claude/settings.json` |
141
- | Truc bizarre, tu veux me prévenir | `rift feedback --kind=broke --with-status` — capture l'état actuel et envoie le tout en local (+ chez moi si tu as activé le relay pendant l'onboard) |
167
+ | Truc bizarre, tu veux me prévenir | `rift feedback --kind=broke --with-status` — capture l'état actuel et l'écrit en local (JSONL). Envoie-moi le fichier, ou copie-colle. |
142
168
 
143
169
  ## Désinstaller
144
170
 
@@ -1,3 +1,12 @@
1
+ /**
2
+ * Typed error thrown when the macOS Keychain is locked. Caught by
3
+ * `readToken` (CLI read path) and `ensureToken` (CLI write path) to
4
+ * surface the `security unlock-keychain ~/Library/Keychains/login.keychain-db`
5
+ * recovery copy instead of the raw `security` CLI failure.
6
+ */
7
+ export declare class LockedKeychainError extends Error {
8
+ constructor(message: string);
9
+ }
1
10
  /**
2
11
  * Low-level Keychain operations.
3
12
  *
@@ -1 +1 @@
1
- {"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../../../src/auth/keychain.ts"],"names":[],"mappings":"AAaA;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACtC;AAgBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,EAAE,WA0EzB,CAAC"}
1
+ {"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../../../src/auth/keychain.ts"],"names":[],"mappings":"AAuBA;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAWD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACtC;AAgBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,EAAE,WAoFzB,CAAC"}
@@ -8,6 +8,37 @@ const SERVICE = "com.getrift.daemon";
8
8
  * All other non-zero exits are real failures that must propagate.
9
9
  */
10
10
  const ERR_SEC_ITEM_NOT_FOUND = 44;
11
+ /**
12
+ * Substring emitted by the macOS `security` CLI when the login keychain
13
+ * is locked (typical over SSH or in CI without a GUI session). Locked-
14
+ * keychain failures are a distinct *class* — they're recoverable with
15
+ * `security unlock-keychain`, unlike permission denials or missing
16
+ * binaries — so callers benefit from a typed error to render a precise
17
+ * recovery hint.
18
+ */
19
+ const LOCKED_KEYCHAIN_SUBSTRING = "User interaction is not allowed";
20
+ /**
21
+ * Typed error thrown when the macOS Keychain is locked. Caught by
22
+ * `readToken` (CLI read path) and `ensureToken` (CLI write path) to
23
+ * surface the `security unlock-keychain ~/Library/Keychains/login.keychain-db`
24
+ * recovery copy instead of the raw `security` CLI failure.
25
+ */
26
+ export class LockedKeychainError extends Error {
27
+ constructor(message) {
28
+ super(message);
29
+ this.name = "LockedKeychainError";
30
+ }
31
+ }
32
+ function isLockedKeychain(err) {
33
+ if (!(err instanceof Error))
34
+ return false;
35
+ if (err.message.includes(LOCKED_KEYCHAIN_SUBSTRING))
36
+ return true;
37
+ // The substring lands on stderr, which `execFile` attaches to the
38
+ // error object as `stderr`. Belt + braces: check both surfaces.
39
+ const stderr = err.stderr;
40
+ return typeof stderr === "string" && stderr.includes(LOCKED_KEYCHAIN_SUBSTRING);
41
+ }
11
42
  function accountName(version) {
12
43
  return `AUTH_TOKEN_v${version}`;
13
44
  }
@@ -48,6 +79,9 @@ export const macKeychain = {
48
79
  catch (err) {
49
80
  if (isItemNotFound(err))
50
81
  return null;
82
+ if (isLockedKeychain(err)) {
83
+ throw new LockedKeychainError(err instanceof Error ? err.message : String(err));
84
+ }
51
85
  throw err;
52
86
  }
53
87
  },
@@ -106,6 +140,9 @@ export const macKeychain = {
106
140
  catch (err) {
107
141
  if (isItemNotFound(err))
108
142
  return 0; // No tokens issued yet.
143
+ if (isLockedKeychain(err)) {
144
+ throw new LockedKeychainError(err instanceof Error ? err.message : String(err));
145
+ }
109
146
  throw err;
110
147
  }
111
148
  },
@@ -1 +1 @@
1
- {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../../src/auth/keychain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../../src/auth/keychain.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,13 @@ export interface CaptureReport {
54
54
  quarantined: number;
55
55
  errors: number;
56
56
  preflight_ok: boolean;
57
+ /**
58
+ * The preflight (Codex health probe) failure message, when preflight_ok is
59
+ * false. Kept separate from `error_details` on purpose: preflight is not a
60
+ * conversation, so it must never inflate the per-session "N failed" count.
61
+ * The probe's health is signalled by `preflight_ok`; this carries the why.
62
+ */
63
+ preflight_error?: string;
57
64
  counts_by_source: Partial<Record<AutoCaptureSource, CaptureSourceCounts>>;
58
65
  results: CaptureResult[];
59
66
  error_details: Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"auto-capture.d.ts","sourceRoot":"","sources":["../../../src/capture/auto-capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-capture.d.ts","sourceRoot":"","sources":["../../../src/capture/auto-capture.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ import { triageConversation } from "./triage.js";
25
25
  import { addToReview } from "./review-queue.js";
26
26
  import { atomicWrite } from "../storage/atomic.js";
27
27
  import { CodexCliTriageProvider } from "./codex-cli-triage-provider.js";
28
+ import { CodexCliTimeoutError } from "../providers/codex-cli-runner.js";
28
29
  import { DEFAULT_AUTO_CAPTURE_SOURCES, } from "./sources.js";
29
30
  /**
30
31
  * Default upper bound for a Codex CLI session that auto-capture will hand
@@ -132,6 +133,15 @@ function shouldBootstrapSource(state, source, dryRun) {
132
133
  return false;
133
134
  return !hasPriorStateForSource(state, source);
134
135
  }
136
+ /**
137
+ * Whether a preflight failure is transient (a Codex timeout/termination) and
138
+ * therefore safe to continue past, vs. a hard auth/path failure that should
139
+ * abort the run. Timeouts are already retried once at the runner; if the probe
140
+ * still timed out, individual sessions may still succeed, so we let them try.
141
+ */
142
+ function isTransientPreflightError(err) {
143
+ return err instanceof CodexCliTimeoutError;
144
+ }
135
145
  async function ensureAutoCaptureTriageReady() {
136
146
  // This is intentionally a tiny real Codex CLI model call, not a cheap
137
147
  // version check: it catches expired auth and runtime/model failures before
@@ -314,12 +324,57 @@ function applySessionOutcome(ctx, outcome) {
314
324
  ctx.report.error_details.push(...outcome.errorDetails);
315
325
  ctx.stateChanged ||= outcome.stateChanged;
316
326
  }
327
+ /** True when two processed-ledger entries carry the same fingerprint+key. */
328
+ function processedEntriesEqual(a, b) {
329
+ if (a === undefined || b === undefined)
330
+ return a === b;
331
+ if (typeof a === "string" || typeof b === "string")
332
+ return a === b;
333
+ return (a.fingerprint === b.fingerprint && a.idempotency_key === b.idempotency_key);
334
+ }
317
335
  /**
318
- * Persist the capture state to disk.
336
+ * Persist the capture state to disk, merging with whatever is on disk now.
337
+ *
338
+ * The ledger is read once at run start and written once at run end. If a
339
+ * second capture run (e.g. a manual `rift capture` overlapping the daemon
340
+ * tick) commits between our load and our save, a blind whole-file overwrite
341
+ * would erase that run's work — both entries it ADDED for sessions we never
342
+ * saw and entries it UPDATED to a newer fingerprint for sessions we both
343
+ * hold but didn't reprocess. That dropped note causes the session to be
344
+ * reprocessed (and oversized ones re-quarantined) next run — the likely
345
+ * source of the observed re-quarantine churn.
346
+ *
347
+ * So we re-read the on-disk ledger immediately before writing and overlay
348
+ * ONLY the keys this run actually changed, detected by diffing against the
349
+ * run-start snapshot (`initialProcessed`). A key we left untouched keeps the
350
+ * freshest on-disk value, even if a concurrent run updated it after our load;
351
+ * a key we added or updated gets our value. (Two runs racing to update the
352
+ * SAME key still resolve last-writer-wins — inherent without a lock, and the
353
+ * deferred follow-up if churn persists after this ships to the daemon.)
354
+ *
355
+ * This narrows the race to the small window between this re-read and the
356
+ * atomic rename rather than eliminating it.
319
357
  */
320
- async function saveState(dataDir, state) {
358
+ async function saveState(dataDir, state, initialProcessed) {
321
359
  const statePath = path.join(dataDir, STATE_FILE);
322
- await atomicWrite(statePath, JSON.stringify(state, null, 2));
360
+ const onDisk = loadState(dataDir);
361
+ const mergedProcessed = { ...onDisk.processed };
362
+ for (const [key, value] of Object.entries(state.processed)) {
363
+ if (!processedEntriesEqual(initialProcessed[key], value)) {
364
+ mergedProcessed[key] = value;
365
+ }
366
+ }
367
+ const mergedBootstrapped = {
368
+ ...(onDisk.bootstrapped_sources ?? {}),
369
+ ...(state.bootstrapped_sources ?? {}),
370
+ };
371
+ const merged = {
372
+ processed: mergedProcessed,
373
+ ...(Object.keys(mergedBootstrapped).length > 0
374
+ ? { bootstrapped_sources: mergedBootstrapped }
375
+ : {}),
376
+ };
377
+ await atomicWrite(statePath, JSON.stringify(merged, null, 2));
323
378
  }
324
379
  /**
325
380
  * Write an operator-recovery record for a Codex session that was skipped
@@ -538,6 +593,12 @@ export async function runAutoCapture(deps) {
538
593
  const claudeDir = deps.claudeDir ?? path.join(os.homedir(), ".claude");
539
594
  const codexDir = deps.codexDir ?? path.join(os.homedir(), ".codex");
540
595
  const state = loadState(deps.dataDir);
596
+ // Snapshot the ledger exactly as loaded so the end-of-run merge can overlay
597
+ // ONLY the keys this run actually changed (see saveState). Capturing it here
598
+ // — before bootstrap or processing mutates `state.processed` — is what lets
599
+ // a slow run avoid clobbering a concurrent run's newer entry for a key this
600
+ // run never touched.
601
+ const initialProcessed = { ...state.processed };
541
602
  const allowedSources = deps.sources ? new Set(deps.sources) : null;
542
603
  const enabledSources = deps.sources ?? DEFAULT_AUTO_CAPTURE_SOURCES;
543
604
  const sessions = discoverAllSessions(allowedSources, claudeDir, codexDir);
@@ -573,19 +634,25 @@ export async function runAutoCapture(deps) {
573
634
  }
574
635
  catch (err) {
575
636
  const error = err instanceof Error ? err.message : String(err);
637
+ // Preflight is a Codex health probe, NOT a conversation. Record it on its
638
+ // own field + the preflight_ok health flag, never as per-source
639
+ // conversation errors — so the "N failed" count reflects only real
640
+ // sessions. (autoCaptureRunFailed still flags the run via preflight_ok.)
576
641
  report.preflight_ok = false;
577
- for (const source of enabledSources) {
578
- ensureCounts(report, source).errors++;
579
- report.error_details.push({
580
- sessionId: "preflight",
581
- source,
582
- error,
583
- });
584
- }
585
- if (ctx.stateChanged) {
586
- await saveState(deps.dataDir, state);
642
+ report.preflight_error = error;
643
+ // A timeout/termination is transient (cold start, brief contention) and
644
+ // has already been retried once at the runner. Don't abort the whole run
645
+ // over a flaky probe — continue and let each session's own bounded-retry
646
+ // triage decide; failures that remain are recorded as real per-session
647
+ // errors and self-heal next run. A genuine auth/path failure (ENOENT,
648
+ // non-zero exit) is fatal: abort rather than hammer every session with an
649
+ // identical failure that would only bury the root cause.
650
+ if (!isTransientPreflightError(err)) {
651
+ if (ctx.stateChanged) {
652
+ await saveState(deps.dataDir, state, initialProcessed);
653
+ }
654
+ return deriveTopLevelTotals(report);
587
655
  }
588
- return deriveTopLevelTotals(report);
589
656
  }
590
657
  }
591
658
  for (const session of sessionsToProcess) {
@@ -594,7 +661,7 @@ export async function runAutoCapture(deps) {
594
661
  }
595
662
  // Persist updated state
596
663
  if (!deps.dryRun && ctx.stateChanged) {
597
- await saveState(deps.dataDir, state);
664
+ await saveState(deps.dataDir, state, initialProcessed);
598
665
  }
599
666
  return deriveTopLevelTotals(report);
600
667
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auto-capture.js","sourceRoot":"","sources":["../../../src/capture/auto-capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-capture.js","sourceRoot":"","sources":["../../../src/capture/auto-capture.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ import { z } from "zod";
2
+ import { type RecoverQuarantineDeps, type RecoveryReport } from "./recover-quarantine.js";
3
+ /**
4
+ * How many times a single parked session (at one fingerprint) is auto-retried
5
+ * before Rift stops and asks the user to run the manual repair. Low on purpose:
6
+ * the daemon retries roughly once per capture tick (hourly), so three attempts
7
+ * spans a few hours before declaring "could not save automatically", and the
8
+ * manual `rift doctor repair` path is always available regardless of budget.
9
+ */
10
+ export declare const MAX_AUTO_REPAIR_ATTEMPTS = 3;
11
+ /**
12
+ * How long to stop attempting auto-repair after a pass fails ONLY because
13
+ * saving was down (Voyage revoked/outage — the save handler needs a valid
14
+ * Voyage key). This is an infrastructure backoff, distinct from the
15
+ * per-session retry budget: a save outage is not any one session's fault, so
16
+ * it must not exhaust a session (see `applyBudgetFromReport`), but it also
17
+ * shouldn't make the daemon re-summarize every parked session via Codex on
18
+ * every hourly tick for the whole outage. The cooldown bounds that cost to one
19
+ * pass per window; it is cleared early the moment a save succeeds. Sized to a
20
+ * few default capture ticks (interval default is 1h).
21
+ */
22
+ export declare const SAVE_FAILURE_COOLDOWN_MS: number;
23
+ declare const RepairBudgetSchema: z.ZodObject<{
24
+ sessions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
25
+ /** Failed auto-repair attempts for this session+fingerprint. */
26
+ attempts: z.ZodNumber;
27
+ last_attempt_at: z.ZodString;
28
+ last_error: z.ZodOptional<z.ZodString>;
29
+ }, "strip", z.ZodTypeAny, {
30
+ attempts: number;
31
+ last_attempt_at: string;
32
+ last_error?: string | undefined;
33
+ }, {
34
+ attempts: number;
35
+ last_attempt_at: string;
36
+ last_error?: string | undefined;
37
+ }>>>;
38
+ /**
39
+ * ISO timestamp until which auto-repair backs off because saving recently
40
+ * failed (infrastructure, not a session fault). Absent when not cooling down.
41
+ */
42
+ save_blocked_until: z.ZodOptional<z.ZodString>;
43
+ }, "strip", z.ZodTypeAny, {
44
+ sessions: Record<string, {
45
+ attempts: number;
46
+ last_attempt_at: string;
47
+ last_error?: string | undefined;
48
+ }>;
49
+ save_blocked_until?: string | undefined;
50
+ }, {
51
+ sessions?: Record<string, {
52
+ attempts: number;
53
+ last_attempt_at: string;
54
+ last_error?: string | undefined;
55
+ }> | undefined;
56
+ save_blocked_until?: string | undefined;
57
+ }>;
58
+ export type RepairBudget = z.infer<typeof RepairBudgetSchema>;
59
+ export declare function loadRepairBudget(dataDir: string): RepairBudget;
60
+ export declare function saveRepairBudget(dataDir: string, budget: RepairBudget): Promise<void>;
61
+ /**
62
+ * Clear the global save-infra cooldown. Call this whenever ANY daemon save
63
+ * succeeds — a normal capture save proves the Voyage/save path is healthy
64
+ * again, which `maybeRunAutoRepair` can't observe on its own (it returns early
65
+ * while cooled down, so it never reaches a save to learn saving works). Without
66
+ * this, recovery would idle for up to the full cooldown window after an outage
67
+ * clears. Cheap and best-effort: a no-op (no write) when no cooldown is set.
68
+ */
69
+ export declare function clearSaveFailureCooldown(dataDir: string): Promise<void>;
70
+ export interface ParkedClassification {
71
+ /** Total distinct parked sessions still un-recovered (state of the world). */
72
+ parked: number;
73
+ /** Parked sessions Rift is still auto-attempting (budget not exhausted). */
74
+ repairing: number;
75
+ /** Parked sessions whose retry budget is exhausted — need a manual save. */
76
+ failed: number;
77
+ }
78
+ /**
79
+ * Split the parked-oversized sessions into "Rift is still saving these" vs.
80
+ * "Rift gave up and the user must save these manually", using the retry
81
+ * budget. Drives the honest friend-facing status copy. Pure read — no IO
82
+ * beyond loading the quarantine records, recovery state, and budget.
83
+ */
84
+ export declare function classifyParkedOversizedSessions(deps: Pick<RecoverQuarantineDeps, "dataDir" | "quarantineDir">, maxAttempts?: number): ParkedClassification;
85
+ /** Test-only: whether a background repair is currently running. */
86
+ export declare function isAutoRepairInFlight(): boolean;
87
+ export interface MaybeRunAutoRepairDeps {
88
+ /**
89
+ * Everything `runRecoverQuarantine` needs EXCEPT `skipSession` (this module
90
+ * supplies the budget gate). Provide the real Codex summarizer + a daemon
91
+ * `saveFn`; `dryRun` is never set here (auto-repair always saves).
92
+ */
93
+ recover: Omit<RecoverQuarantineDeps, "skipSession" | "dryRun">;
94
+ /** Bounded retry ceiling; defaults to MAX_AUTO_REPAIR_ATTEMPTS. */
95
+ maxAttempts?: number;
96
+ /** Optional progress logger (daemon wires this to stderr). */
97
+ log?: (message: string) => void;
98
+ }
99
+ /**
100
+ * Run a background recovery pass over parked oversized sessions, if any are
101
+ * still within their retry budget and no repair is already running.
102
+ *
103
+ * Returns the recovery report, or null when nothing was attempted (already
104
+ * running, or no repairable sessions). Updates the retry budget from the
105
+ * report: a recovered session's budget entry is cleared, a failed session's
106
+ * attempt count is incremented (and exhausts after `maxAttempts`).
107
+ */
108
+ export declare function maybeRunAutoRepair(deps: MaybeRunAutoRepairDeps): Promise<RecoveryReport | null>;
109
+ export {};
110
+ //# sourceMappingURL=auto-repair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-repair.d.ts","sourceRoot":"","sources":["../../../src/capture/auto-repair.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAEjC;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,QAAqB,CAAC;AAW3D,QAAA,MAAM,kBAAkB;;QANtB,gEAAgE;;;;;;;;;;;;;IAQhE;;;OAGG;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAO9D,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAW9D;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS7E;AAED,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,eAAe,CAAC,EAC9D,WAAW,GAAE,MAAiC,GAC7C,oBAAoB,CActB;AAUD,mEAAmE;AACnE,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,aAAa,GAAG,QAAQ,CAAC,CAAC;IAC/D,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA8DhC"}