@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
@@ -1 +1 @@
1
- {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../../src/cli/commands/capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../../src/cli/commands/capture.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Command } from "commander";
2
+ import { type DoctorReport } from "../../diagnostics/doctor.js";
3
+ export declare function makeDoctorCommand(): Command;
4
+ /** Render the human-readable diagnosis. */
5
+ export declare function renderReport(report: DoctorReport): string[];
6
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,6BAA6B,CAAC;AA+ErC,wBAAgB,iBAAiB,IAAI,OAAO,CA6E3C;AA6DD,2CAA2C;AAC3C,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,CAqC3D"}
@@ -0,0 +1,242 @@
1
+ /**
2
+ * `rift doctor` — plain-language health diagnosis and repair.
3
+ *
4
+ * Reuses exactly the inputs `rift status` uses (the `/status/friend`
5
+ * payload + local signals) and runs them through the shared `diagnose()`
6
+ * layer, so the two commands never disagree. `rift status` stays the
7
+ * source of truth; `rift doctor` is the "explain what's broken and give
8
+ * me one next action" surface on top of it.
9
+ *
10
+ * rift doctor → plain-language diagnosis
11
+ * rift doctor --json → structured report
12
+ * rift doctor --copy-prompt → redacted repair prompt (Claude)
13
+ * rift doctor --copy-prompt --target=codex
14
+ *
15
+ * With --copy-prompt the prompt is copied to the clipboard (best-effort
16
+ * pbcopy) AND printed to stdout, so it is usable even when the clipboard
17
+ * is unavailable.
18
+ */
19
+ import { execFileSync } from "node:child_process";
20
+ import { Command } from "commander";
21
+ import { createHttpClient, readToken, resolveBaseUrl, CliError, } from "../http-client.js";
22
+ import { printError, printJson, printText } from "../output.js";
23
+ import { recoverOversizedSessions, parseChunkBytes, formatReportText, formatResultsText, } from "./capture-recover.js";
24
+ import { readLocalSignals } from "../status/local-signals.js";
25
+ import { diagnose, } from "../../diagnostics/doctor.js";
26
+ import { buildRepairPrompt, } from "../../diagnostics/repair-prompt.js";
27
+ /** Known repair targets for `rift doctor repair <target>`. */
28
+ const REPAIR_TARGETS = ["capture-large-sessions"];
29
+ /**
30
+ * `rift doctor repair <target>` — the friend-facing entry point for guided
31
+ * repairs that doctor advises. Keeps the obscure engine command
32
+ * (`rift capture recover-quarantine`) out of the menu/advisory copy: doctor
33
+ * is where a non-developer goes when something is off, so the repair lives
34
+ * there too. Currently supports one target; new ones are added to
35
+ * `REPAIR_TARGETS` as doctor learns to repair more.
36
+ */
37
+ function makeDoctorRepairCommand() {
38
+ return new Command("repair")
39
+ .description("Run a guided repair for an issue rift doctor found")
40
+ .argument("[target]", `What to repair (${REPAIR_TARGETS.join(", ")})`)
41
+ .option("--dry-run", "Show what would be recovered without saving anything")
42
+ .option("--chunk-bytes <bytes>", "Per-chunk byte budget for summarization")
43
+ .action(async (target, opts, cmd) => {
44
+ const globalOpts = cmd.optsWithGlobals();
45
+ try {
46
+ if (!isRepairTarget(target)) {
47
+ throw new CliError(`Unknown repair target ${target ? `"${target}"` : "(none given)"}. ` +
48
+ `Available: ${REPAIR_TARGETS.join(", ")}.`, "invalid");
49
+ }
50
+ // Only one target today; the switch makes adding the next explicit.
51
+ const dryRun = Boolean(opts.dryRun);
52
+ const chunkBytes = parseChunkBytes(opts.chunkBytes);
53
+ const report = await recoverOversizedSessions({
54
+ config: globalOpts.config,
55
+ dryRun,
56
+ ...(chunkBytes !== undefined ? { chunkBytes } : {}),
57
+ });
58
+ if (globalOpts.json) {
59
+ printJson(report);
60
+ }
61
+ else {
62
+ // Friend register: doctor is the non-developer surface, so it
63
+ // never echoes "quarantine"/"records"/"missing source".
64
+ process.stderr.write(formatReportText(report, dryRun, "friend"));
65
+ process.stdout.write(formatResultsText(report, "friend", dryRun));
66
+ }
67
+ // The friend report folds missing_source into "Could not recover",
68
+ // so the exit code must too: anything the user is told could not be
69
+ // recovered (a vanished source as well as a hard failure) is a
70
+ // non-success outcome for this guided path.
71
+ if (report.failed > 0 || report.missing_source > 0)
72
+ process.exitCode = 1;
73
+ }
74
+ catch (err) {
75
+ printError(err instanceof Error ? err.message : String(err));
76
+ process.exitCode = 1;
77
+ }
78
+ });
79
+ }
80
+ function isRepairTarget(value) {
81
+ return value !== undefined && REPAIR_TARGETS.includes(value);
82
+ }
83
+ export function makeDoctorCommand() {
84
+ const doctor = new Command("doctor")
85
+ .description("Diagnose Rift in plain language and show one next action")
86
+ .option("--copy-prompt", "Generate a redacted repair prompt to paste into an AI assistant")
87
+ .option("--target <assistant>", "Assistant the repair prompt addresses: claude | codex", "claude")
88
+ .action(async (opts, cmd) => {
89
+ const globalOpts = cmd.optsWithGlobals();
90
+ try {
91
+ const target = normalizeTarget(opts.target);
92
+ const { status, unreachableReason } = await fetchFriendStatus(globalOpts.config);
93
+ const localSignals = readLocalSignals();
94
+ const report = diagnose({
95
+ status,
96
+ ...(unreachableReason ? { unreachableReason } : {}),
97
+ localSignals,
98
+ now: Date.now(),
99
+ });
100
+ if (opts.copyPrompt) {
101
+ const prompt = buildRepairPrompt({ report, status, localSignals }, target);
102
+ const copied = copyToClipboard(prompt);
103
+ if (globalOpts.json) {
104
+ printJson({ target, copied_to_clipboard: copied, prompt });
105
+ return;
106
+ }
107
+ printText(copied
108
+ ? `Repair prompt for ${target} copied to clipboard. Paste it into ${target}:`
109
+ : `Repair prompt for ${target} (clipboard unavailable — copy it manually):`);
110
+ printText("");
111
+ printText(prompt);
112
+ return;
113
+ }
114
+ // Broken state → non-zero exit so scripts/menus can branch on
115
+ // it. Set this BEFORE any early return so --json and the human
116
+ // path agree on the exit code (a script reading --json must not
117
+ // see "healthy": false alongside a success status).
118
+ if (!report.healthy)
119
+ process.exitCode = 1;
120
+ if (globalOpts.json) {
121
+ printJson(report);
122
+ return;
123
+ }
124
+ for (const line of renderReport(report))
125
+ printText(line);
126
+ }
127
+ catch (err) {
128
+ if (err instanceof CliError) {
129
+ printError(err.message);
130
+ }
131
+ else {
132
+ printError(err instanceof Error ? err.message : String(err));
133
+ }
134
+ process.exitCode = 1;
135
+ }
136
+ });
137
+ doctor.addCommand(makeDoctorRepairCommand());
138
+ return doctor;
139
+ }
140
+ function normalizeTarget(raw) {
141
+ const value = (raw ?? "claude").toLowerCase();
142
+ if (value === "claude" || value === "codex")
143
+ return value;
144
+ throw new CliError(`Unknown --target "${raw}". Use --target=claude or --target=codex.`, "invalid");
145
+ }
146
+ /**
147
+ * Fetch `/status/friend`, classifying *why* it failed when it does. A
148
+ * null payload is a valid diagnosis input, but the reason matters: a
149
+ * down daemon, a missing config, and a rejected token each need a
150
+ * different next action, so we never collapse them all into "daemon
151
+ * unreachable" (that would tell a friend to restart a daemon when the
152
+ * real fix is `rift token issue` or `rift onboard`).
153
+ */
154
+ async function fetchFriendStatus(configPath) {
155
+ let baseUrl;
156
+ try {
157
+ baseUrl = resolveBaseUrl(configPath);
158
+ }
159
+ catch {
160
+ // resolveBaseUrl only throws when the config is absent or invalid.
161
+ return { status: null, unreachableReason: "config_missing" };
162
+ }
163
+ let token;
164
+ try {
165
+ token = await readToken();
166
+ }
167
+ catch {
168
+ // A locked Keychain etc. — an auth-side failure, not a dead daemon.
169
+ return { status: null, unreachableReason: "auth_failed" };
170
+ }
171
+ if (!token)
172
+ return { status: null, unreachableReason: "not_authenticated" };
173
+ try {
174
+ const client = createHttpClient({ baseUrl, token });
175
+ const data = await client.get("/status/friend");
176
+ return { status: data };
177
+ }
178
+ catch (err) {
179
+ return { status: null, unreachableReason: classifyFetchError(err) };
180
+ }
181
+ }
182
+ /** Map a request failure to the diagnosis reason it implies. */
183
+ function classifyFetchError(err) {
184
+ if (err instanceof CliError) {
185
+ if (err.code === "connection_refused")
186
+ return "connection_refused";
187
+ if (err.code === "unauthorized")
188
+ return "auth_failed";
189
+ }
190
+ return "unknown";
191
+ }
192
+ /** Render the human-readable diagnosis. */
193
+ export function renderReport(report) {
194
+ const lines = [];
195
+ if (report.issues.length === 0) {
196
+ lines.push("Rift is working. Nothing needs attention.");
197
+ return lines;
198
+ }
199
+ const broken = report.issues.filter((i) => i.severity === "broken");
200
+ const warnings = report.issues.filter((i) => i.severity === "warning");
201
+ if (broken.length > 0) {
202
+ lines.push("Rift needs attention.");
203
+ }
204
+ else {
205
+ lines.push("Rift is working, with a few advisories.");
206
+ }
207
+ lines.push("");
208
+ for (const issue of broken) {
209
+ lines.push(`✗ ${issue.title}`);
210
+ lines.push(` ${issue.detail}`);
211
+ lines.push(` → ${issue.nextAction}`);
212
+ lines.push("");
213
+ }
214
+ for (const issue of warnings) {
215
+ lines.push(`• ${issue.title}`);
216
+ lines.push(` → ${issue.nextAction}`);
217
+ lines.push("");
218
+ }
219
+ if (report.primary) {
220
+ lines.push(`Do this first: ${report.primary.nextAction}`);
221
+ lines.push("");
222
+ lines.push("Want an AI to fix it? Run: rift doctor --copy-prompt --target=claude");
223
+ }
224
+ return lines;
225
+ }
226
+ /**
227
+ * Copy text to the macOS clipboard via pbcopy. Returns true on success,
228
+ * false on any failure (non-macOS, pbcopy missing) — the caller still
229
+ * prints the prompt, so a clipboard miss is never fatal.
230
+ */
231
+ function copyToClipboard(text) {
232
+ if (process.platform !== "darwin")
233
+ return false;
234
+ try {
235
+ execFileSync("pbcopy", [], { input: text });
236
+ return true;
237
+ }
238
+ catch {
239
+ return false;
240
+ }
241
+ }
242
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Command } from "commander";
2
+ import { type RelaySecretStore } from "../feedback/relay-secret-store.js";
2
3
  interface FeedbackOpts {
3
4
  kind?: string;
4
5
  withStatus?: boolean;
@@ -15,8 +16,19 @@ export interface FeedbackDeps {
15
16
  emit?: (line: string) => void;
16
17
  /** Test injection for the relay POST + /health + /version fetches. */
17
18
  fetchFn?: typeof fetch;
19
+ /** Relay-secret backend; defaults to the macOS Keychain in production. */
20
+ store?: RelaySecretStore;
18
21
  }
19
22
  export declare function makeFeedbackCommand(): Command;
23
+ interface FeedbackSetupOpts {
24
+ invite?: string;
25
+ }
26
+ export declare function runFeedbackSetup(opts: FeedbackSetupOpts, deps: {
27
+ dataDir: string;
28
+ store?: RelaySecretStore;
29
+ emit?: (line: string) => void;
30
+ promptInvite?: () => Promise<string | undefined>;
31
+ }): Promise<void>;
20
32
  export declare function runFeedback(note: string, opts: FeedbackOpts, deps: FeedbackDeps): Promise<void>;
21
33
  export {};
22
34
  //# sourceMappingURL=feedback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/feedback.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAe5C,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAOD,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAoB7C;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CA0Cf"}
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/feedback.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAe5C,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,mCAAmC,CAAC;AAW3C,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAOD,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAqB7C;AAED,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA8CD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE;IACJ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAClD,GACA,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CA6Cf"}
@@ -9,11 +9,15 @@
9
9
  */
10
10
  import fs from "node:fs";
11
11
  import path from "node:path";
12
+ import readline from "node:readline";
12
13
  import { Command, Option } from "commander";
13
- import { CliError, resolveBaseUrl } from "../http-client.js";
14
+ import { CliError, requireExistingConfigPath, resolveBaseUrl, } from "../http-client.js";
14
15
  import { loadConfig } from "../../config/loader.js";
16
+ import { LockedKeychainError } from "../../auth/keychain.js";
15
17
  import { getBuildInfo } from "../../server/build-info.js";
16
- import { loadFeedbackConfig } from "../feedback/feedback-config.js";
18
+ import { applyRelayUrl, loadFeedbackConfig, resolveRelaySecret, } from "../feedback/feedback-config.js";
19
+ import { parseInvite } from "../feedback/invite.js";
20
+ import { macRelaySecretStore, } from "../feedback/relay-secret-store.js";
17
21
  import { FEEDBACK_KINDS, isFeedbackKind, } from "../feedback/feedback-payload.js";
18
22
  import { postFeedback } from "../feedback/feedback-relay.js";
19
23
  import { buildStatusSnapshot } from "../feedback/feedback-status.js";
@@ -31,8 +35,74 @@ export function makeFeedbackCommand() {
31
35
  const deps = resolveDefaultDeps(globalOpts);
32
36
  await runFeedback(noteParts.join(" ").trim(), opts, deps);
33
37
  });
