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

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 (273) hide show
  1. package/README.md +7 -3
  2. package/dist/src/capture/auto-capture.d.ts +105 -4
  3. package/dist/src/capture/auto-capture.d.ts.map +1 -1
  4. package/dist/src/capture/auto-capture.js +313 -34
  5. package/dist/src/capture/auto-capture.js.map +1 -1
  6. package/dist/src/capture/claude-cli-triage-provider.d.ts +28 -0
  7. package/dist/src/capture/claude-cli-triage-provider.d.ts.map +1 -0
  8. package/dist/src/capture/claude-cli-triage-provider.js +88 -0
  9. package/dist/src/capture/claude-cli-triage-provider.js.map +1 -0
  10. package/dist/src/capture/codex-cli-triage-provider.d.ts.map +1 -1
  11. package/dist/src/capture/codex-cli-triage-provider.js +1 -33
  12. package/dist/src/capture/codex-cli-triage-provider.js.map +1 -1
  13. package/dist/src/capture/cursor-capture.d.ts +89 -0
  14. package/dist/src/capture/cursor-capture.d.ts.map +1 -0
  15. package/dist/src/capture/cursor-capture.js +121 -0
  16. package/dist/src/capture/cursor-capture.js.map +1 -0
  17. package/dist/src/capture/observability.d.ts +30 -0
  18. package/dist/src/capture/observability.d.ts.map +1 -1
  19. package/dist/src/capture/observability.js +29 -0
  20. package/dist/src/capture/observability.js.map +1 -1
  21. package/dist/src/capture/sources.d.ts +41 -3
  22. package/dist/src/capture/sources.d.ts.map +1 -1
  23. package/dist/src/capture/sources.js +43 -1
  24. package/dist/src/capture/sources.js.map +1 -1
  25. package/dist/src/capture/triage-classification.d.ts +69 -0
  26. package/dist/src/capture/triage-classification.d.ts.map +1 -0
  27. package/dist/src/capture/triage-classification.js +62 -0
  28. package/dist/src/capture/triage-classification.js.map +1 -0
  29. package/dist/src/capture/triage-provider-factory.d.ts +36 -0
  30. package/dist/src/capture/triage-provider-factory.d.ts.map +1 -0
  31. package/dist/src/capture/triage-provider-factory.js +55 -0
  32. package/dist/src/capture/triage-provider-factory.js.map +1 -0
  33. package/dist/src/capture/triage.d.ts +1 -1
  34. package/dist/src/capture/triage.d.ts.map +1 -1
  35. package/dist/src/capture/triage.js +8 -6
  36. package/dist/src/capture/triage.js.map +1 -1
  37. package/dist/src/cli/commands/capture.d.ts.map +1 -1
  38. package/dist/src/cli/commands/capture.js +72 -17
  39. package/dist/src/cli/commands/capture.js.map +1 -1
  40. package/dist/src/cli/commands/chunk-backfill.d.ts +13 -0
  41. package/dist/src/cli/commands/chunk-backfill.d.ts.map +1 -0
  42. package/dist/src/cli/commands/chunk-backfill.js +157 -0
  43. package/dist/src/cli/commands/chunk-backfill.js.map +1 -0
  44. package/dist/src/cli/commands/cursor-probe.d.ts +20 -0
  45. package/dist/src/cli/commands/cursor-probe.d.ts.map +1 -0
  46. package/dist/src/cli/commands/cursor-probe.js +162 -0
  47. package/dist/src/cli/commands/cursor-probe.js.map +1 -0
  48. package/dist/src/cli/commands/onboard.d.ts +22 -2
  49. package/dist/src/cli/commands/onboard.d.ts.map +1 -1
  50. package/dist/src/cli/commands/onboard.js +160 -32
  51. package/dist/src/cli/commands/onboard.js.map +1 -1
  52. package/dist/src/cli/commands/status.d.ts.map +1 -1
  53. package/dist/src/cli/commands/status.js +12 -0
  54. package/dist/src/cli/commands/status.js.map +1 -1
  55. package/dist/src/cli/commands/update.d.ts +34 -1
  56. package/dist/src/cli/commands/update.d.ts.map +1 -1
  57. package/dist/src/cli/commands/update.js +166 -1
  58. package/dist/src/cli/commands/update.js.map +1 -1
  59. package/dist/src/cli/index.d.ts.map +1 -1
  60. package/dist/src/cli/index.js +4 -0
  61. package/dist/src/cli/index.js.map +1 -1
  62. package/dist/src/cli/status/friend-header.d.ts +10 -0
  63. package/dist/src/cli/status/friend-header.d.ts.map +1 -1
  64. package/dist/src/cli/status/friend-header.js +117 -0
  65. package/dist/src/cli/status/friend-header.js.map +1 -1
  66. package/dist/src/cli/status/local-signals.d.ts +23 -0
  67. package/dist/src/cli/status/local-signals.d.ts.map +1 -1
  68. package/dist/src/cli/status/local-signals.js +19 -0
  69. package/dist/src/cli/status/local-signals.js.map +1 -1
  70. package/dist/src/config/schema.d.ts +220 -14
  71. package/dist/src/config/schema.d.ts.map +1 -1
  72. package/dist/src/config/schema.js +82 -7
  73. package/dist/src/config/schema.js.map +1 -1
  74. package/dist/src/diagnostics/claude-preflight.d.ts +34 -0
  75. package/dist/src/diagnostics/claude-preflight.d.ts.map +1 -0
  76. package/dist/src/diagnostics/claude-preflight.js +89 -0
  77. package/dist/src/diagnostics/claude-preflight.js.map +1 -0
  78. package/dist/src/diagnostics/codex-preflight.d.ts +1 -1
  79. package/dist/src/diagnostics/codex-preflight.d.ts.map +1 -1
  80. package/dist/src/diagnostics/codex-preflight.js +14 -0
  81. package/dist/src/diagnostics/codex-preflight.js.map +1 -1
  82. package/dist/src/diagnostics/doctor.d.ts +1 -1
  83. package/dist/src/diagnostics/doctor.d.ts.map +1 -1
  84. package/dist/src/diagnostics/doctor.js +39 -2
  85. package/dist/src/diagnostics/doctor.js.map +1 -1
  86. package/dist/src/ingestion/chunk-meta.d.ts +85 -0
  87. package/dist/src/ingestion/chunk-meta.d.ts.map +1 -0
  88. package/dist/src/ingestion/chunk-meta.js +167 -0
  89. package/dist/src/ingestion/chunk-meta.js.map +1 -0
  90. package/dist/src/ingestion/chunk-text.d.ts +39 -0
  91. package/dist/src/ingestion/chunk-text.d.ts.map +1 -0
  92. package/dist/src/ingestion/chunk-text.js +114 -0
  93. package/dist/src/ingestion/chunk-text.js.map +1 -0
  94. package/dist/src/ingestion/cursor/cursor-store.d.ts +177 -0
  95. package/dist/src/ingestion/cursor/cursor-store.d.ts.map +1 -0
  96. package/dist/src/ingestion/cursor/cursor-store.js +243 -0
  97. package/dist/src/ingestion/cursor/cursor-store.js.map +1 -0
  98. package/dist/src/ingestion/cursor/enrich-roots.d.ts +16 -0
  99. package/dist/src/ingestion/cursor/enrich-roots.d.ts.map +1 -0
  100. package/dist/src/ingestion/cursor/enrich-roots.js +22 -0
  101. package/dist/src/ingestion/cursor/enrich-roots.js.map +1 -0
  102. package/dist/src/ingestion/cursor/vscdb-reader.d.ts +32 -0
  103. package/dist/src/ingestion/cursor/vscdb-reader.d.ts.map +1 -0
  104. package/dist/src/ingestion/cursor/vscdb-reader.js +113 -0
  105. package/dist/src/ingestion/cursor/vscdb-reader.js.map +1 -0
  106. package/dist/src/ingestion/cursor/workspace-root.d.ts +96 -0
  107. package/dist/src/ingestion/cursor/workspace-root.d.ts.map +1 -0
  108. package/dist/src/ingestion/cursor/workspace-root.js +187 -0
  109. package/dist/src/ingestion/cursor/workspace-root.js.map +1 -0
  110. package/dist/src/ingestion/indexer.d.ts.map +1 -1
  111. package/dist/src/ingestion/indexer.js +41 -32
  112. package/dist/src/ingestion/indexer.js.map +1 -1
  113. package/dist/src/jobs/handlers/compact.d.ts.map +1 -1
  114. package/dist/src/jobs/handlers/compact.js +9 -4
  115. package/dist/src/jobs/handlers/compact.js.map +1 -1
  116. package/dist/src/jobs/handlers/ingest.d.ts.map +1 -1
  117. package/dist/src/jobs/handlers/ingest.js +60 -30
  118. package/dist/src/jobs/handlers/ingest.js.map +1 -1
  119. package/dist/src/jobs/handlers/reconcile.d.ts.map +1 -1
  120. package/dist/src/jobs/handlers/reconcile.js +128 -45
  121. package/dist/src/jobs/handlers/reconcile.js.map +1 -1
  122. package/dist/src/jobs/handlers/save.d.ts.map +1 -1
  123. package/dist/src/jobs/handlers/save.js +122 -72
  124. package/dist/src/jobs/handlers/save.js.map +1 -1
  125. package/dist/src/jobs/types.d.ts +1 -1
  126. package/dist/src/main.js +26 -15
  127. package/dist/src/main.js.map +1 -1
  128. package/dist/src/mcp/server.d.ts.map +1 -1
  129. package/dist/src/mcp/server.js +10 -3
  130. package/dist/src/mcp/server.js.map +1 -1
  131. package/dist/src/mcp/tools/context-pack.d.ts.map +1 -1
  132. package/dist/src/mcp/tools/context-pack.js +7 -1
  133. package/dist/src/mcp/tools/context-pack.js.map +1 -1
  134. package/dist/src/mcp/tools/conversations-search.d.ts +1 -1
  135. package/dist/src/mcp/tools/conversations-search.d.ts.map +1 -1
  136. package/dist/src/mcp/tools/conversations-search.js +7 -1
  137. package/dist/src/mcp/tools/conversations-search.js.map +1 -1
  138. package/dist/src/mcp/tools/evidence-feedback.d.ts +60 -0
  139. package/dist/src/mcp/tools/evidence-feedback.d.ts.map +1 -0
  140. package/dist/src/mcp/tools/evidence-feedback.js +62 -0
  141. package/dist/src/mcp/tools/evidence-feedback.js.map +1 -0
  142. package/dist/src/mcp/tools/log-outcome.d.ts +72 -0
  143. package/dist/src/mcp/tools/log-outcome.d.ts.map +1 -0
  144. package/dist/src/mcp/tools/log-outcome.js +59 -0
  145. package/dist/src/mcp/tools/log-outcome.js.map +1 -0
  146. package/dist/src/mcp/tools/open-evidence.d.ts +37 -0
  147. package/dist/src/mcp/tools/open-evidence.d.ts.map +1 -0
  148. package/dist/src/mcp/tools/open-evidence.js +72 -0
  149. package/dist/src/mcp/tools/open-evidence.js.map +1 -0
  150. package/dist/src/mcp/tools/save.d.ts +7 -2
  151. package/dist/src/mcp/tools/save.d.ts.map +1 -1
  152. package/dist/src/mcp/tools/save.js +7 -2
  153. package/dist/src/mcp/tools/save.js.map +1 -1
  154. package/dist/src/mcp/tools/search.d.ts.map +1 -1
  155. package/dist/src/mcp/tools/search.js +7 -1
  156. package/dist/src/mcp/tools/search.js.map +1 -1
  157. package/dist/src/observability/retrieval-feedback.d.ts +82 -0
  158. package/dist/src/observability/retrieval-feedback.d.ts.map +1 -0
  159. package/dist/src/observability/retrieval-feedback.js +231 -0
  160. package/dist/src/observability/retrieval-feedback.js.map +1 -0
  161. package/dist/src/observability/rift-context.d.ts.map +1 -1
  162. package/dist/src/observability/rift-context.js +3 -0
  163. package/dist/src/observability/rift-context.js.map +1 -1
  164. package/dist/src/observability/tool-usage-stats.d.ts +13 -0
  165. package/dist/src/observability/tool-usage-stats.d.ts.map +1 -1
  166. package/dist/src/observability/tool-usage-stats.js +15 -0
  167. package/dist/src/observability/tool-usage-stats.js.map +1 -1
  168. package/dist/src/observability/tool-usage.d.ts +56 -0
  169. package/dist/src/observability/tool-usage.d.ts.map +1 -1
  170. package/dist/src/observability/tool-usage.js +86 -0
  171. package/dist/src/observability/tool-usage.js.map +1 -1
  172. package/dist/src/providers/claude-cli-metadata-extraction.d.ts +47 -0
  173. package/dist/src/providers/claude-cli-metadata-extraction.d.ts.map +1 -0
  174. package/dist/src/providers/claude-cli-metadata-extraction.js +120 -0
  175. package/dist/src/providers/claude-cli-metadata-extraction.js.map +1 -0
  176. package/dist/src/providers/claude-cli-runner.d.ts +92 -0
  177. package/dist/src/providers/claude-cli-runner.d.ts.map +1 -0
  178. package/dist/src/providers/claude-cli-runner.js +598 -0
  179. package/dist/src/providers/claude-cli-runner.js.map +1 -0
  180. package/dist/src/providers/codex-cli-metadata-extraction.d.ts.map +1 -1
  181. package/dist/src/providers/codex-cli-metadata-extraction.js +1 -40
  182. package/dist/src/providers/codex-cli-metadata-extraction.js.map +1 -1
  183. package/dist/src/providers/codex-cli-runner.d.ts +7 -0
  184. package/dist/src/providers/codex-cli-runner.d.ts.map +1 -1
  185. package/dist/src/providers/codex-cli-runner.js +131 -5
  186. package/dist/src/providers/codex-cli-runner.js.map +1 -1
  187. package/dist/src/providers/conversation-generation.d.ts +10 -0
  188. package/dist/src/providers/conversation-generation.d.ts.map +1 -1
  189. package/dist/src/providers/conversation-generation.js +54 -13
  190. package/dist/src/providers/conversation-generation.js.map +1 -1
  191. package/dist/src/providers/openai-metadata-extraction.d.ts +48 -1
  192. package/dist/src/providers/openai-metadata-extraction.d.ts.map +1 -1
  193. package/dist/src/providers/openai-metadata-extraction.js +51 -2
  194. package/dist/src/providers/openai-metadata-extraction.js.map +1 -1
  195. package/dist/src/providers/types.d.ts +1 -1
  196. package/dist/src/providers/types.d.ts.map +1 -1
  197. package/dist/src/providers/types.js +4 -0
  198. package/dist/src/providers/types.js.map +1 -1
  199. package/dist/src/retrieval/compact.d.ts +81 -0
  200. package/dist/src/retrieval/compact.d.ts.map +1 -1
  201. package/dist/src/retrieval/compact.js +248 -8
  202. package/dist/src/retrieval/compact.js.map +1 -1
  203. package/dist/src/retrieval/context-pack.d.ts.map +1 -1
  204. package/dist/src/retrieval/context-pack.js +28 -14
  205. package/dist/src/retrieval/context-pack.js.map +1 -1
  206. package/dist/src/retrieval/evidence-key.d.ts +48 -0
  207. package/dist/src/retrieval/evidence-key.d.ts.map +1 -0
  208. package/dist/src/retrieval/evidence-key.js +131 -0
  209. package/dist/src/retrieval/evidence-key.js.map +1 -0
  210. package/dist/src/retrieval/group-by-parent.d.ts +38 -0
  211. package/dist/src/retrieval/group-by-parent.d.ts.map +1 -0
  212. package/dist/src/retrieval/group-by-parent.js +40 -0
  213. package/dist/src/retrieval/group-by-parent.js.map +1 -0
  214. package/dist/src/retrieval/lexical.d.ts.map +1 -1
  215. package/dist/src/retrieval/lexical.js +1 -3
  216. package/dist/src/retrieval/lexical.js.map +1 -1
  217. package/dist/src/retrieval/receipt.d.ts +57 -0
  218. package/dist/src/retrieval/receipt.d.ts.map +1 -0
  219. package/dist/src/retrieval/receipt.js +119 -0
  220. package/dist/src/retrieval/receipt.js.map +1 -0
  221. package/dist/src/retrieval/reranker.d.ts +12 -2
  222. package/dist/src/retrieval/reranker.d.ts.map +1 -1
  223. package/dist/src/retrieval/reranker.js +11 -4
  224. package/dist/src/retrieval/reranker.js.map +1 -1
  225. package/dist/src/retrieval/stitch-chunks.d.ts +73 -0
  226. package/dist/src/retrieval/stitch-chunks.d.ts.map +1 -0
  227. package/dist/src/retrieval/stitch-chunks.js +106 -0
  228. package/dist/src/retrieval/stitch-chunks.js.map +1 -0
  229. package/dist/src/server/app.d.ts.map +1 -1
  230. package/dist/src/server/app.js +17 -1
  231. package/dist/src/server/app.js.map +1 -1
  232. package/dist/src/server/routes/conversations-search.d.ts.map +1 -1
  233. package/dist/src/server/routes/conversations-search.js +12 -3
  234. package/dist/src/server/routes/conversations-search.js.map +1 -1
  235. package/dist/src/server/routes/friend-status.d.ts +44 -5
  236. package/dist/src/server/routes/friend-status.d.ts.map +1 -1
  237. package/dist/src/server/routes/friend-status.js +74 -6
  238. package/dist/src/server/routes/friend-status.js.map +1 -1
  239. package/dist/src/server/routes/mcp-usage.d.ts +9 -6
  240. package/dist/src/server/routes/mcp-usage.d.ts.map +1 -1
  241. package/dist/src/server/routes/mcp-usage.js.map +1 -1
  242. package/dist/src/server/routes/retrieval-feedback.d.ts +3 -0
  243. package/dist/src/server/routes/retrieval-feedback.d.ts.map +1 -0
  244. package/dist/src/server/routes/retrieval-feedback.js +290 -0
  245. package/dist/src/server/routes/retrieval-feedback.js.map +1 -0
  246. package/dist/src/server/routes/save.d.ts +3 -3
  247. package/dist/src/server/routes/save.d.ts.map +1 -1
  248. package/dist/src/server/routes/save.js +6 -2
  249. package/dist/src/server/routes/save.js.map +1 -1
  250. package/dist/src/server/routes/search.d.ts.map +1 -1
  251. package/dist/src/server/routes/search.js +19 -7
  252. package/dist/src/server/routes/search.js.map +1 -1
  253. package/dist/src/server/serving-marker.d.ts +85 -0
  254. package/dist/src/server/serving-marker.d.ts.map +1 -0
  255. package/dist/src/server/serving-marker.js +226 -0
  256. package/dist/src/server/serving-marker.js.map +1 -0
  257. package/dist/src/storage/chunk-backfill.d.ts +39 -0
  258. package/dist/src/storage/chunk-backfill.d.ts.map +1 -0
  259. package/dist/src/storage/chunk-backfill.js +295 -0
  260. package/dist/src/storage/chunk-backfill.js.map +1 -0
  261. package/dist/src/storage/filter.d.ts +42 -0
  262. package/dist/src/storage/filter.d.ts.map +1 -0
  263. package/dist/src/storage/filter.js +70 -0
  264. package/dist/src/storage/filter.js.map +1 -0
  265. package/dist/src/storage/rebuild.d.ts.map +1 -1
  266. package/dist/src/storage/rebuild.js +44 -27
  267. package/dist/src/storage/rebuild.js.map +1 -1
  268. package/dist/src/storage/tables.d.ts +41 -0
  269. package/dist/src/storage/tables.d.ts.map +1 -1
  270. package/dist/src/storage/tables.js +64 -1
  271. package/dist/src/storage/tables.js.map +1 -1
  272. package/operator/swiftbar/render-menu.py +57 -15
  273. package/package.json +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Classification of a recorded Claude Code `preflight_error` (the capture-triage
3
+ * probe failure) into a coarse class that drives honest, CLAUDE-SPECIFIC
4
+ * doctor/status copy — the Claude analogue of `codex-preflight.ts`.
5
+ *
6
+ * The string we classify is the runner's OWN leak-free error (see
7
+ * `claude-cli-runner.ts`): a canned `classifyClaudeStderr` phrase, the
8
+ * "No compatible Claude Code CLI found …" aggregate, the "was not found …"
9
+ * message, or a timeout. Those are structural phrases the runner emits — never
10
+ * raw stderr, prompt, or model output (the runner already stripped those). So we
11
+ * only ever pattern-match Rift's own wording here; nothing user-content-bearing
12
+ * reaches this module.
13
+ *
14
+ * Why a separate worker: when capture triage runs through `claude` instead of
15
+ * `codex`, "run codex login" is wrong advice. A Claude user needs Claude-shaped
16
+ * remedies — sign into `claude`, upgrade an old CLI that lacks `--safe-mode`, or
17
+ * point `RIFT_CLAUDE_CLI_PATH` past a wrapper. These classes encode exactly the
18
+ * failure buckets the runner can produce.
19
+ */
20
+ export type ClaudePreflightErrorClass = "missing" | "incompatible" | "wrapper" | "auth" | "rate_limit" | "network" | "timeout" | "unknown";
21
+ export declare function classifyClaudePreflightError(error: string | null | undefined): ClaudePreflightErrorClass;
22
+ /**
23
+ * A short, leak-free, human summary for a class. Deliberately canned (no raw
24
+ * stderr, no file paths, no prompt/session content) so SwiftBar/doctor can
25
+ * surface it without parsing or redacting raw `claude` output.
26
+ */
27
+ export declare function summarizeClaudePreflightClass(cls: ClaudePreflightErrorClass): string;
28
+ /**
29
+ * The single concrete remedy for a class — shown as the doctor `nextAction` and
30
+ * the status `Next:` line. Claude-shaped (never "codex login"), and it always
31
+ * ends by pointing back at `rift capture` so the user can re-verify.
32
+ */
33
+ export declare function claudePreflightNextAction(cls: ClaudePreflightErrorClass): string;
34
+ //# sourceMappingURL=claude-preflight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-preflight.d.ts","sourceRoot":"","sources":["../../../src/diagnostics/claude-preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,yBAAyB,GACjC,SAAS,GACT,cAAc,GACd,SAAS,GACT,MAAM,GACN,YAAY,GACZ,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEd,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,yBAAyB,CA2D3B;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,yBAAyB,GAC7B,MAAM,CAmBR;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,yBAAyB,GAC7B,MAAM,CAkBR"}
@@ -0,0 +1,89 @@
1
+ export function classifyClaudePreflightError(error) {
2
+ if (!error || error.trim().length === 0) {
3
+ return "unknown";
4
+ }
5
+ const text = error.toLowerCase();
6
+ // Structural install problems first — they are the most actionable and their
7
+ // wording is distinctive. Note the "No compatible … found" aggregate is NOT
8
+ // "missing" (a `claude` exists, it just failed the probe); it carries the
9
+ // specific per-candidate reasons matched below (e.g. `--safe-mode`, wrapper).
10
+ if (/was not found on path|was not found in|claude.*was not found/.test(text)) {
11
+ return "missing";
12
+ }
13
+ if (/--safe-mode|too old\/incompatible|too old for headless|\bincompatible\b|flag\/contract error|unknown option|unknown argument|invalid option|unrecognized option/.test(text)) {
14
+ return "incompatible";
15
+ }
16
+ // Auth BEFORE wrapper: a recorded reason can carry both signals — e.g. a legacy
17
+ // row (or any future caller) whose text says "authentication failed … likely a
18
+ // wrapper/PTY shim". Auth is the more specific, more actionable cause, so it
19
+ // wins the tie; a genuine wrapper failure carries no auth wording and still
20
+ // falls through to `wrapper` below. (The runner now also emits a precise,
21
+ // non-conflated reason — see claude-cli-runner.ts — so new rows rarely carry
22
+ // both; this ordering hardens the legacy/ambiguous path.)
23
+ if (/authentication failed|not (logged|signed) in|\bunauthorized\b|\b401\b|please (run|sign|log).{0,12}(login|in)|login (has )?expired|credentials? (expired|invalid)|sign in/.test(text)) {
24
+ return "auth";
25
+ }
26
+ if (/could not run headless|wrapper\/pty shim|pty shim|input must be provided|when using --print|not a tty|raw mode is not supported/.test(text)) {
27
+ return "wrapper";
28
+ }
29
+ if (/rate limit|\b429\b|too many requests|usage limit|\bquota\b|out of credits|insufficient (credit|quota|balance)/.test(text)) {
30
+ return "rate_limit";
31
+ }
32
+ if (/network error|econnreset|econnrefused|enotfound|etimedout|getaddrinfo|connection (refused|reset)|failed to (connect|reach)|\bnetwork\b|http 5\d\d|socket hang up/.test(text)) {
33
+ return "network";
34
+ }
35
+ if (/timed out|\btimeout\b/.test(text)) {
36
+ return "timeout";
37
+ }
38
+ return "unknown";
39
+ }
40
+ /**
41
+ * A short, leak-free, human summary for a class. Deliberately canned (no raw
42
+ * stderr, no file paths, no prompt/session content) so SwiftBar/doctor can
43
+ * surface it without parsing or redacting raw `claude` output.
44
+ */
45
+ export function summarizeClaudePreflightClass(cls) {
46
+ switch (cls) {
47
+ case "missing":
48
+ return "Claude Code CLI (`claude`) was not found.";
49
+ case "incompatible":
50
+ return "Claude Code CLI is too old for headless triage (it needs `--safe-mode`).";
51
+ case "wrapper":
52
+ return "A PATH wrapper is intercepting `claude` and cannot run it headlessly.";
53
+ case "auth":
54
+ return "Claude Code login appears to have expired.";
55
+ case "rate_limit":
56
+ return "Claude hit a rate or usage limit — usually transient.";
57
+ case "network":
58
+ return "Claude could not reach its backend (network/transport).";
59
+ case "timeout":
60
+ return "Claude probe timed out — often a transient hiccup.";
61
+ case "unknown":
62
+ return "Claude preflight failed for an unrecognized reason.";
63
+ }
64
+ }
65
+ /**
66
+ * The single concrete remedy for a class — shown as the doctor `nextAction` and
67
+ * the status `Next:` line. Claude-shaped (never "codex login"), and it always
68
+ * ends by pointing back at `rift capture` so the user can re-verify.
69
+ */
70
+ export function claudePreflightNextAction(cls) {
71
+ switch (cls) {
72
+ case "missing":
73
+ return "Install Claude Code, or set RIFT_CLAUDE_CLI_PATH to your `claude`, then run: rift capture";
74
+ case "incompatible":
75
+ return "Upgrade Claude Code so it supports --safe-mode (or set RIFT_CLAUDE_CLI_PATH to a newer claude), then run: rift capture";
76
+ case "wrapper":
77
+ return "Set RIFT_CLAUDE_CLI_PATH to the real claude binary (a wrapper is intercepting it), then run: rift capture";
78
+ case "auth":
79
+ return "Sign back in: run claude and log in, then run: rift capture";
80
+ case "rate_limit":
81
+ return "Wait for the limit to reset, then run: rift capture";
82
+ case "network":
83
+ return "Check your network connection, then run: rift capture";
84
+ case "timeout":
85
+ case "unknown":
86
+ return "Re-run: rift capture";
87
+ }
88
+ }
89
+ //# sourceMappingURL=claude-preflight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-preflight.js","sourceRoot":"","sources":["../../../src/diagnostics/claude-preflight.ts"],"names":[],"mappings":"AA6BA,MAAM,UAAU,4BAA4B,CAC1C,KAAgC;IAEhC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAEjC,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,8EAA8E;IAC9E,IAAI,8DAA8D,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IACE,iKAAiK,CAAC,IAAI,CACpK,IAAI,CACL,EACD,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,gFAAgF;IAChF,+EAA+E;IAC/E,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAC7E,0DAA0D;IAC1D,IACE,0KAA0K,CAAC,IAAI,CAC7K,IAAI,CACL,EACD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IACE,iIAAiI,CAAC,IAAI,CACpI,IAAI,CACL,EACD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IACE,+GAA+G,CAAC,IAAI,CAClH,IAAI,CACL,EACD,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IACE,kKAAkK,CAAC,IAAI,CACrK,IAAI,CACL,EACD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAC3C,GAA8B;IAE9B,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,SAAS;YACZ,OAAO,2CAA2C,CAAC;QACrD,KAAK,cAAc;YACjB,OAAO,0EAA0E,CAAC;QACpF,KAAK,SAAS;YACZ,OAAO,uEAAuE,CAAC;QACjF,KAAK,MAAM;YACT,OAAO,4CAA4C,CAAC;QACtD,KAAK,YAAY;YACf,OAAO,uDAAuD,CAAC;QACjE,KAAK,SAAS;YACZ,OAAO,yDAAyD,CAAC;QACnE,KAAK,SAAS;YACZ,OAAO,oDAAoD,CAAC;QAC9D,KAAK,SAAS;YACZ,OAAO,qDAAqD,CAAC;IACjE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,GAA8B;IAE9B,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,SAAS;YACZ,OAAO,2FAA2F,CAAC;QACrG,KAAK,cAAc;YACjB,OAAO,wHAAwH,CAAC;QAClI,KAAK,SAAS;YACZ,OAAO,2GAA2G,CAAC;QACrH,KAAK,MAAM;YACT,OAAO,6DAA6D,CAAC;QACvE,KAAK,YAAY;YACf,OAAO,qDAAqD,CAAC;QAC/D,KAAK,SAAS;YACZ,OAAO,uDAAuD,CAAC;QACjE,KAAK,SAAS,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,sBAAsB,CAAC;IAClC,CAAC;AACH,CAAC"}
@@ -17,7 +17,7 @@
17
17
  * transport lines, and anything ambiguous falls to a non-auth bucket — we
