dsh-locator 0.6.2 → 0.7.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.0 — 2026-11-10
4
+
5
+ * Incremental content refresh: `docs_meta`/`sources` store each file/session mtime, so the 2-minute background refresh only re-reads changed sources.
6
+ * `locator_reindex` tool and `/dsh-locator/content/rebuild` route: incremental by default, `full: true` drops and rebuilds the database.
7
+ * `contentRefreshMs` config (default 120000; 0 disables auto refresh).
8
+ * Empty `contentSessionDirs` in tests no longer falls back to the real `$DSH_HOME/sessions`; an explicit empty list means no sessions.
9
+ * Engine rebuilt at 0.7.0 so `locator_status` no longer reports 0.5.3.
10
+
11
+ ## 0.6.3 — 2026-11-10
12
+
13
+ * Content-index defaults enlarged 4×: `contentMaxFileBytes` 1MB → 4MB, `contentMaxFiles` 50k → 200k, `contentMaxSessions` 50 → 200. All remain configurable.
14
+ * New `contentMaxTotalBytes` (default 2GB) stops the build before the content database can grow without bound; `locator_find`/`/content` report `truncated`.
15
+ * README defaults/table updated.
16
+
3
17
  ## 0.6.2 — 2026-11-10
4
18
 
5
19
  * Content database now creates `stateDir` before opening SQLite; a fresh profile with no engine snapshot yet no longer fails with `unable to open database file`.
package/README.en.md CHANGED
@@ -76,7 +76,7 @@ The first scan of a large home directory reads the disk; later starts load the s
76
76
 
77
77
  ## Web search panel
78
78
 
79
- ![dsh-locator search panel: path-filtered Markdown results with hit count, timing and sortable columns](docs/assets/panel-en.png)
79
+ ![dsh-locator search panel: content mode checked, showing body matches and snippets](docs/assets/panel-en.png)
80
80
 
81
81
  Press `Ctrl+Shift+F` anywhere in the Web GUI, or click the magnifier at the sidebar foot. The overlay queries the same index through two same-origin host routes (`POST /dsh-locator/search`, `POST /dsh-locator/status`), so it needs no second server and no extra port.
82
82
 
@@ -98,7 +98,7 @@ Press `Ctrl+Shift+F` anywhere in the Web GUI, or click the magnifier at the side
98
98
 
99
99
  ### Content search
100
100
 
101
- `locator_find` searches the **bodies** of text files and DSH session messages through a local SQLite FTS5 index. Hits return a snippet plus `sessionId`/`messageId` for conversations, so the panel can open the session and scroll to the matched text. The index is built in the background after the name scan; text files are capped by `contentMaxFileBytes`, and the most recent `contentMaxSessions` session logs are indexed by default.
101
+ `locator_find` searches the **bodies** of text files and DSH session messages through a local SQLite FTS5 index. Hits return a snippet plus `sessionId`/`messageId` for conversations, so the panel can open the session and scroll to the matched text. The index is built in the background after the name scan; text files are capped by `contentMaxFileBytes`, the total body store by `contentMaxTotalBytes`, and the most recent `contentMaxSessions` session logs are indexed by default. An incremental refresh runs every `contentRefreshMs` (2 minutes) and only re-reads changed files/sessions; `locator_reindex` triggers it manually (`full: true` rebuilds everything).
102
102
 
103
103
  ### Query language
104
104
 
package/README.md CHANGED
@@ -57,7 +57,7 @@ dsh plugin --profile web add /绝对路径/dsh-locator
57
57
 
58
58
  # 从 tarball
59
59
  npm pack
