@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
@@ -7,9 +7,20 @@
7
7
  */
8
8
  import { z } from "zod";
9
9
  import { toJobStatusView } from "../../jobs/types.js";
10
+ import { enqueueJob } from "./enqueue.js";
10
11
  const ReconcileRequestSchema = z
11
12
  .object({
12
13
  idempotency_key: z.string().optional(),
14
+ /**
15
+ * Opt-in dedupe-conversations repair mode. When true the handler
16
+ * runs only the dedupe pass and skips the normal reconcile work.
17
+ */
18
+ dedupe_conversations: z.boolean().optional(),
19
+ /**
20
+ * Gates mutation in dedupe mode. Omitted/false = dry-run report
21
+ * only. Ignored when `dedupe_conversations` is not set.
22
+ */
23
+ apply: z.boolean().optional(),
13
24
  })
14
25
  .strict();
15
26
  export function registerReconcileRoute(server, queue) {
@@ -26,7 +37,15 @@ export function registerReconcileRoute(server, queue) {
26
37
  if (parsed.data.idempotency_key !== undefined) {
27
38
  opts.idempotency_key = parsed.data.idempotency_key;
28
39
  }
29
- const result = await queue.create("reconcile", opts);
40
+ if (parsed.data.dedupe_conversations !== undefined) {
41
+ opts.payload = {
42
+ dedupe_conversations: parsed.data.dedupe_conversations,
43
+ ...(parsed.data.apply !== undefined ? { apply: parsed.data.apply } : {}),
44
+ };
45
+ }
46
+ const result = await enqueueJob(reply, queue, "reconcile", opts);
47
+ if (!result)
48
+ return;
30
49
  if ("conflict" in result) {
31
50
  return reply.code(409).send({ error: "conflict" });
32
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../../../src/server/routes/reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,sBAAsB,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,UAAU,sBAAsB,CACpC,MAAuB,EACvB,KAAe;IAEf,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACjD,2CAA2C;QAC3C,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,KAAK,EAAE,kBAAkB;gBACzB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAiC,EAAE,CAAC;QAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC9C,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;QACrD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAErD,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE;gBACrB,SAAS,EAAE,IAAI;gBACf,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../../../src/server/routes/reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,sBAAsB,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC;;;OAGG;IACH,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5C;;;OAGG;IACH,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,UAAU,sBAAsB,CACpC,MAAuB,EACvB,KAAe;IAEf,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACjD,2CAA2C;QAC3C,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,KAAK,EAAE,kBAAkB;gBACzB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAGN,EAAE,CAAC;QACP,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC9C,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;QACrD,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACnD,IAAI,CAAC,OAAO,GAAG;gBACb,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB;gBACtD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzE,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE;gBACrB,SAAS,EAAE,IAAI;gBACf,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"reindex.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/reindex.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAYpD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,QAAQ,GACd,IAAI,CAwDN"}
1
+ {"version":3,"file":"reindex.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/reindex.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAapD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,QAAQ,GACd,IAAI,CAyDN"}
@@ -14,6 +14,7 @@
14
14
  */
15
15
  import { z } from "zod";
16
16
  import { toJobStatusView } from "../../jobs/types.js";
17
+ import { enqueueJob } from "./enqueue.js";
17
18
  const ReindexRequestSchema = z
18
19
  .object({
19
20
  scope: z.enum(["all", "conversations", "documents", "structured_docs"]),
@@ -57,7 +58,9 @@ export function registerReindexRoute(server, queue) {
57
58
  if (idempotency_key !== undefined) {
58
59
  opts.idempotency_key = idempotency_key;
59
60
  }
60
- const result = await queue.create("reindex", opts);
61
+ const result = await enqueueJob(reply, queue, "reindex", opts);
62
+ if (!result)
63
+ return;
61
64
  if ("conflict" in result) {
62
65
  return reply.code(409).send({ error: "conflict" });
63
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reindex.js","sourceRoot":"","sources":["../../../../src/server/routes/reindex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reindex.js","sourceRoot":"","sources":["../../../../src/server/routes/reindex.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/save.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD,QAAA,MAAM,iBAAiB;;;IAGrB,4EAA4E;;;;;;;IAiB5E,wFAAwF;;;;;;;;;;;;;;;;;;;;;;EAExF,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAuB5D,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,QAAQ,GACd,IAAI,CAqDN"}
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/save.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKpD,QAAA,MAAM,iBAAiB;;;IAGrB,4EAA4E;;;;;;;IAiB5E,wFAAwF;;;;;;;;;;;;;;;;;;;;;;EAExF,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAuB5D,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,QAAQ,GACd,IAAI,CAsDN"}
@@ -18,6 +18,7 @@ import crypto from "node:crypto";
18
18
  import { z } from "zod";
19
19
  import { toJobStatusView } from "../../jobs/types.js";
20
20
  import { gradeSavePayload } from "../save-quality.js";
21
+ import { enqueueJob } from "./enqueue.js";
21
22
  const SaveRequestSchema = z.object({
22
23
  source: z.enum(["claude_code", "gemini_cli", "codex_cli"]),
23
24
  summary: z.string().min(1),
@@ -85,7 +86,9 @@ export function registerSaveRoute(server, queue) {
85
86
  if (payload.idempotency_key !== undefined) {
86
87
  opts.idempotency_key = payload.idempotency_key;
87
88
  }
88
- const result = await queue.create("save", opts);
89
+ const result = await enqueueJob(reply, queue, "save", opts);
90
+ if (!result)
91
+ return;
89
92
  if ("conflict" in result) {
90
93
  // save is not an exclusive job, so this should never happen
91
94
  return reply.code(409).send({ error: "conflict" });
@@ -1 +1 @@
1
- {"version":3,"file":"save.js","sourceRoot":"","sources":["../../../../src/server/routes/save.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"save.js","sourceRoot":"","sources":["../../../../src/server/routes/save.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { FastifyInstance } from "fastify";
2
2
  import type { EmbeddingProvider } from "../../providers/types.js";
3
3
  import type { SourceDir } from "../../config/schema.js";
4
- export declare function registerSearchRoute(server: FastifyInstance, embedding: EmbeddingProvider | undefined, localEmbedding?: EmbeddingProvider, sourceDirs?: readonly SourceDir[]): void;
4
+ export declare function registerSearchRoute(server: FastifyInstance, embedding: EmbeddingProvider | undefined, localEmbedding?: EmbeddingProvider, sourceDirs?: readonly SourceDir[], selfReportsRoot?: string): void;
5
5
  //# sourceMappingURL=search.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/search.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAoFxD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,iBAAiB,GAAG,SAAS,EACxC,cAAc,CAAC,EAAE,iBAAiB,EAClC,UAAU,CAAC,EAAE,SAAS,SAAS,EAAE,GAChC,IAAI,CA+LN"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/search.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AA6GxD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,iBAAiB,GAAG,SAAS,EACxC,cAAc,CAAC,EAAE,iBAAiB,EAClC,UAAU,CAAC,EAAE,SAAS,SAAS,EAAE,EACjC,eAAe,CAAC,EAAE,MAAM,GACvB,IAAI,CAkYN"}
@@ -8,10 +8,14 @@
8
8
  import { z } from "zod";
9
9
  import { hybridSearch } from "../../retrieval/hybrid.js";
10
10
  import { rerank } from "../../retrieval/reranker.js";
11
- import { lexicalSearchTables } from "../../retrieval/lexical.js";
11
+ import { lexicalSearch, lexicalSearchTables } from "../../retrieval/lexical.js";
12
+ import { isRiftBasicMetadata } from "../../providers/basic-metadata-extraction.js";
13
+ import { RIFT_NONE_VECTOR_EXCLUSION_CLAUSE } from "../../providers/placeholder-embed.js";
12
14
  import { getTable, TABLE_NAMES } from "../../storage/tables.js";
13
15
  import { resolveCwdRoot, escapeLike } from "../../retrieval/cwd.js";
14
- import { buildCompactHit, buildCompactHitFromRow, fetchRawRowsForRanked, fetchRowByIdForTier, } from "../../retrieval/compact.js";
16
+ import { demoteReports, fetchDocSourcePaths, fetchDocFields, isReportCandidateTable, } from "../../retrieval/report-demotion.js";
17
+ import { applyLocatorBoost, isLocatorTarget, locatorIntentFired, } from "../../retrieval/locator-boost.js";
18
+ import { buildCompactHit, buildCompactHitFromRow, fetchRawRowsForRanked, fetchRowByIdForTier, fetchRowsByIdAcrossTables, fetchRowsByIdInTables, tablesForTier, } from "../../retrieval/compact.js";
15
19
  const COLD_TIER_THRESHOLD = 0.4;
16
20
  const TIER_VALUES = ["hot", "cold", "digest", "document", "structured_doc"];
17
21
  /**
@@ -19,12 +23,20 @@ const TIER_VALUES = ["hot", "cold", "digest", "document", "structured_doc"];
19
23
  *
20
24
  * Two modes:
21
25
  * - Retrieval mode: `query` is required. Runs hybrid search + rerank.
22
- * - Expansion mode: `detail="full"` + `id` + `tier` — skips retrieval
23
- * entirely and fetches the row by id from the table inferred from `tier`.
24
- * This makes compact-hit `expand` pointers round-trippable from the
25
- * payload alone, without the caller needing to re-run the search.
26
+ * - Exact-ID mode: `detail` of `"full"` or `"middle"` + `id` — skips
27
+ * retrieval entirely and fetches the row by id. Trust contract: this
28
+ * never silently falls back to ranked search. With `tier` (and optionally
29
+ * `source_table`) the lookup is scoped to the backing table(s); without
30
+ * `tier`, the route scans every supported table and returns either the
31
+ * unique match, an explicit `id_not_found`, or an explicit `ambiguous_id`
32
+ * error. `detail="middle"` returns the same exact-row response shape with
33
+ * a bounded head+tail excerpt instead of the full body — preserves the
34
+ * evidence bookends a fact-checker needs while bounding context spend.
26
35
  *
27
- * `query` becomes optional in expansion mode.
36
+ * `query` becomes optional in exact-ID mode. If both `query` and `id` are
37
+ * provided with a non-"summary" detail, the id wins — ranked retrieval is
38
+ * never run as a fallback. This is by design after the REX where a caller
39
+ * passed `query + id + detail="full"` and got a wrong-body response.
28
40
  */
29
41
  const SearchRequestSchema = z
30
42
  .object({
@@ -36,20 +48,20 @@ const SearchRequestSchema = z
36
48
  since: z.string().datetime().optional(),
37
49
  top_k: z.number().int().positive().default(10),
38
50
  cwd: z.string().optional(),
39
- detail: z.enum(["summary", "full"]).default("summary"),
40
- /** With detail="full", expand a single hit by id (bypasses ranking). */
51
+ detail: z.enum(["summary", "middle", "full"]).default("summary"),
52
+ /** With detail="middle"|"full", expand a single hit by id (bypasses ranking). */
41
53
  id: z.string().optional(),
42
- /** Tier of the id being expanded. Required in expansion mode. */
54
+ /** Tier of the id being expanded. Optional narrows the lookup. */
43
55
  tier: z.enum(TIER_VALUES).optional(),
44
56
  /**
45
57
  * Authoritative backing table for the id. When provided, disambiguates
46
58
  * rows that share an id across the cloud/local structured-doc tables.
47
- * Optional — absent requests fall back to tier-based first-match lookup.
59
+ * Optional — absent requests scan every supported table.
48
60
  */
49
61
  source_table: z.enum(TABLE_NAMES).optional(),
50
62
  })
51
- .refine((d) => !!d.query || (d.detail === "full" && !!d.id && !!d.tier), {
52
- message: "Either `query` is required, or provide `id`+`tier`+`detail=\"full\"` for expansion.",
63
+ .refine((d) => !!d.query || ((d.detail === "full" || d.detail === "middle") && !!d.id), {
64
+ message: 'Either `query` is required, or provide `id` + `detail="full"` (or `detail="middle"`) for direct lookup.',
53
65
  })
54
66
  .refine((d) => {
55
67
  // If both tier and source_table are provided in expansion mode, the
@@ -70,7 +82,7 @@ const SearchRequestSchema = z
70
82
  message: "`source_table` is not compatible with the provided `tier`.",
71
83
  path: ["source_table"],
72
84
  });
73
- export function registerSearchRoute(server, embedding, localEmbedding, sourceDirs) {
85
+ export function registerSearchRoute(server, embedding, localEmbedding, sourceDirs, selfReportsRoot) {
74
86
  server.post("/search", async (request, reply) => {
75
87
  const parsed = SearchRequestSchema.safeParse(request.body);
76
88
  if (!parsed.success) {
@@ -81,21 +93,133 @@ export function registerSearchRoute(server, embedding, localEmbedding, sourceDir
81
93
  }
82
94
  const { query, scope, client, since, top_k, cwd, detail, id: expandId, tier: expandTier, source_table: expandSourceTable, } = parsed.data;
83
95
  const searchScope = scope;
84
- // --- Expansion mode: direct id-based fetch, bypass retrieval/ranking ---
85
- // Triggered when caller follows a compact hit's `expand` pointer
86
- // verbatim: `{id, tier, source_table, detail: "full"}`. Guarantees the
87
- // requested row is returned even if it would rank below `top_k` in search,
88
- // and honors `source_table` to disambiguate cloud vs. local structured docs.
89
- if (detail === "full" && expandId && expandTier) {
90
- const fetched = await fetchRowByIdForTier(expandId, expandTier, expandSourceTable);
91
- const hit = fetched
92
- ? buildCompactHitFromRow(fetched.row, fetched.sourceTable, {
96
+ // --- Exact-ID mode: direct id-based fetch, never falls back to ranking ---
97
+ // Triggered whenever `detail="full"` + `id` are provided. The trust
98
+ // contract is strict: return the exact row, or fail loudly. Four sub-cases:
99
+ // 1. `tier` + `source_table` direct fetch from that table. Powers the
100
+ // round-trippable `expand` pointers carried by every compact hit
101
+ // (which always include `source_table`).
102
+ // 2. `tier` without `source_table` scan the tier's candidate tables;
103
+ // the result must be unique. Multiple matches → 409 `ambiguous_id`
104
+ // (matters for `document` / `structured_doc`, which map to both the
105
+ // cloud and local structured-docs tables). Zero → 404 `id_not_found`.
106
+ // 3. `source_table` without `tier` — direct fetch from that table.
107
+ // 4. Neither `tier` nor `source_table` — scan every supported table.
108
+ // Exactly one match returns the row; zero → 404 `id_not_found`;
109
+ // multiple → 409 `ambiguous_id` with the candidate tables.
110
+ if ((detail === "full" || detail === "middle") && expandId) {
111
+ if (expandTier) {
112
+ // With an explicit `source_table`, the lookup is already scoped to
113
+ // one table — first-match is unambiguous. Without one, fall through
114
+ // to a multi-table scan so a tier that maps to multiple backing
115
+ // tables (document / structured_doc → cloud + local) gets the same
116
+ // ambiguity guarantee as the bare-id path. We never want to silently
117
+ // return the cloud row when a local row with the same id exists.
118
+ if (expandSourceTable) {
119
+ const fetched = await fetchRowByIdForTier(expandId, expandTier, expandSourceTable);
120
+ if (!fetched) {
121
+ return reply.code(404).send({
122
+ error: "id_not_found",
123
+ id: expandId,
124
+ tier: expandTier,
125
+ source_table: expandSourceTable,
126
+ });
127
+ }
128
+ const hit = buildCompactHitFromRow(fetched.row, fetched.sourceTable, {
129
+ ...(query ? { query } : {}),
130
+ expandRoute: "/search",
131
+ detail,
132
+ });
133
+ return {
134
+ results: [hit],
135
+ degraded: false,
136
+ cwd_matched: false,
137
+ cwd_scope_applied_to: [],
138
+ };
139
+ }
140
+ const tierTables = tablesForTier(expandTier);
141
+ const tierMatches = await fetchRowsByIdInTables(expandId, tierTables);
142
+ if (tierMatches.length === 0) {
143
+ return reply.code(404).send({
144
+ error: "id_not_found",
145
+ id: expandId,
146
+ tier: expandTier,
147
+ });
148
+ }
149
+ if (tierMatches.length > 1) {
150
+ return reply.code(409).send({
151
+ error: "ambiguous_id",
152
+ id: expandId,
153
+ tier: expandTier,
154
+ message: "Multiple rows share this id across this tier's backing tables. Pass `source_table` to disambiguate.",
155
+ candidates: tierMatches.map((m) => ({ source_table: m.sourceTable })),
156
+ });
157
+ }
158
+ const onlyTierMatch = tierMatches[0];
159
+ const hit = buildCompactHitFromRow(onlyTierMatch.row, onlyTierMatch.sourceTable, {
160
+ ...(query ? { query } : {}),
161
+ expandRoute: "/search",
162
+ detail,
163
+ });
164
+ return {
165
+ results: [hit],
166
+ degraded: false,
167
+ cwd_matched: false,
168
+ cwd_scope_applied_to: [],
169
+ };
170
+ }
171
+ if (expandSourceTable) {
172
+ // Direct table fetch — no tier needed when caller already named the
173
+ // authoritative table.
174
+ const escaped = expandId.replace(/'/g, "''");
175
+ const rows = (await getTable(expandSourceTable)
176
+ .query()
177
+ .where(`id = '${escaped}'`)
178
+ .limit(1)
179
+ .toArray());
180
+ if (rows.length === 0) {
181
+ return reply.code(404).send({
182
+ error: "id_not_found",
183
+ id: expandId,
184
+ source_table: expandSourceTable,
185
+ });
186
+ }
187
+ const hit = buildCompactHitFromRow(rows[0], expandSourceTable, {
93
188
  ...(query ? { query } : {}),
94
189
  expandRoute: "/search",
95
- })
96
- : null;
190
+ detail,
191
+ });
192
+ return {
193
+ results: [hit],
194
+ degraded: false,
195
+ cwd_matched: false,
196
+ cwd_scope_applied_to: [],
197
+ };
198
+ }
199
+ // No tier, no source_table — scan every table. Must be uniquely-resolvable.
200
+ const matches = await fetchRowsByIdAcrossTables(expandId);
201
+ if (matches.length === 0) {
202
+ return reply.code(404).send({
203
+ error: "id_not_found",
204
+ id: expandId,
205
+ });
206
+ }
207
+ if (matches.length > 1) {
208
+ return reply.code(409).send({
209
+ error: "ambiguous_id",
210
+ id: expandId,
211
+ message: "Multiple rows share this id across tables. Pass `source_table` (or `tier`) to disambiguate.",
212
+ candidates: matches.map((m) => ({ source_table: m.sourceTable })),
213
+ });
214
+ }
215
+ const only = matches[0];
216
+ const hit = buildCompactHitFromRow(only.row, only.sourceTable, {
217
+ ...(query ? { query } : {}),
218
+ expandRoute: "/search",
219
+ detail,
220
+ });
97
221
  return {
98
- results: hit ? [hit] : [],
222
+ results: [hit],
99
223
  degraded: false,
100
224
  cwd_matched: false,
101
225
  cwd_scope_applied_to: [],
@@ -112,16 +236,48 @@ export function registerSearchRoute(server, embedding, localEmbedding, sourceDir
112
236
  // Resolve cwd to a configured source root for project-scoped search
113
237
  const cwdMatch = cwd && sourceDirs ? resolveCwdRoot(cwd, sourceDirs) : null;
114
238
  const sourcePathPrefix = cwdMatch?.rootPath;
115
- // 1. Run hybrid search (vector + lexical) on cloud tables — requires cloud embedding
239
+ // 1. Retrieve candidates.
240
+ // - With a cloud embedding provider: hybrid (vector + lexical).
241
+ // - Without one: INTENTIONAL lexical-only mode. This is the no-key
242
+ // activation path — keyword search over the imported archive — and is
243
+ // NOT degraded (degraded is reserved for a vector path that was
244
+ // attempted and failed). `mode` distinguishes the two for callers.
116
245
  const candidates = [];
117
246
  let finalDegraded = false;
118
247
  let finalDegradedReason;
248
+ const mode = embedding ? "hybrid" : "lexical";
119
249
  if (embedding) {
120
250
  const cloudResult = await hybridSearch(query, embedding, { scope: searchScope, client, since, top_k, ...(sourcePathPrefix ? { sourcePathPrefix } : {}) });
121
251
  candidates.push(...cloudResult.candidates);
122
252
  finalDegraded = cloudResult.degraded;
123
253
  finalDegradedReason = cloudResult.degraded_reason;
124
254
  }
255
+ else {
256
+ // Lexical-only: BM25 over the same tables hybrid covers (structured_docs
257
+ // + conversations_hot + digests), plus conversations_cold (which the
258
+ // default lexical table set omits) when the scope includes conversations.
259
+ const fetchK = Math.max(top_k * 3, 30);
260
+ const lexHits = await lexicalSearch(query, {
261
+ scope: searchScope,
262
+ top_k: fetchK,
263
+ ...(client ? { client } : {}),
264
+ ...(since ? { since } : {}),
265
+ ...(sourcePathPrefix ? { sourcePathPrefix } : {}),
266
+ });
267
+ for (const h of lexHits)
268
+ candidates.push(lexicalHitToCandidate(h));
269
+ if (searchScope === "all" || searchScope === "conversations") {
270
+ const coldLex = await lexicalSearchTables(query, ["conversations_cold"], {
271
+ top_k: fetchK,
272
+ ...(since ? { since } : {}),
273
+ });
274
+ const seen = new Set(candidates.map((c) => c.id));
275
+ for (const h of coldLex) {
276
+ if (!seen.has(h.id))
277
+ candidates.push(lexicalHitToCandidate(h));
278
+ }
279
+ }
280
+ }
125
281
  // 1b. Search local table if local embedding is configured
126
282
  const scopeIncludesDocs = searchScope === "all" ||
127
283
  searchScope === "documents" ||
@@ -188,6 +344,47 @@ export function registerSearchRoute(server, embedding, localEmbedding, sourceDir
188
344
  ranked = [...ranked, ...coldRanked].sort((a, b) => b.score - a.score);
189
345
  }
190
346
  }
347
+ // 4. Report-as-memory demotion: in the default mixed surface
348
+ // (scope:"all" only), push generated reports/snapshots behind non-report
349
+ // evidence so they stop impersonating memory. Stable reorder, scores
350
+ // unchanged. Deliberately gated to "all" — the eval only validated the
351
+ // mixed default. Explicit doc-like scopes (documents/clients/projects)
352
+ // are left untouched: a client's reports/ folder may be the real source
353
+ // of truth there, and we only proved this on "all". Skipped when there
354
+ // are no docs to classify.
355
+ if (searchScope === "all" && ranked.some((r) => isReportCandidateTable(r.source_table))) {
356
+ // PR2 locator-relevance (flag-gated, OFF by default → ship path unchanged).
357
+ // Both levers fire only on locator-intent queries ("find the doc/file…",
358
+ // "where is…"), so discussion-query doc-intrusion is untouched. The
359
+ // ablation showed boost+exception together lift the scored locator gate
360
+ // (hit@1 0→75%, MRR 0.125→0.813) where neither alone suffices — boost
361
+ // climbs the rerank loss, the exception stops a field-matched report from
362
+ // being demoted behind every conversation. The boost reads path/slug/
363
+ // title only, never body/BM25, so body-only decoys cannot be promoted.
364
+ const locatorFired = locatorIntentFired(query);
365
+ const boostOn = process.env["RIFT_LOCATOR_BOOST"] === "1" && locatorFired;
366
+ const exceptionOn = process.env["RIFT_LOCATOR_DEMOTE_EXCEPTION"] === "1" && locatorFired;
367
+ if (boostOn || exceptionOn) {
368
+ const docFields = await fetchDocFields(ranked);
369
+ if (boostOn)
370
+ ranked = applyLocatorBoost(query, ranked, docFields);
371
+ const docPaths = new Map();
372
+ for (const [id, f] of docFields)
373
+ if (f.source_path)
374
+ docPaths.set(id, f.source_path);
375
+ const isExempt = exceptionOn
376
+ ? (id) => {
377
+ const f = docFields.get(id);
378
+ return f !== undefined && isLocatorTarget(query, f);
379
+ }
380
+ : undefined;
381
+ ranked = demoteReports(ranked, docPaths, searchScope, selfReportsRoot, isExempt);
382
+ }
383
+ else {
384
+ const docPaths = await fetchDocSourcePaths(ranked);
385
+ ranked = demoteReports(ranked, docPaths, searchScope, selfReportsRoot);
386
+ }
387
+ }
191
388
  const topRanked = ranked.slice(0, top_k);
192
389
  const rawRows = await fetchRawRowsForRanked(topRanked);
193
390
  const topResults = topRanked.map((r) => buildCompactHit(r, rawRows.get(r.id), {
@@ -205,6 +402,7 @@ export function registerSearchRoute(server, embedding, localEmbedding, sourceDir
205
402
  }
206
403
  const response = {
207
404
  results: topResults,
405
+ mode,
208
406
  degraded: finalDegraded,
209
407
  cwd_matched: !!cwdMatch,
210
408
  cwd_scope_applied_to: cwdScopeAppliedTo,
@@ -214,6 +412,26 @@ export function registerSearchRoute(server, embedding, localEmbedding, sourceDir
214
412
  return response;
215
413
  });
216
414
  }
415
+ /**
416
+ * Adapt a lexical `SearchResult` into a `HybridResult` for the shared rerank
417
+ * path. Lexical-only, so `raw_sim` is 0 and the BM25 score carries the signal
418
+ * (the reranker normalizes BM25 into S_sim when no vector score is present).
419
+ */
420
+ function lexicalHitToCandidate(h) {
421
+ const entry = {
422
+ id: h.id,
423
+ content: h.content,
424
+ raw_sim: 0,
425
+ raw_bm25: h.score,
426
+ source_table: h.source_table,
427
+ retrieval_method: "lexical",
428
+ };
429
+ if (h.indexed_at)
430
+ entry.indexed_at = h.indexed_at;
431
+ if (h.quality)
432
+ entry.quality = h.quality;
433
+ return entry;
434
+ }
217
435
  /**
218
436
  * Search conversations_cold for cold-tier fallback.
219
437
  * Returns rerank-ready candidates and degradation status.
@@ -233,7 +451,10 @@ async function searchColdTier(query, embedding, opts) {
233
451
  try {
234
452
  const queryVec = await embedding.embed(query);
235
453
  const coldTable = getTable("conversations_cold");
236
- const clauses = [];
454
+ // Exclude no-key placeholder rows: compaction/rebuild preserve the
455
+ // `rift-none` marker into conversations_cold, so an old no-key row moved
456
+ // to cold must not re-enter semantic search after a real key is connected.
457
+ const clauses = [RIFT_NONE_VECTOR_EXCLUSION_CLAUSE];
237
458
  if (opts.since) {
238
459
  clauses.push(`indexed_at >= '${opts.since.replace(/'/g, "''")}'`);
239
460
  }
@@ -255,9 +476,12 @@ async function searchColdTier(query, embedding, opts) {
255
476
  const ts = row.indexed_at;
256
477
  if (ts)
257
478
  entry.indexed_at = ts;
479
+ // Drop placeholder `quality` on no-AI basic rows so the reranker treats
480
+ // them as quality-neutral rather than ranking on a fake label.
258
481
  const q = row.quality;
259
- if (q)
482
+ if (q && !isRiftBasicMetadata(row.metadata_provider)) {
260
483
  entry.quality = q;
484
+ }
261
485
  vectorResults.push(entry);
262
486
  }
263
487
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/server/routes/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/server/routes/search.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"triage.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/triage.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AA2BpD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,MAAM,GACd,IAAI,CAqGN"}
1
+ {"version":3,"file":"triage.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/triage.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AA4BpD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,MAAM,GACd,IAAI,CAsGN"}