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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/README.md +7 -3
  2. package/dist/src/capture/auto-capture.d.ts +105 -4
  3. package/dist/src/capture/auto-capture.d.ts.map +1 -1
  4. package/dist/src/capture/auto-capture.js +313 -34
  5. package/dist/src/capture/auto-capture.js.map +1 -1
  6. package/dist/src/capture/claude-cli-triage-provider.d.ts +28 -0
  7. package/dist/src/capture/claude-cli-triage-provider.d.ts.map +1 -0
  8. package/dist/src/capture/claude-cli-triage-provider.js +88 -0
  9. package/dist/src/capture/claude-cli-triage-provider.js.map +1 -0
  10. package/dist/src/capture/codex-cli-triage-provider.d.ts.map +1 -1
  11. package/dist/src/capture/codex-cli-triage-provider.js +1 -33
  12. package/dist/src/capture/codex-cli-triage-provider.js.map +1 -1
  13. package/dist/src/capture/cursor-capture.d.ts +89 -0
  14. package/dist/src/capture/cursor-capture.d.ts.map +1 -0
  15. package/dist/src/capture/cursor-capture.js +121 -0
  16. package/dist/src/capture/cursor-capture.js.map +1 -0
  17. package/dist/src/capture/observability.d.ts +30 -0
  18. package/dist/src/capture/observability.d.ts.map +1 -1
  19. package/dist/src/capture/observability.js +29 -0
  20. package/dist/src/capture/observability.js.map +1 -1
  21. package/dist/src/capture/sources.d.ts +41 -3
  22. package/dist/src/capture/sources.d.ts.map +1 -1
  23. package/dist/src/capture/sources.js +43 -1
  24. package/dist/src/capture/sources.js.map +1 -1
  25. package/dist/src/capture/triage-classification.d.ts +69 -0
  26. package/dist/src/capture/triage-classification.d.ts.map +1 -0
  27. package/dist/src/capture/triage-classification.js +62 -0
  28. package/dist/src/capture/triage-classification.js.map +1 -0
  29. package/dist/src/capture/triage-provider-factory.d.ts +36 -0
  30. package/dist/src/capture/triage-provider-factory.d.ts.map +1 -0
  31. package/dist/src/capture/triage-provider-factory.js +55 -0
  32. package/dist/src/capture/triage-provider-factory.js.map +1 -0
  33. package/dist/src/capture/triage.d.ts +1 -1
  34. package/dist/src/capture/triage.d.ts.map +1 -1
  35. package/dist/src/capture/triage.js +8 -6
  36. package/dist/src/capture/triage.js.map +1 -1
  37. package/dist/src/cli/commands/capture.d.ts.map +1 -1
  38. package/dist/src/cli/commands/capture.js +72 -17
  39. package/dist/src/cli/commands/capture.js.map +1 -1
  40. package/dist/src/cli/commands/chunk-backfill.d.ts +13 -0
  41. package/dist/src/cli/commands/chunk-backfill.d.ts.map +1 -0
  42. package/dist/src/cli/commands/chunk-backfill.js +157 -0
  43. package/dist/src/cli/commands/chunk-backfill.js.map +1 -0
  44. package/dist/src/cli/commands/cursor-probe.d.ts +20 -0
  45. package/dist/src/cli/commands/cursor-probe.d.ts.map +1 -0
  46. package/dist/src/cli/commands/cursor-probe.js +162 -0
  47. package/dist/src/cli/commands/cursor-probe.js.map +1 -0
  48. package/dist/src/cli/commands/onboard.d.ts +22 -2
  49. package/dist/src/cli/commands/onboard.d.ts.map +1 -1
  50. package/dist/src/cli/commands/onboard.js +160 -32
  51. package/dist/src/cli/commands/onboard.js.map +1 -1
  52. package/dist/src/cli/commands/status.d.ts.map +1 -1
  53. package/dist/src/cli/commands/status.js +12 -0
  54. package/dist/src/cli/commands/status.js.map +1 -1
  55. package/dist/src/cli/commands/update.d.ts +34 -1
  56. package/dist/src/cli/commands/update.d.ts.map +1 -1
  57. package/dist/src/cli/commands/update.js +166 -1
  58. package/dist/src/cli/commands/update.js.map +1 -1
  59. package/dist/src/cli/index.d.ts.map +1 -1
  60. package/dist/src/cli/index.js +4 -0
  61. package/dist/src/cli/index.js.map +1 -1
  62. package/dist/src/cli/status/friend-header.d.ts +10 -0
  63. package/dist/src/cli/status/friend-header.d.ts.map +1 -1
  64. package/dist/src/cli/status/friend-header.js +117 -0
  65. package/dist/src/cli/status/friend-header.js.map +1 -1
  66. package/dist/src/cli/status/local-signals.d.ts +23 -0
  67. package/dist/src/cli/status/local-signals.d.ts.map +1 -1
  68. package/dist/src/cli/status/local-signals.js +19 -0
  69. package/dist/src/cli/status/local-signals.js.map +1 -1
  70. package/dist/src/config/schema.d.ts +220 -14
  71. package/dist/src/config/schema.d.ts.map +1 -1
  72. package/dist/src/config/schema.js +82 -7
  73. package/dist/src/config/schema.js.map +1 -1
  74. package/dist/src/diagnostics/claude-preflight.d.ts +34 -0
  75. package/dist/src/diagnostics/claude-preflight.d.ts.map +1 -0
  76. package/dist/src/diagnostics/claude-preflight.js +89 -0
  77. package/dist/src/diagnostics/claude-preflight.js.map +1 -0
  78. package/dist/src/diagnostics/codex-preflight.d.ts +1 -1
  79. package/dist/src/diagnostics/codex-preflight.d.ts.map +1 -1
  80. package/dist/src/diagnostics/codex-preflight.js +14 -0
  81. package/dist/src/diagnostics/codex-preflight.js.map +1 -1
  82. package/dist/src/diagnostics/doctor.d.ts +1 -1
  83. package/dist/src/diagnostics/doctor.d.ts.map +1 -1
  84. package/dist/src/diagnostics/doctor.js +39 -2
  85. package/dist/src/diagnostics/doctor.js.map +1 -1
  86. package/dist/src/ingestion/chunk-meta.d.ts +85 -0
  87. package/dist/src/ingestion/chunk-meta.d.ts.map +1 -0
  88. package/dist/src/ingestion/chunk-meta.js +167 -0
  89. package/dist/src/ingestion/chunk-meta.js.map +1 -0
  90. package/dist/src/ingestion/chunk-text.d.ts +39 -0
  91. package/dist/src/ingestion/chunk-text.d.ts.map +1 -0
  92. package/dist/src/ingestion/chunk-text.js +114 -0
  93. package/dist/src/ingestion/chunk-text.js.map +1 -0
  94. package/dist/src/ingestion/cursor/cursor-store.d.ts +177 -0
  95. package/dist/src/ingestion/cursor/cursor-store.d.ts.map +1 -0
  96. package/dist/src/ingestion/cursor/cursor-store.js +243 -0
  97. package/dist/src/ingestion/cursor/cursor-store.js.map +1 -0
  98. package/dist/src/ingestion/cursor/enrich-roots.d.ts +16 -0
  99. package/dist/src/ingestion/cursor/enrich-roots.d.ts.map +1 -0
  100. package/dist/src/ingestion/cursor/enrich-roots.js +22 -0
  101. package/dist/src/ingestion/cursor/enrich-roots.js.map +1 -0
  102. package/dist/src/ingestion/cursor/vscdb-reader.d.ts +32 -0
  103. package/dist/src/ingestion/cursor/vscdb-reader.d.ts.map +1 -0
  104. package/dist/src/ingestion/cursor/vscdb-reader.js +113 -0
  105. package/dist/src/ingestion/cursor/vscdb-reader.js.map +1 -0
  106. package/dist/src/ingestion/cursor/workspace-root.d.ts +96 -0
  107. package/dist/src/ingestion/cursor/workspace-root.d.ts.map +1 -0
  108. package/dist/src/ingestion/cursor/workspace-root.js +187 -0
  109. package/dist/src/ingestion/cursor/workspace-root.js.map +1 -0
  110. package/dist/src/ingestion/indexer.d.ts.map +1 -1
  111. package/dist/src/ingestion/indexer.js +41 -32
  112. package/dist/src/ingestion/indexer.js.map +1 -1
  113. package/dist/src/jobs/handlers/compact.d.ts.map +1 -1
  114. package/dist/src/jobs/handlers/compact.js +9 -4
  115. package/dist/src/jobs/handlers/compact.js.map +1 -1
  116. package/dist/src/jobs/handlers/ingest.d.ts.map +1 -1
  117. package/dist/src/jobs/handlers/ingest.js +60 -30
  118. package/dist/src/jobs/handlers/ingest.js.map +1 -1
  119. package/dist/src/jobs/handlers/reconcile.d.ts.map +1 -1
  120. package/dist/src/jobs/handlers/reconcile.js +128 -45
  121. package/dist/src/jobs/handlers/reconcile.js.map +1 -1
  122. package/dist/src/jobs/handlers/save.d.ts.map +1 -1
  123. package/dist/src/jobs/handlers/save.js +122 -72
  124. package/dist/src/jobs/handlers/save.js.map +1 -1
  125. package/dist/src/jobs/types.d.ts +1 -1
  126. package/dist/src/main.js +26 -15
  127. package/dist/src/main.js.map +1 -1
  128. package/dist/src/mcp/server.d.ts.map +1 -1
  129. package/dist/src/mcp/server.js +10 -3
  130. package/dist/src/mcp/server.js.map +1 -1
  131. package/dist/src/mcp/tools/context-pack.d.ts.map +1 -1
  132. package/dist/src/mcp/tools/context-pack.js +7 -1
  133. package/dist/src/mcp/tools/context-pack.js.map +1 -1
  134. package/dist/src/mcp/tools/conversations-search.d.ts +1 -1
  135. package/dist/src/mcp/tools/conversations-search.d.ts.map +1 -1
  136. package/dist/src/mcp/tools/conversations-search.js +7 -1
  137. package/dist/src/mcp/tools/conversations-search.js.map +1 -1
  138. package/dist/src/mcp/tools/evidence-feedback.d.ts +60 -0
  139. package/dist/src/mcp/tools/evidence-feedback.d.ts.map +1 -0
  140. package/dist/src/mcp/tools/evidence-feedback.js +62 -0
  141. package/dist/src/mcp/tools/evidence-feedback.js.map +1 -0
  142. package/dist/src/mcp/tools/log-outcome.d.ts +72 -0
  143. package/dist/src/mcp/tools/log-outcome.d.ts.map +1 -0
  144. package/dist/src/mcp/tools/log-outcome.js +59 -0
  145. package/dist/src/mcp/tools/log-outcome.js.map +1 -0
  146. package/dist/src/mcp/tools/open-evidence.d.ts +37 -0
  147. package/dist/src/mcp/tools/open-evidence.d.ts.map +1 -0
  148. package/dist/src/mcp/tools/open-evidence.js +72 -0
  149. package/dist/src/mcp/tools/open-evidence.js.map +1 -0
  150. package/dist/src/mcp/tools/save.d.ts +7 -2
  151. package/dist/src/mcp/tools/save.d.ts.map +1 -1
  152. package/dist/src/mcp/tools/save.js +7 -2
  153. package/dist/src/mcp/tools/save.js.map +1 -1
  154. package/dist/src/mcp/tools/search.d.ts.map +1 -1
  155. package/dist/src/mcp/tools/search.js +7 -1
  156. package/dist/src/mcp/tools/search.js.map +1 -1
  157. package/dist/src/observability/retrieval-feedback.d.ts +82 -0
  158. package/dist/src/observability/retrieval-feedback.d.ts.map +1 -0
  159. package/dist/src/observability/retrieval-feedback.js +231 -0
  160. package/dist/src/observability/retrieval-feedback.js.map +1 -0
  161. package/dist/src/observability/rift-context.d.ts.map +1 -1
  162. package/dist/src/observability/rift-context.js +3 -0
  163. package/dist/src/observability/rift-context.js.map +1 -1
  164. package/dist/src/observability/tool-usage-stats.d.ts +13 -0
  165. package/dist/src/observability/tool-usage-stats.d.ts.map +1 -1
  166. package/dist/src/observability/tool-usage-stats.js +15 -0
  167. package/dist/src/observability/tool-usage-stats.js.map +1 -1
  168. package/dist/src/observability/tool-usage.d.ts +56 -0
  169. package/dist/src/observability/tool-usage.d.ts.map +1 -1
  170. package/dist/src/observability/tool-usage.js +86 -0
  171. package/dist/src/observability/tool-usage.js.map +1 -1
  172. package/dist/src/providers/claude-cli-metadata-extraction.d.ts +47 -0
  173. package/dist/src/providers/claude-cli-metadata-extraction.d.ts.map +1 -0
  174. package/dist/src/providers/claude-cli-metadata-extraction.js +120 -0
  175. package/dist/src/providers/claude-cli-metadata-extraction.js.map +1 -0
  176. package/dist/src/providers/claude-cli-runner.d.ts +92 -0
  177. package/dist/src/providers/claude-cli-runner.d.ts.map +1 -0
  178. package/dist/src/providers/claude-cli-runner.js +598 -0
  179. package/dist/src/providers/claude-cli-runner.js.map +1 -0
  180. package/dist/src/providers/codex-cli-metadata-extraction.d.ts.map +1 -1
  181. package/dist/src/providers/codex-cli-metadata-extraction.js +1 -40
  182. package/dist/src/providers/codex-cli-metadata-extraction.js.map +1 -1
  183. package/dist/src/providers/codex-cli-runner.d.ts +7 -0
  184. package/dist/src/providers/codex-cli-runner.d.ts.map +1 -1
  185. package/dist/src/providers/codex-cli-runner.js +131 -5
  186. package/dist/src/providers/codex-cli-runner.js.map +1 -1
  187. package/dist/src/providers/conversation-generation.d.ts +10 -0
  188. package/dist/src/providers/conversation-generation.d.ts.map +1 -1
  189. package/dist/src/providers/conversation-generation.js +54 -13
  190. package/dist/src/providers/conversation-generation.js.map +1 -1
  191. package/dist/src/providers/openai-metadata-extraction.d.ts +48 -1
  192. package/dist/src/providers/openai-metadata-extraction.d.ts.map +1 -1
  193. package/dist/src/providers/openai-metadata-extraction.js +51 -2
  194. package/dist/src/providers/openai-metadata-extraction.js.map +1 -1
  195. package/dist/src/providers/types.d.ts +1 -1
  196. package/dist/src/providers/types.d.ts.map +1 -1
  197. package/dist/src/providers/types.js +4 -0
  198. package/dist/src/providers/types.js.map +1 -1
  199. package/dist/src/retrieval/compact.d.ts +81 -0
  200. package/dist/src/retrieval/compact.d.ts.map +1 -1
  201. package/dist/src/retrieval/compact.js +248 -8
  202. package/dist/src/retrieval/compact.js.map +1 -1
  203. package/dist/src/retrieval/context-pack.d.ts.map +1 -1
  204. package/dist/src/retrieval/context-pack.js +28 -14
  205. package/dist/src/retrieval/context-pack.js.map +1 -1
  206. package/dist/src/retrieval/evidence-key.d.ts +48 -0
  207. package/dist/src/retrieval/evidence-key.d.ts.map +1 -0
  208. package/dist/src/retrieval/evidence-key.js +131 -0
  209. package/dist/src/retrieval/evidence-key.js.map +1 -0
  210. package/dist/src/retrieval/group-by-parent.d.ts +38 -0
  211. package/dist/src/retrieval/group-by-parent.d.ts.map +1 -0
  212. package/dist/src/retrieval/group-by-parent.js +40 -0
  213. package/dist/src/retrieval/group-by-parent.js.map +1 -0
  214. package/dist/src/retrieval/lexical.d.ts.map +1 -1
  215. package/dist/src/retrieval/lexical.js +1 -3
  216. package/dist/src/retrieval/lexical.js.map +1 -1
  217. package/dist/src/retrieval/receipt.d.ts +57 -0
  218. package/dist/src/retrieval/receipt.d.ts.map +1 -0
  219. package/dist/src/retrieval/receipt.js +119 -0
  220. package/dist/src/retrieval/receipt.js.map +1 -0
  221. package/dist/src/retrieval/reranker.d.ts +12 -2
  222. package/dist/src/retrieval/reranker.d.ts.map +1 -1
  223. package/dist/src/retrieval/reranker.js +11 -4
  224. package/dist/src/retrieval/reranker.js.map +1 -1
  225. package/dist/src/retrieval/stitch-chunks.d.ts +73 -0
  226. package/dist/src/retrieval/stitch-chunks.d.ts.map +1 -0
  227. package/dist/src/retrieval/stitch-chunks.js +106 -0
  228. package/dist/src/retrieval/stitch-chunks.js.map +1 -0
  229. package/dist/src/server/app.d.ts.map +1 -1
  230. package/dist/src/server/app.js +17 -1
  231. package/dist/src/server/app.js.map +1 -1
  232. package/dist/src/server/routes/conversations-search.d.ts.map +1 -1
  233. package/dist/src/server/routes/conversations-search.js +12 -3
  234. package/dist/src/server/routes/conversations-search.js.map +1 -1
  235. package/dist/src/server/routes/friend-status.d.ts +44 -5
  236. package/dist/src/server/routes/friend-status.d.ts.map +1 -1
  237. package/dist/src/server/routes/friend-status.js +74 -6
  238. package/dist/src/server/routes/friend-status.js.map +1 -1
  239. package/dist/src/server/routes/mcp-usage.d.ts +9 -6
  240. package/dist/src/server/routes/mcp-usage.d.ts.map +1 -1
  241. package/dist/src/server/routes/mcp-usage.js.map +1 -1
  242. package/dist/src/server/routes/retrieval-feedback.d.ts +3 -0
  243. package/dist/src/server/routes/retrieval-feedback.d.ts.map +1 -0
  244. package/dist/src/server/routes/retrieval-feedback.js +290 -0
  245. package/dist/src/server/routes/retrieval-feedback.js.map +1 -0
  246. package/dist/src/server/routes/save.d.ts +3 -3
  247. package/dist/src/server/routes/save.d.ts.map +1 -1
  248. package/dist/src/server/routes/save.js +6 -2
  249. package/dist/src/server/routes/save.js.map +1 -1
  250. package/dist/src/server/routes/search.d.ts.map +1 -1
  251. package/dist/src/server/routes/search.js +19 -7
  252. package/dist/src/server/routes/search.js.map +1 -1
  253. package/dist/src/server/serving-marker.d.ts +85 -0
  254. package/dist/src/server/serving-marker.d.ts.map +1 -0
  255. package/dist/src/server/serving-marker.js +226 -0
  256. package/dist/src/server/serving-marker.js.map +1 -0
  257. package/dist/src/storage/chunk-backfill.d.ts +39 -0
  258. package/dist/src/storage/chunk-backfill.d.ts.map +1 -0
  259. package/dist/src/storage/chunk-backfill.js +295 -0
  260. package/dist/src/storage/chunk-backfill.js.map +1 -0
  261. package/dist/src/storage/filter.d.ts +42 -0
  262. package/dist/src/storage/filter.d.ts.map +1 -0
  263. package/dist/src/storage/filter.js +70 -0
  264. package/dist/src/storage/filter.js.map +1 -0
  265. package/dist/src/storage/rebuild.d.ts.map +1 -1
  266. package/dist/src/storage/rebuild.js +44 -27
  267. package/dist/src/storage/rebuild.js.map +1 -1
  268. package/dist/src/storage/tables.d.ts +41 -0
  269. package/dist/src/storage/tables.d.ts.map +1 -1
  270. package/dist/src/storage/tables.js +64 -1
  271. package/dist/src/storage/tables.js.map +1 -1
  272. package/operator/swiftbar/render-menu.py +57 -15
  273. package/package.json +5 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-backfill.js","sourceRoot":"","sources":["../../../src/storage/chunk-backfill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Shared LanceDB filter-construction helpers.
