onadit 0.0.1 → 0.1.0-beta.45

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 (1085) hide show
  1. package/README.dev.md +124 -0
  2. package/README.md +194 -2
  3. package/dist/src/auth/keychain.d.ts +42 -0
  4. package/dist/src/auth/keychain.d.ts.map +1 -0
  5. package/dist/src/auth/keychain.js +177 -0
  6. package/dist/src/auth/keychain.js.map +1 -0
  7. package/dist/src/auth/middleware.d.ts +21 -0
  8. package/dist/src/auth/middleware.d.ts.map +1 -0
  9. package/dist/src/auth/middleware.js +93 -0
  10. package/dist/src/auth/middleware.js.map +1 -0
  11. package/dist/src/auth/rate-limit.d.ts +16 -0
  12. package/dist/src/auth/rate-limit.d.ts.map +1 -0
  13. package/dist/src/auth/rate-limit.js +38 -0
  14. package/dist/src/auth/rate-limit.js.map +1 -0
  15. package/dist/src/auth/rotation.d.ts +67 -0
  16. package/dist/src/auth/rotation.d.ts.map +1 -0
  17. package/dist/src/auth/rotation.js +190 -0
  18. package/dist/src/auth/rotation.js.map +1 -0
  19. package/dist/src/backfill/project-context-batch-constructor.d.ts +127 -0
  20. package/dist/src/backfill/project-context-batch-constructor.d.ts.map +1 -0
  21. package/dist/src/backfill/project-context-batch-constructor.js +210 -0
  22. package/dist/src/backfill/project-context-batch-constructor.js.map +1 -0
  23. package/dist/src/capture/assistant-text-lookup.d.ts +31 -0
  24. package/dist/src/capture/assistant-text-lookup.d.ts.map +1 -0
  25. package/dist/src/capture/assistant-text-lookup.js +222 -0
  26. package/dist/src/capture/assistant-text-lookup.js.map +1 -0
  27. package/dist/src/capture/auto-capture.d.ts +322 -0
  28. package/dist/src/capture/auto-capture.d.ts.map +1 -0
  29. package/dist/src/capture/auto-capture.js +1167 -0
  30. package/dist/src/capture/auto-capture.js.map +1 -0
  31. package/dist/src/capture/auto-repair.d.ts +125 -0
  32. package/dist/src/capture/auto-repair.d.ts.map +1 -0
  33. package/dist/src/capture/auto-repair.js +280 -0
  34. package/dist/src/capture/auto-repair.js.map +1 -0
  35. package/dist/src/capture/batch-budget.d.ts +90 -0
  36. package/dist/src/capture/batch-budget.d.ts.map +1 -0
  37. package/dist/src/capture/batch-budget.js +148 -0
  38. package/dist/src/capture/batch-budget.js.map +1 -0
  39. package/dist/src/capture/claude-cli-triage-provider.d.ts +28 -0
  40. package/dist/src/capture/claude-cli-triage-provider.d.ts.map +1 -0
  41. package/dist/src/capture/claude-cli-triage-provider.js +101 -0
  42. package/dist/src/capture/claude-cli-triage-provider.js.map +1 -0
  43. package/dist/src/capture/codex-cli-triage-provider.d.ts +17 -0
  44. package/dist/src/capture/codex-cli-triage-provider.d.ts.map +1 -0
  45. package/dist/src/capture/codex-cli-triage-provider.js +91 -0
  46. package/dist/src/capture/codex-cli-triage-provider.js.map +1 -0
  47. package/dist/src/capture/cursor-capture.d.ts +89 -0
  48. package/dist/src/capture/cursor-capture.d.ts.map +1 -0
  49. package/dist/src/capture/cursor-capture.js +121 -0
  50. package/dist/src/capture/cursor-capture.js.map +1 -0
  51. package/dist/src/capture/observability.d.ts +131 -0
  52. package/dist/src/capture/observability.d.ts.map +1 -0
  53. package/dist/src/capture/observability.js +181 -0
  54. package/dist/src/capture/observability.js.map +1 -0
  55. package/dist/src/capture/openai-triage-provider.d.ts +92 -0
  56. package/dist/src/capture/openai-triage-provider.d.ts.map +1 -0
  57. package/dist/src/capture/openai-triage-provider.js +267 -0
  58. package/dist/src/capture/openai-triage-provider.js.map +1 -0
  59. package/dist/src/capture/recover-quarantine.d.ts +273 -0
  60. package/dist/src/capture/recover-quarantine.d.ts.map +1 -0
  61. package/dist/src/capture/recover-quarantine.js +581 -0
  62. package/dist/src/capture/recover-quarantine.js.map +1 -0
  63. package/dist/src/capture/review-queue-index.d.ts +51 -0
  64. package/dist/src/capture/review-queue-index.d.ts.map +1 -0
  65. package/dist/src/capture/review-queue-index.js +204 -0
  66. package/dist/src/capture/review-queue-index.js.map +1 -0
  67. package/dist/src/capture/review-queue.d.ts +47 -0
  68. package/dist/src/capture/review-queue.d.ts.map +1 -0
  69. package/dist/src/capture/review-queue.js +116 -0
  70. package/dist/src/capture/review-queue.js.map +1 -0
  71. package/dist/src/capture/sources.d.ts +53 -0
  72. package/dist/src/capture/sources.d.ts.map +1 -0
  73. package/dist/src/capture/sources.js +55 -0
  74. package/dist/src/capture/sources.js.map +1 -0
  75. package/dist/src/capture/stored-statements.d.ts +9 -0
  76. package/dist/src/capture/stored-statements.d.ts.map +1 -0
  77. package/dist/src/capture/stored-statements.js +63 -0
  78. package/dist/src/capture/stored-statements.js.map +1 -0
  79. package/dist/src/capture/triage-classification.d.ts +92 -0
  80. package/dist/src/capture/triage-classification.d.ts.map +1 -0
  81. package/dist/src/capture/triage-classification.js +94 -0
  82. package/dist/src/capture/triage-classification.js.map +1 -0
  83. package/dist/src/capture/triage-lane.d.ts +39 -0
  84. package/dist/src/capture/triage-lane.d.ts.map +1 -0
  85. package/dist/src/capture/triage-lane.js +217 -0
  86. package/dist/src/capture/triage-lane.js.map +1 -0
  87. package/dist/src/capture/triage-provider-factory.d.ts +36 -0
  88. package/dist/src/capture/triage-provider-factory.d.ts.map +1 -0
  89. package/dist/src/capture/triage-provider-factory.js +55 -0
  90. package/dist/src/capture/triage-provider-factory.js.map +1 -0
  91. package/dist/src/capture/triage-provider.d.ts +82 -0
  92. package/dist/src/capture/triage-provider.d.ts.map +1 -0
  93. package/dist/src/capture/triage-provider.js +126 -0
  94. package/dist/src/capture/triage-provider.js.map +1 -0
  95. package/dist/src/capture/triage.d.ts +30 -0
  96. package/dist/src/capture/triage.d.ts.map +1 -0
  97. package/dist/src/capture/triage.js +50 -0
  98. package/dist/src/capture/triage.js.map +1 -0
  99. package/dist/src/capture/user-statements-recheck.d.ts +22 -0
  100. package/dist/src/capture/user-statements-recheck.d.ts.map +1 -0
  101. package/dist/src/capture/user-statements-recheck.js +181 -0
  102. package/dist/src/capture/user-statements-recheck.js.map +1 -0
  103. package/dist/src/capture/user-statements.d.ts +84 -0
  104. package/dist/src/capture/user-statements.d.ts.map +1 -0
  105. package/dist/src/capture/user-statements.js +617 -0
  106. package/dist/src/capture/user-statements.js.map +1 -0
  107. package/dist/src/cli/agent-homes.d.ts +15 -0
  108. package/dist/src/cli/agent-homes.d.ts.map +1 -0
  109. package/dist/src/cli/agent-homes.js +45 -0
  110. package/dist/src/cli/agent-homes.js.map +1 -0
  111. package/dist/src/cli/commands/backfill.d.ts +3 -0
  112. package/dist/src/cli/commands/backfill.d.ts.map +1 -0
  113. package/dist/src/cli/commands/backfill.js +1379 -0
  114. package/dist/src/cli/commands/backfill.js.map +1 -0
  115. package/dist/src/cli/commands/brief.d.ts +12 -0
  116. package/dist/src/cli/commands/brief.d.ts.map +1 -0
  117. package/dist/src/cli/commands/brief.js +131 -0
  118. package/dist/src/cli/commands/brief.js.map +1 -0
  119. package/dist/src/cli/commands/bulk-ingest.d.ts +3 -0
  120. package/dist/src/cli/commands/bulk-ingest.d.ts.map +1 -0
  121. package/dist/src/cli/commands/bulk-ingest.js +126 -0
  122. package/dist/src/cli/commands/bulk-ingest.js.map +1 -0
  123. package/dist/src/cli/commands/capture-recover.d.ts +40 -0
  124. package/dist/src/cli/commands/capture-recover.d.ts.map +1 -0
  125. package/dist/src/cli/commands/capture-recover.js +194 -0
  126. package/dist/src/cli/commands/capture-recover.js.map +1 -0
  127. package/dist/src/cli/commands/capture.d.ts +12 -0
  128. package/dist/src/cli/commands/capture.d.ts.map +1 -0
  129. package/dist/src/cli/commands/capture.js +304 -0
  130. package/dist/src/cli/commands/capture.js.map +1 -0
  131. package/dist/src/cli/commands/chunk-backfill.d.ts +13 -0
  132. package/dist/src/cli/commands/chunk-backfill.d.ts.map +1 -0
  133. package/dist/src/cli/commands/chunk-backfill.js +157 -0
  134. package/dist/src/cli/commands/chunk-backfill.js.map +1 -0
  135. package/dist/src/cli/commands/compact.d.ts +3 -0
  136. package/dist/src/cli/commands/compact.d.ts.map +1 -0
  137. package/dist/src/cli/commands/compact.js +70 -0
  138. package/dist/src/cli/commands/compact.js.map +1 -0
  139. package/dist/src/cli/commands/cursor-probe.d.ts +20 -0
  140. package/dist/src/cli/commands/cursor-probe.d.ts.map +1 -0
  141. package/dist/src/cli/commands/cursor-probe.js +162 -0
  142. package/dist/src/cli/commands/cursor-probe.js.map +1 -0
  143. package/dist/src/cli/commands/doctor.d.ts +6 -0
  144. package/dist/src/cli/commands/doctor.d.ts.map +1 -0
  145. package/dist/src/cli/commands/doctor.js +259 -0
  146. package/dist/src/cli/commands/doctor.js.map +1 -0
  147. package/dist/src/cli/commands/feedback.d.ts +34 -0
  148. package/dist/src/cli/commands/feedback.d.ts.map +1 -0
  149. package/dist/src/cli/commands/feedback.js +214 -0
  150. package/dist/src/cli/commands/feedback.js.map +1 -0
  151. package/dist/src/cli/commands/hooks-install.d.ts +66 -0
  152. package/dist/src/cli/commands/hooks-install.d.ts.map +1 -0
  153. package/dist/src/cli/commands/hooks-install.js +228 -0
  154. package/dist/src/cli/commands/hooks-install.js.map +1 -0
  155. package/dist/src/cli/commands/import.d.ts +19 -0
  156. package/dist/src/cli/commands/import.d.ts.map +1 -0
  157. package/dist/src/cli/commands/import.js +258 -0
  158. package/dist/src/cli/commands/import.js.map +1 -0
  159. package/dist/src/cli/commands/ingest.d.ts +3 -0
  160. package/dist/src/cli/commands/ingest.d.ts.map +1 -0
  161. package/dist/src/cli/commands/ingest.js +80 -0
  162. package/dist/src/cli/commands/ingest.js.map +1 -0
  163. package/dist/src/cli/commands/mcp-install.d.ts +65 -0
  164. package/dist/src/cli/commands/mcp-install.d.ts.map +1 -0
  165. package/dist/src/cli/commands/mcp-install.js +306 -0
  166. package/dist/src/cli/commands/mcp-install.js.map +1 -0
  167. package/dist/src/cli/commands/menubar.d.ts +127 -0
  168. package/dist/src/cli/commands/menubar.d.ts.map +1 -0
  169. package/dist/src/cli/commands/menubar.js +585 -0
  170. package/dist/src/cli/commands/menubar.js.map +1 -0
  171. package/dist/src/cli/commands/onboard-first-run.d.ts +5 -0
  172. package/dist/src/cli/commands/onboard-first-run.d.ts.map +1 -0
  173. package/dist/src/cli/commands/onboard-first-run.js +156 -0
  174. package/dist/src/cli/commands/onboard-first-run.js.map +1 -0
  175. package/dist/src/cli/commands/onboard.d.ts +336 -0
  176. package/dist/src/cli/commands/onboard.d.ts.map +1 -0
  177. package/dist/src/cli/commands/onboard.js +1873 -0
  178. package/dist/src/cli/commands/onboard.js.map +1 -0
  179. package/dist/src/cli/commands/rebuild.d.ts +12 -0
  180. package/dist/src/cli/commands/rebuild.d.ts.map +1 -0
  181. package/dist/src/cli/commands/rebuild.js +167 -0
  182. package/dist/src/cli/commands/rebuild.js.map +1 -0
  183. package/dist/src/cli/commands/reconcile.d.ts +3 -0
  184. package/dist/src/cli/commands/reconcile.d.ts.map +1 -0
  185. package/dist/src/cli/commands/reconcile.js +68 -0
  186. package/dist/src/cli/commands/reconcile.js.map +1 -0
  187. package/dist/src/cli/commands/reindex.d.ts +3 -0
  188. package/dist/src/cli/commands/reindex.d.ts.map +1 -0
  189. package/dist/src/cli/commands/reindex.js +66 -0
  190. package/dist/src/cli/commands/reindex.js.map +1 -0
  191. package/dist/src/cli/commands/review.d.ts +13 -0
  192. package/dist/src/cli/commands/review.d.ts.map +1 -0
  193. package/dist/src/cli/commands/review.js +401 -0
  194. package/dist/src/cli/commands/review.js.map +1 -0
  195. package/dist/src/cli/commands/save.d.ts +3 -0
  196. package/dist/src/cli/commands/save.d.ts.map +1 -0
  197. package/dist/src/cli/commands/save.js +111 -0
  198. package/dist/src/cli/commands/save.js.map +1 -0
  199. package/dist/src/cli/commands/search.d.ts +37 -0
  200. package/dist/src/cli/commands/search.d.ts.map +1 -0
  201. package/dist/src/cli/commands/search.js +118 -0
  202. package/dist/src/cli/commands/search.js.map +1 -0
  203. package/dist/src/cli/commands/setup.d.ts +30 -0
  204. package/dist/src/cli/commands/setup.d.ts.map +1 -0
  205. package/dist/src/cli/commands/setup.js +122 -0
  206. package/dist/src/cli/commands/setup.js.map +1 -0
  207. package/dist/src/cli/commands/stats.d.ts +3 -0
  208. package/dist/src/cli/commands/stats.d.ts.map +1 -0
  209. package/dist/src/cli/commands/stats.js +42 -0
  210. package/dist/src/cli/commands/stats.js.map +1 -0
  211. package/dist/src/cli/commands/status.d.ts +17 -0
  212. package/dist/src/cli/commands/status.d.ts.map +1 -0
  213. package/dist/src/cli/commands/status.js +206 -0
  214. package/dist/src/cli/commands/status.js.map +1 -0
  215. package/dist/src/cli/commands/token-issue.d.ts +3 -0
  216. package/dist/src/cli/commands/token-issue.d.ts.map +1 -0
  217. package/dist/src/cli/commands/token-issue.js +33 -0
  218. package/dist/src/cli/commands/token-issue.js.map +1 -0
  219. package/dist/src/cli/commands/triage.d.ts +3 -0
  220. package/dist/src/cli/commands/triage.d.ts.map +1 -0
  221. package/dist/src/cli/commands/triage.js +127 -0
  222. package/dist/src/cli/commands/triage.js.map +1 -0
  223. package/dist/src/cli/commands/uninstall.d.ts +85 -0
  224. package/dist/src/cli/commands/uninstall.d.ts.map +1 -0
  225. package/dist/src/cli/commands/uninstall.js +512 -0
  226. package/dist/src/cli/commands/uninstall.js.map +1 -0
  227. package/dist/src/cli/commands/update.d.ts +105 -0
  228. package/dist/src/cli/commands/update.d.ts.map +1 -0
  229. package/dist/src/cli/commands/update.js +556 -0
  230. package/dist/src/cli/commands/update.js.map +1 -0
  231. package/dist/src/cli/default-config-path.d.ts +15 -0
  232. package/dist/src/cli/default-config-path.d.ts.map +1 -0
  233. package/dist/src/cli/default-config-path.js +28 -0
  234. package/dist/src/cli/default-config-path.js.map +1 -0
  235. package/dist/src/cli/feedback/feedback-config.d.ts +67 -0
  236. package/dist/src/cli/feedback/feedback-config.d.ts.map +1 -0
  237. package/dist/src/cli/feedback/feedback-config.js +169 -0
  238. package/dist/src/cli/feedback/feedback-config.js.map +1 -0
  239. package/dist/src/cli/feedback/feedback-history.d.ts +11 -0
  240. package/dist/src/cli/feedback/feedback-history.d.ts.map +1 -0
  241. package/dist/src/cli/feedback/feedback-history.js +145 -0
  242. package/dist/src/cli/feedback/feedback-history.js.map +1 -0
  243. package/dist/src/cli/feedback/feedback-payload.d.ts +74 -0
  244. package/dist/src/cli/feedback/feedback-payload.d.ts.map +1 -0
  245. package/dist/src/cli/feedback/feedback-payload.js +10 -0
  246. package/dist/src/cli/feedback/feedback-payload.js.map +1 -0
  247. package/dist/src/cli/feedback/feedback-relay.d.ts +15 -0
  248. package/dist/src/cli/feedback/feedback-relay.d.ts.map +1 -0
  249. package/dist/src/cli/feedback/feedback-relay.js +47 -0
  250. package/dist/src/cli/feedback/feedback-relay.js.map +1 -0
  251. package/dist/src/cli/feedback/feedback-status.d.ts +11 -0
  252. package/dist/src/cli/feedback/feedback-status.d.ts.map +1 -0
  253. package/dist/src/cli/feedback/feedback-status.js +122 -0
  254. package/dist/src/cli/feedback/feedback-status.js.map +1 -0
  255. package/dist/src/cli/feedback/invite.d.ts +17 -0
  256. package/dist/src/cli/feedback/invite.d.ts.map +1 -0
  257. package/dist/src/cli/feedback/invite.js +73 -0
  258. package/dist/src/cli/feedback/invite.js.map +1 -0
  259. package/dist/src/cli/feedback/relay-secret-store.d.ts +32 -0
  260. package/dist/src/cli/feedback/relay-secret-store.d.ts.map +1 -0
  261. package/dist/src/cli/feedback/relay-secret-store.js +137 -0
  262. package/dist/src/cli/feedback/relay-secret-store.js.map +1 -0
  263. package/dist/src/cli/hooks-writers/claude-code-policy-script.d.ts +35 -0
  264. package/dist/src/cli/hooks-writers/claude-code-policy-script.d.ts.map +1 -0
  265. package/dist/src/cli/hooks-writers/claude-code-policy-script.js +122 -0
  266. package/dist/src/cli/hooks-writers/claude-code-policy-script.js.map +1 -0
  267. package/dist/src/cli/hooks-writers/claude-code.d.ts +63 -0
  268. package/dist/src/cli/hooks-writers/claude-code.d.ts.map +1 -0
  269. package/dist/src/cli/hooks-writers/claude-code.js +289 -0
  270. package/dist/src/cli/hooks-writers/claude-code.js.map +1 -0
  271. package/dist/src/cli/hooks-writers/codex.d.ts +16 -0
  272. package/dist/src/cli/hooks-writers/codex.d.ts.map +1 -0
  273. package/dist/src/cli/hooks-writers/codex.js +17 -0
  274. package/dist/src/cli/hooks-writers/codex.js.map +1 -0
  275. package/dist/src/cli/hooks-writers/errors.d.ts +16 -0
  276. package/dist/src/cli/hooks-writers/errors.d.ts.map +1 -0
  277. package/dist/src/cli/hooks-writers/errors.js +24 -0
  278. package/dist/src/cli/hooks-writers/errors.js.map +1 -0
  279. package/dist/src/cli/hooks-writers/index.d.ts +23 -0
  280. package/dist/src/cli/hooks-writers/index.d.ts.map +1 -0
  281. package/dist/src/cli/hooks-writers/index.js +34 -0
  282. package/dist/src/cli/hooks-writers/index.js.map +1 -0
  283. package/dist/src/cli/hooks-writers/state.d.ts +43 -0
  284. package/dist/src/cli/hooks-writers/state.d.ts.map +1 -0
  285. package/dist/src/cli/hooks-writers/state.js +225 -0
  286. package/dist/src/cli/hooks-writers/state.js.map +1 -0
  287. package/dist/src/cli/hooks-writers/types.d.ts +28 -0
  288. package/dist/src/cli/hooks-writers/types.d.ts.map +1 -0
  289. package/dist/src/cli/hooks-writers/types.js +8 -0
  290. package/dist/src/cli/hooks-writers/types.js.map +1 -0
  291. package/dist/src/cli/http-client.d.ts +128 -0
  292. package/dist/src/cli/http-client.d.ts.map +1 -0
  293. package/dist/src/cli/http-client.js +401 -0
  294. package/dist/src/cli/http-client.js.map +1 -0
  295. package/dist/src/cli/index.d.ts +4 -0
  296. package/dist/src/cli/index.d.ts.map +1 -0
  297. package/dist/src/cli/index.js +99 -0
  298. package/dist/src/cli/index.js.map +1 -0
  299. package/dist/src/cli/job-poller.d.ts +13 -0
  300. package/dist/src/cli/job-poller.d.ts.map +1 -0
  301. package/dist/src/cli/job-poller.js +29 -0
  302. package/dist/src/cli/job-poller.js.map +1 -0
  303. package/dist/src/cli/mcp-config-writers/codex-toml.d.ts +20 -0
  304. package/dist/src/cli/mcp-config-writers/codex-toml.d.ts.map +1 -0
  305. package/dist/src/cli/mcp-config-writers/codex-toml.js +918 -0
  306. package/dist/src/cli/mcp-config-writers/codex-toml.js.map +1 -0
  307. package/dist/src/cli/mcp-config-writers/earlier-name-restrictions.d.ts +11 -0
  308. package/dist/src/cli/mcp-config-writers/earlier-name-restrictions.d.ts.map +1 -0
  309. package/dist/src/cli/mcp-config-writers/earlier-name-restrictions.js +152 -0
  310. package/dist/src/cli/mcp-config-writers/earlier-name-restrictions.js.map +1 -0
  311. package/dist/src/cli/mcp-config-writers/errors.d.ts +17 -0
  312. package/dist/src/cli/mcp-config-writers/errors.d.ts.map +1 -0
  313. package/dist/src/cli/mcp-config-writers/errors.js +13 -0
  314. package/dist/src/cli/mcp-config-writers/errors.js.map +1 -0
  315. package/dist/src/cli/mcp-config-writers/index.d.ts +28 -0
  316. package/dist/src/cli/mcp-config-writers/index.d.ts.map +1 -0
  317. package/dist/src/cli/mcp-config-writers/index.js +70 -0
  318. package/dist/src/cli/mcp-config-writers/index.js.map +1 -0
  319. package/dist/src/cli/mcp-config-writers/json-config.d.ts +20 -0
  320. package/dist/src/cli/mcp-config-writers/json-config.d.ts.map +1 -0
  321. package/dist/src/cli/mcp-config-writers/json-config.js +301 -0
  322. package/dist/src/cli/mcp-config-writers/json-config.js.map +1 -0
  323. package/dist/src/cli/mcp-config-writers/left-in-folder.d.ts +18 -0
  324. package/dist/src/cli/mcp-config-writers/left-in-folder.d.ts.map +1 -0
  325. package/dist/src/cli/mcp-config-writers/left-in-folder.js +140 -0
  326. package/dist/src/cli/mcp-config-writers/left-in-folder.js.map +1 -0
  327. package/dist/src/cli/mcp-config-writers/redact.d.ts +28 -0
  328. package/dist/src/cli/mcp-config-writers/redact.d.ts.map +1 -0
  329. package/dist/src/cli/mcp-config-writers/redact.js +48 -0
  330. package/dist/src/cli/mcp-config-writers/redact.js.map +1 -0
  331. package/dist/src/cli/mcp-config-writers/types.d.ts +46 -0
  332. package/dist/src/cli/mcp-config-writers/types.d.ts.map +1 -0
  333. package/dist/src/cli/mcp-config-writers/types.js +5 -0
  334. package/dist/src/cli/mcp-config-writers/types.js.map +1 -0
  335. package/dist/src/cli/output.d.ts +8 -0
  336. package/dist/src/cli/output.d.ts.map +1 -0
  337. package/dist/src/cli/output.js +34 -0
  338. package/dist/src/cli/output.js.map +1 -0
  339. package/dist/src/cli/postinstall-menubar.d.ts +38 -0
  340. package/dist/src/cli/postinstall-menubar.d.ts.map +1 -0
  341. package/dist/src/cli/postinstall-menubar.js +139 -0
  342. package/dist/src/cli/postinstall-menubar.js.map +1 -0
  343. package/dist/src/cli/status/friend-header.d.ts +61 -0
  344. package/dist/src/cli/status/friend-header.d.ts.map +1 -0
  345. package/dist/src/cli/status/friend-header.js +708 -0
  346. package/dist/src/cli/status/friend-header.js.map +1 -0
  347. package/dist/src/cli/status/local-signals.d.ts +89 -0
  348. package/dist/src/cli/status/local-signals.d.ts.map +1 -0
  349. package/dist/src/cli/status/local-signals.js +194 -0
  350. package/dist/src/cli/status/local-signals.js.map +1 -0
  351. package/dist/src/cli/token.d.ts +37 -0
  352. package/dist/src/cli/token.d.ts.map +1 -0
  353. package/dist/src/cli/token.js +105 -0
  354. package/dist/src/cli/token.js.map +1 -0
  355. package/dist/src/cli/ui.d.ts +47 -0
  356. package/dist/src/cli/ui.d.ts.map +1 -0
  357. package/dist/src/cli/ui.js +166 -0
  358. package/dist/src/cli/ui.js.map +1 -0
  359. package/dist/src/cli/uninstall/mcp-uninstall.d.ts +33 -0
  360. package/dist/src/cli/uninstall/mcp-uninstall.d.ts.map +1 -0
  361. package/dist/src/cli/uninstall/mcp-uninstall.js +116 -0
  362. package/dist/src/cli/uninstall/mcp-uninstall.js.map +1 -0
  363. package/dist/src/config/loader.d.ts +9 -0
  364. package/dist/src/config/loader.d.ts.map +1 -0
  365. package/dist/src/config/loader.js +73 -0
  366. package/dist/src/config/loader.js.map +1 -0
  367. package/dist/src/config/schema.d.ts +956 -0
  368. package/dist/src/config/schema.d.ts.map +1 -0
  369. package/dist/src/config/schema.js +339 -0
  370. package/dist/src/config/schema.js.map +1 -0
  371. package/dist/src/diagnostics/claude-preflight.d.ts +35 -0
  372. package/dist/src/diagnostics/claude-preflight.d.ts.map +1 -0
  373. package/dist/src/diagnostics/claude-preflight.js +90 -0
  374. package/dist/src/diagnostics/claude-preflight.js.map +1 -0
  375. package/dist/src/diagnostics/codex-preflight.d.ts +33 -0
  376. package/dist/src/diagnostics/codex-preflight.d.ts.map +1 -0
  377. package/dist/src/diagnostics/codex-preflight.js +99 -0
  378. package/dist/src/diagnostics/codex-preflight.js.map +1 -0
  379. package/dist/src/diagnostics/doctor.d.ts +125 -0
  380. package/dist/src/diagnostics/doctor.d.ts.map +1 -0
  381. package/dist/src/diagnostics/doctor.js +450 -0
  382. package/dist/src/diagnostics/doctor.js.map +1 -0
  383. package/dist/src/diagnostics/install-layout.d.ts +40 -0
  384. package/dist/src/diagnostics/install-layout.d.ts.map +1 -0
  385. package/dist/src/diagnostics/install-layout.js +55 -0
  386. package/dist/src/diagnostics/install-layout.js.map +1 -0
  387. package/dist/src/diagnostics/memory-coverage.d.ts +54 -0
  388. package/dist/src/diagnostics/memory-coverage.d.ts.map +1 -0
  389. package/dist/src/diagnostics/memory-coverage.js +272 -0
  390. package/dist/src/diagnostics/memory-coverage.js.map +1 -0
  391. package/dist/src/diagnostics/notify.d.ts +107 -0
  392. package/dist/src/diagnostics/notify.d.ts.map +1 -0
  393. package/dist/src/diagnostics/notify.js +217 -0
  394. package/dist/src/diagnostics/notify.js.map +1 -0
  395. package/dist/src/diagnostics/repair-prompt.d.ts +49 -0
  396. package/dist/src/diagnostics/repair-prompt.d.ts.map +1 -0
  397. package/dist/src/diagnostics/repair-prompt.js +223 -0
  398. package/dist/src/diagnostics/repair-prompt.js.map +1 -0
  399. package/dist/src/ingestion/bulk-ingest.d.ts +11 -0
  400. package/dist/src/ingestion/bulk-ingest.d.ts.map +1 -0
  401. package/dist/src/ingestion/bulk-ingest.js +11 -0
  402. package/dist/src/ingestion/bulk-ingest.js.map +1 -0
  403. package/dist/src/ingestion/chunk-meta.d.ts +85 -0
  404. package/dist/src/ingestion/chunk-meta.d.ts.map +1 -0
  405. package/dist/src/ingestion/chunk-meta.js +167 -0
  406. package/dist/src/ingestion/chunk-meta.js.map +1 -0
  407. package/dist/src/ingestion/chunk-text.d.ts +39 -0
  408. package/dist/src/ingestion/chunk-text.d.ts.map +1 -0
  409. package/dist/src/ingestion/chunk-text.js +114 -0
  410. package/dist/src/ingestion/chunk-text.js.map +1 -0
  411. package/dist/src/ingestion/cursor/cursor-store.d.ts +177 -0
  412. package/dist/src/ingestion/cursor/cursor-store.d.ts.map +1 -0
  413. package/dist/src/ingestion/cursor/cursor-store.js +242 -0
  414. package/dist/src/ingestion/cursor/cursor-store.js.map +1 -0
  415. package/dist/src/ingestion/cursor/enrich-roots.d.ts +16 -0
  416. package/dist/src/ingestion/cursor/enrich-roots.d.ts.map +1 -0
  417. package/dist/src/ingestion/cursor/enrich-roots.js +22 -0
  418. package/dist/src/ingestion/cursor/enrich-roots.js.map +1 -0
  419. package/dist/src/ingestion/cursor/vscdb-reader.d.ts +32 -0
  420. package/dist/src/ingestion/cursor/vscdb-reader.d.ts.map +1 -0
  421. package/dist/src/ingestion/cursor/vscdb-reader.js +113 -0
  422. package/dist/src/ingestion/cursor/vscdb-reader.js.map +1 -0
  423. package/dist/src/ingestion/cursor/workspace-root.d.ts +96 -0
  424. package/dist/src/ingestion/cursor/workspace-root.d.ts.map +1 -0
  425. package/dist/src/ingestion/cursor/workspace-root.js +187 -0
  426. package/dist/src/ingestion/cursor/workspace-root.js.map +1 -0
  427. package/dist/src/ingestion/extractor.d.ts +16 -0
  428. package/dist/src/ingestion/extractor.d.ts.map +1 -0
  429. package/dist/src/ingestion/extractor.js +85 -0
  430. package/dist/src/ingestion/extractor.js.map +1 -0
  431. package/dist/src/ingestion/extractors/docx.d.ts +3 -0
  432. package/dist/src/ingestion/extractors/docx.d.ts.map +1 -0
  433. package/dist/src/ingestion/extractors/docx.js +20 -0
  434. package/dist/src/ingestion/extractors/docx.js.map +1 -0
  435. package/dist/src/ingestion/extractors/pdf.d.ts +3 -0
  436. package/dist/src/ingestion/extractors/pdf.d.ts.map +1 -0
  437. package/dist/src/ingestion/extractors/pdf.js +32 -0
  438. package/dist/src/ingestion/extractors/pdf.js.map +1 -0
  439. package/dist/src/ingestion/historical-campaign.d.ts +340 -0
  440. package/dist/src/ingestion/historical-campaign.d.ts.map +1 -0
  441. package/dist/src/ingestion/historical-campaign.js +1010 -0
  442. package/dist/src/ingestion/historical-campaign.js.map +1 -0
  443. package/dist/src/ingestion/ignored-paths.d.ts +20 -0
  444. package/dist/src/ingestion/ignored-paths.d.ts.map +1 -0
  445. package/dist/src/ingestion/ignored-paths.js +45 -0
  446. package/dist/src/ingestion/ignored-paths.js.map +1 -0
  447. package/dist/src/ingestion/inbox-core/conversation-fingerprint.d.ts +2 -0
  448. package/dist/src/ingestion/inbox-core/conversation-fingerprint.d.ts.map +1 -0
  449. package/dist/src/ingestion/inbox-core/conversation-fingerprint.js +27 -0
  450. package/dist/src/ingestion/inbox-core/conversation-fingerprint.js.map +1 -0
  451. package/dist/src/ingestion/inbox-core/conversation-key.d.ts +2 -0
  452. package/dist/src/ingestion/inbox-core/conversation-key.d.ts.map +1 -0
  453. package/dist/src/ingestion/inbox-core/conversation-key.js +31 -0
  454. package/dist/src/ingestion/inbox-core/conversation-key.js.map +1 -0
  455. package/dist/src/ingestion/inbox-core/extensions.d.ts +3 -0
  456. package/dist/src/ingestion/inbox-core/extensions.d.ts.map +1 -0
  457. package/dist/src/ingestion/inbox-core/extensions.js +16 -0
  458. package/dist/src/ingestion/inbox-core/extensions.js.map +1 -0
  459. package/dist/src/ingestion/inbox-core/idempotency.d.ts +2 -0
  460. package/dist/src/ingestion/inbox-core/idempotency.d.ts.map +1 -0
  461. package/dist/src/ingestion/inbox-core/idempotency.js +22 -0
  462. package/dist/src/ingestion/inbox-core/idempotency.js.map +1 -0
  463. package/dist/src/ingestion/inbox-core/index.d.ts +20 -0
  464. package/dist/src/ingestion/inbox-core/index.d.ts.map +1 -0
  465. package/dist/src/ingestion/inbox-core/index.js +20 -0
  466. package/dist/src/ingestion/inbox-core/index.js.map +1 -0
  467. package/dist/src/ingestion/inbox-core/source-detection.d.ts +2 -0
  468. package/dist/src/ingestion/inbox-core/source-detection.d.ts.map +1 -0
  469. package/dist/src/ingestion/inbox-core/source-detection.js +23 -0
  470. package/dist/src/ingestion/inbox-core/source-detection.js.map +1 -0
  471. package/dist/src/ingestion/inbox-core/source-sniffer.d.ts +11 -0
  472. package/dist/src/ingestion/inbox-core/source-sniffer.d.ts.map +1 -0
  473. package/dist/src/ingestion/inbox-core/source-sniffer.js +69 -0
  474. package/dist/src/ingestion/inbox-core/source-sniffer.js.map +1 -0
  475. package/dist/src/ingestion/inbox-core/zip-sniffer.d.ts +70 -0
  476. package/dist/src/ingestion/inbox-core/zip-sniffer.d.ts.map +1 -0
  477. package/dist/src/ingestion/inbox-core/zip-sniffer.js +161 -0
  478. package/dist/src/ingestion/inbox-core/zip-sniffer.js.map +1 -0
  479. package/dist/src/ingestion/inbox-watcher.d.ts +12 -0
  480. package/dist/src/ingestion/inbox-watcher.d.ts.map +1 -0
  481. package/dist/src/ingestion/inbox-watcher.js +83 -0
  482. package/dist/src/ingestion/inbox-watcher.js.map +1 -0
  483. package/dist/src/ingestion/indexer.d.ts +39 -0
  484. package/dist/src/ingestion/indexer.d.ts.map +1 -0
  485. package/dist/src/ingestion/indexer.js +111 -0
  486. package/dist/src/ingestion/indexer.js.map +1 -0
  487. package/dist/src/ingestion/metadata-extraction.d.ts +56 -0
  488. package/dist/src/ingestion/metadata-extraction.d.ts.map +1 -0
  489. package/dist/src/ingestion/metadata-extraction.js +151 -0
  490. package/dist/src/ingestion/metadata-extraction.js.map +1 -0
  491. package/dist/src/ingestion/parsers/chatgpt-web.d.ts +29 -0
  492. package/dist/src/ingestion/parsers/chatgpt-web.d.ts.map +1 -0
  493. package/dist/src/ingestion/parsers/chatgpt-web.js +100 -0
  494. package/dist/src/ingestion/parsers/chatgpt-web.js.map +1 -0
  495. package/dist/src/ingestion/parsers/claude-code-jsonl.d.ts +26 -0
  496. package/dist/src/ingestion/parsers/claude-code-jsonl.d.ts.map +1 -0
  497. package/dist/src/ingestion/parsers/claude-code-jsonl.js +125 -0
  498. package/dist/src/ingestion/parsers/claude-code-jsonl.js.map +1 -0
  499. package/dist/src/ingestion/parsers/claude-desktop-sessions.d.ts +17 -0
  500. package/dist/src/ingestion/parsers/claude-desktop-sessions.d.ts.map +1 -0
  501. package/dist/src/ingestion/parsers/claude-desktop-sessions.js +112 -0
  502. package/dist/src/ingestion/parsers/claude-desktop-sessions.js.map +1 -0
  503. package/dist/src/ingestion/parsers/claude-web.d.ts +24 -0
  504. package/dist/src/ingestion/parsers/claude-web.d.ts.map +1 -0
  505. package/dist/src/ingestion/parsers/claude-web.js +75 -0
  506. package/dist/src/ingestion/parsers/claude-web.js.map +1 -0
  507. package/dist/src/ingestion/parsers/codex-jsonl.d.ts +18 -0
  508. package/dist/src/ingestion/parsers/codex-jsonl.d.ts.map +1 -0
  509. package/dist/src/ingestion/parsers/codex-jsonl.js +150 -0
  510. package/dist/src/ingestion/parsers/codex-jsonl.js.map +1 -0
  511. package/dist/src/ingestion/parsers/gemini-web.d.ts +16 -0
  512. package/dist/src/ingestion/parsers/gemini-web.d.ts.map +1 -0
  513. package/dist/src/ingestion/parsers/gemini-web.js +170 -0
  514. package/dist/src/ingestion/parsers/gemini-web.js.map +1 -0
  515. package/dist/src/ingestion/parsers/grok-cli.d.ts +19 -0
  516. package/dist/src/ingestion/parsers/grok-cli.d.ts.map +1 -0
  517. package/dist/src/ingestion/parsers/grok-cli.js +126 -0
  518. package/dist/src/ingestion/parsers/grok-cli.js.map +1 -0
  519. package/dist/src/ingestion/parsers/grok-web.d.ts +40 -0
  520. package/dist/src/ingestion/parsers/grok-web.d.ts.map +1 -0
  521. package/dist/src/ingestion/parsers/grok-web.js +67 -0
  522. package/dist/src/ingestion/parsers/grok-web.js.map +1 -0
  523. package/dist/src/ingestion/parsers/turns.d.ts +36 -0
  524. package/dist/src/ingestion/parsers/turns.d.ts.map +1 -0
  525. package/dist/src/ingestion/parsers/turns.js +25 -0
  526. package/dist/src/ingestion/parsers/turns.js.map +1 -0
  527. package/dist/src/ingestion/parsers/types.d.ts +47 -0
  528. package/dist/src/ingestion/parsers/types.d.ts.map +1 -0
  529. package/dist/src/ingestion/parsers/types.js +26 -0
  530. package/dist/src/ingestion/parsers/types.js.map +1 -0
  531. package/dist/src/ingestion/report-cards.d.ts +75 -0
  532. package/dist/src/ingestion/report-cards.d.ts.map +1 -0
  533. package/dist/src/ingestion/report-cards.js +224 -0
  534. package/dist/src/ingestion/report-cards.js.map +1 -0
  535. package/dist/src/ingestion/scanner.d.ts +48 -0
  536. package/dist/src/ingestion/scanner.d.ts.map +1 -0
  537. package/dist/src/ingestion/scanner.js +131 -0
  538. package/dist/src/ingestion/scanner.js.map +1 -0
  539. package/dist/src/ingestion/skip-quarantine.d.ts +10 -0
  540. package/dist/src/ingestion/skip-quarantine.d.ts.map +1 -0
  541. package/dist/src/ingestion/skip-quarantine.js +35 -0
  542. package/dist/src/ingestion/skip-quarantine.js.map +1 -0
  543. package/dist/src/ingestion/staging.d.ts +109 -0
  544. package/dist/src/ingestion/staging.d.ts.map +1 -0
  545. package/dist/src/ingestion/staging.js +411 -0
  546. package/dist/src/ingestion/staging.js.map +1 -0
  547. package/dist/src/ingestion/watcher.d.ts +65 -0
  548. package/dist/src/ingestion/watcher.d.ts.map +1 -0
  549. package/dist/src/ingestion/watcher.js +182 -0
  550. package/dist/src/ingestion/watcher.js.map +1 -0
  551. package/dist/src/jobs/codex-override-handler.d.ts +3 -0
  552. package/dist/src/jobs/codex-override-handler.d.ts.map +1 -0
  553. package/dist/src/jobs/codex-override-handler.js +16 -0
  554. package/dist/src/jobs/codex-override-handler.js.map +1 -0
  555. package/dist/src/jobs/handlers/compact.d.ts +30 -0
  556. package/dist/src/jobs/handlers/compact.d.ts.map +1 -0
  557. package/dist/src/jobs/handlers/compact.js +360 -0
  558. package/dist/src/jobs/handlers/compact.js.map +1 -0
  559. package/dist/src/jobs/handlers/dedupe-conversations.d.ts +134 -0
  560. package/dist/src/jobs/handlers/dedupe-conversations.d.ts.map +1 -0
  561. package/dist/src/jobs/handlers/dedupe-conversations.js +371 -0
  562. package/dist/src/jobs/handlers/dedupe-conversations.js.map +1 -0
  563. package/dist/src/jobs/handlers/ingest.d.ts +13 -0
  564. package/dist/src/jobs/handlers/ingest.d.ts.map +1 -0
  565. package/dist/src/jobs/handlers/ingest.js +557 -0
  566. package/dist/src/jobs/handlers/ingest.js.map +1 -0
  567. package/dist/src/jobs/handlers/optimize.d.ts +11 -0
  568. package/dist/src/jobs/handlers/optimize.d.ts.map +1 -0
  569. package/dist/src/jobs/handlers/optimize.js +12 -0
  570. package/dist/src/jobs/handlers/optimize.js.map +1 -0
  571. package/dist/src/jobs/handlers/reconcile.d.ts +57 -0
  572. package/dist/src/jobs/handlers/reconcile.d.ts.map +1 -0
  573. package/dist/src/jobs/handlers/reconcile.js +685 -0
  574. package/dist/src/jobs/handlers/reconcile.js.map +1 -0
  575. package/dist/src/jobs/handlers/reindex.d.ts +38 -0
  576. package/dist/src/jobs/handlers/reindex.d.ts.map +1 -0
  577. package/dist/src/jobs/handlers/reindex.js +63 -0
  578. package/dist/src/jobs/handlers/reindex.js.map +1 -0
  579. package/dist/src/jobs/handlers/save.d.ts +10 -0
  580. package/dist/src/jobs/handlers/save.d.ts.map +1 -0
  581. package/dist/src/jobs/handlers/save.js +316 -0
  582. package/dist/src/jobs/handlers/save.js.map +1 -0
  583. package/dist/src/jobs/handlers/triage.d.ts +47 -0
  584. package/dist/src/jobs/handlers/triage.d.ts.map +1 -0
  585. package/dist/src/jobs/handlers/triage.js +95 -0
  586. package/dist/src/jobs/handlers/triage.js.map +1 -0
  587. package/dist/src/jobs/maintenance-scheduler.d.ts +30 -0
  588. package/dist/src/jobs/maintenance-scheduler.d.ts.map +1 -0
  589. package/dist/src/jobs/maintenance-scheduler.js +41 -0
  590. package/dist/src/jobs/maintenance-scheduler.js.map +1 -0
  591. package/dist/src/jobs/queue.d.ts +157 -0
  592. package/dist/src/jobs/queue.d.ts.map +1 -0
  593. package/dist/src/jobs/queue.js +759 -0
  594. package/dist/src/jobs/queue.js.map +1 -0
  595. package/dist/src/jobs/types.d.ts +53 -0
  596. package/dist/src/jobs/types.d.ts.map +1 -0
  597. package/dist/src/jobs/types.js +33 -0
  598. package/dist/src/jobs/types.js.map +1 -0
  599. package/dist/src/jobs/worker-entry.d.ts +10 -0
  600. package/dist/src/jobs/worker-entry.d.ts.map +1 -0
  601. package/dist/src/jobs/worker-entry.js +252 -0
  602. package/dist/src/jobs/worker-entry.js.map +1 -0
  603. package/dist/src/jobs/worker-process.d.ts +67 -0
  604. package/dist/src/jobs/worker-process.d.ts.map +1 -0
  605. package/dist/src/jobs/worker-process.js +227 -0
  606. package/dist/src/jobs/worker-process.js.map +1 -0
  607. package/dist/src/jobs/worker.d.ts +11 -0
  608. package/dist/src/jobs/worker.d.ts.map +1 -0
  609. package/dist/src/jobs/worker.js +14 -0
  610. package/dist/src/jobs/worker.js.map +1 -0
  611. package/dist/src/main.d.ts +2 -0
  612. package/dist/src/main.d.ts.map +1 -0
  613. package/dist/src/main.js +683 -0
  614. package/dist/src/main.js.map +1 -0
  615. package/dist/src/mcp/capture-diagnostics.d.ts +51 -0
  616. package/dist/src/mcp/capture-diagnostics.d.ts.map +1 -0
  617. package/dist/src/mcp/capture-diagnostics.js +127 -0
  618. package/dist/src/mcp/capture-diagnostics.js.map +1 -0
  619. package/dist/src/mcp/errors.d.ts +8 -0
  620. package/dist/src/mcp/errors.d.ts.map +1 -0
  621. package/dist/src/mcp/errors.js +69 -0
  622. package/dist/src/mcp/errors.js.map +1 -0
  623. package/dist/src/mcp/memory-diagnostics.d.ts +6 -0
  624. package/dist/src/mcp/memory-diagnostics.d.ts.map +1 -0
  625. package/dist/src/mcp/memory-diagnostics.js +51 -0
  626. package/dist/src/mcp/memory-diagnostics.js.map +1 -0
  627. package/dist/src/mcp/names.d.ts +48 -0
  628. package/dist/src/mcp/names.d.ts.map +1 -0
  629. package/dist/src/mcp/names.js +77 -0
  630. package/dist/src/mcp/names.js.map +1 -0
  631. package/dist/src/mcp/server.d.ts +19 -0
  632. package/dist/src/mcp/server.d.ts.map +1 -0
  633. package/dist/src/mcp/server.js +184 -0
  634. package/dist/src/mcp/server.js.map +1 -0
  635. package/dist/src/mcp/stdio.d.ts +2 -0
  636. package/dist/src/mcp/stdio.d.ts.map +1 -0
  637. package/dist/src/mcp/stdio.js +8 -0
  638. package/dist/src/mcp/stdio.js.map +1 -0
  639. package/dist/src/mcp/tools/context-pack.d.ts +35 -0
  640. package/dist/src/mcp/tools/context-pack.d.ts.map +1 -0
  641. package/dist/src/mcp/tools/context-pack.js +279 -0
  642. package/dist/src/mcp/tools/context-pack.js.map +1 -0
  643. package/dist/src/mcp/tools/conversations-search.d.ts +38 -0
  644. package/dist/src/mcp/tools/conversations-search.d.ts.map +1 -0
  645. package/dist/src/mcp/tools/conversations-search.js +79 -0
  646. package/dist/src/mcp/tools/conversations-search.js.map +1 -0
  647. package/dist/src/mcp/tools/evidence-feedback.d.ts +60 -0
  648. package/dist/src/mcp/tools/evidence-feedback.d.ts.map +1 -0
  649. package/dist/src/mcp/tools/evidence-feedback.js +62 -0
  650. package/dist/src/mcp/tools/evidence-feedback.js.map +1 -0
  651. package/dist/src/mcp/tools/log-outcome.d.ts +72 -0
  652. package/dist/src/mcp/tools/log-outcome.d.ts.map +1 -0
  653. package/dist/src/mcp/tools/log-outcome.js +59 -0
  654. package/dist/src/mcp/tools/log-outcome.js.map +1 -0
  655. package/dist/src/mcp/tools/open-evidence.d.ts +37 -0
  656. package/dist/src/mcp/tools/open-evidence.d.ts.map +1 -0
  657. package/dist/src/mcp/tools/open-evidence.js +72 -0
  658. package/dist/src/mcp/tools/open-evidence.js.map +1 -0
  659. package/dist/src/mcp/tools/save.d.ts +37 -0
  660. package/dist/src/mcp/tools/save.d.ts.map +1 -0
  661. package/dist/src/mcp/tools/save.js +65 -0
  662. package/dist/src/mcp/tools/save.js.map +1 -0
  663. package/dist/src/mcp/tools/search.d.ts +37 -0
  664. package/dist/src/mcp/tools/search.d.ts.map +1 -0
  665. package/dist/src/mcp/tools/search.js +95 -0
  666. package/dist/src/mcp/tools/search.js.map +1 -0
  667. package/dist/src/mcp/tools/status.d.ts +31 -0
  668. package/dist/src/mcp/tools/status.d.ts.map +1 -0
  669. package/dist/src/mcp/tools/status.js +63 -0
  670. package/dist/src/mcp/tools/status.js.map +1 -0
  671. package/dist/src/observability/coverage.d.ts +100 -0
  672. package/dist/src/observability/coverage.d.ts.map +1 -0
  673. package/dist/src/observability/coverage.js +178 -0
  674. package/dist/src/observability/coverage.js.map +1 -0
  675. package/dist/src/observability/embedding-events.d.ts +52 -0
  676. package/dist/src/observability/embedding-events.d.ts.map +1 -0
  677. package/dist/src/observability/embedding-events.js +149 -0
  678. package/dist/src/observability/embedding-events.js.map +1 -0
  679. package/dist/src/observability/index-events.d.ts +70 -0
  680. package/dist/src/observability/index-events.d.ts.map +1 -0
  681. package/dist/src/observability/index-events.js +148 -0
  682. package/dist/src/observability/index-events.js.map +1 -0
  683. package/dist/src/observability/onboarding-metric.d.ts +131 -0
  684. package/dist/src/observability/onboarding-metric.d.ts.map +1 -0
  685. package/dist/src/observability/onboarding-metric.js +352 -0
  686. package/dist/src/observability/onboarding-metric.js.map +1 -0
  687. package/dist/src/observability/retrieval-feedback.d.ts +82 -0
  688. package/dist/src/observability/retrieval-feedback.d.ts.map +1 -0
  689. package/dist/src/observability/retrieval-feedback.js +231 -0
  690. package/dist/src/observability/retrieval-feedback.js.map +1 -0
  691. package/dist/src/observability/rift-context.d.ts +53 -0
  692. package/dist/src/observability/rift-context.d.ts.map +1 -0
  693. package/dist/src/observability/rift-context.js +141 -0
  694. package/dist/src/observability/rift-context.js.map +1 -0
  695. package/dist/src/observability/staleness.d.ts +43 -0
  696. package/dist/src/observability/staleness.d.ts.map +1 -0
  697. package/dist/src/observability/staleness.js +74 -0
  698. package/dist/src/observability/staleness.js.map +1 -0
  699. package/dist/src/observability/tool-usage-stats.d.ts +139 -0
  700. package/dist/src/observability/tool-usage-stats.d.ts.map +1 -0
  701. package/dist/src/observability/tool-usage-stats.js +245 -0
  702. package/dist/src/observability/tool-usage-stats.js.map +1 -0
  703. package/dist/src/observability/tool-usage.d.ts +231 -0
  704. package/dist/src/observability/tool-usage.d.ts.map +1 -0
  705. package/dist/src/observability/tool-usage.js +489 -0
  706. package/dist/src/observability/tool-usage.js.map +1 -0
  707. package/dist/src/observability/version-check.d.ts +71 -0
  708. package/dist/src/observability/version-check.d.ts.map +1 -0
  709. package/dist/src/observability/version-check.js +198 -0
  710. package/dist/src/observability/version-check.js.map +1 -0
  711. package/dist/src/onboarding/capture-switch.d.ts +20 -0
  712. package/dist/src/onboarding/capture-switch.d.ts.map +1 -0
  713. package/dist/src/onboarding/capture-switch.js +52 -0
  714. package/dist/src/onboarding/capture-switch.js.map +1 -0
  715. package/dist/src/onboarding/daemon-control.d.ts +33 -0
  716. package/dist/src/onboarding/daemon-control.d.ts.map +1 -0
  717. package/dist/src/onboarding/daemon-control.js +92 -0
  718. package/dist/src/onboarding/daemon-control.js.map +1 -0
  719. package/dist/src/onboarding/env-file.d.ts +18 -0
  720. package/dist/src/onboarding/env-file.d.ts.map +1 -0
  721. package/dist/src/onboarding/env-file.js +89 -0
  722. package/dist/src/onboarding/env-file.js.map +1 -0
  723. package/dist/src/onboarding/search-by-meaning.d.ts +35 -0
  724. package/dist/src/onboarding/search-by-meaning.d.ts.map +1 -0
  725. package/dist/src/onboarding/search-by-meaning.js +163 -0
  726. package/dist/src/onboarding/search-by-meaning.js.map +1 -0
  727. package/dist/src/onboarding/setup-page.d.ts +7 -0
  728. package/dist/src/onboarding/setup-page.d.ts.map +1 -0
  729. package/dist/src/onboarding/setup-page.js +823 -0
  730. package/dist/src/onboarding/setup-page.js.map +1 -0
  731. package/dist/src/onboarding/setup-session.d.ts +22 -0
  732. package/dist/src/onboarding/setup-session.d.ts.map +1 -0
  733. package/dist/src/onboarding/setup-session.js +80 -0
  734. package/dist/src/onboarding/setup-session.js.map +1 -0
  735. package/dist/src/onboarding/setup-state.d.ts +117 -0
  736. package/dist/src/onboarding/setup-state.d.ts.map +1 -0
  737. package/dist/src/onboarding/setup-state.js +267 -0
  738. package/dist/src/onboarding/setup-state.js.map +1 -0
  739. package/dist/src/onboarding/voyage-validate.d.ts +22 -0
  740. package/dist/src/onboarding/voyage-validate.d.ts.map +1 -0
  741. package/dist/src/onboarding/voyage-validate.js +96 -0
  742. package/dist/src/onboarding/voyage-validate.js.map +1 -0
  743. package/dist/src/providers/anthropic-digest.d.ts +23 -0
  744. package/dist/src/providers/anthropic-digest.d.ts.map +1 -0
  745. package/dist/src/providers/anthropic-digest.js +91 -0
  746. package/dist/src/providers/anthropic-digest.js.map +1 -0
  747. package/dist/src/providers/basic-metadata-extraction.d.ts +60 -0
  748. package/dist/src/providers/basic-metadata-extraction.d.ts.map +1 -0
  749. package/dist/src/providers/basic-metadata-extraction.js +114 -0
  750. package/dist/src/providers/basic-metadata-extraction.js.map +1 -0
  751. package/dist/src/providers/claude-cli-metadata-extraction.d.ts +47 -0
  752. package/dist/src/providers/claude-cli-metadata-extraction.d.ts.map +1 -0
  753. package/dist/src/providers/claude-cli-metadata-extraction.js +130 -0
  754. package/dist/src/providers/claude-cli-metadata-extraction.js.map +1 -0
  755. package/dist/src/providers/claude-cli-runner.d.ts +92 -0
  756. package/dist/src/providers/claude-cli-runner.d.ts.map +1 -0
  757. package/dist/src/providers/claude-cli-runner.js +598 -0
  758. package/dist/src/providers/claude-cli-runner.js.map +1 -0
  759. package/dist/src/providers/claude-input-limit.d.ts +32 -0
  760. package/dist/src/providers/claude-input-limit.d.ts.map +1 -0
  761. package/dist/src/providers/claude-input-limit.js +32 -0
  762. package/dist/src/providers/claude-input-limit.js.map +1 -0
  763. package/dist/src/providers/codex-cli-digest.d.ts +12 -0
  764. package/dist/src/providers/codex-cli-digest.d.ts.map +1 -0
  765. package/dist/src/providers/codex-cli-digest.js +70 -0
  766. package/dist/src/providers/codex-cli-digest.js.map +1 -0
  767. package/dist/src/providers/codex-cli-metadata-extraction.d.ts +15 -0
  768. package/dist/src/providers/codex-cli-metadata-extraction.d.ts.map +1 -0
  769. package/dist/src/providers/codex-cli-metadata-extraction.js +78 -0
  770. package/dist/src/providers/codex-cli-metadata-extraction.js.map +1 -0
  771. package/dist/src/providers/codex-cli-model.d.ts +61 -0
  772. package/dist/src/providers/codex-cli-model.d.ts.map +1 -0
  773. package/dist/src/providers/codex-cli-model.js +194 -0
  774. package/dist/src/providers/codex-cli-model.js.map +1 -0
  775. package/dist/src/providers/codex-cli-runner.d.ts +60 -0
  776. package/dist/src/providers/codex-cli-runner.d.ts.map +1 -0
  777. package/dist/src/providers/codex-cli-runner.js +584 -0
  778. package/dist/src/providers/codex-cli-runner.js.map +1 -0
  779. package/dist/src/providers/codex-input-limit.d.ts +43 -0
  780. package/dist/src/providers/codex-input-limit.d.ts.map +1 -0
  781. package/dist/src/providers/codex-input-limit.js +70 -0
  782. package/dist/src/providers/codex-input-limit.js.map +1 -0
  783. package/dist/src/providers/conversation-generation.d.ts +21 -0
  784. package/dist/src/providers/conversation-generation.d.ts.map +1 -0
  785. package/dist/src/providers/conversation-generation.js +132 -0
  786. package/dist/src/providers/conversation-generation.js.map +1 -0
  787. package/dist/src/providers/ollama-embed.d.ts +23 -0
  788. package/dist/src/providers/ollama-embed.d.ts.map +1 -0
  789. package/dist/src/providers/ollama-embed.js +137 -0
  790. package/dist/src/providers/ollama-embed.js.map +1 -0
  791. package/dist/src/providers/ollama.d.ts +42 -0
  792. package/dist/src/providers/ollama.d.ts.map +1 -0
  793. package/dist/src/providers/ollama.js +169 -0
  794. package/dist/src/providers/ollama.js.map +1 -0
  795. package/dist/src/providers/openai-metadata-extraction.d.ts +120 -0
  796. package/dist/src/providers/openai-metadata-extraction.d.ts.map +1 -0
  797. package/dist/src/providers/openai-metadata-extraction.js +225 -0
  798. package/dist/src/providers/openai-metadata-extraction.js.map +1 -0
  799. package/dist/src/providers/operator-overrides.d.ts +24 -0
  800. package/dist/src/providers/operator-overrides.d.ts.map +1 -0
  801. package/dist/src/providers/operator-overrides.js +84 -0
  802. package/dist/src/providers/operator-overrides.js.map +1 -0
  803. package/dist/src/providers/placeholder-embed.d.ts +56 -0
  804. package/dist/src/providers/placeholder-embed.d.ts.map +1 -0
  805. package/dist/src/providers/placeholder-embed.js +64 -0
  806. package/dist/src/providers/placeholder-embed.js.map +1 -0
  807. package/dist/src/providers/shared-request.d.ts +22 -0
  808. package/dist/src/providers/shared-request.d.ts.map +1 -0
  809. package/dist/src/providers/shared-request.js +63 -0
  810. package/dist/src/providers/shared-request.js.map +1 -0
  811. package/dist/src/providers/stub.d.ts +19 -0
  812. package/dist/src/providers/stub.d.ts.map +1 -0
  813. package/dist/src/providers/stub.js +74 -0
  814. package/dist/src/providers/stub.js.map +1 -0
  815. package/dist/src/providers/types.d.ts +100 -0
  816. package/dist/src/providers/types.d.ts.map +1 -0
  817. package/dist/src/providers/types.js +63 -0
  818. package/dist/src/providers/types.js.map +1 -0
  819. package/dist/src/providers/voyage.d.ts +55 -0
  820. package/dist/src/providers/voyage.d.ts.map +1 -0
  821. package/dist/src/providers/voyage.js +179 -0
  822. package/dist/src/providers/voyage.js.map +1 -0
  823. package/dist/src/retrieval/brief.d.ts +26 -0
  824. package/dist/src/retrieval/brief.d.ts.map +1 -0
  825. package/dist/src/retrieval/brief.js +268 -0
  826. package/dist/src/retrieval/brief.js.map +1 -0
  827. package/dist/src/retrieval/canonical-files.d.ts +79 -0
  828. package/dist/src/retrieval/canonical-files.d.ts.map +1 -0
  829. package/dist/src/retrieval/canonical-files.js +432 -0
  830. package/dist/src/retrieval/canonical-files.js.map +1 -0
  831. package/dist/src/retrieval/compact.d.ts +306 -0
  832. package/dist/src/retrieval/compact.d.ts.map +1 -0
  833. package/dist/src/retrieval/compact.js +810 -0
  834. package/dist/src/retrieval/compact.js.map +1 -0
  835. package/dist/src/retrieval/context-pack.d.ts +344 -0
  836. package/dist/src/retrieval/context-pack.d.ts.map +1 -0
  837. package/dist/src/retrieval/context-pack.js +1473 -0
  838. package/dist/src/retrieval/context-pack.js.map +1 -0
  839. package/dist/src/retrieval/conversation-dedup.d.ts +54 -0
  840. package/dist/src/retrieval/conversation-dedup.d.ts.map +1 -0
  841. package/dist/src/retrieval/conversation-dedup.js +162 -0
  842. package/dist/src/retrieval/conversation-dedup.js.map +1 -0
  843. package/dist/src/retrieval/current-truth.d.ts +360 -0
  844. package/dist/src/retrieval/current-truth.d.ts.map +1 -0
  845. package/dist/src/retrieval/current-truth.js +766 -0
  846. package/dist/src/retrieval/current-truth.js.map +1 -0
  847. package/dist/src/retrieval/cwd.d.ts +25 -0
  848. package/dist/src/retrieval/cwd.d.ts.map +1 -0
  849. package/dist/src/retrieval/cwd.js +48 -0
  850. package/dist/src/retrieval/cwd.js.map +1 -0
  851. package/dist/src/retrieval/degraded.d.ts +20 -0
  852. package/dist/src/retrieval/degraded.d.ts.map +1 -0
  853. package/dist/src/retrieval/degraded.js +43 -0
  854. package/dist/src/retrieval/degraded.js.map +1 -0
  855. package/dist/src/retrieval/evidence-key.d.ts +48 -0
  856. package/dist/src/retrieval/evidence-key.d.ts.map +1 -0
  857. package/dist/src/retrieval/evidence-key.js +131 -0
  858. package/dist/src/retrieval/evidence-key.js.map +1 -0
  859. package/dist/src/retrieval/feedback-ranking.d.ts +49 -0
  860. package/dist/src/retrieval/feedback-ranking.d.ts.map +1 -0
  861. package/dist/src/retrieval/feedback-ranking.js +138 -0
  862. package/dist/src/retrieval/feedback-ranking.js.map +1 -0
  863. package/dist/src/retrieval/git-state.d.ts +62 -0
  864. package/dist/src/retrieval/git-state.d.ts.map +1 -0
  865. package/dist/src/retrieval/git-state.js +192 -0
  866. package/dist/src/retrieval/git-state.js.map +1 -0
  867. package/dist/src/retrieval/group-by-parent.d.ts +38 -0
  868. package/dist/src/retrieval/group-by-parent.d.ts.map +1 -0
  869. package/dist/src/retrieval/group-by-parent.js +40 -0
  870. package/dist/src/retrieval/group-by-parent.js.map +1 -0
  871. package/dist/src/retrieval/hybrid.d.ts +75 -0
  872. package/dist/src/retrieval/hybrid.d.ts.map +1 -0
  873. package/dist/src/retrieval/hybrid.js +151 -0
  874. package/dist/src/retrieval/hybrid.js.map +1 -0
  875. package/dist/src/retrieval/lexical.d.ts +33 -0
  876. package/dist/src/retrieval/lexical.d.ts.map +1 -0
  877. package/dist/src/retrieval/lexical.js +379 -0
  878. package/dist/src/retrieval/lexical.js.map +1 -0
  879. package/dist/src/retrieval/locator-boost.d.ts +37 -0
  880. package/dist/src/retrieval/locator-boost.d.ts.map +1 -0
  881. package/dist/src/retrieval/locator-boost.js +129 -0
  882. package/dist/src/retrieval/locator-boost.js.map +1 -0
  883. package/dist/src/retrieval/passages.d.ts +24 -0
  884. package/dist/src/retrieval/passages.d.ts.map +1 -0
  885. package/dist/src/retrieval/passages.js +160 -0
  886. package/dist/src/retrieval/passages.js.map +1 -0
  887. package/dist/src/retrieval/post-filter.d.ts +32 -0
  888. package/dist/src/retrieval/post-filter.d.ts.map +1 -0
  889. package/dist/src/retrieval/post-filter.js +57 -0
  890. package/dist/src/retrieval/post-filter.js.map +1 -0
  891. package/dist/src/retrieval/project-index.d.ts +71 -0
  892. package/dist/src/retrieval/project-index.d.ts.map +1 -0
  893. package/dist/src/retrieval/project-index.js +348 -0
  894. package/dist/src/retrieval/project-index.js.map +1 -0
  895. package/dist/src/retrieval/recall-hint.d.ts +22 -0
  896. package/dist/src/retrieval/recall-hint.d.ts.map +1 -0
  897. package/dist/src/retrieval/recall-hint.js +33 -0
  898. package/dist/src/retrieval/recall-hint.js.map +1 -0
  899. package/dist/src/retrieval/receipt.d.ts +57 -0
  900. package/dist/src/retrieval/receipt.d.ts.map +1 -0
  901. package/dist/src/retrieval/receipt.js +122 -0
  902. package/dist/src/retrieval/receipt.js.map +1 -0
  903. package/dist/src/retrieval/report-demotion.d.ts +46 -0
  904. package/dist/src/retrieval/report-demotion.d.ts.map +1 -0
  905. package/dist/src/retrieval/report-demotion.js +169 -0
  906. package/dist/src/retrieval/report-demotion.js.map +1 -0
  907. package/dist/src/retrieval/reranker.d.ts +119 -0
  908. package/dist/src/retrieval/reranker.d.ts.map +1 -0
  909. package/dist/src/retrieval/reranker.js +220 -0
  910. package/dist/src/retrieval/reranker.js.map +1 -0
  911. package/dist/src/retrieval/stitch-chunks.d.ts +76 -0
  912. package/dist/src/retrieval/stitch-chunks.d.ts.map +1 -0
  913. package/dist/src/retrieval/stitch-chunks.js +113 -0
  914. package/dist/src/retrieval/stitch-chunks.js.map +1 -0
  915. package/dist/src/retrieval/vector.d.ts +71 -0
  916. package/dist/src/retrieval/vector.d.ts.map +1 -0
  917. package/dist/src/retrieval/vector.js +147 -0
  918. package/dist/src/retrieval/vector.js.map +1 -0
  919. package/dist/src/runtime/legacy-migration.d.ts +27 -0
  920. package/dist/src/runtime/legacy-migration.d.ts.map +1 -0
  921. package/dist/src/runtime/legacy-migration.js +140 -0
  922. package/dist/src/runtime/legacy-migration.js.map +1 -0
  923. package/dist/src/runtime/legacy-name-guard.d.ts +35 -0
  924. package/dist/src/runtime/legacy-name-guard.d.ts.map +1 -0
  925. package/dist/src/runtime/legacy-name-guard.js +58 -0
  926. package/dist/src/runtime/legacy-name-guard.js.map +1 -0
  927. package/dist/src/runtime/rift-env.d.ts +14 -0
  928. package/dist/src/runtime/rift-env.d.ts.map +1 -0
  929. package/dist/src/runtime/rift-env.js +79 -0
  930. package/dist/src/runtime/rift-env.js.map +1 -0
  931. package/dist/src/runtime/voyage-key-source.d.ts +46 -0
  932. package/dist/src/runtime/voyage-key-source.d.ts.map +1 -0
  933. package/dist/src/runtime/voyage-key-source.js +97 -0
  934. package/dist/src/runtime/voyage-key-source.js.map +1 -0
  935. package/dist/src/runtime/watcher-startup.d.ts +2 -0
  936. package/dist/src/runtime/watcher-startup.d.ts.map +1 -0
  937. package/dist/src/runtime/watcher-startup.js +4 -0
  938. package/dist/src/runtime/watcher-startup.js.map +1 -0
  939. package/dist/src/security/archive.d.ts +23 -0
  940. package/dist/src/security/archive.d.ts.map +1 -0
  941. package/dist/src/security/archive.js +163 -0
  942. package/dist/src/security/archive.js.map +1 -0
  943. package/dist/src/security/paths.d.ts +21 -0
  944. package/dist/src/security/paths.d.ts.map +1 -0
  945. package/dist/src/security/paths.js +67 -0
  946. package/dist/src/security/paths.js.map +1 -0
  947. package/dist/src/server/app.d.ts +29 -0
  948. package/dist/src/server/app.d.ts.map +1 -0
  949. package/dist/src/server/app.js +356 -0
  950. package/dist/src/server/app.js.map +1 -0
  951. package/dist/src/server/build-info.d.ts +8 -0
  952. package/dist/src/server/build-info.d.ts.map +1 -0
  953. package/dist/src/server/build-info.js +61 -0
  954. package/dist/src/server/build-info.js.map +1 -0
  955. package/dist/src/server/lifecycle.d.ts +30 -0
  956. package/dist/src/server/lifecycle.d.ts.map +1 -0
  957. package/dist/src/server/lifecycle.js +59 -0
  958. package/dist/src/server/lifecycle.js.map +1 -0
  959. package/dist/src/server/middleware/multipart.d.ts +51 -0
  960. package/dist/src/server/middleware/multipart.d.ts.map +1 -0
  961. package/dist/src/server/middleware/multipart.js +86 -0
  962. package/dist/src/server/middleware/multipart.js.map +1 -0
  963. package/dist/src/server/routes/compact.d.ts +37 -0
  964. package/dist/src/server/routes/compact.d.ts.map +1 -0
  965. package/dist/src/server/routes/compact.js +80 -0
  966. package/dist/src/server/routes/compact.js.map +1 -0
  967. package/dist/src/server/routes/context.d.ts +12 -0
  968. package/dist/src/server/routes/context.d.ts.map +1 -0
  969. package/dist/src/server/routes/context.js +73 -0
  970. package/dist/src/server/routes/context.js.map +1 -0
  971. package/dist/src/server/routes/conversations-search.d.ts +4 -0
  972. package/dist/src/server/routes/conversations-search.d.ts.map +1 -0
  973. package/dist/src/server/routes/conversations-search.js +287 -0
  974. package/dist/src/server/routes/conversations-search.js.map +1 -0
  975. package/dist/src/server/routes/enqueue.d.ts +11 -0
  976. package/dist/src/server/routes/enqueue.d.ts.map +1 -0
  977. package/dist/src/server/routes/enqueue.js +17 -0
  978. package/dist/src/server/routes/enqueue.js.map +1 -0
  979. package/dist/src/server/routes/friend-status.d.ts +474 -0
  980. package/dist/src/server/routes/friend-status.d.ts.map +1 -0
  981. package/dist/src/server/routes/friend-status.js +671 -0
  982. package/dist/src/server/routes/friend-status.js.map +1 -0
  983. package/dist/src/server/routes/ingest.d.ts +15 -0
  984. package/dist/src/server/routes/ingest.d.ts.map +1 -0
  985. package/dist/src/server/routes/ingest.js +142 -0
  986. package/dist/src/server/routes/ingest.js.map +1 -0
  987. package/dist/src/server/routes/jobs.d.ts +10 -0
  988. package/dist/src/server/routes/jobs.d.ts.map +1 -0
  989. package/dist/src/server/routes/jobs.js +29 -0
  990. package/dist/src/server/routes/jobs.js.map +1 -0
  991. package/dist/src/server/routes/mcp-usage.d.ts +17 -0
  992. package/dist/src/server/routes/mcp-usage.d.ts.map +1 -0
  993. package/dist/src/server/routes/mcp-usage.js +17 -0
  994. package/dist/src/server/routes/mcp-usage.js.map +1 -0
  995. package/dist/src/server/routes/reconcile.d.ts +4 -0
  996. package/dist/src/server/routes/reconcile.d.ts.map +1 -0
  997. package/dist/src/server/routes/reconcile.js +62 -0
  998. package/dist/src/server/routes/reconcile.js.map +1 -0
  999. package/dist/src/server/routes/reindex.d.ts +4 -0
  1000. package/dist/src/server/routes/reindex.d.ts.map +1 -0
  1001. package/dist/src/server/routes/reindex.js +77 -0
  1002. package/dist/src/server/routes/reindex.js.map +1 -0
  1003. package/dist/src/server/routes/retrieval-feedback.d.ts +3 -0
  1004. package/dist/src/server/routes/retrieval-feedback.d.ts.map +1 -0
  1005. package/dist/src/server/routes/retrieval-feedback.js +290 -0
  1006. package/dist/src/server/routes/retrieval-feedback.js.map +1 -0
  1007. package/dist/src/server/routes/save.d.ts +52 -0
  1008. package/dist/src/server/routes/save.d.ts.map +1 -0
  1009. package/dist/src/server/routes/save.js +127 -0
  1010. package/dist/src/server/routes/save.js.map +1 -0
  1011. package/dist/src/server/routes/search.d.ts +5 -0
  1012. package/dist/src/server/routes/search.d.ts.map +1 -0
  1013. package/dist/src/server/routes/search.js +689 -0
  1014. package/dist/src/server/routes/search.js.map +1 -0
  1015. package/dist/src/server/routes/setup.d.ts +46 -0
  1016. package/dist/src/server/routes/setup.d.ts.map +1 -0
  1017. package/dist/src/server/routes/setup.js +322 -0
  1018. package/dist/src/server/routes/setup.js.map +1 -0
  1019. package/dist/src/server/routes/stats.d.ts +10 -0
  1020. package/dist/src/server/routes/stats.d.ts.map +1 -0
  1021. package/dist/src/server/routes/stats.js +15 -0
  1022. package/dist/src/server/routes/stats.js.map +1 -0
  1023. package/dist/src/server/routes/status.d.ts +20 -0
  1024. package/dist/src/server/routes/status.d.ts.map +1 -0
  1025. package/dist/src/server/routes/status.js +31 -0
  1026. package/dist/src/server/routes/status.js.map +1 -0
  1027. package/dist/src/server/routes/triage.d.ts +4 -0
  1028. package/dist/src/server/routes/triage.d.ts.map +1 -0
  1029. package/dist/src/server/routes/triage.js +97 -0
  1030. package/dist/src/server/routes/triage.js.map +1 -0
  1031. package/dist/src/server/save-quality.d.ts +21 -0
  1032. package/dist/src/server/save-quality.d.ts.map +1 -0
  1033. package/dist/src/server/save-quality.js +51 -0
  1034. package/dist/src/server/save-quality.js.map +1 -0
  1035. package/dist/src/server/serving-marker.d.ts +85 -0
  1036. package/dist/src/server/serving-marker.d.ts.map +1 -0
  1037. package/dist/src/server/serving-marker.js +226 -0
  1038. package/dist/src/server/serving-marker.js.map +1 -0
  1039. package/dist/src/storage/atomic.d.ts +8 -0
  1040. package/dist/src/storage/atomic.d.ts.map +1 -0
  1041. package/dist/src/storage/atomic.js +22 -0
  1042. package/dist/src/storage/atomic.js.map +1 -0
  1043. package/dist/src/storage/chunk-backfill.d.ts +39 -0
  1044. package/dist/src/storage/chunk-backfill.d.ts.map +1 -0
  1045. package/dist/src/storage/chunk-backfill.js +295 -0
  1046. package/dist/src/storage/chunk-backfill.js.map +1 -0
  1047. package/dist/src/storage/db.d.ts +15 -0
  1048. package/dist/src/storage/db.d.ts.map +1 -0
  1049. package/dist/src/storage/db.js +47 -0
  1050. package/dist/src/storage/db.js.map +1 -0
  1051. package/dist/src/storage/filter.d.ts +42 -0
  1052. package/dist/src/storage/filter.d.ts.map +1 -0
  1053. package/dist/src/storage/filter.js +70 -0
  1054. package/dist/src/storage/filter.js.map +1 -0
  1055. package/dist/src/storage/fts.d.ts +47 -0
  1056. package/dist/src/storage/fts.d.ts.map +1 -0
  1057. package/dist/src/storage/fts.js +86 -0
  1058. package/dist/src/storage/fts.js.map +1 -0
  1059. package/dist/src/storage/integrity.d.ts +11 -0
  1060. package/dist/src/storage/integrity.d.ts.map +1 -0
  1061. package/dist/src/storage/integrity.js +66 -0
  1062. package/dist/src/storage/integrity.js.map +1 -0
  1063. package/dist/src/storage/maintenance.d.ts +27 -0
  1064. package/dist/src/storage/maintenance.d.ts.map +1 -0
  1065. package/dist/src/storage/maintenance.js +66 -0
  1066. package/dist/src/storage/maintenance.js.map +1 -0
  1067. package/dist/src/storage/rebuild.d.ts +71 -0
  1068. package/dist/src/storage/rebuild.d.ts.map +1 -0
  1069. package/dist/src/storage/rebuild.js +605 -0
  1070. package/dist/src/storage/rebuild.js.map +1 -0
  1071. package/dist/src/storage/report-card-backfill.d.ts +20 -0
  1072. package/dist/src/storage/report-card-backfill.d.ts.map +1 -0
  1073. package/dist/src/storage/report-card-backfill.js +114 -0
  1074. package/dist/src/storage/report-card-backfill.js.map +1 -0
  1075. package/dist/src/storage/shadow-swap.d.ts +20 -0
  1076. package/dist/src/storage/shadow-swap.d.ts.map +1 -0
  1077. package/dist/src/storage/shadow-swap.js +163 -0
  1078. package/dist/src/storage/shadow-swap.js.map +1 -0
  1079. package/dist/src/storage/tables.d.ts +147 -0
  1080. package/dist/src/storage/tables.d.ts.map +1 -0
  1081. package/dist/src/storage/tables.js +290 -0
  1082. package/dist/src/storage/tables.js.map +1 -0
  1083. package/operator/swiftbar/render-menu.py +475 -0
  1084. package/operator/swiftbar/rift.10s.sh +201 -0
  1085. package/package.json +57 -3
