@askdkc/kiokuko 0.1.28 → 0.1.30

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 (85) hide show
  1. package/dist/akinator/agent-task.d.ts.map +1 -1
  2. package/dist/akinator/agent-task.js +105 -79
  3. package/dist/akinator/agent-task.js.map +1 -1
  4. package/dist/akinator/store.d.ts.map +1 -1
  5. package/dist/akinator/store.js +5 -1
  6. package/dist/akinator/store.js.map +1 -1
  7. package/dist/commands/agent.d.ts.map +1 -1
  8. package/dist/commands/agent.js +26 -2
  9. package/dist/commands/agent.js.map +1 -1
  10. package/dist/commands/doctor.d.ts +11 -5
  11. package/dist/commands/doctor.d.ts.map +1 -1
  12. package/dist/commands/doctor.js +258 -129
  13. package/dist/commands/doctor.js.map +1 -1
  14. package/dist/commands/setup.d.ts.map +1 -1
  15. package/dist/commands/setup.js +3 -0
  16. package/dist/commands/setup.js.map +1 -1
  17. package/dist/context/delivery-migration.d.ts +40 -0
  18. package/dist/context/delivery-migration.d.ts.map +1 -0
  19. package/dist/context/delivery-migration.js +360 -0
  20. package/dist/context/delivery-migration.js.map +1 -0
  21. package/dist/context/delivery.d.ts +2 -0
  22. package/dist/context/delivery.d.ts.map +1 -1
  23. package/dist/context/delivery.js +45 -6
  24. package/dist/context/delivery.js.map +1 -1
  25. package/dist/context/nudge-store.d.ts +57 -0
  26. package/dist/context/nudge-store.d.ts.map +1 -0
  27. package/dist/context/nudge-store.js +227 -0
  28. package/dist/context/nudge-store.js.map +1 -0
  29. package/dist/context/nudge-validation.d.ts +26 -0
  30. package/dist/context/nudge-validation.d.ts.map +1 -0
  31. package/dist/context/nudge-validation.js +122 -0
  32. package/dist/context/nudge-validation.js.map +1 -0
  33. package/dist/context/nudges.d.ts +38 -0
  34. package/dist/context/nudges.d.ts.map +1 -0
  35. package/dist/context/nudges.js +131 -0
  36. package/dist/context/nudges.js.map +1 -0
  37. package/dist/context/scoped-broker.d.ts.map +1 -1
  38. package/dist/context/scoped-broker.js +5 -0
  39. package/dist/context/scoped-broker.js.map +1 -1
  40. package/dist/db/migrate.d.ts.map +1 -1
  41. package/dist/db/migrate.js +5 -0
  42. package/dist/db/migrate.js.map +1 -1
  43. package/dist/gateway/checkpoint-mutation-service.d.ts +33 -0
  44. package/dist/gateway/checkpoint-mutation-service.d.ts.map +1 -0
  45. package/dist/gateway/checkpoint-mutation-service.js +513 -0
  46. package/dist/gateway/checkpoint-mutation-service.js.map +1 -0
  47. package/dist/gateway/checkpoint-service.d.ts +22 -25
  48. package/dist/gateway/checkpoint-service.d.ts.map +1 -1
  49. package/dist/gateway/checkpoint-service.js +26 -209
  50. package/dist/gateway/checkpoint-service.js.map +1 -1
  51. package/dist/gateway/nudge-delivery-service.d.ts +21 -0
  52. package/dist/gateway/nudge-delivery-service.d.ts.map +1 -0
  53. package/dist/gateway/nudge-delivery-service.js +67 -0
  54. package/dist/gateway/nudge-delivery-service.js.map +1 -0
  55. package/dist/ledger/archive.d.ts +2 -1
  56. package/dist/ledger/archive.d.ts.map +1 -1
  57. package/dist/ledger/archive.js +109 -8
  58. package/dist/ledger/archive.js.map +1 -1
  59. package/dist/ledger/checkpoint-contract.d.ts +3 -3
  60. package/dist/ledger/maintenance.d.ts +2 -1
  61. package/dist/ledger/maintenance.d.ts.map +1 -1
  62. package/dist/ledger/maintenance.js +90 -7
  63. package/dist/ledger/maintenance.js.map +1 -1
  64. package/dist/ledger/projection.d.ts +2 -0
  65. package/dist/ledger/projection.d.ts.map +1 -1
  66. package/dist/ledger/projection.js +9 -1
  67. package/dist/ledger/projection.js.map +1 -1
  68. package/dist/memory/checkpoint-contract.d.ts +6 -6
  69. package/dist/server/agent-application.d.ts.map +1 -1
  70. package/dist/server/agent-application.js +18 -4
  71. package/dist/server/agent-application.js.map +1 -1
  72. package/dist/server/agent-checkpoint-use-case.d.ts +41 -0
  73. package/dist/server/agent-checkpoint-use-case.d.ts.map +1 -0
  74. package/dist/server/agent-checkpoint-use-case.js +158 -0
  75. package/dist/server/agent-checkpoint-use-case.js.map +1 -0
  76. package/dist/server/routes/agent-runs.d.ts +11 -4
  77. package/dist/server/routes/agent-runs.d.ts.map +1 -1
  78. package/dist/server/routes/agent-runs.js.map +1 -1
  79. package/dist/server/routes/task5.d.ts.map +1 -1
  80. package/dist/server/routes/task5.js +29 -91
  81. package/dist/server/routes/task5.js.map +1 -1
  82. package/migrations/010_nudge_deliveries.sql +50 -0
  83. package/migrations/011_nudge_integrity.sql +52 -0
  84. package/migrations/012_context_delivery_v4.sql +3 -0
  85. package/package.json +1 -1
