@getrift/rift 0.1.0-beta.21 → 0.1.0-beta.23

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 (320) hide show
  1. package/README.md +7 -3
  2. package/dist/src/capture/auto-capture.d.ts +105 -4
  3. package/dist/src/capture/auto-capture.d.ts.map +1 -1
  4. package/dist/src/capture/auto-capture.js +313 -34
  5. package/dist/src/capture/auto-capture.js.map +1 -1
  6. package/dist/src/capture/claude-cli-triage-provider.d.ts +28 -0
  7. package/dist/src/capture/claude-cli-triage-provider.d.ts.map +1 -0
  8. package/dist/src/capture/claude-cli-triage-provider.js +88 -0
  9. package/dist/src/capture/claude-cli-triage-provider.js.map +1 -0
  10. package/dist/src/capture/codex-cli-triage-provider.d.ts.map +1 -1
  11. package/dist/src/capture/codex-cli-triage-provider.js +1 -33
  12. package/dist/src/capture/codex-cli-triage-provider.js.map +1 -1
  13. package/dist/src/capture/cursor-capture.d.ts +89 -0
  14. package/dist/src/capture/cursor-capture.d.ts.map +1 -0
  15. package/dist/src/capture/cursor-capture.js +121 -0
  16. package/dist/src/capture/cursor-capture.js.map +1 -0
  17. package/dist/src/capture/observability.d.ts +30 -0
  18. package/dist/src/capture/observability.d.ts.map +1 -1
  19. package/dist/src/capture/observability.js +29 -0
  20. package/dist/src/capture/observability.js.map +1 -1
  21. package/dist/src/capture/recover-quarantine.d.ts +4 -4
  22. package/dist/src/capture/sources.d.ts +41 -3
  23. package/dist/src/capture/sources.d.ts.map +1 -1
  24. package/dist/src/capture/sources.js +43 -1
  25. package/dist/src/capture/sources.js.map +1 -1
  26. package/dist/src/capture/triage-classification.d.ts +69 -0
  27. package/dist/src/capture/triage-classification.d.ts.map +1 -0
  28. package/dist/src/capture/triage-classification.js +62 -0
  29. package/dist/src/capture/triage-classification.js.map +1 -0
  30. package/dist/src/capture/triage-provider-factory.d.ts +36 -0
  31. package/dist/src/capture/triage-provider-factory.d.ts.map +1 -0
  32. package/dist/src/capture/triage-provider-factory.js +55 -0
  33. package/dist/src/capture/triage-provider-factory.js.map +1 -0
  34. package/dist/src/capture/triage.d.ts +1 -1
  35. package/dist/src/capture/triage.d.ts.map +1 -1
  36. package/dist/src/capture/triage.js +8 -6
  37. package/dist/src/capture/triage.js.map +1 -1
  38. package/dist/src/cli/commands/capture.d.ts.map +1 -1
  39. package/dist/src/cli/commands/capture.js +79 -17
  40. package/dist/src/cli/commands/capture.js.map +1 -1
  41. package/dist/src/cli/commands/chunk-backfill.d.ts +13 -0
  42. package/dist/src/cli/commands/chunk-backfill.d.ts.map +1 -0
  43. package/dist/src/cli/commands/chunk-backfill.js +157 -0
  44. package/dist/src/cli/commands/chunk-backfill.js.map +1 -0
  45. package/dist/src/cli/commands/cursor-probe.d.ts +20 -0
  46. package/dist/src/cli/commands/cursor-probe.d.ts.map +1 -0
  47. package/dist/src/cli/commands/cursor-probe.js +162 -0
  48. package/dist/src/cli/commands/cursor-probe.js.map +1 -0
  49. package/dist/src/cli/commands/menubar.d.ts +3 -1
  50. package/dist/src/cli/commands/menubar.d.ts.map +1 -1
  51. package/dist/src/cli/commands/menubar.js +36 -12
  52. package/dist/src/cli/commands/menubar.js.map +1 -1
  53. package/dist/src/cli/commands/onboard.d.ts +22 -2
  54. package/dist/src/cli/commands/onboard.d.ts.map +1 -1
  55. package/dist/src/cli/commands/onboard.js +160 -32
  56. package/dist/src/cli/commands/onboard.js.map +1 -1
  57. package/dist/src/cli/commands/status.d.ts.map +1 -1
  58. package/dist/src/cli/commands/status.js +12 -0
  59. package/dist/src/cli/commands/status.js.map +1 -1
  60. package/dist/src/cli/commands/update.d.ts +34 -1
  61. package/dist/src/cli/commands/update.d.ts.map +1 -1
  62. package/dist/src/cli/commands/update.js +166 -1
  63. package/dist/src/cli/commands/update.js.map +1 -1
  64. package/dist/src/cli/index.d.ts.map +1 -1
  65. package/dist/src/cli/index.js +4 -0
  66. package/dist/src/cli/index.js.map +1 -1
  67. package/dist/src/cli/postinstall-menubar.d.ts +20 -13
  68. package/dist/src/cli/postinstall-menubar.d.ts.map +1 -1
  69. package/dist/src/cli/postinstall-menubar.js +56 -1
  70. package/dist/src/cli/postinstall-menubar.js.map +1 -1
  71. package/dist/src/cli/status/friend-header.d.ts +16 -3
  72. package/dist/src/cli/status/friend-header.d.ts.map +1 -1
  73. package/dist/src/cli/status/friend-header.js +186 -10
  74. package/dist/src/cli/status/friend-header.js.map +1 -1
  75. package/dist/src/cli/status/local-signals.d.ts +42 -4
  76. package/dist/src/cli/status/local-signals.d.ts.map +1 -1
  77. package/dist/src/cli/status/local-signals.js +52 -1
  78. package/dist/src/cli/status/local-signals.js.map +1 -1
  79. package/dist/src/config/schema.d.ts +220 -14
  80. package/dist/src/config/schema.d.ts.map +1 -1
  81. package/dist/src/config/schema.js +82 -7
  82. package/dist/src/config/schema.js.map +1 -1
  83. package/dist/src/diagnostics/claude-preflight.d.ts +35 -0
  84. package/dist/src/diagnostics/claude-preflight.d.ts.map +1 -0
  85. package/dist/src/diagnostics/claude-preflight.js +90 -0
  86. package/dist/src/diagnostics/claude-preflight.js.map +1 -0
  87. package/dist/src/diagnostics/codex-preflight.d.ts +1 -1
  88. package/dist/src/diagnostics/codex-preflight.d.ts.map +1 -1
  89. package/dist/src/diagnostics/codex-preflight.js +24 -0
  90. package/dist/src/diagnostics/codex-preflight.js.map +1 -1
  91. package/dist/src/diagnostics/doctor.d.ts +7 -4
  92. package/dist/src/diagnostics/doctor.d.ts.map +1 -1
  93. package/dist/src/diagnostics/doctor.js +70 -11
  94. package/dist/src/diagnostics/doctor.js.map +1 -1
  95. package/dist/src/diagnostics/memory-coverage.d.ts +54 -0
  96. package/dist/src/diagnostics/memory-coverage.d.ts.map +1 -0
  97. package/dist/src/diagnostics/memory-coverage.js +272 -0
  98. package/dist/src/diagnostics/memory-coverage.js.map +1 -0
  99. package/dist/src/diagnostics/notify.d.ts +20 -3
  100. package/dist/src/diagnostics/notify.d.ts.map +1 -1
  101. package/dist/src/diagnostics/notify.js +54 -14
  102. package/dist/src/diagnostics/notify.js.map +1 -1
  103. package/dist/src/ingestion/chunk-meta.d.ts +85 -0
  104. package/dist/src/ingestion/chunk-meta.d.ts.map +1 -0
  105. package/dist/src/ingestion/chunk-meta.js +167 -0
  106. package/dist/src/ingestion/chunk-meta.js.map +1 -0
  107. package/dist/src/ingestion/chunk-text.d.ts +39 -0
  108. package/dist/src/ingestion/chunk-text.d.ts.map +1 -0
  109. package/dist/src/ingestion/chunk-text.js +114 -0
  110. package/dist/src/ingestion/chunk-text.js.map +1 -0
  111. package/dist/src/ingestion/cursor/cursor-store.d.ts +177 -0
  112. package/dist/src/ingestion/cursor/cursor-store.d.ts.map +1 -0
  113. package/dist/src/ingestion/cursor/cursor-store.js +243 -0
  114. package/dist/src/ingestion/cursor/cursor-store.js.map +1 -0
  115. package/dist/src/ingestion/cursor/enrich-roots.d.ts +16 -0
  116. package/dist/src/ingestion/cursor/enrich-roots.d.ts.map +1 -0
  117. package/dist/src/ingestion/cursor/enrich-roots.js +22 -0
  118. package/dist/src/ingestion/cursor/enrich-roots.js.map +1 -0
  119. package/dist/src/ingestion/cursor/vscdb-reader.d.ts +32 -0
  120. package/dist/src/ingestion/cursor/vscdb-reader.d.ts.map +1 -0
  121. package/dist/src/ingestion/cursor/vscdb-reader.js +113 -0
  122. package/dist/src/ingestion/cursor/vscdb-reader.js.map +1 -0
  123. package/dist/src/ingestion/cursor/workspace-root.d.ts +96 -0
  124. package/dist/src/ingestion/cursor/workspace-root.d.ts.map +1 -0
  125. package/dist/src/ingestion/cursor/workspace-root.js +187 -0
  126. package/dist/src/ingestion/cursor/workspace-root.js.map +1 -0
  127. package/dist/src/ingestion/indexer.d.ts.map +1 -1
  128. package/dist/src/ingestion/indexer.js +41 -32
  129. package/dist/src/ingestion/indexer.js.map +1 -1
  130. package/dist/src/jobs/handlers/compact.d.ts.map +1 -1
  131. package/dist/src/jobs/handlers/compact.js +9 -4
  132. package/dist/src/jobs/handlers/compact.js.map +1 -1
  133. package/dist/src/jobs/handlers/ingest.d.ts.map +1 -1
  134. package/dist/src/jobs/handlers/ingest.js +60 -30
  135. package/dist/src/jobs/handlers/ingest.js.map +1 -1
  136. package/dist/src/jobs/handlers/reconcile.d.ts.map +1 -1
  137. package/dist/src/jobs/handlers/reconcile.js +128 -45
  138. package/dist/src/jobs/handlers/reconcile.js.map +1 -1
  139. package/dist/src/jobs/handlers/save.d.ts.map +1 -1
  140. package/dist/src/jobs/handlers/save.js +122 -72
  141. package/dist/src/jobs/handlers/save.js.map +1 -1
  142. package/dist/src/jobs/types.d.ts +1 -1
  143. package/dist/src/main.js +27 -16
  144. package/dist/src/main.js.map +1 -1
  145. package/dist/src/mcp/capture-diagnostics.d.ts +51 -0
  146. package/dist/src/mcp/capture-diagnostics.d.ts.map +1 -0
  147. package/dist/src/mcp/capture-diagnostics.js +127 -0
  148. package/dist/src/mcp/capture-diagnostics.js.map +1 -0
  149. package/dist/src/mcp/memory-diagnostics.d.ts +6 -0
  150. package/dist/src/mcp/memory-diagnostics.d.ts.map +1 -0
  151. package/dist/src/mcp/memory-diagnostics.js +51 -0
  152. package/dist/src/mcp/memory-diagnostics.js.map +1 -0
  153. package/dist/src/mcp/server.d.ts.map +1 -1
  154. package/dist/src/mcp/server.js +10 -3
  155. package/dist/src/mcp/server.js.map +1 -1
  156. package/dist/src/mcp/tools/context-pack.d.ts.map +1 -1
  157. package/dist/src/mcp/tools/context-pack.js +7 -1
  158. package/dist/src/mcp/tools/context-pack.js.map +1 -1
  159. package/dist/src/mcp/tools/conversations-search.d.ts +1 -1
  160. package/dist/src/mcp/tools/conversations-search.d.ts.map +1 -1
  161. package/dist/src/mcp/tools/conversations-search.js +7 -1
  162. package/dist/src/mcp/tools/conversations-search.js.map +1 -1
  163. package/dist/src/mcp/tools/evidence-feedback.d.ts +60 -0
  164. package/dist/src/mcp/tools/evidence-feedback.d.ts.map +1 -0
  165. package/dist/src/mcp/tools/evidence-feedback.js +62 -0
  166. package/dist/src/mcp/tools/evidence-feedback.js.map +1 -0
  167. package/dist/src/mcp/tools/log-outcome.d.ts +72 -0
  168. package/dist/src/mcp/tools/log-outcome.d.ts.map +1 -0
  169. package/dist/src/mcp/tools/log-outcome.js +59 -0
  170. package/dist/src/mcp/tools/log-outcome.js.map +1 -0
  171. package/dist/src/mcp/tools/open-evidence.d.ts +37 -0
  172. package/dist/src/mcp/tools/open-evidence.d.ts.map +1 -0
  173. package/dist/src/mcp/tools/open-evidence.js +72 -0
  174. package/dist/src/mcp/tools/open-evidence.js.map +1 -0
  175. package/dist/src/mcp/tools/save.d.ts +7 -2
  176. package/dist/src/mcp/tools/save.d.ts.map +1 -1
  177. package/dist/src/mcp/tools/save.js +7 -2
  178. package/dist/src/mcp/tools/save.js.map +1 -1
  179. package/dist/src/mcp/tools/search.d.ts.map +1 -1
  180. package/dist/src/mcp/tools/search.js +7 -1
  181. package/dist/src/mcp/tools/search.js.map +1 -1
  182. package/dist/src/mcp/tools/status.d.ts +15 -1
  183. package/dist/src/mcp/tools/status.d.ts.map +1 -1
  184. package/dist/src/mcp/tools/status.js +53 -2
  185. package/dist/src/mcp/tools/status.js.map +1 -1
  186. package/dist/src/observability/retrieval-feedback.d.ts +82 -0
  187. package/dist/src/observability/retrieval-feedback.d.ts.map +1 -0
  188. package/dist/src/observability/retrieval-feedback.js +231 -0
  189. package/dist/src/observability/retrieval-feedback.js.map +1 -0
  190. package/dist/src/observability/rift-context.d.ts.map +1 -1
  191. package/dist/src/observability/rift-context.js +3 -0
  192. package/dist/src/observability/rift-context.js.map +1 -1
  193. package/dist/src/observability/tool-usage-stats.d.ts +13 -0
  194. package/dist/src/observability/tool-usage-stats.d.ts.map +1 -1
  195. package/dist/src/observability/tool-usage-stats.js +15 -0
  196. package/dist/src/observability/tool-usage-stats.js.map +1 -1
  197. package/dist/src/observability/tool-usage.d.ts +56 -0
  198. package/dist/src/observability/tool-usage.d.ts.map +1 -1
  199. package/dist/src/observability/tool-usage.js +86 -0
  200. package/dist/src/observability/tool-usage.js.map +1 -1
  201. package/dist/src/providers/claude-cli-metadata-extraction.d.ts +47 -0
  202. package/dist/src/providers/claude-cli-metadata-extraction.d.ts.map +1 -0
  203. package/dist/src/providers/claude-cli-metadata-extraction.js +120 -0
  204. package/dist/src/providers/claude-cli-metadata-extraction.js.map +1 -0
  205. package/dist/src/providers/claude-cli-runner.d.ts +92 -0
  206. package/dist/src/providers/claude-cli-runner.d.ts.map +1 -0
  207. package/dist/src/providers/claude-cli-runner.js +598 -0
  208. package/dist/src/providers/claude-cli-runner.js.map +1 -0
  209. package/dist/src/providers/codex-cli-metadata-extraction.d.ts.map +1 -1
  210. package/dist/src/providers/codex-cli-metadata-extraction.js +1 -40
  211. package/dist/src/providers/codex-cli-metadata-extraction.js.map +1 -1
  212. package/dist/src/providers/codex-cli-runner.d.ts +7 -0
  213. package/dist/src/providers/codex-cli-runner.d.ts.map +1 -1
  214. package/dist/src/providers/codex-cli-runner.js +131 -5
  215. package/dist/src/providers/codex-cli-runner.js.map +1 -1
  216. package/dist/src/providers/conversation-generation.d.ts +10 -0
  217. package/dist/src/providers/conversation-generation.d.ts.map +1 -1
  218. package/dist/src/providers/conversation-generation.js +54 -13
  219. package/dist/src/providers/conversation-generation.js.map +1 -1
  220. package/dist/src/providers/openai-metadata-extraction.d.ts +48 -1
  221. package/dist/src/providers/openai-metadata-extraction.d.ts.map +1 -1
  222. package/dist/src/providers/openai-metadata-extraction.js +51 -2
  223. package/dist/src/providers/openai-metadata-extraction.js.map +1 -1
  224. package/dist/src/providers/types.d.ts +1 -1
  225. package/dist/src/providers/types.d.ts.map +1 -1
  226. package/dist/src/providers/types.js +4 -0
  227. package/dist/src/providers/types.js.map +1 -1
  228. package/dist/src/retrieval/canonical-files.d.ts +48 -0
  229. package/dist/src/retrieval/canonical-files.d.ts.map +1 -0
  230. package/dist/src/retrieval/canonical-files.js +210 -0
  231. package/dist/src/retrieval/canonical-files.js.map +1 -0
  232. package/dist/src/retrieval/compact.d.ts +95 -0
  233. package/dist/src/retrieval/compact.d.ts.map +1 -1
  234. package/dist/src/retrieval/compact.js +254 -8
  235. package/dist/src/retrieval/compact.js.map +1 -1
  236. package/dist/src/retrieval/context-pack.d.ts.map +1 -1
  237. package/dist/src/retrieval/context-pack.js +65 -15
  238. package/dist/src/retrieval/context-pack.js.map +1 -1
  239. package/dist/src/retrieval/conversation-dedup.d.ts +40 -0
  240. package/dist/src/retrieval/conversation-dedup.d.ts.map +1 -0
  241. package/dist/src/retrieval/conversation-dedup.js +141 -0
  242. package/dist/src/retrieval/conversation-dedup.js.map +1 -0
  243. package/dist/src/retrieval/evidence-key.d.ts +48 -0
  244. package/dist/src/retrieval/evidence-key.d.ts.map +1 -0
  245. package/dist/src/retrieval/evidence-key.js +131 -0
  246. package/dist/src/retrieval/evidence-key.js.map +1 -0
  247. package/dist/src/retrieval/feedback-ranking.d.ts +49 -0
  248. package/dist/src/retrieval/feedback-ranking.d.ts.map +1 -0
  249. package/dist/src/retrieval/feedback-ranking.js +138 -0
  250. package/dist/src/retrieval/feedback-ranking.js.map +1 -0
  251. package/dist/src/retrieval/git-state.d.ts +9 -0
  252. package/dist/src/retrieval/git-state.d.ts.map +1 -1
  253. package/dist/src/retrieval/git-state.js +18 -0
  254. package/dist/src/retrieval/git-state.js.map +1 -1
  255. package/dist/src/retrieval/group-by-parent.d.ts +38 -0
  256. package/dist/src/retrieval/group-by-parent.d.ts.map +1 -0
  257. package/dist/src/retrieval/group-by-parent.js +40 -0
  258. package/dist/src/retrieval/group-by-parent.js.map +1 -0
  259. package/dist/src/retrieval/lexical.d.ts.map +1 -1
  260. package/dist/src/retrieval/lexical.js +1 -3
  261. package/dist/src/retrieval/lexical.js.map +1 -1
  262. package/dist/src/retrieval/receipt.d.ts +57 -0
  263. package/dist/src/retrieval/receipt.d.ts.map +1 -0
  264. package/dist/src/retrieval/receipt.js +119 -0
  265. package/dist/src/retrieval/receipt.js.map +1 -0
  266. package/dist/src/retrieval/reranker.d.ts +49 -2
  267. package/dist/src/retrieval/reranker.d.ts.map +1 -1
  268. package/dist/src/retrieval/reranker.js +64 -4
  269. package/dist/src/retrieval/reranker.js.map +1 -1
  270. package/dist/src/retrieval/stitch-chunks.d.ts +73 -0
  271. package/dist/src/retrieval/stitch-chunks.d.ts.map +1 -0
  272. package/dist/src/retrieval/stitch-chunks.js +106 -0
  273. package/dist/src/retrieval/stitch-chunks.js.map +1 -0
  274. package/dist/src/server/app.d.ts +1 -1
  275. package/dist/src/server/app.d.ts.map +1 -1
  276. package/dist/src/server/app.js +20 -3
  277. package/dist/src/server/app.js.map +1 -1
  278. package/dist/src/server/routes/conversations-search.d.ts.map +1 -1
  279. package/dist/src/server/routes/conversations-search.js +22 -3
  280. package/dist/src/server/routes/conversations-search.js.map +1 -1
  281. package/dist/src/server/routes/friend-status.d.ts +64 -6
  282. package/dist/src/server/routes/friend-status.d.ts.map +1 -1
  283. package/dist/src/server/routes/friend-status.js +114 -18
  284. package/dist/src/server/routes/friend-status.js.map +1 -1
  285. package/dist/src/server/routes/mcp-usage.d.ts +9 -6
  286. package/dist/src/server/routes/mcp-usage.d.ts.map +1 -1
  287. package/dist/src/server/routes/mcp-usage.js.map +1 -1
  288. package/dist/src/server/routes/retrieval-feedback.d.ts +3 -0
  289. package/dist/src/server/routes/retrieval-feedback.d.ts.map +1 -0
  290. package/dist/src/server/routes/retrieval-feedback.js +290 -0
  291. package/dist/src/server/routes/retrieval-feedback.js.map +1 -0
  292. package/dist/src/server/routes/save.d.ts +3 -3
  293. package/dist/src/server/routes/save.d.ts.map +1 -1
  294. package/dist/src/server/routes/save.js +6 -2
  295. package/dist/src/server/routes/save.js.map +1 -1
  296. package/dist/src/server/routes/search.d.ts +1 -1
  297. package/dist/src/server/routes/search.d.ts.map +1 -1
  298. package/dist/src/server/routes/search.js +55 -8
  299. package/dist/src/server/routes/search.js.map +1 -1
  300. package/dist/src/server/serving-marker.d.ts +85 -0
  301. package/dist/src/server/serving-marker.d.ts.map +1 -0
  302. package/dist/src/server/serving-marker.js +226 -0
  303. package/dist/src/server/serving-marker.js.map +1 -0
  304. package/dist/src/storage/chunk-backfill.d.ts +39 -0
  305. package/dist/src/storage/chunk-backfill.d.ts.map +1 -0
  306. package/dist/src/storage/chunk-backfill.js +295 -0
  307. package/dist/src/storage/chunk-backfill.js.map +1 -0
  308. package/dist/src/storage/filter.d.ts +42 -0
  309. package/dist/src/storage/filter.d.ts.map +1 -0
  310. package/dist/src/storage/filter.js +70 -0
  311. package/dist/src/storage/filter.js.map +1 -0
  312. package/dist/src/storage/rebuild.d.ts.map +1 -1
  313. package/dist/src/storage/rebuild.js +44 -27
  314. package/dist/src/storage/rebuild.js.map +1 -1
  315. package/dist/src/storage/tables.d.ts +41 -0
  316. package/dist/src/storage/tables.d.ts.map +1 -1
  317. package/dist/src/storage/tables.js +64 -1
  318. package/dist/src/storage/tables.js.map +1 -1
  319. package/operator/swiftbar/render-menu.py +60 -18
  320. package/package.json +6 -4