@@ -0,0 +1,708 @@
1
+ import { formatOnboardingDuration } from "../../observability/onboarding-metric.js";
2
+ import { REINSTALL_COMMAND, RIFT_DOWNLOAD_URL } from "../../diagnostics/install-layout.js";
3
+ import { renamePreviousToolNames } from "../../mcp/names.js";
4
+ export function renderFriendHeader(input) {
5
+ const { status } = input;
6
+ const now = input.now ? input.now() : Date.now();
7
+ const lines = [];
8
+ if (!status) {
9
+ lines.push("Onadit · daemon: unreachable");
10
+ lines.push("Next: run: launchctl kickstart -k gui/$UID/com.getrift.daemon");
11
+ return lines;
12
+ }
13
+ // Derive when the current daemon process started so we can tell
14
+ // "happened during this uptime" from "historical error from a prior
15
+ // run." Without this, a 20h-old schema_mismatch keeps advertising
16
+ // "broken" in the Next: line for a full 24h after a perfectly
17
+ // healthy respawn.
18
+ const daemonStartMs = now - status.daemon.uptime_seconds * 1000;
19
+ // 1. version + daemon
20
+ lines.push(`Onadit v${status.build.version} · daemon: running (uptime ${formatDuration(status.daemon.uptime_seconds)}) · port ${status.daemon.port}${status.daemon.voyage_key_present ? " ✓" : status.daemon.capture_enabled ? " ✗" : ""}`);
21
+ // 2. voyage
22
+ lines.push(renderVoyageLine(input, now));
23
+ // 3. index — distinct from voyage: an embed can succeed but the
24
+ // downstream LanceDB write can still fail (schema, lock, IO).
25
+ // Without this line the user has no signal that "embedded" does not
26
+ // imply "searchable yet".
27
+ lines.push(renderIndexLine(status.index, now));
28
+ // 4. inbox — surfaces drop-folder freshness. Distinct from index:
29
+ // a watcher-fed write can succeed at the index lane without ever
30
+ // having processed an inbox file. This line is the user-visible
31
+ // confirmation that the inbox path itself is wired up and current.
32
+ lines.push(renderInboxLine(status.inbox, now));
33
+ const memoryLine = renderMemoryLine(status);
34
+ if (memoryLine)
35
+ lines.push(memoryLine);
36
+ // 5. codex
37
+ lines.push(renderCodexLine(status.codex, now));
38
+ // 6. capture — when the daemon's own scheduled loop is failing but a
39
+ // manual run is working, split into "what works now" (the manual run)
40
+ // plus an honest "Automatic:" advisory, so a manual success never
41
+ // paints the scheduled loop green. Collapses back to one line once the
42
+ // daemon records a healthy run.
43
+ const daemonCaptureStale = isDaemonCaptureStale(status.capture, daemonStartMs);
44
+ lines.push(renderCaptureLine(status, now, daemonCaptureStale));
45
+ const automaticCaptureLine = renderAutomaticCaptureLine(status.capture, now, daemonCaptureStale);
46
+ if (automaticCaptureLine)
47
+ lines.push(automaticCaptureLine);
48
+ const cursorLine = renderCursorLine(status.capture);
49
+ if (cursorLine)
50
+ lines.push(cursorLine);
51
+ const coworkLine = renderCoworkLine(status.capture);
52
+ if (coworkLine)
53
+ lines.push(coworkLine);
54
+ if (status.capture.grok_cli) {
55
+ lines.push(status.capture.grok_cli.scheduled
56
+ ? "Grok CLI: opt-in capture on — existing and new local CLI sessions are eligible"
57
+ : "Grok CLI: opt-in — run onadit onboard --enable-grok-capture (existing and new local CLI sessions)");
58
+ }
59
+ // 6b. local AI apps — honest source-coverage boundary. Onadit auto-captures the
60
+ // CLI agents (Claude Code, Codex CLI); the desktop/web chat apps keep
61
+ // their history server-side, so those chats need export → onadit import.
62
+ // Shown ONLY when such an app is actually installed, so the line targets
63
+ // the users who would otherwise assume "auto-capture" covers everything.
64
+ const localAiAppsLine = renderLocalAiAppsLine(input.localAiApps);
65
+ if (localAiAppsLine)
66
+ lines.push(localAiAppsLine);
67
+ // 7. MCP
68
+ lines.push(renderMcpLine(input.mcpClients));
69
+ // 7b. menu bar — only when probed (macOS) AND SwiftBar is absent. The plugin
70
+ // is installed but the app that draws the icon is missing, so `status`
71
+ // surfaces the same "menu can't show" warning `doctor` does instead of
72
+ // leaving a silently-missing icon undiagnosed. Installed/unprobed stays
73
+ // quiet so a healthy install never grows a noise line.
74
+ const swiftBarLine = renderSwiftBarLine(input.swiftBar);
75
+ if (swiftBarLine)
76
+ lines.push(swiftBarLine);
77
+ // 8. feedback
78
+ lines.push(`Feedback: ${renderFeedbackLine(status.feedback)}`);
79
+ // 9. update — surfaced only when the daemon's last probe found a
80
+ // newer beta. Probe failures and up-to-date installs print nothing
81
+ // so npm reachability cannot make Onadit look broken.
82
+ const updateLine = renderUpdateLine(status.update);
83
+ if (updateLine)
84
+ lines.push(updateLine);
85
+ // 10. onboarding — `time_to_first_useful_recall`. Hidden state prints
86
+ // nothing so a fresh post-onboard install never shows a stale
87
+ // placeholder. Pending shows the in-flight wait; completed shows
88
+ // the captured duration + the MCP tool that closed it.
89
+ const onboardingLine = renderOnboardingLine(status.onboarding, now);
90
+ if (onboardingLine)
91
+ lines.push(onboardingLine);
92
+ lines.push("");
93
+ lines.push(`Next: ${decideNextLine({ status, mcpClients: input.mcpClients, daemonStartMs })}`);
94
+ return lines;
95
+ }
96
+ /**
97
+ * True only when `iso` parses to a timestamp after the daemon's current
98
+ * start. Historical errors that predate the running process are not
99
+ * current and must not drive the Next: nudge — a friend with a healthy
100
+ * respawned daemon would otherwise see "broken, file feedback" for the
101
+ * full 24h window every error class keeps.
102
+ */
103
+ function isCurrentUptime(iso, daemonStartMs) {
104
+ if (!iso)
105
+ return false;
106
+ const ts = Date.parse(iso);
107
+ if (Number.isNaN(ts))
108
+ return false;
109
+ return ts >= daemonStartMs;
110
+ }
111
+ /**
112
+ * Translate internal error class names into copy a friend can act on.
113
+ * Falls back to the raw class so new/unknown values still surface
114
+ * (better an unfamiliar word than a missing one).
115
+ */
116
+ function humanizeErrorClass(reason) {
117
+ if (!reason)
118
+ return "unknown";
119
+ switch (reason) {
120
+ case "schema_mismatch":
121
+ return "index format changed by update";
122
+ case "lock_conflict":
123
+ return "index busy (concurrent write)";
124
+ case "provider_400":
125
+ return "embedding rejected by Voyage";
126
+ case "network":
127
+ return "network error";
128
+ default:
129
+ return reason;
130
+ }
131
+ }
132
+ function renderFeedbackLine(feedback) {
133
+ if (feedback.relay_enabled) {
134
+ return "relay on (local JSONL + Clem-side relay)";
135
+ }
136
+ if (feedback.contact_opted_in) {
137
+ // Opted in for updates, but no relay endpoint is wired yet — be honest
138
+ // that nothing is transmitting, without telling them to "opt in" again.
139
+ return "opted in — stays local until the beta relay is live";
140
+ }
141
+ return "relay off (local JSONL only) — opt in via onadit onboard";
142
+ }
143
+ function renderUpdateLine(update) {
144
+ if (!update.available)
145
+ return null;
146
+ if (!update.latest_beta)
147
+ return null;
148
+ return `Update: available ${update.installed} → ${update.latest_beta} — ${updateAction(update)}`;
149
+ }
150
+ /**
151
+ * The action to upgrade, chosen by install layout. A packaged (.pkg) install
152
+ * can't self-update (`onadit update` refuses it), so it gets the .pkg download;
153
+ * only an explicit `false` flips it, so an older daemon that predates the flag
154
+ * (`undefined`) keeps the historical `onadit update` advice. Shared by the
155
+ * Update line and the "what to do next" summary so they never disagree.
156
+ */
157
+ function updateAction(update) {
158
+ if (update.reinstall_needed)
159
+ return `run the installer again: ${REINSTALL_COMMAND}`;
160
+ return update.self_update_supported === false
161
+ ? `download the latest .pkg: ${RIFT_DOWNLOAD_URL}`
162
+ : "run: onadit update";
163
+ }
164
+ function renderVoyageLine(input, now) {
165
+ const { status, voyageLast4 } = input;
166
+ if (!status)
167
+ return "Voyage: unknown";
168
+ if (!status.daemon.voyage_key_present) {
169
+ // No key is an intentional local mode, not a fault: keyword (lexical)
170
+ // search is fully on; only semantic search is off. We only nudge toward a
171
+ // Voyage key when a feature that actually needs one (auto-capture) is
172
+ // enabled — otherwise the line must read as "working as configured."
173
+ return status.daemon.capture_enabled
174
+ ? "Search: keyword on, semantic off — auto-capture needs a Voyage key: onadit onboard --reconfigure-voyage"
175
+ : "Search: keyword on · semantic off (no Voyage key — local mode)";
176
+ }
177
+ const last4 = voyageLast4 ? `last 4 …${voyageLast4}` : "key valid";
178
+ const labelSuffix = status.voyage.project_label
179
+ ? ` · label ${status.voyage.project_label}`
180
+ : "";
181
+ const embedSuffix = status.voyage.last_embed_at
182
+ ? `, last embed ${formatAge(status.voyage.last_embed_at, now)}`
183
+ : "";
184
+ const errorSuffix = status.voyage.last_error_at
185
+ ? ` · last error ${formatAge(status.voyage.last_error_at, now)} (${status.voyage.last_error_reason ?? "unknown"})`
186
+ : "";
187
+ return `Voyage: key valid (${last4}${embedSuffix})${labelSuffix}${errorSuffix}`;
188
+ }
189
+ function renderIndexLine(index, now) {
190
+ if (index.last_update_at === null && index.last_error_at === null) {
191
+ return "Index: no writes yet";
192
+ }
193
+ const updateSuffix = index.last_update_at
194
+ ? `last update ${formatAge(index.last_update_at, now)}`
195
+ : "no writes yet";
196
+ const errorSuffix = index.last_error_at
197
+ ? ` · last error ${formatAge(index.last_error_at, now)} (${index.last_error_reason ?? "unknown"})`
198
+ : "";
199
+ return `Index: ${updateSuffix}${errorSuffix}`;
200
+ }
201
+ function renderInboxLine(inbox, now) {
202
+ // Older daemons (pre-this-slice) don't ship an `inbox` block. Treat
203
+ // the missing block exactly as "idle" — the line stays present and
204
+ // the CLI never crashes on a cross-version mismatch.
205
+ if (!inbox ||
206
+ (inbox.last_import_at === null &&
207
+ inbox.last_error_at === null &&
208
+ inbox.pending === 0)) {
209
+ // A command, not a folder: a relative path means nothing to a reader who
210
+ // does not know where Onadit keeps its data.
211
+ return "Inbox: empty — to add a chat export: onadit import <file> --source <name>";
212
+ }
213
+ const parts = [];
214
+ if (inbox.last_import_at) {
215
+ parts.push(`last import ${formatAge(inbox.last_import_at, now)}`);
216
+ }
217
+ if (inbox.pending > 0) {
218
+ parts.push(`${inbox.pending} pending`);
219
+ }
220
+ const head = parts.length > 0 ? parts.join(" · ") : "idle";
221
+ const errorSuffix = inbox.last_error_at
222
+ ? ` · last error ${formatAge(inbox.last_error_at, now)} (${inbox.last_error_reason ?? "unknown"})`
223
+ : "";
224
+ return `Inbox: ${head}${errorSuffix}`;
225
+ }
226
+ function renderMemoryLine(status) {
227
+ const memory = status.memory;
228
+ if (!memory?.counts)
229
+ return null;
230
+ const counts = memory.counts;
231
+ const docsPart = `docs ${counts.structured_docs}${counts.structured_docs === 0 ? ` (${documentReason(memory.documents.status)})` : ""}`;
232
+ // Digests are an optional extra on top of the stored conversations.
233
+ // "digests 0 (AI enrichment off)" was relayed as "Onadit is not writing
234
+ // summaries", so a lane that is simply not in use is not listed.
235
+ const digestsInUse = counts.digests > 0 ||
236
+ (memory.digests.status !== "unavailable_basic" && memory.digests.status !== "unavailable_claude");
237
+ const parts = [`${counts.conversations.toLocaleString("en-US")} conversations`];
238
+ if (digestsInUse) {
239
+ parts.push(`digests ${counts.digests}${counts.digests === 0 ? ` (${digestReason(memory.digests.status)})` : ""}`);
240
+ }
241
+ parts.push(docsPart);
242
+ return `Memory: ${parts.join(" · ")}`;
243
+ }
244
+ function digestReason(status) {
245
+ switch (status) {
246
+ case "unavailable_basic":
247
+ return "AI enrichment off";
248
+ case "unavailable_claude":
249
+ return "Claude digests not shipped";
250
+ case "unavailable_worker":
251
+ return "digest worker unavailable";
252
+ case "available_not_run":
253
+ return "none yet";
254
+ case "unknown":
255
+ return "unknown";
256
+ case "indexed":
257
+ return "indexed";
258
+ }
259
+ }
260
+ function documentReason(status) {
261
+ switch (status) {
262
+ case "not_configured":
263
+ return "no sources";
264
+ case "source_missing":
265
+ return "source missing";
266
+ case "source_empty":
267
+ return "source empty";
268
+ case "embedding_unavailable":
269
+ return "Voyage key missing";
270
+ case "backfill_needed":
271
+ return "backfill needed";
272
+ case "unknown":
273
+ return "unknown";
274
+ case "indexed":
275
+ return "indexed";
276
+ }
277
+ }
278
+ function renderCodexLine(codex, now) {
279
+ // Claude-Code triage worker: a wholly separate label + remedy set. The Codex
280
+ // copy below is left byte-for-byte unchanged.
281
+ if (codex.last_preflight_worker === "claude") {
282
+ return renderClaudeLine(codex, now);
283
+ }
284
+ if (codex.last_preflight_at === null) {
285
+ return "Codex CLI: not checked yet — auto-capture has not run";
286
+ }
287
+ if (codex.last_preflight_ok === true) {
288
+ return `Codex CLI: authed ✓ (last checked: ${formatAge(codex.last_preflight_at, now)})`;
289
+ }
290
+ const checked = `last checked: ${formatAge(codex.last_preflight_at, now)}`;
291
+ if (codex.last_preflight_error_class === "auth") {
292
+ return `Codex CLI: auth expired ✗ (${checked}) — run: codex login`;
293
+ }
294
+ // Not auth — say what actually failed and don't nag about login.
295
+ const summary = codex.last_preflight_error_summary ?? "Codex preflight failed.";
296
+ return `Codex CLI: probe failing ✗ (${checked}) — ${summary}`;
297
+ }
298
+ /**
299
+ * Claude-Code triage worker status line — the `claude_code` analogue of the
300
+ * Codex line. Remedies are Claude-shaped (sign into `claude`, upgrade an old
301
+ * CLI, point past a wrapper), never "codex login".
302
+ */
303
+ function renderClaudeLine(codex, now) {
304
+ if (codex.last_preflight_at === null) {
305
+ return "Claude Code: not checked yet — auto-capture has not run";
306
+ }
307
+ if (codex.last_preflight_ok === true) {
308
+ return `Claude Code: ready ✓ (last checked: ${formatAge(codex.last_preflight_at, now)})`;
309
+ }
310
+ const checked = `last checked: ${formatAge(codex.last_preflight_at, now)}`;
311
+ switch (codex.last_preflight_error_class) {
312
+ case "auth":
313
+ return `Claude Code: signed out ✗ (${checked}) — run: claude (sign in)`;
314
+ case "missing":
315
+ return `Claude Code: not found ✗ (${checked}) — install claude or set RIFT_CLAUDE_CLI_PATH`;
316
+ case "incompatible":
317
+ return `Claude Code: too old ✗ (${checked}) — upgrade claude (needs --safe-mode)`;
318
+ case "wrapper":
319
+ return `Claude Code: wrapper blocking ✗ (${checked}) — set RIFT_CLAUDE_CLI_PATH to the real claude`;
320
+ default: {
321
+ const summary = codex.last_preflight_error_summary ?? "Claude preflight failed.";
322
+ return `Claude Code: probe failing ✗ (${checked}) — ${summary}`;
323
+ }
324
+ }
325
+ }
326
+ /**
327
+ * True when the daemon's own scheduled loop last failed (during this
328
+ * uptime) but the newest run is a healthy ad-hoc run (a manual `rift
329
+ * capture` or the onboard first-capture pass). This is the "capture works
330
+ * now, but automation is still failing" split — kept in sync with the
331
+ * `capture_daemon_stale` check in diagnostics/doctor.ts.
332
+ *
333
+ * `last_daemon_failed` carries the full failure verdict (a `run_ok`-only
334
+ * check would miss the common expired-Codex case, which completes with
335
+ * `run_ok: true, preflight_ok: false`). The newest run must be a non-daemon
336
+ * trigger — legacy untagged rows report as `daemon`, so `!== "daemon"`
337
+ * cleanly means manual or onboard.
338
+ */
339
+ function isDaemonCaptureStale(capture, daemonStartMs) {
340
+ return (capture.last_daemon_failed === true &&
341
+ isCurrentUptime(capture.last_daemon_run_at ?? null, daemonStartMs) &&
342
+ capture.last_run_trigger != null &&
343
+ capture.last_run_trigger !== "daemon" &&
344
+ capture.last_run_ok === true &&
345
+ capture.last_errors === 0);
346
+ }
347
+ /**
348
+ * Split the parked-oversized count into "still self-repairing" vs. "exhausted
349
+ * retries, needs a manual save". The daemon ships explicit `oversized_repairing`
350
+ * / `oversized_repair_failed`; an older daemon omits them, so we fall back to
351
+ * treating every parked session as still-repairing (`parked - failed`, with
352
+ * failed defaulting to 0) — the calm, accurate read for a daemon that simply
353
+ * hasn't reported a budget yet.
354
+ */
355
+ function deriveParkedState(capture) {
356
+ const parked = capture.oversized_parked ?? 0;
357
+ const failed = capture.oversized_repair_failed ?? 0;
358
+ const repairing = capture.oversized_repairing ?? Math.max(parked - failed, 0);
359
+ return { parked, repairing, failed };
360
+ }
361
+ function renderCaptureLine(status, now, daemonStale) {
362
+ const { capture, daemon, codex } = status;
363
+ // When the split "Automatic:" line is shown it carries the daemon's next
364
+ // tick, so keep it off this line — otherwise a manual run would look
365
+ // scheduled. With no split, this line keeps the next-tick hint.
366
+ const next = daemonStale ? null : formatNextRunSuffix(capture.next_run_at, now);
367
+ const nextPart = next ? ` · ${next}` : "";
368
+ const retryPart = next ? ` · ${retryWording(next)}` : "";
369
+ const lastRun = capture.last_run_at
370
+ ? `${capture.last_run_trigger === "manual" ? "last manual run" : "last run"} ${formatAge(capture.last_run_at, now)}`
371
+ : null;
372
+ // The line opens with one of: off, on (no run yet), working, failed. A
373
+ // reader, or an agent relaying this, must be able to tell a quiet hour from
374
+ // a fault, and capture being off from capture finding nothing.
375
+ //
376
+ // Off. Only an explicit `false`: a daemon from before the flag does not say.
377
+ if (daemon.capture_enabled === false) {
378
+ return `Capture: off — new sessions from your AI tools are not saved${lastRun ? ` (${lastRun})` : ""}. Turn it on: onadit onboard --enable-capture`;
379
+ }
380
+ // On, but nothing it saves could be embedded.
381
+ if (daemon.capture_enabled === true && !daemon.voyage_key_present) {
382
+ return "Capture: failed — capture is on but Onadit has no search key, so nothing can be saved. Fix: onadit onboard --reconfigure-voyage";
383
+ }
384
+ if (lastRun === null) {
385
+ if (daemon.capture_enabled === true)
386
+ return `Capture: on — no run yet${nextPart}`;
387
+ return next ? `Capture: no runs yet · ${next}` : "Capture: no runs yet";
388
+ }
389
+ // Failed: the AI worker that reads sessions was not ready, the run stopped,
390
+ // or sessions could not be saved (the same bar as `autoCaptureRunFailed`).
391
+ if (codex.last_preflight_ok === false) {
392
+ const worker = codex.last_preflight_worker === "claude" ? "Claude Code" : "Codex CLI";
393
+ return `Capture: failed — ${lastRun} saved nothing: ${worker} is not ready (see the ${worker} line)${retryPart}`;
394
+ }
395
+ if (capture.last_run_ok === false) {
396
+ return `Capture: failed — ${lastRun} stopped with an error (details: onadit doctor)${retryPart}`;
397
+ }
398
+ if (capture.last_errors > 0) {
399
+ const n = capture.last_errors;
400
+ return `Capture: failed for ${n} session${n === 1 ? "" : "s"} — ${lastRun}: ${capture.last_saved} saved, ${n} not saved (details: onadit doctor)${retryPart}`;
401
+ }
402
+ // Driven by the parked-session count (state of the world), NOT
403
+ // `last_quarantined` (the last run's count) — otherwise this visible line
404
+ // flickers between showing and hiding as a stable oversized file dedups on
405
+ // one run and re-quarantines on the next. Large sessions now self-repair in
406
+ // the background, so the suffix reports honest state: "saving …" while Onadit
407
+ // is still recovering them, "need a manual save" only once retries are
408
+ // exhausted — never a bare "run the repair command" on a self-healing path.
409
+ const { repairing, failed } = deriveParkedState(capture);
410
+ const parkedSuffix = failed > 0
411
+ ? ` · ${failed} large session${failed === 1 ? "" : "s"} need a manual save`
412
+ : repairing > 0
413
+ ? ` · saving ${repairing} large session${repairing === 1 ? "" : "s"} to memory`
414
+ : "";
415
+ // Working. "Nothing new" is said in words: three zeros look like a fault.
416
+ const found = capture.last_saved === 0 && capture.last_review === 0
417
+ ? "nothing new"
418
+ : `${capture.last_saved} saved${capture.last_review > 0 ? `, ${capture.last_review} to review` : ""}`;
419
+ return `Capture: working — ${lastRun}: ${found}${parkedSuffix}${nextPart}`;
420
+ }
421
+ /** "next in 59m" as a failure reads it: when the next attempt comes. */
422
+ function retryWording(next) {
423
+ return next === "next tick due" ? "next try due" : next.replace(/^next in /, "next try in ");
424
+ }
425
+ /**
426
+ * Native-Cursor capture line. Honest states for an explicit opt-in:
427
+ * - not installed AND not scheduled → omit (return null); never advertise a
428
+ * tool the user doesn't have.
429
+ * - scheduled but the store is missing/unreadable (file probe) → WARN.
430
+ * - scheduled, store readable, but the last discovery RUN failed to read it
431
+ * (e.g. `sqlite3` missing / corrupt query — invisible to the file probe)
432
+ * → WARN. The opt-in (cursor_composer in capture.sources) must never read
433
+ * as "capture on" while capture physically can't run; that would silently
434
+ * swallow the one thing the user asked for.
435
+ * - installed but not scheduled → offer the opt-in.
436
+ * - scheduled, readable, and no observed discovery failure → on.
437
+ * Returns null for a pre-this-slice payload that omits the `cursor` block.
438
+ */
439
+ function renderCursorLine(capture) {
440
+ const cursor = capture.cursor;
441
+ if (!cursor)
442
+ return null;
443
+ if (cursor.scheduled) {
444
+ if (!cursor.available) {
445
+ return "Cursor: scheduled but no readable Cursor store found — capture can't run (is Cursor installed?)";
446
+ }
447
+ // File is readable, but the last run that actually read the store failed —
448
+ // the store is present yet Onadit can't parse it (commonly: no `sqlite3` on
449
+ // PATH). Warn instead of claiming the schedule is working.
450
+ if (cursor.last_discovery_ok === false) {
451
+ return "Cursor: scheduled but Onadit couldn't read your Cursor sessions last run — capture isn't working (try: onadit doctor)";
452
+ }
453
+ return "Cursor: capture on — native Cursor sessions are captured on the schedule";
454
+ }
455
+ // Not scheduled: only advertise the opt-in when Cursor is actually present.
456
+ if (!cursor.available)
457
+ return null;
458
+ return 'Cursor: not captured — to capture Cursor sessions, add "cursor_composer" to capture.sources in Onadit\'s config.json, then restart Onadit';
459
+ }
460
+ /**
461
+ * Claude Desktop agent/Cowork capture line. Cowork is an explicit opt-in like
462
+ * Cursor, not part of the default auto-capture set. Existing sessions are
463
+ * baselined on first opt-in, so the line deliberately says "new" sessions.
464
+ */
465
+ function renderCoworkLine(capture) {
466
+ const cowork = capture.claude_desktop;
467
+ if (!cowork)
468
+ return null;
469
+ if (cowork.scheduled) {
470
+ if (!cowork.available) {
471
+ return "Cowork: scheduled but no readable Claude Desktop Cowork store found — capture can't run (open a Cowork session, then run onadit status)";
472
+ }
473
+ if (cowork.last_discovery_ok === false) {
474
+ return "Cowork: scheduled but Onadit couldn't read your Cowork sessions last run — capture isn't working (try: onadit doctor)";
475
+ }
476
+ return "Cowork: capture on — new Claude Desktop Cowork sessions are captured on the schedule";
477
+ }
478
+ if (!cowork.available)
479
+ return null;
480
+ return "Cowork: available — run onadit onboard --enable-cowork-capture to capture new Cowork sessions";
481
+ }
482
+ /**
483
+ * Honest source-coverage line. Onadit auto-captures the CLI agents (Claude Code,
484
+ * Codex CLI), and can opt into Claude Desktop Cowork agent sessions. Normal
485
+ * Claude/ChatGPT desktop and web chats still need export → `onadit import`.
486
+ * Rendered only when such an app is actually installed, so it sets the right
487
+ * expectation for exactly the users who would assume "auto-capture" already
488
+ * covers them, and stays silent for everyone else.
489
+ */
490
+ function renderLocalAiAppsLine(apps) {
491
+ if (!apps)
492
+ return null;
493
+ const names = [];
494
+ if (apps.claudeDesktop)
495
+ names.push("Claude Desktop");
496
+ if (apps.chatgptApp)
497
+ names.push("ChatGPT");
498
+ if (names.length === 0)
499
+ return null;
500
+ const possessive = names.length === 1 ? "its" : "their";
501
+ return `App chats: ${names.join(" + ")} installed — ${possessive} normal chats aren't auto-captured; export → onadit import`;
502
+ }
503
+ /**
504
+ * The "Automatic:" advisory line — shown only when `isDaemonCaptureStale`
505
+ * holds (the scheduled loop's last run failed while a manual run is
506
+ * working). Returns null otherwise; a healthy or not-yet-run daemon needs
507
+ * no second capture line.
508
+ */
509
+ function renderAutomaticCaptureLine(capture, now, daemonStale) {
510
+ if (!daemonStale || !capture.last_daemon_run_at)
511
+ return null;
512
+ const age = formatAge(capture.last_daemon_run_at, now);
513
+ const nextSuffix = formatNextRunSuffix(capture.next_run_at, now);
514
+ return `Automatic: failed — last scheduled run ${age}${nextSuffix ? ` · ${retryWording(nextSuffix)}` : ""}`;
515
+ }
516
+ function formatNextRunSuffix(iso, now) {
517
+ if (!iso)
518
+ return null;
519
+ const then = Date.parse(iso);
520
+ if (Number.isNaN(then))
521
+ return null;
522
+ const deltaSeconds = Math.round((then - now) / 1000);
523
+ if (deltaSeconds <= 0)
524
+ return "next tick due";
525
+ return `next in ${formatDuration(deltaSeconds)}`;
526
+ }
527
+ function renderMcpLine(clients) {
528
+ if (clients.length === 0)
529
+ return "MCP: (no clients detected)";
530
+ const parts = clients.map((c) => c.installed
531
+ ? `${c.client} ✓`
532
+ : `${c.client} ✗ (run: onadit mcp install --client=${c.client})`);
533
+ return `MCP: ${parts.join(" · ")}`;
534
+ }
535
+ /**
536
+ * Render the menu-bar advisory line, or null to omit it. Two cases print:
537
+ * SwiftBar absent (install the app), and SwiftBar present but the plugin is a
538
+ * dangling shortcut (reinstall it) — so the everyday `onadit status` can't look
539
+ * clean while the icon is broken. A healthy install and `null` (non-macOS /
540
+ * unprobed, e.g. the daemon notifier) stay silent, matching `onadit doctor`.
541
+ */
542
+ function renderSwiftBarLine(swiftBar) {
543
+ if (!swiftBar)
544
+ return null;
545
+ if (!swiftBar.installed) {
546
+ // Lead with the real first step (install the app); `onadit menubar install`
547
+ // alone would only re-print that same recovery, so name it directly.
548
+ return "Menu bar: SwiftBar not installed ✗ (icon can't show → install SwiftBar from swiftbar.app, then run: onadit menubar install)";
549
+ }
550
+ if (swiftBar.pluginDangling) {
551
+ return "Menu bar: plugin broken ✗ (icon can't update → reinstall: onadit menubar install)";
552
+ }
553
+ return null;
554
+ }
555
+ function decideNextLine(input) {
556
+ const { status, mcpClients, daemonStartMs } = input;
557
+ // A missing key is only an action item when something needs it. With
558
+ // auto-capture off, no-key is the intended local mode, so it must not claim
559
+ // the Next: line — that would read as "broken" on a healthy local install.
560
+ if (!status.daemon.voyage_key_present && status.daemon.capture_enabled) {
561
+ return "Auto-capture is on but has no Voyage key to embed with → run: onadit onboard --reconfigure-voyage";
562
+ }
563
+ if (status.codex.last_preflight_ok === false) {
564
+ if (status.codex.last_preflight_worker === "claude") {
565
+ switch (status.codex.last_preflight_error_class) {
566
+ case "auth":
567
+ return "Claude Code signed out → run: claude (sign in); Onadit retries automatically";
568
+ case "missing":
569
+ return "Claude Code CLI not found → install claude or set RIFT_CLAUDE_CLI_PATH; Onadit retries automatically";
570
+ case "incompatible":
571
+ return "Claude Code CLI too old → upgrade claude (needs --safe-mode); Onadit retries automatically";
572
+ case "wrapper":
573
+ return "A wrapper is intercepting claude → set RIFT_CLAUDE_CLI_PATH to the real binary; Onadit retries automatically";
574
+ case "rate_limit":
575
+ return "Claude hit a rate/usage limit → wait for it to reset; Onadit retries automatically";
576
+ default:
577
+ return "Claude capture probe failing → Onadit retries automatically";
578
+ }
579
+ }
580
+ if (status.codex.last_preflight_error_class === "auth") {
581
+ return "Codex auth expired → run: codex login";
582
+ }
583
+ if (status.codex.last_preflight_error_class === "model") {
584
+ return "Codex rejected the model → set codex_cli.model; Onadit retries automatically";
585
+ }
586
+ if (status.codex.last_preflight_error_class === "cli_incompatible") {
587
+ return "Codex CLI too old → upgrade Codex; Onadit retries automatically";
588
+ }
589
+ if (status.codex.last_preflight_error_class === "binary") {
590
+ return "Codex CLI missing or moved → reinstall/upgrade codex; Onadit retries automatically";
591
+ }
592
+ if (status.codex.last_preflight_error_class === "rate_limit") {
593
+ return "Codex out of credits or rate-limited → top up your OpenAI balance or wait; Onadit retries automatically";
594
+ }
595
+ return "Codex capture probe failing → Onadit retries automatically";
596
+ }
597
+ // Recency gating: only errors stamped *after* the current daemon
598
+ // start can drive the Next: action. A 20h-old schema_mismatch from a
599
+ // prior process should not advertise "broken, file feedback" on a
600
+ // healthy respawn.
601
+ if (isCurrentUptime(status.voyage.last_error_at, daemonStartMs)) {
602
+ return `Voyage embedding errors since daemon start (${humanizeErrorClass(status.voyage.last_error_reason)}) → run: onadit feedback --kind=broke --with-status`;
603
+ }
604
+ if (isCurrentUptime(status.index.last_error_at, daemonStartMs)) {
605
+ return `Index write errors since daemon start (${humanizeErrorClass(status.index.last_error_reason)}) → run: onadit feedback --kind=broke --with-status`;
606
+ }
607
+ // Inbox import failures are usually the user's own drop being rejected
608
+ // (malformed export, corrupted ZIP, unsupported source). The fix is on
609
+ // their side — re-drop a fresh export — not in the feedback flow.
610
+ // We deliberately do NOT name `data/quarantine/`: pre-parse failures
611
+ // (e.g. corrupted ZIPs that throw inside extractArchive) never write
612
+ // a quarantine record, so the path would point at an empty folder.
613
+ // Only the parser-level per-conversation failures land there, and
614
+ // the user doesn't need to disambiguate before re-dropping.
615
+ if (status.inbox && isCurrentUptime(status.inbox.last_error_at, daemonStartMs)) {
616
+ return `Inbox import errors since daemon start (${humanizeErrorClass(status.inbox.last_error_reason)}) → import a fresh export: onadit import <file> --source <name>`;
617
+ }
618
+ // Capture errors only count when the failing run happened during the
619
+ // current daemon uptime — a prior process's failure shouldn't keep
620
+ // nudging the friend post-respawn.
621
+ if ((status.capture.last_errors > 0 || status.capture.last_run_ok === false) &&
622
+ isCurrentUptime(status.capture.last_run_at, daemonStartMs)) {
623
+ return "Capture errors detected → run: onadit feedback --kind=broke --with-status";
624
+ }
625
+ // Scheduled loop failing while the newest run is a healthy manual one:
626
+ // capture works now, so surface the honest "will re-check" advisory
627
+ // rather than a broken-capture action or "nothing broken."
628
+ if (isDaemonCaptureStale(status.capture, daemonStartMs)) {
629
+ return "capture works now; automatic capture will re-check on the next scheduled run";
630
+ }
631
+ const missing = mcpClients.filter((c) => !c.installed).map((c) => c.client);
632
+ if (missing.length > 0) {
633
+ return `MCP not installed for ${missing.join(", ")} → run: onadit mcp install --client=${missing[0]}`;
634
+ }
635
+ // Oversized Codex sessions parked in quarantine are a graceful skip, not an
636
+ // error — and they now SELF-REPAIR in the background. So the default copy is
637
+ // the honest in-progress state ("Onadit is saving N … to memory"), with NO
638
+ // command for the friend to run. The manual `onadit doctor repair
639
+ // capture-large-sessions` is surfaced only once a session has exhausted its
640
+ // bounded retry budget — the genuine "Onadit couldn't, you take over" case.
641
+ const { repairing, failed } = deriveParkedState(status.capture);
642
+ if (failed > 0) {
643
+ return `${failed} large Codex session${failed === 1 ? "" : "s"} could not be saved automatically → run: onadit doctor repair capture-large-sessions`;
644
+ }
645
+ if (repairing > 0) {
646
+ return `Onadit is saving ${repairing} large Codex session${repairing === 1 ? "" : "s"} to memory — no action needed`;
647
+ }
648
+ // Update available wins over "nothing broken" — a friend who runs
649
+ // status precisely to find out what to do next should see the update
650
+ // hint surfaced as the action, not buried under "all green." It is
651
+ // still strictly below every real error branch above, so a broken
652
+ // daemon never prefers an update suggestion over a Voyage/Index fix.
653
+ if (status.update.available && status.update.latest_beta) {
654
+ return `Update available (${status.update.installed} → ${status.update.latest_beta}) → ${updateAction(status.update)}`;
655
+ }
656
+ return 'nothing broken. Try onadit search "<topic>".';
657
+ }
658
+ export function formatAge(iso, now) {
659
+ const then = Date.parse(iso);
660
+ if (Number.isNaN(then))
661
+ return "unknown";
662
+ return formatDuration(Math.max(0, Math.round((now - then) / 1000))) + " ago";
663
+ }
664
+ /**
665
+ * Render the `time_to_first_useful_recall` line. Returns null when the
666
+ * state is `hidden` so the caller can drop the line entirely — a fresh
667
+ * post-onboard install should not advertise a metric it has not yet
668
+ * earned the right to display.
669
+ */
670
+ export function renderOnboardingLine(onboarding, now) {
671
+ if (!onboarding)
672
+ return null;
673
+ if (onboarding.state === "hidden")
674
+ return null;
675
+ if (onboarding.state === "pending") {
676
+ const since = onboarding.useful_state_reached_at
677
+ ? ` (waiting ${formatAge(onboarding.useful_state_reached_at, now)})`
678
+ : "";
679
+ // The record is the first answer that came back complete and with
680
+ // results. A tool may well have asked already and got nothing or a partial
681
+ // answer, so this must not say that no tool has asked.
682
+ return `First recall: not yet — no AI tool has got a complete answer with results from Onadit so far; an empty or partial answer is not counted${since}`;
683
+ }
684
+ const duration = onboarding.duration_seconds !== null
685
+ ? formatOnboardingDuration(onboarding.duration_seconds)
686
+ : "?";
687
+ // The metric stores the label the tool had when it was recorded.
688
+ const tool = renamePreviousToolNames(onboarding.first_useful_recall_tool ?? "?");
689
+ // Said as what happened: "0s after first useful state" is our metric's name,
690
+ // not something a reader can act on or relay. The event is the first answer
691
+ // that was complete and had results, not the first time a tool asked.
692
+ return `First recall: done — an AI tool first got a complete answer with results from Onadit ${duration} after Onadit was ready (${tool})`;
693
+ }
694
+ export function formatDuration(seconds) {
695
+ if (seconds < 60)
696
+ return `${seconds}s`;
697
+ const minutes = Math.floor(seconds / 60);
698
+ if (minutes < 60)
699
+ return `${minutes}m`;
700
+ const hours = Math.floor(minutes / 60);
701
+ const remMin = minutes % 60;
702
+ if (hours < 24)
703
+ return remMin > 0 ? `${hours}h ${remMin}m` : `${hours}h`;
704
+ const days = Math.floor(hours / 24);
705
+ const remHours = hours % 24;
706
+ return remHours > 0 ? `${days}d ${remHours}h` : `${days}d`;
707
+ }
708
+ //# sourceMappingURL=friend-header.js.map