60
- dsh plugin --profile web add /绝对路径/dsh-locator-0.6.0.tgz
60
+ dsh plugin --profile web add /绝对路径/dsh-locator-0.7.0.tgz
61
61
  ```
62
62
 
63
63
  npm 包里已经带了六个平台的预编译引擎:`linux-x64`、`linux-arm64`、`win32-x64`、`win32-arm64`、`darwin-x64`、`darwin-arm64`。
@@ -91,12 +91,13 @@ Everything 风格的查询语法,返回路径、大小、修改时间、扩展
91
91
  - 文件命中带路径,直接打开或定位;
92
92
  - 会话命中带 `sessionId` 和 `messageId`,可以跳回那次对话;
93
93
  - 中文和英文子串都能搜,不要求分词。
94
+ - 启动后每 2 分钟做一次增量刷新,只重读 mtime 变化的文件/会话;也可以手动触发全量重建。
94
95
 
95
- 内容索引在后台构建,刚启动时可能只覆盖了一部分,工具和面板都会显示构建状态。默认只索引 1MB 以内的文本文件,最多 5 万个文件、最近 50 个会话;这些都能在配置里改。
96
+ 内容索引在后台构建,刚启动时可能只覆盖了一部分,工具和面板都会显示构建状态。默认只索引 4MB 以内的文本文件,最多 20 万个文件、最近 200 个会话,内容总量上限 2GB;这些都能在配置里改。
96
97
 
97
98
  ## Web 面板
98
99
 
99
- ![搜索面板:按路径过滤 Markdown,显示命中数、耗时和排序](docs/assets/panel-zh.png)
100
+ ![搜索面板:勾选“搜内容”后在文件正文中搜索,显示命中片段和路径](docs/assets/panel-zh.png)
100
101
 
101
102
  在 Web GUI 里按 `Ctrl+Shift+F`,或者点侧栏底部的放大镜。
102
103
 
@@ -116,7 +117,8 @@ Everything 风格的查询语法,返回路径、大小、修改时间、扩展
116
117
  | `locator_search` | 按文件名/路径搜索,支持 `ext:`、`size:`、`dm:`、`path:` 等过滤。 |
117
118
  | `locator_find` | 按文件正文和会话内容搜索,返回片段与 `sessionId`/`messageId`。 |
118
119
  | `locator_status` | 查看根目录、条目数、监听状态、内容索引进度和引擎版本。 |
119
- | `locator_rebuild` | 后台重建索引;新索引就绪前,搜索继续使用旧的。 |
120
+ | `locator_rebuild` | 后台重建文件名索引;新索引就绪前,搜索继续使用旧的。 |
121
+ | `locator_reindex` | 重建/刷新内容索引:默认增量,`full: true` 全量。 |
120
122
  | `locator_export` | 把文件名索引导出成只读 SQLite,方便外部工具查询。 |
121
123
 
122
124
  ### 查询语法
@@ -147,9 +149,11 @@ case:1 wholeword:1 区分大小写 / 全词匹配
147
149
  | `windowsUsn` | `false` | Windows 上尝试 USN/MFT 快路径,需要管理员权限。 |
148
150
  | `memoryLimitMB` | 0 | 引擎的 Go 软堆上限;0 表示交给 `GOMEMLIMIT`/`GOGC`。 |
149
151
  | `contentIndex` | `true` | 是否构建文件正文/会话内容索引。 |
150
- | `contentMaxFileBytes` | 1000000 | 单个文本文件最多读多少字节。 |
151
- | `contentMaxFiles` | 50000 | 最多索引多少个文件;0 表示不限制。 |
152
- | `contentMaxSessions` | 50 | 最多索引最近多少个会话;0 表示全部。 |
152
+ | `contentMaxFileBytes` | 4000000 | 单个文本文件最多读多少字节。 |
153
+ | `contentMaxTotalBytes` | 2000000000 | 内容库总量上限;0 表示不限制。 |
154
+ | `contentMaxFiles` | 200000 | 最多索引多少个文件;0 表示不限制。 |
155
+ | `contentMaxSessions` | 200 | 最多索引最近多少个会话;0 表示全部。 |
156
+ | `contentRefreshMs` | 120000 | 内容增量刷新周期;0 关闭自动刷新。 |
153
157
  | `contentSessionDirs` | `$DSH_HOME/sessions` | 额外的会话目录。 |
154
158
  | `stateDir` | 系统缓存 | 快照和内容数据库的位置。 |
155
159
 
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/lib/config.d.ts CHANGED
@@ -27,6 +27,10 @@ export interface Config {
27
27
  contentIndex: boolean;
28
28
  /** Maximum bytes read from one text file. */
29
29
  contentMaxFileBytes: number;
30
+ /** Stop adding content after this many body bytes; 0 means unlimited. */
31
+ contentMaxTotalBytes: number;
32
+ /** Incremental content refresh cadence; 0 disables it. */
33
+ contentRefreshMs: number;
30
34
  /** Maximum text files indexed per build; 0 means no cap. */
31
35
  contentMaxFiles: number;
32
36
  /** Most recent session logs indexed; 0 means all. */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAE7C,oCAAoC;AACpC,MAAM,WAAW,MAAM;IACrB,iEAAiE;IACjE,OAAO,EAAE,OAAO,CAAA;IAChB,2EAA2E;IAC3E,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,2EAA2E;IAC3E,KAAK,EAAE,OAAO,CAAA;IACd;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAA;IACzB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAA;IACnB,gFAAgF;IAChF,aAAa,EAAE,MAAM,CAAA;IACrB,iFAAiF;IACjF,YAAY,EAAE,OAAO,CAAA;IACrB,6CAA6C;IAC7C,mBAAmB,EAAE,MAAM,CAAA;IAC3B,4DAA4D;IAC5D,eAAe,EAAE,MAAM,CAAA;IACvB,qDAAqD;IACrD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,iEAAiE;IACjE,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAA;IAChB,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAA;IAClB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,CAAA;IACxB,2CAA2C;IAC3C,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,yEAAyE;AACzE,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CA6BhC,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAE7C,oCAAoC;AACpC,MAAM,WAAW,MAAM;IACrB,iEAAiE;IACjE,OAAO,EAAE,OAAO,CAAA;IAChB,2EAA2E;IAC3E,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,2EAA2E;IAC3E,KAAK,EAAE,OAAO,CAAA;IACd;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAA;IACzB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAA;IACnB,gFAAgF;IAChF,aAAa,EAAE,MAAM,CAAA;IACrB,iFAAiF;IACjF,YAAY,EAAE,OAAO,CAAA;IACrB,6CAA6C;IAC7C,mBAAmB,EAAE,MAAM,CAAA;IAC3B,yEAAyE;IACzE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,0DAA0D;IAC1D,gBAAgB,EAAE,MAAM,CAAA;IACxB,4DAA4D;IAC5D,eAAe,EAAE,MAAM,CAAA;IACvB,qDAAqD;IACrD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,iEAAiE;IACjE,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAA;IAChB,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAA;IAClB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,CAAA;IACxB,2CAA2C;IAC3C,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,yEAAyE;AACzE,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CA+BhC,CAAA"}
package/lib/config.js CHANGED
@@ -23,9 +23,11 @@ export const Config = Schema.object({
23
23
  scanWorkers: Schema.number().default(0),
24
24
  memoryLimitMB: Schema.number().default(0),
25
25
  contentIndex: Schema.boolean().default(true),
26
- contentMaxFileBytes: Schema.number().default(1_000_000),
27
- contentMaxFiles: Schema.number().default(50_000),
28
- contentMaxSessions: Schema.number().default(50),
26
+ contentMaxFileBytes: Schema.number().default(4_000_000),
27
+ contentMaxTotalBytes: Schema.number().default(2_000_000_000),
28
+ contentRefreshMs: Schema.number().default(120_000),
29
+ contentMaxFiles: Schema.number().default(200_000),
30
+ contentMaxSessions: Schema.number().default(200),
29
31
  contentSessionDirs: Schema.array(Schema.string()).default([]),
30
32
  windowsUsn: Schema.boolean().default(false),
31
33
  stateDir: Schema.string().default(''),
package/lib/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAiD7C,yEAAyE;AACzE,MAAM,CAAC,MAAM,MAAM,GAAmB,MAAM,CAAC,MAAM,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;QAC9C,cAAc;QACd,MAAM;QACN,KAAK;QACL,MAAM;QACN,QAAQ;QACR,aAAa;QACb,OAAO;QACP,MAAM;QACN,OAAO;KACR,CAAC;IACF,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACrC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACrD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5C,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACvD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IAChD,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7D,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IACxC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IAClD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CAClD,CAAC,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAqD7C,yEAAyE;AACzE,MAAM,CAAC,MAAM,MAAM,GAAmB,MAAM,CAAC,MAAM,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;QAC9C,cAAc;QACd,MAAM;QACN,KAAK;QACL,MAAM;QACN,QAAQ;QACR,aAAa;QACb,OAAO;QACP,MAAM;QACN,OAAO;KACR,CAAC;IACF,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACrC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACrD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5C,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACvD,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;IAC5D,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IAClD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IACjD,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAChD,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7D,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IACxC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IAClD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CAClD,CAAC,CAAA"}
package/lib/content.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * Content search: text files and DSH session messages in SQLite FTS5.
3
3
  *
4
- * The file-name index stays in the Go engine. This store is built beside it:
5
- * the engine's `dump` RPC supplies the already-scanned file list, Node reads
6
- * text files and decompresses `session.v4.jsonl.zstd` logs, and SQLite's
7
- * trigram tokenizer gives substring/CJK search with snippets.
4
+ * File names stay in the Go engine. This store is built from the engine's
5
+ * `dump` RPC plus the session logs: Node reads text bodies, decompresses
6
+ * `session.v4.jsonl.zstd`, and SQLite's trigram tokenizer gives substring and
7
+ * CJK search. A meta table stores each source's mtime so refresh() only
8
+ * re-reads what changed; rebuild() drops and rebuilds everything.
8
9
  * @module dsh-locator/content
9
10
  */
10
11
  import type { LocatorRuntime } from './runtime.ts';
11
- /** One searchable document. */
12
12
  export interface ContentHit {
13
13
  kind: 'file' | 'session';
14
14
  path: string;
@@ -18,39 +18,59 @@ export interface ContentHit {
18
18
  messageId?: string;
19
19
  score: number;
20
20
  }
21
- /** Build progress shown by the panel/status. */
22
21
  export interface ContentState {
23
22
  building: boolean;
24
23
  files: number;
25
24
  sessions: number;
26
25
  messages: number;
26
+ truncated: boolean;
27
27
  error: string;
28
28
  updatedAt: number;
29
29
  }
30
- /** The content store; one instance per plugin. */
30
+ export interface ContentOptions {
31
+ stateDir: string;
32
+ sessionDirs?: string[] | undefined;
33
+ maxFileBytes: number;
34
+ maxTotalBytes?: number;
35
+ maxFiles: number;
36
+ maxSessions: number;
37
+ }
31
38
  export declare class ContentIndex {
32
39
  private readonly rt;
33
40
  private readonly options;
34
41
  private db;
35
42
  private readonly state;
36
43
  private generation;
37
- constructor(rt: LocatorRuntime, options: {
38
- stateDir: string;
39
- sessionDirs: string[];
40
- maxFileBytes: number;
41
- maxFiles: number;
42
- maxSessions: number;
43
- });
44
+ private totalBytes;
45
+ private timer;
46
+ constructor(rt: LocatorRuntime, options: ContentOptions);
44
47
  status(): ContentState;
45
- /** Close the database when the plugin unmounts. */
48
+ /** Start periodic incremental refreshes; 0 disables. */
49
+ startAutoRefresh(ms: number): void;
50
+ /** Queue a full rebuild; false when one is already running. */
51
+ rebuild(): boolean;
52
+ /** Queue an incremental refresh; false when one is already running. */
53
+ refreshNow(): boolean;
46
54
  close(): void;
47
- /** Build in the background; stale generations stop at their next checkpoint. */
55
+ /** Build everything from scratch. */
48
56
  start(): void;
49
- private build;
50
- private indexSessions;
57
+ /** Re-read changed files/sessions; open the DB when this is the first run. */
58
+ refresh(): void;
59
+ private begin;
60
+ private full;
61
+ private incremental;
62
+ private open;
63
+ private finish;
64
+ private addDoc;
65
+ private deleteDoc;
66
+ private deletePath;
51
67
  private indexFiles;
52
- private sessionRoots;
53
- /** Query the FTS table; short queries fall back to LIKE because trigram needs 3 chars. */
68
+ private refreshFiles;
69
+ private readFileDoc;
70
+ private indexSessions;
71
+ private refreshSessions;
72
+ private indexSessionFile;
73
+ sessionRoots(): string[];
54
74
  search(query: string, limit: number): ContentHit[];
55
75
  }
56
76
  //# sourceMappingURL=content.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAWlD,+BAA+B;AAC/B,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,gDAAgD;AAChD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,kDAAkD;AAClD,qBAAa,YAAY;IAKX,OAAO,CAAC,QAAQ,CAAC,EAAE;IAAkB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJzE,OAAO,CAAC,EAAE,CAAkD;IAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiG;IACvH,OAAO,CAAC,UAAU,CAAI;gBAEO,EAAE,EAAE,cAAc,EAAmB,OAAO,EAAE;QACzE,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,EAAE,MAAM,EAAE,CAAA;QACrB,YAAY,EAAE,MAAM,CAAA;QACpB,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,EAAE,MAAM,CAAA;KACpB;IAED,MAAM,IAAI,YAAY;IAEtB,mDAAmD;IACnD,KAAK,IAAI,IAAI;IAOb,gFAAgF;IAChF,KAAK,IAAI,IAAI;YAWC,KAAK;YAuCL,aAAa;YAgCb,UAAU;IAyBxB,OAAO,CAAC,YAAY;IAMpB,0FAA0F;IAC1F,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE;CA8BnD"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAWlD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAClC,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB;AAaD,qBAAa,YAAY;IAOX,OAAO,CAAC,QAAQ,CAAC,EAAE;IAAkB,OAAO,CAAC,QAAQ,CAAC,OAAO;IANzE,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmH;IACzI,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,KAAK,CAA4B;gBAEZ,EAAE,EAAE,cAAc,EAAmB,OAAO,EAAE,cAAc;IAEzF,MAAM,IAAI,YAAY;IAEtB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKlC,+DAA+D;IAC/D,OAAO,IAAI,OAAO;IAMlB,uEAAuE;IACvE,UAAU,IAAI,OAAO;IAMrB,KAAK,IAAI,IAAI;IAQb,qCAAqC;IACrC,KAAK,IAAI,IAAI;IAEb,8EAA8E;IAC9E,OAAO,IAAI,IAAI;IAEf,OAAO,CAAC,KAAK;YAcC,IAAI;YAUJ,WAAW;IAUzB,OAAO,CAAC,IAAI;IAmBZ,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,MAAM;IAcd,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,UAAU;YAOJ,UAAU;YAoBV,YAAY;IA2B1B,OAAO,CAAC,WAAW;YAOL,aAAa;YAUb,eAAe;IAoB7B,OAAO,CAAC,gBAAgB;IAmBxB,YAAY,IAAI,MAAM,EAAE;IAKxB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE;CA8BnD"}