@@ -27,6 +27,17 @@ export function buildAutoCaptureRunRecord(opts) {
27
27
  ...(opts.report.preflight_error
28
28
  ? { preflight_error: opts.report.preflight_error }
29
29
  : {}),
30
+ ...(opts.report.preflight_worker
31
+ ? { preflight_worker: opts.report.preflight_worker }
32
+ : {}),
33
+ ...(opts.report.cursor_discovery
34
+ ? {
35
+ cursor_discovery_ok: opts.report.cursor_discovery.ok,
36
+ ...(opts.report.cursor_discovery.error
37
+ ? { cursor_discovery_error: opts.report.cursor_discovery.error }
38
+ : {}),
39
+ }
40
+ : {}),
30
41
  trigger: opts.trigger,
31
42
  };
32
43
  }
@@ -106,10 +117,28 @@ export function summarizeAutoCaptureRuns(records, sources = DEFAULT_AUTO_CAPTURE
106
117
  break;
107
118
  }
108
119
  }
120
+ // Newest run that attempted Cursor discovery, regardless of trigger: a manual
121
+ // `rift capture` or onboard pass that read Cursor is just as authoritative
122
+ // about "can Rift read the store" as a daemon tick. Absent on every run (or
123
+ // only legacy rows) → null, and status falls back to the file-presence probe.
124
+ let lastCursorDiscovery = null;
125
+ for (let i = records.length - 1; i >= 0; i--) {
126
+ const record = records[i];
127
+ if (record && record.cursor_discovery_ok !== undefined) {
128
+ lastCursorDiscovery = {
129
+ ok: record.cursor_discovery_ok,
130
+ ...(record.cursor_discovery_error
131
+ ? { error: record.cursor_discovery_error }
132
+ : {}),
133
+ };
134
+ break;
135
+ }
136
+ }
109
137
  return {
110
138
  last_run: records.at(-1) ?? null,
111
139
  last_daemon_run: lastDaemonRun,
112
140
  last_success_by_source: lastSuccess,
141
+ last_cursor_discovery: lastCursorDiscovery,
113
142
  };