18
18
  * never falsely tell the user their login expired.
19
19
  */
20
- export type CodexPreflightErrorClass = "auth" | "model" | "binary" | "timeout" | "backend" | "unknown";
20
+ export type CodexPreflightErrorClass = "auth" | "model" | "cli_incompatible" | "binary" | "timeout" | "backend" | "unknown";
21
21
  export declare function classifyCodexPreflightError(error: string | null | undefined): CodexPreflightErrorClass;
22
22
  /**
23
23
  * Best-effort model name from the codex banner (`model: <name>`), for display
@@ -1 +1 @@
1
- {"version":3,"file":"codex-preflight.d.ts","sourceRoot":"","sources":["../../../src/diagnostics/codex-preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,wBAAwB,GAChC,MAAM,GACN,OAAO,GACP,QAAQ,GACR,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAOd,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,wBAAwB,CAsD1B;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,MAAM,GAAG,IAAI,CAMf;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,MAAM,CAiBR"}
1
+ {"version":3,"file":"codex-preflight.d.ts","sourceRoot":"","sources":["../../../src/diagnostics/codex-preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,wBAAwB,GAChC,MAAM,GACN,OAAO,GACP,kBAAkB,GAClB,QAAQ,GACR,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAOd,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,wBAAwB,CAuE1B;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,MAAM,GAAG,IAAI,CAMf;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,MAAM,CAmBR"}
@@ -16,6 +16,18 @@ export function classifyCodexPreflightError(error) {
16
16
  if (/\bunsupported model\b|\bunknown model\b|\bmodel_not_found\b|no working codex model|model[^\n]*\bnot (found|supported|available)\b|does not support the model|invalid model/.test(codexText)) {
17
17
  return "model";
18
18
  }
19
+ // CLI too old / incompatible: the executable launched fine but rejected an
20
+ // argument we depend on. The canonical signal is a Codex predating
21
+ // `--output-schema` (added after 0.39) — clap exits 2 with
22
+ // "error: unexpected argument '--output-schema' found". Also matches Rift's
23
+ // own pre-send capability-probe message ("too old … missing required
24
+ // option(s): --output-schema"). Distinct from `binary` (the executable runs)
25
+ // and from `auth`/`model`: the fix is to UPGRADE the CLI, not re-login or
26
+ // change the model. Mirrors the Claude runner's flag/contract bucket. Matched
27
+ // before the generic buckets so a too-old CLI never falls through to unknown.
28
+ if (/unexpected argument|unrecognized (subcommand|argument|option)|unknown (option|flag|argument|subcommand)|wasn'?t expected|isn'?t valid in this context|--output-schema|--output-last-message|too old|missing required option/.test(codexText)) {
29
+ return "cli_incompatible";
30
+ }
19
31
  // Binary: the codex executable could not be launched at all — almost always
20
32
  // `spawn … ENOENT`, i.e. the resolved path no longer exists (a `brew
21
33
  // upgrade`/reinstall moved or removed it, or it was never installed). This is
@@ -62,6 +74,8 @@ export function summarizeCodexPreflightClass(cls, model) {
62
74
  return model
63
75
  ? `Codex rejected the model "${model}".`
64
76
  : "Codex rejected the configured model.";
77
+ case "cli_incompatible":
78
+ return "Codex CLI is too old for capture — it rejected an option Rift needs.";
65
79
  case "binary":
66
80
  return "Codex CLI could not be found or started — it may have moved or been removed.";
67
81
  case "timeout":
@@ -1 +1 @@
1
- {"version":3,"file":"codex-preflight.js","sourceRoot":"","sources":["../../../src/diagnostics/codex-preflight.ts"],"names":[],"mappings":"AA2BA,0EAA0E;AAC1E,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,uDAAuD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAgC;IAEhC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,KAAK;SACpB,KAAK,CAAC,OAAO,CAAC;SACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SACvC,IAAI,CAAC,IAAI,CAAC;SACV,WAAW,EAAE,CAAC;IAEjB,yEAAyE;IACzE,2EAA2E;IAC3E,IACE,4KAA4K,CAAC,IAAI,CAC/K,SAAS,CACV,EACD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4EAA4E;IAC5E,qEAAqE;IACrE,8EAA8E;IAC9E,8EAA8E;IAC9E,0EAA0E;IAC1E,8EAA8E;IAC9E,wCAAwC;IACxC,IAAI,wDAAwD,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,IACE,uLAAuL,CAAC,IAAI,CAC1L,SAAS,CACV,EACD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IACE,oIAAoI,CAAC,IAAI,CACvI,SAAS,CACV,EACD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAgC;IAEhC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,GAA6B,EAC7B,KAAoB;IAEpB,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,sCAAsC,CAAC;QAChD,KAAK,OAAO;YACV,OAAO,KAAK;gBACV,CAAC,CAAC,6BAA6B,KAAK,IAAI;gBACxC,CAAC,CAAC,sCAAsC,CAAC;QAC7C,KAAK,QAAQ;YACX,OAAO,8EAA8E,CAAC;QACxF,KAAK,SAAS;YACZ,OAAO,2DAA2D,CAAC;QACrE,KAAK,SAAS;YACZ,OAAO,wDAAwD,CAAC;QAClE,KAAK,SAAS;YACZ,OAAO,oDAAoD,CAAC;IAChE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"codex-preflight.js","sourceRoot":"","sources":["../../../src/diagnostics/codex-preflight.ts"],"names":[],"mappings":"AA4BA,0EAA0E;AAC1E,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,uDAAuD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAgC;IAEhC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,KAAK;SACpB,KAAK,CAAC,OAAO,CAAC;SACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SACvC,IAAI,CAAC,IAAI,CAAC;SACV,WAAW,EAAE,CAAC;IAEjB,yEAAyE;IACzE,2EAA2E;IAC3E,IACE,4KAA4K,CAAC,IAAI,CAC/K,SAAS,CACV,EACD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,2EAA2E;IAC3E,mEAAmE;IACnE,2DAA2D;IAC3D,4EAA4E;IAC5E,qEAAqE;IACrE,6EAA6E;IAC7E,0EAA0E;IAC1E,8EAA8E;IAC9E,8EAA8E;IAC9E,IACE,6NAA6N,CAAC,IAAI,CAChO,SAAS,CACV,EACD,CAAC;QACD,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,4EAA4E;IAC5E,qEAAqE;IACrE,8EAA8E;IAC9E,8EAA8E;IAC9E,0EAA0E;IAC1E,8EAA8E;IAC9E,wCAAwC;IACxC,IAAI,wDAAwD,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,IACE,uLAAuL,CAAC,IAAI,CAC1L,SAAS,CACV,EACD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IACE,oIAAoI,CAAC,IAAI,CACvI,SAAS,CACV,EACD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAgC;IAEhC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,GAA6B,EAC7B,KAAoB;IAEpB,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,sCAAsC,CAAC;QAChD,KAAK,OAAO;YACV,OAAO,KAAK;gBACV,CAAC,CAAC,6BAA6B,KAAK,IAAI;gBACxC,CAAC,CAAC,sCAAsC,CAAC;QAC7C,KAAK,kBAAkB;YACrB,OAAO,sEAAsE,CAAC;QAChF,KAAK,QAAQ;YACX,OAAO,8EAA8E,CAAC;QACxF,KAAK,SAAS;YACZ,OAAO,2DAA2D,CAAC;QACrE,KAAK,SAAS;YACZ,OAAO,wDAAwD,CAAC;QAClE,KAAK,SAAS;YACZ,OAAO,oDAAoD,CAAC;IAChE,CAAC;AACH,CAAC"}
@@ -25,7 +25,7 @@
25
25
  */
