dsh-locator 0.7.7 → 0.8.1

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.
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Combined search: one request for the three scopes the Web panel shows by
3
+ * default — content (bodies and sessions), files and directories.
4
+ *
5
+ * The name index and the content index live in different stores, so this module
6
+ * owns the orchestration and the merge rules as pure, injectable functions:
7
+ * scope gating, the lazy-build guard for empty queries, per-group degradation
8
+ * and de-duplication of a path that appears both as a body hit and a name hit.
9
+ * @module dsh-locator/combined
10
+ */
11
+ import type { ContentHit, ContentState } from './content.ts';
12
+ import type { SearchArgs, SearchHit, SearchResult } from './runtime.ts';
13
+ /** Which groups a combined request asked for; every scope is on by default. */
14
+ export interface CombinedScopes {
15
+ content: boolean;
16
+ files: boolean;
17
+ dirs: boolean;
18
+ }
19
+ /** A validated combined request with per-group limits already clamped. */
20
+ export interface CombinedRequest {
21
+ query: string;
22
+ limit: number;
23
+ contentLimit: number;
24
+ sort: string;
25
+ desc: boolean;
26
+ scopes: CombinedScopes;
27
+ }
28
+ /** One name-index group: files or directories. */
29
+ export interface NameGroup {
30
+ hits: SearchHit[];
31
+ returned: number;
32
+ total: number;
33
+ truncated: boolean;
34
+ /** Rows dropped because the same path already appears in the content group. */
35
+ deduped: number;
36
+ tookMs: number;
37
+ error?: string;
38
+ }
39
+ /** The content group: body/session hits plus the index state at query time. */
40
+ export interface ContentGroup {
41
+ hits: ContentHit[];
42
+ returned: number;
43
+ /** True when the group was cut off by its page limit. */
44
+ capped: boolean;
45
+ building: boolean;
46
+ files: number;
47
+ sessions: number;
48
+ messages: number;
49
+ truncated: boolean;
50
+ /** Wall-clock time of the content lookup; 0 when it was skipped. */
51
+ tookMs: number;
52
+ error?: string;
53
+ }
54
+ /** Everything the panel needs from one combined search. */
55
+ export interface CombinedResponse {
56
+ scopes: CombinedScopes;
57
+ /** False when the plugin runs with `contentIndex: false`. */
58
+ contentEnabled: boolean;
59
+ content?: ContentGroup;
60
+ files?: NameGroup;
61
+ dirs?: NameGroup;
62
+ tookMs: number;
63
+ }
64
+ /** Dependencies required to run a combined search; the HTTP layer supplies them. */
65
+ export interface CombinedDeps {
66
+ search(args: SearchArgs): Promise<SearchResult>;
67
+ contentSearch?: (query: string, limit: number) => Promise<ContentHit[]>;
68
+ contentStatus?: () => ContentState;
69
+ ensure?: () => void;
70
+ maxResults: number;
71
+ }
72
+ /**
73
+ * Read the three scope flags from a request body. Anything that is not an
74
+ * explicit `false` counts as enabled, so a panel that only sends `{ content:
75
+ * true }` still gets the name groups.
76
+ * @param body - parsed request body.
77
+ * @returns normalized scopes.
78
+ */
79
+ export declare function readScopes(body: Record<string, unknown>): CombinedScopes;
80
+ /**
81
+ * Validate and clamp a combined request body. The two pages have separate
82
+ * limits: content hits are heavier (bodies/snippets) than name rows.
83
+ * @param body - parsed request body.
84
+ * @param maxResults - the plugin's hard per-page cap.
85
+ * @returns a normalized request.
86
+ */
87
+ export declare function readCombinedRequest(body: Record<string, unknown>, maxResults: number): CombinedRequest;
88
+ /**
89
+ * Drop name hits whose path is already present in the content group. Content
90
+ * rows carry the snippet and the jump target, so one row per path is enough;
91
+ * directories are never dropped.
92
+ * @param contentHits - body/session hits from the content index.
93
+ * @param nameHits - hits from the name index.
94
+ * @returns the kept hits and how many were dropped.
95
+ */
96
+ export declare function dedupeNameHits(contentHits: readonly ContentHit[], nameHits: readonly SearchHit[]): {
97
+ hits: SearchHit[];
98
+ deduped: number;
99
+ };
100
+ /**
101
+ * Run one combined search. Empty queries never touch the content index: the
102
+ * panel opens with an empty box, and a lazy content build there would cost
103
+ * minutes and gigabytes for no results. Failures are contained per group so a
104
+ * broken content cache still shows name results.
105
+ * @param deps - stores and the lazy-start hook.
106
+ * @param request - normalized request.
107
+ * @returns grouped result in content → files → dirs order.
108
+ */
109
+ export declare function runCombinedSearch(deps: CombinedDeps, request: CombinedRequest): Promise<CombinedResponse>;
110
+ //# sourceMappingURL=combined.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combined.d.ts","sourceRoot":"","sources":["../src/combined.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,190 @@
1
+ /**
2
+ * Combined search: one request for the three scopes the Web panel shows by
3
+ * default — content (bodies and sessions), files and directories.
4
+ *
5
+ * The name index and the content index live in different stores, so this module
6
+ * owns the orchestration and the merge rules as pure, injectable functions:
7
+ * scope gating, the lazy-build guard for empty queries, per-group degradation
8
+ * and de-duplication of a path that appears both as a body hit and a name hit.
9
+ * @module dsh-locator/combined
10
+ */
11
+ /**
12
+ * Read the three scope flags from a request body. Anything that is not an
13
+ * explicit `false` counts as enabled, so a panel that only sends `{ content:
14
+ * true }` still gets the name groups.
15
+ * @param body - parsed request body.
16
+ * @returns normalized scopes.
17
+ */
18
+ export function readScopes(body) {
19
+ return {
20
+ content: body.content !== false,
21
+ files: body.files !== false,
22
+ dirs: body.dirs !== false,
23
+ };
24
+ }
25
+ /**
26
+ * Validate and clamp a combined request body. The two pages have separate
27
+ * limits: content hits are heavier (bodies/snippets) than name rows.
28
+ * @param body - parsed request body.
29
+ * @param maxResults - the plugin's hard per-page cap.
30
+ * @returns a normalized request.
31
+ */
32
+ export function readCombinedRequest(body, maxResults) {
33
+ const nameLimit = clamp(body.limit, 1, Math.max(1, maxResults), 50);
34
+ const contentLimit = clamp(body.contentLimit, 1, 100, 30);
35
+ return {
36
+ query: typeof body.query === 'string' ? body.query : '',
37
+ limit: nameLimit,
38
+ contentLimit,
39
+ sort: sortKey(body.sort),
40
+ desc: body.desc === true,
41
+ scopes: readScopes(body),
42
+ };
43
+ }
44
+ /**
45
+ * Drop name hits whose path is already present in the content group. Content
46
+ * rows carry the snippet and the jump target, so one row per path is enough;
47
+ * directories are never dropped.
48
+ * @param contentHits - body/session hits from the content index.
49
+ * @param nameHits - hits from the name index.
50
+ * @returns the kept hits and how many were dropped.
51
+ */
52
+ export function dedupeNameHits(contentHits, nameHits) {
53
+ const seen = new Set();
54
+ for (const hit of contentHits)
55
+ seen.add(hit.path);
56
+ if (seen.size === 0)
57
+ return { hits: [...nameHits], deduped: 0 };
58
+ const hits = [];
59
+ let deduped = 0;
60
+ for (const hit of nameHits) {
61
+ if (!hit.dir && seen.has(hit.path)) {
62
+ deduped++;
63
+ continue;
64
+ }
65
+ hits.push(hit);
66
+ }
67
+ return { hits, deduped };
68
+ }
69
+ /**
70
+ * Run one combined search. Empty queries never touch the content index: the
71
+ * panel opens with an empty box, and a lazy content build there would cost
72
+ * minutes and gigabytes for no results. Failures are contained per group so a
73
+ * broken content cache still shows name results.
74
+ * @param deps - stores and the lazy-start hook.
75
+ * @param request - normalized request.
76
+ * @returns grouped result in content → files → dirs order.
77
+ */
78
+ export async function runCombinedSearch(deps, request) {
79
+ const started = Date.now();
80
+ const { scopes, query } = request;
81
+ const contentEnabled = deps.contentSearch !== undefined;
82
+ const wantsContent = scopes.content && contentEnabled;
83
+ // Two characters are the floor for the content store: one-character queries
84
+ // fall back to an unindexed LIKE scan and are not worth a build or a query.
85
+ const askContent = wantsContent && query.trim().length >= 2;
86
+ const contentPromise = wantsContent ? contentGroup(deps, request, askContent) : Promise.resolve(undefined);
87
+ const filesPromise = scopes.files ? nameGroup(deps, request, true) : Promise.resolve(undefined);
88
+ const dirsPromise = scopes.dirs ? nameGroup(deps, request, false) : Promise.resolve(undefined);
89
+ const [content, files, dirs] = await Promise.all([contentPromise, filesPromise, dirsPromise]);
90
+ const dedupedFiles = files === undefined
91
+ ? undefined
92
+ : (() => {
93
+ const result = dedupeNameHits(content?.hits ?? [], files.hits);
94
+ return {
95
+ ...files,
96
+ hits: result.hits,
97
+ returned: result.hits.length,
98
+ deduped: result.deduped,
99
+ truncated: files.truncated || result.deduped > 0,
100
+ };
101
+ })();
102
+ return {
103
+ scopes,
104
+ contentEnabled,
105
+ ...(content === undefined ? {} : { content }),
106
+ ...(dedupedFiles === undefined ? {} : { files: dedupedFiles }),
107
+ ...(dirs === undefined ? {} : { dirs }),
108
+ tookMs: Date.now() - started,
109
+ };
110
+ }
111
+ /** Page through a directory-shaped name query. */
112
+ async function nameGroup(deps, request, files) {
113
+ const started = Date.now();
114
+ try {
115
+ const result = await deps.search({
116
+ query: request.query,
117
+ limit: request.limit,
118
+ offset: 0,
119
+ sort: request.sort,
120
+ desc: request.desc,
121
+ regex: false,
122
+ caseSensitive: false,
123
+ wholeWord: false,
124
+ filesOnly: files,
125
+ dirsOnly: !files,
126
+ });
127
+ return {
128
+ hits: result.hits,
129
+ returned: result.hits.length,
130
+ total: result.total,
131
+ truncated: result.truncated,
132
+ deduped: 0,
133
+ tookMs: result.tookNs / 1e6,
134
+ };
135
+ }
136
+ catch (error) {
137
+ return { hits: [], returned: 0, total: 0, truncated: false, deduped: 0, tookMs: Date.now() - started, error: messageOf(error) };
138
+ }
139
+ }
140
+ /** Query the content store, or report its state without starting a build. */
141
+ async function contentGroup(deps, request, ask) {
142
+ const started = Date.now();
143
+ const empty = () => {
144
+ const state = deps.contentStatus?.();
145
+ return {
146
+ hits: [],
147
+ returned: 0,
148
+ capped: false,
149
+ building: state?.building ?? false,
150
+ files: state?.files ?? 0,
151
+ sessions: state?.sessions ?? 0,
152
+ messages: state?.messages ?? 0,
153
+ truncated: state?.truncated ?? false,
154
+ tookMs: 0,
155
+ };
156
+ };
157
+ if (!ask || deps.contentSearch === undefined)
158
+ return empty();
159
+ try {
160
+ deps.ensure?.();
161
+ const hits = await deps.contentSearch(request.query, request.contentLimit);
162
+ const state = deps.contentStatus?.();
163
+ return {
164
+ hits,
165
+ returned: hits.length,
166
+ capped: hits.length >= request.contentLimit,
167
+ building: state?.building ?? false,
168
+ files: state?.files ?? 0,
169
+ sessions: state?.sessions ?? 0,
170
+ messages: state?.messages ?? 0,
171
+ truncated: state?.truncated ?? false,
172
+ tookMs: Date.now() - started,
173
+ };
174
+ }
175
+ catch (error) {
176
+ return { ...empty(), error: messageOf(error), tookMs: Date.now() - started };
177
+ }
178
+ }
179
+ function clamp(value, min, max, fallback) {
180
+ if (typeof value !== 'number' || !Number.isFinite(value))
181
+ return fallback;
182
+ return Math.min(max, Math.max(min, Math.trunc(value)));
183
+ }
184
+ function sortKey(value) {
185
+ return value === 'name' || value === 'path' || value === 'size' || value === 'mtime' || value === 'ext' ? value : 'mtime';
186
+ }
187
+ function messageOf(error) {
188
+ return error instanceof Error ? error.message : String(error);
189
+ }
190
+ //# sourceMappingURL=combined.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combined.js","sourceRoot":"","sources":["../src/combined.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"content-search.d.ts","sourceRoot":"","sources":["../src/content-search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CA6B1F"}
1
+ {"version":3,"file":"content-search.d.ts","sourceRoot":"","sources":["../src/content-search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAgC1F"}
@@ -19,6 +19,7 @@ export function searchContent(db, query, limit) {
19
19
  // A one- or two-character query cannot use the trigram index, so bound the
20
20
  // payload as well as the row count: never ship a whole megabyte body.
21
21
  rows = db.prepare(`SELECT kind, path, title, session_id, message_id,
22
+ (SELECT node_key FROM docs_meta WHERE docs_meta.rowid = docs.rowid) AS node_key,
22
23
  substr(body, 1, 400) AS snippet, 0 AS score
23
24
  FROM docs WHERE body LIKE '%' || ? || '%' LIMIT ?`).all(text, capped);
24
25
  }
@@ -28,6 +29,7 @@ export function searchContent(db, query, limit) {
28
29
  // inside a matching query (a rowid subquery silently degrades both). The
29
30
  // query runs in the search worker, so its cost stays off the host thread.
30
31
  rows = db.prepare(`SELECT kind, path, title, session_id, message_id,
32
+ (SELECT node_key FROM docs_meta WHERE docs_meta.rowid = docs.rowid) AS node_key,
31
33
  snippet(docs, 0, char(1), char(2), '…', 16) AS snippet, bm25(docs) AS score
32
34
  FROM docs WHERE docs MATCH ? ORDER BY score LIMIT ?`).all(match, capped);
33
35
  }
@@ -38,6 +40,7 @@ export function searchContent(db, query, limit) {
38
40
  snippet: String(row.snippet ?? row.body ?? '').replace(/[\u0001\u0002]/g, ''),
39
41
  ...(row.session_id ? { sessionId: String(row.session_id) } : {}),
40
42
  ...(row.message_id ? { messageId: String(row.message_id) } : {}),
43
+ ...(row.node_key ? { nodeKey: String(row.node_key) } : {}),
41
44
  score: Number(row.score ?? 0),
42
45
  }));
