@cleocode/core 2026.6.9 → 2026.6.10

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.
@@ -11,6 +11,7 @@
11
11
  * @see https://github.com/anthropics/cleo/issues/65
12
12
  */
13
13
  import { copyFileSync, existsSync } from 'node:fs';
14
+ import { dirname, join } from 'node:path';
14
15
  import { readMigrationFiles } from 'drizzle-orm/migrator';
15
16
  import { getLogger } from '../logger.js';
16
17
  import { isSqliteBusy } from './with-retry.js';
@@ -27,6 +28,178 @@ export { isSqliteBusy };
27
28
  const MAX_MIGRATION_RETRIES = 5;
28
29
  const MIGRATION_RETRY_BASE_DELAY_MS = 100;
29
30
  const MIGRATION_RETRY_MAX_DELAY_MS = 2000;
31
+ /**
32
+ * Strip SQL line (`-- …`) and block (`/* … *​/`) comments from a migration's SQL
33
+ * before scanning it for DDL targets.
34
+ *
35
+ * Migration files routinely carry prose comments describing the change — phrases
36
+ * like "the project-side CREATE TABLE half of that move" or "CREATE TABLE IF NOT
37
+ * EXISTS ensures it exists". A DDL-extraction regex run over the RAW SQL captures
38
+ * bogus "table" names from those comments (`half`, `IF`, `ensures`), making a
39
+ * fully-satisfied migration look un-applied. The journal then omits it, Drizzle
40
+ * re-runs its bare `CREATE TABLE …` against a DB where the table already exists,
41
+ * and the open fails (root cause of the "Task database not initialized" poison).
42
+ *
43
+ * Always strip comments via this helper BEFORE any `createTableRegex` /
44
+ * `createIndexRegex` / `alterColumnRegex` scan. The pair of replaces matches the
45
+ * idiom already used by {@link isExecutableStatement} and Scenario 3's
46
+ * comment-only baseline detection.
47
+ *
48
+ * @param sql - Raw migration SQL (one statement or many joined with `\n`)
49
+ * @returns The SQL with all `--` line comments and `/* … *​/` block comments removed
50
+ */
51
+ export function stripSqlComments(sql) {
52
+ return sql.replace(/--[^\n]*/g, '').replace(/\/\*[\s\S]*?\*\//g, '');
53
+ }
54
+ /**
55
+ * Compute the set of tables that a migration lineage CREATEs and a LATER
56
+ * migration permanently ELIMINATES (DROP TABLE with no subsequent recreate).
57
+ *
58
+ * ## Why (bug #2)
59
+ *
60
+ * The DDL probe ({@link probeAndMarkApplied}) marks a `CREATE TABLE foo`
61
+ * migration applied only if `foo` exists in the live schema. That breaks when a
62
+ * later migration DROPs `foo` for good: e.g. `t033`/`initial` create
63
+ * `release_manifests`, which `t9686b2` later DROPs (superseded by `releases`).
64
+ * On a DB that has run the WHOLE lineage, `release_manifests` is correctly
65
+ * absent — but the probe then refuses to mark `t033`/`initial` applied, so
66
+ * drizzle's `migrate()` re-runs their bare `CREATE TABLE release_manifests`
67
+ * against the live DB and throws ("table already exists" / cascade) — surfacing
68
+ * as the opaque E_NOT_INITIALIZED / E_INTERNAL on a consolidated `cleo.db`.
69
+ *
70
+ * Pre-computing the eliminated set lets the probe treat a CREATE-of-an-
71
+ * eliminated-table as already satisfied: the table is *supposed* to be gone, so
72
+ * its absence is evidence the lineage ran, not that it didn't.
73
+ *
74
+ * ## Disposition tracking
75
+ *
76
+ * Walks migrations in `folderMillis` order and, WITHIN each migration, processes
77
+ * statements IN ORDER so the SQLite rebuild/recreate idioms resolve correctly:
78
+ *
79
+ * - `CREATE TABLE x` (or `… RENAME TO x`) → `x` is present.
80
+ * - `DROP TABLE x` → `x` is dropped.
81
+ *
82
+ * The rebuild idiom (`CREATE __new_x; DROP x; ALTER __new_x RENAME TO x`) and the
83
+ * drop-then-recreate idiom (`DROP x; CREATE x`) both end with `x` PRESENT because
84
+ * the final in-order statement for `x` is a create/rename. A table is
85
+ * "eliminated" only if the LAST statement touching it across the whole lineage is
86
+ * a DROP. Transient intermediates (`__new_*`) are naturally classified by the
87
+ * same rule and are irrelevant to the probe (which already redirects renames to
88
+ * the final name).
89
+ *
90
+ * @param migrations - All local migrations of one lineage (from readMigrationFiles)
91
+ * @returns The set of permanently-eliminated final table names
92
+ * @task T11553
93
+ */
94
+ export function computeEliminatedTables(migrations) {
95
+ const createTableRegex = /CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?[`"]?(\w+)[`"]?/i;
96
+ const dropTableRegex = /DROP\s+TABLE\s+(?:IF\s+EXISTS\s+)?[`"]?(\w+)[`"]?/i;
97
+ const renameRegex = /ALTER\s+TABLE\s+[`"]?(\w+)[`"]?\s+RENAME\s+TO\s+[`"]?(\w+)[`"]?/i;
98
+ // Final disposition per table: true = present, false = dropped.
99
+ const disposition = new Map();
100
+ const ordered = [...migrations].sort((a, b) => a.folderMillis - b.folderMillis);
101
+ for (const migration of ordered) {
102
+ const statements = Array.isArray(migration.sql) ? migration.sql : [migration.sql ?? ''];
103
+ for (const rawStatement of statements) {
104
+ // Split on `;` so multiple DDL statements joined in one `.sql` array entry
105
+ // are still evaluated IN ORDER (drizzle usually splits on
106
+ // statement-breakpoint, but a migration may carry several `;`-separated
107
+ // statements in a single chunk).
108
+ const stripped = stripSqlComments(rawStatement);
109
+ for (const clause of stripped.split(';')) {
110
+ const create = createTableRegex.exec(clause);
111
+ if (create) {
112
+ disposition.set(create[1], true);
113
+ continue;
114
+ }
115
+ const rename = renameRegex.exec(clause);
116
+ if (rename) {
117
+ disposition.set(rename[2], true);
118
+ continue;
119
+ }
120
+ const drop = dropTableRegex.exec(clause);
121
+ if (drop) {
122
+ disposition.set(drop[1], false);
123
+ }
124
+ }
125
+ }
126
+ }
127
+ const eliminated = new Set();
128
+ for (const [table, present] of disposition) {
129
+ if (!present)
130
+ eliminated.add(table);
131
+ }
132
+ return eliminated;
133
+ }
134
+ /**
135
+ * The timestamp-prefix of the consolidation cutover migration
136
+ * (`20260531000001_t11363-consolidation-cleo-{project,global}`), used as the
137
+ * fallback when the consolidation migration cannot be located on disk.
138
+ *
139
+ * Migration folder names start with a 14-char numeric timestamp prefix
140
+ * (`YYYYMMDDHHMMSS`). Comparing those prefixes lexicographically is equivalent
141
+ * to comparing the encoded timestamps, so this string is the cutover boundary.
142
+ *
143
+ * @task T11553
144
+ */
145
+ export const CONSOLIDATION_CUTOVER_PREFIX = '20260531000001';
146
+ /**
147
+ * Length of a drizzle migration folder's leading `YYYYMMDDHHMMSS` timestamp.
148
+ */
149
+ const MIGRATION_TIMESTAMP_PREFIX_LEN = 14;
150
+ /**
151
+ * Resolve the consolidation cutover timestamp-prefix for a lineage being
152
+ * reconciled, by locating the `*-consolidation-cleo-*` migration in the SIBLING
153
+ * consolidated folders (`drizzle-cleo-project` / `drizzle-cleo-global`) next to
154
+ * the supplied `migrationsFolder`.
155
+ *
156
+ * The legacy lineages (`drizzle-tasks` / `drizzle-brain`) do NOT themselves
157
+ * contain the consolidation migration — it lives in the consolidated folders —
158
+ * so we scan the siblings. Best-effort: if neither sibling is present/readable
159
+ * (partial install) the function returns {@link CONSOLIDATION_CUTOVER_PREFIX}.
160
+ *
161
+ * @param migrationsFolder - Absolute path to the lineage folder being reconciled
162
+ * @returns The 14-char timestamp prefix of the consolidation cutover migration
163
+ * @task T11553
164
+ */
165
+ export function resolveConsolidationCutoverPrefix(migrationsFolder) {
166
+ const parent = dirname(migrationsFolder);
167
+ for (const setName of ['drizzle-cleo-project', 'drizzle-cleo-global']) {
168
+ const folder = join(parent, setName);
169
+ if (!existsSync(folder))
170
+ continue;
171
+ try {
172
+ const consolidation = readMigrationFiles({ migrationsFolder: folder }).find((m) => /-consolidation-cleo-/.test(m.name ?? ''));
173
+ if (consolidation?.name) {
174
+ return consolidation.name.slice(0, MIGRATION_TIMESTAMP_PREFIX_LEN);
175
+ }
176
+ }
177
+ catch {
178
+ // Best-effort — fall through to the next sibling / the constant fallback.
179
+ }
180
+ }
181
+ return CONSOLIDATION_CUTOVER_PREFIX;
182
+ }
183
+ /**
184
+ * Whether a migration's `YYYYMMDDHHMMSS` timestamp prefix is at or before the
185
+ * consolidation cutover — i.e. it is a PRE-consolidation legacy migration
186
+ * subsumed by the consolidation snapshot (vs a NEW post-consolidation migration
187
+ * that must run normally).
188
+ *
189
+ * @param migrationName - The migration folder name (e.g. `20260321000000_t033-…`)
190
+ * @param cutoverPrefix - The cutover prefix from {@link resolveConsolidationCutoverPrefix}
191
+ * @returns true if at/before the cutover (pre-consolidation), false if after
192
+ * @task T11553
193
+ */
194
+ function isAtOrBeforeCutover(migrationName, cutoverPrefix) {
195
+ const prefix = (migrationName ?? '').slice(0, MIGRATION_TIMESTAMP_PREFIX_LEN);
196
+ // A name without a parseable prefix is treated as pre-cutover (legacy/unknown):
197
+ // safer to stamp-and-skip than to re-run an unknown legacy migration. Real
198
+ // post-consolidation migrations always carry a valid prefix.
199
+ if (prefix.length < MIGRATION_TIMESTAMP_PREFIX_LEN)
200
+ return true;
201
+ return prefix <= cutoverPrefix;
202
+ }
30
203
  /**
31
204
  * Check whether a table exists in a SQLite database.
32
205
  */
@@ -92,14 +265,56 @@ function insertJournalEntry(nativeDb, hash, createdAt, name) {
92
265
  * Replaces the broken "wholesale mark applied" pattern that was the root cause
93
266
  * of the ensureColumns band-aid sprawl (T632).
94
267
  *
268
+ * ## Eliminated-table tolerance (bug #2 · T11553)
269
+ *
270
+ * A `CREATE TABLE foo` whose `foo` is in `eliminatedTables` — i.e. a LATER
271
+ * migration in the same lineage permanently DROPs it (e.g. `release_manifests`,
272
+ * dropped by `t9686b2`) — is treated as ALREADY SATISFIED. On a DB that ran the
273
+ * whole lineage the table is *supposed* to be absent; without this tolerance the
274
+ * probe refuses to mark the creating migration applied, drizzle re-runs its bare
275
+ * `CREATE TABLE` and throws. See {@link computeEliminatedTables}.
276
+ *
277
+ * ## Zero-DDL discriminator (bug #2 follow-up · T11553)
278
+ *
279
+ * A migration with NO probe-able DDL targets (pure `INSERT`/`UPDATE`/`DELETE`
280
+ * backfill, `DROP TABLE`-only, `CREATE VIEW`, …) cannot be verified by schema
281
+ * inspection. The cutover decides:
282
+ *
283
+ * - **at/before** the consolidation cutover → a PRE-consolidation legacy
284
+ * migration, already subsumed and possibly NON-idempotent (`UPDATE`/plain
285
+ * `INSERT`) → STAMP applied (do NOT re-run).
286
+ * - **after** the cutover → a NEW post-consolidation migration whose effect has
287
+ * NOT run yet → do NOT stamp (return false) so drizzle `migrate()` executes
288
+ * it. New migrations are required to be idempotent (`INSERT OR IGNORE` /
289
+ * `DROP … IF EXISTS` / `CREATE … IF NOT EXISTS`), so running them is correct
290
+ * and harmless on re-run; they journal normally afterwards.
291
+ *
292
+ * Migrations WITH DDL targets keep the probe-tolerance behaviour unchanged
293
+ * (including post-cutover ones like t11538/t11649 that must be probe-stampable
294
+ * once already applied).
295
+ *
95
296
  * @param nativeDb - Native SQLite database handle
96
297
  * @param migration - One entry from drizzle's readMigrationFiles
97
298
  * @param logSubsystem - Logger subsystem name
299
+ * @param eliminatedTables - Final table names a later migration permanently DROPs
300
+ * (from {@link computeEliminatedTables}); their CREATE targets count as
301
+ * satisfied. Defaults to empty (no tolerance) for callers that do not supply it.
302
+ * @param consolidationCutoverPrefix - The cutover timestamp-prefix from
303
+ * {@link resolveConsolidationCutoverPrefix}; gates the zero-DDL stamp/run
304
+ * decision. Defaults to {@link CONSOLIDATION_CUTOVER_PREFIX}.
98
305
  * @returns true if the journal entry was inserted; false if migration must run
99
306
  */
100
- function probeAndMarkApplied(nativeDb, migration, logSubsystem) {
307
+ function probeAndMarkApplied(nativeDb, migration, logSubsystem, eliminatedTables = new Set(), consolidationCutoverPrefix = CONSOLIDATION_CUTOVER_PREFIX) {
101
308
  const sqlStatements = Array.isArray(migration.sql) ? migration.sql : [migration.sql ?? ''];
102
- const fullSql = sqlStatements.join('\n');
309
+ // Strip SQL line (`--`) and block (`/* */`) comments BEFORE any DDL-target
310
+ // extraction. Prose comments routinely contain phrases like "the project-side
311
+ // CREATE TABLE half of that move", which would otherwise make createTableRegex
312
+ // capture a phantom target (`half`) → tableExists(phantom) false → the
313
+ // migration is wrongly left un-journaled → Drizzle re-runs its bare CREATE
314
+ // TABLE against an existing table and crashes (root-cause of the
315
+ // "Task database not initialized" poison). Mirrors the same idiom already used
316
+ // by reconcileBrainMigrationsForConsolidatedDb and Scenario 3 below.
317
+ const fullSql = stripSqlComments(sqlStatements.join('\n'));
103
318
  // Extract DDL targets we can probe.
104
319
  const alterColumnRegex = /ALTER\s+TABLE\s+[`"]?(\w+)[`"]?\s+ADD\s+COLUMN\s+[`"]?(\w+)[`"]?/gi;
105
320
  const createTableRegex = /CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?[`"]?(\w+)[`"]?/gi;
@@ -154,10 +369,24 @@ function probeAndMarkApplied(nativeDb, migration, logSubsystem) {
154
369
  // `allCreatedTablesAreRenamed` gate was too narrow). Pure CREATE INDEX
155
370
  // migrations (no rename, no rebuild) still probe their indexes normally.
156
371
  const performsTableRebuild = renameMap.size > 0;
372
+ // Capture `CREATE INDEX <name> ON <table>` so the probe can skip indexes that
373
+ // live on an ELIMINATED table (bug #2): when `release_manifests` is dropped by
374
+ // a later migration, SQLite drops `idx_release_manifests_*` with it — probing
375
+ // for them would wrongly report the creating migration un-applied.
376
+ const createIndexWithTableRegex = /CREATE\s+(?:UNIQUE\s+)?INDEX\s+(?:IF\s+NOT\s+EXISTS\s+)?[`"]?(\w+)[`"]?\s+ON\s+[`"]?(\w+)[`"]?/gi;
377
+ const indexOnTable = new Map();
378
+ for (const m of fullSql.matchAll(createIndexWithTableRegex)) {
379
+ indexOnTable.set(m[1], m[2]);
380
+ }
157
381
  const indexTargets = [];
158
382
  if (!isRebuildOnlyMigration && !performsTableRebuild) {
159
383
  for (const m of fullSql.matchAll(createIndexRegex)) {
160
- indexTargets.push(m[1]);
384
+ const idx = m[1];
385
+ // Skip indexes on a permanently-eliminated table — they are expected to be
386
+ // gone once that table was dropped.
387
+ if (eliminatedTables.has(indexOnTable.get(idx) ?? ''))
388
+ continue;
389
+ indexTargets.push(idx);
161
390
  }
162
391
  }
163
392
  const triggerTargets = [];
@@ -166,7 +395,20 @@ function probeAndMarkApplied(nativeDb, migration, logSubsystem) {
166
395
  }
167
396
  const totalTargets = alterTargets.length + tableTargets.length + indexTargets.length + triggerTargets.length;
168
397
  if (totalTargets === 0) {
169
- // No probable DDL — could be UPDATE/INSERT/DELETE/etc. Leave for migrate().
398
+ // No probe-able DDL — pure DML (INSERT/UPDATE/DELETE), DROP-only, CREATE VIEW,
399
+ // etc. Schema inspection can't verify it, so the consolidation cutover decides
400
+ // (bug #2 follow-up · T11553):
401
+ if (isAtOrBeforeCutover(migration.name, consolidationCutoverPrefix)) {
402
+ // PRE-consolidation legacy migration — already subsumed by the consolidation
403
+ // snapshot and possibly NON-idempotent (UPDATE / plain INSERT). Re-running it
404
+ // would double-apply or fail, so STAMP applied without running.
405
+ insertJournalEntry(nativeDb, migration.hash, migration.folderMillis, migration.name ?? '');
406
+ getLogger(logSubsystem).debug({ migration: migration.name }, `Zero-DDL pre-consolidation migration ${migration.name} stamped applied (subsumed; not re-run).`);
407
+ return true;
408
+ }
409
+ // POST-consolidation migration (e.g. a new INSERT-OR-IGNORE backfill or
410
+ // DROP-IF-EXISTS) whose effect has NOT run yet — DO NOT stamp; let drizzle
411
+ // migrate() execute it. New migrations are required to be idempotent.
170
412
  return false;
171
413
  }
172
414
  // Probe each target.
@@ -176,7 +418,10 @@ function probeAndMarkApplied(nativeDb, migration, logSubsystem) {
176
418
  const cols = nativeDb.prepare(`PRAGMA table_info(${table})`).all();
177
419
  return cols.some((c) => c.name === column);
178
420
  });
179
- const allTablesPresent = tableTargets.every((t) => tableExists(nativeDb, t));
421
+ // A CREATE-TABLE target is satisfied if it exists OR if a later migration in
422
+ // the lineage permanently eliminated it (bug #2 — e.g. `release_manifests`,
423
+ // dropped by t9686b2). Its absence on a fully-migrated DB is expected.
424
+ const allTablesPresent = tableTargets.every((t) => tableExists(nativeDb, t) || eliminatedTables.has(t));
180
425
  const allIndexesPresent = indexTargets.every((idx) => {
181
426
  const rows = nativeDb
182
427
  .prepare(`SELECT name FROM sqlite_master WHERE type='index' AND name=?`)
@@ -226,6 +471,19 @@ function probeAndMarkApplied(nativeDb, migration, logSubsystem) {
226
471
  * @param logSubsystem - Logger subsystem name for reconciliation warnings
227
472
  */
228
473
  export function reconcileJournal(nativeDb, migrationsFolder, existenceTable, logSubsystem) {
474
+ // bug #2 (T11553): pre-compute the tables this lineage CREATEs and a LATER
475
+ // migration permanently ELIMINATES (DROP TABLE, no recreate — e.g.
476
+ // `release_manifests`, dropped by t9686b2). The DDL probe treats a CREATE of an
477
+ // eliminated table (and its indexes) as already satisfied, so a fully-migrated
478
+ // DB — where that table is correctly absent — doesn't make drizzle re-run the
479
+ // creating migration's bare `CREATE TABLE` and crash.
480
+ const eliminatedTables = computeEliminatedTables(readMigrationFiles({ migrationsFolder }));
481
+ // bug #2 follow-up (T11553): the consolidation cutover timestamp-prefix gates
482
+ // the zero-DDL stamp/run decision in probeAndMarkApplied — pre-cutover legacy
483
+ // DML/DROP migrations are stamped (subsumed, possibly non-idempotent), new
484
+ // post-cutover ones are left for migrate() to RUN. Resolved from the sibling
485
+ // consolidation migration on disk.
486
+ const cutoverPrefix = resolveConsolidationCutoverPrefix(migrationsFolder);
229
487
  // Scenario 1: Tables exist but no migration journal — bootstrap baseline
230
488
  if (tableExists(nativeDb, existenceTable) && !tableExists(nativeDb, '__drizzle_migrations')) {
231
489
  const migrations = readMigrationFiles({ migrationsFolder });
@@ -299,7 +557,7 @@ export function reconcileJournal(nativeDb, migrationsFolder, existenceTable, log
299
557
  for (const m of localMigrations) {
300
558
  if (journaledHashesAfter.has(m.hash))
301
559
  continue;
302
- probeAndMarkApplied(nativeDb, m, logSubsystem);
560
+ probeAndMarkApplied(nativeDb, m, logSubsystem, eliminatedTables, cutoverPrefix);
303
561
  }
304
562
  }
305
563
  }
@@ -362,12 +620,10 @@ export function reconcileJournal(nativeDb, migrationsFolder, existenceTable, log
362
620
  // than running the comment SQL. The "all DDL targets present" check reduces to:
363
621
  // strip comments → empty string → no targets at all → baseline already satisfied.
364
622
  if (alterMatches.length === 0) {
365
- // Check for comment-only baseline marker: strip SQL line comments and block comments,
366
- // then check if any non-whitespace DDL remains.
367
- const stripped = fullSql
368
- .replace(/--[^\n]*/g, '') // strip line comments
369
- .replace(/\/\*[\s\S]*?\*\//g, '') // strip block comments
370
- .trim();
623
+ // Check for comment-only baseline marker: strip SQL line + block comments
624
+ // (shared {@link stripSqlComments} helper), then check if any
625
+ // non-whitespace DDL remains.
626
+ const stripped = stripSqlComments(fullSql).trim();
371
627
  if (stripped === '') {
372
628
  // Comment-only baseline marker — mark applied immediately on existing DBs.
373
629
  const log = getLogger(logSubsystem);
@@ -379,7 +635,7 @@ export function reconcileJournal(nativeDb, migrationsFolder, existenceTable, log
379
635
  const createTableRe = /CREATE\s+TABLE/i;
380
636
  const createTriggerRe = /CREATE\s+TRIGGER/i;
381
637
  if (renameRe.test(fullSql) && createTableRe.test(fullSql)) {
382
- probeAndMarkApplied(nativeDb, migration, logSubsystem);
638
+ probeAndMarkApplied(nativeDb, migration, logSubsystem, eliminatedTables, cutoverPrefix);
383
639
  }
384
640
  else if (createTableRe.test(fullSql) || createTriggerRe.test(fullSql)) {
385
641
  // Pure CREATE TABLE migration (no ALTER, no RENAME). Delegate to
@@ -388,7 +644,16 @@ export function reconcileJournal(nativeDb, migrationsFolder, existenceTable, log
388
644
  // This handles signaldock's initial migration (pure schema bootstrap) when
389
645
  // the DB has tables but the journal entry is missing (e.g., after a journal
390
646
  // reset or bare-SQL-to-drizzle migration path upgrade).
391
- probeAndMarkApplied(nativeDb, migration, logSubsystem);
647
+ probeAndMarkApplied(nativeDb, migration, logSubsystem, eliminatedTables, cutoverPrefix);
648
+ }
649
+ else {
650
+ // Zero-DDL migration (pure DML backfill, DROP-only, CREATE VIEW, …) with
651
+ // no journal entry. Delegate to probeAndMarkApplied, whose zero-target
652
+ // path applies the consolidation cutover (T11553): a PRE-cutover legacy
653
+ // migration is stamped (subsumed, possibly non-idempotent), while a NEW
654
+ // POST-cutover one is left un-stamped so drizzle migrate() RUNS its
655
+ // effect (e.g. the cutover agent's INSERT-OR-IGNORE backfill / DROP).
656
+ probeAndMarkApplied(nativeDb, migration, logSubsystem, eliminatedTables, cutoverPrefix);
392
657
  }
393
658
  continue;
394
659
  }
@@ -543,6 +808,11 @@ export function reconcileBrainMigrationsForConsolidatedDb(nativeDb, migrationsFo
543
808
  `);
544
809
  const localMigrations = sanitizeMigrationStatements(readMigrationFiles({ migrationsFolder }));
545
810
  const existingHashes = new Set(nativeDb.prepare('SELECT hash FROM "__drizzle_migrations"').all().map((r) => r.hash));
811
+ // bug #2 (T11553): tables this brain lineage CREATEs and a LATER migration
812
+ // permanently ELIMINATES — their absence is expected on a fully-migrated DB and
813
+ // must count as "satisfied" so the creating migration is journaled rather than
814
+ // re-run. (Mirrors the reconcileJournal eliminated-table tolerance.)
815
+ const eliminatedTables = computeEliminatedTables(localMigrations);
546
816
  const createTableRegex = /CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?[`"]?(\w+)[`"]?/gi;
547
817
  const renameRegex = /ALTER\s+TABLE\s+[`"]?(\w+)[`"]?\s+RENAME\s+TO\s+[`"]?(\w+)[`"]?/gi;
548
818
  const addColumnRegex = /ALTER\s+TABLE\s+[`"]?(\w+)[`"]?\s+ADD\s+COLUMN\s+[`"]?(\w+)[`"]?/gi;
@@ -552,12 +822,11 @@ export function reconcileBrainMigrationsForConsolidatedDb(nativeDb, migrationsFo
552
822
  const cols = nativeDb.prepare(`PRAGMA table_info("${table}")`).all();
553
823
  return cols.some((c) => c.name === column);
554
824
  };
555
- // Strip SQL line (`-- …`) and block (`/* */`) comments before scanning for
556
- // DDL targets. A migration's prose comments routinely contain phrases like
557
- // "CREATE TABLE IF NOT EXISTS ensures it exists", which would otherwise make
558
- // the CREATE-TABLE regex capture bogus "table" names (`IF`, `ensures`) and
559
- // wrongly classify a satisfied migration as missing.
560
- const stripSqlComments = (sql) => sql.replace(/--[^\n]*/g, '').replace(/\/\*[\s\S]*?\*\//g, '');
825
+ // Strip SQL comments before scanning for DDL targets (shared module helper
826
+ // see {@link stripSqlComments}). A migration's prose comments routinely contain
827
+ // phrases like "CREATE TABLE IF NOT EXISTS ensures it exists", which would
828
+ // otherwise make the CREATE-TABLE regex capture bogus "table" names and wrongly
829
+ // classify a satisfied migration as missing.
561
830
  let marked = 0;
562
831
  let applied = 0;
563
832
  for (const m of localMigrations) {
@@ -582,7 +851,8 @@ export function reconcileBrainMigrationsForConsolidatedDb(nativeDb, migrationsFo
582
851
  for (const match of fullSql.matchAll(addColumnRegex)) {
583
852
  addColumns.push({ table: match[1], column: match[2] });
584
853
  }
585
- const tablesSatisfied = resultTables.size > 0 && [...resultTables].every((t) => tableExists(nativeDb, t));
854
+ const tablesSatisfied = resultTables.size > 0 &&
855
+ [...resultTables].every((t) => tableExists(nativeDb, t) || eliminatedTables.has(t));
586
856
  const altersSatisfied = resultTables.size === 0 &&
587
857
  addColumns.length > 0 &&
588
858
  addColumns.every(({ table, column }) => columnExists(table, column));
@@ -624,25 +894,55 @@ export function reconcileBrainMigrationsForConsolidatedDb(nativeDb, migrationsFo
624
894
  }
625
895
  return { marked, applied };
626
896
  }
897
+ /**
898
+ * Collect the `.message` of an Error and every nested `.cause` (recursively).
899
+ *
900
+ * Drizzle wraps the underlying node:sqlite error in a `DrizzleError` whose own
901
+ * `.message` is generic ("Failed to run the query …") while the real SQLite
902
+ * message ("table nexus_nodes already exists") lives in `.cause.message`. Error
903
+ * predicates that only test the top-level `.message` miss the wrapped case and
904
+ * rethrow — defeating the migrateWithRetry reconcile path. Walking the cause
905
+ * chain (with a depth guard against pathological cycles) lets the predicates see
906
+ * the real message regardless of how many layers wrap it.
907
+ *
908
+ * @param err - The thrown value (Error, wrapped Error, or anything else)
909
+ * @returns All messages found along the cause chain, joined with `\n`
910
+ */
911
+ function collectErrorMessages(err) {
912
+ const messages = [];
913
+ let current = err;
914
+ // Depth guard: cap the walk so a self-referential cause cannot loop forever.
915
+ for (let depth = 0; current instanceof Error && depth < 16; depth++) {
916
+ messages.push(current.message);
917
+ current = current.cause;
918
+ }
919
+ return messages.join('\n');
920
+ }
627
921
  /**
628
922
  * Check whether an error is a SQLite "duplicate column name" error.
629
923
  *
630
924
  * These are thrown when an ALTER TABLE ADD COLUMN statement is re-executed
631
925
  * after the column was already added (Scenario 3 in reconcileJournal).
926
+ *
927
+ * Inspects the full `.cause` chain so a Drizzle-wrapped error (whose real SQLite
928
+ * message lives in `.cause.message`) is still recognised.
632
929
  */
633
930
  export function isDuplicateColumnError(err) {
634
931
  if (!(err instanceof Error))
635
932
  return false;
636
- return /duplicate column name/i.test(err.message);
933
+ return /duplicate column name/i.test(collectErrorMessages(err));
637
934
  }
638
935
  /**
639
936
  * T9174: Check for "table X already exists" SQLite error.
640
937
  * Occurs when migration SQL lacks IF NOT EXISTS but startup DDL already ran.
938
+ *
939
+ * Inspects the full `.cause` chain so a Drizzle-wrapped error (whose real SQLite
940
+ * message lives in `.cause.message`) is still recognised.
641
941
  */
642
942
  export function isTableAlreadyExistsError(err) {
643
943
  if (!(err instanceof Error))
644
944
  return false;
645
- return /table .+ already exists/i.test(err.message);
945
+ return /table .+ already exists/i.test(collectErrorMessages(err));
646
946
  }
647
947
  /**
648
948
  * Check whether a SQL statement is "executable" — i.e., contains something
@@ -1 +1 @@
1
- {"version":3,"file":"migration-manager.js","sourceRoot":"","sources":["../../src/store/migration-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,CAAC;AASxB,kEAAkE;AAClE,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAC1C,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,QAAsB,EAAE,SAAiB;IACnE,MAAM,MAAM,GAAG,QAAQ;SACpB,OAAO,CAAC,8DAA8D,CAAC;SACvE,GAAG,CAAC,SAAS,CAAwC,CAAC;IACzD,OAAO,CAAC,CAAC,MAAM,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CACzB,QAAsB,EACtB,IAAY,EACZ,SAAiB,EACjB,IAAY;IAEZ,yEAAyE;IACzE,8EAA8E;IAC9E,sDAAsD;IACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,EAE/E,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IACnF,CAAC;IAED,QAAQ,CAAC,IAAI,CACX,wFAAwF,IAAI,MAAM,SAAS,MAAM,IAAI,IAAI,CAC1H,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAS,mBAAmB,CAC1B,QAAsB,EACtB,SAAyF,EACzF,YAAoB;IAEpB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IAC3F,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzC,oCAAoC;IACpC,MAAM,gBAAgB,GAAG,oEAAoE,CAAC;IAC9F,MAAM,gBAAgB,GAAG,6DAA6D,CAAC;IACvF,MAAM,gBAAgB,GACpB,2EAA2E,CAAC;IAC9E,MAAM,kBAAkB,GAAG,+DAA+D,CAAC;IAE3F,MAAM,YAAY,GAA6C,EAAE,CAAC;IAClE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnD,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAW,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,2EAA2E;IAC3E,uEAAuE;IACvE,wEAAwE;IACxE,0DAA0D;IAC1D,MAAM,WAAW,GAAG,mEAAmE,CAAC;IACxF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,uBAAuB;IACpE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAW,EAAE,CAAC,CAAC,CAAC,CAAW,CAAC,CAAC;IAChD,CAAC;IAED,0EAA0E;IAC1E,IAAI,0BAA0B,GAAG,IAAI,CAAC;IACtC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAW,CAAC;QAC/B,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,2DAA2D;YAC3D,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAW,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,oEAAoE;YACpE,0BAA0B,GAAG,KAAK,CAAC;YACnC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,8EAA8E;IAC9E,+EAA+E;IAC/E,6EAA6E;IAC7E,0EAA0E;IAC1E,MAAM,sBAAsB,GAC1B,0BAA0B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC;IAErF,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,wEAAwE;IACxE,2EAA2E;IAC3E,8EAA8E;IAC9E,6EAA6E;IAC7E,mEAAmE;IACnE,EAAE;IACF,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,uEAAuE;IACvE,yEAAyE;IACzE,MAAM,oBAAoB,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;IAEhD,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,CAAC,sBAAsB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnD,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAW,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACrD,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAW,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,YAAY,GAChB,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;IAC1F,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,4EAA4E;QAC5E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qBAAqB;IACrB,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QAChE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,KAAK,GAAG,CAAC,CAAC,GAAG,EAE9D,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,QAAQ;aAClB,OAAO,CAAC,8DAA8D,CAAC;aACvE,GAAG,CAAC,GAAG,CAA4B,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,QAAQ;aAClB,OAAO,CAAC,gEAAgE,CAAC;aACzE,GAAG,CAAC,GAAG,CAA4B,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,IAAI,gBAAgB,IAAI,gBAAgB,IAAI,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACpF,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC3F,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;QACpC,GAAG,CAAC,KAAK,CACP;YACE,SAAS,EAAE,SAAS,CAAC,IAAI;YACzB,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,YAAY,CAAC,MAAM;YAC5B,aAAa,EAAE,sBAAsB;SACtC,EACD,aAAa,SAAS,CAAC,IAAI,kDAAkD,CAC9E,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAsB,EACtB,gBAAwB,EACxB,cAAsB,EACtB,YAAoB;IAEpB,yEAAyE;IACzE,IAAI,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,sBAAsB,CAAC,EAAE,CAAC;QAC5F,MAAM,UAAU,GAAG,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC;;;;;;;;OAQb,CAAC,CAAC;YACH,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,EAAE;IACF,qDAAqD;IACrD,EAAE;IACF,2EAA2E;IAC3E,uEAAuE;IACvE,2EAA2E;IAC3E,yEAAyE;IACzE,wEAAwE;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,qDAAqD;IACrD,EAAE;IACF,uEAAuE;IACvE,8EAA8E;IAC9E,yEAAyE;IACzE,6DAA6D;IAC7D,EAAE;IACF,0EAA0E;IAC1E,6EAA6E;IAC7E,wEAAwE;IACxE,yEAAyE;IACzE,8EAA8E;IAC9E,qEAAqE;IACrE,IAAI,WAAW,CAAC,QAAQ,EAAE,sBAAsB,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC;QAC3F,MAAM,eAAe,GAAG,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAGhE,MAAM,SAAS,GAAG,QAAQ;aACvB,OAAO,CAAC,6CAA6C,CAAC;aACtD,GAAG,EAAkB,CAAC;QAEzB,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,MAAM,kBAAkB,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QAEtD,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,MAAM,yBAAyB,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAErF,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;YAEpC,IAAI,yBAAyB,EAAE,CAAC;gBAC9B,+DAA+D;gBAC/D,qEAAqE;gBACrE,GAAG,CAAC,KAAK,CACP,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,EACjC,yBAAyB,eAAe,CAAC,MAAM,2FAA2F,CAC3I,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,oEAAoE;gBACpE,qDAAqD;gBACrD,GAAG,CAAC,IAAI,CACN,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,EACpC,YAAY,eAAe,CAAC,MAAM,uFAAuF,CAC1H,CAAC;gBACF,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;gBACvF,KAAK,MAAM,CAAC,IAAI,eAAe;oBAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtD,gEAAgE;gBAChE,sEAAsE;gBACtE,gEAAgE;gBAChE,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAEhC,QAAQ,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,EAGhE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACrB,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;oBAChC,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;wBAAE,SAAS;oBAC/C,mBAAmB,CAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,+EAA+E;IAC/E,mFAAmF;IACnF,oFAAoF;IACpF,EAAE;IACF,mFAAmF;IACnF,wFAAwF;IACxF,sFAAsF;IACtF,sFAAsF;IACtF,oFAAoF;IACpF,gDAAgD;IAChD,IAAI,WAAW,CAAC,QAAQ,EAAE,sBAAsB,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC;QAC3F,MAAM,eAAe,GAAG,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,QAAQ;aAC5B,OAAO,CAAC,yCAAyC,CAAC;aAClD,GAAG,EAA6B,CAAC;QACpC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnE,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;YACxC,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;gBAAE,SAAS;YAElD,qEAAqE;YACrE,sEAAsE;YACtE,8EAA8E;YAC9E,MAAM,gBAAgB,GACpB,mFAAmF,CAAC;YACtF,MAAM,YAAY,GAA0D,EAAE,CAAC;YAC/E,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;YAC3F,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACnD,YAAY,CAAC,IAAI,CAAC;oBAChB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAW;oBACrB,MAAM,EAAE,CAAC,CAAC,CAAC,CAAW;oBACtB,GAAG,EAAE,CAAE,CAAC,CAAC,CAAC,CAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;iBACrC,CAAC,CAAC;YACL,CAAC;YAED,gFAAgF;YAChF,oFAAoF;YACpF,gFAAgF;YAChF,0EAA0E;YAC1E,EAAE;YACF,mFAAmF;YACnF,kFAAkF;YAClF,kFAAkF;YAClF,qFAAqF;YACrF,EAAE;YACF,kFAAkF;YAClF,oFAAoF;YACpF,oFAAoF;YACpF,kFAAkF;YAClF,uFAAuF;YACvF,2EAA2E;YAC3E,EAAE;YACF,uFAAuF;YACvF,qFAAqF;YACrF,qFAAqF;YACrF,qFAAqF;YACrF,gFAAgF;YAChF,kFAAkF;YAClF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,sFAAsF;gBACtF,gDAAgD;gBAChD,MAAM,QAAQ,GAAG,OAAO;qBACrB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,sBAAsB;qBAC/C,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,uBAAuB;qBACxD,IAAI,EAAE,CAAC;gBACV,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;oBACpB,2EAA2E;oBAC3E,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;oBACpC,GAAG,CAAC,KAAK,CACP,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,EAC7B,aAAa,SAAS,CAAC,IAAI,sEAAsE,CAClG,CAAC;oBACF,kBAAkB,CAChB,QAAQ,EACR,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,YAAY,EACtB,SAAS,CAAC,IAAI,IAAI,EAAE,CACrB,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,8DAA8D,CAAC;gBAChF,MAAM,aAAa,GAAG,iBAAiB,CAAC;gBACxC,MAAM,eAAe,GAAG,mBAAmB,CAAC;gBAC5C,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1D,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;gBACzD,CAAC;qBAAM,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxE,iEAAiE;oBACjE,uEAAuE;oBACvE,6DAA6D;oBAC7D,2EAA2E;oBAC3E,4EAA4E;oBAC5E,wDAAwD;oBACxD,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;gBACzD,CAAC;gBACD,SAAS;YACX,CAAC;YAED,sEAAsE;YACtE,MAAM,eAAe,GAA0D,EAAE,CAAC;YAClF,MAAM,cAAc,GAA0D,EAAE,CAAC;YAEjF,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;gBAClC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC5B,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAErE,CAAC;gBACH,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/C,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,kFAAkF;YAClF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;gBACpC,GAAG,CAAC,IAAI,CACN,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,EACpD,wCAAwC,SAAS,CAAC,IAAI,+DAA+D,CACtH,CAAC;gBACF,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC3F,SAAS;YACX,CAAC;YAED,+EAA+E;YAC/E,iFAAiF;YACjF,mFAAmF;YACnF,qFAAqF;YACrF,EAAE;YACF,mFAAmF;YACnF,gFAAgF;YAChF,4EAA4E;YAC5E,uFAAuF;YACvF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5D,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;gBACpC,GAAG,CAAC,IAAI,CACN;oBACE,SAAS,EAAE,SAAS,CAAC,IAAI;oBACzB,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBACrE,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;iBACpE,EACD,oCAAoC,SAAS,CAAC,IAAI,wFAAwF,CAC3I,CAAC;gBAEF,6EAA6E;gBAC7E,8CAA8C;gBAC9C,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,cAAc,EAAE,CAAC;oBACpD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC;wBAAE,SAAS;oBAC5C,IAAI,CAAC;wBACH,QAAQ,CAAC,IAAI,CAAC,eAAe,KAAK,eAAe,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAClF,GAAG,CAAC,IAAI,CACN,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAC5C,8BAA8B,KAAK,IAAI,MAAM,iCAAiC,CAC/E,CAAC;oBACJ,CAAC;oBAAC,MAAM,CAAC;wBACP,yEAAyE;wBACzE,wEAAwE;wBACxE,sDAAsD;wBACtD,GAAG,CAAC,IAAI,CACN,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAC5C,sCAAsC,KAAK,IAAI,MAAM,0CAA0C,CAChG,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,EAAE;IACF,6EAA6E;IAC7E,2EAA2E;IAC3E,+EAA+E;IAC/E,8EAA8E;IAC9E,iDAAiD;IACjD,EAAE;IACF,+EAA+E;IAC/E,6CAA6C;IAC7C,IAAI,WAAW,CAAC,QAAQ,EAAE,sBAAsB,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC;QAC3F,qDAAqD;QACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,EAE/E,CAAC;QACH,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,aAAa;YAAE,OAAO,CAAC,0DAA0D;QAEtF,MAAM,eAAe,GAAG,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE/E,MAAM,cAAc,GAAG,QAAQ;aAC5B,OAAO,CAAC,gEAAgE,CAAC;aACzE,GAAG,EAAyC,CAAC;QAEhD,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,aAAa;gBAAE,SAAS,CAAC,wCAAwC;YAEtE,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;YACpC,0EAA0E;YAC1E,sEAAsE;YACtE,uEAAuE;YACvE,wCAAwC;YACxC,GAAG,CAAC,KAAK,CACP,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,EACvD,gDAAgD,KAAK,CAAC,EAAE,mCAAmC,CAC5F,CAAC;YACF,QAAQ,CAAC,IAAI,CACX,+CAA+C,aAAa,gBAAgB,KAAK,CAAC,EAAE,EAAE,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,UAAU,yCAAyC,CACvD,QAAsB,EACtB,gBAAwB;IAExB,QAAQ,CAAC,IAAI,CAAC;;;;;;;;GAQb,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,2BAA2B,CAAC,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC9F,MAAM,cAAc,GAAG,IAAI,GAAG,CAE1B,QAAQ,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,EAChE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACrB,CAAC;IACF,MAAM,gBAAgB,GAAG,6DAA6D,CAAC;IACvF,MAAM,WAAW,GAAG,mEAAmE,CAAC;IACxF,MAAM,cAAc,GAAG,oEAAoE,CAAC;IAC5F,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,MAAc,EAAW,EAAE;QAC9D,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,KAAK,IAAI,CAAC,CAAC,GAAG,EAA6B,CAAC;QAChG,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC;IACF,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,qDAAqD;IACrD,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAU,EAAE,CAC/C,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAChE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;QAChC,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAS;QACzC,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,6EAA6E;QAC7E,6EAA6E;QAC7E,kCAAkC;QAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAClD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAW,EAAE,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC;YACtD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,YAAY,CAAC,CAAC;QACnD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAW,CAAC;YACnC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,UAAU,GAA6C,EAAE,CAAC;QAChE,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACrD,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAW,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,eAAe,GACnB,YAAY,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,eAAe,GACnB,YAAY,CAAC,IAAI,KAAK,CAAC;YACvB,UAAU,CAAC,MAAM,GAAG,CAAC;YACrB,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAEvE,IAAI,eAAe,IAAI,eAAe,EAAE,CAAC;YACvC,0EAA0E;YAC1E,2EAA2E;YAC3E,2EAA2E;YAC3E,2EAA2E;YAC3E,2EAA2E;YAC3E,sDAAsD;YACtD,0EAA0E;YAC1E,yEAAyE;YACzE,sEAAsE;YACtE,kDAAkD;YAClD,KAAK,MAAM,SAAS,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC9B,2EAA2E;gBAC3E,uEAAuE;gBACvE,0EAA0E;gBAC1E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpD,IACE,oDAAoD,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACnE,CAAC,+BAA+B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC/C,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACnE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,EAAE,CAAC;YACT,SAAS;QACX,CAAC;QAED,4EAA4E;QAC5E,8EAA8E;QAC9E,uEAAuE;QACvE,KAAK,MAAM,SAAS,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QACD,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACnE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,uCAAuC;IACvC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACrC,mEAAmE;IACnE,MAAM,QAAQ,GAAG,IAAI;SAClB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,IAAI,EAAE,CAAC;IACV,gFAAgF;IAChF,2EAA2E;IAC3E,sEAAsE;IACtE,OAAO,QAAQ,KAAK,EAAE,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,2BAA2B,CAAC,UAA2B;IACrE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACpC,GAAG,SAAS;QACZ,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC;KACjD,CAAC,CAAC,CAAC;AACN,CAAC;AAyBD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB;AAC9B,uJAAuJ;AACvJ,EAA2B,EAC3B,MAAuB;IAEvB,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;IACnD,wEAAwE;IACxE,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,UAAU,GAAG,EAA2C,CAAC;IAC/D,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB;AAC9B,uJAAuJ;AACvJ,EAA2B,EAC3B,gBAAwB,EACxB,QAAuB,EACvB,cAAuB,EACvB,YAAqB;IAErB,IAAI,yBAAyB,GAAG,KAAK,CAAC;IACtC,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAElC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,qBAAqB,EAAE,OAAO,EAAE,EAAE,CAAC;QAClE,IAAI,CAAC;YACH,gBAAgB,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,wEAAwE;YACxE,qEAAqE;YACrE,2EAA2E;YAC3E,mEAAmE;YACnE,IACE,sBAAsB,CAAC,GAAG,CAAC;gBAC3B,CAAC,yBAAyB;gBAC1B,QAAQ,KAAK,SAAS;gBACtB,cAAc,KAAK,SAAS;gBAC5B,YAAY,KAAK,SAAS,EAC1B,CAAC;gBACD,yBAAyB,GAAG,IAAI,CAAC;gBACjC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;gBAC3E,SAAS;YACX,CAAC;YAED,+DAA+D;YAC/D,IACE,yBAAyB,CAAC,GAAG,CAAC;gBAC9B,CAAC,qBAAqB;gBACtB,QAAQ,KAAK,SAAS;gBACtB,cAAc,KAAK,SAAS;gBAC5B,YAAY,KAAK,SAAS,EAC1B,CAAC;gBACD,qBAAqB,GAAG,IAAI,CAAC;gBAC7B,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,CAC1B,EAAE,OAAO,EAAG,GAAa,CAAC,OAAO,EAAE,EACnC,6EAA6E,CAC9E,CAAC;gBACF,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;gBAC3E,SAAS;YACX,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;gBAC5D,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,6BAA6B,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,EAC9E,4BAA4B,CAC7B,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAsB,EACtB,SAAiB,EACjB,eAAiC,EACjC,YAAoB,EACpB,UAAsC,gBAAgB;IAEtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC;QAAE,OAAO;IAC9C,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEzC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,SAAS,GAAG,CAAC,CAAC,GAAG,EAErE,CAAC;IACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzD,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,yBAAyB,SAAS,IAAI,GAAG,CAAC,IAAI,kBAAkB,CAAC;YACjF,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YAC7C,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxB,uEAAuE;gBACvE,uEAAuE;gBACvE,qEAAqE;gBACrE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO,uDAAuD,CAAC,CAAC;YACvF,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC5B,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,eAAe,SAAS,eAAe,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"migration-manager.js","sourceRoot":"","sources":["../../src/store/migration-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleocode/core",
3
- "version": "2026.6.9",
3
+ "version": "2026.6.10",
4
4
  "description": "CLEO core business logic kernel — tasks, sessions, memory, orchestration, lifecycle, with bundled SQLite store",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -429,16 +429,16 @@
429
429
  "write-file-atomic": "^7.0.1",
430
430
  "yaml": "^2.8.3",
431
431
  "zod": "^4.3.6",
432
- "@cleocode/adapters": "2026.6.9",
433
- "@cleocode/agents": "2026.6.9",
434
- "@cleocode/caamp": "2026.6.9",
435
- "@cleocode/contracts": "2026.6.9",
436
- "@cleocode/git-shim": "2026.6.9",
437
- "@cleocode/lafs": "2026.6.9",
438
- "@cleocode/paths": "2026.6.9",
439
- "@cleocode/nexus": "2026.6.9",
440
- "@cleocode/skills": "2026.6.9",
441
- "@cleocode/worktree": "2026.6.9"
432
+ "@cleocode/adapters": "2026.6.10",
433
+ "@cleocode/agents": "2026.6.10",
434
+ "@cleocode/contracts": "2026.6.10",
435
+ "@cleocode/git-shim": "2026.6.10",
436
+ "@cleocode/caamp": "2026.6.10",
437
+ "@cleocode/lafs": "2026.6.10",
438
+ "@cleocode/nexus": "2026.6.10",
439
+ "@cleocode/paths": "2026.6.10",
440
+ "@cleocode/skills": "2026.6.10",
441
+ "@cleocode/worktree": "2026.6.10"
442
442
  },
443
443
  "engines": {
444
444
  "node": ">=24.16.0"
@@ -472,7 +472,7 @@
472
472
  },
473
473
  "optionalDependencies": {
474
474
  "llmtxt": "^2026.5.15",
475
- "@cleocode/studio": "^2026.6.9"
475
+ "@cleocode/studio": "^2026.6.10"
476
476
  },
477
477
  "scripts": {
478
478
  "build": "tsc",