114
143
  }
115
144
  export function readAutoCaptureRunSummary(dataDir, sources = DEFAULT_AUTO_CAPTURE_SOURCES) {
@@ -1 +1 @@
1
- {"version":3,"file":"observability.js","sourceRoot":"","sources":["../../../src/capture/observability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observability.js","sourceRoot":"","sources":["../../../src/capture/observability.ts"],"names":[],"mappings":"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"}
@@ -20,20 +20,20 @@ declare const QuarantineRecordSchema: z.ZodObject<{
20
20
  quarantined_at: z.ZodString;
21
21
  }, "strip", z.ZodTypeAny, {
22
22
  source: "codex_cli";
23
+ session_id: string;
24
+ reason: string;
23
25
  size_bytes: number;
24
26
  quarantined_at: string;
25
- reason: string;
26
27
  fingerprint: string;
27
- session_id: string;
28
28
  session_path: string;
29
29
  threshold_bytes: number;
30
30
  }, {
31
31
  source: "codex_cli";
32
+ session_id: string;
33
+ reason: string;
32
34
  size_bytes: number;
33
35
  quarantined_at: string;
34
- reason: string;
35
36
  fingerprint: string;
36
- session_id: string;
37
37
  session_path: string;
38
38
  threshold_bytes: number;
39
39
  }>;
@@ -1,7 +1,45 @@
1
- export declare const AUTO_CAPTURE_SOURCE_VALUES: readonly ["claude_code", "codex_cli"];
1
+ /**
2
+ * Auto-capture source registry.
3
+ *
4
+ * Two concepts, kept deliberately separate:
5
+ *
6
+ * - SCHEDULED_AUTO_CAPTURE_SOURCE_VALUES — sources eligible for the scheduled
7
+ * daemon loop AND `config.capture.sources`. The config enum is built from
8
+ * this list, so anything not here is rejected at config-validation time.
9
+ * As of the Cursor scheduling slice this INCLUDES `cursor_composer`: native
10
+ * Cursor capture can now be turned on by adding it to `capture.sources`
11
+ * (config membership is the deliberate, persisted opt-in that authorizes
12
+ * discovery + persistence on the daemon path — see auto-capture.ts).
13
+ * - DEFAULT_AUTO_CAPTURE_SOURCES — what a fresh/unspecified config enables.
14
+ * Deliberately EXCLUDES `cursor_composer` so enabling the daemon never starts
15
+ * Cursor capture by default; it stays explicit opt-in.
16
+ */
17
+ /**
18
+ * Sources wired into scheduled daemon capture and accepted in `capture.sources`.
19
+ * `cursor_composer` is schedulable (opt-in) but NOT a default — see
20
+ * DEFAULT_AUTO_CAPTURE_SOURCES.
21
+ */
22
+ export declare const SCHEDULED_AUTO_CAPTURE_SOURCE_VALUES: readonly ["claude_code", "codex_cli", "cursor_composer"];
23
+ /** Native Cursor sessions (shared `state.vscdb`, not a per-session file). */
24
+ export declare const CURSOR_CAPTURE_SOURCE: "cursor_composer";
25
+ /**
26
+ * All auto-capture source values the orchestrator understands. Coextensive with
27
+ * the scheduled set now that Cursor is schedulable; kept as a distinct name
28
+ * because the two concepts (orchestrator-typeable vs config-eligible) remain
29
+ * conceptually separate and may diverge again for a future flag-gated source.
30
+ */
31
+ export declare const AUTO_CAPTURE_SOURCE_VALUES: readonly ["claude_code", "codex_cli", "cursor_composer"];
2
32
  export type AutoCaptureSource = (typeof AUTO_CAPTURE_SOURCE_VALUES)[number];
33
+ /** Sources eligible for scheduled/config capture. */
34
+ export type ScheduledAutoCaptureSource = (typeof SCHEDULED_AUTO_CAPTURE_SOURCE_VALUES)[number];
35
+ /**
36
+ * Default sources for a scheduled run. Intentionally EXCLUDES `cursor_composer`
37
+ * so enabling the daemon never starts Cursor capture by default — Cursor is
38
+ * explicit opt-in (add it to `capture.sources`). Typed to a non-empty tuple of
39
+ * the scheduled subset so it stays assignable to the config enum's default.
40
+ */
3
41
  export declare const DEFAULT_AUTO_CAPTURE_SOURCES: [
4
- AutoCaptureSource,
5
- ...AutoCaptureSource[]
42
+ ScheduledAutoCaptureSource,
43
+ ...ScheduledAutoCaptureSource[]
6
44
  ];
7
45
  //# sourceMappingURL=sources.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../src/capture/sources.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,uCAAwC,CAAC;AAEhF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,eAAO,MAAM,4BAA4B,EAAE;IACzC,iBAAiB;IACjB,GAAG,iBAAiB,EAAE;CACQ,CAAC"}
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../src/capture/sources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,0DAIvC,CAAC;AAEX,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,EAAG,iBAA0B,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,0DAE7B,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,qDAAqD;AACrD,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,oCAAoC,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,EAAE;IACzC,0BAA0B;IAC1B,GAAG,0BAA0B,EAAE;CACD,CAAC"}
@@ -1,3 +1,45 @@
1
- export const AUTO_CAPTURE_SOURCE_VALUES = ["claude_code", "codex_cli"];
1
+ /**
2
+ * Auto-capture source registry.
3
+ *
4
+ * Two concepts, kept deliberately separate:
5
+ *
6
+ * - SCHEDULED_AUTO_CAPTURE_SOURCE_VALUES — sources eligible for the scheduled
7
+ * daemon loop AND `config.capture.sources`. The config enum is built from
8
+ * this list, so anything not here is rejected at config-validation time.
9
+ * As of the Cursor scheduling slice this INCLUDES `cursor_composer`: native
10
+ * Cursor capture can now be turned on by adding it to `capture.sources`
11
+ * (config membership is the deliberate, persisted opt-in that authorizes
12
+ * discovery + persistence on the daemon path — see auto-capture.ts).
13
+ * - DEFAULT_AUTO_CAPTURE_SOURCES — what a fresh/unspecified config enables.
14
+ * Deliberately EXCLUDES `cursor_composer` so enabling the daemon never starts
15
+ * Cursor capture by default; it stays explicit opt-in.
16
+ */
17
+ /**
18
+ * Sources wired into scheduled daemon capture and accepted in `capture.sources`.
19
+ * `cursor_composer` is schedulable (opt-in) but NOT a default — see
20
+ * DEFAULT_AUTO_CAPTURE_SOURCES.
21
+ */
22
+ export const SCHEDULED_AUTO_CAPTURE_SOURCE_VALUES = [
23
+ "claude_code",
24
+ "codex_cli",
25
+ "cursor_composer",
26
+ ];
27
+ /** Native Cursor sessions (shared `state.vscdb`, not a per-session file). */
28
+ export const CURSOR_CAPTURE_SOURCE = "cursor_composer";
29
+ /**
30
+ * All auto-capture source values the orchestrator understands. Coextensive with
31
+ * the scheduled set now that Cursor is schedulable; kept as a distinct name
32
+ * because the two concepts (orchestrator-typeable vs config-eligible) remain
33
+ * conceptually separate and may diverge again for a future flag-gated source.
34
+ */
35
+ export const AUTO_CAPTURE_SOURCE_VALUES = [
36
+ ...SCHEDULED_AUTO_CAPTURE_SOURCE_VALUES,
37
+ ];
38
+ /**
39
+ * Default sources for a scheduled run. Intentionally EXCLUDES `cursor_composer`
40
+ * so enabling the daemon never starts Cursor capture by default — Cursor is
41
+ * explicit opt-in (add it to `capture.sources`). Typed to a non-empty tuple of
42
+ * the scheduled subset so it stays assignable to the config enum's default.
43
+ */
2
44
  export const DEFAULT_AUTO_CAPTURE_SOURCES = ["claude_code", "codex_cli"];
3
45
  //# sourceMappingURL=sources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/capture/sources.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,aAAa,EAAE,WAAW,CAAU,CAAC;AAIhF,MAAM,CAAC,MAAM,4BAA4B,GAGrC,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/capture/sources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,aAAa;IACb,WAAW;IACX,iBAAiB;CACT,CAAC;AAEX,6EAA6E;AAC7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAA0B,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,GAAG,oCAAoC;CAC/B,CAAC;AAQX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAGrC,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Shared triage classification contract — the prompt and the JSON output
3
+ * schema — used by EVERY triage worker (Codex CLI, Claude CLI). Centralised so
4
+ * the save/discard/review decision is identical regardless of which AI worker
5
+ * runs it: a provider swap changes the runtime, never the classification.
6
+ */
7
+ import { z } from "zod";
8
+ export declare const TRIAGE_PROMPT = "You are a triage classifier for a personal knowledge base. Given a conversation between a user and an AI assistant, decide whether it should be saved to long-term memory.\n\nClassify as one of:\n- \"save\": Contains valuable decisions, technical knowledge, project context, personal insights, client work details, or reference-worthy information the user would want to recall later.\n- \"discard\": Trivial, purely mechanical, repetitive, or contains no lasting value.\n- \"review\": Borderline \u2014 might be valuable but you're not sure.\n\nReturn ONLY a JSON object matching the provided schema.\n\nCONVERSATION:\n";
9
+ export declare const TRIAGE_OUTPUT_SCHEMA: {
10
+ readonly type: "object";
11
+ readonly additionalProperties: false;
12
+ readonly required: readonly ["decision", "confidence", "summary", "topics", "rationale"];
13
+ readonly properties: {
14
+ readonly decision: {
15
+ readonly type: "string";
16
+ readonly enum: readonly ["save", "discard", "review"];
17
+ };
18
+ readonly confidence: {
19
+ readonly type: "number";
20
+ readonly minimum: 0;
21
+ readonly maximum: 1;
22
+ };
23
+ readonly summary: {
24
+ readonly type: "string";
25
+ };
26
+ readonly topics: {
27
+ readonly type: "array";
28
+ readonly items: {
29
+ readonly type: "string";
30
+ };
31
+ };
32
+ readonly rationale: {
33
+ readonly type: "string";
34
+ };
35
+ };
36
+ };
37
+ /**
38
+ * Runtime (Zod) mirror of TRIAGE_OUTPUT_SCHEMA — the SAME contract the CLI
39
+ * validates with `--json-schema`, re-asserted in-process. A worker (or the
40
+ * `result`-text fallback path) that drops `summary`/`topics`/`rationale` must
41
+ * FAIL validation rather than silently coerce to empty values — a malformed
42
+ * classification is an error, not a blank-but-accepted result. Every field is
43
+ * required; empty values (e.g. `topics: []`, `summary: ""`) are still valid.
44
+ * `.strict()` mirrors the JSON schema's `additionalProperties: false`: a
45
+ * fallback (`result`-text) classification that carries the required fields
46
+ * PLUS unexpected ones is malformed, not silently accepted — so the whole
47
+ * object is validated, exactly as the provider claims.
48
+ */
49
+ export declare const TriageOutputSchema: z.ZodObject<{
50
+ decision: z.ZodEnum<["save", "discard", "review"]>;
51
+ confidence: z.ZodNumber;
52
+ summary: z.ZodString;
53
+ topics: z.ZodArray<z.ZodString, "many">;
54
+ rationale: z.ZodString;
55
+ }, "strict", z.ZodTypeAny, {
56
+ decision: "save" | "discard" | "review";
57
+ summary: string;
58
+ topics: string[];
59
+ rationale: string;
60
+ confidence: number;
61
+ }, {
62
+ decision: "save" | "discard" | "review";
63
+ summary: string;
64
+ topics: string[];
65
+ rationale: string;
66
+ confidence: number;
67
+ }>;
68
+ export type TriageOutput = z.infer<typeof TriageOutputSchema>;
69
+ //# sourceMappingURL=triage-classification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triage-classification.d.ts","sourceRoot":"","sources":["../../../src/capture/triage-classification.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa,+mBAUzB,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqBvB,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;EAQpB,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Shared triage classification contract — the prompt and the JSON output
3
+ * schema — used by EVERY triage worker (Codex CLI, Claude CLI). Centralised so
4
+ * the save/discard/review decision is identical regardless of which AI worker
5
+ * runs it: a provider swap changes the runtime, never the classification.
6
+ */
7
+ import { z } from "zod";
8
+ export const TRIAGE_PROMPT = `You are a triage classifier for a personal knowledge base. Given a conversation between a user and an AI assistant, decide whether it should be saved to long-term memory.
9
+
10
+ Classify as one of:
11
+ - "save": Contains valuable decisions, technical knowledge, project context, personal insights, client work details, or reference-worthy information the user would want to recall later.
12
+ - "discard": Trivial, purely mechanical, repetitive, or contains no lasting value.
13
+ - "review": Borderline — might be valuable but you're not sure.
14
+
15
+ Return ONLY a JSON object matching the provided schema.
16
+
17
+ CONVERSATION:
18
+ `;
19
+ export const TRIAGE_OUTPUT_SCHEMA = {
20
+ type: "object",
21
+ additionalProperties: false,
22
+ required: ["decision", "confidence", "summary", "topics", "rationale"],
23
+ properties: {
24
+ decision: {
25
+ type: "string",
26
+ enum: ["save", "discard", "review"],
27
+ },
28
+ confidence: {
29
+ type: "number",
30
+ minimum: 0,
31
+ maximum: 1,
32
+ },
33
+ summary: { type: "string" },
34
+ topics: {
35
+ type: "array",
36
+ items: { type: "string" },
37
+ },
38
+ rationale: { type: "string" },
39
+ },
40
+ };
41
+ /**
42
+ * Runtime (Zod) mirror of TRIAGE_OUTPUT_SCHEMA — the SAME contract the CLI
43
+ * validates with `--json-schema`, re-asserted in-process. A worker (or the
44
+ * `result`-text fallback path) that drops `summary`/`topics`/`rationale` must
45
+ * FAIL validation rather than silently coerce to empty values — a malformed
46
+ * classification is an error, not a blank-but-accepted result. Every field is
47
+ * required; empty values (e.g. `topics: []`, `summary: ""`) are still valid.
48
+ * `.strict()` mirrors the JSON schema's `additionalProperties: false`: a
49
+ * fallback (`result`-text) classification that carries the required fields
50
+ * PLUS unexpected ones is malformed, not silently accepted — so the whole
51
+ * object is validated, exactly as the provider claims.
52
+ */
53
+ export const TriageOutputSchema = z
54
+ .object({
55
+ decision: z.enum(["save", "discard", "review"]),
56
+ confidence: z.number().min(0).max(1),
57
+ summary: z.string(),
58
+ topics: z.array(z.string()),
59
+ rationale: z.string(),
60
+ })
61
+ .strict();
62
+ //# sourceMappingURL=triage-classification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triage-classification.js","sourceRoot":"","sources":["../../../src/capture/triage-classification.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;CAU5B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;IACtE,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;SACpC;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;SACX;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B;QACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC9B;CACO,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,MAAM,EAAE,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Triage worker selection — the one place the `capture.triage.provider` config
3
+ * value is mapped to a concrete TriageProvider.
4
+ *
5
+ * A module-level "configured name" is the single source of truth, set once
6
+ * wherever config is loaded (the daemon at boot, the `rift capture` CLI before
7
+ * a run). Both the lazy default in triage.ts and the auto-capture preflight
8
+ * read it, so every triage entry point honours the selector without threading
9
+ * the Config object through each call site. Absent/unset reads as `codex_cli`,
10
+ * preserving the prior hardcoded default byte-for-byte.
11
+ */
12
+ import type { Config, TriageProviderName } from "../config/schema.js";
13
+ import type { TriageProvider } from "./triage-provider.js";
14
+ /** Read the configured triage provider from config (defaulting to codex_cli). */
15
+ export declare function resolveTriageProviderName(config: Config): TriageProviderName;
16
+ /** Human-facing name for the worker, for honest egress/status copy. */
17
+ export declare function triageWorkerLabel(name: TriageProviderName): string;
18
+ /**
19
+ * Record the process-wide triage worker. Idempotent; call at startup (daemon)
20
+ * or before a one-shot run (CLI). The lazy default + preflight read this.
21
+ */
22
+ export declare function setConfiguredTriageProviderName(name: TriageProviderName): void;
23
+ export declare function getConfiguredTriageProviderName(): TriageProviderName;
24
+ /** Construct the provider for an explicit name. */
25
+ export declare function createTriageProvider(name: TriageProviderName, options?: {
26
+ cwd?: string;
27
+ timeoutMs?: number;
28
+ }): TriageProvider;
29
+ /** Construct the provider for the process-wide configured name. */
30
+ export declare function createConfiguredTriageProvider(options?: {
31
+ cwd?: string;
32
+ timeoutMs?: number;
33
+ }): TriageProvider;
34
+ /** Reset to the default selection — test-only. */
35
+ export declare function resetConfiguredTriageProviderNameForTests(): void;
36
+ //# sourceMappingURL=triage-provider-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triage-provider-factory.d.ts","sourceRoot":"","sources":["../../../src/capture/triage-provider-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D,iFAAiF;AACjF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAE5E;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAElE;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAE9E;AAED,wBAAgB,+BAA+B,IAAI,kBAAkB,CAEpE;AAED,mDAAmD;AACnD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,cAAc,CAYhB;AAED,mEAAmE;AACnE,wBAAgB,8BAA8B,CAC5C,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,cAAc,CAEhB;AAED,kDAAkD;AAClD,wBAAgB,yCAAyC,IAAI,IAAI,CAEhE"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Triage worker selection — the one place the `capture.triage.provider` config
3
+ * value is mapped to a concrete TriageProvider.
4
+ *
5
+ * A module-level "configured name" is the single source of truth, set once
6
+ * wherever config is loaded (the daemon at boot, the `rift capture` CLI before
7
+ * a run). Both the lazy default in triage.ts and the auto-capture preflight
8
+ * read it, so every triage entry point honours the selector without threading
9
+ * the Config object through each call site. Absent/unset reads as `codex_cli`,
10
+ * preserving the prior hardcoded default byte-for-byte.
11
+ */
12
+ import { CodexCliTriageProvider } from "./codex-cli-triage-provider.js";
13
+ import { ClaudeCliTriageProvider } from "./claude-cli-triage-provider.js";
14
+ let configuredName = "codex_cli";
15
+ /** Read the configured triage provider from config (defaulting to codex_cli). */
16
+ export function resolveTriageProviderName(config) {
17
+ return config.capture?.triage?.provider ?? "codex_cli";
18
+ }
19
+ /** Human-facing name for the worker, for honest egress/status copy. */
20
+ export function triageWorkerLabel(name) {
21
+ return name === "claude_code" ? "Claude Code" : "Codex";
22
+ }
23
+ /**
24
+ * Record the process-wide triage worker. Idempotent; call at startup (daemon)
25
+ * or before a one-shot run (CLI). The lazy default + preflight read this.
26
+ */
27
+ export function setConfiguredTriageProviderName(name) {
28
+ configuredName = name;
29
+ }
30
+ export function getConfiguredTriageProviderName() {
31
+ return configuredName;
32
+ }
33
+ /** Construct the provider for an explicit name. */
34
+ export function createTriageProvider(name, options = {}) {
35
+ switch (name) {
36
+ case "claude_code":
37
+ return new ClaudeCliTriageProvider(options);
38
+ case "codex_cli":
39
+ return new CodexCliTriageProvider(options);
40
+ default: {
41
+ // Exhaustiveness guard: a new enum value must be handled here.
42
+ const _exhaustive = name;
43
+ return new CodexCliTriageProvider(options);
44
+ }
45
+ }
46
+ }
47
+ /** Construct the provider for the process-wide configured name. */
48
+ export function createConfiguredTriageProvider(options = {}) {
49
+ return createTriageProvider(configuredName, options);
50
+ }
51
+ /** Reset to the default selection — test-only. */
52
+ export function resetConfiguredTriageProviderNameForTests() {
53
+ configuredName = "codex_cli";
54
+ }
55
+ //# sourceMappingURL=triage-provider-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triage-provider-factory.js","sourceRoot":"","sources":["../../../src/capture/triage-provider-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,IAAI,cAAc,GAAuB,WAAW,CAAC;AAErD,iFAAiF;AACjF,MAAM,UAAU,yBAAyB,CAAC,MAAc;IACtD,OAAO,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,IAAI,WAAW,CAAC;AACzD,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,iBAAiB,CAAC,IAAwB;IACxD,OAAO,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAAC,IAAwB;IACtE,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,oBAAoB,CAClC,IAAwB,EACxB,UAAgD,EAAE;IAElD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa;YAChB,OAAO,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,WAAW;YACd,OAAO,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,CAAC,CAAC,CAAC;YACR,+DAA+D;YAC/D,MAAM,WAAW,GAAU,IAAI,CAAC;YAChC,OAAO,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,8BAA8B,CAC5C,UAAgD,EAAE;IAElD,OAAO,oBAAoB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,yCAAyC;IACvD,cAAc,GAAG,WAAW,CAAC;AAC/B,CAAC"}
@@ -15,7 +15,7 @@ export { ARCHIVE_ONLY_THRESHOLD, PROMOTE_TO_EXTRACT_THRESHOLD, decisionToLane, l
15
15
  export type { TriageLane, TriageScoreBreakdown, TriageScoringDebug, } from "./triage-lane.js";
16
16
  /**
17
17
  * Test-only seam: install a custom provider as the module default.
18
- * Call with `null` to reset to the Codex-CLI-backed provider.
18
+ * Call with `null` to reset to the configured-selector-backed provider.
19
19
  */
20
20
  export declare function setDefaultTriageProvider(provider: TriageProvider | null): void;
21
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"triage.d.ts","sourceRoot":"","sources":["../../../src/capture/triage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,cAAc,EACd,WAAW,EACX,cAAc,EACd,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAkB1B;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAE9E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,CAEvB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,YAAY,CAAC,CAEvB"}
1
+ {"version":3,"file":"triage.d.ts","sourceRoot":"","sources":["../../../src/capture/triage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,cAAc,EACd,WAAW,EACX,cAAc,EACd,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAoB1B;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAE9E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,CAEvB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,YAAY,CAAC,CAEvB"}
@@ -8,26 +8,28 @@
8
8
  * reuse it across the batch so cost cap + parallelism are enforced at
9
9
  * the batch boundary.
10
10
  */
11
- import { CodexCliTriageProvider } from "./codex-cli-triage-provider.js";
11
+ import { createConfiguredTriageProvider } from "./triage-provider-factory.js";
12
12
  export { TRIAGE_VERSION, BatchCostExceededError, normalizeTriageResult, } from "./triage-provider.js";
13
13
  export { ARCHIVE_ONLY_THRESHOLD, PROMOTE_TO_EXTRACT_THRESHOLD, decisionToLane, laneFromScore, laneToDecision, resolveLane, scoreHistoricalTriage, } from "./triage-lane.js";
14
14
  let defaultProvider = null;
15
15
  /**
16
16
  * Lazily constructed default provider — fallback only.
17
17
  *
18
- * The daemon's main.ts installs the same provider at boot. This lazy
19
- * fallback exists for tests and one-shot CLI uses where main.ts hasn't
20
- * run.
18
+ * The daemon's main.ts installs the configured provider at boot. This lazy
19
+ * fallback exists for tests and one-shot CLI uses where main.ts hasn't run;
20
+ * it honours the same `capture.triage.provider` selector via the factory's
21
+ * process-wide configured name (codex_cli unless something set it otherwise),
22
+ * so a one-shot run picks the same worker the daemon would.
21
23
  */
22
24
  function getDefaultProvider() {
23
25
  if (defaultProvider === null) {
24
- defaultProvider = new CodexCliTriageProvider();
26
+ defaultProvider = createConfiguredTriageProvider();
25
27
  }
26
28
  return defaultProvider;
27
29
  }
28
30
  /**
29
31
  * Test-only seam: install a custom provider as the module default.
30
- * Call with `null` to reset to the Codex-CLI-backed provider.
32
+ * Call with `null` to reset to the configured-selector-backed provider.
31
33
  */
32
34
  export function setDefaultTriageProvider(provider) {
33
35
  defaultProvider = provider;
@@ -1 +1 @@
1
- {"version":3,"file":"triage.js","sourceRoot":"","sources":["../../../src/capture/triage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAOxE,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAO1B,IAAI,eAAe,GAA0B,IAAI,CAAC;AAElD;;;;;;GAMG;AACH,SAAS,kBAAkB;IACzB,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,eAAe,GAAG,IAAI,sBAAsB,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAA+B;IACtE,eAAe,GAAG,QAAQ,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe;IAEf,OAAO,kBAAkB,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAwB,EACxB,KAAkB;IAElB,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"triage.js","sourceRoot":"","sources":["../../../src/capture/triage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAO9E,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAO1B,IAAI,eAAe,GAA0B,IAAI,CAAC;AAElD;;;;;;;;GAQG;AACH,SAAS,kBAAkB;IACzB,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,eAAe,GAAG,8BAA8B,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAA+B;IACtE,eAAe,GAAG,QAAQ,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe;IAEf,OAAO,kBAAkB,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAwB,EACxB,KAAkB;IAElB,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC,wBAAgB,kBAAkB,IAAI,OAAO,CA+P5C"}
1
+ {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgCpC,wBAAgB,kBAAkB,IAAI,OAAO,CAuU5C"}