@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.
- 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/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 +72 -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/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/status/friend-header.d.ts +10 -0
- package/dist/src/cli/status/friend-header.d.ts.map +1 -1
- package/dist/src/cli/status/friend-header.js +117 -0
- package/dist/src/cli/status/friend-header.js.map +1 -1
- package/dist/src/cli/status/local-signals.d.ts +23 -0
- package/dist/src/cli/status/local-signals.d.ts.map +1 -1
- package/dist/src/cli/status/local-signals.js +19 -0
- 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 +34 -0
- package/dist/src/diagnostics/claude-preflight.d.ts.map +1 -0
- package/dist/src/diagnostics/claude-preflight.js +89 -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 +14 -0
- package/dist/src/diagnostics/codex-preflight.js.map +1 -1
- package/dist/src/diagnostics/doctor.d.ts +1 -1
- package/dist/src/diagnostics/doctor.d.ts.map +1 -1
- package/dist/src/diagnostics/doctor.js +39 -2
- package/dist/src/diagnostics/doctor.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 +26 -15
- package/dist/src/main.js.map +1 -1
- 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/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/compact.d.ts +81 -0
- package/dist/src/retrieval/compact.d.ts.map +1 -1
- package/dist/src/retrieval/compact.js +248 -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 +28 -14
- package/dist/src/retrieval/context-pack.js.map +1 -1
- 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/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 +12 -2
- package/dist/src/retrieval/reranker.d.ts.map +1 -1
- package/dist/src/retrieval/reranker.js +11 -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.map +1 -1
- package/dist/src/server/app.js +17 -1
- 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 +12 -3
- package/dist/src/server/routes/conversations-search.js.map +1 -1
- package/dist/src/server/routes/friend-status.d.ts +44 -5
- package/dist/src/server/routes/friend-status.d.ts.map +1 -1
- package/dist/src/server/routes/friend-status.js +74 -6
- 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.map +1 -1
- package/dist/src/server/routes/search.js +19 -7
- 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 +57 -15
- package/package.json +5 -3
|
@@ -25,6 +25,9 @@ import path from "node:path";
|
|
|
25
25
|
import { RIFT_NONE_EMBEDDING_PROVIDER, isPlaceholderEmbeddingProvider, } from "../../providers/placeholder-embed.js";
|
|
26
26
|
import { getTable } from "../../storage/tables.js";
|
|
27
27
|
import { atomicWrite } from "../../storage/atomic.js";
|
|
28
|
+
import { eqFilter } from "../../storage/filter.js";
|
|
29
|
+
import { chunkConversation, chunkingEnabled } from "../../ingestion/chunk-text.js";
|
|
30
|
+
import { conversationChunkColumns, convChunkId, chunkSetComplete, } from "../../ingestion/chunk-meta.js";
|
|
28
31
|
import { conversationContentFingerprint } from "../../ingestion/inbox-core/conversation-fingerprint.js";
|
|
29
32
|
import { recordEmbed } from "../../observability/embedding-events.js";
|
|
30
33
|
import { recordIndexWrite } from "../../observability/index-events.js";
|
|
@@ -61,22 +64,23 @@ function findRawFile(rawDir, rowId) {
|
|
|
61
64
|
return match ? path.join(rawDir, match) : undefined;
|
|
62
65
|
}
|
|
63
66
|
/**
|
|
64
|
-
* True if
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
67
|
+
* True if this non-empty idempotency_key is already COMPLETELY indexed in
|
|
68
|
+
* conversations_hot OR conversations_cold. Compaction migrates older memories
|
|
69
|
+
* hot → cold while preserving the key, so a hot-only check would miss an aged
|
|
70
|
+
* conversation and let it be duplicated after queue pruning.
|
|
71
|
+
*
|
|
72
|
+
* Completeness-aware: a chunked conversation is N rows sharing the key. A
|
|
73
|
+
* PARTIAL set (e.g. a crash mid-append left k < N chunks) is NOT "already
|
|
74
|
+
* indexed" — returning true there would freeze a broken set. The caller repairs
|
|
75
|
+
* an incomplete/absent set by (re)writing the full chunk set from the payload.
|
|
68
76
|
*/
|
|
69
|
-
async function
|
|
70
|
-
const
|
|
77
|
+
async function isCompletelyIndexed(idempotencyKey) {
|
|
78
|
+
const filter = eqFilter("idempotency_key", idempotencyKey);
|
|
79
|
+
const rows = [];
|
|
71
80
|
for (const tableName of ["conversations_hot", "conversations_cold"]) {
|
|
72
|
-
|
|
73
|
-
.query()
|
|
74
|
-
.where(`idempotency_key = '${escaped}'`)
|
|
75
|
-
.toArray();
|
|
76
|
-
if (rows.length > 0)
|
|
77
|
-
return true;
|
|
81
|
+
rows.push(...(await getTable(tableName).query().where(filter).toArray()));
|
|
78
82
|
}
|
|
79
|
-
return
|
|
83
|
+
return chunkSetComplete(rows);
|
|
80
84
|
}
|
|
81
85
|
export function createSaveHandler(deps) {
|
|
82
86
|
return async (job) => {
|
|
@@ -94,7 +98,7 @@ export function createSaveHandler(deps) {
|
|
|
94
98
|
// into a duplicate row. (A replace-save carries a *different* key + sets
|
|
95
99
|
// replace_idempotency_key, so it won't false-match here.)
|
|
96
100
|
const dedupeKey = jobPayload.idempotency_key;
|
|
97
|
-
if (dedupeKey && (await
|
|
101
|
+
if (dedupeKey && (await isCompletelyIndexed(dedupeKey))) {
|
|
98
102
|
return;
|
|
99
103
|
}
|
|
100
104
|
// Resolve the chain root to get a stable ID and the original
|
|
@@ -126,79 +130,125 @@ export function createSaveHandler(deps) {
|
|
|
126
130
|
newRawPath = path.join(rawDir, rawFileName);
|
|
127
131
|
await atomicWrite(newRawPath, JSON.stringify(payload, null, 2));
|
|
128
132
|
}
|
|
129
|
-
// --- 2. Generate embedding + 3. Insert into conversations_hot ---
|
|
133
|
+
// --- 2. Generate embedding(s) + 3. Insert into conversations_hot ---
|
|
130
134
|
// Both steps are wrapped so ANY failure after raw write is quarantined.
|
|
131
135
|
try {
|
|
132
136
|
const table = getTable("conversations_hot");
|
|
133
|
-
|
|
134
|
-
//
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
137
|
+
const coldTable = getTable("conversations_cold");
|
|
138
|
+
// Replay / repair guard. A chunked conversation is N rows sharing
|
|
139
|
+
// parent_id = rowId; an unchunked one is a single row id = rowId. Gather
|
|
140
|
+
// the existing set for this parent across both tiers.
|
|
141
|
+
const parentFilter = eqFilter("parent_id", rowId, { validateAsRowId: true });
|
|
142
|
+
const selfFilter = eqFilter("id", rowId, { validateAsRowId: true });
|
|
143
|
+
const existing = [];
|
|
144
|
+
for (const t of [table, coldTable]) {
|
|
145
|
+
existing.push(...(await t.query().where(parentFilter).toArray()));
|
|
146
|
+
existing.push(...(await t.query().where(selfFilter).toArray()));
|
|
147
|
+
}
|
|
148
|
+
// A non-empty but INCOMPLETE set is a partial write from an interrupted
|
|
149
|
+
// run: it must be replaced from the authoritative payload (the raw
|
|
150
|
+
// artifact is already on disk). Data-safety invariant: do NOT delete it
|
|
151
|
+
// here — defer the destructive delete until the full replacement set is
|
|
152
|
+
// embedded and built in memory (below), so a failed embed can never
|
|
153
|
+
// destroy the old version. New and old chunks share `parent_id`, so we
|
|
154
|
+
// cannot insert-before-delete; the delete→add window is identical to the
|
|
155
|
+
// legacy single-row path and is recoverable from the raw artifact.
|
|
156
|
+
let repairPartialSet = false;
|
|
139
157
|
if (existing.length > 0) {
|
|
140
|
-
|
|
158
|
+
if (chunkSetComplete(existing)) {
|
|
159
|
+
return; // Already fully indexed — nothing to do.
|
|
160
|
+
}
|
|
161
|
+
repairPartialSet = true;
|
|
141
162
|
}
|
|
142
|
-
// (idempotency_key dedup runs earlier, before the raw write.)
|
|
143
|
-
// Generate embedding FIRST — before any deletions so the old row
|
|
144
|
-
// is preserved if embedding fails (data-safety invariant).
|
|
145
|
-
const textForEmbedding = payload.content ?? payload.summary;
|
|
146
|
-
const embedding = await recordEmbed(deps.dataDir, deps.embeddingProvider, { pipeline: "capture", operation: "save_embedding", input_count: 1 }, () => deps.embeddingProvider.embed(textForEmbedding));
|
|
163
|
+
// (idempotency_key completeness dedup runs earlier, before the raw write.)
|
|
147
164
|
const rowContent = payload.content ?? payload.summary;
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
165
|
+
const fingerprint = rowContent
|
|
166
|
+
? conversationContentFingerprint(rowContent)
|
|
167
|
+
: "";
|
|
168
|
+
// /save metadata comes from triage (or the caller), not
|
|
169
|
+
// BasicMetadataExtractor, so it is never a "rift-basic" backfill target
|
|
170
|
+
// ("" = non-basic). The embedding marker reflects the provider that
|
|
171
|
+
// actually ran: "" for a real embedding, "rift-none" for the no-key
|
|
172
|
+
// placeholder provider.
|
|
173
|
+
const embeddingProviderMarker = isPlaceholderEmbeddingProvider(deps.embeddingProvider)
|
|
174
|
+
? RIFT_NONE_EMBEDDING_PROVIDER
|
|
175
|
+
: "";
|
|
176
|
+
const indexedAt = new Date().toISOString();
|
|
177
|
+
// Chunk (flag-gated). chunkConversation short-circuits small conversations
|
|
178
|
+
// (and the flag-off case) to a single unmarked row, byte-identical to the
|
|
179
|
+
// prior behavior. Every chunk carries the SAME conversation-level
|
|
180
|
+
// summary/topics/decisions/key_outputs/idempotency_key/fingerprint — only
|
|
181
|
+
// content/embedding/chunk_index differ.
|
|
182
|
+
const chunks = chunkingEnabled()
|
|
183
|
+
? chunkConversation(rowContent)
|
|
184
|
+
: [rowContent];
|
|
185
|
+
const count = chunks.length;
|
|
186
|
+
// Data-safety: embed the FULL new set BEFORE any destructive delete, so a
|
|
187
|
+
// failed embed never destroys the old version.
|
|
188
|
+
const rows = [];
|
|
189
|
+
for (let i = 0; i < count; i++) {
|
|
190
|
+
const chunk = chunks[i];
|
|
191
|
+
const embedding = await recordEmbed(deps.dataDir, deps.embeddingProvider, { pipeline: "capture", operation: "save_embedding", input_count: 1 }, () => deps.embeddingProvider.embed(chunk));
|
|
192
|
+
rows.push({
|
|
193
|
+
id: count > 1 ? convChunkId(rowId, i) : rowId,
|
|
194
|
+
content: chunk,
|
|
195
|
+
summary: payload.summary,
|
|
196
|
+
embedding,
|
|
197
|
+
source: payload.source,
|
|
198
|
+
domain: payload.domain ?? "tech",
|
|
199
|
+
intent: "build", // Default — no LLM extraction in this slice
|
|
200
|
+
quality: "medium", // Default — no LLM extraction in this slice
|
|
201
|
+
topics: JSON.stringify(payload.topics ?? []),
|
|
202
|
+
decisions: JSON.stringify(payload.decisions ?? []),
|
|
203
|
+
key_outputs: JSON.stringify(payload.key_outputs ?? []),
|
|
204
|
+
indexed_at: indexedAt,
|
|
205
|
+
idempotency_key: payload.idempotency_key ?? "",
|
|
206
|
+
conversation_fingerprint: fingerprint,
|
|
207
|
+
metadata_provider: "",
|
|
208
|
+
embedding_provider: embeddingProviderMarker,
|
|
209
|
+
...conversationChunkColumns(rowId, i, count),
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
// Now that the full replacement set is embedded and built, drop any
|
|
213
|
+
// partial set left by an interrupted prior write (deferred from the
|
|
214
|
+
// replay guard above to honor the embed-before-delete invariant).
|
|
215
|
+
if (repairPartialSet) {
|
|
216
|
+
await table.delete(parentFilter);
|
|
217
|
+
await table.delete(selfFilter);
|
|
218
|
+
await coldTable.delete(parentFilter);
|
|
219
|
+
await coldTable.delete(selfFilter);
|
|
220
|
+
}
|
|
221
|
+
// Insert the new set FIRST (single atomic append). Old-version cleanup
|
|
222
|
+
// happens after, so a failed insert never destroys the old version.
|
|
177
223
|
await recordIndexWrite(deps.dataDir, {
|
|
178
224
|
table: "conversations_hot",
|
|
179
225
|
pipeline: "capture",
|
|
180
226
|
operation: "conversation_upsert",
|
|
181
|
-
row_count:
|
|
182
|
-
}, () => table.add(
|
|
183
|
-
// Clean up old version — best-effort AFTER new
|
|
184
|
-
//
|
|
185
|
-
//
|
|
186
|
-
// succeeds) risks losing both versions on insert failure.
|
|
227
|
+
row_count: rows.length,
|
|
228
|
+
}, () => table.add(rows));
|
|
229
|
+
// Clean up old version — best-effort AFTER the new set is safely stored.
|
|
230
|
+
// The replaced conversation carries a DIFFERENT key; all its chunks share
|
|
231
|
+
// that key, so a key-scoped delete removes the whole old set at once.
|
|
187
232
|
if (payload.replace_idempotency_key) {
|
|
188
233
|
try {
|
|
189
|
-
const
|
|
190
|
-
const hotOldRows = await table
|
|
234
|
+
const oldKeyFilter = eqFilter("idempotency_key", payload.replace_idempotency_key);
|
|
235
|
+
const hotOldRows = (await table
|
|
191
236
|
.query()
|
|
192
|
-
.where(
|
|
193
|
-
.toArray();
|
|
194
|
-
const coldOldRows = await coldTable
|
|
237
|
+
.where(oldKeyFilter)
|
|
238
|
+
.toArray());
|
|
239
|
+
const coldOldRows = (await coldTable
|
|
195
240
|
.query()
|
|
196
|
-
.where(
|
|
197
|
-
.toArray();
|
|
241
|
+
.where(oldKeyFilter)
|
|
242
|
+
.toArray());
|
|
198
243
|
const oldRow = hotOldRows[0] ?? coldOldRows[0];
|
|
199
244
|
if (oldRow) {
|
|
245
|
+
// The raw artifact is keyed by the parent id (chunked) or the row
|
|
246
|
+
// id (unchunked) — never a chunk id.
|
|
247
|
+
const oldRawId = typeof oldRow.parent_id === "string" && oldRow.parent_id
|
|
248
|
+
? oldRow.parent_id
|
|
249
|
+
: oldRow.id;
|
|
200
250
|
const oldRawDir = path.join(deps.dataDir, "raw", "conversations", oldRow.source);
|
|
201
|
-
const oldRawPath = findRawFile(oldRawDir,
|
|
251
|
+
const oldRawPath = findRawFile(oldRawDir, oldRawId);
|
|
202
252
|
if (oldRawPath) {
|
|
203
253
|
try {
|
|
204
254
|
fs.unlinkSync(oldRawPath);
|
|
@@ -207,10 +257,10 @@ export function createSaveHandler(deps) {
|
|
|
207
257
|
}
|
|
208
258
|
}
|
|
209
259
|
if (hotOldRows.length > 0) {
|
|
210
|
-
await table.delete(
|
|
260
|
+
await table.delete(oldKeyFilter);
|
|
211
261
|
}
|
|
212
262
|
if (coldOldRows.length > 0) {
|
|
213
|
-
await coldTable.delete(
|
|
263
|
+
await coldTable.delete(oldKeyFilter);
|
|
214
264
|
}
|
|
215
265
|
}
|
|
216
266
|
catch (cleanupErr) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save.js","sourceRoot":"","sources":["../../../../src/jobs/handlers/save.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,GAC/B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wDAAwD,CAAC;AAExG,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAQvE;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,GAAQ,EAAE,KAAe;IACjD,IAAI,OAAO,GAAG,GAAG,CAAC;IAClB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,OAAO,CAAC,QAAQ,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,iDAAiD;QACrE,OAAO,GAAG,MAAM,CAAC;QACjB,KAAK,EAAE,CAAC;IACV,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,MAAc,EAAE,KAAa;IAChD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC;IAChC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"save.js","sourceRoot":"","sources":["../../../../src/jobs/handlers/save.ts"],"names":[],"mappings":"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"}
|
package/dist/src/jobs/types.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export type JobType = (typeof JOB_TYPES)[number];
|
|
|
3
3
|
export declare const JOB_STATUSES: readonly ["queued", "running", "completed", "failed", "cancelled", "interrupted"];
|
|
4
4
|
export type JobStatus = (typeof JOB_STATUSES)[number];
|
|
5
5
|
/** Job types that cannot run concurrently with each other. */
|
|
6
|
-
export declare const EXCLUSIVE_JOBS: Set<"save" | "ingest" | "compact" | "reindex" | "reconcile"
|
|
6
|
+
export declare const EXCLUSIVE_JOBS: Set<"triage" | "save" | "ingest" | "compact" | "reindex" | "reconcile">;
|
|
7
7
|
export interface Job {
|
|
8
8
|
id: string;
|
|
9
9
|
type: JobType;
|
package/dist/src/main.js
CHANGED
|
@@ -11,6 +11,7 @@ import { createCodexOverrideAwareHandler } from "./jobs/codex-override-handler.j
|
|
|
11
11
|
import { createIngestHandler } from "./jobs/handlers/ingest.js";
|
|
12
12
|
import { createTriageHandler } from "./jobs/handlers/triage.js";
|
|
13
13
|
import { initTables, closeTables } from "./storage/tables.js";
|
|
14
|
+
import { writeServingMarker } from "./server/serving-marker.js";
|
|
14
15
|
import { checkIntegrity } from "./storage/integrity.js";
|
|
15
16
|
import { Watcher } from "./ingestion/watcher.js";
|
|
16
17
|
import { Indexer } from "./ingestion/indexer.js";
|
|
@@ -25,7 +26,7 @@ import { OllamaEmbeddingProvider } from "./providers/ollama-embed.js";
|
|
|
25
26
|
import { checkOllamaHealth } from "./providers/ollama.js";
|
|
26
27
|
import { createDaemonConversationGenerationProviders } from "./providers/conversation-generation.js";
|
|
27
28
|
import { setDefaultTriageProvider } from "./capture/triage.js";
|
|
28
|
-
import {
|
|
29
|
+
import { resolveTriageProviderName, setConfiguredTriageProviderName, createConfiguredTriageProvider, } from "./capture/triage-provider-factory.js";
|
|
29
30
|
import { configureCodexModel } from "./providers/codex-cli-model.js";
|
|
30
31
|
import { generateCapabilityMap, getCapabilityCounts, writeRiftContext, } from "./observability/rift-context.js";
|
|
31
32
|
import { getBuildInfo } from "./server/build-info.js";
|
|
@@ -42,6 +43,10 @@ configureCodexModel({
|
|
|
42
43
|
model: config.codex_cli?.model,
|
|
43
44
|
dataDir: config.data_paths.data_dir,
|
|
44
45
|
});
|
|
46
|
+
// Record the configured triage worker process-wide (default codex_cli) so the
|
|
47
|
+
// per-session triage default, the lazy fallback, and the auto-capture preflight
|
|
48
|
+
// all probe/route through the same selected CLI.
|
|
49
|
+
setConfiguredTriageProviderName(resolveTriageProviderName(config));
|
|
45
50
|
// Anchor for failure-notification recency gating. Captured here (rather
|
|
46
51
|
// than reusing buildApp's internal startTime) so the capture loop can
|
|
47
52
|
// distinguish "failing during this uptime" from "stale error from a
|
|
@@ -105,16 +110,17 @@ if (localSources.length > 0) {
|
|
|
105
110
|
const conversationProviders = await createDaemonConversationGenerationProviders(config);
|
|
106
111
|
const metadataExtractor = conversationProviders.metadataExtractor;
|
|
107
112
|
const digestSummarizer = conversationProviders.digestSummarizer;
|
|
108
|
-
// Log the extractor actually selected
|
|
109
|
-
//
|
|
110
|
-
//
|
|
111
|
-
//
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
:
|
|
116
|
-
|
|
117
|
-
|
|
113
|
+
// Log the extractor actually selected, keyed off the explicit
|
|
114
|
+
// `metadataProvider` discriminator (not `digestSummarizer` presence — Claude
|
|
115
|
+
// metadata ships no digest, so inferring from digests would misreport an active
|
|
116
|
+
// Claude config as AI-free Basic).
|
|
117
|
+
const metadataStartupLine = {
|
|
118
|
+
ollama: "Local generation enabled for conversation metadata extraction and digests\n",
|
|
119
|
+
codex_cli: "Cloud generation routed through Codex CLI for metadata extraction and digests\n",
|
|
120
|
+
claude_code: "Cloud generation routed through Claude Code for metadata extraction (digests/compaction off until Claude digest support ships)\n",
|
|
121
|
+
basic: "AI-free metadata enabled (BasicMetadataExtractor) — AI enrichment off, no AI-worker calls\n",
|
|
122
|
+
};
|
|
123
|
+
process.stderr.write(metadataStartupLine[conversationProviders.metadataProvider]);
|
|
118
124
|
// --- Worker pool (heavy jobs run in child processes) ---
|
|
119
125
|
const workerEntryPoint = resolveWorkerEntryPoint(import.meta.url);
|
|
120
126
|
const workerPool = new WorkerPool(workerEntryPoint, absoluteConfigPath);
|
|
@@ -155,10 +161,10 @@ jobQueue.registerHandler("triage", createCodexOverrideAwareHandler(workerTriageH
|
|
|
155
161
|
dataDir: config.data_paths.data_dir,
|
|
156
162
|
openai: config.openai,
|
|
157
163
|
})));
|
|
158
|
-
// Auto-capture (in-process) calls triageConversation() directly.
|
|
159
|
-
//
|
|
160
|
-
//
|
|
161
|
-
setDefaultTriageProvider(
|
|
164
|
+
// Auto-capture (in-process) calls triageConversation() directly. Install the
|
|
165
|
+
// configured triage worker (codex_cli by default, claude_code when selected)
|
|
166
|
+
// — the operator's own authenticated CLI runtime, no Rift-held API key.
|
|
167
|
+
setDefaultTriageProvider(createConfiguredTriageProvider());
|
|
162
168
|
const { server, markReady } = await buildApp(config, tokenManager, jobQueue, embeddingProvider, watchers, scanner, digestSummarizer, metadataExtractor, ollamaEmbedding);
|
|
163
169
|
registerShutdownHandlers(server, {
|
|
164
170
|
onShutdown: () => workerPool.shutdown(),
|
|
@@ -185,6 +191,11 @@ closeConn();
|
|
|
185
191
|
resetConn();
|
|
186
192
|
// --- Initialize storage and ingestion pipeline ---
|
|
187
193
|
await initTables(config.data_paths.data_dir);
|
|
194
|
+
// Stamp the serving-build capability marker: records that THIS build (and its
|
|
195
|
+
// chunk capabilities) last served this data dir. Offline tools that run with the
|
|
196
|
+
// daemon stopped read it to gate destructive schema-touching writes. Best-effort
|
|
197
|
+
// — never breaks boot. Written only here, by the serving daemon, never by a CLI.
|
|
198
|
+
writeServingMarker(config.data_paths.data_dir);
|
|
188
199
|
if (!integrity.healthy) {
|
|
189
200
|
process.stderr.write(`Startup integrity check: corruption detected in [${integrity.corruptTables.join(", ")}]. Auto-triggering rebuild.\n`);
|
|
190
201
|
// Use createUrgent to bypass the exclusivity gate and insert at
|
package/dist/src/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":";AAYA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":";AAYA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqCpE,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAmNhF"}
|
package/dist/src/mcp/server.js
CHANGED
|
@@ -19,6 +19,9 @@ import { searchSchema, handleRiftSearch } from "./tools/search.js";
|
|
|
19
19
|
import { conversationsSearchSchema, handleRiftConversationsSearch, } from "./tools/conversations-search.js";
|
|
20
20
|
import { contextPackSchema, handleRiftContextPack, } from "./tools/context-pack.js";
|
|
21
21
|
import { handleRiftStatus } from "./tools/status.js";
|
|
22
|
+
import { openEvidenceSchema, handleRiftOpenEvidence, } from "./tools/open-evidence.js";
|
|
23
|
+
import { logOutcomeSchema, handleRiftLogOutcome, } from "./tools/log-outcome.js";
|
|
24
|
+
import { whyEvidenceSchema, forgetEvidenceFeedbackSchema, handleRiftWhyEvidence, handleRiftForgetEvidenceFeedback, } from "./tools/evidence-feedback.js";
|
|
22
25
|
import { ToolUsageLogger } from "../observability/tool-usage.js";
|
|
23
26
|
import { recordMcpRetrievalForOnboarding } from "../observability/onboarding-metric.js";
|
|
24
27
|
import { getBuildInfo } from "../server/build-info.js";
|
|
@@ -81,9 +84,13 @@ export async function createMcpServer(opts) {
|
|
|
81
84
|
});
|
|
82
85
|
// --- Tools ---
|
|
83
86
|
server.tool("rift_save", 'Save an LLM agent session to Rift. Provide source and summary (required). Optionally include domain, decisions made, key outputs, topics, and an idempotency_key to prevent duplicates. Returns a job_id (processed async).', saveSchema, async (args) => logger.wrap("rift_save", args, () => handleRiftSave(args, client)));
|
|
84
|
-
server.tool("rift_search", 'Search across all Rift memory: watched files, project docs, conversations, and digests. Use scope to narrow: "documents" for files, "conversations" for chat history, "clients" for client work, "projects" for project files. Use cwd to scope file results to the current project directory (conversations are not filtered by cwd). If cwd doesn\'t match a configured source directory, search runs across all data. Returns ranked results with relevance scores.', searchSchema, async (args) => withOnboardingRecall("rift_search", () => logger.wrap("rift_search", args, () => handleRiftSearch(args, client))));
|
|
85
|
-
server.tool("rift_conversations_search", 'Search conversation history with structured filters. Use detail="summary" for recent conversations (last 30 days + digests), detail="full" for older conversations. Filter by source, domain, intent, quality (enum values). Narrow further by topic or decision (free-text, matches against conversation metadata). More precise than rift_search for conversation-specific queries.', conversationsSearchSchema, async (args) => withOnboardingRecall("rift_conversations_search", () => logger.wrap("rift_conversations_search", args, () => handleRiftConversationsSearch(args, client))));
|
|
86
|
-
server.tool("rift_context_pack", 'Build a compact, bucketed context pack for an active task. Returns prior decisions, project constraints (MUST/NEVER-style rules), example conversations, and rule documents — all summarized, never raw transcripts. Response is strictly bounded by max_bytes (default 4096, ceiling 16384). Use cwd to narrow document/rule results to the current project. Prefer this over rift_search when you need durable context to steer an agent, not a ranked hit list. Acting on the result: if a "Recommended live files to check" section is present, read those files before trusting this answer — they are the current source of truth and the pack only points at them. Treat items under "What I\'m discounting" as stale or uncommitted (e.g. untracked-in-git, deleted) — do not cite them as canonical state. When intent is "reasoning_archive", older conversations under "Past reasoning" are valid evidence (rationale and framing), not stale memory to ignore.', contextPackSchema, async (args) => withOnboardingRecall("rift_context_pack", () => logger.wrap("rift_context_pack", args, () => handleRiftContextPack(args, client))));
|
|
87
|
+
server.tool("rift_search", 'Search across all Rift memory: watched files, project docs, conversations, and digests. Use scope to narrow: "documents" for files, "conversations" for chat history, "clients" for client work, "projects" for project files. Use cwd to scope file results to the current project directory (conversations are not filtered by cwd). If cwd doesn\'t match a configured source directory, search runs across all data. Returns ranked results with relevance scores. When the response opens with a "Rift recalled …" line, briefly relay it to the user so they can see what Rift surfaced — it is a ready-made, humble one-liner, not a claim that Rift wrote the answer.', searchSchema, async (args) => withOnboardingRecall("rift_search", () => logger.wrap("rift_search", args, () => handleRiftSearch(args, client))));
|
|
88
|
+
server.tool("rift_conversations_search", 'Search conversation history with structured filters. Use detail="summary" for recent conversations (last 30 days + digests), detail="full" for older conversations. Filter by source, domain, intent, quality (enum values). Narrow further by topic or decision (free-text, matches against conversation metadata). More precise than rift_search for conversation-specific queries. When the response opens with a "Rift recalled …" line, briefly relay it to the user so they can see what Rift surfaced.', conversationsSearchSchema, async (args) => withOnboardingRecall("rift_conversations_search", () => logger.wrap("rift_conversations_search", args, () => handleRiftConversationsSearch(args, client))));
|
|
89
|
+
server.tool("rift_context_pack", 'Build a compact, bucketed context pack for an active task. Returns prior decisions, project constraints (MUST/NEVER-style rules), example conversations, and rule documents — all summarized, never raw transcripts. Response is strictly bounded by max_bytes (default 4096, ceiling 16384). Use cwd to narrow document/rule results to the current project. Prefer this over rift_search when you need durable context to steer an agent, not a ranked hit list. Acting on the result: if a "Recommended live files to check" section is present, read those files before trusting this answer — they are the current source of truth and the pack only points at them. Treat items under "What I\'m discounting" as stale or uncommitted (e.g. untracked-in-git, deleted) — do not cite them as canonical state. When intent is "reasoning_archive", older conversations under "Past reasoning" are valid evidence (rationale and framing), not stale memory to ignore. When the response opens with a "Rift recalled …" line, briefly relay it to the user so they can see which prior decisions/docs Rift surfaced — it is a humble summary, not a claim that Rift wrote the answer.', contextPackSchema, async (args) => withOnboardingRecall("rift_context_pack", () => logger.wrap("rift_context_pack", args, () => handleRiftContextPack(args, client))));
|
|
90
|
+
server.tool("rift_open_evidence", "Open one exact Rift evidence item from a compact hit's expand params and record a positive retrieval-feedback event after the open succeeds. Use this instead of rift_search detail='full' when a prior result looks worth inspecting. Pass session_id and intent, plus rank_at_retrieval for ranked hits or context_pack_bucket + position_in_bucket for ContextPack items, so Rift can dedupe and discount position bias. This is shadow-only in Slice 15; ranking integration is deferred.", openEvidenceSchema, async (args) => withOnboardingRecall("rift_open_evidence", () => logger.wrap("rift_open_evidence", args, () => handleRiftOpenEvidence(args, client))));
|
|
91
|
+
server.tool("rift_log_outcome", "Log the outcome of a substantive agent task and cite only the evidence that actually informed the answer. This is the explicit positive layer of Rift's retrieval-feedback loop; returned-but-unused hits are not credit. Pass session_id and intent. Prefer stable_evidence_key from rift_open_evidence, or pass id + source_table.", logOutcomeSchema, async (args) => logger.wrap("rift_log_outcome", args, () => handleRiftLogOutcome(args, client)));
|
|
92
|
+
server.tool("rift_why_evidence", "Inspect the retrieval-feedback ledger for one evidence item. Shows the shadow B_feed score, event count, and backing open/citation/reset events. Use this before trusting or debugging learned feedback.", whyEvidenceSchema, async (args) => logger.wrap("rift_why_evidence", args, () => handleRiftWhyEvidence(args, client)));
|
|
93
|
+
server.tool("rift_forget_evidence_feedback", "Reset learned retrieval feedback for one evidence item by appending a reset event. Use when Rift learned the wrong lesson; this keeps the local ledger auditable instead of editing JSONL by hand.", forgetEvidenceFeedbackSchema, async (args) => logger.wrap("rift_forget_evidence_feedback", args, () => handleRiftForgetEvidenceFeedback(args, client)));
|
|
87
94
|
server.tool("rift_status", "Capability map for Rift: lists the memory classes available (conversations, digests, structured documents), names the tools for each job (rift_search, rift_conversations_search, rift_context_pack, rift_status), and states default behavior. Call this before deciding whether to search. Not for content retrieval — use rift_search for that.", {}, async () => logger.wrap("rift_status", {}, () => handleRiftStatus({}, client)));
|
|
88
95
|
// --- Resource ---
|
|
89
96
|
server.resource("rift-context.md", "rift://rift-context.md", { description: "Current Rift system status as markdown", mimeType: "text/markdown" }, async (uri) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-pack.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/context-pack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"context-pack.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/context-pack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAW3D,eAAO,MAAM,iBAAiB;;;;;;CAqC7B,CAAC;AAEF,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,UAAU;;;;;;;;;;;uBAawB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;GAKlE"}
|
|
@@ -14,6 +14,7 @@ import { z } from "zod";
|
|
|
14
14
|
import { formatError } from "../errors.js";
|
|
15
15
|
import { MAX_PER_BUCKET_CEILING, MAX_BYTES_CEILING, TASK_MAX, } from "../../retrieval/context-pack.js";
|
|
16
16
|
import { formatSizeWarning } from "../../retrieval/compact.js";
|
|
17
|
+
import { buildContextPackReceipt, withReceipt } from "../../retrieval/receipt.js";
|
|
17
18
|
export const contextPackSchema = {
|
|
18
19
|
task: z
|
|
19
20
|
.string()
|
|
@@ -50,7 +51,12 @@ export async function handleRiftContextPack(args, client) {
|
|
|
50
51
|
const pack = data;
|
|
51
52
|
const text = renderContextPackMarkdown(pack);
|
|
52
53
|
return {
|
|
53
|
-
content: [
|
|
54
|
+
content: [
|
|
55
|
+
{
|
|
56
|
+
type: "text",
|
|
57
|
+
text: withReceipt(buildContextPackReceipt(pack), text),
|
|
58
|
+
},
|
|
59
|
+
],
|
|
54
60
|
structuredContent: pack,
|
|
55
61
|
};
|
|
56
62
|
}
|