26
26
  import type { FriendStatusPayload } from "../server/routes/friend-status.js";
27
27
  /** Stable identifiers for each diagnosable condition. */
28
- export type DoctorIssueKind = "daemon_unreachable" | "daemon_auth_failed" | "config_missing" | "voyage_key_missing" | "codex_auth_expired" | "codex_preflight_failed" | "voyage_embed_errors" | "index_write_errors" | "inbox_import_errors" | "capture_failed" | "capture_daemon_stale" | "mcp_not_installed" | "menu_bar_unavailable" | "capture_quarantined" | "capture_repairing" | "update_available";
28
+ export type DoctorIssueKind = "daemon_unreachable" | "daemon_auth_failed" | "config_missing" | "voyage_key_missing" | "codex_auth_expired" | "codex_preflight_failed" | "claude_auth_expired" | "claude_preflight_failed" | "voyage_embed_errors" | "index_write_errors" | "inbox_import_errors" | "capture_failed" | "capture_daemon_stale" | "mcp_not_installed" | "menu_bar_unavailable" | "capture_quarantined" | "capture_repairing" | "update_available";
29
29
  /**
30
30
  * `broken` blocks Rift from doing its job (no capture, no search, no
31
31
  * memory). `warning` is degraded-but-working or user-side (a rejected
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/diagnostics/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAG7E,yDAAyD;AACzD,MAAM,MAAM,eAAe,GACvB,oBAAoB,GACpB,oBAAoB,GACpB,gBAAgB,GAChB,oBAAoB,GACpB,oBAAoB,GACpB,wBAAwB,GACxB,qBAAqB,GACrB,oBAAoB,GACpB,qBAAqB,GACrB,gBAAgB,GAChB,sBAAsB,GACtB,mBAAmB,GACnB,sBAAsB,GACtB,qBAAqB,GACrB,mBAAmB,GACnB,kBAAkB,CAAC;AAEvB;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,cAAc,CAAC;IACzB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1D;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC1C;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,uBAAuB,GAC/B,oBAAoB,GACpB,aAAa,GACb,mBAAmB,GACnB,gBAAgB,GAChB,SAAS,CAAC;AAEd,MAAM,WAAW,WAAW;IAC1B,mEAAmE;IACnE,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACnC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,YAAY,EAAE,kBAAkB,CAAC;IACjC,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,mDAAmD;IACnD,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AA+GD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,CA4RzD"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/diagnostics/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAO7E,yDAAyD;AACzD,MAAM,MAAM,eAAe,GACvB,oBAAoB,GACpB,oBAAoB,GACpB,gBAAgB,GAChB,oBAAoB,GACpB,oBAAoB,GACpB,wBAAwB,GACxB,qBAAqB,GACrB,yBAAyB,GACzB,qBAAqB,GACrB,oBAAoB,GACpB,qBAAqB,GACrB,gBAAgB,GAChB,sBAAsB,GACtB,mBAAmB,GACnB,sBAAsB,GACtB,qBAAqB,GACrB,mBAAmB,GACnB,kBAAkB,CAAC;AAEvB;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,cAAc,CAAC;IACzB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1D;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC1C;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,uBAAuB,GAC/B,oBAAoB,GACpB,aAAa,GACb,mBAAmB,GACnB,gBAAgB,GAChB,SAAS,CAAC;AAEd,MAAM,WAAW,WAAW;IAC1B,mEAAmE;IACnE,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACnC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,YAAY,EAAE,kBAAkB,CAAC;IACjC,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,mDAAmD;IACnD,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAiHD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,CAkUzD"}
@@ -1,3 +1,4 @@
1
+ import { claudePreflightNextAction, } from "./claude-preflight.js";
1
2
  /**
2
3
  * True only when `iso` parses to a timestamp at/after the daemon's
3
4
  * current start. Historical errors that predate the running process are
@@ -22,6 +23,8 @@ function codexPreflightNextAction(cls) {
22
23
  switch (cls) {
23
24
  case "model":
24
25
  return "Set codex_cli.model in your Rift config to a model your Codex plan supports, then: rift capture";
26
+ case "cli_incompatible":
27
+ return "Codex CLI is too old. Upgrade Codex (e.g. brew upgrade codex, or reinstall), then: rift capture";
25
28
  case "binary":
26
29
  return "Codex CLI could not be launched — check it is installed and on PATH (e.g. brew upgrade codex, or reinstall), then: rift capture";
27
30
  case "timeout":
@@ -137,7 +140,38 @@ export function diagnose(input) {
137
140
  // login". Everything else (a rejected model, a backend timeout, MCP
138
141
  // noise) gets a neutral, honest message — never a false login nag.
139
142
  if (status.codex.last_preflight_ok === false) {
140
- if (status.codex.last_preflight_error_class === "auth") {
143
+ if (status.codex.last_preflight_worker === "claude") {
144
+ // Triage runs through the `claude` CLI on this install — every remedy is
145
+ // Claude-shaped (sign into claude / upgrade / point past a wrapper), never
146
+ // "codex login". The summary is already the leak-free Claude phrasing.
147
+ const claudeClass = status.codex.last_preflight_error_class ?? "unknown";
148
+ if (claudeClass === "auth") {
149
+ issues.push({
150
+ kind: "claude_auth_expired",
151
+ severity: "broken",
152
+ title: "Claude Code login has expired",
153
+ detail: "Rift triages your new Claude Code / Codex sessions through the " +
154
+ "`claude` CLI on this install. Its login has expired, so automatic " +
155
+ "capture cannot run and new conversations are not being saved.",
156
+ nextAction: "Sign back in: run claude and log in (then run: rift capture)",
157
+ daemonObservable: true,
158
+ });
159
+ }
160
+ else {
161
+ issues.push({
162
+ kind: "claude_preflight_failed",
163
+ severity: "broken",
164
+ fingerprint: `claude_preflight_failed:${claudeClass}`,
165
+ title: "Claude Code capture probe is failing",
166
+ detail: `${status.codex.last_preflight_error_summary ?? "Claude preflight failed."} ` +
167
+ "Automatic capture is paused until a probe succeeds; recent " +
168
+ "conversations are safe on disk and will be captured once it clears.",
169
+ nextAction: claudePreflightNextAction(claudeClass),
170
+ daemonObservable: true,
171
+ });
172
+ }
173
+ }
174
+ else if (status.codex.last_preflight_error_class === "auth") {
141
175
  issues.push({
142
176
  kind: "codex_auth_expired",
143
177
  severity: "broken",
@@ -159,7 +193,10 @@ export function diagnose(input) {
159
193
  "Your codex login looks fine — this is not an auth problem. " +
160
194
  "Automatic capture is paused until a probe succeeds; recent " +
161
195
  "conversations are safe on disk and will be captured once it clears.",
162
- nextAction: codexPreflightNextAction(status.codex.last_preflight_error_class ?? null),
196
+ nextAction: codexPreflightNextAction(
197
+ // This branch only runs for the Codex worker, so the class is a
198
+ // Codex class; narrow the worker-union field back for the helper.
199
+ status.codex.last_preflight_error_class ?? null),
163
200
  daemonObservable: true,
164
201
  });
165
202
  }
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/diagnostics/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/diagnostics/doctor.ts"],"names":[],"mappings":"AA2BA,OAAO,EACL,yBAAyB,GAE1B,MAAM,uBAAuB,CAAC;AA6G/B;;;;;GAKG;AACH,SAAS,eAAe,CAAC,GAAkB,EAAE,aAAqB;IAChE,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,EAAE,IAAI,aAAa,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,oEAAoE;AACpE,SAAS,wBAAwB,CAC/B,GAAoC;IAEpC,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,iGAAiG,CAAC;QAC3G,KAAK,kBAAkB;YACrB,OAAO,iGAAiG,CAAC;QAC3G,KAAK,QAAQ;YACX,OAAO,iIAAiI,CAAC;QAC3I,KAAK,SAAS,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,qFAAqF,CAAC;QAC/F;YACE,OAAO,2CAA2C,CAAC;IACvD,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAqB;IAC/C,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,iBAAiB;YACpB,OAAO,mCAAmC,CAAC;QAC7C,KAAK,eAAe;YAClB,OAAO,+CAA+C,CAAC;QACzD,KAAK,cAAc;YACjB,OAAO,+DAA+D,CAAC;QACzE,KAAK,SAAS;YACZ,OAAO,iCAAiC,CAAC;QAC3C;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,MAA+B;IACvD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,gBAAgB;YACnB,OAAO;gBACL,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,oCAAoC;gBAC3C,MAAM,EACJ,+DAA+D;oBAC/D,iEAAiE;gBACnE,UAAU,EAAE,yBAAyB;gBACrC,gBAAgB,EAAE,KAAK;aACxB,CAAC;QACJ,KAAK,mBAAmB;YACtB,OAAO;gBACL,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,sCAAsC;gBAC7C,MAAM,EACJ,8DAA8D;oBAC9D,wDAAwD;gBAC1D,UAAU,EAAE,iCAAiC;gBAC7C,gBAAgB,EAAE,KAAK;aACxB,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO;gBACL,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,6CAA6C;gBACpD,MAAM,EACJ,iEAAiE;oBACjE,mEAAmE;oBACnE,oDAAoD;gBACtD,UAAU,EAAE,oCAAoC;gBAChD,gBAAgB,EAAE,KAAK;aACxB,CAAC;QACJ,KAAK,oBAAoB,CAAC;QAC1B,KAAK,SAAS,CAAC;QACf;YACE,OAAO;gBACL,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,4CAA4C;gBACnD,MAAM,EACJ,mEAAmE;oBACnE,qEAAqE;oBACrE,yDAAyD;gBAC3D,UAAU,EACR,gEAAgE;gBAClE,gBAAgB,EAAE,KAAK;aACxB,CAAC;IACN,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAkB;IACzC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAC5C,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,kEAAkE;IAClE,sEAAsE;IACtE,gEAAgE;IAChE,oEAAoE;IACpE,wEAAwE;IACxE,qEAAqE;IACrE,kEAAkE;IAClE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,iBAAiB,IAAI,oBAAoB,CAAC,CAAC;QAChF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7D,CAAC;IAED,MAAM,aAAa,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAEhE,gEAAgE;IAChE,8CAA8C;IAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,oBAAoB;YAC1B,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,8BAA8B;YACrC,MAAM,EACJ,oEAAoE;gBACpE,kEAAkE;YACpE,UAAU,EAAE,mDAAmD;YAC/D,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,4EAA4E;IAC5E,uEAAuE;IACvE,uEAAuE;IACvE,sEAAsE;IACtE,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;QAC7C,IAAI,MAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,QAAQ,EAAE,CAAC;YACpD,yEAAyE;YACzE,2EAA2E;YAC3E,uEAAuE;YACvE,MAAM,WAAW,GACd,MAAM,CAAC,KAAK,CAAC,0BAEL,IAAI,SAAS,CAAC;YACzB,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,qBAAqB;oBAC3B,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,+BAA+B;oBACtC,MAAM,EACJ,iEAAiE;wBACjE,oEAAoE;wBACpE,+DAA+D;oBACjE,UAAU,EAAE,8DAA8D;oBAC1E,gBAAgB,EAAE,IAAI;iBACvB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,yBAAyB;oBAC/B,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,2BAA2B,WAAW,EAAE;oBACrD,KAAK,EAAE,sCAAsC;oBAC7C,MAAM,EACJ,GAAG,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,0BAA0B,GAAG;wBAC7E,6DAA6D;wBAC7D,qEAAqE;oBACvE,UAAU,EAAE,yBAAyB,CAAC,WAAW,CAAC;oBAClD,gBAAgB,EAAE,IAAI;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,CAAC,0BAA0B,KAAK,MAAM,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,yBAAyB;gBAChC,MAAM,EACJ,qEAAqE;oBACrE,sEAAsE;oBACtE,oCAAoC;gBACtC,UAAU,EAAE,oDAAoD;gBAChE,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,wBAAwB;gBAC9B,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,0BAA0B,MAAM,CAAC,KAAK,CAAC,0BAA0B,IAAI,SAAS,EAAE;gBAC7F,KAAK,EAAE,gCAAgC;gBACvC,MAAM,EACJ,GAAG,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,yBAAyB,GAAG;oBAC5E,6DAA6D;oBAC7D,6DAA6D;oBAC7D,qEAAqE;gBACvE,UAAU,EAAE,wBAAwB;gBAClC,gEAAgE;gBAChE,kEAAkE;gBACjE,MAAM,CAAC,KAAK,CAAC,0BAEL,IAAI,IAAI,CAClB;gBACD,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,qEAAqE;IACrE,kEAAkE;IAClE,uCAAuC;IACvC,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,uBAAuB,MAAM,CAAC,MAAM,CAAC,iBAAiB,IAAI,SAAS,EAAE;YAClF,KAAK,EAAE,+CAA+C;YACtD,MAAM,EACJ,2DAA2D;gBAC3D,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,gBAAgB;gBACtE,wCAAwC;YAC1C,UAAU,EACR,2DAA2D;gBAC3D,6DAA6D;YAC/D,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;IAED,qEAAqE;IACrE,oEAAoE;IACpE,0DAA0D;IAC1D,IAAI,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,oBAAoB;YAC1B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,sBAAsB,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,SAAS,EAAE;YAChF,KAAK,EAAE,iCAAiC;YACxC,MAAM,EACJ,iEAAiE;gBACjE,UAAU,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI;gBAChE,oDAAoD;YACtD,UAAU,EAAE,kDAAkD;YAC9D,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,qEAAqE;IACrE,kDAAkD;IAClD,IACE,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC;QAC9B,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,EAC1D,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,sCAAsC;YAC7C,MAAM,EACJ,qEAAqE;gBACrE,wDAAwD;YAC1D,UAAU,EAAE,8CAA8C;YAC1D,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,uEAAuE;IACvE,sEAAsE;IACtE,wEAAwE;IACxE,oEAAoE;IACpE,uEAAuE;IACvE,8DAA8D;IAC9D,uEAAuE;IACvE,IACE,MAAM,CAAC,OAAO,CAAC,kBAAkB,KAAK,IAAI;QAC1C,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,IAAI,IAAI,EAAE,aAAa,CAAC;QACzE,MAAM,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI;QACvC,MAAM,CAAC,OAAO,CAAC,gBAAgB,KAAK,QAAQ;QAC5C,MAAM,CAAC,OAAO,CAAC,WAAW,KAAK,IAAI;QACnC,MAAM,CAAC,OAAO,CAAC,WAAW,KAAK,CAAC,EAChC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,2DAA2D;YAClE,MAAM,EACJ,qEAAqE;gBACrE,mEAAmE;gBACnE,qCAAqC;YACvC,iEAAiE;YACjE,oEAAoE;YACpE,kEAAkE;YAClE,qEAAqE;YACrE,2EAA2E;YAC3E,UAAU,EACR,qEAAqE;gBACrE,kBAAkB;YACpB,gBAAgB,EAAE,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IAED,oEAAoE;IACpE,sEAAsE;IACtE,gEAAgE;IAChE,IACE,MAAM,CAAC,KAAK;QACZ,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,EAC1D,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,oCAAoC;YAC3C,MAAM,EACJ,mEAAmE;gBACnE,YAAY,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,gBAAgB,KAAK;gBACnE,oEAAoE;YACtE,UAAU,EAAE,sDAAsD;YAClE,wDAAwD;YACxD,6DAA6D;YAC7D,gBAAgB,EAAE,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,6BAA6B;IAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU;SACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,4BAA4B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACvD,MAAM,EACJ,qEAAqE;gBACrE,qCAAqC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC5D,UAAU,EAAE,0CAA0C,OAAO,CAAC,CAAC,CAAC,EAAE;YAClE,gBAAgB,EAAE,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,iEAAiE;IACjE,IAAI,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,4DAA4D;YACnE,MAAM,EACJ,mEAAmE;gBACnE,qEAAqE;gBACrE,iEAAiE;YACnE,UAAU,EACR,yEAAyE;gBACzE,+CAA+C;YACjD,gBAAgB,EAAE,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IAED,wEAAwE;IACxE,0EAA0E;IAC1E,6EAA6E;IAC7E,2EAA2E;IAC3E,0EAA0E;IAC1E,2CAA2C;IAC3C,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,IAAI,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,IAAI,CAAC,CAAC;IACjE,MAAM,SAAS,GACb,MAAM,CAAC,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC;IAC3E,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,GAAG,YAAY,uBAAuB,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,mCAAmC;YAC7G,MAAM,EACJ,+DAA+D;gBAC/D,uEAAuE;gBACvE,kDAAkD;YACpD,UAAU,EAAE,0DAA0D;YACtE,gBAAgB,EAAE,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,kBAAkB,SAAS,uBAAuB,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY;YAC/F,MAAM,EACJ,mEAAmE;gBACnE,oEAAoE;gBACpE,8DAA8D;YAChE,UAAU,EACR,gFAAgF;YAClF,gBAAgB,EAAE,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IAED,8DAA8D;IAC9D,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,8BAA8B,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG;YAC9F,MAAM,EAAE,kCAAkC;YAC1C,UAAU,EAAE,yBAAyB;YACrC,gBAAgB,EAAE,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC7D,uEAAuE;IACvE,sEAAsE;IACtE,wEAAwE;IACxE,MAAM,OAAO,GACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACnE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * The single source of truth for chunk MARKERS — how a row declares it is one
3
+ * piece of a larger logical document/conversation, and how readers recover the
4
+ * parent grouping. Every producer (indexer, save, ingest, rebuild) and every
5
+ * consumer (retrieval grouping, reconcile, dedup) imports from here, so there is
6
+ * exactly one marker contract.
7
+ *
8
+ * Representation:
9
+ * - Conversations carry explicit columns `parent_id`, `chunk_index`,
10
+ * `chunk_count` (all strings; empty = legacy/unchunked).
11
+ * - Documents carry `chunk_index` / `chunk_count` inside the existing
12
+ * `metadata` JSON; the parent key is the already-indexed `source_path`.
13
+ *
14
+ * The explicit `chunk_count` IS the marker: `chunk_count > 1` means "this row is
15
+ * part of a chunk set". A row WITHOUT that marker is never grouped — sharing a
16
+ * `source_path` or `idempotency_key` alone must not cause a collapse. Ordinals
17
+ * are stored explicitly (not parsed out of the row id), so completeness checks
18
+ * and honest "section k of N" display never treat the id as the source of truth.
19
+ */
20
+ import type { TableName } from "../storage/tables.js";
21
+ export interface ChunkMarker {
22
+ /** Parent key value: `source_path` for docs, `parent_id` for conversations. */
23
+ parentId: string;
24
+ /** 0-based ordinal within the set. */
25
+ index: number;
26
+ /** Total chunks in the set (> 1 when this is genuinely chunked). */
27
+ count: number;
28
+ }
29
+ /** Separators for chunk row ids. Distinct per family for readability; ids are
30
+ * unique either way and are NOT load-bearing for ordering (use chunk_index). */
31
+ export declare const DOC_CHUNK_SEP = ":";
32
+ export declare const CONV_CHUNK_SEP = "::";
33
+ /** Read the chunk marker from a conversation row, or null if unchunked/legacy. */
34
+ export declare function readConversationChunkMarker(row: Record<string, unknown>): ChunkMarker | null;
35
+ /** Read the chunk marker from a structured-doc row, or null if unchunked/legacy. */
36
+ export declare function readDocChunkMarker(row: Record<string, unknown>): ChunkMarker | null;
37
+ /**
38
+ * Namespaced parent key for retrieval grouping, or `null` when the row carries
39
+ * NO explicit chunk marker (the flag-off / legacy case — never grouped).
40
+ *
41
+ * Namespacing guarantees mixed-vintage / cross-table rows can never collapse:
42
+ * - docs → `doc|<source_table>|<source_path>` (so `structured_docs` vs
43
+ * `structured_docs_local` with the same path stay separate)
44
+ * - convs → `conv|<source>|<parent_id>`
45
+ */
46
+ export declare function parentKeyForRow(sourceTable: TableName, row: Record<string, unknown>): string | null;
47
+ /** True iff the row is part of a genuine chunk set (`chunk_count > 1`). */
48
+ export declare function isChunked(sourceTable: TableName, row: Record<string, unknown>): boolean;
49
+ /**
50
+ * Unified chunk-marker reader across the conversation and document families,
51
+ * or `null` for an unchunked/legacy row (no marker / `chunk_count <= 1`) and for
52
+ * digests (which never chunk). Lets the read-side (expand stitching) inspect a
53
+ * row's position in its set without re-deriving the per-family column vs metadata
54
+ * split. `parentId` is the raw column value (`parent_id` / `source_path`), not the
55
+ * namespaced retrieval key.
56
+ */
57
+ export declare function readChunkMarker(sourceTable: TableName, row: Record<string, unknown>): ChunkMarker | null;
58
+ /** Conversation chunk columns. count <= 1 → empty markers (matches seed/legacy). */
59
+ export declare function conversationChunkColumns(parentId: string, index: number, count: number): {
60
+ parent_id: string;
61
+ chunk_index: string;
62
+ chunk_count: string;
63
+ };
64
+ /** Merge chunk ordinals into a doc metadata object. count <= 1 → unchanged
65
+ * (NO `chunk_*` keys), so a single/legacy doc stays byte-identical. */
66
+ export declare function docChunkMetadata(base: Record<string, unknown>, index: number, count: number): Record<string, unknown>;
67
+ export declare function convChunkId(parentId: string, index: number): string;
68
+ export declare function docChunkId(fileId: string, index: number): string;
69
+ /** The largest declared `chunk_count` across a set of rows (≥ 1). */
70
+ export declare function expectedChunkCount(rows: Record<string, unknown>[]): number;
71
+ /**
72
+ * True iff the rows already indexed for a parent form a COMPLETE set. Used by
73
+ * save/ingest/reconcile dedup so a partially-written set (crash mid-append) is
74
+ * repaired rather than mistaken for "already indexed".
75
+ *
76
+ * Completeness is stricter than a row count: a chunked set is complete only when
77
+ * every chunk index `0 .. count-1` is present EXACTLY once and every row agrees
78
+ * on the same `chunk_count`. This rejects the degenerate set that a bare
79
+ * `rows.length >= count` check would wave through — e.g. a duplicated chunk 0
80
+ * with a missing chunk 1 (length 2, count 2, but broken). An unchunked set
81
+ * (`count <= 1`, all legacy/`/ingest`-job rows) keeps the legacy semantics: any
82
+ * existing row counts as complete, so this never changes flag-off behavior.
83
+ */
84
+ export declare function chunkSetComplete(rows: Record<string, unknown>[]): boolean;
85
+ //# sourceMappingURL=chunk-meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-meta.d.ts","sourceRoot":"","sources":["../../../src/ingestion/chunk-meta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;CACf;AAED;iFACiF;AACjF,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,cAAc,OAAO,CAAC;AAgCnC,kFAAkF;AAClF,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,WAAW,GAAG,IAAI,CAMpB;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,WAAW,GAAG,IAAI,CAQpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,SAAS,EACtB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,MAAM,GAAG,IAAI,CAaf;AAED,2EAA2E;AAC3E,wBAAgB,SAAS,CACvB,WAAW,EAAE,SAAS,EACtB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,OAAO,CAET;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,SAAS,EACtB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,WAAW,GAAG,IAAI,CAQpB;AAID,oFAAoF;AACpF,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAOjE;AAED;wEACwE;AACxE,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhE;AAID,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAI1E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,CAczE"}
@@ -0,0 +1,167 @@
1
+ /** Separators for chunk row ids. Distinct per family for readability; ids are
2
+ * unique either way and are NOT load-bearing for ordering (use chunk_index). */
3
+ export const DOC_CHUNK_SEP = ":";
4
+ export const CONV_CHUNK_SEP = "::";
5
+ function parseIntOr(value, fallback) {
6
+ if (typeof value === "number" && Number.isFinite(value))
7
+ return value;
8
+ if (typeof value === "string" && value.trim() !== "") {
9
+ const n = Number.parseInt(value, 10);
10
+ if (Number.isFinite(n))
11
+ return n;
12
+ }
13
+ return fallback;
14
+ }
15
+ function parseMetadata(value) {
16
+ if (typeof value !== "string" || value.trim() === "")
17
+ return {};
18
+ try {
19
+ const parsed = JSON.parse(value);
20
+ return parsed && typeof parsed === "object"
21
+ ? parsed
22
+ : {};
23
+ }
24
+ catch {
25
+ return {};
26
+ }
27
+ }
28
+ const CONVERSATION_TABLES = new Set([
29
+ "conversations_hot",
30
+ "conversations_cold",
31
+ ]);
32
+ const DOC_TABLES = new Set([
33
+ "structured_docs",
34
+ "structured_docs_local",
35
+ ]);
36
+ /** Read the chunk marker from a conversation row, or null if unchunked/legacy. */
37
+ export function readConversationChunkMarker(row) {
38
+ const count = parseIntOr(row["chunk_count"], 1);
39
+ if (count <= 1)
40
+ return null;
41
+ const parentId = typeof row["parent_id"] === "string" ? row["parent_id"] : "";
42
+ if (!parentId)
43
+ return null;
44
+ return { parentId, index: parseIntOr(row["chunk_index"], 0), count };
45
+ }
46
+ /** Read the chunk marker from a structured-doc row, or null if unchunked/legacy. */
47
+ export function readDocChunkMarker(row) {
48
+ const sourcePath = typeof row["source_path"] === "string" ? row["source_path"] : "";
49
+ if (!sourcePath)
50
+ return null;
51
+ const meta = parseMetadata(row["metadata"]);
52
+ const count = parseIntOr(meta["chunk_count"], 1);
53
+ if (count <= 1)
54
+ return null;
55
+ return { parentId: sourcePath, index: parseIntOr(meta["chunk_index"], 0), count };
56
+ }
57
+ /**
58
+ * Namespaced parent key for retrieval grouping, or `null` when the row carries
59
+ * NO explicit chunk marker (the flag-off / legacy case — never grouped).
60
+ *
61
+ * Namespacing guarantees mixed-vintage / cross-table rows can never collapse:
62
+ * - docs → `doc|<source_table>|<source_path>` (so `structured_docs` vs
63
+ * `structured_docs_local` with the same path stay separate)
64
+ * - convs → `conv|<source>|<parent_id>`
65
+ */
66
+ export function parentKeyForRow(sourceTable, row) {
67
+ if (CONVERSATION_TABLES.has(sourceTable)) {
68
+ const marker = readConversationChunkMarker(row);
69
+ if (!marker)
70
+ return null;
71
+ const source = typeof row["source"] === "string" ? row["source"] : "";
72
+ return `conv|${source}|${marker.parentId}`;
73
+ }
74
+ if (DOC_TABLES.has(sourceTable)) {
75
+ const marker = readDocChunkMarker(row);
76
+ if (!marker)
77
+ return null;
78
+ return `doc|${sourceTable}|${marker.parentId}`;
79
+ }
80
+ return null; // digests and anything else never chunk
81
+ }
82
+ /** True iff the row is part of a genuine chunk set (`chunk_count > 1`). */
83
+ export function isChunked(sourceTable, row) {
84
+ return parentKeyForRow(sourceTable, row) !== null;
85
+ }
86
+ /**
87
+ * Unified chunk-marker reader across the conversation and document families,
88
+ * or `null` for an unchunked/legacy row (no marker / `chunk_count <= 1`) and for
89
+ * digests (which never chunk). Lets the read-side (expand stitching) inspect a
90
+ * row's position in its set without re-deriving the per-family column vs metadata
91
+ * split. `parentId` is the raw column value (`parent_id` / `source_path`), not the
92
+ * namespaced retrieval key.
93
+ */
94
+ export function readChunkMarker(sourceTable, row) {
95
+ if (CONVERSATION_TABLES.has(sourceTable)) {
96
+ return readConversationChunkMarker(row);
97
+ }
98
+ if (DOC_TABLES.has(sourceTable)) {
99
+ return readDocChunkMarker(row);
100
+ }
101
+ return null;
102
+ }
103
+ // --- Builders (producers) ---
104
+ /** Conversation chunk columns. count <= 1 → empty markers (matches seed/legacy). */
105
+ export function conversationChunkColumns(parentId, index, count) {
106
+ if (count <= 1)
107
+ return { parent_id: "", chunk_index: "", chunk_count: "" };
108
+ return {
109
+ parent_id: parentId,
110
+ chunk_index: String(index),
111
+ chunk_count: String(count),
112
+ };
113
+ }
114
+ /** Merge chunk ordinals into a doc metadata object. count <= 1 → unchanged
115
+ * (NO `chunk_*` keys), so a single/legacy doc stays byte-identical. */
116
+ export function docChunkMetadata(base, index, count) {
117
+ if (count <= 1)
118
+ return base;
119
+ return { ...base, chunk_index: index, chunk_count: count };
120
+ }
121
+ export function convChunkId(parentId, index) {
122
+ return `${parentId}${CONV_CHUNK_SEP}${index}`;
123
+ }
124
+ export function docChunkId(fileId, index) {
125
+ return `${fileId}${DOC_CHUNK_SEP}${index}`;
126
+ }
127
+ // --- Completeness (replay / dedup) ---
128
+ /** The largest declared `chunk_count` across a set of rows (≥ 1). */
129
+ export function expectedChunkCount(rows) {
130
+ let max = 1;
131
+ for (const r of rows)
132
+ max = Math.max(max, parseIntOr(r["chunk_count"], 1));
133
+ return max;
134
+ }
135
+ /**
136
+ * True iff the rows already indexed for a parent form a COMPLETE set. Used by
137
+ * save/ingest/reconcile dedup so a partially-written set (crash mid-append) is
138
+ * repaired rather than mistaken for "already indexed".
139
+ *
140
+ * Completeness is stricter than a row count: a chunked set is complete only when
141
+ * every chunk index `0 .. count-1` is present EXACTLY once and every row agrees
142
+ * on the same `chunk_count`. This rejects the degenerate set that a bare
143
+ * `rows.length >= count` check would wave through — e.g. a duplicated chunk 0
144
+ * with a missing chunk 1 (length 2, count 2, but broken). An unchunked set
145
+ * (`count <= 1`, all legacy/`/ingest`-job rows) keeps the legacy semantics: any
146
+ * existing row counts as complete, so this never changes flag-off behavior.
147
+ */
148
+ export function chunkSetComplete(rows) {
149
+ if (rows.length === 0)
150
+ return false;
151
+ const count = expectedChunkCount(rows);
152
+ if (count <= 1)
153
+ return true; // unchunked/legacy: one existing row is enough
154
+ const seen = new Set();
155
+ for (const r of rows) {
156
+ // Every row in a genuine chunk set must declare the same total; drift means
157
+ // we are looking at a mixed/partial set and cannot trust it as complete.
158
+ if (parseIntOr(r["chunk_count"], 1) !== count)
159
+ return false;
160
+ const idx = parseIntOr(r["chunk_index"], -1);
161
+ if (idx < 0 || idx >= count || seen.has(idx))
162
+ return false;
163
+ seen.add(idx);
164
+ }
165
+ return seen.size === count;
166
+ }
167
+ //# sourceMappingURL=chunk-meta.js.map