43
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"content-search.js","sourceRoot":"","sources":["../src/content-search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,EAAgB,EAAE,KAAa,EAAE,KAAa;IAC1E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACzB,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAA;IAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IAChD,IAAI,IAAoC,CAAA;IACxC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,2EAA2E;QAC3E,sEAAsE;QACtE,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;wDAEkC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAmC,CAAA;IAC3G,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC7G,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;0DAEoC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAmC,CAAA;IAC9G,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;QACjD,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC7E,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;KAC9B,CAAC,CAAC,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"content-search.js","sourceRoot":"","sources":["../src/content-search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,EAAgB,EAAE,KAAa,EAAE,KAAa;IAC1E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACzB,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAA;IAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IAChD,IAAI,IAAoC,CAAA;IACxC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,2EAA2E;QAC3E,sEAAsE;QACtE,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;wDAGkC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAmC,CAAA;IAC3G,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC7G,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;0DAGoC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAmC,CAAA;IAC9G,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;QACjD,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC7E,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;KAC9B,CAAC,CAAC,CAAA;AACL,CAAC"}
package/lib/content.d.ts CHANGED
@@ -23,6 +23,8 @@ export interface ContentHit {
23
23
  snippet: string;
24
24
  sessionId?: string;
25
25
  messageId?: string;
26
+ /** Exact `data-chat-node-key` of the rendered row, when the host has one. */
27
+ nodeKey?: string;
26
28
  score: number;
27
29
  }
28
30
  export interface ContentState {
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"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"}
package/lib/content.js CHANGED
@@ -27,7 +27,7 @@ import { randomUUID } from 'node:crypto';
27
27
  import { fileURLToPath } from 'node:url';
28
28
  import { Worker } from 'node:worker_threads';
29
29
  import { searchContent } from "./content-search.js";
30
- const SCHEMA_VERSION = 2;
30
+ const SCHEMA_VERSION = 3;
31
31
  /** Work budget between two event-loop yields; keeps host latency low. */
32
32
  const SLICE_MS = 8;
33
33
  /** Wall-clock start of this process; distinguishes a reused pid from a live sibling. */
@@ -302,7 +302,7 @@ export class ContentIndex {
302
302
  body, kind UNINDEXED, path UNINDEXED, title UNINDEXED,
303
303
  session_id UNINDEXED, message_id UNINDEXED, tokenize = 'trigram'
304
304
  )`);
305
- this.db.exec('CREATE TABLE IF NOT EXISTS docs_meta (rowid INTEGER PRIMARY KEY, doc_key TEXT UNIQUE, path TEXT, mtime INTEGER, kind TEXT)');
305
+ this.db.exec('CREATE TABLE IF NOT EXISTS docs_meta (rowid INTEGER PRIMARY KEY, doc_key TEXT UNIQUE, path TEXT, mtime INTEGER, kind TEXT, node_key TEXT)');
306
306
  this.db.exec('CREATE TABLE IF NOT EXISTS sources (path TEXT PRIMARY KEY, mtime INTEGER)');
307
307
  this.db.exec('CREATE INDEX IF NOT EXISTS docs_meta_path ON docs_meta(path)');
308
308
  if (fresh) {
@@ -486,7 +486,7 @@ export class ContentIndex {
486
486
  return false;
487
487
  }
488
488
  this.deleteDoc(row.key);
489
- const meta = this.db.prepare('INSERT INTO docs_meta (doc_key, path, mtime, kind) VALUES (?, ?, ?, ?)').run(row.key, row.path, row.mtime, row.kind);
489
+ const meta = this.db.prepare('INSERT INTO docs_meta (doc_key, path, mtime, kind, node_key) VALUES (?, ?, ?, ?, ?)').run(row.key, row.path, row.mtime, row.kind, row.nodeKey);
490
490
  const rowid = meta.lastInsertRowid;
491
491
  this.db.prepare('INSERT INTO docs (rowid, body, kind, path, title, session_id, message_id) VALUES (?, ?, ?, ?, ?, ?, ?)').run(rowid, row.body, row.kind, row.path, row.title, row.sessionId, row.messageId);
492
492
  this.totalBytes += row.body.length;
@@ -632,7 +632,7 @@ export class ContentIndex {
632
632
  if (buffer.includes(0))
633
633
  return null;
634
634
  const body = buffer.toString('utf8').slice(0, this.options.maxFileBytes);
635
- return { key: `file:${path}`, body, kind: 'file', path, title: name, sessionId: null, messageId: null, mtime };
635
+ return { key: `file:${path}`, body, kind: 'file', path, title: name, sessionId: null, messageId: null, nodeKey: null, mtime };
636
636
  }
637
637
  async indexSessions(generation) {
638
638
  const files = (await this.sessionCandidates()).filter(file => this.settled(file.mtime));
@@ -709,7 +709,7 @@ export class ContentIndex {
709
709
  if (title === '')
710
710
  title = extracted.text.replace(/\s+/g, ' ').slice(0, 90);
711
711
  const body = extracted.text.slice(0, SESSION_BODY_BYTES);
712
- const row = { key: `session:${sessionId}:${extracted.id}`, body, kind: 'session', path: file.path, title: title || sessionId, sessionId, messageId: extracted.id, mtime: file.mtime };
712
+ const row = { key: `session:${sessionId}:${extracted.id}`, body, kind: 'session', path: file.path, title: title || sessionId, sessionId, messageId: extracted.id, nodeKey: extracted.nodeKey, mtime: file.mtime };
713
713
  if (!this.addDoc(row))
714
714
  return false;
715
715
  }
@@ -801,6 +801,10 @@ async function archivedSessionIds() {
801
801
  return new Set();
802
802
  }
803
803
  }
804
+ /** Conversation node key format used by the host DOM (`${kind.length}:${kind}${id}`). */
805
+ function conversationNodeKey(kind, id) {
806
+ return `${kind.length}:${kind}${id}`;
807
+ }
804
808
  function messageText(event) {
805
809
  if (event.type !== 'user/message' && event.type !== 'assistant/message')
806
810
  return undefined;
@@ -822,7 +826,18 @@ function messageText(event) {
822
826
  if (text === '')
823
827
  return undefined;
824
828
  const id = event.type === 'user/message' ? String(data.id ?? '') : String(message.id ?? '');
825
- return { text, id: id || `seq-${String(data.seq ?? '')}` };
829
+ const safeId = id || `seq-${String(data.seq ?? '')}`;
830
+ let nodeKey = null;
831
+ if (event.type === 'user/message' && id !== '') {
832
+ nodeKey = conversationNodeKey('input-message', id);
833
+ }
834
+ else if (event.type === 'assistant/message') {
835
+ const turn = Number(data.turn);
836
+ const step = Number(data.step);
837
+ if (Number.isInteger(turn) && Number.isInteger(step))
838
+ nodeKey = conversationNodeKey('assistant-step', `${turn}:${step}`);
839
+ }
840
+ return { text, id: safeId, nodeKey };
826
841
  }
827
842
  async function sessionFiles(roots) {
828
843
  const out = [];
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"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"}
package/lib/find.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../src/find.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,cAAc,CAAA;AAgB9D,mCAAmC;AACnC,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,mDA0DtE"}
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../src/find.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,cAAc,CAAA;AAiB9D,mCAAmC;AACnC,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,mDA0DtE"}
package/lib/find.js CHANGED
@@ -13,6 +13,7 @@ const HIT = {
13
13
  snippet: { type: 'string' },
14
14
  sessionId: { type: 'string' },
15
15
  messageId: { type: 'string' },
16
+ nodeKey: { type: 'string' },
16
17
  score: { type: 'number' },
17
18
  },
18
19
  };