@spool-lab/core 0.4.1 → 0.4.20

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 (152) hide show
  1. package/dist/db/db.d.ts +28 -1
  2. package/dist/db/db.d.ts.map +1 -1
  3. package/dist/db/db.js +320 -17
  4. package/dist/db/db.js.map +1 -1
  5. package/dist/db/queries.d.ts +36 -11
  6. package/dist/db/queries.d.ts.map +1 -1
  7. package/dist/db/queries.js +118 -83
  8. package/dist/db/queries.js.map +1 -1
  9. package/dist/db/share-drafts.d.ts +51 -0
  10. package/dist/db/share-drafts.d.ts.map +1 -0
  11. package/dist/db/share-drafts.js +47 -0
  12. package/dist/db/share-drafts.js.map +1 -0
  13. package/dist/doctor/checks/config.d.ts +3 -0
  14. package/dist/doctor/checks/config.d.ts.map +1 -0
  15. package/dist/doctor/checks/config.js +123 -0
  16. package/dist/doctor/checks/config.js.map +1 -0
  17. package/dist/doctor/checks/db.d.ts +3 -0
  18. package/dist/doctor/checks/db.d.ts.map +1 -0
  19. package/dist/doctor/checks/db.js +225 -0
  20. package/dist/doctor/checks/db.js.map +1 -0
  21. package/dist/doctor/checks/env.d.ts +3 -0
  22. package/dist/doctor/checks/env.d.ts.map +1 -0
  23. package/dist/doctor/checks/env.js +70 -0
  24. package/dist/doctor/checks/env.js.map +1 -0
  25. package/dist/doctor/checks/index.d.ts +3 -0
  26. package/dist/doctor/checks/index.d.ts.map +1 -0
  27. package/dist/doctor/checks/index.js +13 -0
  28. package/dist/doctor/checks/index.js.map +1 -0
  29. package/dist/doctor/checks/native.d.ts +3 -0
  30. package/dist/doctor/checks/native.d.ts.map +1 -0
  31. package/dist/doctor/checks/native.js +42 -0
  32. package/dist/doctor/checks/native.js.map +1 -0
  33. package/dist/doctor/checks/versions.d.ts +3 -0
  34. package/dist/doctor/checks/versions.d.ts.map +1 -0
  35. package/dist/doctor/checks/versions.js +79 -0
  36. package/dist/doctor/checks/versions.js.map +1 -0
  37. package/dist/doctor/index.d.ts +3 -0
  38. package/dist/doctor/index.d.ts.map +1 -0
  39. package/dist/doctor/index.js +3 -0
  40. package/dist/doctor/index.js.map +1 -0
  41. package/dist/doctor/preflight.d.ts +18 -0
  42. package/dist/doctor/preflight.d.ts.map +1 -0
  43. package/dist/doctor/preflight.js +27 -0
  44. package/dist/doctor/preflight.js.map +1 -0
  45. package/dist/doctor/runner.d.ts +12 -0
  46. package/dist/doctor/runner.d.ts.map +1 -0
  47. package/dist/doctor/runner.js +37 -0
  48. package/dist/doctor/runner.js.map +1 -0
  49. package/dist/doctor/types.d.ts +27 -0
  50. package/dist/doctor/types.d.ts.map +1 -0
  51. package/dist/doctor/types.js +2 -0
  52. package/dist/doctor/types.js.map +1 -0
  53. package/dist/index.d.ts +7 -1
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +7 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/migrations/agent-search-cleanup.d.ts +36 -0
  58. package/dist/migrations/agent-search-cleanup.d.ts.map +1 -0
  59. package/dist/migrations/agent-search-cleanup.js +182 -0
  60. package/dist/migrations/agent-search-cleanup.js.map +1 -0
  61. package/dist/migrations/worktree-identity-upgrade.d.ts +31 -0
  62. package/dist/migrations/worktree-identity-upgrade.d.ts.map +1 -0
  63. package/dist/migrations/worktree-identity-upgrade.js +22 -0
  64. package/dist/migrations/worktree-identity-upgrade.js.map +1 -0
  65. package/dist/parsers/claude.d.ts.map +1 -1
  66. package/dist/parsers/claude.js +25 -12
  67. package/dist/parsers/claude.js.map +1 -1
  68. package/dist/parsers/codex.d.ts.map +1 -1
  69. package/dist/parsers/codex.js +32 -5
  70. package/dist/parsers/codex.js.map +1 -1
  71. package/dist/parsers/gemini.d.ts.map +1 -1
  72. package/dist/parsers/gemini.js +5 -5
  73. package/dist/parsers/gemini.js.map +1 -1
  74. package/dist/parsers/spool-prelude.d.ts +16 -0
  75. package/dist/parsers/spool-prelude.d.ts.map +1 -0
  76. package/dist/parsers/spool-prelude.js +21 -0
  77. package/dist/parsers/spool-prelude.js.map +1 -0
  78. package/dist/projects/display-name.d.ts +2 -0
  79. package/dist/projects/display-name.d.ts.map +1 -0
  80. package/dist/projects/display-name.js +8 -0
  81. package/dist/projects/display-name.js.map +1 -0
  82. package/dist/projects/fs.d.ts +3 -0
  83. package/dist/projects/fs.d.ts.map +1 -0
  84. package/dist/projects/fs.js +20 -0
  85. package/dist/projects/fs.js.map +1 -0
  86. package/dist/projects/groups.d.ts +4 -0
  87. package/dist/projects/groups.d.ts.map +1 -0
  88. package/dist/projects/groups.js +20 -0
  89. package/dist/projects/groups.js.map +1 -0
  90. package/dist/projects/identity-synthesizers.d.ts +22 -0
  91. package/dist/projects/identity-synthesizers.d.ts.map +1 -0
  92. package/dist/projects/identity-synthesizers.js +29 -0
  93. package/dist/projects/identity-synthesizers.js.map +1 -0
  94. package/dist/projects/identity.d.ts +16 -0
  95. package/dist/projects/identity.d.ts.map +1 -0
  96. package/dist/projects/identity.js +172 -0
  97. package/dist/projects/identity.js.map +1 -0
  98. package/dist/projects/sessions.d.ts +40 -0
  99. package/dist/projects/sessions.d.ts.map +1 -0
  100. package/dist/projects/sessions.js +151 -0
  101. package/dist/projects/sessions.js.map +1 -0
  102. package/dist/projects/worktree-resolvers.d.ts +19 -0
  103. package/dist/projects/worktree-resolvers.d.ts.map +1 -0
  104. package/dist/projects/worktree-resolvers.js +65 -0
  105. package/dist/projects/worktree-resolvers.js.map +1 -0
  106. package/dist/security/index.d.ts +14 -0
  107. package/dist/security/index.d.ts.map +1 -0
  108. package/dist/security/index.js +7 -0
  109. package/dist/security/index.js.map +1 -0
  110. package/dist/security/maintenance.d.ts +15 -0
  111. package/dist/security/maintenance.d.ts.map +1 -0
  112. package/dist/security/maintenance.js +68 -0
  113. package/dist/security/maintenance.js.map +1 -0
  114. package/dist/security/profile.d.ts +47 -0
  115. package/dist/security/profile.d.ts.map +1 -0
  116. package/dist/security/profile.js +122 -0
  117. package/dist/security/profile.js.map +1 -0
  118. package/dist/security/purge.d.ts +49 -0
  119. package/dist/security/purge.d.ts.map +1 -0
  120. package/dist/security/purge.js +159 -0
  121. package/dist/security/purge.js.map +1 -0
  122. package/dist/security/repo.d.ts +141 -0
  123. package/dist/security/repo.d.ts.map +1 -0
  124. package/dist/security/repo.js +469 -0
  125. package/dist/security/repo.js.map +1 -0
  126. package/dist/security/scan.d.ts +50 -0
  127. package/dist/security/scan.d.ts.map +1 -0
  128. package/dist/security/scan.js +120 -0
  129. package/dist/security/scan.js.map +1 -0
  130. package/dist/security/types.d.ts +128 -0
  131. package/dist/security/types.d.ts.map +1 -0
  132. package/dist/security/types.js +10 -0
  133. package/dist/security/types.js.map +1 -0
  134. package/dist/security/worker.d.ts +53 -0
  135. package/dist/security/worker.d.ts.map +1 -0
  136. package/dist/security/worker.js +180 -0
  137. package/dist/security/worker.js.map +1 -0
  138. package/dist/sync/source-paths.d.ts +1 -0
  139. package/dist/sync/source-paths.d.ts.map +1 -1
  140. package/dist/sync/source-paths.js +13 -3
  141. package/dist/sync/source-paths.js.map +1 -1
  142. package/dist/sync/syncer.d.ts +8 -1
  143. package/dist/sync/syncer.d.ts.map +1 -1
  144. package/dist/sync/syncer.js +37 -17
  145. package/dist/sync/syncer.js.map +1 -1
  146. package/dist/types.d.ts +28 -6
  147. package/dist/types.d.ts.map +1 -1
  148. package/dist/util/resolve-bin.d.ts +34 -0
  149. package/dist/util/resolve-bin.d.ts.map +1 -1
  150. package/dist/util/resolve-bin.js +175 -20
  151. package/dist/util/resolve-bin.js.map +1 -1
  152. package/package.json +5 -2
