@spool-lab/core 0.5.1 → 0.6.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/dist/db/db.d.ts +1 -1
- package/dist/db/db.d.ts.map +1 -1
- package/dist/db/db.js +159 -2
- package/dist/db/db.js.map +1 -1
- package/dist/db/published-shares-cache.d.ts +39 -0
- package/dist/db/published-shares-cache.d.ts.map +1 -0
- package/dist/db/published-shares-cache.js +60 -0
- package/dist/db/published-shares-cache.js.map +1 -0
- package/dist/db/queries.d.ts +58 -2
- package/dist/db/queries.d.ts.map +1 -1
- package/dist/db/queries.js +210 -26
- package/dist/db/queries.js.map +1 -1
- package/dist/db/search-query.d.ts +7 -0
- package/dist/db/search-query.d.ts.map +1 -1
- package/dist/db/search-query.js +26 -0
- package/dist/db/search-query.js.map +1 -1
- package/dist/db/share-drafts.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/migrations/worktree-identity-upgrade.d.ts +5 -3
- package/dist/migrations/worktree-identity-upgrade.d.ts.map +1 -1
- package/dist/migrations/worktree-identity-upgrade.js +23 -2
- package/dist/migrations/worktree-identity-upgrade.js.map +1 -1
- package/dist/observability/exporter-file.d.ts.map +1 -1
- package/dist/observability/exporter-pretty.d.ts.map +1 -1
- package/dist/observability/exporter-pretty.js.map +1 -1
- package/dist/parsers/claude.d.ts.map +1 -1
- package/dist/parsers/claude.js +4 -144
- package/dist/parsers/claude.js.map +1 -1
- package/dist/parsers/codex.d.ts +7 -1
- package/dist/parsers/codex.d.ts.map +1 -1
- package/dist/parsers/codex.js +47 -177
- package/dist/parsers/codex.js.map +1 -1
- package/dist/parsers/gemini.d.ts.map +1 -1
- package/dist/parsers/gemini.js +102 -2
- package/dist/parsers/gemini.js.map +1 -1
- package/dist/parsers/pi.d.ts +18 -0
- package/dist/parsers/pi.d.ts.map +1 -0
- package/dist/parsers/pi.js +154 -0
- package/dist/parsers/pi.js.map +1 -0
- package/dist/parsers/spool-prelude.d.ts +1 -15
- package/dist/parsers/spool-prelude.d.ts.map +1 -1
- package/dist/parsers/spool-prelude.js +3 -20
- package/dist/parsers/spool-prelude.js.map +1 -1
- package/dist/projects/groups.d.ts +4 -1
- package/dist/projects/groups.d.ts.map +1 -1
- package/dist/projects/groups.js +26 -9
- package/dist/projects/groups.js.map +1 -1
- package/dist/projects/identity.d.ts +1 -1
- package/dist/projects/identity.d.ts.map +1 -1
- package/dist/projects/identity.js +12 -1
- package/dist/projects/identity.js.map +1 -1
- package/dist/projects/sessions.js.map +1 -1
- package/dist/projects/worktree-resolvers.d.ts +3 -0
- package/dist/projects/worktree-resolvers.d.ts.map +1 -1
- package/dist/projects/worktree-resolvers.js +130 -2
- package/dist/projects/worktree-resolvers.js.map +1 -1
- package/dist/security/profile.d.ts.map +1 -1
- package/dist/security/profile.js +2 -3
- package/dist/security/profile.js.map +1 -1
- package/dist/security/purge.d.ts +16 -11
- package/dist/security/purge.d.ts.map +1 -1
- package/dist/security/purge.js +165 -24
- package/dist/security/purge.js.map +1 -1
- package/dist/security/types.d.ts +1 -1
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/worker.d.ts.map +1 -1
- package/dist/security/worker.js +44 -8
- package/dist/security/worker.js.map +1 -1
- package/dist/sync/source-paths.d.ts.map +1 -1
- package/dist/sync/source-paths.js +47 -11
- package/dist/sync/source-paths.js.map +1 -1
- package/dist/sync/syncer.d.ts +59 -1
- package/dist/sync/syncer.d.ts.map +1 -1
- package/dist/sync/syncer.js +172 -36
- package/dist/sync/syncer.js.map +1 -1
- package/dist/sync/watcher.d.ts.map +1 -1
- package/dist/sync/watcher.js +3 -1
- package/dist/sync/watcher.js.map +1 -1
- package/dist/types.d.ts +8 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/util/resolve-bin.js.map +1 -1
- package/package.json +7 -4
package/dist/db/queries.js
CHANGED
|
@@ -1,16 +1,41 @@
|
|
|
1
1
|
import { DB_PATH, getDBSize } from './db.js';
|
|
2
|
-
import { buildSearchPlan, canUseSessionSearchFts, getNaturalSearchPhrase, getNaturalSearchTerms, selectFtsTableKind } from './search-query.js';
|
|
2
|
+
import { buildPreviewFtsPlan, buildSearchPlan, canUseSessionSearchFts, containsCjk, getNaturalSearchPhrase, getNaturalSearchTerms, selectFtsTableKind } from './search-query.js';
|
|
3
3
|
export function getOrCreateProject(db, sourceId, slug, displayPath, displayName, identity) {
|
|
4
4
|
const existing = db
|
|
5
|
-
.prepare('SELECT id FROM projects WHERE source_id = ? AND slug = ?')
|
|
5
|
+
.prepare('SELECT id, identity_kind FROM projects WHERE source_id = ? AND slug = ?')
|
|
6
6
|
.get(sourceId, slug);
|
|
7
|
-
if (existing)
|
|
7
|
+
if (existing) {
|
|
8
|
+
// Project rows predate identity grouping and are keyed by source + slug.
|
|
9
|
+
// A worktree may have been missing on first sync (stored as `path`) and
|
|
10
|
+
// become resolvable later. Refresh the row when the new signal is at least
|
|
11
|
+
// as strong, but never let a temporarily missing checkout downgrade a
|
|
12
|
+
// stable git/manifest identity back to `path`.
|
|
13
|
+
if (identityRank(identity.identityKind) >= identityRank(existing.identity_kind)) {
|
|
14
|
+
db.prepare(`
|
|
15
|
+
UPDATE projects
|
|
16
|
+
SET display_path = ?, display_name = ?, identity_kind = ?, identity_key = ?
|
|
17
|
+
WHERE id = ?
|
|
18
|
+
`).run(displayPath, displayName, identity.identityKind, identity.identityKey, existing.id);
|
|
19
|
+
}
|
|
8
20
|
return existing.id;
|
|
21
|
+
}
|
|
9
22
|
const result = db
|
|
10
23
|
.prepare('INSERT INTO projects (source_id, slug, display_path, display_name, identity_kind, identity_key) VALUES (?, ?, ?, ?, ?, ?)')
|
|
11
24
|
.run(sourceId, slug, displayPath, displayName, identity.identityKind, identity.identityKey);
|
|
12
25
|
return Number(result.lastInsertRowid);
|
|
13
26
|
}
|
|
27
|
+
function identityRank(kind) {
|
|
28
|
+
switch (kind) {
|
|
29
|
+
case 'git_remote': return 5;
|
|
30
|
+
case 'git_common_dir': return 4;
|
|
31
|
+
case 'manifest_path': return 3;
|
|
32
|
+
case 'synthetic':
|
|
33
|
+
case 'spool_internal': return 2;
|
|
34
|
+
case 'loose': return 1;
|
|
35
|
+
case 'path':
|
|
36
|
+
case null: return 0;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
14
39
|
export function getSourceId(db, name) {
|
|
15
40
|
const row = db.prepare('SELECT id FROM sources WHERE name = ?').get(name);
|
|
16
41
|
if (!row)
|
|
@@ -67,7 +92,7 @@ export function getAllSessionMtimes(db) {
|
|
|
67
92
|
.all();
|
|
68
93
|
return new Map(rows.map(r => [r.file_path, r.raw_file_mtime]));
|
|
69
94
|
}
|
|
70
|
-
export function upsertSession(db, opts) {
|
|
95
|
+
export function upsertSession(db, opts, mode = 'rewrite') {
|
|
71
96
|
const existing = db
|
|
72
97
|
.prepare('SELECT id, file_path FROM sessions WHERE session_uuid = ?')
|
|
73
98
|
.get(opts.sessionUuid);
|
|
@@ -82,18 +107,27 @@ export function upsertSession(db, opts) {
|
|
|
82
107
|
console.warn(`[upsertSession] session_uuid ${opts.sessionUuid} switching file_path: `
|
|
83
108
|
+ `${existing.file_path} → ${opts.filePath}`);
|
|
84
109
|
}
|
|
85
|
-
|
|
110
|
+
if (mode === 'rewrite') {
|
|
111
|
+
db.prepare('DELETE FROM messages WHERE session_id = ?').run(existing.id);
|
|
112
|
+
}
|
|
86
113
|
// file_path is updated too: Spool-authored sessions start with a sentinel
|
|
87
114
|
// ('spool:pending:<uuid>') and get rebound to the real source path here on
|
|
88
115
|
// first sync. For normal sessions this is a no-op (same path).
|
|
116
|
+
//
|
|
117
|
+
// `message_count` is intentionally NOT updated here — the syncer
|
|
118
|
+
// recomputes it from the actual DB row count after insertMessages
|
|
119
|
+
// returns, which is the only count consistent with INSERT OR
|
|
120
|
+
// IGNORE-driven dedupe (claude tool-use shadow records would
|
|
121
|
+
// otherwise inflate the parser-derived value back to pre-v14
|
|
122
|
+
// levels on every sync).
|
|
89
123
|
db.prepare(`
|
|
90
124
|
UPDATE sessions SET
|
|
91
125
|
title = CASE WHEN title_source = 'derived' THEN ? ELSE title END,
|
|
92
126
|
file_path = ?,
|
|
93
|
-
started_at = ?, ended_at = ?,
|
|
127
|
+
started_at = ?, ended_at = ?,
|
|
94
128
|
has_tool_use = ?, cwd = ?, model = ?, raw_file_mtime = ?
|
|
95
129
|
WHERE id = ?
|
|
96
|
-
`).run(opts.title, opts.filePath, opts.startedAt, opts.endedAt, opts.
|
|
130
|
+
`).run(opts.title, opts.filePath, opts.startedAt, opts.endedAt, opts.hasToolUse ? 1 : 0, opts.cwd, opts.model, opts.rawFileMtime, existing.id);
|
|
97
131
|
return existing.id;
|
|
98
132
|
}
|
|
99
133
|
const result = db.prepare(`
|
|
@@ -115,16 +149,108 @@ export function upsertSessionSearch(db, opts) {
|
|
|
115
149
|
updated_at = datetime('now')
|
|
116
150
|
`).run(opts.sessionId, opts.title, opts.userText, opts.assistantText);
|
|
117
151
|
}
|
|
152
|
+
/** Rebuild the denormalized session-level search document from the authoritative
|
|
153
|
+
* session title and current message rows. Security purge calls this inside its
|
|
154
|
+
* transaction so raw values cannot survive in either session-level FTS index. */
|
|
155
|
+
export function refreshSessionSearchFromMessages(db, sessionId) {
|
|
156
|
+
const session = db.prepare('SELECT title FROM sessions WHERE id = ?')
|
|
157
|
+
.get(sessionId);
|
|
158
|
+
if (!session)
|
|
159
|
+
return;
|
|
160
|
+
const rows = db.prepare(`
|
|
161
|
+
SELECT role, content_text AS contentText
|
|
162
|
+
FROM messages
|
|
163
|
+
WHERE session_id = ?
|
|
164
|
+
AND is_sidechain = 0
|
|
165
|
+
AND role IN ('user', 'assistant')
|
|
166
|
+
ORDER BY seq, id
|
|
167
|
+
`).all(sessionId);
|
|
168
|
+
const byRole = { user: [], assistant: [] };
|
|
169
|
+
for (const row of rows) {
|
|
170
|
+
const text = row.contentText.trim();
|
|
171
|
+
if (text)
|
|
172
|
+
byRole[row.role].push(text);
|
|
173
|
+
}
|
|
174
|
+
upsertSessionSearch(db, {
|
|
175
|
+
sessionId,
|
|
176
|
+
title: session.title ?? '',
|
|
177
|
+
userText: byRole.user.join('\n'),
|
|
178
|
+
assistantText: byRole.assistant.join('\n'),
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
/** Insert message rows, skipping any that collide with the partial
|
|
182
|
+
* UNIQUE index on (session_id, msg_uuid). Returns the count of rows
|
|
183
|
+
* actually inserted — callers use this to decide whether anything
|
|
184
|
+
* changed (NULL scan_profile, fire onSessionChanged) or to skip
|
|
185
|
+
* downstream work when re-sync was a no-op.
|
|
186
|
+
*
|
|
187
|
+
* The ON CONFLICT clause must restate the same `WHERE msg_uuid IS
|
|
188
|
+
* NOT NULL` predicate as the index it targets; SQLite requires the
|
|
189
|
+
* predicates to match before it considers a partial index for
|
|
190
|
+
* conflict resolution. */
|
|
118
191
|
export function insertMessages(db, sessionId, sourceId, messages) {
|
|
119
192
|
const stmt = db.prepare(`
|
|
120
193
|
INSERT INTO messages
|
|
121
194
|
(session_id, source_id, msg_uuid, parent_uuid, role,
|
|
122
195
|
content_text, timestamp, is_sidechain, tool_names, seq)
|
|
123
196
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
197
|
+
ON CONFLICT(session_id, msg_uuid) WHERE msg_uuid IS NOT NULL DO NOTHING
|
|
124
198
|
`);
|
|
199
|
+
let inserted = 0;
|
|
125
200
|
for (const m of messages) {
|
|
126
|
-
stmt.run(sessionId, sourceId, m.uuid, m.parentUuid, m.role, m.contentText, m.timestamp, m.isSidechain ? 1 : 0, JSON.stringify(m.toolNames), m.seq);
|
|
201
|
+
const info = stmt.run(sessionId, sourceId, m.uuid, m.parentUuid, m.role, m.contentText, m.timestamp, m.isSidechain ? 1 : 0, JSON.stringify(m.toolNames), m.seq);
|
|
202
|
+
if (info.changes > 0)
|
|
203
|
+
inserted++;
|
|
127
204
|
}
|
|
205
|
+
return inserted;
|
|
206
|
+
}
|
|
207
|
+
/** Lightweight snapshot used by the syncer's `classifySync` heuristic
|
|
208
|
+
* to decide between append and rewrite paths — just the row count
|
|
209
|
+
* and the leading uuid in seq order, joined off `session_uuid` so the
|
|
210
|
+
* caller doesn't pay a second `SELECT id FROM sessions` round-trip
|
|
211
|
+
* (upsertSession does that lookup anyway right after).
|
|
212
|
+
*
|
|
213
|
+
* We deliberately do NOT pull `content_text` here: comparing parsed-
|
|
214
|
+
* vs-stored content would trigger rewrite whenever Security Scan has
|
|
215
|
+
* already replaced the raw value with its mask, undoing the purge on
|
|
216
|
+
* every re-sync. Only msg_uuid-bearing rows participate in the dedupe
|
|
217
|
+
* index, so NULL-uuid rows are excluded.
|
|
218
|
+
*
|
|
219
|
+
* Returns `total === 0, firstUuid === null` both for "session row
|
|
220
|
+
* doesn't exist yet" and "session exists with no msg_uuid-bearing
|
|
221
|
+
* rows" — classifySync treats both as `rewrite` so the two-state
|
|
222
|
+
* collapse is intentional, not a lost signal. */
|
|
223
|
+
export function getMessageSnapshot(db, sessionUuid) {
|
|
224
|
+
// Single window-function query: pulls total plus leading and trailing
|
|
225
|
+
// uuids in one index scan over (session_id, msg_uuid). `LIMIT 1`
|
|
226
|
+
// returns the smallest-seq row; `COUNT(*) OVER ()` / `LAST_VALUE`
|
|
227
|
+
// annotate it with the partition-wide total and tail (no GROUP BY
|
|
228
|
+
// needed since the WHERE already scopes to one session).
|
|
229
|
+
const row = db.prepare(`SELECT m.msg_uuid AS msg_uuid,
|
|
230
|
+
COUNT(*) OVER () AS total,
|
|
231
|
+
LAST_VALUE(m.msg_uuid) OVER (
|
|
232
|
+
ORDER BY m.seq, m.id
|
|
233
|
+
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
|
|
234
|
+
) AS last_uuid
|
|
235
|
+
FROM messages m
|
|
236
|
+
JOIN sessions s ON s.id = m.session_id
|
|
237
|
+
WHERE s.session_uuid = ? AND m.msg_uuid IS NOT NULL
|
|
238
|
+
ORDER BY m.seq, m.id LIMIT 1`).get(sessionUuid);
|
|
239
|
+
if (!row)
|
|
240
|
+
return { firstUuid: null, lastUuid: null, total: 0 };
|
|
241
|
+
return { firstUuid: row.msg_uuid, lastUuid: row.last_uuid, total: row.total };
|
|
242
|
+
}
|
|
243
|
+
/** Refresh `sessions.message_count` for a single session from the
|
|
244
|
+
* actual non-sidechain row count. Called after every sync's INSERT
|
|
245
|
+
* block so the denormalised count tracks the deduped truth — the
|
|
246
|
+
* parser's `parsed.messages.length` would re-introduce the v14-fixed
|
|
247
|
+
* inflation for source formats (claude) that emit some records
|
|
248
|
+
* twice. */
|
|
249
|
+
export function recomputeMessageCount(db, sessionId) {
|
|
250
|
+
db.prepare(`UPDATE sessions SET message_count = (
|
|
251
|
+
SELECT COUNT(*) FROM messages
|
|
252
|
+
WHERE session_id = sessions.id AND is_sidechain = 0
|
|
253
|
+
) WHERE id = ?`).run(sessionId);
|
|
128
254
|
}
|
|
129
255
|
export const SESSION_SELECT = `
|
|
130
256
|
SELECT
|
|
@@ -202,15 +328,18 @@ export function searchFragments(db, query, opts = {}) {
|
|
|
202
328
|
export function searchSessionPreview(db, query, opts = {}) {
|
|
203
329
|
const { limit = 5, source, since } = opts;
|
|
204
330
|
const normalizedQuery = query.trim();
|
|
205
|
-
|
|
331
|
+
// Single-character ascii previews stay gated (a per-keystroke full scan
|
|
332
|
+
// buys nothing), but a single CJK character is a meaningful query — it
|
|
333
|
+
// takes the LIKE fallback below, as it did before the FTS preview landed.
|
|
334
|
+
if (Array.from(normalizedQuery).length < 2 && !containsCjk(normalizedQuery))
|
|
206
335
|
return [];
|
|
207
336
|
const terms = getNaturalSearchTerms(query);
|
|
208
337
|
const previewTerms = terms.length > 0 ? terms : [normalizedQuery];
|
|
209
|
-
const rows = searchPreviewRows(db, previewTerms, limit, {
|
|
338
|
+
const rows = searchPreviewRows(db, normalizedQuery, previewTerms, limit, {
|
|
210
339
|
...(source ? { source } : {}),
|
|
211
340
|
...(since ? { since } : {}),
|
|
212
341
|
});
|
|
213
|
-
const snippetRows = selectBestSessionSnippets(db, rows.map(row => row['sessionId']), previewTerms);
|
|
342
|
+
const snippetRows = selectBestSessionSnippets(db, rows.map(row => row['sessionId']), previewTerms, buildPreviewFtsPlan(normalizedQuery));
|
|
214
343
|
return rows.map((row, index) => {
|
|
215
344
|
const sessionId = row['sessionId'];
|
|
216
345
|
const snippetRow = snippetRows.get(sessionId);
|
|
@@ -281,7 +410,52 @@ function searchFragmentRows(db, ftsTable, ftsQuery, limit, opts = {}) {
|
|
|
281
410
|
`;
|
|
282
411
|
return db.prepare(sql).all(...params);
|
|
283
412
|
}
|
|
284
|
-
function searchPreviewRows(db, terms, limit, opts = {}) {
|
|
413
|
+
function searchPreviewRows(db, query, terms, limit, opts = {}) {
|
|
414
|
+
const ftsPlan = buildPreviewFtsPlan(query);
|
|
415
|
+
if (ftsPlan) {
|
|
416
|
+
return searchPreviewRowsByFts(db, query, ftsPlan, limit, opts);
|
|
417
|
+
}
|
|
418
|
+
return searchPreviewRowsByLike(db, terms, limit, opts);
|
|
419
|
+
}
|
|
420
|
+
function searchPreviewRowsByFts(db, query, plan, limit, opts = {}) {
|
|
421
|
+
const { source, since } = opts;
|
|
422
|
+
const ftsTable = plan.tableKind === 'trigram'
|
|
423
|
+
? 'session_search_fts_trigram'
|
|
424
|
+
: 'session_search_fts';
|
|
425
|
+
const conditions = [`${ftsTable} MATCH ?`];
|
|
426
|
+
const filterParams = [plan.query];
|
|
427
|
+
if (source) {
|
|
428
|
+
conditions.push('src2.name = ?');
|
|
429
|
+
filterParams.push(source);
|
|
430
|
+
}
|
|
431
|
+
if (since) {
|
|
432
|
+
conditions.push('sess.started_at >= ?');
|
|
433
|
+
filterParams.push(since);
|
|
434
|
+
}
|
|
435
|
+
const sql = `
|
|
436
|
+
SELECT
|
|
437
|
+
sess.id AS sessionId,
|
|
438
|
+
sess.session_uuid AS sessionUuid,
|
|
439
|
+
sess.file_path AS filePath,
|
|
440
|
+
sess.title AS sessionTitle,
|
|
441
|
+
sess.started_at AS startedAt,
|
|
442
|
+
sess.cwd AS cwd,
|
|
443
|
+
p.display_path AS project,
|
|
444
|
+
src2.name AS source,
|
|
445
|
+
CASE WHEN ss.title LIKE ? ESCAPE '\\' THEN 1 ELSE 0 END AS titlePrefixScore,
|
|
446
|
+
bm25(${ftsTable}, 5.0, 1.5, 0.8) AS ftsScore
|
|
447
|
+
FROM ${ftsTable}
|
|
448
|
+
JOIN session_search ss ON ss.session_id = ${ftsTable}.rowid
|
|
449
|
+
JOIN sessions sess ON sess.id = ss.session_id
|
|
450
|
+
JOIN projects p ON p.id = sess.project_id
|
|
451
|
+
JOIN sources src2 ON src2.id = sess.source_id
|
|
452
|
+
WHERE ${conditions.join(' AND ')}
|
|
453
|
+
ORDER BY titlePrefixScore DESC, ftsScore ASC, sess.started_at DESC
|
|
454
|
+
LIMIT ?
|
|
455
|
+
`;
|
|
456
|
+
return db.prepare(sql).all(`${escapeLike(query)}%`, ...filterParams, limit);
|
|
457
|
+
}
|
|
458
|
+
function searchPreviewRowsByLike(db, terms, limit, opts = {}) {
|
|
285
459
|
const { source, since } = opts;
|
|
286
460
|
const scoreParts = [];
|
|
287
461
|
const scoreParams = [];
|
|
@@ -591,28 +765,36 @@ function searchSessionRowsByFts(db, terms, phrase, limit, matchType, opts = {})
|
|
|
591
765
|
`;
|
|
592
766
|
return db.prepare(sql).all(...params);
|
|
593
767
|
}
|
|
594
|
-
function selectBestSessionSnippets(db, sessionIds, terms) {
|
|
768
|
+
function selectBestSessionSnippets(db, sessionIds, terms, ftsPlan = null) {
|
|
595
769
|
if (sessionIds.length === 0)
|
|
596
770
|
return new Map();
|
|
597
|
-
const coverageExpr = terms.map(() => `CASE WHEN content_text LIKE ? ESCAPE '\\' THEN 1 ELSE 0 END`).join(' + ');
|
|
598
|
-
const anyClauses = terms.map(() => 'content_text LIKE ? ESCAPE \'\\\'').join(' OR ');
|
|
771
|
+
const coverageExpr = terms.map(() => `CASE WHEN m.content_text LIKE ? ESCAPE '\\' THEN 1 ELSE 0 END`).join(' + ');
|
|
772
|
+
const anyClauses = terms.map(() => 'm.content_text LIKE ? ESCAPE \'\\\'').join(' OR ');
|
|
599
773
|
const allPatterns = terms.map(toLikePattern);
|
|
600
774
|
const anyPatterns = terms.map(toLikePattern);
|
|
601
775
|
const sessionPlaceholders = sessionIds.map(() => '?').join(', ');
|
|
776
|
+
const messageSource = ftsPlan
|
|
777
|
+
? `${ftsPlan.tableKind === 'trigram' ? 'messages_fts_trigram' : 'messages_fts'} AS message_matches
|
|
778
|
+
JOIN messages AS m ON m.id = message_matches.rowid`
|
|
779
|
+
: 'messages AS m';
|
|
780
|
+
const matchCondition = ftsPlan
|
|
781
|
+
? 'message_matches.content_text MATCH ?'
|
|
782
|
+
: `(${anyClauses})`;
|
|
783
|
+
const matchParams = ftsPlan ? [ftsPlan.anyTermQuery] : anyPatterns;
|
|
602
784
|
const matchSql = `
|
|
603
785
|
WITH raw AS (
|
|
604
786
|
SELECT
|
|
605
|
-
id AS messageId,
|
|
606
|
-
session_id AS sessionId,
|
|
607
|
-
role AS messageRole,
|
|
608
|
-
timestamp AS messageTimestamp,
|
|
609
|
-
content_text AS contentText,
|
|
610
|
-
seq,
|
|
787
|
+
m.id AS messageId,
|
|
788
|
+
m.session_id AS sessionId,
|
|
789
|
+
m.role AS messageRole,
|
|
790
|
+
m.timestamp AS messageTimestamp,
|
|
791
|
+
m.content_text AS contentText,
|
|
792
|
+
m.seq,
|
|
611
793
|
${coverageExpr} AS termCoverage
|
|
612
|
-
FROM
|
|
613
|
-
WHERE session_id IN (${sessionPlaceholders})
|
|
614
|
-
AND is_sidechain = 0
|
|
615
|
-
AND
|
|
794
|
+
FROM ${messageSource}
|
|
795
|
+
WHERE m.session_id IN (${sessionPlaceholders})
|
|
796
|
+
AND m.is_sidechain = 0
|
|
797
|
+
AND ${matchCondition}
|
|
616
798
|
),
|
|
617
799
|
ranked AS (
|
|
618
800
|
SELECT
|
|
@@ -640,7 +822,7 @@ function selectBestSessionSnippets(db, sessionIds, terms) {
|
|
|
640
822
|
FROM ranked
|
|
641
823
|
WHERE rn = 1
|
|
642
824
|
`;
|
|
643
|
-
const rows = db.prepare(matchSql).all(...allPatterns, ...sessionIds, ...
|
|
825
|
+
const rows = db.prepare(matchSql).all(...allPatterns, ...sessionIds, ...matchParams);
|
|
644
826
|
return new Map(rows.map(row => [row.sessionId, row]));
|
|
645
827
|
}
|
|
646
828
|
export function buildLikeSnippet(text, terms) {
|
|
@@ -732,6 +914,7 @@ export function getStatus(db) {
|
|
|
732
914
|
const codexRow = counts.find(r => r.name === 'codex');
|
|
733
915
|
const geminiRow = counts.find(r => r.name === 'gemini');
|
|
734
916
|
const opencodeRow = counts.find(r => r.name === 'opencode');
|
|
917
|
+
const piRow = counts.find(r => r.name === 'pi');
|
|
735
918
|
return {
|
|
736
919
|
dbPath: DB_PATH,
|
|
737
920
|
totalSessions,
|
|
@@ -739,6 +922,7 @@ export function getStatus(db) {
|
|
|
739
922
|
codexSessions: codexRow?.cnt ?? 0,
|
|
740
923
|
geminiSessions: geminiRow?.cnt ?? 0,
|
|
741
924
|
opencodeSessions: opencodeRow?.cnt ?? 0,
|
|
925
|
+
piSessions: piRow?.cnt ?? 0,
|
|
742
926
|
lastSyncedAt: lastSync?.last ?? null,
|
|
743
927
|
dbSizeBytes: getDBSize(),
|
|
744
928
|
};
|
package/dist/db/queries.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,18 @@ export type SearchPlanStep = {
|
|
|
3
3
|
query: string;
|
|
4
4
|
matchType: 'fts' | 'phrase' | 'all_terms';
|
|
5
5
|
};
|
|
6
|
+
export type PreviewFtsPlan = {
|
|
7
|
+
tableKind: FtsTableKind;
|
|
8
|
+
query: string;
|
|
9
|
+
anyTermQuery: string;
|
|
10
|
+
};
|
|
6
11
|
export declare function buildSearchPlan(query: string): SearchPlanStep[];
|
|
7
12
|
export declare function buildFtsQuery(query: string): string;
|
|
8
13
|
export declare function getNaturalSearchTerms(query: string): string[];
|
|
9
14
|
export declare function getNaturalSearchPhrase(query: string): string;
|
|
10
15
|
export declare function selectFtsTableKind(query: string): FtsTableKind;
|
|
16
|
+
export declare function containsCjk(value: string): boolean;
|
|
11
17
|
export declare function shouldUseSessionFallback(query: string): boolean;
|
|
12
18
|
export declare function canUseSessionSearchFts(query: string): boolean;
|
|
19
|
+
export declare function buildPreviewFtsPlan(query: string): PreviewFtsPlan | null;
|
|
13
20
|
//# sourceMappingURL=search-query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-query.d.ts","sourceRoot":"","sources":["../../src/db/search-query.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,CAAA;AAChD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAA;CAC1C,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAiB/D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAI7D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAE9D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI/D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI7D"}
|
|
1
|
+
{"version":3,"file":"search-query.d.ts","sourceRoot":"","sources":["../../src/db/search-query.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,CAAA;AAChD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,YAAY,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAiB/D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAI7D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAE9D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI/D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI7D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAuBxE"}
|
package/dist/db/search-query.js
CHANGED
|
@@ -31,6 +31,9 @@ export function getNaturalSearchPhrase(query) {
|
|
|
31
31
|
export function selectFtsTableKind(query) {
|
|
32
32
|
return CJK_SEARCH_CHAR.test(query) ? 'trigram' : 'unicode';
|
|
33
33
|
}
|
|
34
|
+
export function containsCjk(value) {
|
|
35
|
+
return CJK_SEARCH_CHAR.test(value);
|
|
36
|
+
}
|
|
34
37
|
export function shouldUseSessionFallback(query) {
|
|
35
38
|
const terms = getNaturalSearchTerms(query);
|
|
36
39
|
if (terms.length < 2)
|
|
@@ -43,6 +46,29 @@ export function canUseSessionSearchFts(query) {
|
|
|
43
46
|
return false;
|
|
44
47
|
return terms.every(term => !containsShortCjkTerm(term));
|
|
45
48
|
}
|
|
49
|
+
export function buildPreviewFtsPlan(query) {
|
|
50
|
+
const terms = getNaturalSearchTerms(query);
|
|
51
|
+
if (terms.length === 0)
|
|
52
|
+
return null;
|
|
53
|
+
const tableKind = selectFtsTableKind(query);
|
|
54
|
+
// Plan terms are ANDed, so a single unmatchable term zeroes out the whole
|
|
55
|
+
// preview. Trigram phrases never match below 3 codepoints (`错误码 42`),
|
|
56
|
+
// and unicode61 tokenizes punctuation-only terms to an empty phrase
|
|
57
|
+
// (`foo =>`). Either shape falls back to the LIKE scan.
|
|
58
|
+
const unmatchable = tableKind === 'trigram'
|
|
59
|
+
? (term) => Array.from(term).length < 3
|
|
60
|
+
: (term) => !/[\p{L}\p{N}]/u.test(term);
|
|
61
|
+
if (terms.some(unmatchable))
|
|
62
|
+
return null;
|
|
63
|
+
const ftsTerms = tableKind === 'unicode'
|
|
64
|
+
? terms.map(term => `${quoteFtsTerm(term)}*`)
|
|
65
|
+
: terms.map(quoteFtsTerm);
|
|
66
|
+
return {
|
|
67
|
+
tableKind,
|
|
68
|
+
query: ftsTerms.join(' AND '),
|
|
69
|
+
anyTermQuery: ftsTerms.join(' OR '),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
46
72
|
function normalizeWhitespace(value) {
|
|
47
73
|
return value.trim().replace(/\s+/g, ' ');
|
|
48
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-query.js","sourceRoot":"","sources":["../../src/db/search-query.ts"],"names":[],"mappings":"AAAA,MAAM,qBAAqB,GAAG,yBAAyB,CAAA;AACvD,MAAM,eAAe,GAAG,0EAA0E,CAAA;
|
|
1
|
+
{"version":3,"file":"search-query.js","sourceRoot":"","sources":["../../src/db/search-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share-drafts.js","sourceRoot":"","sources":["../../src/db/share-drafts.ts"],"names":[],"mappings":"AAwCA,MAAM,SAAS,GAAG,mFAAmF,CAAA;AACrG,MAAM,SAAS,GAAG,GAAG,SAAS,iBAAiB,CAAA;AAE/C;;iEAEiE;AACjE,MAAM,UAAU,eAAe,CAC7B,EAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"share-drafts.js","sourceRoot":"","sources":["../../src/db/share-drafts.ts"],"names":[],"mappings":"AAwCA,MAAM,SAAS,GAAG,mFAAmF,CAAA;AACrG,MAAM,SAAS,GAAG,GAAG,SAAS,iBAAiB,CAAA;AAE/C;;iEAEiE;AACjE,MAAM,UAAU,eAAe,CAC7B,EAAqB,EACrB,IAAI,GAAuB,EAAE;IAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,CAAA;IAC/B,OAAO,EAAE;SACN,OAAO,CAAC,UAAU,SAAS,qDAAqD,CAAC;SACjF,GAAG,CAAC,KAAK,CAAyB,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAqB,EAAE,OAAe;IAClE,OAAO,CACJ,EAAE;SACA,OAAO,CAAC,UAAU,SAAS,uCAAuC,CAAC;SACnE,GAAG,CAAC,OAAO,CAA+B,IAAI,IAAI,CACtD,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAqB,EAAE,KAA4B;IAClF,EAAE,CAAC,OAAO,CACR;;;;;;;;2CAQuC,CACxC,CAAC,GAAG,CACH,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAqB,EAAE,OAAe;IACrE,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAqB,EAAE,WAAmB;IAC7E,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN;iEAC2D,CAC5D;SACA,GAAG,CAAC,WAAW,CAAkB,CAAA;IACpC,OAAO,GAAG,CAAC,CAAC,CAAA;AACd,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,10 +2,12 @@ export * from './types.js';
|
|
|
2
2
|
export * from './db/db.js';
|
|
3
3
|
export * from './db/queries.js';
|
|
4
4
|
export * from './db/share-drafts.js';
|
|
5
|
+
export * from './db/published-shares-cache.js';
|
|
5
6
|
export * from './parsers/claude.js';
|
|
6
7
|
export * from './parsers/codex.js';
|
|
7
8
|
export * from './parsers/gemini.js';
|
|
8
9
|
export * from './parsers/opencode.js';
|
|
10
|
+
export * from './parsers/pi.js';
|
|
9
11
|
export * from './parsers/spool-prelude.js';
|
|
10
12
|
export * from './sync/syncer.js';
|
|
11
13
|
export * from './sync/watcher.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,uBAAuB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,uBAAuB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -2,10 +2,12 @@ export * from './types.js';
|
|
|
2
2
|
export * from './db/db.js';
|
|
3
3
|
export * from './db/queries.js';
|
|
4
4
|
export * from './db/share-drafts.js';
|
|
5
|
+
export * from './db/published-shares-cache.js';
|
|
5
6
|
export * from './parsers/claude.js';
|
|
6
7
|
export * from './parsers/codex.js';
|
|
7
8
|
export * from './parsers/gemini.js';
|
|
8
9
|
export * from './parsers/opencode.js';
|
|
10
|
+
export * from './parsers/pi.js';
|
|
9
11
|
export * from './parsers/spool-prelude.js';
|
|
10
12
|
export * from './sync/syncer.js';
|
|
11
13
|
export * from './sync/watcher.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,uBAAuB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,uBAAuB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA"}
|
|
@@ -12,11 +12,13 @@ import { type IdentityFs } from '../projects/identity.js';
|
|
|
12
12
|
* already grouped under `git_remote: github.com/spool-lab/spool`.
|
|
13
13
|
*
|
|
14
14
|
* This migration re-runs `computeIdentity` against the stored `identity_key`.
|
|
15
|
-
* The resolver chain (
|
|
15
|
+
* The resolver chain (Orca, then Superset) reads each worktree tool's
|
|
16
16
|
* persistent registry to find the upstream main-repo path, runs git on it,
|
|
17
17
|
* and returns a real `git_remote` / `git_common_dir` identity. Same identity
|
|
18
18
|
* tuple as the parent project → `project_groups_v` collapses them into one
|
|
19
|
-
* row in the sidebar without any explicit row merging.
|
|
19
|
+
* row in the sidebar without any explicit row merging. It originally shipped
|
|
20
|
+
* as v10 and is also run on every DB open because resolver state can improve
|
|
21
|
+
* independently of the schema version.
|
|
20
22
|
*
|
|
21
23
|
* Idempotent: re-running sees no `path`-kind candidates that resolve to a
|
|
22
24
|
* different identity, so it's a no-op on the second pass. Rows that still
|
|
@@ -27,5 +29,5 @@ export interface WorktreeUpgradeResult {
|
|
|
27
29
|
examined: number;
|
|
28
30
|
upgraded: number;
|
|
29
31
|
}
|
|
30
|
-
export declare function upgradeWorktreeIdentities(db: Database.Database, fs: IdentityFs): WorktreeUpgradeResult;
|
|
32
|
+
export declare function upgradeWorktreeIdentities(db: Database.Database, fs: IdentityFs, readCodexGitRemote?: (filePath: string) => string | null): WorktreeUpgradeResult;
|
|
31
33
|
//# sourceMappingURL=worktree-identity-upgrade.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-identity-upgrade.d.ts","sourceRoot":"","sources":["../../src/migrations/worktree-identity-upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"worktree-identity-upgrade.d.ts","sourceRoot":"","sources":["../../src/migrations/worktree-identity-upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,EAAE,EAAE,UAAU,EACd,kBAAkB,GAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAgC,GAClF,qBAAqB,CA4CvB"}
|