@@ -4,18 +4,21 @@ import path from 'node:path';
4
4
  import { stdin, stdout } from 'node:process';
5
5
  import { createInterface } from 'node:readline/promises';
6
6
  import { initializeDatabase } from './init.js';
7
- import { openConnection } from '../db/connection.js';
7
+ import { databaseFileIdentity, openConnection } from '../db/connection.js';
8
8
  import { KiokukoError } from '../errors.js';
9
9
  import { BEGIN_MARKER, END_MARKER } from '../agent-file/managed-block.js';
10
10
  import { readProjectConfig } from '../config/project-config.js';
11
- import { getDatabaseLockPath, getRuntimeDescriptorPath } from '../config/paths.js';
11
+ import { getDatabaseLockPath, getGlobalDatabasePath, getRuntimeDescriptorPath } from '../config/paths.js';
12
12
  import { listRepositoryLocations } from '../repository/binding.js';
13
13
  import { isPidAlive } from '../server/instance-lock.js';
14
14
  import { readRuntimeDescriptor } from '../server/runtime-descriptor.js';
15
15
  import { inspectLedger } from '../ledger/maintenance.js';
16
16
  import { findSecret } from '../memory/secrets.js';
17
17
  import { hybridSearchProjectionStatus } from '../memory/rebuild-search.js';
18
+ import { requireHybridSearchProjectionSchema } from '../memory/structured-memory.js';
18
19
  import { readEntryRevision } from '../memory/revisions.js';
20
+ import { inspectMigrationSnapshot, loadMigrationSnapshot } from '../db/migrate.js';
21
+ import { inspectLegacyContextDeliveries } from '../context/delivery-migration.js';
19
22
  const MAX_DOCTOR_PROMPT_LOCATIONS = 20;
20
23
  /** Ask before removing registry rows for repository roots that no longer exist. */