3
+ *
4
+ * LanceDB exposes `.where()` / `.delete()` as SQL-ish filter STRINGS rather than
5
+ * a bind-parameter API, so every interpolated value must be escaped here — one
6
+ * contract, used by every callsite that builds a filter from a `source_path`,
7
+ * `parent_id`, row `id`, or `idempotency_key`. No write path may hand-roll its
8
+ * own escaping.
9
+ *
10
+ * (Also advances the tracked "LanceDB filter hardening" follow-up: centralize
11
+ * id/idempotency-key filter construction + a charset guard before interpolation.)
12
+ */
13
+ export { escapeLike } from "../retrieval/cwd.js";
14
+ /**
15
+ * Escape a value for use inside a single-quoted SQL string literal by doubling
16
+ * embedded single quotes. The canonical escaper for LanceDB `.where()` /
17
+ * `.delete()` equality filters.
18
+ */
19
+ export declare function escapeSql(value: string): string;
20
+ export declare function assertValidRowId(value: string, label?: string): string;
21
+ /**
22
+ * Build an equality filter `column = '<escaped>'`. For id-shaped columns pass
23
+ * `validateAsRowId` so the value is charset-guarded as well as escaped.
24
+ */
25
+ export declare function eqFilter(column: string, value: string, opts?: {
26
+ validateAsRowId?: boolean;
27
+ }): string;
28
+ /**
29
+ * Build an `IN (...)` filter — `column IN ('a', 'b', ...)` — from a list of
30
+ * values, centralizing escaping for the batch-fetch READ paths the same way
31
+ * {@link eqFilter} does for single-value writes. No callsite should hand-roll
32
+ * `id IN (...)` with manual quote replacement.
33
+ *
34
+ * Pass `validateAsRowId` for id-shaped columns to charset-guard every value in
35
+ * addition to escaping. Throws on an empty list: `IN ()` is invalid SQL and
36
+ * every caller already guards against the empty case, so an empty list here is
37
+ * a bug, not a recoverable condition.
38
+ */
39
+ export declare function inFilter(column: string, values: readonly string[], opts?: {
40
+ validateAsRowId?: boolean;
41
+ }): string;
42
+ //# sourceMappingURL=filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/storage/filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAcD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAW,GAAG,MAAM,CAOxE;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,MAAM,CAGR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,IAAI,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,MAAM,CAWR"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Shared LanceDB filter-construction helpers.
3
+ *
4
+ * LanceDB exposes `.where()` / `.delete()` as SQL-ish filter STRINGS rather than
5
+ * a bind-parameter API, so every interpolated value must be escaped here — one
6
+ * contract, used by every callsite that builds a filter from a `source_path`,
7
+ * `parent_id`, row `id`, or `idempotency_key`. No write path may hand-roll its
8
+ * own escaping.
9
+ *
10
+ * (Also advances the tracked "LanceDB filter hardening" follow-up: centralize
11
+ * id/idempotency-key filter construction + a charset guard before interpolation.)
12
+ */
13
+ export { escapeLike } from "../retrieval/cwd.js";
14
+ /**
15
+ * Escape a value for use inside a single-quoted SQL string literal by doubling
16
+ * embedded single quotes. The canonical escaper for LanceDB `.where()` /
17
+ * `.delete()` equality filters.
18
+ */
19
+ export function escapeSql(value) {
20
+ return value.replace(/'/g, "''");
21
+ }
22
+ /**
23
+ * Charset guard for internally-generated identifiers (`id`, `parent_id`).
24
+ *
25
+ * These are never user-authored — they are sha256 hex (docs / web-import rows),
26
+ * UUIDs (save chain roots), or those shapes with a chunk suffix (`:N` / `::N`).
27
+ * Defense-in-depth: reject anything outside that alphabet BEFORE it reaches an
28
+ * interpolated filter, so a malformed id can never smuggle SQL even though the
29
+ * value should already be escaped. Throws on violation; callers treat a throw as
30
+ * a bug, not a recoverable condition.
31
+ */
32
+ const ROW_ID_CHARSET = /^[A-Za-z0-9_:.-]+$/;
33
+ export function assertValidRowId(value, label = "row id") {
34
+ if (!value || !ROW_ID_CHARSET.test(value)) {
35
+ throw new Error(`Invalid ${label} for filter (expected [A-Za-z0-9_:.-]): ${JSON.stringify(value)}`);
36
+ }
37
+ return value;
38
+ }
39
+ /**
40
+ * Build an equality filter `column = '<escaped>'`. For id-shaped columns pass
41
+ * `validateAsRowId` so the value is charset-guarded as well as escaped.
42
+ */
43
+ export function eqFilter(column, value, opts = {}) {
44
+ const checked = opts.validateAsRowId ? assertValidRowId(value, column) : value;
45
+ return `${column} = '${escapeSql(checked)}'`;
46
+ }
47
+ /**
48
+ * Build an `IN (...)` filter — `column IN ('a', 'b', ...)` — from a list of
49
+ * values, centralizing escaping for the batch-fetch READ paths the same way
50
+ * {@link eqFilter} does for single-value writes. No callsite should hand-roll
51
+ * `id IN (...)` with manual quote replacement.
52
+ *
53
+ * Pass `validateAsRowId` for id-shaped columns to charset-guard every value in
54
+ * addition to escaping. Throws on an empty list: `IN ()` is invalid SQL and
55
+ * every caller already guards against the empty case, so an empty list here is
56
+ * a bug, not a recoverable condition.
57
+ */
58
+ export function inFilter(column, values, opts = {}) {
59
+ if (values.length === 0) {
60
+ throw new Error(`inFilter requires at least one value for column ${column}`);
61
+ }
62
+ const quoted = values.map((value) => {
63
+ const checked = opts.validateAsRowId
64
+ ? assertValidRowId(value, column)
65
+ : value;
66
+ return `'${escapeSql(checked)}'`;
67
+ });
68
+ return `${column} IN (${quoted.join(", ")})`;
69
+ }
70
+ //# sourceMappingURL=filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/storage/filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAE5C,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,KAAK,GAAG,QAAQ;IAC9D,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,WAAW,KAAK,2CAA2C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACnF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CACtB,MAAc,EACd,KAAa,EACb,OAAsC,EAAE;IAExC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/E,OAAO,GAAG,MAAM,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CACtB,MAAc,EACd,MAAyB,EACzB,OAAsC,EAAE;IAExC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,mDAAmD,MAAM,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe;YAClC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC;YACjC,CAAC,CAAC,KAAK,CAAC;QACV,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,MAAM,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rebuild.d.ts","sourceRoot":"","sources":["../../../src/storage/rebuild.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAW/D,OAAO,KAAK,EAIV,SAAS,EACV,MAAM,aAAa,CAAC;AAWrB;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,sBAAsB,CAAC,EAAE,iBAAiB,CAAC;CAC5C;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,mCAAmC,EAAE,MAAM,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAgD3E;AA2TD,MAAM,MAAM,YAAY,GACpB,KAAK,GACL,eAAe,GACf,WAAW,GACX,iBAAiB,CAAC;AAEtB,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,KAAK,EAAE,YAAY,CAAC;IACpB,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sBAAsB,CAAC,EAAE,iBAAiB,CAAC;CAC5C;AAED,wBAAsB,OAAO,CAC3B,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,sBAAsB,CAAC,EAAE,iBAAiB,GACzC,OAAO,CAAC,MAAM,CAAC,CA2CjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAoDjB;AAyPD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG1E;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,GACf,IAAI,GAAG,SAAS,CAclB"}
1
+ {"version":3,"file":"rebuild.d.ts","sourceRoot":"","sources":["../../../src/storage/rebuild.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAa/D,OAAO,KAAK,EAIV,SAAS,EACV,MAAM,aAAa,CAAC;AAWrB;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,sBAAsB,CAAC,EAAE,iBAAiB,CAAC;CAC5C;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,mCAAmC,EAAE,MAAM,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAgD3E;AA2UD,MAAM,MAAM,YAAY,GACpB,KAAK,GACL,eAAe,GACf,WAAW,GACX,iBAAiB,CAAC;AAEtB,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,KAAK,EAAE,YAAY,CAAC;IACpB,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sBAAsB,CAAC,EAAE,iBAAiB,CAAC;CAC5C;AAED,wBAAsB,OAAO,CAC3B,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,sBAAsB,CAAC,EAAE,iBAAiB,GACzC,OAAO,CAAC,MAAM,CAAC,CA2CjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAoDjB;AAyPD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG1E;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,GACf,IAAI,GAAG,SAAS,CAclB"}
@@ -14,6 +14,8 @@ import { walkDirectory } from "../ingestion/scanner.js";
14
14
  import { isSupported } from "../ingestion/extractor.js";
15
15
  import { buildIgnoredPaths } from "../ingestion/ignored-paths.js";
16
16
  import { fileId } from "../ingestion/indexer.js";
17
+ import { chunkText, chunkingEnabled } from "../ingestion/chunk-text.js";
18
+ import { docChunkId, docChunkMetadata } from "../ingestion/chunk-meta.js";
17
19
  import { conversationContentFingerprint } from "../ingestion/inbox-core/conversation-fingerprint.js";
18
20
  import { createShadowSwap } from "./shadow-swap.js";
19
21
  import { recordEmbed } from "../observability/embedding-events.js";
@@ -119,36 +121,45 @@ async function populateStructuredDocsShadows(deps, swap, swaps, populated, repor
119
121
  const targetShadow = isLocal ? localShadow : cloudShadow;
120
122
  try {
121
123
  const content = fs.readFileSync(canonical, "utf-8");
122
- const embedding = await recordEmbed(deps.dataDir, provider, {
123
- pipeline: "backfill",
124
- operation: "structured_doc_embedding",
125
- input_count: 1,
126
- }, () => provider.embed(content));
127
- const row = {
128
- id,
129
- source_path: canonical,
130
- content,
131
- embedding,
132
- source_type: owner.mode === "watch"
133
- ? "filesystem_watched"
134
- : "filesystem_scheduled_scan",
135
- source_scope: owner.scope,
136
- client_name: owner.client_name ?? "",
137
- indexed_at: new Date().toISOString(),
138
- metadata: "{}",
139
- };
124
+ const sourceType = owner.mode === "watch"
125
+ ? "filesystem_watched"
126
+ : "filesystem_scheduled_scan";
140
127
  const targetTableName = isLocal
141
128
  ? "structured_docs_local"
142
129
  : "structured_docs";
143
- await recordIndexWrite(deps.dataDir, {
144
- table: targetTableName,
145
- pipeline: "backfill",
146
- operation: "structured_doc_upsert",
147
- row_count: 1,
148
- phase: "shadow",
149
- }, () => targetShadow.add([row]));
150
- populated.set(targetTableName, (populated.get(targetTableName) ?? 0) + 1);
151
- report.rows_reindexed++;
130
+ const indexedAt = new Date().toISOString();
131
+ // Re-chunk on rebuild (flag-gated). chunkText short-circuits small docs
132
+ // (and the flag-off case) to one chunk, so the row stays byte-identical.
133
+ const chunks = chunkingEnabled() ? chunkText(content) : [content];
134
+ const count = chunks.length;
135
+ for (let i = 0; i < count; i++) {
136
+ const chunk = chunks[i];
137
+ const embedding = await recordEmbed(deps.dataDir, provider, {
138
+ pipeline: "backfill",
139
+ operation: "structured_doc_embedding",
140
+ input_count: 1,
141
+ }, () => provider.embed(chunk));
142
+ const row = {
143
+ id: count > 1 ? docChunkId(id, i) : id,
144
+ source_path: canonical,
145
+ content: chunk,
146
+ embedding,
147
+ source_type: sourceType,
148
+ source_scope: owner.scope,
149
+ client_name: owner.client_name ?? "",
150
+ indexed_at: indexedAt,
151
+ metadata: JSON.stringify(docChunkMetadata({}, i, count)),
152
+ };
153
+ await recordIndexWrite(deps.dataDir, {
154
+ table: targetTableName,
155
+ pipeline: "backfill",
156
+ operation: "structured_doc_upsert",
157
+ row_count: 1,
158
+ phase: "shadow",
159
+ }, () => targetShadow.add([row]));
160
+ }
161
+ populated.set(targetTableName, (populated.get(targetTableName) ?? 0) + count);
162
+ report.rows_reindexed += count;
152
163
  }
153
164
  catch (err) {
154
165
  process.stderr.write(`rebuild: failed to index ${canonical}: ${err instanceof Error ? err.message : String(err)}\n`);
@@ -239,6 +250,12 @@ async function populateConversationShadows(deps, swap, swaps, populated, report)
239
250
  embedding_provider: isPlaceholderEmbeddingProvider(deps.embeddingProvider)
240
251
  ? RIFT_NONE_EMBEDDING_PROVIDER
241
252
  : "",
253
+ // PR1: rebuild reconstructs ONE whole row per conversation from its raw
254
+ // artifact. Re-chunking existing conversations is the deferred
255
+ // historical-backfill path, so chunk markers stay empty here.
256
+ parent_id: "",
257
+ chunk_index: "",
258
+ chunk_count: "",
242
259
  };
243
260
  const filenameTime = extractTimestampFromFilename(file);
244
261
  const rowTime = filenameTime ?? fs.statSync(rawPath).mtime;
@@ -1 +1 @@
1
- {"version":3,"file":"rebuild.js","sourceRoot":"","sources":["../../../src/storage/rebuild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rebuild.js","sourceRoot":"","sources":["../../../src/storage/rebuild.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,26 @@ export interface ConversationRow {
61
61
  * NOT a backfill target.
62
62
  */
63
63
  embedding_provider: string;
64
+ /**
65
+ * Chunk markers (index-time chunking). All three are empty strings for an
66
+ * unchunked conversation or a legacy row written before these columns
67
+ * existed. When a long conversation is split, every chunk row shares the same
68
+ * `parent_id` and conversation-level metadata; only `content`/`embedding`/
69
+ * `chunk_index` differ.
70
+ * - `parent_id`: stable conversation key shared by all chunks (the save
71
+ * chain-root id, or the web-import stable row id). Empty = unchunked.
72
+ * - `chunk_index`: 0-based ordinal within the set ("" = unchunked).
73
+ * - `chunk_count`: total chunks; `> 1` is the explicit marker retrieval
74
+ * grouping + replay completeness checks key on. "" / "1" = single
75
+ * unmarked row that is never grouped.
76
+ *
77
+ * Optional in the type (legacy/null rows read as unchunked), but ALWAYS
78
+ * written by production producers via `conversationChunkColumns(...)`. The
79
+ * columns themselves always exist on disk (seed + `migrateConversationColumns`).
80
+ */
81
+ parent_id?: string;
82
+ chunk_index?: string;
83
+ chunk_count?: string;
64
84
  }
65
85
  export interface DigestRow {
66
86
  [key: string]: unknown;
@@ -81,6 +101,27 @@ export declare function isSwapInProgress(): boolean;
81
101
  * Creates tables that don't exist; opens tables that already do.
82
102
  */
83
103
  export declare function initTables(dataDir: string): Promise<void>;
104
+ /**
105
+ * Open EXISTING tables into the handle cache WITHOUT creating or migrating any.
106
+ *
107
+ * The read-only counterpart to {@link initTables}, for recon/dry-run/diagnostic
108
+ * paths that must never mutate the live schema. `initTables` adds missing
109
+ * columns (`migrateConversationColumns`) and creates missing tables — both are
110
+ * schema writes. Running it from a chunk-aware tool against a dir served by a
111
+ * pre-chunk daemon is what added the chunk columns and broke that daemon's
112
+ * writes (the `chunk-backfill --dry-run` incident). A read-only consumer has no
113
+ * business doing either, so it opens tables as-is and leaves the schema and the
114
+ * on-disk version untouched.
115
+ *
116
+ * Opens every table in {@link TABLE_NAMES} that exists; silently skips ones that
117
+ * don't (it will NOT create them). Any name in `require` that is missing throws
118
+ * a clear error rather than being created — so a caller that needs a specific
119
+ * table fails loudly instead of operating on a table that a later
120
+ * schema-migrating open would have silently created.
121
+ */
122
+ export declare function openTablesReadOnly(dataDir: string, opts?: {
123
+ require?: readonly TableName[];
124
+ }): Promise<void>;
84
125
  /**
85
126
  * Get a typed table handle. Throws if tables haven't been initialized
86
127
  * or if a shadow swap is in progress.
@@ -1 +1 @@
1
- {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../src/storage/tables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../src/storage/tables.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,9 @@ function conversationSeed() {
74
74
  conversation_fingerprint: "",
75
75
  metadata_provider: "",
76
76
  embedding_provider: "",
77
+ parent_id: "",
78
+ chunk_index: "",
79
+ chunk_count: "",
77
80
  }];
78
81
  }
79
82
  function digestSeed() {
@@ -124,6 +127,56 @@ export async function initTables(dataDir) {
124
127
  }
125
128
  }
126
129
  }
130
+ /**
131
+ * Open EXISTING tables into the handle cache WITHOUT creating or migrating any.
132
+ *
133
+ * The read-only counterpart to {@link initTables}, for recon/dry-run/diagnostic
134
+ * paths that must never mutate the live schema. `initTables` adds missing
135
+ * columns (`migrateConversationColumns`) and creates missing tables — both are
136
+ * schema writes. Running it from a chunk-aware tool against a dir served by a
137
+ * pre-chunk daemon is what added the chunk columns and broke that daemon's
138
+ * writes (the `chunk-backfill --dry-run` incident). A read-only consumer has no
139
+ * business doing either, so it opens tables as-is and leaves the schema and the
140
+ * on-disk version untouched.
141
+ *
142
+ * Opens every table in {@link TABLE_NAMES} that exists; silently skips ones that
143
+ * don't (it will NOT create them). Any name in `require` that is missing throws
144
+ * a clear error rather than being created — so a caller that needs a specific
145
+ * table fails loudly instead of operating on a table that a later
146
+ * schema-migrating open would have silently created.
147
+ */
148
+ export async function openTablesReadOnly(dataDir, opts = {}) {
149
+ const dbPath = path.join(dataDir, "lancedb");
150
+ const conn = await getConnection(dbPath);
151
+ const existing = new Set(await conn.tableNames());
152
+ // Drop any handles cached from a PRIOR open (a different data dir, or an
153
+ // earlier boot of this one). Without this, a read-only open of dir B that
154
+ // skips a table missing from B would leave dir A's handle for that table in
155
+ // the cache, and getTable() would silently serve dir A's data. A read-only
156
+ // open must reflect exactly the tables that exist in `dataDir`, nothing else.
157
+ for (const table of tableHandles.values()) {
158
+ try {
159
+ table.close();
160
+ }
161
+ catch {
162
+ // Already closed / never opened — nothing to release.
163
+ }
164
+ }
165
+ tableHandles.clear();
166
+ for (const name of opts.require ?? []) {
167
+ if (!existing.has(name)) {
168
+ throw new Error(`Table "${name}" does not exist at ${dbPath}. Read-only open will ` +
169
+ `not create or migrate tables — boot the daemon (or run an explicit ` +
170
+ `write-mode command) to initialize storage first.`);
171
+ }
172
+ }
173
+ for (const name of TABLE_NAMES) {
174
+ if (!existing.has(name))
175
+ continue;
176
+ const table = await conn.openTable(name);
177
+ tableHandles.set(name, table);
178
+ }
179
+ }
127
180
  /**
128
181
  * Backfill string columns added to the conversation schema after a table
129
182
  * was first created. Each missing column is added filled with an empty
@@ -134,6 +187,9 @@ export async function initTables(dataDir) {
134
187
  * "enriched / valid / provider-unknown" — i.e. a legacy row is never
135
188
  * mistaken for a no-AI (`rift-basic`) or no-key (`rift-none`) row, so
136
189
  * it is never targeted by a future enrichment/embedding backfill.
190
+ * - `parent_id` / `chunk_index` / `chunk_count`: empty means
191
+ * unchunked/legacy — `chunk_count` empty (or "1") is read as "not part of
192
+ * a chunk set", so a legacy single-row conversation is never grouped.
137
193
  *
138
194
  * Idempotent: only columns absent from the live schema are added, so this
139
195
  * is safe to call on every startup across mixed-vintage tables.
@@ -143,7 +199,14 @@ async function migrateConversationColumns(name, table) {
143
199
  return;
144
200
  const schema = await table.schema();
145
201
  const present = new Set(schema.fields.map((f) => f.name));
146
- const missing = ["conversation_fingerprint", "metadata_provider", "embedding_provider"]
202
+ const missing = [
203
+ "conversation_fingerprint",
204
+ "metadata_provider",
205
+ "embedding_provider",
206
+ "parent_id",
207
+ "chunk_index",
208
+ "chunk_count",
209
+ ]
147
210
  .filter((col) => !present.has(col))
148
211
  .map((col) => ({ name: col, valueSql: "CAST('' AS STRING)" }));
149
212
  if (missing.length === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../src/storage/tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EACL,oBAAoB,EACpB,0BAA0B,GAO3B,MAAM,uBAAuB,CAAC;AAE/B,sBAAsB;AAEtB,oDAAoD;AACpD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,iBAAiB;IACjB,mBAAmB;IACnB,oBAAoB;IACpB,SAAS;CACD,CAAC;AAEX,gEAAgE;AAChE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,gBAAgB;IACnB,uBAAuB;CACf,CAAC;AA6EX,uDAAuD;AAEvD,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;AAClC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,KAAK,CAAS,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtE,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,IAAI,KAAK,CAAS,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEjF,SAAS,iBAAiB;IACxB,OAAO,CAAC;YACN,EAAE,EAAE,OAAO;YACX,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,OAAO,EAAE;YACpB,WAAW,EAAE,oBAAoB;YACjC,YAAY,EAAE,SAAS;YACvB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO,CAAC;YACN,EAAE,EAAE,OAAO;YACX,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,YAAY,EAAE;YACzB,WAAW,EAAE,oBAAoB;YACjC,YAAY,EAAE,SAAS;YACvB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,CAAC;YACN,EAAE,EAAE,OAAO;YACX,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,OAAO,EAAE;YACpB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,EAAE;YACnB,wBAAwB,EAAE,EAAE;YAC5B,iBAAiB,EAAE,EAAE;YACrB,kBAAkB,EAAE,EAAE;SACvB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CAAC;YACN,EAAE,EAAE,OAAO;YACX,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,OAAO,EAAE;YACpB,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;AACL,CAAC;AAED,6BAA6B;AAE7B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;AAEjD;;;;GAIG;AACH,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,MAAM,UAAU,iBAAiB,CAAC,CAAU;IAC1C,cAAc,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IAEzC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9C,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC;YACxC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,0BAA0B,CACvC,IAAe,EACf,KAAY;IAEZ,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,oBAAoB;QAAE,OAAO;IAC1E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAI,CAAC,0BAA0B,EAAE,mBAAmB,EAAE,oBAAoB,CAAW;SAC/F,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAClC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;IACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAe;IACtC,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,6CAA6C,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,QAAQ,CAAC,IAAe,EAAE,KAAY;IACpD,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;QACpD,CAAC;IACH,CAAC;IACD,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,8DAA8D;YAC9D,0DAA0D;QAC5D,CAAC;IACH,CAAC;AACH,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,WAAW;IACzB,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IACD,YAAY,CAAC,KAAK,EAAE,CAAC;IACrB,eAAe,EAAE,CAAC;AACpB,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,WAAW;IACzB,YAAY,CAAC,KAAK,EAAE,CAAC;IACrB,kBAAkB,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAe;IAC1C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,iBAAiB;YACpB,OAAO,iBAAiB,EAAE,CAAC;QAC7B,KAAK,uBAAuB;YAC1B,OAAO,sBAAsB,EAAE,CAAC;QAClC,KAAK,mBAAmB,CAAC;QACzB,KAAK,oBAAoB;YACvB,OAAO,gBAAgB,EAAE,CAAC;QAC5B,KAAK,SAAS;YACZ,OAAO,UAAU,EAAE,CAAC;IACxB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../src/storage/tables.ts"],"names":[],"mappings":"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"}