38
+ cmd.addCommand(makeFeedbackSetupCommand());
34
39
  return cmd;
35
40
  }
41
+ /**
42
+ * `rift feedback setup --invite <code>` — enable the feedback relay on an
43
+ * existing install from an invite code. The friend never sees or types a raw
44
+ * secret: the invite carries the relay URL + HMAC secret; the URL goes to
45
+ * `feedback-config.json`, the secret goes to the Keychain.
46
+ */
47
+ function makeFeedbackSetupCommand() {
48
+ return new Command("setup")
49
+ .description("Enable feedback from an invite (paste it when asked — nothing to copy by hand).")
50
+ .option("--invite <code>", "Invite code from Clem (rift-invite_…); omit to paste it interactively")
51
+ .action(async function () {
52
+ const opts = this.opts();
53
+ // Global --config lives on the root program (feedback's grandparent).
54
+ const root = this.parent?.parent ?? this.parent;
55
+ const globalOpts = root?.opts() ?? {};
56
+ const { dataDir } = resolveDefaultDeps(globalOpts);
57
+ await runFeedbackSetup(opts, { dataDir });
58
+ });
59
+ }
60
+ /**
61
+ * Prompt for an invite code on a TTY so the bearer invite is pasted rather
62
+ * than left in shell history. Returns undefined off a TTY — automation must
63
+ * pass --invite explicitly.
64
+ */
65
+ async function promptInviteFromTty() {
66
+ if (!process.stdin.isTTY)
67
+ return undefined;
68
+ const rl = readline.createInterface({
69
+ input: process.stdin,
70
+ output: process.stdout,
71
+ });
72
+ try {
73
+ const answer = await new Promise((resolve) => rl.question("Paste the invite code from Clem (rift-invite_…): ", resolve));
74
+ return answer.trim() || undefined;
75
+ }
76
+ finally {
77
+ rl.close();
78
+ }
79
+ }
80
+ export async function runFeedbackSetup(opts, deps) {
81
+ const emit = deps.emit ?? ((line) => process.stdout.write(`${line}\n`));
82
+ // Prefer an interactive paste over a CLI arg so the bearer invite never
83
+ // lands in shell history; --invite stays for automation/operator use.
84
+ const code = opts.invite ?? (await (deps.promptInvite ?? promptInviteFromTty)());
85
+ if (!code) {
86
+ throw new CliError("No invite provided. Paste it when asked, or pass: rift feedback setup --invite <code>", "validation");
87
+ }
88
+ const invite = parseInvite(code); // throws a friendly CliError if bad
89
+ const store = deps.store ?? macRelaySecretStore;
90
+ // Store the secret FIRST. If the Keychain write fails we must NOT enable the
91
+ // relay — a configured URL with no secret is a "looks on, silently dead"
92
+ // state (the receiver rejects unsigned POSTs). Surface the unlock hint.
93
+ try {
94
+ await store.write(invite.secret);
95
+ }
96
+ catch (err) {
97
+ if (err instanceof LockedKeychainError) {
98
+ throw new CliError("Your macOS Keychain is locked. Unlock it and retry: " +
99
+ "security unlock-keychain ~/Library/Keychains/login.keychain-db", "validation");
100
+ }
101
+ throw err;
102
+ }
103
+ applyRelayUrl(deps.dataDir, invite.url);
104
+ emit("Feedback enabled.");
105
+ }
36
106
  export async function runFeedback(note, opts, deps) {
37
107
  const emit = deps.emit ?? ((line) => process.stdout.write(`${line}\n`));
38
108
  if (opts.history) {
@@ -51,6 +121,9 @@ export async function runFeedback(note, opts, deps) {
51
121
  ...(config.installation_id ? { installation_id: config.installation_id } : {}),
52
122
  kind,
53
123
  note,
124
+ // Attribution: when the user opted in and shared an email at onboarding,
125
+ // carry it so feedback is tied to a person instead of an opaque UUID.
126
+ ...(config.email ? { email: config.email } : {}),
54
127
  version: build.version,
55
128
  commit: build.commit,
56
129
  node: build.node,
@@ -93,9 +166,21 @@ async function maybeRelay(payload, config, deps) {
93
166
  if (!config.enabled || !config.url) {
94
167
  return { attempted: false, ok: false };
95
168
  }
169
+ // Secret lives in the Keychain, not the sidecar; resolve it at POST time
170
+ // (this also migrates any legacy plaintext `hmac_secret` on first use).
171
+ // resolveRelaySecret never throws and returns null when no secret can be
172
+ // SECURELY resolved (none configured, or Keychain unreadable/un-writable).
173
+ const store = deps.store ?? macRelaySecretStore;
174
+ const secret = await resolveRelaySecret({ dataDir: deps.dataDir, store });
175
+ if (!secret && !config.unsigned) {
176
+ // No securely-resolved secret, and this is not an explicit unsigned dev
177
+ // relay → never downgrade to an unsigned production POST. The canonical
178
+ // local row is already written; report it as stored-locally.
179
+ return { attempted: false, ok: false };
180
+ }
96
181
  return postFeedback(payload, {
97
182
  url: config.url,
98
- ...(config.hmac_secret ? { hmacSecret: config.hmac_secret } : {}),
183
+ ...(secret ? { hmacSecret: secret } : {}),
99
184
  ...(deps.fetchFn ? { fetchFn: deps.fetchFn } : {}),
100
185
  });
101
186
  }
@@ -110,7 +195,11 @@ function formatConfirmation(relay, optedIn) {
110
195
  : "Thanks. (Stored locally — relay POST failed.)";
111
196
  }
112
197
  function resolveDefaultDeps(globalOpts) {
113
- const configPath = path.resolve(globalOpts.config ?? "config.json");
198
+ // Per A-2.2: route through the central config-path resolver. feedback
199
+ // genuinely needs config (data_dir for the local JSONL path), so we
200
+ // require an existing valid one — the caller surfaces the resulting
201
+ // CliError if missing/invalid.
202
+ const configPath = requireExistingConfigPath(globalOpts);
114
203
  const config = loadConfig(configPath);
115
204
  const dataDir = path.resolve(config.data_paths.data_dir);
116
205
  let baseUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../../../src/cli/commands/feedback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../../../src/cli/commands/feedback.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ import fs from "node:fs";
16
16
  import path from "node:path";
17
17
  import { fileURLToPath } from "node:url";
18
18
  import { Command, Option } from "commander";
19
- import { CliError } from "../http-client.js";
19
+ import { CliError, requireExistingConfigPath } from "../http-client.js";
20
20
  import { ALL_CLIENTS, isClientId, ParseFailedError, writeMcpConfig, } from "../mcp-config-writers/index.js";
21
21
  import { redactSensitive } from "../mcp-config-writers/redact.js";
22
22
  export function makeMcpInstallCommand() {
@@ -114,7 +114,10 @@ function printFailure(emit, client, err, deps) {
114
114
  emit(redactSensitive(`rift mcp install (${client}) failed: ${message}. Backup ID: ${id}.`));
115
115
  }
116
116
  function resolveDefaultDeps(globalOpts) {
117
- const configPath = path.resolve(globalOpts.config ?? "config.json");
117
+ // Per A-2.2: route through the central config-path resolver so
118
+ // missing-config gets the friend-readable "Config not found at <path>.
119
+ // Run rift onboard…" message rather than a raw cwd-relative ENOENT.
120
+ const configPath = requireExistingConfigPath(globalOpts);
118
121
  const mcpServerPath = resolveMcpServerPath();
119
122
  if (!fs.existsSync(mcpServerPath)) {
120
123
  throw new CliError("Could not locate the Rift MCP server entrypoint. " +
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-install.js","sourceRoot":"","sources":["../../../../src/cli/commands/mcp-install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-install.js","sourceRoot":"","sources":["../../../../src/cli/commands/mcp-install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EACL,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,cAAc,GACf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAgClE,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;SAC/B,WAAW,CACV,+DAA+D,CAChE;SACA,SAAS,CACR,IAAI,MAAM,CACR,eAAe,EACf,yDAAyD,CAC1D,CAAC,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAC5B;SACA,MAAM,CAAC,OAAO,EAAE,iCAAiC,EAAE,KAAK,CAAC;SACzD,MAAM,CAAC,WAAW,EAAE,yCAAyC,EAAE,KAAK,CAAC;SACrE,MAAM,CAAC,KAAK;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAc,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAc,IAAI,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACL,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CACxC,0CAA0C,CAC3C,CAAC;IACF,GAAG,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACxC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAgB,EAChB,IAAoB;IAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC;IAExE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,QAAQ,CAChB,0CAA0C,EAC1C,YAAY,CACb,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,IAAI,QAAQ,CAAC,8BAA8B,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,OAAO,GAAe,IAAI,CAAC,GAAG;QAClC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;QAClB,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YACtC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACf,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,MAAM,IAAI,QAAQ,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;YAC9D,CAAC,CAAC,EAAE,CAAC;IAEX,MAAM,IAAI,GAAmB;QAC3B,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC;KAC5C,CAAC;IAEF,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,cAAc,CAAC;gBAC7B,MAAM;gBACN,IAAI;gBACJ,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;gBACrB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvC,CAAC,CAAC;YACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,IAAI,CAAC,CAAC;YACd,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,QAAQ,CAChB,qBAAqB,QAAQ,oBAAoB,EACjD,cAAc,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,IAA4B,EAC5B,MAAgB,EAChB,OAAqB,EACrB,MAAe;IAEf,MAAM,IAAI,GAAG,MAAM;QACjB,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,OAAO,CAAC,WAAW;YACnB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,CAAC,GAAG,IAAI,IAAI,MAAM,cAAc,CAAC,CAAC;IACtC,IAAI,OAAO,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CACF,cAAc,OAAO,CAAC,kBAAkB,qBACtC,OAAO,CAAC,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAC/C,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,IAA4B,EAC5B,MAAgB,EAChB,GAAY,EACZ,IAAoB;IAEpB,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;QACpC,iEAAiE;QACjE,4CAA4C;QAC5C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,qBAAqB,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IACD,MAAM,EAAE,GAAG,YAAY,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SACpF,WAAW,EAAE;SACb,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;SACzB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,IAAI,CACF,eAAe,CACb,qBAAqB,MAAM,aAAa,OAAO,gBAAgB,EAAE,GAAG,CACrE,CACF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAsB;IAChD,+DAA+D;IAC/D,uEAAuE;IACvE,oEAAoE;IACpE,MAAM,UAAU,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAC;IAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,QAAQ,CAChB,mDAAmD;YACjD,wDAAwD,EAC1D,YAAY,CACb,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,oBAAoB;IAC3B,mEAAmE;IACnE,oEAAoE;IACpE,oEAAoE;IACpE,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,2CAA2C;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { Command } from "commander";
2
+ export declare const SWIFTBAR_PLUGIN_NAME = "rift.10s.sh";
3
+ export declare const SWIFTBAR_RENDERER_NAME = "render-menu.py";
4
+ export interface MenuBarInstallOptions {
5
+ homeDir?: string;
6
+ pluginDir?: string;
7
+ sourceDir?: string;
8
+ packageRoot?: string;
9
+ platform?: NodeJS.Platform;
10
+ copy?: boolean;
11
+ now?: () => Date;
12
+ }
13
+ export interface MenuBarInstallResult {
14
+ ok: boolean;
15
+ skipped: boolean;
16
+ reason: string | null;
17
+ pluginDir: string;
18
+ pluginPath: string;
19
+ sourceDir: string | null;
20
+ sourcePath: string | null;
21
+ rendererPath: string | null;
22
+ mode: "symlink" | "copy" | null;
23
+ backupPath: string | null;
24
+ swiftBarDetected: boolean;
25
+ transcript: string[];
26
+ }
27
+ export declare function makeMenuBarCommand(): Command;
28
+ export declare function defaultSwiftBarPluginDir(homeDir?: string): string;
29
+ export declare function installMenuBar(opts?: MenuBarInstallOptions): MenuBarInstallResult;
30
+ //# sourceMappingURL=menubar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menubar.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/menubar.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAClD,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAQD,wBAAgB,kBAAkB,IAAI,OAAO,CAoC5C;AAED,wBAAgB,wBAAwB,CAAC,OAAO,SAAe,GAAG,MAAM,CAEvE;AAED,wBAAgB,cAAc,CAC5B,IAAI,GAAE,qBAA0B,GAC/B,oBAAoB,CAwEtB"}