21
24
  export async function promptRemoveMissingRepositoryLocations(locations, options = {}) {
@@ -46,6 +49,13 @@ export async function promptRemoveMissingRepositoryLocations(locations, options
46
49
  function count(database, sql, ...parameters) {
47
50
  return Number(database.prepare(sql).get(...parameters)?.count ?? 0);
48
51
  }
52
+ function hasColumn(database, table, column) {
53
+ return Boolean(database.prepare('SELECT 1 AS present FROM pragma_table_info(?) WHERE name = ?').get(table, column));
54
+ }
55
+ function legacyDeliverySchemaIsInspectable(database) {
56
+ return hasColumn(database, 'context_deliveries', 'score_schema_version')
57
+ && hasColumn(database, 'context_delivery_entries', 'origin_scope');
58
+ }
49
59
  function balancedMarkers(content) {
50
60
  return content.split(BEGIN_MARKER).length - 1 === 1 && content.split(END_MARKER).length - 1 === 1;
51
61
  }
@@ -96,64 +106,70 @@ async function runtimeCheck(databasePath, descriptorPath = getRuntimeDescriptorP
96
106
  findings += 1;
97
107
  return { ok: findings === 0, count: findings, detail: `findings=${findings}` };
98
108
  }
99
- export async function runDoctor(options = {}, dependencies = {}) {
100
- const initialized = await initializeDatabase(options);
101
- const database = (dependencies.openConnection ?? openConnection)(initialized.databasePath);
102
- let doctorResult;
103
- let operationFailed = false;
104
- let operationError;
105
- try {
106
- const integrity = database.prepare('PRAGMA integrity_check').get()?.integrity_check ?? 'unknown';
107
- const foreignKeyRows = database.prepare('PRAGMA foreign_key_check').all();
108
- const fts5 = Boolean(database.prepare("SELECT 1 AS present FROM sqlite_master WHERE type = 'table' AND name = 'entries_fts'").get());
109
- const migrationRows = count(database, 'SELECT COUNT(*) AS count FROM schema_migrations');
110
- const expectedMigrations = initialized.currentVersion;
111
- const migrationCheck = { ok: migrationRows === expectedMigrations, count: migrationRows, detail: `expected ${expectedMigrations}` };
112
- const entryCount = count(database, 'SELECT COUNT(*) AS count FROM entries');
113
- const ftsCount = fts5 ? count(database, 'SELECT COUNT(*) AS count FROM entries_fts') : 0;
114
- let ftsCurrentMismatches = 0;
115
- if (fts5) {
116
- const currentRows = database.prepare(`
117
- SELECT e.rowid, e.id, r.title, r.body, r.summary, e.current_revision
118
- FROM entries e JOIN entry_revisions r ON r.entry_id = e.id AND r.revision = e.current_revision
119
- `).all();
120
- for (const row of currentRows) {
121
- const projected = database.prepare('SELECT title, body, summary, tags_text FROM entries_fts WHERE rowid = ?').get(row.rowid);
122
- const tags = database.prepare('SELECT tag FROM entry_revision_tags WHERE entry_id = ? AND revision = ? ORDER BY tag').all(row.id, row.current_revision).map((tag) => tag.tag);
123
- if (!projected || projected.title !== row.title || projected.body !== row.body || projected.summary !== (row.summary ?? '') || projected.tags_text !== tags.join(' '))
124
- ftsCurrentMismatches += 1;
125
- }
126
- }
127
- const ftsCheck = { ok: fts5 && entryCount === ftsCount && ftsCurrentMismatches === 0, count: Math.abs(entryCount - ftsCount) + ftsCurrentMismatches + (fts5 ? 0 : 1), detail: `present=${fts5}, entries=${entryCount}, fts=${ftsCount}, currentMismatches=${ftsCurrentMismatches}` };
128
- const missingCurrentRevisions = count(database, `
129
- SELECT COUNT(*) AS count FROM entries e
130
- LEFT JOIN entry_revisions r ON r.entry_id = e.id AND r.revision = e.current_revision
131
- WHERE r.entry_id IS NULL
132
- `);
133
- const orphanRevisionTags = count(database, `
134
- SELECT COUNT(*) AS count FROM entry_revision_tags t
135
- LEFT JOIN entry_revisions r ON r.entry_id = t.entry_id AND r.revision = t.revision
136
- WHERE r.entry_id IS NULL
137
- `);
138
- const missingDeliveryRevisions = count(database, `
139
- SELECT COUNT(*) AS count FROM context_delivery_entries d
140
- LEFT JOIN entry_revisions r ON r.entry_id = d.entry_id AND r.revision = d.entry_revision
141
- WHERE r.entry_id IS NULL
142
- `);
143
- const revisionRows = database.prepare(`
144
- SELECT r.entry_id, r.workspace, r.revision
145
- FROM entry_revisions AS r
109
+ async function collectDoctorResult(database, options) {
110
+ const integrity = database.prepare('PRAGMA integrity_check').get()?.integrity_check ?? 'unknown';
111
+ const foreignKeyRows = database.prepare('PRAGMA foreign_key_check').all();
112
+ const currentMemoryFormatAvailable = options.databaseVersion >= 9;
113
+ const fts5 = Boolean(database.prepare("SELECT 1 AS present FROM sqlite_master WHERE type = 'table' AND name = 'entries_fts'").get());
114
+ const migrationRows = count(database, 'SELECT COUNT(*) AS count FROM schema_migrations');
115
+ const migrationCheck = { ok: migrationRows === options.currentVersion, count: migrationRows, detail: `expected ${options.currentVersion}` };
116
+ const entryCount = count(database, 'SELECT COUNT(*) AS count FROM entries');
117
+ const ftsCount = fts5 ? count(database, 'SELECT COUNT(*) AS count FROM entries_fts') : 0;
118
+ let ftsCurrentMismatches = 0;
119
+ if (fts5 && currentMemoryFormatAvailable) {
120
+ const currentRows = database.prepare(`
121
+ SELECT e.rowid, e.id, r.title, r.body, r.summary, e.current_revision
122
+ FROM entries e JOIN entry_revisions r ON r.entry_id = e.id AND r.revision = e.current_revision
146
123
  `).all();
147
- const hashFormatTable = database.prepare(`
148
- SELECT type
149
- FROM sqlite_schema
150
- WHERE name = 'entry_revision_hash_format'
151
- `).get();
152
- const hashFormats = hashFormatTable?.type === 'table'
153
- ? database.prepare('SELECT singleton, algorithm FROM entry_revision_hash_format')
154
- .all()
155
- : [];
156
- let revisionHashMismatches = hashFormats.length === 1
124
+ for (const row of currentRows) {
125
+ const projected = database.prepare('SELECT title, body, summary, tags_text FROM entries_fts WHERE rowid = ?').get(row.rowid);
126
+ const tags = database.prepare('SELECT tag FROM entry_revision_tags WHERE entry_id = ? AND revision = ? ORDER BY tag').all(row.id, row.current_revision).map((tag) => tag.tag);
127
+ if (!projected || projected.title !== row.title || projected.body !== row.body || projected.summary !== (row.summary ?? '') || projected.tags_text !== tags.join(' '))
128
+ ftsCurrentMismatches += 1;
129
+ }
130
+ }
131
+ const ftsCheck = !currentMemoryFormatAvailable
132
+ ? {
133
+ ok: fts5 && entryCount === ftsCount,
134
+ count: Math.abs(entryCount - ftsCount) + (fts5 ? 0 : 1),
135
+ detail: `present=${fts5}, entries=${entryCount}, fts=${ftsCount}, currentMismatches=deferred until migration 009`,
136
+ }
137
+ : {
138
+ ok: fts5 && entryCount === ftsCount && ftsCurrentMismatches === 0,
139
+ count: Math.abs(entryCount - ftsCount) + ftsCurrentMismatches + (fts5 ? 0 : 1),
140
+ detail: `present=${fts5}, entries=${entryCount}, fts=${ftsCount}, currentMismatches=${ftsCurrentMismatches}`,
141
+ };
142
+ const missingCurrentRevisions = count(database, `
143
+ SELECT COUNT(*) AS count FROM entries e
144
+ LEFT JOIN entry_revisions r ON r.entry_id = e.id AND r.revision = e.current_revision
145
+ WHERE r.entry_id IS NULL
146
+ `);
147
+ const orphanRevisionTags = count(database, `
148
+ SELECT COUNT(*) AS count FROM entry_revision_tags t
149
+ LEFT JOIN entry_revisions r ON r.entry_id = t.entry_id AND r.revision = t.revision
150
+ WHERE r.entry_id IS NULL
151
+ `);
152
+ const missingDeliveryRevisions = count(database, `
153
+ SELECT COUNT(*) AS count FROM context_delivery_entries d
154
+ LEFT JOIN entry_revisions r ON r.entry_id = d.entry_id AND r.revision = d.entry_revision
155
+ WHERE r.entry_id IS NULL
156
+ `);
157
+ const revisionRows = database.prepare(`
158
+ SELECT r.entry_id, r.workspace, r.revision
159
+ FROM entry_revisions AS r
160
+ `).all();
161
+ const hashFormatTable = database.prepare(`
162
+ SELECT type
163
+ FROM sqlite_schema
164
+ WHERE name = 'entry_revision_hash_format'
165
+ `).get();
166
+ const hashFormats = hashFormatTable?.type === 'table'
167
+ ? database.prepare('SELECT singleton, algorithm FROM entry_revision_hash_format')
168
+ .all()
169
+ : [];
170
+ let revisionHashMismatches = 0;
171
+ if (currentMemoryFormatAvailable) {
172
+ revisionHashMismatches = hashFormats.length === 1
157
173
  && hashFormats[0]?.singleton === 1
158
174
  && hashFormats[0].algorithm === 'canonical-json-utf16-tags-v1'
159
175
  ? 0
@@ -176,7 +192,24 @@ export async function runDoctor(options = {}, dependencies = {}) {
176
192
  throw error;
177
193
  }
178
194
  }
179
- const hybridCheck = (() => {
195
+ }
196
+ const revisionHashCheck = !currentMemoryFormatAvailable
197
+ ? { ok: true, count: 0, detail: 'current revision hashes deferred until migration 009' }
198
+ : { ok: revisionHashMismatches === 0, count: revisionHashMismatches };
199
+ const hybridCheck = !currentMemoryFormatAvailable
200
+ ? (() => {
201
+ try {
202
+ requireHybridSearchProjectionSchema(database);
203
+ return { ok: true, count: 0, detail: 'current projection contents deferred until migration 009' };
204
+ }
205
+ catch (error) {
206
+ if (error instanceof KiokukoError && error.code === 'INTEGRITY_ERROR') {
207
+ return { ok: false, count: 1, detail: 'search projection schema is invalid' };
208
+ }
209
+ throw error;
210
+ }
211
+ })()
212
+ : (() => {
180
213
  try {
181
214
  const projection = hybridSearchProjectionStatus(database);
182
215
  return {
@@ -192,79 +225,175 @@ export async function runDoctor(options = {}, dependencies = {}) {
192
225
  throw error;
193
226
  }
194
227
  })();
195
- const danglingLinks = count(database, `
196
- SELECT COUNT(*) AS count FROM entry_links l
197
- LEFT JOIN entries f ON f.id = l.from_entry_id
198
- LEFT JOIN entries t ON t.id = l.to_entry_id
199
- WHERE f.id IS NULL OR t.id IS NULL
200
- `);
201
- const contradictions = count(database, `
202
- SELECT COUNT(*) AS count FROM entry_links l
203
- JOIN entries f ON f.id = l.from_entry_id
204
- JOIN entries t ON t.id = l.to_entry_id
205
- WHERE l.relation = 'contradicts' AND f.status = 'verified' AND t.status = 'verified'
206
- `);
207
- const bindingRows = listRepositoryLocations(database);
208
- const missingRoots = bindingRows.filter((row) => !existsSync(row.canonicalRoot)).length;
209
- const bindingCheck = { ok: missingRoots === 0, count: missingRoots, detail: `locations=${bindingRows.length}` };
210
- let missingAgentFiles = 0;
211
- for (const row of bindingRows) {
212
- if (!existsSync(row.canonicalRoot))
213
- continue;
214
- const configPath = `${row.canonicalRoot}/.kiokuko.json`;
215
- try {
216
- const config = await readProjectConfig(configPath);
217
- const agentPath = `${row.canonicalRoot}/${config.agentFile}`;
218
- if (!existsSync(agentPath) || !balancedMarkers(readFileSync(agentPath, 'utf8')))
219
- missingAgentFiles += 1;
220
- }
221
- catch {
228
+ const danglingLinks = count(database, `
229
+ SELECT COUNT(*) AS count FROM entry_links l
230
+ LEFT JOIN entries f ON f.id = l.from_entry_id
231
+ LEFT JOIN entries t ON t.id = l.to_entry_id
232
+ WHERE f.id IS NULL OR t.id IS NULL
233
+ `);
234
+ const contradictions = count(database, `
235
+ SELECT COUNT(*) AS count FROM entry_links l
236
+ JOIN entries f ON f.id = l.from_entry_id
237
+ JOIN entries t ON t.id = l.to_entry_id
238
+ WHERE l.relation = 'contradicts' AND f.status = 'verified' AND t.status = 'verified'
239
+ `);
240
+ const bindingRows = listRepositoryLocations(database);
241
+ const missingRoots = bindingRows.filter((row) => !existsSync(row.canonicalRoot)).length;
242
+ const bindingCheck = { ok: missingRoots === 0, count: missingRoots, detail: `locations=${bindingRows.length}` };
243
+ let missingAgentFiles = 0;
244
+ for (const row of bindingRows) {
245
+ if (!existsSync(row.canonicalRoot))
246
+ continue;
247
+ const configPath = `${row.canonicalRoot}/.kiokuko.json`;
248
+ try {
249
+ const config = await readProjectConfig(configPath);
250
+ const agentPath = `${row.canonicalRoot}/${config.agentFile}`;
251
+ if (!existsSync(agentPath) || !balancedMarkers(readFileSync(agentPath, 'utf8')))
222
252
  missingAgentFiles += 1;
223
- }
224
253
  }
225
- const agentFilesCheck = { ok: missingAgentFiles === 0, count: missingAgentFiles };
226
- let secretCount = 0;
227
- const secretRows = database.prepare(`
228
- SELECT r.title, r.body, r.summary, r.scope_json, r.provenance_json
229
- FROM entries e JOIN entry_revisions r ON r.entry_id = e.id AND r.revision = e.current_revision
230
- `).all();
231
- for (const row of secretRows) {
232
- if (findSecret(`${row.title}\n${row.body}\n${row.summary ?? ''}\n${row.scope_json}\n${row.provenance_json}`))
233
- secretCount += 1;
254
+ catch {
255
+ missingAgentFiles += 1;
234
256
  }
235
- const permissions = (() => {
236
- try {
237
- const mode = statSync(initialized.databasePath).mode & 0o777;
238
- return { ok: (mode & 0o077) === 0, count: mode, detail: `mode=${mode.toString(8)}` };
239
- }
240
- catch {
241
- return { ok: false, count: 0, detail: 'database file is not accessible' };
257
+ }
258
+ const agentFilesCheck = { ok: missingAgentFiles === 0, count: missingAgentFiles };
259
+ let secretCount = 0;
260
+ const secretRows = database.prepare(`
261
+ SELECT r.title, r.body, r.summary, r.scope_json, r.provenance_json
262
+ FROM entries e JOIN entry_revisions r ON r.entry_id = e.id AND r.revision = e.current_revision
263
+ `).all();
264
+ for (const row of secretRows) {
265
+ if (findSecret(`${row.title}\n${row.body}\n${row.summary ?? ''}\n${row.scope_json}\n${row.provenance_json}`))
266
+ secretCount += 1;
267
+ }
268
+ const permissions = (() => {
269
+ try {
270
+ const mode = statSync(options.databasePath).mode & 0o777;
271
+ return { ok: (mode & 0o077) === 0, count: mode, detail: `mode=${mode.toString(8)}` };
272
+ }
273
+ catch {
274
+ return { ok: false, count: 0, detail: 'database file is not accessible' };
275
+ }
276
+ })();
277
+ const ledgerReport = inspectLedger(database);
278
+ const ledgerCheck = { ok: ledgerReport.ok, count: ledgerReport.findingCount, detail: `findings=${ledgerReport.findingCount}` };
279
+ const nudgeDeliveries = {
280
+ ok: ledgerReport.checks.nudgeDeliveries.ok,
281
+ count: ledgerReport.checks.nudgeDeliveries.findingCount,
282
+ detail: `deliveries=${ledgerReport.counts.nudgeDeliveries}, findings=${ledgerReport.checks.nudgeDeliveries.findingCount}`,
283
+ };
284
+ const legacyDeliveriesTruncated = options.legacyDeliveries.scanTruncated
285
+ || options.legacyDeliveries.findingsTruncated;
286
+ const legacyDeliveries = {
287
+ ok: options.legacyDeliveries.invalid === 0 && !legacyDeliveriesTruncated,
288
+ count: options.legacyDeliveries.invalid + (legacyDeliveriesTruncated ? 1 : 0),
289
+ detail: `scanned=${options.legacyDeliveries.scanned}, valid=${options.legacyDeliveries.valid}, invalid=${options.legacyDeliveries.invalid}, findings=${options.legacyDeliveries.findings.length}, scanTruncated=${options.legacyDeliveries.scanTruncated}, findingsTruncated=${options.legacyDeliveries.findingsTruncated}`,
290
+ };
291
+ const runtime = await runtimeCheck(options.databasePath, options.runtimeDescriptorPath);
292
+ const checks = {
293
+ integrity: { ok: integrity === 'ok', detail: integrity },
294
+ foreignKeys: { ok: foreignKeyRows.length === 0, count: foreignKeyRows.length },
295
+ entryRevisions: { ok: missingCurrentRevisions === 0, count: missingCurrentRevisions },
296
+ revisionTags: { ok: orphanRevisionTags === 0, count: orphanRevisionTags },
297
+ deliveryRevisions: { ok: missingDeliveryRevisions === 0, count: missingDeliveryRevisions },
298
+ revisionHashes: revisionHashCheck,
299
+ migrations: migrationCheck,
300
+ fts: ftsCheck,
301
+ danglingLinks: { ok: danglingLinks === 0, count: danglingLinks },
302
+ contradictions: { ok: contradictions === 0, count: contradictions, detail: 'verified contradictions require review' },
303
+ bindings: bindingCheck,
304
+ agentFiles: agentFilesCheck,
305
+ permissions,
306
+ secrets: { ok: secretCount === 0, count: secretCount },
307
+ ledger: ledgerCheck,
308
+ nudgeDeliveries,
309
+ legacyDeliveries,
310
+ runtime,
311
+ hybridSearch: hybridCheck,
312
+ };
313
+ const ok = Object.values(checks).every((check) => check.ok);
314
+ return {
315
+ ok,
316
+ databasePath: '<redacted>',
317
+ currentVersion: options.currentVersion,
318
+ capabilities: options.capabilities,
319
+ legacyDeliveries: options.legacyDeliveries,
320
+ integrity,
321
+ fts5,
322
+ checks,
323
+ };
324
+ }
325
+ async function legacyMigrationPreflight(options) {
326
+ const databasePath = options.databasePath ?? getGlobalDatabasePath();
327
+ if (databasePath === ':memory:')
328
+ return undefined;
329
+ let identity;
330
+ try {
331
+ identity = databaseFileIdentity(databasePath);
332
+ }
333
+ catch {
334
+ return undefined;
335
+ }
336
+ const database = openConnection(databasePath, { readOnly: true, expectedFileIdentity: identity });
337
+ let operationFailed = false;
338
+ let operationError;
339
+ let result;
340
+ try {
341
+ const snapshot = loadMigrationSnapshot(options.migrationsDirectory);
342
+ const plan = inspectMigrationSnapshot(database, snapshot);
343
+ if (plan.pending.includes(12) && legacyDeliverySchemaIsInspectable(database)) {
344
+ const report = inspectLegacyContextDeliveries(database);
345
+ if (report.invalid > 0 || report.scanTruncated || report.findingsTruncated) {
346
+ result = await collectDoctorResult(database, {
347
+ databasePath,
348
+ databaseVersion: plan.databaseVersion,
349
+ currentVersion: plan.currentVersion,
350
+ capabilities: null,
351
+ ...(options.runtimeDescriptorPath === undefined ? {} : { runtimeDescriptorPath: options.runtimeDescriptorPath }),
352
+ legacyDeliveries: report,
353
+ });
242
354
  }
243
- })();
244
- const ledgerReport = inspectLedger(database);
245
- const ledgerCheck = { ok: ledgerReport.ok, count: ledgerReport.findingCount, detail: `findings=${ledgerReport.findingCount}` };
246
- const runtime = await runtimeCheck(initialized.databasePath, options.runtimeDescriptorPath);
247
- const checks = {
248
- integrity: { ok: integrity === 'ok', detail: integrity },
249
- foreignKeys: { ok: foreignKeyRows.length === 0, count: foreignKeyRows.length },
250
- entryRevisions: { ok: missingCurrentRevisions === 0, count: missingCurrentRevisions },
251
- revisionTags: { ok: orphanRevisionTags === 0, count: orphanRevisionTags },
252
- deliveryRevisions: { ok: missingDeliveryRevisions === 0, count: missingDeliveryRevisions },
253
- revisionHashes: { ok: revisionHashMismatches === 0, count: revisionHashMismatches },
254
- migrations: migrationCheck,
255
- fts: ftsCheck,
256
- danglingLinks: { ok: danglingLinks === 0, count: danglingLinks },
257
- contradictions: { ok: contradictions === 0, count: contradictions, detail: 'verified contradictions require review' },
258
- bindings: bindingCheck,
259
- agentFiles: agentFilesCheck,
260
- permissions,
261
- secrets: { ok: secretCount === 0, count: secretCount },
262
- ledger: ledgerCheck,
263
- runtime,
264
- hybridSearch: hybridCheck,
265
- };
266
- const ok = Object.values(checks).every((check) => check.ok);
267
- doctorResult = { ok, databasePath: '<redacted>', currentVersion: initialized.currentVersion, capabilities: initialized.capabilities, integrity, fts5, checks };
355
+ }
356
+ }
357
+ catch (error) {
358
+ operationFailed = true;
359
+ operationError = error;
360
+ }
361
+ try {
362
+ database.close();
363
+ }
364
+ catch (closeError) {
365
+ if (operationFailed) {
366
+ throw new AggregateError([operationError, closeError], 'Doctor legacy preflight failed and closing the database connection also failed');
367
+ }
368
+ throw closeError;
369
+ }
370
+ if (operationFailed)
371
+ throw operationError;
372
+ return result;
373
+ }
374
+ export async function runDoctor(options = {}, dependencies = {}) {
375
+ const preflight = await legacyMigrationPreflight(options);
376
+ if (preflight !== undefined)
377
+ return preflight;
378
+ const initOptions = {
379
+ ...(options.databasePath === undefined ? {} : { databasePath: options.databasePath }),
380
+ ...(options.migrationsDirectory === undefined ? {} : { migrationsDirectory: options.migrationsDirectory }),
381
+ };
382
+ const initialized = await initializeDatabase(initOptions);
383
+ const database = (dependencies.openConnection ?? openConnection)(initialized.databasePath);
384
+ let doctorResult;
385
+ let operationFailed = false;
386
+ let operationError;
387
+ try {
388
+ const legacyDeliveries = inspectLegacyContextDeliveries(database);
389
+ doctorResult = await collectDoctorResult(database, {
390
+ databasePath: initialized.databasePath,
391
+ databaseVersion: initialized.currentVersion,
392
+ currentVersion: initialized.currentVersion,
393
+ capabilities: initialized.capabilities,
394
+ ...(options.runtimeDescriptorPath === undefined ? {} : { runtimeDescriptorPath: options.runtimeDescriptorPath }),
395
+ legacyDeliveries,
396
+ });
268
397
  }
269
398
  catch (error) {
270
399
  operationFailed = true;
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ import { detectInstalledClients } from '../setup/client-detection.js';
17
17
  import { assertExactLegacyOpenCodeLoopGuard, cleanupLegacyClaudePromptHook, } from '../setup/legacy-client-cleanup.js';
18
18
  import { loadBundledStandardSkillFiles, renderStandardSkillFile, } from '../setup/standard-skills.js';
19
19
  import { listRegisteredProjectLocations, refreshRegisteredProjectAgentFiles, } from '../setup/project-agent-refresh.js';
20
+ import { findMissingRepositoryLocations, removeMissingRepositoryLocations, } from '../repository/binding.js';
20
21
  export const SETUP_CLIENTS = ['codex', 'opencode', 'claude', 'hermes'];
21
22
  function setupPathJoin(options, ...segments) {
22
23
  const platform = options.platform ?? process.platform;
@@ -568,6 +569,8 @@ export async function setupGlobalClients(options = {}, dependencyOverrides = {})
568
569
  let workspaceInitializationFailed = false;
569
570
  let workspaceInitializationError;
570
571
  try {
572
+ const missingProjectLocations = findMissingRepositoryLocations(database);
573
+ removeMissingRepositoryLocations(database, missingProjectLocations);
571
574
  dependencies.ensureGlobalWorkspace(database);
572
575
  registeredProjectLocations = listRegisteredProjectLocations(database, {
573
576
  allowUnavailableRegistry: options.migrationsDirectory !== undefined,