@@ -1,14 +1,14 @@
1
1
  import { DB_PATH, getDBSize } from './db.js';
2
2
  import { buildSearchPlan, canUseSessionSearchFts, getNaturalSearchPhrase, getNaturalSearchTerms, selectFtsTableKind } from './search-query.js';
3
- export function getOrCreateProject(db, sourceId, slug, displayPath, displayName) {
3
+ export function getOrCreateProject(db, sourceId, slug, displayPath, displayName, identity) {
4
4
  const existing = db
5
5
  .prepare('SELECT id FROM projects WHERE source_id = ? AND slug = ?')
6
6
  .get(sourceId, slug);
7
7
  if (existing)
8
8
  return existing.id;
9
9
  const result = db
10
- .prepare('INSERT INTO projects (source_id, slug, display_path, display_name) VALUES (?, ?, ?, ?)')
11
- .run(sourceId, slug, displayPath, displayName);
10
+ .prepare('INSERT INTO projects (source_id, slug, display_path, display_name, identity_kind, identity_key) VALUES (?, ?, ?, ?, ?, ?)')
11
+ .run(sourceId, slug, displayPath, displayName, identity.identityKind, identity.identityKey);
12
12
  return Number(result.lastInsertRowid);
13
13
  }
14
14
  export function getSourceId(db, name) {
@@ -17,6 +17,39 @@ export function getSourceId(db, name) {
17
17
  throw new Error(`Source '${name}' not found in DB`);
18
18
  return row.id;
19
19
  }
20
+ /**
21
+ * Get/create the virtual "Asks" project that holds Spool-authored agent-search
22
+ * sessions. One per source so each agent's sessions stay grouped under their
23
+ * own row in project_groups_v (joined by identity for cross-source grouping).
24
+ */
25
+ export function getOrCreateAskProject(db, source) {
26
+ const sourceId = getSourceId(db, source);
27
+ return getOrCreateProject(db, sourceId, '__spool_ask__', '<spool:ask>', 'Asks', { identityKind: 'spool_internal', identityKey: 'ask' });
28
+ }
29
+ /**
30
+ * Insert a session row authored by Spool itself (e.g. agent search). Title is
31
+ * locked via title_source='spool' so subsequent sync of the source-side JSONL
32
+ * won't overwrite it. file_path uses a sentinel ('spool:pending:<uuid>') that
33
+ * upsertSession rebinds to the real path when sync first sees the JSONL.
34
+ *
35
+ * Idempotent: if a row with the same session_uuid already exists, returns its
36
+ * id without modifying anything.
37
+ */
38
+ export function insertSpoolAuthoredSession(db, opts) {
39
+ const existing = db.prepare('SELECT id FROM sessions WHERE session_uuid = ?')
40
+ .get(opts.sessionUuid);
41
+ if (existing)
42
+ return existing.id;
43
+ const now = new Date().toISOString();
44
+ const sentinel = `spool:pending:${opts.sessionUuid}`;
45
+ const result = db.prepare(`
46
+ INSERT INTO sessions
47
+ (project_id, source_id, session_uuid, file_path, title, title_source,
48
+ started_at, ended_at, message_count, has_tool_use, cwd, model, raw_file_mtime)
49
+ VALUES (?, ?, ?, ?, ?, 'spool', ?, ?, 0, 0, ?, '', '')
50
+ `).run(opts.projectId, opts.sourceId, opts.sessionUuid, sentinel, opts.title, now, now, opts.cwd);
51
+ return Number(result.lastInsertRowid);
52
+ }
20
53
  export function getSessionMtime(db, filePath) {
21
54
  const row = db
22
55
  .prepare('SELECT raw_file_mtime FROM sessions WHERE file_path = ?')
@@ -35,16 +68,31 @@ export function getAllSessionMtimes(db) {
35
68
  }
36
69
  export function upsertSession(db, opts) {
37
70
  const existing = db
38
- .prepare('SELECT id FROM sessions WHERE session_uuid = ?')
71
+ .prepare('SELECT id, file_path FROM sessions WHERE session_uuid = ?')
39
72
  .get(opts.sessionUuid);
40
73
  if (existing) {
74
+ // Warn loudly if two files claim the same session_uuid. The 'spool:pending:'
75
+ // sentinel rebinding is legitimate (Spool-authored sessions); anything else
76
+ // means we're about to silently overwrite a session row — historically this
77
+ // happened when subagent jsonls under <slug>/<uuid>/subagents/ got indexed
78
+ // and clobbered the parent row.
79
+ if (existing.file_path !== opts.filePath
80
+ && !existing.file_path.startsWith('spool:pending:')) {
81
+ console.warn(`[upsertSession] session_uuid ${opts.sessionUuid} switching file_path: `
82
+ + `${existing.file_path} → ${opts.filePath}`);
83
+ }
41
84
  db.prepare('DELETE FROM messages WHERE session_id = ?').run(existing.id);
85
+ // file_path is updated too: Spool-authored sessions start with a sentinel
86
+ // ('spool:pending:<uuid>') and get rebound to the real JSONL path here on
87
+ // first sync. For normal sessions this is a no-op (same path).
42
88
  db.prepare(`
43
89
  UPDATE sessions SET
44
- title = ?, started_at = ?, ended_at = ?, message_count = ?,
90
+ title = CASE WHEN title_source = 'derived' THEN ? ELSE title END,
91
+ file_path = ?,
92
+ started_at = ?, ended_at = ?, message_count = ?,
45
93
  has_tool_use = ?, cwd = ?, model = ?, raw_file_mtime = ?
46
94
  WHERE id = ?
47
- `).run(opts.title, opts.startedAt, opts.endedAt, opts.messageCount, opts.hasToolUse ? 1 : 0, opts.cwd, opts.model, opts.rawFileMtime, existing.id);
95
+ `).run(opts.title, opts.filePath, opts.startedAt, opts.endedAt, opts.messageCount, opts.hasToolUse ? 1 : 0, opts.cwd, opts.model, opts.rawFileMtime, existing.id);
48
96
  return existing.id;
49
97
  }
50
98
  const result = db.prepare(`
@@ -77,26 +125,23 @@ export function insertMessages(db, sessionId, sourceId, messages) {
77
125
  stmt.run(sessionId, sourceId, m.uuid, m.parentUuid, m.role, m.contentText, m.timestamp, m.isSidechain ? 1 : 0, JSON.stringify(m.toolNames), m.seq);
78
126
  }
79
127
  }
80
- const SESSION_SELECT = `
128
+ export const SESSION_SELECT = `
81
129
  SELECT
82
130
  s.id, s.project_id AS projectId, s.source_id AS sourceId,
83
131
  s.session_uuid AS sessionUuid, s.file_path AS filePath,
84
132
  s.title, s.started_at AS startedAt, s.ended_at AS endedAt,
85
133
  s.message_count AS messageCount, s.has_tool_use AS hasToolUse,
86
134
  s.cwd, s.model,
135
+ s.scan_finding_count AS scanFindingCount,
136
+ s.scan_high_count AS scanHighCount,
137
+ s.scan_purged_count AS scanPurgedCount,
138
+ s.scan_completed_at AS scanCompletedAt,
87
139
  src.name AS source,
88
140
  p.display_path AS projectDisplayPath,
89
141
  p.display_name AS projectDisplayName
90
142
  FROM sessions s
91
143
  JOIN sources src ON src.id = s.source_id
92
144
  JOIN projects p ON p.id = s.project_id`;
93
- export function listRecentSessions(db, limit = 50) {
94
- return db.prepare(`
95
- ${SESSION_SELECT}
96
- ORDER BY s.started_at DESC
97
- LIMIT ?
98
- `).all(limit).map(rowToSession);
99
- }
100
145
  export function getSessionWithMessages(db, sessionUuid) {
101
146
  const sessionRow = db.prepare(`
102
147
  ${SESSION_SELECT}
@@ -128,32 +173,26 @@ export function getSessionWithMessages(db, sessionUuid) {
128
173
  return { session, messages };
129
174
  }
130
175
  export function searchFragments(db, query, opts = {}) {
131
- const { limit = 10, source, since, onlyStarred } = opts;
176
+ const { limit = 10, source, since, onlyPinned, identityKey } = opts;
132
177
  const rowLimit = Math.max(limit * 10, 50);
133
178
  const naturalTerms = getNaturalSearchTerms(query);
134
179
  const naturalPhrase = getNaturalSearchPhrase(query);
135
180
  const canUseSessionFts = canUseSessionSearchFts(query);
181
+ const sharedOpts = {
182
+ ...(source ? { source } : {}),
183
+ ...(since ? { since } : {}),
184
+ ...(onlyPinned ? { onlyPinned } : {}),
185
+ ...(identityKey ? { identityKey } : {}),
186
+ };
136
187
  if (naturalTerms.length === 1) {
137
- return searchFragmentSessionFallback(db, naturalTerms, naturalPhrase, rowLimit, 'fts', {
138
- ...(source ? { source } : {}),
139
- ...(since ? { since } : {}),
140
- ...(onlyStarred ? { onlyStarred } : {}),
141
- }).slice(0, limit);
188
+ return searchFragmentSessionFallback(db, naturalTerms, naturalPhrase, rowLimit, 'fts', sharedOpts).slice(0, limit);
142
189
  }
143
190
  const groups = buildSearchPlan(query).map(step => {
144
191
  if (naturalTerms.length > 1 && (step.matchType === 'phrase' || step.matchType === 'all_terms')) {
145
- return searchFragmentSessionFallback(db, naturalTerms, naturalPhrase, rowLimit, step.matchType, {
146
- ...(source ? { source } : {}),
147
- ...(since ? { since } : {}),
148
- ...(onlyStarred ? { onlyStarred } : {}),
149
- });
192
+ return searchFragmentSessionFallback(db, naturalTerms, naturalPhrase, rowLimit, step.matchType, sharedOpts);
150
193
  }
151
194
  const ftsTable = selectFtsTableKind(query) === 'trigram' ? 'messages_fts_trigram' : 'messages_fts';
152
- const rows = searchFragmentRows(db, ftsTable, step.query, rowLimit, {
153
- ...(source ? { source } : {}),
154
- ...(since ? { since } : {}),
155
- ...(onlyStarred ? { onlyStarred } : {}),
156
- });
195
+ const rows = searchFragmentRows(db, ftsTable, step.query, rowLimit, sharedOpts);
157
196
  return collapseFragmentRows(rows, step.matchType);
158
197
  });
159
198
  return mergeFragmentGroups(groups, limit);
@@ -195,7 +234,7 @@ export function searchSessionPreview(db, query, opts = {}) {
195
234
  });
196
235
  }
197
236
  function searchFragmentRows(db, ftsTable, ftsQuery, limit, opts = {}) {
198
- const { source, since, onlyStarred } = opts;
237
+ const { source, since, onlyPinned, identityKey } = opts;
199
238
  const conditions = [`${ftsTable} MATCH ?`, 'm.is_sidechain = 0'];
200
239
  const params = [ftsQuery];
201
240
  if (source) {
@@ -206,8 +245,12 @@ function searchFragmentRows(db, ftsTable, ftsQuery, limit, opts = {}) {
206
245
  conditions.push('m.timestamp >= ?');
207
246
  params.push(since);
208
247
  }
209
- if (onlyStarred) {
210
- conditions.push("EXISTS (SELECT 1 FROM stars WHERE stars.item_type = 'session' AND stars.item_uuid = sess.session_uuid)");
248
+ if (onlyPinned) {
249
+ conditions.push("EXISTS (SELECT 1 FROM pins WHERE pins.session_uuid = sess.session_uuid)");
250
+ }
251
+ if (identityKey) {
252
+ conditions.push('p.identity_key = ?');
253
+ params.push(identityKey);
211
254
  }
212
255
  params.push(limit);
213
256
  const sql = `
@@ -418,7 +461,7 @@ function searchSessionRowsByTerms(db, terms, phrase, limit, matchType, opts = {}
418
461
  return searchSessionRowsByLike(db, terms, limit, opts);
419
462
  }
420
463
  function searchSessionRowsByLike(db, terms, limit, opts = {}) {
421
- const { source, since, onlyStarred } = opts;
464
+ const { source, since, onlyPinned, identityKey } = opts;
422
465
  const titleScoreParts = [];
423
466
  const whereClauses = [];
424
467
  const scoreParams = [];
@@ -448,8 +491,12 @@ function searchSessionRowsByLike(db, terms, limit, opts = {}) {
448
491
  conditions.push('sess.started_at >= ?');
449
492
  params.push(since);
450
493
  }
451
- if (onlyStarred) {
452
- conditions.push("EXISTS (SELECT 1 FROM stars WHERE stars.item_type = 'session' AND stars.item_uuid = sess.session_uuid)");
494
+ if (onlyPinned) {
495
+ conditions.push("EXISTS (SELECT 1 FROM pins WHERE pins.session_uuid = sess.session_uuid)");
496
+ }
497
+ if (identityKey) {
498
+ conditions.push('p.identity_key = ?');
499
+ params.push(identityKey);
453
500
  }
454
501
  params.push(limit);
455
502
  const titleScoreExpr = titleScoreParts.filter((_, index) => index % 3 === 0).join(' + ');
@@ -479,7 +526,7 @@ function searchSessionRowsByLike(db, terms, limit, opts = {}) {
479
526
  return db.prepare(sql).all(...params);
480
527
  }
481
528
  function searchSessionRowsByFts(db, terms, phrase, limit, matchType, opts = {}) {
482
- const { source, since, onlyStarred } = opts;
529
+ const { source, since, onlyPinned, identityKey } = opts;
483
530
  const ftsTable = selectFtsTableKind(phrase) === 'trigram' ? 'session_search_fts_trigram' : 'session_search_fts';
484
531
  const ftsQuery = matchType === 'phrase'
485
532
  ? `"${phrase.replace(/"/g, '""')}"`
@@ -506,8 +553,12 @@ function searchSessionRowsByFts(db, terms, phrase, limit, matchType, opts = {})
506
553
  conditions.push('sess.started_at >= ?');
507
554
  params.push(since);
508
555
  }
509
- if (onlyStarred) {
510
- conditions.push("EXISTS (SELECT 1 FROM stars WHERE stars.item_type = 'session' AND stars.item_uuid = sess.session_uuid)");
556
+ if (onlyPinned) {
557
+ conditions.push("EXISTS (SELECT 1 FROM pins WHERE pins.session_uuid = sess.session_uuid)");
558
+ }
559
+ if (identityKey) {
560
+ conditions.push('p.identity_key = ?');
561
+ params.push(identityKey);
511
562
  }
512
563
  params.push(limit);
513
564
  const titleScoreExpr = titleScoreParts.filter((_, index) => index % 3 === 0).join(' + ');
@@ -631,64 +682,44 @@ function escapeLike(value) {
631
682
  .replace(/%/g, '\\%')
632
683
  .replace(/_/g, '\\_');
633
684
  }
634
- // ── Stars (sessions + captures) ─────────────────────────────────────────────
635
- export function starItem(db, kind, uuid) {
636
- db.prepare('INSERT OR IGNORE INTO stars (item_type, item_uuid) VALUES (?, ?)').run(kind, uuid);
685
+ // ── Pins (sessions) ─────────────────────────────────────────────────────────
686
+ export function pinSession(db, sessionUuid) {
687
+ db.prepare('INSERT OR IGNORE INTO pins (session_uuid) VALUES (?)').run(sessionUuid);
637
688
  }
638
- export function unstarItem(db, kind, uuid) {
639
- db.prepare('DELETE FROM stars WHERE item_type = ? AND item_uuid = ?').run(kind, uuid);
689
+ export function unpinSession(db, sessionUuid) {
690
+ db.prepare('DELETE FROM pins WHERE session_uuid = ?').run(sessionUuid);
640
691
  }
641
- export function isStarred(db, kind, uuid) {
692
+ export function isPinned(db, sessionUuid) {
642
693
  const row = db
643
- .prepare('SELECT 1 AS hit FROM stars WHERE item_type = ? AND item_uuid = ?')
644
- .get(kind, uuid);
694
+ .prepare('SELECT 1 AS hit FROM pins WHERE session_uuid = ?')
695
+ .get(sessionUuid);
645
696
  return row !== undefined;
646
697
  }
647
- export function getStarredUuidsByType(db) {
698
+ export function getPinnedUuids(db) {
648
699
  const rows = db.prepare(`
649
- SELECT item_uuid AS uuid
650
- FROM stars
651
- WHERE item_type = 'session'
652
- AND EXISTS (SELECT 1 FROM sessions WHERE session_uuid = stars.item_uuid)
700
+ SELECT session_uuid AS uuid
701
+ FROM pins
702
+ WHERE EXISTS (SELECT 1 FROM sessions WHERE session_uuid = pins.session_uuid)
653
703
  `).all();
654
- return { session: rows.map(r => r.uuid) };
704
+ return rows.map(r => r.uuid);
655
705
  }
656
- export function listStarredItems(db, limit = 200) {
657
- // Orphan-filter at the SQL level so LIMIT counts only live rows; otherwise
658
- // a user with 200+ orphaned stars could see an empty page.
706
+ export function listPinnedSessions(db) {
659
707
  const rows = db.prepare(`
660
- SELECT item_uuid AS uuid, starred_at AS starredAt
661
- FROM stars
662
- WHERE item_type = 'session'
663
- AND EXISTS (SELECT 1 FROM sessions WHERE session_uuid = stars.item_uuid)
664
- ORDER BY starred_at DESC
665
- LIMIT ?
666
- `).all(limit);
667
- if (rows.length === 0)
668
- return [];
669
- const sessionUuids = rows.map(r => r.uuid);
670
- const sessionMap = new Map();
671
- const placeholders = sessionUuids.map(() => '?').join(', ');
672
- const sessRows = db.prepare(`
673
708
  ${SESSION_SELECT}
674
- WHERE s.session_uuid IN (${placeholders})
675
- `).all(...sessionUuids);
676
- for (const row of sessRows) {
677
- const session = rowToSession(row);
678
- sessionMap.set(session.sessionUuid, session);
679
- }
680
- const items = [];
681
- for (const r of rows) {
682
- const session = sessionMap.get(r.uuid);
683
- if (session)
684
- items.push({ kind: 'session', starredAt: r.starredAt, session });
685
- }
686
- return items;
709
+ JOIN pins ON pins.session_uuid = s.session_uuid
710
+ WHERE s.message_count > 0
711
+ ORDER BY pins.pinned_at DESC
712
+ `).all();
713
+ return rows.map(rowToSession);
687
714
  }
688
715
  export function getStatus(db) {
716
+ // Filter empty sessions so this matches every user-facing list, which
717
+ // all gate on message_count > 0 (aborted starts and crash files have
718
+ // zero messages but still occupy a row in the sessions table).
689
719
  const counts = db.prepare(`
690
720
  SELECT src.name, COUNT(*) AS cnt
691
721
  FROM sessions s JOIN sources src ON src.id = s.source_id
722
+ WHERE s.message_count > 0
692
723
  GROUP BY src.name
693
724
  `).all();
694
725
  const lastSync = db.prepare(`
@@ -708,7 +739,7 @@ export function getStatus(db) {
708
739
  dbSizeBytes: getDBSize(),
709
740
  };
710
741
  }
711
- function rowToSession(r) {
742
+ export function rowToSession(r) {
712
743
  return {
713
744
  id: r['id'],
714
745
  projectId: r['projectId'],
@@ -725,6 +756,10 @@ function rowToSession(r) {
725
756
  source: r['source'],
726
757
  projectDisplayPath: r['projectDisplayPath'],
727
758
  projectDisplayName: r['projectDisplayName'],
759
+ scanFindingCount: r['scanFindingCount'] ?? 0,
760
+ scanHighCount: r['scanHighCount'] ?? 0,
761
+ scanPurgedCount: r['scanPurgedCount'] ?? 0,
762
+ scanCompletedAt: r['scanCompletedAt'] ?? null,
728
763
  };
729
764
  }
730
765
  function getProfileLabelFromFilePath(filePath) {
@@ -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":"AAEA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,kBAAkB,EAA4B,MAAM,mBAAmB,CAAA;AAExK,MAAM,UAAU,kBAAkB,CAChC,EAAqB,EACrB,QAAgB,EAChB,IAAY,EACZ,WAAmB,EACnB,WAAmB,EACnB,QAAoE;IAEpE,MAAM,QAAQ,GAAG,EAAE;SAChB,OAAO,CAAC,0DAA0D,CAAC;SACnE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAA+B,CAAA;IAEpD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,EAAE,CAAA;IAEhC,MAAM,MAAM,GAAG,EAAE;SACd,OAAO,CACN,2HAA2H,CAC5H;SACA,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IAE7F,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAqB,EAAE,IAAmB;IACpE,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,IAAI,CAE3D,CAAA;IACb,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAA;IAC7D,OAAO,GAAG,CAAC,EAAE,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAqB,EAAE,MAAqB;IAChF,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACxC,OAAO,kBAAkB,CACvB,EAAE,EAAE,QAAQ,EACZ,eAAe,EACf,aAAa,EACb,MAAM,EACN,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,KAAK,EAAE,CACvD,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,0BAA0B,CACxC,EAAqB,EACrB,IAMC;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC;SAC1E,GAAG,CAAC,IAAI,CAAC,WAAW,CAA+B,CAAA;IACtD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,EAAE,CAAA;IAEhC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACpC,MAAM,QAAQ,GAAG,iBAAiB,IAAI,CAAC,WAAW,EAAE,CAAA;IACpD,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;GAKzB,CAAC,CAAC,GAAG,CACJ,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EACrE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CACnB,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAqB,EAAE,QAAgB;IACrE,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CAAC,yDAAyD,CAAC;SAClE,GAAG,CAAC,QAAQ,CAAkD,CAAA;IACjE,OAAO,GAAG,EAAE,cAAc,IAAI,IAAI,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,EAAqB,EAAE,QAAgB;IAC7E,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACnF,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAqB;IACvD,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CAAC,gDAAgD,CAAC;SACzD,GAAG,EAA0D,CAAA;IAChE,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;AAChE,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,EAAqB,EACrB,IAaC;IAED,MAAM,QAAQ,GAAG,EAAE;SAChB,OAAO,CAAC,2DAA2D,CAAC;SACpE,GAAG,CAAC,IAAI,CAAC,WAAW,CAAkD,CAAA;IAEzE,IAAI,QAAQ,EAAE,CAAC;QACb,6EAA6E;QAC7E,4EAA4E;QAC5E,4EAA4E;QAC5E,2EAA2E;QAC3E,gCAAgC;QAChC,IACE,QAAQ,CAAC,SAAS,KAAK,IAAI,CAAC,QAAQ;eACjC,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,EACnD,CAAC;YACD,OAAO,CAAC,IAAI,CACV,gCAAgC,IAAI,CAAC,WAAW,wBAAwB;kBACtE,GAAG,QAAQ,CAAC,SAAS,MAAM,IAAI,CAAC,QAAQ,EAAE,CAC7C,CAAA;QACH,CAAC;QACD,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,+DAA+D;QAC/D,EAAE,CAAC,OAAO,CAAC;;;;;;;KAOV,CAAC,CAAC,GAAG,CACJ,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1E,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAChE,QAAQ,CAAC,EAAE,CACZ,CAAA;QACD,OAAO,QAAQ,CAAC,EAAE,CAAA;IACpB,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;GAKzB,CAAC,CAAC,GAAG,CACJ,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAC1E,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACxE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CACxC,CAAA;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,EAAqB,EACrB,IAKC;IAED,EAAE,CAAC,OAAO,CAAC;;;;;;;;GAQV,CAAC,CAAC,GAAG,CACJ,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,aAAa,CACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,EAAqB,EACrB,SAAiB,EACjB,QAAgB,EAChB,QASE;IAEF,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;GAKvB,CAAC,CAAA;IAEF,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CACN,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,EACjD,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACjD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CACnC,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;yCAgBW,CAAA;AAGzC,MAAM,UAAU,sBAAsB,CACpC,EAAqB,EACrB,WAAmB;IAEnB,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;MAC1B,cAAc;;GAEjB,CAAC,CAAC,GAAG,CAAC,WAAW,CAAwC,CAAA;IAE1D,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAA;IAE5B,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;GAO1B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAmC,CAAA;IAEpD,MAAM,QAAQ,GAAc,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5C,EAAE,EAAE,CAAC,CAAC,IAAI,CAAW;QACrB,SAAS,EAAE,CAAC,CAAC,WAAW,CAAW;QACnC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAkB;QACtC,UAAU,EAAE,CAAC,CAAC,YAAY,CAAkB;QAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAoC;QAClD,WAAW,EAAE,CAAC,CAAC,aAAa,CAAW;QACvC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAW;QACnC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACtC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAW,CAAa;QAC3D,GAAG,EAAE,CAAC,CAAC,KAAK,CAAW;KACxB,CAAC,CAAC,CAAA;IAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,EAAqB,EACrB,KAAa,EACb,OAA+G,EAAE;IAEjH,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;IAEnE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;IACzC,MAAM,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,aAAa,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAA;IAEtD,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAA;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,6BAA6B,CAAC,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACpH,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC/C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,WAAW,CAAC,EAAE,CAAC;YAC/F,OAAO,6BAA6B,CAAC,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;QAC7G,CAAC;QAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,cAAc,CAAA;QAClG,MAAM,IAAI,GAAG,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;QAC/E,OAAO,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,OAAO,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,EAAqB,EACrB,KAAa,EACb,OAAmE,EAAE;IAErE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IACzC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACpC,IAAI,CAAC,eAAe;QAAE,OAAO,EAAE,CAAA;IAE/B,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;IAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IACjE,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE;QACtD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5B,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,yBAAyB,CAC3C,EAAE,EACF,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAW,CAAC,EAC3C,YAAY,CACb,CAAA;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAW,CAAA;QAC5C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC7C,MAAM,aAAa,GAAG,UAAU,EAAE,WAAW,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAA;QAClF,MAAM,YAAY,GAAG,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAW,CAAC,CAAA;QAE3E,OAAO;YACL,IAAI,EAAE,KAAK,GAAG,CAAC;YACf,SAAS;YACT,WAAW,EAAE,GAAG,CAAC,aAAa,CAAW;YACzC,YAAY,EAAG,GAAG,CAAC,cAAc,CAAmB,IAAI,YAAY;YACpE,UAAU,EAAE,UAAU,EAAE,oBAAoB,IAAI,CAAC;YACjD,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAkB;YACtC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,OAAO,EAAE,GAAG,CAAC,SAAS,CAAW;YACjC,SAAS,EAAE,GAAG,CAAC,WAAW,CAAW;YACrC,OAAO,EAAE,gBAAgB,CAAC,aAAa,EAAE,YAAY,CAAC;YACtD,SAAS,EAAE,UAAU,EAAE,SAAS,IAAI,CAAC;YACrC,WAAW,EAAE,UAAU,EAAE,WAAW,IAAI,QAAQ;YAChD,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,IAAK,GAAG,CAAC,WAAW,CAAY;SAC/E,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,EAAqB,EACrB,QAAiD,EACjD,QAAgB,EAChB,KAAa,EACb,OAA+F,EAAE;IAEjG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;IACvD,MAAM,UAAU,GAAa,CAAC,GAAG,QAAQ,UAAU,EAAE,oBAAoB,CAAC,CAAA;IAC1E,MAAM,MAAM,GAAwB,CAAC,QAAQ,CAAC,CAAA;IAE9C,IAAI,MAAM,EAAE,CAAC;QACX,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrB,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAA;IAC5F,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACrC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC1B,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAElB,MAAM,GAAG,GAAG;;;;;;;;;;;;;;gBAcE,QAAQ;WACb,QAAQ;gCACa,QAAQ;;;;YAI5B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;;;GAGjC,CAAA;IAED,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAmC,CAAA;AACzE,CAAC;AAED,SAAS,iBAAiB,CACxB,EAAqB,EACrB,KAAe,EACf,KAAa,EACb,OAAmD,EAAE;IAErD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IAC9B,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,MAAM,YAAY,GAAa,EAAE,CAAA;IACjC,MAAM,WAAW,GAAa,EAAE,CAAA;IAEhC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QAC3C,MAAM,aAAa,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAA;QAC5C,UAAU,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;QAC3E,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC/B,UAAU,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAA;QAC1E,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACjC,UAAU,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAA;QAC9E,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACjC,UAAU,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAA;QACnF,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAEjC,YAAY,CAAC,IAAI,CAAC;;;;MAIhB,CAAC,CAAA;QACH,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;IACrE,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,YAAY,CAAC,CAAA;IACpC,MAAM,MAAM,GAA2B,CAAC,GAAG,WAAW,EAAE,GAAG,WAAW,CAAC,CAAA;IAEvE,IAAI,MAAM,EAAE,CAAC;QACX,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrB,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAElB,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,GAAG,GAAG;;;;;;;;;;QAUN,gBAAgB;;;;;YAKZ,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;;;GAGjC,CAAA;IAED,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAmC,CAAA;AACzE,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAoC,EAAE,SAA0B;IAC5F,MAAM,IAAI,GAAG,IAAI,GAAG,EAA0B,CAAA;IAC9C,MAAM,OAAO,GAAqB,EAAE,CAAA;IAEpC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAW,CAAA;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAEtC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAA;YACxB,SAAQ;QACV,CAAC;QAED,MAAM,YAAY,GAAG,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAW,CAAC,CAAA;QAC3E,MAAM,QAAQ,GAAmB;YAC/B,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC;YACxB,SAAS,EAAE,GAAG,CAAC,WAAW,CAAW;YACrC,WAAW;YACX,YAAY,EAAG,GAAG,CAAC,cAAc,CAAmB,IAAI,YAAY;YACpE,UAAU,EAAE,CAAC;YACb,SAAS;YACT,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAkB;YACtC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,OAAO,EAAE,GAAG,CAAC,SAAS,CAAW;YACjC,SAAS,EAAE,GAAG,CAAC,WAAW,CAAW;YACrC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAW;YACjC,SAAS,EAAE,GAAG,CAAC,WAAW,CAAW;YACrC,WAAW,EAAE,GAAG,CAAC,aAAa,CAAW;YACzC,gBAAgB,EAAE,GAAG,CAAC,kBAAkB,CAAW;SACpD,CAAA;QAED,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QAC/B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA0B,EAAE,KAAa;IACpE,MAAM,MAAM,GAAqB,EAAE,CAAA;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAA0B,CAAA;IAE9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YAC/C,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;gBACxE,SAAQ;YACV,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK;gBAAE,SAAQ;YAEpC,MAAM,IAAI,GAAG;gBACX,GAAG,QAAQ;gBACX,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;aACxB,CAAA;YACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,6BAA6B,CACpC,EAAqB,EACrB,KAAe,EACf,MAAc,EACd,KAAa,EACb,SAA0B,EAC1B,OAA+F,EAAE;IAEjG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAE/B,MAAM,IAAI,GAAG,wBAAwB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;IAChF,MAAM,WAAW,GAAG,yBAAyB,CAC3C,EAAE,EACF,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAW,CAAC,EAC3C,KAAK,CACN,CAAA;IAOD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC9B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAW,CAAC,CAAA;QAC9D,MAAM,aAAa,GAAG,UAAU,EAAE,WAAW,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAA;QAClF,MAAM,YAAY,GAAG,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAW,CAAC,CAAA;QAE3E,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,WAAW,CAAW;YACrC,WAAW,EAAE,GAAG,CAAC,aAAa,CAAW;YACzC,YAAY,EAAG,GAAG,CAAC,cAAc,CAAmB,IAAI,YAAY;YACpE,UAAU,EAAE,UAAU,EAAE,oBAAoB,IAAI,CAAC;YACjD,SAAS;YACT,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAkB;YACtC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,OAAO,EAAE,GAAG,CAAC,SAAS,CAAW;YACjC,SAAS,EAAE,GAAG,CAAC,WAAW,CAAW;YACrC,OAAO,EAAE,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC;YAC/C,SAAS,EAAE,UAAU,EAAE,SAAS,IAAI,CAAC;YACrC,WAAW,EAAE,UAAU,EAAE,WAAW,IAAI,QAAQ;YAChD,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,IAAK,GAAG,CAAC,WAAW,CAAY;YAC9E,gBAAgB,EAAE,GAAG,CAAC,iBAAiB,CAAW;YAClD,eAAe,EAAE,GAAG,CAAC,gBAAgB,CAAW;YAChD,oBAAoB,EAAE,GAAG,CAAC,qBAAqB,CAAW;YAC1D,oBAAoB,EAAE,UAAU,EAAE,YAAY,IAAI,CAAC;SACxB,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnB,IAAI,CAAC,CAAC,oBAAoB,KAAK,CAAC,CAAC,oBAAoB,EAAE,CAAC;YACtD,OAAO,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,CAAA;QACxD,CAAC;QACD,IAAI,CAAC,CAAC,gBAAgB,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAC9C,OAAO,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAA;QAChD,CAAC;QACD,IAAI,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;YAC5C,OAAO,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAA;QAC9C,CAAC;QACD,IAAI,CAAC,CAAC,oBAAoB,KAAK,CAAC,CAAC,oBAAoB,EAAE,CAAC;YACtD,OAAO,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,CAAA;QACxD,CAAC;QACD,OAAO,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,EAAE,KAAK,GAAG,CAAC;QACf,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;KACvC,CAAC,CAAC,CAAA;AACL,CAAC;AAED,SAAS,wBAAwB,CAC/B,EAAqB,EACrB,KAAe,EACf,MAAc,EACd,KAAa,EACb,SAA0B,EAC1B,OAA+F,EAAE;IAEjG,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,OAAO,sBAAsB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;IAC1E,CAAC;IAED,OAAO,uBAAuB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;AACxD,CAAC;AAED,SAAS,uBAAuB,CAC9B,EAAqB,EACrB,KAAe,EACf,KAAa,EACb,OAA+F,EAAE;IAEjG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;IACvD,MAAM,eAAe,GAAa,EAAE,CAAA;IACpC,MAAM,YAAY,GAAa,EAAE,CAAA;IACjC,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,MAAM,WAAW,GAAa,EAAE,CAAA;IAEhC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QACnC,eAAe,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAA;QAC/E,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzB,eAAe,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAA;QACnF,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzB,eAAe,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAA;QACxF,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzB,YAAY,CAAC,IAAI,CAAC;;;;MAIhB,CAAC,CAAA;QACH,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,YAAY,CAAC,CAAA;IACpC,MAAM,MAAM,GAA2B,CAAC,GAAG,WAAW,EAAE,GAAG,WAAW,CAAC,CAAA;IAEvE,IAAI,MAAM,EAAE,CAAC;QACX,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrB,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAA;IAC5F,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACrC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC1B,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAElB,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACxF,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACvF,MAAM,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5F,MAAM,GAAG,GAAG;;;;;;;;;;QAUN,cAAc;QACd,aAAa;QACb,kBAAkB;;;;;YAKd,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;;;GAGjC,CAAA;IAED,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAmC,CAAA;AACzE,CAAC;AAED,SAAS,sBAAsB,CAC7B,EAAqB,EACrB,KAAe,EACf,MAAc,EACd,KAAa,EACb,SAA0B,EAC1B,OAA+F,EAAE;IAEjG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;IACvD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,oBAAoB,CAAA;IAC/G,MAAM,QAAQ,GAAG,SAAS,KAAK,QAAQ;QACrC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG;QACnC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAEpE,MAAM,eAAe,GAAa,EAAE,CAAA;IACpC,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,MAAM,UAAU,GAAa,EAAE,CAAA;IAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QACnC,eAAe,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAA;QAC/E,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzB,eAAe,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAA;QACnF,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzB,eAAe,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAA;QACxF,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,QAAQ,UAAU,CAAC,CAAA;IAC1C,MAAM,MAAM,GAA2B,CAAC,GAAG,WAAW,EAAE,QAAQ,CAAC,CAAA;IAEjE,IAAI,MAAM,EAAE,CAAC;QACX,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrB,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAA;IAC5F,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACrC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC1B,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAElB,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACxF,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACvF,MAAM,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5F,MAAM,GAAG,GAAG;;;;;;;;;;aAUD,QAAQ;QACb,cAAc;QACd,aAAa;QACb,kBAAkB;WACf,QAAQ;gDAC6B,QAAQ;;;;YAI5C,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;;;GAGjC,CAAA;IAED,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAmC,CAAA;AACzE,CAAC;AAED,SAAS,yBAAyB,CAChC,EAAqB,EACrB,UAAoB,EACpB,KAAe;IAWf,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,GAAG,EAA6B,CAAA;IACxE,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,6DAA6D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/G,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpF,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC5C,MAAM,mBAAmB,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEhE,MAAM,QAAQ,GAAG;;;;;;;;;UAST,YAAY;;6BAEO,mBAAmB;;eAEjC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BtB,CAAA;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,EAAE,GAAG,WAAW,CAAwB,CAAA;IAC3G,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;AACvD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAe;IAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAClC,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAA;IAE9B,yEAAyE;IACzE,uEAAuE;IACvE,yEAAyE;IACzE,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,EAAE,CAAA;IAC9C,MAAM,QAAQ,GAAG,KAAK;SACnB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAClD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;SAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,EAAE,CAAC,CAAA;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAA;IAC3D,IAAI,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAE9C,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IACtC,IAAI,GAAG,GAAG,cAAc,CAAC,MAAM;QAAE,OAAO,GAAG,GAAG,OAAO,GAAG,CAAA;IAExD,mEAAmE;IACnE,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;IAClF,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI;YAAE,SAAQ;QACnB,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;QACnD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;AACrD,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAA;AAChC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC;AAED,+EAA+E;AAE/E,MAAM,UAAU,UAAU,CAAC,EAAqB,EAAE,WAAmB;IACnE,EAAE,CAAC,OAAO,CACR,sDAAsD,CACvD,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAqB,EAAE,WAAmB;IACrE,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;AACxE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAqB,EAAE,WAAmB;IACjE,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CAAC,kDAAkD,CAAC;SAC3D,GAAG,CAAC,WAAW,CAAgC,CAAA;IAClD,OAAO,GAAG,KAAK,SAAS,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAqB;IAClD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;GAIvB,CAAC,CAAC,GAAG,EAA6B,CAAA;IACnC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAqB;IACtD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;MACpB,cAAc;;;;GAIjB,CAAC,CAAC,GAAG,EAAoC,CAAA;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAqB;IAC7C,sEAAsE;IACtE,qEAAqE;IACrE,+DAA+D;IAC/D,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;GAKzB,CAAC,CAAC,GAAG,EAA0C,CAAA;IAEhD,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC;;GAE3B,CAAC,CAAC,GAAG,EAA6B,CAAA;IAEnC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;IACrD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;IAEvD,OAAO;QACL,MAAM,EAAE,OAAO;QACf,aAAa;QACb,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACnC,aAAa,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACjC,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACnC,YAAY,EAAE,QAAQ,EAAE,IAAI,IAAI,IAAI;QACpC,WAAW,EAAE,SAAS,EAAE;KACzB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAA0B;IACrD,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,IAAI,CAAW;QACrB,SAAS,EAAE,CAAC,CAAC,WAAW,CAAW;QACnC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAW;QACjC,WAAW,EAAE,CAAC,CAAC,aAAa,CAAW;QACvC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAW;QACjC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAkB;QAClC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAW;QACnC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAW;QAC/B,YAAY,EAAE,CAAC,CAAC,cAAc,CAAW;QACzC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACpC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAkB;QAC9B,KAAK,EAAE,CAAC,CAAC,OAAO,CAAkB;QAClC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAkB;QACpC,kBAAkB,EAAE,CAAC,CAAC,oBAAoB,CAAW;QACrD,kBAAkB,EAAE,CAAC,CAAC,oBAAoB,CAAW;QACrD,gBAAgB,EAAG,CAAC,CAAC,kBAAkB,CAAmB,IAAI,CAAC;QAC/D,aAAa,EAAG,CAAC,CAAC,eAAe,CAAmB,IAAI,CAAC;QACzD,eAAe,EAAG,CAAC,CAAC,iBAAiB,CAAmB,IAAI,CAAC;QAC7D,eAAe,EAAG,CAAC,CAAC,iBAAiB,CAAmB,IAAI,IAAI;KACjE,CAAA;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgB;IACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;IACxE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type Database from 'better-sqlite3';
2
+ /** Mirrors the CHECK constraint in the v11 migration. Kept as a local
3
+ * string union so @spool/core stays free of any @spool/share-kit
4
+ * dependency; the app layer reconciles this with share-kit's Snapshot
5
+ * type when it parses snapshot_json. */
6
+ export type ShareDraftSourceKind = 'spool-session' | 'pasted-url' | 'imported-file' | 'imported-jsonl';
7
+ /** Row shape for the Shares grid: full metadata plus the slim
8
+ * `preview_json` blob. Excludes `snapshot_json` so list queries don't
9
+ * haul hundreds of KB per row over IPC. */
10
+ export interface ShareDraftListItem {
11
+ draft_id: string;
12
+ source_kind: ShareDraftSourceKind;
13
+ source_origin: string | null;
14
+ title: string;
15
+ preview_json: string;
16
+ created_at: string;
17
+ updated_at: string;
18
+ }
19
+ /** Row shape for the editor: ShareDraftListItem + the full document
20
+ * blob. Returned by getShareDraft, never by listShareDrafts. */
21
+ export interface ShareDraftRow extends ShareDraftListItem {
22
+ snapshot_json: string;
23
+ }
24
+ export interface UpsertShareDraftInput {
25
+ draft_id: string;
26
+ source_kind: ShareDraftSourceKind;
27
+ source_origin: string | null;
28
+ title: string;
29
+ snapshot_json: string;
30
+ preview_json: string;
31
+ }
32
+ /** Lists drafts for the Shares grid. Intentionally omits `snapshot_json`
33
+ * so the IPC payload stays small even when the user has hundreds of
34
+ * drafts. The editor fetches the full row via getShareDraft. */
35
+ export declare function listShareDrafts(db: Database.Database, opts?: {
36
+ limit?: number;
37
+ }): ShareDraftListItem[];
38
+ export declare function getShareDraft(db: Database.Database, draftId: string): ShareDraftRow | null;
39
+ /**
40
+ * Insert a new draft or update an existing one in place. Touches
41
+ * updated_at on every call; preserves created_at on update. Both JSON
42
+ * blobs are written together — callers must keep them in sync.
43
+ */
44
+ export declare function upsertShareDraft(db: Database.Database, input: UpsertShareDraftInput): void;
45
+ export declare function deleteShareDraft(db: Database.Database, draftId: string): void;
46
+ /**
47
+ * Count drafts that originated from a given Spool session. Drives the
48
+ * "N shares from this session" chip on SessionDetail (PR 4).
49
+ */
50
+ export declare function countDraftsBySession(db: Database.Database, sessionUuid: string): number;
51
+ //# sourceMappingURL=share-drafts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share-drafts.d.ts","sourceRoot":"","sources":["../../src/db/share-drafts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAE1C;;;yCAGyC;AACzC,MAAM,MAAM,oBAAoB,GAC5B,eAAe,GACf,YAAY,GACZ,eAAe,GACf,gBAAgB,CAAA;AAEpB;;4CAE4C;AAC5C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,oBAAoB,CAAA;IACjC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;iEACiE;AACjE,MAAM,WAAW,aAAc,SAAQ,kBAAkB;IACvD,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,oBAAoB,CAAA;IACjC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB;AAKD;;iEAEiE;AACjE,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5B,kBAAkB,EAAE,CAKtB;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAM1F;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAmB1F;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAQvF"}
@@ -0,0 +1,47 @@
1
+ const LIST_COLS = 'draft_id, source_kind, source_origin, title, preview_json, created_at, updated_at';
2
+ const FULL_COLS = `${LIST_COLS}, snapshot_json`;
3
+ /** Lists drafts for the Shares grid. Intentionally omits `snapshot_json`
4
+ * so the IPC payload stays small even when the user has hundreds of
5
+ * drafts. The editor fetches the full row via getShareDraft. */
6
+ export function listShareDrafts(db, opts = {}) {
7
+ const limit = opts.limit ?? 200;
8
+ return db
9
+ .prepare(`SELECT ${LIST_COLS} FROM share_drafts ORDER BY updated_at DESC LIMIT ?`)
10
+ .all(limit);
11
+ }
12
+ export function getShareDraft(db, draftId) {
13
+ return (db
14
+ .prepare(`SELECT ${FULL_COLS} FROM share_drafts WHERE draft_id = ?`)
15
+ .get(draftId) ?? null);
16
+ }
17
+ /**
18
+ * Insert a new draft or update an existing one in place. Touches
19
+ * updated_at on every call; preserves created_at on update. Both JSON
20
+ * blobs are written together — callers must keep them in sync.
21
+ */
22
+ export function upsertShareDraft(db, input) {
23
+ db.prepare(`INSERT INTO share_drafts (draft_id, source_kind, source_origin, title, snapshot_json, preview_json, updated_at)
24
+ VALUES (?, ?, ?, ?, ?, ?, datetime('now'))
25
+ ON CONFLICT(draft_id) DO UPDATE SET
26
+ source_kind = excluded.source_kind,
27
+ source_origin = excluded.source_origin,
28
+ title = excluded.title,
29
+ snapshot_json = excluded.snapshot_json,
30
+ preview_json = excluded.preview_json,
31
+ updated_at = excluded.updated_at`).run(input.draft_id, input.source_kind, input.source_origin, input.title, input.snapshot_json, input.preview_json);
32
+ }
33
+ export function deleteShareDraft(db, draftId) {
34
+ db.prepare('DELETE FROM share_drafts WHERE draft_id = ?').run(draftId);
35
+ }
36
+ /**
37
+ * Count drafts that originated from a given Spool session. Drives the
38
+ * "N shares from this session" chip on SessionDetail (PR 4).
39
+ */
40
+ export function countDraftsBySession(db, sessionUuid) {
41
+ const row = db
42
+ .prepare(`SELECT COUNT(*) AS n FROM share_drafts
43
+ WHERE source_kind = 'spool-session' AND source_origin = ?`)
44
+ .get(sessionUuid);
45
+ return row.n;
46
+ }
47
+ //# sourceMappingURL=share-drafts.js.map
@@ -0,0 +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,OAA2B,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"}
@@ -0,0 +1,3 @@
1
+ import type { Check } from '../types.js';
2
+ export declare const configChecks: Check[];
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/doctor/checks/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAY,KAAK,EAAe,MAAM,aAAa,CAAA;AAmC/D,eAAO,MAAM,YAAY,EAAE,KAAK,EAK7B,CAAA"}