@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-metadata-extraction.js","sourceRoot":"","sources":["../../../src/providers/openai-metadata-extraction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,EACL,OAAO,EACP,OAAO,EACP,cAAc,EACd,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,SAAS,cAAc,CACrB,MAAS,EACT,QAAmB,EACnB,KAAa;IAEb,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAa,EAAE;QAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAK,MAA4B,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3E,OAAO,GAAgB,CAAC;QAC1B,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wBAAwB,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,QAAQ,KAAK,CACjH,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"openai-metadata-extraction.js","sourceRoot":"","sources":["../../../src/providers/openai-metadata-extraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export interface RetryConfig {
|
|
|
17
17
|
maxDelayMs: number;
|
|
18
18
|
}
|
|
19
19
|
export declare const DEFAULT_RETRY_CONFIG: RetryConfig;
|
|
20
|
-
export declare const CONVERSATION_SOURCES: readonly ["claude_code", "gemini_cli", "codex_cli", "chatgpt_web", "claude_web", "grok_web", "gemini_web"];
|
|
20
|
+
export declare const CONVERSATION_SOURCES: readonly ["claude_code", "gemini_cli", "codex_cli", "cursor_composer", "chatgpt_web", "claude_web", "grok_web", "gemini_web"];
|
|
21
21
|
export type ConversationSource = (typeof CONVERSATION_SOURCES)[number];
|
|
22
22
|
export declare const DOMAINS: readonly ["business", "tech", "personal", "travel", "health", "finance", "creative"];
|
|
23
23
|
export type Domain = (typeof DOMAINS)[number];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,WAAW,WAAW;IAC1B,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,oBAAoB,EAAE,WAIlC,CAAC;AAIF,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,10 @@ export const CONVERSATION_SOURCES = [
|
|
|
18
18
|
"claude_code",
|
|
19
19
|
"gemini_cli",
|
|
20
20
|
"codex_cli",
|
|
21
|
+
// Native Cursor composer/agent/chat sessions (Cursor's own vscdb store).
|
|
22
|
+
// Claude-Code- and Codex-in-Cursor are NOT this source — those write to
|
|
23
|
+
// ~/.claude / ~/.codex and are already captured as claude_code / codex_cli.
|
|
24
|
+
"cursor_composer",
|
|
21
25
|
"chatgpt_web",
|
|
22
26
|
"claude_web",
|
|
23
27
|
"grok_web",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/providers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAaH,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,GAAG;IAChB,UAAU,EAAE,MAAM;CACnB,CAAC;AAEF,gCAAgC;AAEhC,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,aAAa;IACb,YAAY;IACZ,WAAW;IACX,aAAa;IACb,YAAY;IACZ,UAAU;IACV,YAAY;CACJ,CAAC;AAGX,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,UAAU;IACV,MAAM;IACN,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;CACF,CAAC;AAGX,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,UAAU;IACV,UAAU;IACV,YAAY;IACZ,OAAO;IACP,OAAO;IACP,cAAc;CACN,CAAC;AAGX,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AAGjE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,oBAAoB;IACpB,2BAA2B;CACnB,CAAC;AAGX,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAGxE,oBAAoB;AAEpB,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC,CAAC,gBAAgB;AACzD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC,CAAC,oCAAoC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/providers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAaH,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,GAAG;IAChB,UAAU,EAAE,MAAM;CACnB,CAAC;AAEF,gCAAgC;AAEhC,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,aAAa;IACb,YAAY;IACZ,WAAW;IACX,yEAAyE;IACzE,wEAAwE;IACxE,4EAA4E;IAC5E,iBAAiB;IACjB,aAAa;IACb,YAAY;IACZ,UAAU;IACV,YAAY;CACJ,CAAC;AAGX,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,UAAU;IACV,MAAM;IACN,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;CACF,CAAC;AAGX,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,UAAU;IACV,UAAU;IACV,YAAY;IACZ,OAAO;IACP,OAAO;IACP,cAAc;CACN,CAAC;AAGX,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AAGjE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,oBAAoB;IACpB,2BAA2B;CACnB,CAAC;AAGX,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAGxE,oBAAoB;AAEpB,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC,CAAC,gBAAgB;AACzD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC,CAAC,oCAAoC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { EvidenceInput } from "./current-truth.js";
|
|
2
|
+
/** Whether the read-only canonical-file lane is enabled. Default OFF. */
|
|
3
|
+
export declare function canonicalFilesEnabled(env?: NodeJS.ProcessEnv): boolean;
|
|
4
|
+
/**
|
|
5
|
+
* Tracker-tier canonical files (slice 1). Relative names, resolved against the
|
|
6
|
+
* project root. Deliberately small — this is NOT "index every tracker"; it is a
|
|
7
|
+
* curated allow-list of files whose live contents are authoritative current
|
|
8
|
+
* state. Both match `TRACKER_FILE_PATTERNS` in current-truth.ts → `tracker` tier.
|
|
9
|
+
*/
|
|
10
|
+
export declare const CANONICAL_FILES: readonly string[];
|
|
11
|
+
export interface CanonicalSection {
|
|
12
|
+
/** First non-empty line (heading or list item), for display/title. */
|
|
13
|
+
heading: string;
|
|
14
|
+
/** Full section text (heading + body up to the next boundary). */
|
|
15
|
+
text: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Split markdown into sections at heading lines (`#`..`######`) and TOP-LEVEL
|
|
19
|
+
* list items (`- ` / `* `, no leading indent). Each decision bullet, TODO item,
|
|
20
|
+
* or heading block becomes one section; nested/indented bullets stay with their
|
|
21
|
+
* parent. Content before the first boundary (e.g. the `Last touched:` preamble)
|
|
22
|
+
* forms the leading section.
|
|
23
|
+
*/
|
|
24
|
+
export declare function splitIntoSections(content: string): CanonicalSection[];
|
|
25
|
+
export interface CanonicalFileEvidenceOptions {
|
|
26
|
+
/** Absolute project root; canonical files are resolved relative to it. */
|
|
27
|
+
projectRoot: string;
|
|
28
|
+
/** The user's task/query. */
|
|
29
|
+
query: string;
|
|
30
|
+
/** Max sections returned across all files (default 3). */
|
|
31
|
+
maxSections?: number;
|
|
32
|
+
/** Minimum distinct discriminating-term matches to surface (default 1). */
|
|
33
|
+
minScore?: number;
|
|
34
|
+
/** Allow-list override (tests). Defaults to {@link CANONICAL_FILES}. */
|
|
35
|
+
files?: readonly string[];
|
|
36
|
+
/** Injectable reader; returns undefined when missing. Defaults to fs. */
|
|
37
|
+
readFile?: (absPath: string) => string | undefined;
|
|
38
|
+
/** Injectable clock — live reads are current as of `now`. Defaults to new Date(). */
|
|
39
|
+
now?: Date;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Read the canonical files and return query-matching sections as synthetic
|
|
43
|
+
* tracker-tier {@link EvidenceInput}s, highest-scoring first. Empty when the
|
|
44
|
+
* query has no discriminating terms, no file matches, or nothing clears
|
|
45
|
+
* `minScore` — so the caller can prepend unconditionally.
|
|
46
|
+
*/
|
|
47
|
+
export declare function buildCanonicalFileEvidence(opts: CanonicalFileEvidenceOptions): EvidenceInput[];
|
|
48
|
+
//# sourceMappingURL=canonical-files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canonical-files.d.ts","sourceRoot":"","sources":["../../../src/retrieval/canonical-files.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,yEAAyE;AACzE,wBAAgB,qBAAqB,CACnC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAET;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAAoC,CAAC;AAsBlF,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAoBrE;AAED,MAAM,WAAW,4BAA4B;IAC3C,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACnD,qFAAqF;IACrF,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAQD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,4BAA4B,GACjC,aAAa,EAAE,CA6CjB"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only canonical-file lane (current-decision source coverage).
|
|
3
|
+
*
|
|
4
|
+
* Trackers like PROJECT_STATE.md / TODO.md are deliberately NOT indexed into
|
|
5
|
+
* LanceDB (2026-05-20 decision), so a current-truth query such as "what did we
|
|
6
|
+
* decide about pricing" misses entirely — the canonical answer is never even a
|
|
7
|
+
* retrieval candidate (surfaced 2026-06-14 by a Slice-16 dogfood miss). This
|
|
8
|
+
* lane closes that gap WITHOUT indexing: it reads a SMALL allow-list of
|
|
9
|
+
* canonical TRACKED files live from disk at request time, lexically matches the
|
|
10
|
+
* query against their sections, and emits the top matches as synthetic
|
|
11
|
+
* {@link EvidenceInput}s. The UNCHANGED pure partitioner (`partitionEvidence`)
|
|
12
|
+
* then routes them by their tracker tier (path-based, via `assignTrustTier`) —
|
|
13
|
+
* leading `current_truth` for current_truth/blended intent, kept as
|
|
14
|
+
* `current_truth` background under reasoning_archive (note: "what did we
|
|
15
|
+
* decide …" classifies as reasoning_archive, so the lane runs regardless of
|
|
16
|
+
* intent). Reading live means the evidence is
|
|
17
|
+
* current by construction — the opposite of the stale-doc-over-current-state
|
|
18
|
+
* failure Current Truth Mode fights, and why we read instead of index.
|
|
19
|
+
*
|
|
20
|
+
* Flag-gated (`RIFT_CANONICAL_FILES=1`, default OFF). Provable no-op when off,
|
|
21
|
+
* when no project root is known, or when no section clears the relevance floor.
|
|
22
|
+
* Deliberately context-pack-only for slice 1; `/search` is a separate lane.
|
|
23
|
+
*/
|
|
24
|
+
import fs from "node:fs";
|
|
25
|
+
import path from "node:path";
|
|
26
|
+
import { tokenize } from "./lexical.js";
|
|
27
|
+
/** Whether the read-only canonical-file lane is enabled. Default OFF. */
|
|
28
|
+
export function canonicalFilesEnabled(env = process.env) {
|
|
29
|
+
return env["RIFT_CANONICAL_FILES"] === "1";
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Tracker-tier canonical files (slice 1). Relative names, resolved against the
|
|
33
|
+
* project root. Deliberately small — this is NOT "index every tracker"; it is a
|
|
34
|
+
* curated allow-list of files whose live contents are authoritative current
|
|
35
|
+
* state. Both match `TRACKER_FILE_PATTERNS` in current-truth.ts → `tracker` tier.
|
|
36
|
+
*/
|
|
37
|
+
export const CANONICAL_FILES = ["PROJECT_STATE.md", "TODO.md"];
|
|
38
|
+
const DEFAULT_MAX_SECTIONS = 3;
|
|
39
|
+
const DEFAULT_MIN_SCORE = 1;
|
|
40
|
+
const MIN_TERM_LEN = 3;
|
|
41
|
+
const SECTION_CONTENT_MAX = 1200;
|
|
42
|
+
/**
|
|
43
|
+
* A query term present in more than this fraction of all candidate sections is
|
|
44
|
+
* treated as non-discriminating (e.g. "rift" across Rift's own trackers) and
|
|
45
|
+
* contributes 0 to a section's score. A cheap document-frequency downweight so
|
|
46
|
+
* the lane keys on the rare, query-specific terms, not the ubiquitous ones.
|
|
47
|
+
*/
|
|
48
|
+
const COMMON_TERM_DF_RATIO = 0.6;
|
|
49
|
+
const STOPWORDS = new Set([
|
|
50
|
+
"the", "and", "for", "with", "of", "to", "in", "on", "at", "is", "are", "was",
|
|
51
|
+
"were", "be", "been", "do", "does", "what", "how", "why", "when", "where",
|
|
52
|
+
"which", "who", "that", "this", "these", "those", "we", "you", "our", "your",
|
|
53
|
+
"its", "it", "about", "from", "have", "has", "had", "into", "out", "as", "by",
|
|
54
|
+
"a", "an", "or", "not", "but", "can", "will", "did",
|
|
55
|
+
]);
|
|
56
|
+
/**
|
|
57
|
+
* Split markdown into sections at heading lines (`#`..`######`) and TOP-LEVEL
|
|
58
|
+
* list items (`- ` / `* `, no leading indent). Each decision bullet, TODO item,
|
|
59
|
+
* or heading block becomes one section; nested/indented bullets stay with their
|
|
60
|
+
* parent. Content before the first boundary (e.g. the `Last touched:` preamble)
|
|
61
|
+
* forms the leading section.
|
|
62
|
+
*/
|
|
63
|
+
export function splitIntoSections(content) {
|
|
64
|
+
const lines = content.split(/\r?\n/);
|
|
65
|
+
const isBoundary = (l) => /^#{1,6}\s/.test(l) || /^[-*]\s/.test(l);
|
|
66
|
+
const sections = [];
|
|
67
|
+
let cur = [];
|
|
68
|
+
const flush = () => {
|
|
69
|
+
const text = cur.join("\n").trim();
|
|
70
|
+
if (text) {
|
|
71
|
+
const heading = (cur.find((l) => l.trim()) ?? "").trim();
|
|
72
|
+
sections.push({ heading, text });
|
|
73
|
+
}
|
|
74
|
+
cur = [];
|
|
75
|
+
};
|
|
76
|
+
for (const line of lines) {
|
|
77
|
+
if (isBoundary(line))
|
|
78
|
+
flush();
|
|
79
|
+
cur.push(line);
|
|
80
|
+
}
|
|
81
|
+
flush();
|
|
82
|
+
return sections;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Read the canonical files and return query-matching sections as synthetic
|
|
86
|
+
* tracker-tier {@link EvidenceInput}s, highest-scoring first. Empty when the
|
|
87
|
+
* query has no discriminating terms, no file matches, or nothing clears
|
|
88
|
+
* `minScore` — so the caller can prepend unconditionally.
|
|
89
|
+
*/
|
|
90
|
+
export function buildCanonicalFileEvidence(opts) {
|
|
91
|
+
const files = opts.files ?? CANONICAL_FILES;
|
|
92
|
+
const read = opts.readFile ?? defaultRead;
|
|
93
|
+
const maxSections = opts.maxSections ?? DEFAULT_MAX_SECTIONS;
|
|
94
|
+
const minScore = opts.minScore ?? DEFAULT_MIN_SCORE;
|
|
95
|
+
const now = opts.now ?? new Date();
|
|
96
|
+
const queryTerms = discriminatingQueryTerms(opts.query);
|
|
97
|
+
if (queryTerms.length === 0)
|
|
98
|
+
return [];
|
|
99
|
+
const all = [];
|
|
100
|
+
for (const fileName of files) {
|
|
101
|
+
const content = read(path.join(opts.projectRoot, fileName));
|
|
102
|
+
if (!content)
|
|
103
|
+
continue;
|
|
104
|
+
for (const section of splitIntoSections(content)) {
|
|
105
|
+
all.push({ fileName, section, terms: sectionTermSet(section.text) });
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (all.length === 0)
|
|
109
|
+
return [];
|
|
110
|
+
// Document-frequency downweight: a query term in > COMMON_TERM_DF_RATIO of
|
|
111
|
+
// sections is non-discriminating and scores 0.
|
|
112
|
+
const dfCap = Math.ceil(COMMON_TERM_DF_RATIO * all.length);
|
|
113
|
+
const effectiveTerms = queryTerms.filter((term) => {
|
|
114
|
+
let df = 0;
|
|
115
|
+
for (const s of all)
|
|
116
|
+
if (s.terms.has(term))
|
|
117
|
+
df++;
|
|
118
|
+
return df <= dfCap;
|
|
119
|
+
});
|
|
120
|
+
if (effectiveTerms.length === 0)
|
|
121
|
+
return [];
|
|
122
|
+
const scored = [];
|
|
123
|
+
for (const s of all) {
|
|
124
|
+
let score = 0;
|
|
125
|
+
for (const term of effectiveTerms)
|
|
126
|
+
if (s.terms.has(term))
|
|
127
|
+
score++;
|
|
128
|
+
if (score >= minScore) {
|
|
129
|
+
scored.push({ fileName: s.fileName, section: s.section, score });
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Highest score first; stable for equal scores (keeps file/section order).
|
|
133
|
+
scored.sort((a, b) => b.score - a.score);
|
|
134
|
+
const indexedAt = now.toISOString();
|
|
135
|
+
return scored
|
|
136
|
+
.slice(0, maxSections)
|
|
137
|
+
.map((m, ordinal) => toEvidenceInput(m, ordinal, indexedAt));
|
|
138
|
+
}
|
|
139
|
+
function defaultRead(absPath) {
|
|
140
|
+
try {
|
|
141
|
+
return fs.readFileSync(absPath, "utf-8");
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
function discriminatingQueryTerms(query) {
|
|
148
|
+
const out = new Set();
|
|
149
|
+
for (const t of tokenize(query)) {
|
|
150
|
+
const lower = t.toLowerCase();
|
|
151
|
+
if (lower.length < MIN_TERM_LEN)
|
|
152
|
+
continue;
|
|
153
|
+
if (STOPWORDS.has(lower))
|
|
154
|
+
continue;
|
|
155
|
+
out.add(lower);
|
|
156
|
+
}
|
|
157
|
+
return [...out];
|
|
158
|
+
}
|
|
159
|
+
function sectionTermSet(text) {
|
|
160
|
+
const out = new Set();
|
|
161
|
+
for (const t of tokenize(text))
|
|
162
|
+
out.add(t.toLowerCase());
|
|
163
|
+
return out;
|
|
164
|
+
}
|
|
165
|
+
function toEvidenceInput(m, ordinal, indexedAt) {
|
|
166
|
+
const content = m.section.text.slice(0, SECTION_CONTENT_MAX);
|
|
167
|
+
const title = `${m.fileName} — ${cleanHeading(m.section.heading)}`;
|
|
168
|
+
const ranked = {
|
|
169
|
+
id: `canonical:${m.fileName}#${ordinal}`,
|
|
170
|
+
content,
|
|
171
|
+
score: m.score,
|
|
172
|
+
retrieval_method: "lexical",
|
|
173
|
+
source_table: "structured_docs",
|
|
174
|
+
factors: NEUTRAL_FACTORS,
|
|
175
|
+
bm25_normalized: 0,
|
|
176
|
+
};
|
|
177
|
+
return {
|
|
178
|
+
ranked,
|
|
179
|
+
row: {
|
|
180
|
+
content,
|
|
181
|
+
source_path: m.fileName,
|
|
182
|
+
source: "canonical_file",
|
|
183
|
+
indexed_at: indexedAt,
|
|
184
|
+
metadata: JSON.stringify({ title }),
|
|
185
|
+
},
|
|
186
|
+
kind: "document",
|
|
187
|
+
// gitState omitted: assignTrustTier keys off the tracker path → `tracker`
|
|
188
|
+
// tier without asserting a git state we didn't probe. Canonical files are
|
|
189
|
+
// tracked by definition; an undefined state is recommendable, not discounted.
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
const NEUTRAL_FACTORS = {
|
|
193
|
+
S_sim: 0,
|
|
194
|
+
S_rec: 0,
|
|
195
|
+
S_qual: 0,
|
|
196
|
+
B_tier: 0,
|
|
197
|
+
B_feed: 1,
|
|
198
|
+
B_hyb: 0,
|
|
199
|
+
B_fresh: 0,
|
|
200
|
+
};
|
|
201
|
+
function cleanHeading(h) {
|
|
202
|
+
const clean = h
|
|
203
|
+
.replace(/^#{1,6}\s*/, "")
|
|
204
|
+
.replace(/^[-*]\s+(\[[ xX]\]\s*)?/, "")
|
|
205
|
+
.trim();
|
|
206
|
+
if (!clean)
|
|
207
|
+
return "section";
|
|
208
|
+
return clean.length > 80 ? `${clean.slice(0, 79)}…` : clean;
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=canonical-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canonical-files.js","sourceRoot":"","sources":["../../../src/retrieval/canonical-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,14 @@ export declare const LARGE_HIT_TOKEN_THRESHOLD = 10000;
|
|
|
28
28
|
export declare const MIDDLE_HEAD_CHARS = 8000;
|
|
29
29
|
export declare const MIDDLE_TAIL_CHARS = 4000;
|
|
30
30
|
export declare const MIDDLE_INLINE_THRESHOLD_CHARS = 12000;
|
|
31
|
+
/**
|
|
32
|
+
* Neighbor chunks to include on each side of the matched chunk for a
|
|
33
|
+
* `detail="middle"` expand of a chunked source. The window is `[i-K, i+K]`
|
|
34
|
+
* clamped to the set, so K=1 yields up to 3 contiguous chunks (~5k chars /
|
|
35
|
+
* ~1.4k tokens at the default 1800-char target) — enough surrounding context to
|
|
36
|
+
* read the matched section in place without re-dumping the whole conversation.
|
|
37
|
+
*/
|
|
38
|
+
export declare const MIDDLE_CHUNK_NEIGHBORS = 1;
|
|
31
39
|
export type Tier = "hot" | "cold" | "digest" | "document" | "structured_doc";
|
|
32
40
|
export interface CompactExpand {
|
|
33
41
|
route: string;
|
|
@@ -70,6 +78,42 @@ export interface CompactHit {
|
|
|
70
78
|
* before treating `content` as authoritative.
|
|
71
79
|
*/
|
|
72
80
|
content_truncated?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* When this hit represents a chunked source (long doc/conversation), the
|
|
83
|
+
* total number of chunk rows that matched and were collapsed into this one
|
|
84
|
+
* representative. Present (> 1) only for grouped chunk hits; absent for
|
|
85
|
+
* ordinary single-row hits. Lets the UI say "+N more sections".
|
|
86
|
+
*/
|
|
87
|
+
matched_sections?: number;
|
|
88
|
+
/**
|
|
89
|
+
* Number of near-duplicate CONVERSATION captures collapsed into this one
|
|
90
|
+
* representative (same task captured across sessions lands as distinct rows;
|
|
91
|
+
* see `collapseConversationDuplicates`). Present (> 1) only when conversation
|
|
92
|
+
* dedup (RIFT_CONV_DEDUP) folded copies into this hit; absent otherwise.
|
|
93
|
+
* Distinct from `matched_sections`, which counts chunk siblings of ONE source.
|
|
94
|
+
* Lets the UI say "+N duplicate captures".
|
|
95
|
+
*/
|
|
96
|
+
duplicate_count?: number;
|
|
97
|
+
/**
|
|
98
|
+
* Total chunks in the parent set, when this hit's `content` was reassembled
|
|
99
|
+
* from a chunked source via the expand path. Present only for stitched chunk
|
|
100
|
+
* expansions; absent for single-row hits.
|
|
101
|
+
*/
|
|
102
|
+
chunk_count?: number;
|
|
103
|
+
/**
|
|
104
|
+
* Number of chunk siblings stitched together into `content` on this expand.
|
|
105
|
+
* For `detail="full"` this is the whole parent set (== `chunk_count` when all
|
|
106
|
+
* siblings were present); for `detail="middle"` it is the matched chunk plus
|
|
107
|
+
* its bounded neighbor window. Lets a reader tell a stitched body from a
|
|
108
|
+
* single-chunk one. For a stitched hit, the TOP-LEVEL `content_bytes` /
|
|
109
|
+
* `content_tokens_estimate` describe the body actually returned (the bounded
|
|
110
|
+
* `middle` window or the full parent), while the SAME fields inside
|
|
111
|
+
* `expand.params` advertise the full parent body that re-issuing the
|
|
112
|
+
* `detail="full"` pointer would return — so a `middle` hit never under-states
|
|
113
|
+
* the cost of escalating to `full`. `stitched_chunks < chunk_count` signals
|
|
114
|
+
* that more sections are available via `detail="full"`.
|
|
115
|
+
*/
|
|
116
|
+
stitched_chunks?: number;
|
|
73
117
|
}
|
|
74
118
|
/**
|
|
75
119
|
* Pre-call size advert for an expansion: every compact hit carries this on
|
|
@@ -101,8 +145,26 @@ type RawRow = Record<string, unknown>;
|
|
|
101
145
|
/**
|
|
102
146
|
* Batch-fetch the raw source rows for reranked results.
|
|
103
147
|
* Groups ids by source table and issues one `id IN (...)` query per table.
|
|
148
|
+
*
|
|
149
|
+
* Keyed by {@link rankedKey} — `(source_table, id)`, NOT bare id — so a row id
|
|
150
|
+
* shared across two tables (cloud vs local docs, hot vs cold) can never have one
|
|
151
|
+
* table's row overwrite the other's and produce a dishonest snippet/title/source
|
|
152
|
+
* for the surviving hit. Callers must look up via `get(rankedKey(r))`.
|
|
104
153
|
*/
|
|
105
154
|
export declare function fetchRawRowsForRanked(ranked: RankedResult[]): Promise<Map<string, RawRow>>;
|
|
155
|
+
/**
|
|
156
|
+
* Compute the parent grouping key for every reranked result using a
|
|
157
|
+
* projection-only query (no `content`, no embedding vector) per source table.
|
|
158
|
+
*
|
|
159
|
+
* Returns `rankedKey(r) → parentKey | null`, keyed by `(source_table, id)` so a
|
|
160
|
+
* row id shared across two tables (cloud vs local docs, hot vs cold) can never
|
|
161
|
+
* collide into one entry. `null` for any row with no explicit chunk marker (the
|
|
162
|
+
* flag-off / legacy case — never grouped) and for any id with no backing row.
|
|
163
|
+
* Digests never chunk, so their ids map to `null` without a query. Pair with
|
|
164
|
+
* {@link groupByParent} (which looks up via {@link rankedKey}), then call
|
|
165
|
+
* {@link fetchRawRowsForRanked} on the post-group top-k representatives only.
|
|
166
|
+
*/
|
|
167
|
+
export declare function fetchParentKeysForRanked(ranked: RankedResult[]): Promise<Map<string, string | null>>;
|
|
106
168
|
/** Derive the compact `tier` label from source_table (+ source_scope for docs). */
|
|
107
169
|
export declare function deriveTier(sourceTable: TableName, row?: RawRow): Tier;
|
|
108
170
|
/**
|
|
@@ -167,6 +229,29 @@ export declare function buildCompactHitFromRow(row: RawRow, sourceTable: TableNa
|
|
|
167
229
|
*/
|
|
168
230
|
detail?: DetailLevel;
|
|
169
231
|
}): CompactHit;
|
|
232
|
+
/**
|
|
233
|
+
* Build a CompactHit for the exact-ID expand path, reassembling chunk siblings
|
|
234
|
+
* when the matched row belongs to a chunk set.
|
|
235
|
+
*
|
|
236
|
+
* - Unchunked rows, and any `detail="summary"` request, are returned verbatim by
|
|
237
|
+
* {@link buildCompactHitFromRow} — so with `RIFT_CHUNKING` off (no marked rows)
|
|
238
|
+
* this is provably the pre-stitching behavior.
|
|
239
|
+
* - For a chunked row, `detail="full"` reassembles the whole parent in
|
|
240
|
+
* `chunk_index` order; `detail="middle"` reassembles the matched chunk plus a
|
|
241
|
+
* bounded neighbor window (`MIDDLE_CHUNK_NEIGHBORS` each side). Both ranges are
|
|
242
|
+
* contiguous, and seams are de-overlapped so duplicated text appears once.
|
|
243
|
+
*
|
|
244
|
+
* The representative identity (id, title, source, timestamp, snippet, score)
|
|
245
|
+
* comes from the matched row. `content` and the TOP-LEVEL size fields are
|
|
246
|
+
* replaced with the stitched body actually returned, while the `expand.params`
|
|
247
|
+
* size fields advertise the FULL parent (what the `detail="full"` escalation
|
|
248
|
+
* pointer would return), plus `chunk_count` / `stitched_chunks` for observability.
|
|
249
|
+
*/
|
|
250
|
+
export declare function buildExpandedHit(row: RawRow, sourceTable: TableName, opts: {
|
|
251
|
+
query?: string;
|
|
252
|
+
expandRoute?: string;
|
|
253
|
+
detail?: DetailLevel;
|
|
254
|
+
}): Promise<CompactHit>;
|
|
170
255
|
/** Derive a stable `source` string (what produced this row). */
|
|
171
256
|
export declare function deriveSource(sourceTable: TableName, row?: RawRow): string;
|
|
172
257
|
/** Derive a compact title. Prefers stored metadata, then first non-empty line. */
|
|
@@ -185,6 +270,16 @@ export interface BuildCompactHitOptions {
|
|
|
185
270
|
detail: DetailLevel;
|
|
186
271
|
/** Route to advertise in `expand.route`. Defaults to "/search". */
|
|
187
272
|
expandRoute?: string;
|
|
273
|
+
/**
|
|
274
|
+
* Total chunk rows collapsed into this representative (from group-by-parent).
|
|
275
|
+
* Recorded as `matched_sections` when > 1.
|
|
276
|
+
*/
|
|
277
|
+
siblingCount?: number | undefined;
|
|
278
|
+
/**
|
|
279
|
+
* Near-duplicate conversation captures folded into this representative (from
|
|
280
|
+
* `collapseConversationDuplicates`). Recorded as `duplicate_count` when > 1.
|
|
281
|
+
*/
|
|
282
|
+
duplicateCount?: number | undefined;
|
|
188
283
|
}
|
|
189
284
|
export declare function buildCompactHit(ranked: RankedResult, row: RawRow | undefined, opts: BuildCompactHitOptions): CompactHit;
|
|
190
285
|
/** Compact markdown rendering of a set of hits — no raw JSON. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../../src/retrieval/compact.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../../src/retrieval/compact.ts"],"names":[],"mappings":"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"}
|