@getrift/rift 0.1.0-beta.21 → 0.1.0-beta.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- package/dist/src/capture/auto-capture.d.ts +105 -4
- package/dist/src/capture/auto-capture.d.ts.map +1 -1
- package/dist/src/capture/auto-capture.js +313 -34
- package/dist/src/capture/auto-capture.js.map +1 -1
- package/dist/src/capture/claude-cli-triage-provider.d.ts +28 -0
- package/dist/src/capture/claude-cli-triage-provider.d.ts.map +1 -0
- package/dist/src/capture/claude-cli-triage-provider.js +88 -0
- package/dist/src/capture/claude-cli-triage-provider.js.map +1 -0
- package/dist/src/capture/codex-cli-triage-provider.d.ts.map +1 -1
- package/dist/src/capture/codex-cli-triage-provider.js +1 -33
- package/dist/src/capture/codex-cli-triage-provider.js.map +1 -1
- package/dist/src/capture/cursor-capture.d.ts +89 -0
- package/dist/src/capture/cursor-capture.d.ts.map +1 -0
- package/dist/src/capture/cursor-capture.js +121 -0
- package/dist/src/capture/cursor-capture.js.map +1 -0
- package/dist/src/capture/observability.d.ts +30 -0
- package/dist/src/capture/observability.d.ts.map +1 -1
- package/dist/src/capture/observability.js +29 -0
- package/dist/src/capture/observability.js.map +1 -1
- package/dist/src/capture/recover-quarantine.d.ts +4 -4
- package/dist/src/capture/sources.d.ts +41 -3
- package/dist/src/capture/sources.d.ts.map +1 -1
- package/dist/src/capture/sources.js +43 -1
- package/dist/src/capture/sources.js.map +1 -1
- package/dist/src/capture/triage-classification.d.ts +69 -0
- package/dist/src/capture/triage-classification.d.ts.map +1 -0
- package/dist/src/capture/triage-classification.js +62 -0
- package/dist/src/capture/triage-classification.js.map +1 -0
- package/dist/src/capture/triage-provider-factory.d.ts +36 -0
- package/dist/src/capture/triage-provider-factory.d.ts.map +1 -0
- package/dist/src/capture/triage-provider-factory.js +55 -0
- package/dist/src/capture/triage-provider-factory.js.map +1 -0
- package/dist/src/capture/triage.d.ts +1 -1
- package/dist/src/capture/triage.d.ts.map +1 -1
- package/dist/src/capture/triage.js +8 -6
- package/dist/src/capture/triage.js.map +1 -1
- package/dist/src/cli/commands/capture.d.ts.map +1 -1
- package/dist/src/cli/commands/capture.js +79 -17
- package/dist/src/cli/commands/capture.js.map +1 -1
- package/dist/src/cli/commands/chunk-backfill.d.ts +13 -0
- package/dist/src/cli/commands/chunk-backfill.d.ts.map +1 -0
- package/dist/src/cli/commands/chunk-backfill.js +157 -0
- package/dist/src/cli/commands/chunk-backfill.js.map +1 -0
- package/dist/src/cli/commands/cursor-probe.d.ts +20 -0
- package/dist/src/cli/commands/cursor-probe.d.ts.map +1 -0
- package/dist/src/cli/commands/cursor-probe.js +162 -0
- package/dist/src/cli/commands/cursor-probe.js.map +1 -0
- package/dist/src/cli/commands/menubar.d.ts +3 -1
- package/dist/src/cli/commands/menubar.d.ts.map +1 -1
- package/dist/src/cli/commands/menubar.js +36 -12
- package/dist/src/cli/commands/menubar.js.map +1 -1
- package/dist/src/cli/commands/onboard.d.ts +22 -2
- package/dist/src/cli/commands/onboard.d.ts.map +1 -1
- package/dist/src/cli/commands/onboard.js +160 -32
- package/dist/src/cli/commands/onboard.js.map +1 -1
- package/dist/src/cli/commands/status.d.ts.map +1 -1
- package/dist/src/cli/commands/status.js +12 -0
- package/dist/src/cli/commands/status.js.map +1 -1
- package/dist/src/cli/commands/update.d.ts +34 -1
- package/dist/src/cli/commands/update.d.ts.map +1 -1
- package/dist/src/cli/commands/update.js +166 -1
- package/dist/src/cli/commands/update.js.map +1 -1
- package/dist/src/cli/index.d.ts.map +1 -1
- package/dist/src/cli/index.js +4 -0
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/postinstall-menubar.d.ts +20 -13
- package/dist/src/cli/postinstall-menubar.d.ts.map +1 -1
- package/dist/src/cli/postinstall-menubar.js +56 -1
- package/dist/src/cli/postinstall-menubar.js.map +1 -1
- package/dist/src/cli/status/friend-header.d.ts +16 -3
- package/dist/src/cli/status/friend-header.d.ts.map +1 -1
- package/dist/src/cli/status/friend-header.js +186 -10
- package/dist/src/cli/status/friend-header.js.map +1 -1
- package/dist/src/cli/status/local-signals.d.ts +42 -4
- package/dist/src/cli/status/local-signals.d.ts.map +1 -1
- package/dist/src/cli/status/local-signals.js +52 -1
- package/dist/src/cli/status/local-signals.js.map +1 -1
- package/dist/src/config/schema.d.ts +220 -14
- package/dist/src/config/schema.d.ts.map +1 -1
- package/dist/src/config/schema.js +82 -7
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/diagnostics/claude-preflight.d.ts +35 -0
- package/dist/src/diagnostics/claude-preflight.d.ts.map +1 -0
- package/dist/src/diagnostics/claude-preflight.js +90 -0
- package/dist/src/diagnostics/claude-preflight.js.map +1 -0
- package/dist/src/diagnostics/codex-preflight.d.ts +1 -1
- package/dist/src/diagnostics/codex-preflight.d.ts.map +1 -1
- package/dist/src/diagnostics/codex-preflight.js +24 -0
- package/dist/src/diagnostics/codex-preflight.js.map +1 -1
- package/dist/src/diagnostics/doctor.d.ts +7 -4
- package/dist/src/diagnostics/doctor.d.ts.map +1 -1
- package/dist/src/diagnostics/doctor.js +70 -11
- package/dist/src/diagnostics/doctor.js.map +1 -1
- package/dist/src/diagnostics/memory-coverage.d.ts +54 -0
- package/dist/src/diagnostics/memory-coverage.d.ts.map +1 -0
- package/dist/src/diagnostics/memory-coverage.js +272 -0
- package/dist/src/diagnostics/memory-coverage.js.map +1 -0
- package/dist/src/diagnostics/notify.d.ts +20 -3
- package/dist/src/diagnostics/notify.d.ts.map +1 -1
- package/dist/src/diagnostics/notify.js +54 -14
- package/dist/src/diagnostics/notify.js.map +1 -1
- package/dist/src/ingestion/chunk-meta.d.ts +85 -0
- package/dist/src/ingestion/chunk-meta.d.ts.map +1 -0
- package/dist/src/ingestion/chunk-meta.js +167 -0
- package/dist/src/ingestion/chunk-meta.js.map +1 -0
- package/dist/src/ingestion/chunk-text.d.ts +39 -0
- package/dist/src/ingestion/chunk-text.d.ts.map +1 -0
- package/dist/src/ingestion/chunk-text.js +114 -0
- package/dist/src/ingestion/chunk-text.js.map +1 -0
- package/dist/src/ingestion/cursor/cursor-store.d.ts +177 -0
- package/dist/src/ingestion/cursor/cursor-store.d.ts.map +1 -0
- package/dist/src/ingestion/cursor/cursor-store.js +243 -0
- package/dist/src/ingestion/cursor/cursor-store.js.map +1 -0
- package/dist/src/ingestion/cursor/enrich-roots.d.ts +16 -0
- package/dist/src/ingestion/cursor/enrich-roots.d.ts.map +1 -0
- package/dist/src/ingestion/cursor/enrich-roots.js +22 -0
- package/dist/src/ingestion/cursor/enrich-roots.js.map +1 -0
- package/dist/src/ingestion/cursor/vscdb-reader.d.ts +32 -0
- package/dist/src/ingestion/cursor/vscdb-reader.d.ts.map +1 -0
- package/dist/src/ingestion/cursor/vscdb-reader.js +113 -0
- package/dist/src/ingestion/cursor/vscdb-reader.js.map +1 -0
- package/dist/src/ingestion/cursor/workspace-root.d.ts +96 -0
- package/dist/src/ingestion/cursor/workspace-root.d.ts.map +1 -0
- package/dist/src/ingestion/cursor/workspace-root.js +187 -0
- package/dist/src/ingestion/cursor/workspace-root.js.map +1 -0
- package/dist/src/ingestion/indexer.d.ts.map +1 -1
- package/dist/src/ingestion/indexer.js +41 -32
- package/dist/src/ingestion/indexer.js.map +1 -1
- package/dist/src/jobs/handlers/compact.d.ts.map +1 -1
- package/dist/src/jobs/handlers/compact.js +9 -4
- package/dist/src/jobs/handlers/compact.js.map +1 -1
- package/dist/src/jobs/handlers/ingest.d.ts.map +1 -1
- package/dist/src/jobs/handlers/ingest.js +60 -30
- package/dist/src/jobs/handlers/ingest.js.map +1 -1
- package/dist/src/jobs/handlers/reconcile.d.ts.map +1 -1
- package/dist/src/jobs/handlers/reconcile.js +128 -45
- package/dist/src/jobs/handlers/reconcile.js.map +1 -1
- package/dist/src/jobs/handlers/save.d.ts.map +1 -1
- package/dist/src/jobs/handlers/save.js +122 -72
- package/dist/src/jobs/handlers/save.js.map +1 -1
- package/dist/src/jobs/types.d.ts +1 -1
- package/dist/src/main.js +27 -16
- package/dist/src/main.js.map +1 -1
- package/dist/src/mcp/capture-diagnostics.d.ts +51 -0
- package/dist/src/mcp/capture-diagnostics.d.ts.map +1 -0
- package/dist/src/mcp/capture-diagnostics.js +127 -0
- package/dist/src/mcp/capture-diagnostics.js.map +1 -0
- package/dist/src/mcp/memory-diagnostics.d.ts +6 -0
- package/dist/src/mcp/memory-diagnostics.d.ts.map +1 -0
- package/dist/src/mcp/memory-diagnostics.js +51 -0
- package/dist/src/mcp/memory-diagnostics.js.map +1 -0
- package/dist/src/mcp/server.d.ts.map +1 -1
- package/dist/src/mcp/server.js +10 -3
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/mcp/tools/context-pack.d.ts.map +1 -1
- package/dist/src/mcp/tools/context-pack.js +7 -1
- package/dist/src/mcp/tools/context-pack.js.map +1 -1
- package/dist/src/mcp/tools/conversations-search.d.ts +1 -1
- package/dist/src/mcp/tools/conversations-search.d.ts.map +1 -1
- package/dist/src/mcp/tools/conversations-search.js +7 -1
- package/dist/src/mcp/tools/conversations-search.js.map +1 -1
- package/dist/src/mcp/tools/evidence-feedback.d.ts +60 -0
- package/dist/src/mcp/tools/evidence-feedback.d.ts.map +1 -0
- package/dist/src/mcp/tools/evidence-feedback.js +62 -0
- package/dist/src/mcp/tools/evidence-feedback.js.map +1 -0
- package/dist/src/mcp/tools/log-outcome.d.ts +72 -0
- package/dist/src/mcp/tools/log-outcome.d.ts.map +1 -0
- package/dist/src/mcp/tools/log-outcome.js +59 -0
- package/dist/src/mcp/tools/log-outcome.js.map +1 -0
- package/dist/src/mcp/tools/open-evidence.d.ts +37 -0
- package/dist/src/mcp/tools/open-evidence.d.ts.map +1 -0
- package/dist/src/mcp/tools/open-evidence.js +72 -0
- package/dist/src/mcp/tools/open-evidence.js.map +1 -0
- package/dist/src/mcp/tools/save.d.ts +7 -2
- package/dist/src/mcp/tools/save.d.ts.map +1 -1
- package/dist/src/mcp/tools/save.js +7 -2
- package/dist/src/mcp/tools/save.js.map +1 -1
- package/dist/src/mcp/tools/search.d.ts.map +1 -1
- package/dist/src/mcp/tools/search.js +7 -1
- package/dist/src/mcp/tools/search.js.map +1 -1
- package/dist/src/mcp/tools/status.d.ts +15 -1
- package/dist/src/mcp/tools/status.d.ts.map +1 -1
- package/dist/src/mcp/tools/status.js +53 -2
- package/dist/src/mcp/tools/status.js.map +1 -1
- package/dist/src/observability/retrieval-feedback.d.ts +82 -0
- package/dist/src/observability/retrieval-feedback.d.ts.map +1 -0
- package/dist/src/observability/retrieval-feedback.js +231 -0
- package/dist/src/observability/retrieval-feedback.js.map +1 -0
- package/dist/src/observability/rift-context.d.ts.map +1 -1
- package/dist/src/observability/rift-context.js +3 -0
- package/dist/src/observability/rift-context.js.map +1 -1
- package/dist/src/observability/tool-usage-stats.d.ts +13 -0
- package/dist/src/observability/tool-usage-stats.d.ts.map +1 -1
- package/dist/src/observability/tool-usage-stats.js +15 -0
- package/dist/src/observability/tool-usage-stats.js.map +1 -1
- package/dist/src/observability/tool-usage.d.ts +56 -0
- package/dist/src/observability/tool-usage.d.ts.map +1 -1
- package/dist/src/observability/tool-usage.js +86 -0
- package/dist/src/observability/tool-usage.js.map +1 -1
- package/dist/src/providers/claude-cli-metadata-extraction.d.ts +47 -0
- package/dist/src/providers/claude-cli-metadata-extraction.d.ts.map +1 -0
- package/dist/src/providers/claude-cli-metadata-extraction.js +120 -0
- package/dist/src/providers/claude-cli-metadata-extraction.js.map +1 -0
- package/dist/src/providers/claude-cli-runner.d.ts +92 -0
- package/dist/src/providers/claude-cli-runner.d.ts.map +1 -0
- package/dist/src/providers/claude-cli-runner.js +598 -0
- package/dist/src/providers/claude-cli-runner.js.map +1 -0
- package/dist/src/providers/codex-cli-metadata-extraction.d.ts.map +1 -1
- package/dist/src/providers/codex-cli-metadata-extraction.js +1 -40
- package/dist/src/providers/codex-cli-metadata-extraction.js.map +1 -1
- package/dist/src/providers/codex-cli-runner.d.ts +7 -0
- package/dist/src/providers/codex-cli-runner.d.ts.map +1 -1
- package/dist/src/providers/codex-cli-runner.js +131 -5
- package/dist/src/providers/codex-cli-runner.js.map +1 -1
- package/dist/src/providers/conversation-generation.d.ts +10 -0
- package/dist/src/providers/conversation-generation.d.ts.map +1 -1
- package/dist/src/providers/conversation-generation.js +54 -13
- package/dist/src/providers/conversation-generation.js.map +1 -1
- package/dist/src/providers/openai-metadata-extraction.d.ts +48 -1
- package/dist/src/providers/openai-metadata-extraction.d.ts.map +1 -1
- package/dist/src/providers/openai-metadata-extraction.js +51 -2
- package/dist/src/providers/openai-metadata-extraction.js.map +1 -1
- package/dist/src/providers/types.d.ts +1 -1
- package/dist/src/providers/types.d.ts.map +1 -1
- package/dist/src/providers/types.js +4 -0
- package/dist/src/providers/types.js.map +1 -1
- package/dist/src/retrieval/canonical-files.d.ts +48 -0
- package/dist/src/retrieval/canonical-files.d.ts.map +1 -0
- package/dist/src/retrieval/canonical-files.js +210 -0
- package/dist/src/retrieval/canonical-files.js.map +1 -0
- package/dist/src/retrieval/compact.d.ts +95 -0
- package/dist/src/retrieval/compact.d.ts.map +1 -1
- package/dist/src/retrieval/compact.js +254 -8
- package/dist/src/retrieval/compact.js.map +1 -1
- package/dist/src/retrieval/context-pack.d.ts.map +1 -1
- package/dist/src/retrieval/context-pack.js +65 -15
- package/dist/src/retrieval/context-pack.js.map +1 -1
- package/dist/src/retrieval/conversation-dedup.d.ts +40 -0
- package/dist/src/retrieval/conversation-dedup.d.ts.map +1 -0
- package/dist/src/retrieval/conversation-dedup.js +141 -0
- package/dist/src/retrieval/conversation-dedup.js.map +1 -0
- package/dist/src/retrieval/evidence-key.d.ts +48 -0
- package/dist/src/retrieval/evidence-key.d.ts.map +1 -0
- package/dist/src/retrieval/evidence-key.js +131 -0
- package/dist/src/retrieval/evidence-key.js.map +1 -0
- package/dist/src/retrieval/feedback-ranking.d.ts +49 -0
- package/dist/src/retrieval/feedback-ranking.d.ts.map +1 -0
- package/dist/src/retrieval/feedback-ranking.js +138 -0
- package/dist/src/retrieval/feedback-ranking.js.map +1 -0
- package/dist/src/retrieval/git-state.d.ts +9 -0
- package/dist/src/retrieval/git-state.d.ts.map +1 -1
- package/dist/src/retrieval/git-state.js +18 -0
- package/dist/src/retrieval/git-state.js.map +1 -1
- package/dist/src/retrieval/group-by-parent.d.ts +38 -0
- package/dist/src/retrieval/group-by-parent.d.ts.map +1 -0
- package/dist/src/retrieval/group-by-parent.js +40 -0
- package/dist/src/retrieval/group-by-parent.js.map +1 -0
- package/dist/src/retrieval/lexical.d.ts.map +1 -1
- package/dist/src/retrieval/lexical.js +1 -3
- package/dist/src/retrieval/lexical.js.map +1 -1
- package/dist/src/retrieval/receipt.d.ts +57 -0
- package/dist/src/retrieval/receipt.d.ts.map +1 -0
- package/dist/src/retrieval/receipt.js +119 -0
- package/dist/src/retrieval/receipt.js.map +1 -0
- package/dist/src/retrieval/reranker.d.ts +49 -2
- package/dist/src/retrieval/reranker.d.ts.map +1 -1
- package/dist/src/retrieval/reranker.js +64 -4
- package/dist/src/retrieval/reranker.js.map +1 -1
- package/dist/src/retrieval/stitch-chunks.d.ts +73 -0
- package/dist/src/retrieval/stitch-chunks.d.ts.map +1 -0
- package/dist/src/retrieval/stitch-chunks.js +106 -0
- package/dist/src/retrieval/stitch-chunks.js.map +1 -0
- package/dist/src/server/app.d.ts +1 -1
- package/dist/src/server/app.d.ts.map +1 -1
- package/dist/src/server/app.js +20 -3
- package/dist/src/server/app.js.map +1 -1
- package/dist/src/server/routes/conversations-search.d.ts.map +1 -1
- package/dist/src/server/routes/conversations-search.js +22 -3
- package/dist/src/server/routes/conversations-search.js.map +1 -1
- package/dist/src/server/routes/friend-status.d.ts +64 -6
- package/dist/src/server/routes/friend-status.d.ts.map +1 -1
- package/dist/src/server/routes/friend-status.js +114 -18
- package/dist/src/server/routes/friend-status.js.map +1 -1
- package/dist/src/server/routes/mcp-usage.d.ts +9 -6
- package/dist/src/server/routes/mcp-usage.d.ts.map +1 -1
- package/dist/src/server/routes/mcp-usage.js.map +1 -1
- package/dist/src/server/routes/retrieval-feedback.d.ts +3 -0
- package/dist/src/server/routes/retrieval-feedback.d.ts.map +1 -0
- package/dist/src/server/routes/retrieval-feedback.js +290 -0
- package/dist/src/server/routes/retrieval-feedback.js.map +1 -0
- package/dist/src/server/routes/save.d.ts +3 -3
- package/dist/src/server/routes/save.d.ts.map +1 -1
- package/dist/src/server/routes/save.js +6 -2
- package/dist/src/server/routes/save.js.map +1 -1
- package/dist/src/server/routes/search.d.ts +1 -1
- package/dist/src/server/routes/search.d.ts.map +1 -1
- package/dist/src/server/routes/search.js +55 -8
- package/dist/src/server/routes/search.js.map +1 -1
- package/dist/src/server/serving-marker.d.ts +85 -0
- package/dist/src/server/serving-marker.d.ts.map +1 -0
- package/dist/src/server/serving-marker.js +226 -0
- package/dist/src/server/serving-marker.js.map +1 -0
- package/dist/src/storage/chunk-backfill.d.ts +39 -0
- package/dist/src/storage/chunk-backfill.d.ts.map +1 -0
- package/dist/src/storage/chunk-backfill.js +295 -0
- package/dist/src/storage/chunk-backfill.js.map +1 -0
- package/dist/src/storage/filter.d.ts +42 -0
- package/dist/src/storage/filter.d.ts.map +1 -0
- package/dist/src/storage/filter.js +70 -0
- package/dist/src/storage/filter.js.map +1 -0
- package/dist/src/storage/rebuild.d.ts.map +1 -1
- package/dist/src/storage/rebuild.js +44 -27
- package/dist/src/storage/rebuild.js.map +1 -1
- package/dist/src/storage/tables.d.ts +41 -0
- package/dist/src/storage/tables.d.ts.map +1 -1
- package/dist/src/storage/tables.js +64 -1
- package/dist/src/storage/tables.js.map +1 -1
- package/operator/swiftbar/render-menu.py +60 -18
- package/package.json +6 -4
package/README.md
CHANGED
|
@@ -25,11 +25,15 @@ Tout reste sur ta machine, sauf les *embeddings* (envoyés à Voyage AI sous une
|
|
|
25
25
|
|---|---|---|
|
|
26
26
|
| 1 | **macOS 12.3+** | Pomme → "À propos de ce Mac" |
|
|
27
27
|
| 2 | **Node.js 20.19+** | `node --version` dans Ghostty. Si manquant : [nodejs.org](https://nodejs.org/en/download) (LTS) |
|
|
28
|
-
| 3 | **Codex CLI authentifié** | `codex --version`, puis `codex login` si tu n'as jamais
|
|
28
|
+
| 3 | **Codex CLI authentifié** *(worker de triage par défaut)* | `codex --version`, puis `codex login` si tu n'as jamais loggé. *Alternative : Claude Code — voir la note sous le tableau.* |
|
|
29
29
|
| 4 | **Une clé Voyage AI** | Je te l'envoie en DM (c'est un projet dédié sur mon compte Voyage). Range-la dans 1Password, on la collera pendant l'onboard |
|
|
30
30
|
| 5 | **SwiftBar** | Optionnel mais recommandé pour voir l'état Rift dans la barre de menu. Le script installe le plugin Rift automatiquement ; si l'app manque, ouvre [swiftbar.app](https://swiftbar.app) puis relance `rift menubar install`. |
|
|
31
31
|
|
|
32
|
-
Codex CLI fait tourner le triage et l'extraction de métadonnées — pas besoin de clé OpenAI séparée.
|
|
32
|
+
Codex CLI fait tourner le triage (par défaut) et l'extraction de métadonnées — pas besoin de clé OpenAI séparée. Deux capacités peuvent basculer sur **Claude Code** (`claude`) au lieu de Codex, chacune via son propre réglage (même principe : ça utilise ton propre abonnement, Rift ne stocke aucune clé API) :
|
|
33
|
+
- **Triage** : `capture.triage.provider = claude_code`.
|
|
34
|
+
- **Métadonnées** : `enrichment.metadata.provider = claude_code` (`rift onboard --enable-claude-enrichment`). À noter : les **digests/compaction restent off** avec les métadonnées Claude (pas encore de worker digest Claude, et Rift n'emprunte pas Codex en douce) — passe sur Codex ou Ollama pour les réactiver.
|
|
35
|
+
|
|
36
|
+
La clé Voyage sert *uniquement* aux embeddings.
|
|
33
37
|
|
|
34
38
|
## Installation (1 commande)
|
|
35
39
|
|
|
@@ -62,7 +66,7 @@ L'assistant t'explique d'abord ce qui reste local et ce qui sort (les *embedding
|
|
|
62
66
|
|
|
63
67
|
1. **La clé Voyage que je t'ai envoyée.** L'assistant rappelle à quoi elle sert avant de la demander. Colle-la depuis 1Password — elle ne s'affiche pas pendant la frappe.
|
|
64
68
|
2. **Validation.** Rift fait un embed test pour vérifier la clé, la stocke localement, puis redémarre le service.
|
|
65
|
-
3. **Vérifie que
|
|
69
|
+
3. **Vérifie que le worker de triage est authentifié** (Codex par défaut ; Claude Code si tu as mis `capture.triage.provider = claude_code`). Si ça échoue, lance `codex login` (ou connecte `claude` selon le worker) et relance `rift onboard`. Ou demande à Claude.
|
|
66
70
|
4. **Sessions détectées.** Rift compte tes sessions Claude Code et Codex CLI existantes.
|
|
67
71
|
5. **Feedback.** Par défaut, les notes restent dans un fichier local JSONL ; le relais n'est activé que via un flag opérateur.
|
|
68
72
|
6. **Garde-fou Claude Code (optionnel).** Si Claude Code est détecté, l'assistant te propose d'installer un *PreToolUse hook* qui force la récupération Rift à commencer par `rift_context_pack` (compact, budgété) avant tout `rift_search`. Évite que l'agent crame ton contexte avec des recherches larges. **Réponds `y`** si tu utilises Claude Code. Désactivable à tout moment via `RIFT_POLICY_DISABLED=1` ou en supprimant l'entrée de `~/.claude/settings.json`.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { ProjectRootResolution } from "../ingestion/cursor/workspace-root.js";
|
|
2
|
+
import { type CursorReader } from "./cursor-capture.js";
|
|
1
3
|
import { type AutoCaptureSource } from "./sources.js";
|
|
2
4
|
export type { AutoCaptureSource } from "./sources.js";
|
|
3
5
|
export interface CaptureStateEntry {
|
|
@@ -44,6 +46,18 @@ export interface CaptureResult {
|
|
|
44
46
|
/** Provider tag from the triage result (e.g. "openai"). */
|
|
45
47
|
provider: string;
|
|
46
48
|
summary: string;
|
|
49
|
+
/**
|
|
50
|
+
* Cursor-only: first-class project-root resolution outcome. Capture scopes to
|
|
51
|
+
* a root only on "resolved"; other statuses are captured unscoped. Present so
|
|
52
|
+
* the dry-run dogfood can show attribution coverage.
|
|
53
|
+
*/
|
|
54
|
+
projectRootStatus?: ProjectRootResolution["status"];
|
|
55
|
+
/**
|
|
56
|
+
* Cursor-only: the stable idempotency anchor (`cursor_composer:{composerId}`)
|
|
57
|
+
* this session WOULD use. Surfaced so dry-run runs can prove key stability
|
|
58
|
+
* before any write path is enabled.
|
|
59
|
+
*/
|
|
60
|
+
stableKey?: string;
|
|
47
61
|
}
|
|
48
62
|
export interface CaptureReport {
|
|
49
63
|
total_discovered: number;
|
|
@@ -53,14 +67,37 @@ export interface CaptureReport {
|
|
|
53
67
|
review: number;
|
|
54
68
|
quarantined: number;
|
|
55
69
|
errors: number;
|
|
70
|
+
/**
|
|
71
|
+
* Sessions triaged as save/review whose source is not persistable for this
|
|
72
|
+
* run (e.g. Cursor while `CURSOR_CAPTURE_PERSIST` is off). Counted separately
|
|
73
|
+
* from `saved`/`review` precisely so the health ledger and `rift status` never
|
|
74
|
+
* read a non-persistable preview as a real saved session.
|
|
75
|
+
*/
|
|
76
|
+
deferred: number;
|
|
77
|
+
/**
|
|
78
|
+
* Sessions watermarked on a source's first persist-enabled run (bootstrap):
|
|
79
|
+
* existing history is recorded as "already seen" so it is NOT imported as new.
|
|
80
|
+
* Surfaced so a first run that discovers N and saves 0 reads as "baselined",
|
|
81
|
+
* not "broken". Not part of saved/new — a bootstrap is the opposite of a save.
|
|
82
|
+
*/
|
|
83
|
+
bootstrapped: number;
|
|
56
84
|
preflight_ok: boolean;
|
|
57
85
|
/**
|
|
58
|
-
* The preflight (
|
|
59
|
-
* false. Kept separate from `error_details` on
|
|
60
|
-
* conversation, so it must never inflate the
|
|
61
|
-
* The probe's health is signalled by
|
|
86
|
+
* The preflight (triage-worker health probe — Codex or Claude) failure
|
|
87
|
+
* message, when preflight_ok is false. Kept separate from `error_details` on
|
|
88
|
+
* purpose: preflight is not a conversation, so it must never inflate the
|
|
89
|
+
* per-session "N failed" count. The probe's health is signalled by
|
|
90
|
+
* `preflight_ok`; this carries the why.
|
|
62
91
|
*/
|
|
63
92
|
preflight_error?: string;
|
|
93
|
+
/**
|
|
94
|
+
* Which triage worker actually ran this run's preflight (`codex` | `claude`),
|
|
95
|
+
* read from the configured provider at run time. Persisted so status/doctor
|
|
96
|
+
* attribute a failure to the worker that truly failed, instead of re-inferring
|
|
97
|
+
* it later from the current config (which may have been flipped since) or from
|
|
98
|
+
* the error text (which can be ambiguous). Set whenever preflight is attempted.
|
|
99
|
+
*/
|
|
100
|
+
preflight_worker?: "codex" | "claude";
|
|
64
101
|
counts_by_source: Partial<Record<AutoCaptureSource, CaptureSourceCounts>>;
|
|
65
102
|
results: CaptureResult[];
|
|
66
103
|
error_details: Array<{
|
|
@@ -68,6 +105,19 @@ export interface CaptureReport {
|
|
|
68
105
|
source?: AutoCaptureSource;
|
|
69
106
|
error: string;
|
|
70
107
|
}>;
|
|
108
|
+
/**
|
|
109
|
+
* Outcome of the native-Cursor discovery READ, present only when Cursor
|
|
110
|
+
* discovery was ATTEMPTED this run (scheduled via config, or env-enabled).
|
|
111
|
+
* `ok: false` means the store passed the file-readable probe but the actual
|
|
112
|
+
* read failed — `sqlite3` missing, a failed/corrupt query, etc. Surfaced (and
|
|
113
|
+
* persisted) so `rift status` never claims "capture on" for a Cursor store
|
|
114
|
+
* Rift cannot actually read. Absent when Cursor discovery was not attempted.
|
|
115
|
+
*/
|
|
116
|
+
cursor_discovery?: {
|
|
117
|
+
ok: boolean;
|
|
118
|
+
error?: string;
|
|
119
|
+
error_code?: string;
|
|
120
|
+
};
|
|
71
121
|
}
|
|
72
122
|
export interface AutoCaptureDeps {
|
|
73
123
|
/** Path to data directory (for state file and review queue). */
|
|
@@ -76,6 +126,13 @@ export interface AutoCaptureDeps {
|
|
|
76
126
|
claudeDir?: string;
|
|
77
127
|
/** Path to Codex config directory (default: ~/.codex). */
|
|
78
128
|
codexDir?: string;
|
|
129
|
+
/** Path to the Cursor application-support directory (default: macOS standard). */
|
|
130
|
+
cursorDir?: string;
|
|
131
|
+
/**
|
|
132
|
+
* Injectable Cursor store reader, for tests that must not depend on a real
|
|
133
|
+
* Cursor install or the `sqlite3` binary. Defaults to the read-only adapter.
|
|
134
|
+
*/
|
|
135
|
+
cursorReader?: CursorReader;
|
|
79
136
|
/** Function to save a conversation via the daemon. */
|
|
80
137
|
saveFn: (opts: {
|
|
81
138
|
source: string;
|
|
@@ -98,6 +155,22 @@ export interface AutoCaptureDeps {
|
|
|
98
155
|
* quarantines it. Defaults to `DEFAULT_CODEX_MAX_SESSION_BYTES`.
|
|
99
156
|
*/
|
|
100
157
|
codexMaxSessionBytes?: number;
|
|
158
|
+
/**
|
|
159
|
+
* Maximum byte size of a native Cursor session's PARSED content before the
|
|
160
|
+
* size guard quarantines it (Cursor has no file to stat, so the guard runs on
|
|
161
|
+
* the merged transcript that triage would receive). Defaults to
|
|
162
|
+
* `DEFAULT_CURSOR_MAX_SESSION_BYTES`.
|
|
163
|
+
*/
|
|
164
|
+
cursorMaxSessionBytes?: number;
|
|
165
|
+
/**
|
|
166
|
+
* Native Cursor capture is authorized for THIS run via config (`cursor_composer`
|
|
167
|
+
* is in `config.capture.sources`) — the scheduled/config opt-in. When true,
|
|
168
|
+
* Cursor is discovered AND persisted without the `RIFT_CURSOR_CAPTURE` /
|
|
169
|
+
* `CURSOR_CAPTURE_PERSIST` env flags. When false/absent, Cursor falls back to
|
|
170
|
+
* the env-flag gate (the ad-hoc/dogfood path). Daemon + CLI set this from
|
|
171
|
+
* config; dry-run dogfood leaves it off and uses the env flags.
|
|
172
|
+
*/
|
|
173
|
+
cursorConfigEnabled?: boolean;
|
|
101
174
|
}
|
|
102
175
|
/**
|
|
103
176
|
* Default upper bound for a Codex CLI session that auto-capture will hand
|
|
@@ -108,6 +181,16 @@ export interface AutoCaptureDeps {
|
|
|
108
181
|
* Operators raise this in `config.json` under `capture.codex_cli.max_session_bytes`.
|
|
109
182
|
*/
|
|
110
183
|
export declare const DEFAULT_CODEX_MAX_SESSION_BYTES: number;
|
|
184
|
+
/**
|
|
185
|
+
* Default upper bound for a native Cursor session's PARSED transcript before the
|
|
186
|
+
* size guard quarantines it instead of handing it to the triage subprocess.
|
|
187
|
+
* Unlike Codex (a session file we can `stat`), Cursor content is reassembled
|
|
188
|
+
* from `state.vscdb` bubbles in memory, so the bound is measured on the merged
|
|
189
|
+
* user+assistant text. 4 MB of text is ~1M tokens — far past any healthy
|
|
190
|
+
* session and well past what triage should ever receive. Overridable per run
|
|
191
|
+
* via `AutoCaptureDeps.cursorMaxSessionBytes`.
|
|
192
|
+
*/
|
|
193
|
+
export declare const DEFAULT_CURSOR_MAX_SESSION_BYTES: number;
|
|
111
194
|
/** Sentinel idempotency_key written into capture-state.json for oversized sessions. */
|
|
112
195
|
export declare const QUARANTINED_OVERSIZED_KEY = "quarantined:oversized";
|
|
113
196
|
/**
|
|
@@ -131,6 +214,21 @@ export declare function resolveCodexCaptureDeps(config: {
|
|
|
131
214
|
}): {
|
|
132
215
|
codexMaxSessionBytes?: number;
|
|
133
216
|
};
|
|
217
|
+
/**
|
|
218
|
+
* Resolve the native-Cursor size override into the partial deps every call site
|
|
219
|
+
* (daemon scheduled run, `rift capture`) spreads into `runAutoCapture()`. Mirrors
|
|
220
|
+
* `resolveCodexCaptureDeps`. Returns an empty object (no-op spread) when absent,
|
|
221
|
+
* so `runAutoCapture` falls through to `DEFAULT_CURSOR_MAX_SESSION_BYTES`.
|
|
222
|
+
*/
|
|
223
|
+
export declare function resolveCursorCaptureDeps(config: {
|
|
224
|
+
capture?: {
|
|
225
|
+
cursor?: {
|
|
226
|
+
max_session_bytes?: number | undefined;
|
|
227
|
+
} | undefined;
|
|
228
|
+
} | undefined;
|
|
229
|
+
}): {
|
|
230
|
+
cursorMaxSessionBytes?: number;
|
|
231
|
+
};
|
|
134
232
|
/**
|
|
135
233
|
* Build the full daemon-scheduled `runAutoCapture` deps from config + the
|
|
136
234
|
* job-queue-backed `saveFn`. The factory exists so the daemon path is
|
|
@@ -146,6 +244,9 @@ export declare function buildDaemonAutoCaptureDeps(opts: {
|
|
|
146
244
|
codex_cli?: {
|
|
147
245
|
max_session_bytes?: number | undefined;
|
|
148
246
|
} | undefined;
|
|
247
|
+
cursor?: {
|
|
248
|
+
max_session_bytes?: number | undefined;
|
|
249
|
+
} | undefined;
|
|
149
250
|
};
|
|
150
251
|
data_paths: {
|
|
151
252
|
data_dir: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-capture.d.ts","sourceRoot":"","sources":["../../../src/capture/auto-capture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auto-capture.d.ts","sourceRoot":"","sources":["../../../src/capture/auto-capture.ts"],"names":[],"mappings":"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"}
|