@warlock.js/cascade 4.0.150 → 4.0.153

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 (49) hide show
  1. package/cjs/contracts/migration-driver.contract.d.ts +14 -0
  2. package/cjs/contracts/migration-driver.contract.d.ts.map +1 -1
  3. package/cjs/drivers/mongodb/mongodb-driver.d.ts +11 -0
  4. package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +1 -1
  5. package/cjs/drivers/mongodb/mongodb-driver.js +17 -0
  6. package/cjs/drivers/mongodb/mongodb-driver.js.map +1 -1
  7. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts +12 -0
  8. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -1
  9. package/cjs/drivers/mongodb/mongodb-migration-driver.js +19 -0
  10. package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +1 -1
  11. package/cjs/drivers/postgres/postgres-migration-driver.d.ts +12 -0
  12. package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +1 -1
  13. package/cjs/drivers/postgres/postgres-migration-driver.js +33 -0
  14. package/cjs/drivers/postgres/postgres-migration-driver.js.map +1 -1
  15. package/cjs/migration/migration-runner.d.ts +18 -2
  16. package/cjs/migration/migration-runner.d.ts.map +1 -1
  17. package/cjs/migration/migration-runner.js +87 -17
  18. package/cjs/migration/migration-runner.js.map +1 -1
  19. package/cjs/migration/sql-grammar.d.ts +50 -7
  20. package/cjs/migration/sql-grammar.d.ts.map +1 -1
  21. package/cjs/migration/sql-grammar.js +108 -25
  22. package/cjs/migration/sql-grammar.js.map +1 -1
  23. package/cjs/migration/types.d.ts +10 -0
  24. package/cjs/migration/types.d.ts.map +1 -1
  25. package/esm/contracts/migration-driver.contract.d.ts +14 -0
  26. package/esm/contracts/migration-driver.contract.d.ts.map +1 -1
  27. package/esm/drivers/mongodb/mongodb-driver.d.ts +11 -0
  28. package/esm/drivers/mongodb/mongodb-driver.d.ts.map +1 -1
  29. package/esm/drivers/mongodb/mongodb-driver.js +17 -0
  30. package/esm/drivers/mongodb/mongodb-driver.js.map +1 -1
  31. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts +12 -0
  32. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -1
  33. package/esm/drivers/mongodb/mongodb-migration-driver.js +19 -0
  34. package/esm/drivers/mongodb/mongodb-migration-driver.js.map +1 -1
  35. package/esm/drivers/postgres/postgres-migration-driver.d.ts +12 -0
  36. package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +1 -1
  37. package/esm/drivers/postgres/postgres-migration-driver.js +33 -0
  38. package/esm/drivers/postgres/postgres-migration-driver.js.map +1 -1
  39. package/esm/migration/migration-runner.d.ts +18 -2
  40. package/esm/migration/migration-runner.d.ts.map +1 -1
  41. package/esm/migration/migration-runner.js +87 -17
  42. package/esm/migration/migration-runner.js.map +1 -1
  43. package/esm/migration/sql-grammar.d.ts +50 -7
  44. package/esm/migration/sql-grammar.d.ts.map +1 -1
  45. package/esm/migration/sql-grammar.js +108 -25
  46. package/esm/migration/sql-grammar.js.map +1 -1
  47. package/esm/migration/types.d.ts +10 -0
  48. package/esm/migration/types.d.ts.map +1 -1
  49. package/package.json +4 -4
@@ -277,7 +277,10 @@ class MigrationRunner {
277
277
  const nextBatch = await this.getNextBatchNumber();
278
278
  const taggedStatements = [];
279
279
  const migrationsData = [];
280
- // 1. Collect SQL from each pending migration
280
+ // 1. Collect SQL from each pending migration.
281
+ // Fire extension checks concurrently as we encounter CREATE EXTENSION
282
+ // statements — they resolve before execution begins.
283
+ const extensionChecks = [];
281
284
  for (const MigrationClass of pending) {
282
285
  const migration = this.createMigrationInstance(MigrationClass);
283
286
  const name = MigrationClass.migrationName;
@@ -285,21 +288,33 @@ class MigrationRunner {
285
288
  const upStatements = migration.toSQL();
286
289
  migrationsData.push({ MigrationClass, migration, name });
287
290
  for (const sql of upStatements) {
291
+ const statementType = sqlGrammar.SQLGrammar.classify(sql);
292
+ if (statementType === "CREATE_EXTENSION") {
293
+ const ext = sqlGrammar.SQLGrammar.extractExtensionName(sql);
294
+ if (ext)
295
+ extensionChecks.push(this.informIfExtensionMissing(ext));
296
+ }
288
297
  taggedStatements.push({
289
298
  sql,
290
- phase: sqlGrammar.SQLGrammar.classify(sql),
299
+ phase: sqlGrammar.SQLGrammar.phase(sql),
300
+ statementType,
291
301
  createdAt: MigrationClass.createdAt,
292
302
  migrationName: name,
293
303
  });
294
304
  }
295
305
  }
296
- // 2. Sort all SQL statements globally across all pending migrations
306
+ // 2. Resolve all extension checks before any SQL is executed.
307
+ // Each check displays a rich message if the extension is missing
308
+ // but does not throw — execution continues and Postgres will
309
+ // surface its own error with full context already shown.
310
+ await Promise.all(extensionChecks);
311
+ // 3. Sort all SQL statements globally across all pending migrations
297
312
  const sortedStatements = sqlGrammar.SQLGrammar.sort(taggedStatements);
298
- // 3. Execute in a single batch
313
+ // 4. Execute in a single batch
299
314
  if (dryRun) {
300
315
  logger.log.info("database", "migration", "Dry run enabled. Would execute the following statements:");
301
316
  for (const statement of sortedStatements) {
302
- console.log(`-- Phase ${statement.phase} [${statement.migrationName}]`);
317
+ console.log(`-- [${statement.statementType}] Phase ${statement.phase} [${statement.migrationName}]`);
303
318
  console.log(statement.sql + ";\n");
304
319
  }
305
320
  return [];
@@ -380,18 +395,21 @@ class MigrationRunner {
380
395
  return results;
381
396
  }
382
397
  /**
383
- * Export pending migrations as phase-ordered SQL files in database/sql/ directory.
398
+ * Export migrations as phase-ordered SQL files in database/sql/ directory.
399
+ * By default, it exports all registered migrations. Use `pendingOnly: true` to export only pending ones.
384
400
  */
385
- async exportSQL() {
386
- const pending = await this.getPendingMigrations();
387
- if (pending.length === 0) {
388
- logger.log.warn("database", "migration", "No pending migrations to export.");
401
+ async exportSQL(options = {}) {
402
+ const migrationsToExport = options.pendingOnly
403
+ ? await this.getPendingMigrations()
404
+ : this.migrations;
405
+ if (migrationsToExport.length === 0) {
406
+ logger.log.warn("database", "migration", "No migrations to export.");
389
407
  return;
390
408
  }
391
- logger.log.info("database", "migration", `Exporting ${pending.length} pending migration(s) to SQL files...`);
409
+ logger.log.info("database", "migration", `Exporting ${migrationsToExport.length} ${options.pendingOnly ? "pending " : ""}migration(s) to SQL files...`);
392
410
  const upStatements = [];
393
411
  const downStatements = [];
394
- for (const MigrationClass of pending) {
412
+ for (const MigrationClass of migrationsToExport) {
395
413
  const migration = this.createMigrationInstance(MigrationClass);
396
414
  const name = MigrationClass.migrationName;
397
415
  // Collect up SQL
@@ -399,7 +417,8 @@ class MigrationRunner {
399
417
  for (const sql of migration.toSQL()) {
400
418
  upStatements.push({
401
419
  sql,
402
- phase: sqlGrammar.SQLGrammar.classify(sql),
420
+ phase: sqlGrammar.SQLGrammar.phase(sql),
421
+ statementType: sqlGrammar.SQLGrammar.classify(sql),
403
422
  createdAt: MigrationClass.createdAt,
404
423
  migrationName: name,
405
424
  });
@@ -409,7 +428,8 @@ class MigrationRunner {
409
428
  for (const sql of migration.toSQL()) {
410
429
  downStatements.push({
411
430
  sql,
412
- phase: sqlGrammar.SQLGrammar.classify(sql),
431
+ phase: sqlGrammar.SQLGrammar.phase(sql),
432
+ statementType: sqlGrammar.SQLGrammar.classify(sql),
413
433
  createdAt: MigrationClass.createdAt,
414
434
  migrationName: name,
415
435
  });
@@ -418,8 +438,8 @@ class MigrationRunner {
418
438
  const sortedUp = sqlGrammar.SQLGrammar.sort(upStatements);
419
439
  // Down SQL: reverse order (undo in reverse dependency order)
420
440
  const sortedDown = downStatements.reverse();
421
- const upSQLString = this.formatSQLForExport(sortedUp);
422
- const downSQLString = this.formatSQLForExport(sortedDown);
441
+ const upSQLString = this.formatSQLForExport(sortedUp, options.compact);
442
+ const downSQLString = this.formatSQLForExport(sortedDown, options.compact);
423
443
  const rootPath = process.cwd();
424
444
  const sqlDir = path__default.default.join(rootPath, "database", "sql");
425
445
  if (!fs__default.default.existsSync(sqlDir)) {
@@ -520,6 +540,49 @@ class MigrationRunner {
520
540
  });
521
541
  }
522
542
  // ============================================================================
543
+ // EXTENSION PRE-FLIGHT
544
+ // ============================================================================
545
+ /**
546
+ * Check whether a database extension is available and inform the developer
547
+ * if it is not installed.
548
+ *
549
+ * Does NOT throw — execution proceeds normally. If the extension is truly
550
+ * missing, the database will surface its own error with full context already
551
+ * displayed to the developer.
552
+ *
553
+ * @example
554
+ * await this.informIfExtensionMissing("vector");
555
+ */
556
+ async informIfExtensionMissing(extension) {
557
+ try {
558
+ const migrationDriver = this.getMigrationDriver();
559
+ const isAvailable = await migrationDriver.isExtensionAvailable(extension);
560
+ if (!isAvailable) {
561
+ const hr = "─".repeat(60);
562
+ console.log(`\n${copper.colors.yellow(hr)}`);
563
+ console.log(copper.colors.yellow(` ⚠ Missing Database Extension: ${copper.colors.bold(extension)}`));
564
+ console.log(copper.colors.yellow(hr));
565
+ console.log();
566
+ console.log(` A pending migration requires the ${copper.colors.cyan(extension)} extension,`);
567
+ console.log(` which is not installed on your database server.`);
568
+ console.log();
569
+ console.log(` ${copper.colors.bold("This means the physical database server is missing the extension package.")}`);
570
+ console.log(` You cannot simply run CREATE EXTENSION until the package is installed`);
571
+ console.log(` on the host machine or Docker container.`);
572
+ console.log();
573
+ const docsUrl = migrationDriver.getExtensionDocsUrl(extension);
574
+ if (docsUrl) {
575
+ console.log(` ${copper.colors.bold("Or follow the installation guide:")}`);
576
+ console.log(` ${copper.colors.cyan(docsUrl)}`);
577
+ }
578
+ console.log(`\n${copper.colors.yellow(hr)}\n`);
579
+ }
580
+ }
581
+ catch {
582
+ // If the check itself fails, silently skip — don't break the migration.
583
+ }
584
+ }
585
+ // ============================================================================
523
586
  // PRIVATE HELPERS
524
587
  // ============================================================================
525
588
  /**
@@ -647,8 +710,15 @@ class MigrationRunner {
647
710
  *
648
711
  * @internal
649
712
  */
650
- formatSQLForExport(statements) {
713
+ formatSQLForExport(statements, compact = false) {
651
714
  const lines = [];
715
+ if (compact) {
716
+ // Just output raw statements, no grouping, no blank lines
717
+ for (const stmt of statements) {
718
+ lines.push(`${stmt.sql};`);
719
+ }
720
+ return lines.join("\n");
721
+ }
652
722
  // Group statements by their phase and migration name
653
723
  const grouped = new Map();
654
724
  for (const stmt of statements) {
@@ -1 +1 @@
1
- {"version":3,"file":"migration-runner.js","sources":["../../src/migration/migration-runner.ts"],"sourcesContent":[null],"names":["dataSourceRegistry","log","SQLGrammar","colors","path","fs"],"mappings":"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"}
1
+ {"version":3,"file":"migration-runner.js","sources":["../../src/migration/migration-runner.ts"],"sourcesContent":[null],"names":["dataSourceRegistry","log","SQLGrammar","colors","path","fs"],"mappings":"gZAuCA;;;;;AAKG;AACH,SAAS,cAAc,CAAC,SAAiB,EAAA;IACvC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;AACnF,IAAA,IAAI,KAAK,EAAE;AACT,QAAA,MAAM,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC;AACjE,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEnC,IAAI,KAAa,EAAE,GAAW,CAAC;;;;;QAM/B,IAAI,QAAQ,GAAG,EAAE,EAAE;;YAEjB,GAAG,GAAG,QAAQ,CAAC;YACf,KAAK,GAAG,SAAS,CAAC;AACnB,SAAA;aAAM,IAAI,SAAS,GAAG,EAAE,EAAE;;YAEzB,KAAK,GAAG,QAAQ,CAAC;YACjB,GAAG,GAAG,SAAS,CAAC;AACjB,SAAA;AAAM,aAAA;;YAEL,KAAK,GAAG,QAAQ,CAAC;YACjB,GAAG,GAAG,SAAS,CAAC;AACjB,SAAA;AAED,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CACnB,QAAQ,CAAC,IAAI,CAAC,EACd,KAAK,GAAG,CAAC;AACT,QAAA,GAAG,EACH,QAAQ,CAAC,IAAI,CAAC,EACd,QAAQ,CAAC,MAAM,CAAC,EAChB,QAAQ,CAAC,WAAW,CAAC,CACtB,CAAC;;AAGF,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;AACzB,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;;IAED,IAAI;AACF,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;AACjC,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;AACjD,KAAA;IAAC,MAAM;AACN,QAAA,OAAO,SAAS,CAAC;AAClB,KAAA;AACH,CAAC;AAED;;;;;;AAMG;AACH,SAAS,cAAc,CACrB,CAAgD,EAChD,CAAgD,EAAA;;AAGhD,IAAA,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;AACpE,IAAA,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAEpE,IAAI,KAAK,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;AAC7D,IAAA,IAAI,KAAK;QAAE,OAAO,CAAC,CAAC,CAAC;AACrB,IAAA,IAAI,KAAK;AAAE,QAAA,OAAO,CAAC,CAAC;;IAGpB,OAAO,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCG;MACU,eAAe,CAAA;;IAEV,UAAU,GAAqB,EAAE,CAAC;;AAG1C,IAAA,UAAU,CAAc;;AAGxB,IAAA,qBAAqB,CAA2B;;AAGvC,IAAA,eAAe,CAAS;;AAGxB,IAAA,OAAO,CAAU;AAElC;;;;AAIG;AACH,IAAA,WAAA,CACE,UAII,EAAE,EAAA;AAEN,QAAA,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,aAAa,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;KACxC;;;;AAMD;;AAEG;AACI,IAAA,aAAa,CAAC,UAAsB,EAAA;AACzC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;AACvC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACK,aAAa,GAAA;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,YAAA,IAAI,CAAC,UAAU,GAAGA,qCAAkB,CAAC,GAAG,EAAE,CAAC;AAC5C,SAAA;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;AAED;;AAEG;IACK,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;AAC/B,YAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;AAC5E,SAAA;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC;KACnC;;;;AAMD;;;;;;;;;;;;;;AAcG;AACI,IAAA,QAAQ,CAAC,cAA8B,EAAA;AAC5C,QAAA,MAAM,IAAI,GAAG,cAAc,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CACb,CAAmE,iEAAA,CAAA;AACjE,gBAAA,CAAA,yEAAA,CAA2E,CAC9E,CAAC;AACH,SAAA;;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,EAAE;AAC1D,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACtC,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;;AAKG;AACI,IAAA,YAAY,CAAC,UAA4B,EAAA;AAC9C,QAAA,KAAK,MAAM,cAAc,IAAI,UAAU,EAAE;AACvC,YAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC/B,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,kBAAkB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;KACpD;;;;AAMD;;;;;;;;;;;;AAYG;AACI,IAAA,MAAM,GAAG,CACd,cAA8B,EAC9B,UAA0B,EAAE,EAAA;AAE5B,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,EAAE;YAC7C,MAAM,EAAE,OAAO,CAAC,MAAM;AACtB,YAAA,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;AAChC,SAAA,CAAC,CAAC;KACJ;AAED;;;;;;;;;;;AAWG;AACI,IAAA,MAAM,QAAQ,CACnB,cAA8B,EAC9B,UAA0B,EAAE,EAAA;AAE5B,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE;YAC/C,MAAM,EAAE,OAAO,CAAC,MAAM;AACtB,YAAA,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;AAChC,SAAA,CAAC,CAAC;KACJ;;;;AAMD;;;;;;;;;;;;;;AAcG;AACI,IAAA,MAAM,MAAM,CAAC,OAAA,GAA0B,EAAE,EAAA;QAC9C,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAElD,MAAM,OAAO,GAAsB,EAAE,CAAC;;AAGtC,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAElD,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACxBC,UAAG,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAAC;AACzD,YAAA,OAAO,OAAO,CAAC;AAChB,SAAA;AAED,QAAAA,UAAG,CAAC,IAAI,CACN,UAAU,EACV,WAAW,EACX,CAAA,MAAA,EAAS,OAAO,CAAC,MAAM,CAAA,6CAAA,CAA+C,CACvE,CAAC;AACF,QAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAElD,MAAM,gBAAgB,GAAgB,EAAE,CAAC;QACzC,MAAM,cAAc,GAAoB,EAAE,CAAC;;;;QAK3C,MAAM,eAAe,GAAoB,EAAE,CAAC;AAE5C,QAAA,KAAK,MAAM,cAAc,IAAI,OAAO,EAAE;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;AAC/D,YAAA,MAAM,IAAI,GAAG,cAAc,CAAC,aAAa,CAAC;AAE1C,YAAA,MAAM,SAAS,CAAC,EAAE,EAAE,CAAC;AACrB,YAAA,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;YAEvC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAEzD,YAAA,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;gBAC9B,MAAM,aAAa,GAAGC,qBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAE/C,IAAI,aAAa,KAAK,kBAAkB,EAAE;oBACxC,MAAM,GAAG,GAAGA,qBAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;AACjD,oBAAA,IAAI,GAAG;wBAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,iBAAA;gBAED,gBAAgB,CAAC,IAAI,CAAC;oBACpB,GAAG;AACH,oBAAA,KAAK,EAAEA,qBAAU,CAAC,KAAK,CAAC,GAAG,CAAC;oBAC5B,aAAa;oBACb,SAAS,EAAE,cAAc,CAAC,SAAS;AACnC,oBAAA,aAAa,EAAE,IAAI;AACpB,iBAAA,CAAC,CAAC;AACJ,aAAA;AACF,SAAA;;;;;AAMD,QAAA,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;;QAGnC,MAAM,gBAAgB,GAAGA,qBAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;;AAG3D,QAAA,IAAI,MAAM,EAAE;YACVD,UAAG,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,0DAA0D,CAAC,CAAC;AAC9F,YAAA,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE;AACxC,gBAAA,OAAO,CAAC,GAAG,CACT,CAAO,IAAA,EAAA,SAAS,CAAC,aAAa,CAAA,QAAA,EAAW,SAAS,CAAC,KAAK,CAAK,EAAA,EAAA,SAAS,CAAC,aAAa,CAAA,CAAA,CAAG,CACxF,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;AACpC,aAAA;AACD,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;QAE3C,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,IAAI,YAAY,GAAG,EAAE,CAAC;;AAEtB,QAAA,IAAI,oBAAwC,CAAC;AAE7C,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAE7B;;;;AAIG;AACH,QAAA,MAAM,iBAAiB,GAAG,YAA0B;AAClD,YAAA,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE;gBACxC,IAAI;oBACF,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACnC,iBAAA;AAAC,gBAAA,OAAO,GAAG,EAAE;AACZ,oBAAA,oBAAoB,GAAG,SAAS,CAAC,aAAa,CAAC;AAC/C,oBAAA,MAAM,GAAG,CAAC;AACX,iBAAA;AACF,aAAA;AAED,YAAA,IAAI,MAAM,EAAE;AACV,gBAAA,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;AACjC,oBAAA,MAAM,IAAI,CAAC,eAAe,CACxB,IAAI,CAAC,IAAI,EACT,SAAS,EACT,IAAI,CAAC,cAAc,CAAC,SAAS;0BACzB,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;AAC/C,0BAAE,IAAI,IAAI,EAAE,CACf,CAAC;AACH,iBAAA;AACF,aAAA;AACH,SAAC,CAAC;QAEF,IAAI;YACF,IAAI,MAAM,CAAC,WAAW,EAAE;AACtB,gBAAA,MAAM,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAC7C,aAAA;AAAM,iBAAA;gBACL,MAAM,iBAAiB,EAAE,CAAC;AAC3B,aAAA;AACF,SAAA;AAAC,QAAA,OAAO,GAAG,EAAE;YACZ,iBAAiB,GAAG,IAAI,CAAC;AACzB,YAAA,YAAY,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACjE,SAAA;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;;;;AAK1C,QAAA,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;YACjC,MAAM,SAAS,GAAG,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC;AAC1E,YAAA,MAAM,UAAU,GAAG,iBAAiB,IAAI,CAAC,SAAS,CAAC;YAEnD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;AAC3B,gBAAA,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,CAAC,iBAAiB;gBAC3B,KAAK,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS;gBAC3C,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC;gBAC1D,UAAU,EAAE,IAAI,IAAI,EAAE;AACvB,aAAA,CAAC,CAAC;AAEH,YAAA,IAAI,SAAS,EAAE;gBACbA,UAAG,CAAC,KAAK,CACP,UAAU,EACV,WAAW,EACX,GAAGE,aAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,YAAY,CAAA,CAAE,CAC1D,CAAC;AACH,aAAA;AAAM,iBAAA,IAAI,UAAU,EAAE;AACrB,gBAAAF,UAAG,CAAC,IAAI,CACN,UAAU,EACV,WAAW,EACX,CAAG,EAAAE,aAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,wCAAA,CAA0C,CACvE,CAAC;AACH,aAAA;AAAM,iBAAA;AACL,gBAAAF,UAAG,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,CAAa,UAAA,EAAAE,aAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,aAAA,CAAe,CAAC,CAAC;AAC7F,aAAA;AACF,SAAA;AAED,QAAA,IAAI,iBAAiB,EAAE;YACrBF,UAAG,CAAC,KAAK,CACP,UAAU,EACV,WAAW,EACX,CAA8D,4DAAA,CAAA,CAC/D,CAAC;AACF,YAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,YAAY,CAAC,CAAC;AAC5D,SAAA;AAED,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;AAC7D,QAAAA,UAAG,CAAC,OAAO,CACT,UAAU,EACV,WAAW,EACX,CAA4C,yCAAA,EAAA,YAAY,IAAI,OAAO,CAAC,MAAM,CAAA,mCAAA,CAAqC,CAChH,CAAC;AAEF,QAAA,OAAO,OAAO,CAAC;KAChB;AAED;;;AAGG;AACI,IAAA,MAAM,SAAS,CAAC,OAAA,GAAwD,EAAE,EAAA;AAC/E,QAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW;AAC5C,cAAE,MAAM,IAAI,CAAC,oBAAoB,EAAE;AACnC,cAAE,IAAI,CAAC,UAAU,CAAC;AAEpB,QAAA,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;YACnCA,UAAG,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,0BAA0B,CAAC,CAAC;YAC9D,OAAO;AACR,SAAA;QAEDA,UAAG,CAAC,IAAI,CACN,UAAU,EACV,WAAW,EACX,CAAA,UAAA,EAAa,kBAAkB,CAAC,MAAM,CAAA,CAAA,EAAI,OAAO,CAAC,WAAW,GAAG,UAAU,GAAG,EAAE,CAA8B,4BAAA,CAAA,CAC9G,CAAC;QAEF,MAAM,YAAY,GAAgB,EAAE,CAAC;QACrC,MAAM,cAAc,GAAgB,EAAE,CAAC;AAEvC,QAAA,KAAK,MAAM,cAAc,IAAI,kBAAkB,EAAE;YAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;AAC/D,YAAA,MAAM,IAAI,GAAG,cAAc,CAAC,aAAa,CAAC;;AAG1C,YAAA,MAAM,SAAS,CAAC,EAAE,EAAE,CAAC;AACrB,YAAA,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE;gBACnC,YAAY,CAAC,IAAI,CAAC;oBAChB,GAAG;AACH,oBAAA,KAAK,EAAEC,qBAAU,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5B,oBAAA,aAAa,EAAEA,qBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;oBACvC,SAAS,EAAE,cAAc,CAAC,SAAS;AACnC,oBAAA,aAAa,EAAE,IAAI;AACpB,iBAAA,CAAC,CAAC;AACJ,aAAA;;AAGD,YAAA,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;AACvB,YAAA,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE;gBACnC,cAAc,CAAC,IAAI,CAAC;oBAClB,GAAG;AACH,oBAAA,KAAK,EAAEA,qBAAU,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5B,oBAAA,aAAa,EAAEA,qBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;oBACvC,SAAS,EAAE,cAAc,CAAC,SAAS;AACnC,oBAAA,aAAa,EAAE,IAAI;AACpB,iBAAA,CAAC,CAAC;AACJ,aAAA;AACF,SAAA;QAED,MAAM,QAAQ,GAAGA,qBAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;AAE/C,QAAA,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;AAE5C,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AACvE,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAE3E,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAC/B,QAAA,MAAM,MAAM,GAAGE,qBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;AAEtD,QAAA,IAAI,CAACC,mBAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YAC1BA,mBAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,SAAA;AAED,QAAA,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,QAAA,MAAM,MAAM,GAAGD,qBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAa,UAAA,EAAA,SAAS,CAAS,OAAA,CAAA,CAAC,CAAC;AAClE,QAAA,MAAM,QAAQ,GAAGA,qBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAa,UAAA,EAAA,SAAS,CAAW,SAAA,CAAA,CAAC,CAAC;AAEtE,QAAAC,mBAAE,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACtC,QAAAA,mBAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AAE1C,QAAAJ,UAAG,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,CAAA,gBAAA,EAAmB,MAAM,CAAA,IAAA,EAAO,QAAQ,CAAA,CAAE,CAAC,CAAC;KAClF;AAED;;;;;AAKG;AACI,IAAA,MAAM,YAAY,CAAC,OAAA,GAA0B,EAAE,EAAA;QACpD,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;KACzC;AAED;;;;;;AAMG;AACI,IAAA,MAAM,eAAe,CAC1B,OAAe,EACf,UAA0B,EAAE,EAAA;AAE5B,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;AACvC,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACtC,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAE/D,QAAA,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3BA,UAAG,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,sBAAsB,CAAC,CAAC;AAC1D,YAAA,OAAO,OAAO,CAAC;AAChB,SAAA;AAED,QAAAA,UAAG,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,CAAA,aAAA,EAAgB,UAAU,CAAC,MAAM,CAAA,cAAA,CAAgB,CAAC,CAAC;AAErF,QAAA,KAAK,MAAM,cAAc,IAAI,UAAU,EAAE;YACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE;gBAC7D,MAAM;gBACN,MAAM;AACP,aAAA,CAAC,CAAC;AACH,YAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAErB,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBACnB,MAAM;AACP,aAAA;AACF,SAAA;AAED,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;AAC7D,QAAAA,UAAG,CAAC,OAAO,CACT,UAAU,EACV,WAAW,EACX,CAAsB,mBAAA,EAAA,YAAY,IAAI,UAAU,CAAC,MAAM,CAAA,YAAA,CAAc,CACtE,CAAC;AAEF,QAAA,OAAO,OAAO,CAAC;KAChB;AAED;;;;;AAKG;AACI,IAAA,MAAM,WAAW,CAAC,OAAA,GAA0B,EAAE,EAAA;AACnD,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;AACpD,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACzBA,UAAG,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,sBAAsB,CAAC,CAAC;AAC1D,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;KAChD;AAED;;;;;AAKG;AACI,IAAA,MAAM,KAAK,CAAC,OAAA,GAA0B,EAAE,EAAA;QAC7C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC9C,QAAA,OAAO,CAAC,GAAG,eAAe,EAAE,GAAG,UAAU,CAAC,CAAC;KAC5C;;;;AAMD;;AAEG;AACI,IAAA,MAAM,MAAM,GAAA;AAQjB,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,cAAc,KAAI;AAC5C,YAAA,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;AACtC,YAAA,MAAM,IAAI,GAAG,cAAc,CAAC,aAAa,CAAC;YAC1C,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO;gBACL,IAAI;gBACJ,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,QAAQ,EAAE,CAAC,CAAC,MAAM;AAClB,gBAAA,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI;aAC7B,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;;;;AAMD;;;;;;;;;;AAUG;IACK,MAAM,wBAAwB,CAAC,SAAiB,EAAA;QACtD,IAAI;AACF,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAClD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAE1E,IAAI,CAAC,WAAW,EAAE;gBAChB,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC1B,gBAAA,OAAO,CAAC,GAAG,CAAC,CAAA,EAAA,EAAKE,aAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAE,CAAA,CAAC,CAAC;AACtC,gBAAA,OAAO,CAAC,GAAG,CAACA,aAAM,CAAC,MAAM,CAAC,CAAA,iCAAA,EAAoCA,aAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAE,CAAA,CAAC,CAAC,CAAC;gBACzF,OAAO,CAAC,GAAG,CAACA,aAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,EAAE,CAAC;AACd,gBAAA,OAAO,CAAC,GAAG,CAAC,CAAA,mCAAA,EAAsCA,aAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAa,WAAA,CAAA,CAAC,CAAC;AACvF,gBAAA,OAAO,CAAC,GAAG,CAAC,CAAA,iDAAA,CAAmD,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,EAAE,CAAC;AACd,gBAAA,OAAO,CAAC,GAAG,CACT,CAAA,EAAA,EAAKA,aAAM,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAE,CAAA,CAChG,CAAC;AACF,gBAAA,OAAO,CAAC,GAAG,CAAC,CAAA,uEAAA,CAAyE,CAAC,CAAC;AACvF,gBAAA,OAAO,CAAC,GAAG,CAAC,CAAA,0CAAA,CAA4C,CAAC,CAAC;gBAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;gBAEd,MAAM,OAAO,GAAG,eAAe,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAC/D,gBAAA,IAAI,OAAO,EAAE;AACX,oBAAA,OAAO,CAAC,GAAG,CAAC,CAAA,EAAA,EAAKA,aAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAE,CAAA,CAAC,CAAC;AACrE,oBAAA,OAAO,CAAC,GAAG,CAAC,CAAA,IAAA,EAAOA,aAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAE,CAAA,CAAC,CAAC;AAC5C,iBAAA;AACD,gBAAA,OAAO,CAAC,GAAG,CAAC,CAAA,EAAA,EAAKA,aAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAI,EAAA,CAAA,CAAC,CAAC;AACzC,aAAA;AACF,SAAA;QAAC,MAAM;;AAEP,SAAA;KACF;;;;AAMD;;AAEG;IACK,MAAM,YAAY,CACxB,cAA8B,EAC9B,SAAwB,EACxB,UAII,EAAE,EAAA;QAEN,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;AAClD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,IAAI,CAAC;AACnB,QAAA,IAAI,KAAyB,CAAC;AAE9B,QAAA,MAAM,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;AACvC,QAAA,MAAM,IAAI,GAAG,cAAc,CAAC,aAAa,CAAC;AAE1C,QAAAF,UAAG,CAAC,IAAI,CACN,UAAU,EACV,WAAW,EACX,CAAA,EAAG,SAAS,KAAK,IAAI,GAAG,WAAW,GAAG,cAAc,CAAA,EAAA,EAAKE,aAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAK,GAAA,CAAA,CACnF,CAAC;QAEF,IAAI;YACF,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACzC,gBAAA,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC5B,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,iBAAiB,CAAC,CAAC;;;;;;;AAQvE,gBAAA,MAAM,oBAAoB,GACxB,SAAS,CAAC,aAAa;AACvB,oBAAA,IAAI,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,aAAa;oBAC9C,MAAM,CAAC,uBAAuB,EAAE,CAAC;;;;;gBAOnC,IAAI,SAAS,KAAK,IAAI,EAAE;AACtB,oBAAA,MAAM,SAAS,CAAC,EAAE,EAAE,CAAC;AACtB,iBAAA;AAAM,qBAAA;AACL,oBAAA,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;AACxB,iBAAA;AACD,gBAAA,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;gBAExC,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;AAEnD,gBAAA,IAAI,oBAAoB,IAAI,cAAc,CAAC,WAAW,EAAE;;AAEtD,oBAAA,MAAM,cAAc,CAAC,WAAW,CAAC,YAAW;;AAE1C,wBAAA,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;AAC/B,4BAAA,MAAM,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACjC,yBAAA;;AAGD,wBAAA,IAAI,MAAM,EAAE;4BACV,IAAI,SAAS,KAAK,IAAI,EAAE;AACtB,gCAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;gCACjE,MAAM,IAAI,CAAC,eAAe,CACxB,IAAI,EACJ,KAAK,EACL,cAAc,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,CACjF,CAAC;AACH,6BAAA;AAAM,iCAAA;AACL,gCAAA,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;AACxC,6BAAA;AACF,yBAAA;AACH,qBAAC,CAAC,CAAC;AACJ,iBAAA;AAAM,qBAAA;;AAEL,oBAAA,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;AAC/B,wBAAA,MAAM,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACjC,qBAAA;AAED,oBAAA,IAAI,MAAM,EAAE;wBACV,IAAI,SAAS,KAAK,IAAI,EAAE;AACtB,4BAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;4BACjE,MAAM,IAAI,CAAC,eAAe,CACxB,IAAI,EACJ,KAAK,EACL,cAAc,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,CACjF,CAAC;AACH,yBAAA;AAAM,6BAAA;AACL,4BAAA,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;AACxC,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AAAC,QAAA,OAAO,GAAG,EAAE;YACZ,OAAO,GAAG,KAAK,CAAC;AAChB,YAAA,KAAK,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACzD,YAAAF,UAAG,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,CAAG,EAAAE,aAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,KAAK,CAAA,CAAE,CAAC,CAAC;AAClF,YAAA,MAAM,GAAG,CAAC;AACX,SAAA;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;AAE1C,QAAA,IAAI,OAAO,EAAE;AACX,YAAAF,UAAG,CAAC,OAAO,CACT,UAAU,EACV,WAAW,EACX,CAAA,EAAG,SAAS,IAAI,IAAI,GAAG,UAAU,GAAG,aAAa,CAAK,EAAA,EAAAE,aAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA,eAAA,EAAkB,UAAU,CAAA,GAAA,CAAK,CAC5G,CAAC;AACH,SAAA;QAED,OAAO;YACL,IAAI;YACJ,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,SAAS;YACT,OAAO;YACP,KAAK;YACL,UAAU;YACV,UAAU,EAAE,IAAI,IAAI,EAAE;SACvB,CAAC;KACH;AAED;;;;;;;AAOG;AACK,IAAA,uBAAuB,CAAC,cAA8B,EAAA;AAC5D,QAAA,MAAM,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;QACvC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC/C,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,iBAAiB,CAAC,CAAC;AACvE,QAAA,OAAO,SAAS,CAAC;KAClB;AAED;;;;;;;;;;;;;;;;;AAiBG;AACK,IAAA,kBAAkB,CAAC,UAAuB,EAAE,OAAA,GAAmB,KAAK,EAAA;QAC1E,MAAM,KAAK,GAAa,EAAE,CAAC;AAE3B,QAAA,IAAI,OAAO,EAAE;;AAEX,YAAA,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;gBAC7B,KAAK,CAAC,IAAI,CAAC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAG,CAAA,CAAA,CAAC,CAAC;AAC5B,aAAA;AACD,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,SAAA;;AAGD,QAAA,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;AAE5C,QAAA,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;YAC7B,MAAM,QAAQ,GAAG,CAAA,MAAA,EAAS,IAAI,CAAC,KAAK,CAAA,EAAA,EAAK,IAAI,CAAC,aAAa,CAAA,CAAA,CAAG,CAAC;AAC/D,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AAC1B,gBAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3B,aAAA;AACD,YAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvC,SAAA;;QAGD,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;AAChD,YAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;AAAE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrC,YAAA,KAAK,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAA,GAAA,CAAK,CAAC,CAAC;AAChC,YAAA,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AACtB,gBAAA,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAA,CAAA,CAAG,CAAC,CAAC;AACvB,aAAA;AACF,SAAA;AAED,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzB;AAED;;AAEG;AACK,IAAA,MAAM,oBAAoB,GAAA;AAChC,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;AACpD,QAAA,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AAEtF,QAAA,OAAO,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACxC;AAED;;AAEG;IACK,MAAM,uBAAuB,CAAC,OAAe,EAAA;AACnD,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;AACpD,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,EAAE,CAAC;QAErC,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAC5D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACrB,aAAA,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAErB,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAEpF,MAAM,UAAU,GAAG,UAAU;aAC1B,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;aACnE,MAAM,CAAC,CAAC,CAAC,KAA0B,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3C,QAAA,OAAO,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACxC;AAED;;AAEG;AACI,IAAA,MAAM,qBAAqB,GAAA;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;QAE3C,IAAI;AACF,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;;YAGlD,MAAM,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAElE,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAkB,IAAI,CAAC,eAAe,CAAC,CAAC;AAChF,YAAA,OAAO,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;AAChF,SAAA;QAAC,MAAM;AACN,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;KACF;AAED;;AAEG;AACK,IAAA,MAAM,eAAe,CAAC,IAAY,EAAE,KAAa,EAAE,SAAgB,EAAA;QACzE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;AAC3C,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;;QAGlD,MAAM,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAElE,QAAA,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;YACxC,IAAI;YACJ,KAAK;YACL,UAAU,EAAE,IAAI,IAAI,EAAE;YACtB,SAAS;AACV,SAAA,CAAC,CAAC;KACJ;AAED;;AAEG;IACK,MAAM,qBAAqB,CAAC,IAAY,EAAA;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;AAC3C,QAAA,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;KACrD;AAED;;AAEG;AACK,IAAA,MAAM,kBAAkB,GAAA;AAC9B,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;AACpD,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;KACtD;AACF,CAAA;AAEY,MAAA,eAAe,GAAG,IAAI,eAAe"}
@@ -1,17 +1,60 @@
1
- import type { TaggedSQL } from "./types";
1
+ import type { SQLStatementType, TaggedSQL } from "./types";
2
2
  /**
3
- * Parses and sorts SQL statements globally based on their execution phase.
3
+ * Parses and sorts SQL statements globally based on their execution phase,
4
+ * and classifies statements by their semantic type.
4
5
  */
5
6
  export declare class SQLGrammar {
6
7
  /**
7
- * Classify a raw SQL statement into one of the 6 execution phases.
8
+ * Determine the execution phase of a SQL statement (1–6).
8
9
  *
9
- * @param sql The SQL statement
10
- * @returns Phase 1-6
10
+ * Phase ordering ensures DDL operations run in dependency-safe order
11
+ * regardless of which migration file they originate from.
12
+ *
13
+ * | Phase | Statements |
14
+ * |-------|-----------------------------------------------|
15
+ * | 1 | CREATE EXTENSION, TYPE, DOMAIN, SCHEMA |
16
+ * | 2 | CREATE TABLE |
17
+ * | 3 | ADD COLUMN, ADD PRIMARY KEY |
18
+ * | 4 | CREATE INDEX, ADD FOREIGN KEY |
19
+ * | 5 | DROP COLUMN, ALTER COLUMN, DROP TABLE |
20
+ * | 6 | Raw / unclassified |
21
+ *
22
+ * @example
23
+ * SQLGrammar.phase("CREATE EXTENSION IF NOT EXISTS vector"); // => 1
24
+ * SQLGrammar.phase("ALTER TABLE users ADD COLUMN email TEXT"); // => 3
25
+ */
26
+ static phase(sql: string): 1 | 2 | 3 | 4 | 5 | 6;
27
+ /**
28
+ * Classify a SQL statement into its semantic statement type.
29
+ *
30
+ * This is independent of execution phase — it identifies *what* a statement
31
+ * does, not *when* it should run. Use this for pre-flight checks, dry-run
32
+ * display, selective filtering, and extension detection.
33
+ *
34
+ * @example
35
+ * SQLGrammar.classify("CREATE EXTENSION IF NOT EXISTS vector");
36
+ * // => "CREATE_EXTENSION"
37
+ *
38
+ * SQLGrammar.classify("ALTER TABLE users ADD COLUMN email TEXT");
39
+ * // => "ADD_COLUMN"
40
+ */
41
+ static classify(sql: string): SQLStatementType;
42
+ /**
43
+ * Extract the extension name from a CREATE EXTENSION statement.
44
+ *
45
+ * Returns undefined if the statement is not a CREATE EXTENSION statement
46
+ * or the name cannot be parsed.
47
+ *
48
+ * @example
49
+ * SQLGrammar.extractExtensionName("CREATE EXTENSION IF NOT EXISTS vector");
50
+ * // => "vector"
51
+ *
52
+ * SQLGrammar.extractExtensionName("CREATE EXTENSION postgis");
53
+ * // => "postgis"
11
54
  */
12
- static classify(sql: string): 1 | 2 | 3 | 4 | 5 | 6;
55
+ static extractExtensionName(sql: string): string | undefined;
13
56
  /**
14
- * Sort an array of tagged SQL statements sequentially by phase, then by creation date, then by migration name.
57
+ * Sort an array of tagged SQL statements by phase, then creation date, then migration name.
15
58
  */
16
59
  static sort(statements: TaggedSQL[]): TaggedSQL[];
17
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sql-grammar.d.ts","sourceRoot":"","sources":["../../src/migration/sql-grammar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;GAEG;AACH,qBAAa,UAAU;IACrB;;;;;OAKG;WACW,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;IAsD1D;;OAEG;WACW,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;CAuBzD"}
1
+ {"version":3,"file":"sql-grammar.d.ts","sourceRoot":"","sources":["../../src/migration/sql-grammar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE3D;;;GAGG;AACH,qBAAa,UAAU;IACrB;;;;;;;;;;;;;;;;;;OAkBG;WACW,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;IAwCvD;;;;;;;;;;;;;OAaG;WACW,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB;IA+BrD;;;;;;;;;;;;OAYG;WACW,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IASnE;;OAEG;WACW,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;CAuBzD"}
@@ -1,14 +1,28 @@
1
1
  'use strict';/**
2
- * Parses and sorts SQL statements globally based on their execution phase.
2
+ * Parses and sorts SQL statements globally based on their execution phase,
3
+ * and classifies statements by their semantic type.
3
4
  */
4
5
  class SQLGrammar {
5
6
  /**
6
- * Classify a raw SQL statement into one of the 6 execution phases.
7
+ * Determine the execution phase of a SQL statement (1–6).
7
8
  *
8
- * @param sql The SQL statement
9
- * @returns Phase 1-6
9
+ * Phase ordering ensures DDL operations run in dependency-safe order
10
+ * regardless of which migration file they originate from.
11
+ *
12
+ * | Phase | Statements |
13
+ * |-------|-----------------------------------------------|
14
+ * | 1 | CREATE EXTENSION, TYPE, DOMAIN, SCHEMA |
15
+ * | 2 | CREATE TABLE |
16
+ * | 3 | ADD COLUMN, ADD PRIMARY KEY |
17
+ * | 4 | CREATE INDEX, ADD FOREIGN KEY |
18
+ * | 5 | DROP COLUMN, ALTER COLUMN, DROP TABLE |
19
+ * | 6 | Raw / unclassified |
20
+ *
21
+ * @example
22
+ * SQLGrammar.phase("CREATE EXTENSION IF NOT EXISTS vector"); // => 1
23
+ * SQLGrammar.phase("ALTER TABLE users ADD COLUMN email TEXT"); // => 3
10
24
  */
11
- static classify(sql) {
25
+ static phase(sql) {
12
26
  const s = sql.trim().toUpperCase();
13
27
  // Phase 1: Preparation (Extensions, Enums, Domains, Types)
14
28
  if (s.startsWith("CREATE EXTENSION") ||
@@ -17,44 +31,113 @@ class SQLGrammar {
17
31
  s.startsWith("CREATE SCHEMA")) {
18
32
  return 1;
19
33
  }
20
- // Phase 2: Table Creation (CREATE TABLE ...)
34
+ // Phase 2: Table Creation
21
35
  if (s.startsWith("CREATE TABLE")) {
22
36
  return 2;
23
37
  }
24
- // Phase 3: Column Creation (ALTER TABLE ... ADD COLUMN ... without references)
25
- // Actually, our PostgresSQLSerializer generates ADD COLUMN, DROP COLUMN, etc.
26
- // Let's distinguish destructive and non-destructive ALTERs.
38
+ // Phase 3 / 4 / 5: ALTER TABLE broken down by clause
27
39
  if (s.startsWith("ALTER TABLE")) {
28
- if (s.includes("ADD CONSTRAINT") && s.includes("FOREIGN KEY")) {
29
- // Phase 4: Indexes & Constraints
40
+ if (s.includes("ADD CONSTRAINT") && s.includes("FOREIGN KEY"))
30
41
  return 4;
31
- }
32
- if (s.includes("DROP COLUMN") || s.includes("DROP CONSTRAINT") || s.includes("ALTER COLUMN")) {
33
- // Phase 5: Destructive Column Modification
42
+ if (s.includes("DROP COLUMN") || s.includes("DROP CONSTRAINT") || s.includes("ALTER COLUMN"))
34
43
  return 5;
35
- }
36
- if (s.includes("ADD COLUMN")) {
37
- // Phase 3: Column Addition
44
+ if (s.includes("ADD COLUMN"))
38
45
  return 3;
39
- }
40
- if (s.includes("ADD CONSTRAINT") && s.includes("PRIMARY KEY")) {
41
- // Primary keys can be phase 3 or 4, usually 3 is fine before FKs
46
+ if (s.includes("ADD CONSTRAINT") && s.includes("PRIMARY KEY"))
42
47
  return 3;
43
- }
44
48
  }
45
- // Phase 4: Indexes & Constraints
49
+ // Phase 4: Index Creation
46
50
  if (s.startsWith("CREATE INDEX") || s.startsWith("CREATE UNIQUE INDEX")) {
47
51
  return 4;
48
52
  }
49
- // Phase 5: Table and Database Drops/Destructive Operations
53
+ // Phase 5: Destructive table/index operations
50
54
  if (s.startsWith("DROP TABLE") || s.startsWith("TRUNCATE TABLE") || s.startsWith("DROP INDEX")) {
51
55
  return 5;
52
56
  }
53
- // Phase 6: Raw/Unclassified statements (Data manipulation, triggers, procedures, views)
57
+ // Phase 6: Raw / unclassified (DML, triggers, procedures, views)
54
58
  return 6;
55
59
  }
56
60
  /**
57
- * Sort an array of tagged SQL statements sequentially by phase, then by creation date, then by migration name.
61
+ * Classify a SQL statement into its semantic statement type.
62
+ *
63
+ * This is independent of execution phase — it identifies *what* a statement
64
+ * does, not *when* it should run. Use this for pre-flight checks, dry-run
65
+ * display, selective filtering, and extension detection.
66
+ *
67
+ * @example
68
+ * SQLGrammar.classify("CREATE EXTENSION IF NOT EXISTS vector");
69
+ * // => "CREATE_EXTENSION"
70
+ *
71
+ * SQLGrammar.classify("ALTER TABLE users ADD COLUMN email TEXT");
72
+ * // => "ADD_COLUMN"
73
+ */
74
+ static classify(sql) {
75
+ const s = sql.trim().toUpperCase();
76
+ if (s.startsWith("CREATE EXTENSION"))
77
+ return "CREATE_EXTENSION";
78
+ if (s.startsWith("CREATE SCHEMA"))
79
+ return "CREATE_SCHEMA";
80
+ if (s.startsWith("CREATE TYPE"))
81
+ return "CREATE_TYPE";
82
+ if (s.startsWith("CREATE DOMAIN"))
83
+ return "CREATE_DOMAIN";
84
+ if (s.startsWith("CREATE TABLE"))
85
+ return "CREATE_TABLE";
86
+ if (s.startsWith("DROP TABLE"))
87
+ return "DROP_TABLE";
88
+ if (s.startsWith("TRUNCATE TABLE"))
89
+ return "TRUNCATE_TABLE";
90
+ if (s.startsWith("DROP INDEX"))
91
+ return "DROP_INDEX";
92
+ // Must check UNIQUE before plain INDEX to avoid misclassification
93
+ if (s.startsWith("CREATE UNIQUE INDEX"))
94
+ return "CREATE_UNIQUE_INDEX";
95
+ if (s.startsWith("CREATE INDEX"))
96
+ return "CREATE_INDEX";
97
+ if (s.startsWith("ALTER TABLE")) {
98
+ if (s.includes("ADD CONSTRAINT") && s.includes("FOREIGN KEY"))
99
+ return "ADD_FOREIGN_KEY";
100
+ if (s.includes("DROP CONSTRAINT") && s.includes("FOREIGN KEY"))
101
+ return "DROP_FOREIGN_KEY";
102
+ if (s.includes("ADD CONSTRAINT") && s.includes("PRIMARY KEY"))
103
+ return "ADD_PRIMARY_KEY";
104
+ if (s.includes("DROP CONSTRAINT"))
105
+ return "DROP_PRIMARY_KEY";
106
+ if (s.includes("ADD COLUMN"))
107
+ return "ADD_COLUMN";
108
+ if (s.includes("DROP COLUMN"))
109
+ return "DROP_COLUMN";
110
+ if (s.includes("RENAME COLUMN"))
111
+ return "RENAME_COLUMN";
112
+ if (s.includes("RENAME TO"))
113
+ return "RENAME_TABLE";
114
+ if (s.includes("ALTER COLUMN"))
115
+ return "MODIFY_COLUMN";
116
+ }
117
+ return "RAW";
118
+ }
119
+ /**
120
+ * Extract the extension name from a CREATE EXTENSION statement.
121
+ *
122
+ * Returns undefined if the statement is not a CREATE EXTENSION statement
123
+ * or the name cannot be parsed.
124
+ *
125
+ * @example
126
+ * SQLGrammar.extractExtensionName("CREATE EXTENSION IF NOT EXISTS vector");
127
+ * // => "vector"
128
+ *
129
+ * SQLGrammar.extractExtensionName("CREATE EXTENSION postgis");
130
+ * // => "postgis"
131
+ */
132
+ static extractExtensionName(sql) {
133
+ // Matches: CREATE EXTENSION [IF NOT EXISTS] <name>
134
+ const match = sql
135
+ .trim()
136
+ .match(/^CREATE\s+EXTENSION\s+(?:IF\s+NOT\s+EXISTS\s+)?(\w+)/i);
137
+ return match?.[1]?.toLowerCase();
138
+ }
139
+ /**
140
+ * Sort an array of tagged SQL statements by phase, then creation date, then migration name.
58
141
  */
59
142
  static sort(statements) {
60
143
  return statements.slice().sort((a, b) => {
@@ -1 +1 @@
1
- {"version":3,"file":"sql-grammar.js","sources":["../../src/migration/sql-grammar.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql-grammar.js","sources":["../../src/migration/sql-grammar.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -129,6 +129,14 @@ export interface RollbackOptions {
129
129
  */
130
130
  readonly dryRun?: boolean;
131
131
  }
132
+ /**
133
+ * Semantic classification of a SQL statement, independent of execution phase.
134
+ *
135
+ * Used by SQLGrammar.classify() to identify what kind of DDL/DML a statement
136
+ * represents — useful for pre-flight checks, dry-run display, and selective
137
+ * filtering outside the migration pipeline.
138
+ */
139
+ export type SQLStatementType = "CREATE_EXTENSION" | "CREATE_SCHEMA" | "CREATE_TYPE" | "CREATE_DOMAIN" | "CREATE_TABLE" | "DROP_TABLE" | "TRUNCATE_TABLE" | "RENAME_TABLE" | "ADD_COLUMN" | "DROP_COLUMN" | "MODIFY_COLUMN" | "RENAME_COLUMN" | "ADD_FOREIGN_KEY" | "DROP_FOREIGN_KEY" | "ADD_PRIMARY_KEY" | "DROP_PRIMARY_KEY" | "CREATE_INDEX" | "CREATE_UNIQUE_INDEX" | "DROP_INDEX" | "RAW";
132
140
  /**
133
141
  * A tagged SQL statement with phase and ordering information.
134
142
  */
@@ -137,6 +145,8 @@ export type TaggedSQL = {
137
145
  sql: string;
138
146
  /** Phase 1-6 for ordering */
139
147
  phase: 1 | 2 | 3 | 4 | 5 | 6;
148
+ /** Semantic statement type — what the statement does */
149
+ statementType: SQLStatementType;
140
150
  /** Date string for within-phase ordering */
141
151
  createdAt?: string;
142
152
  /** Migration name for within-phase tiebreaking */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/migration/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/migration/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IAClC,uCAAuC;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6BAA6B;IAC7B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACjC,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iCAAiC;IACjC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,UAAU,EAAE,IAAI,CAAC;IACjB,mCAAmC;IACnC,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GACxB,kBAAkB,GAClB,eAAe,GACf,aAAa,GACb,eAAe,GACf,cAAc,GACd,YAAY,GACZ,gBAAgB,GAChB,cAAc,GACd,YAAY,GACZ,aAAa,GACb,eAAe,GACf,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,cAAc,GACd,qBAAqB,GACrB,YAAY,GACZ,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,wDAAwD;IACxD,aAAa,EAAE,gBAAgB,CAAC;IAChC,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC"}
@@ -489,6 +489,20 @@ export interface MigrationDriverContract {
489
489
  * ```
490
490
  */
491
491
  getUuidDefault(migrationDefaults?: MigrationDefaults): string | undefined;
492
+ /**
493
+ * Check if a database extension/plugin is available on the database server.
494
+ *
495
+ * @param extension - Name of the extension
496
+ * @returns true if available, or if the database doesn't require explicit extension installation
497
+ */
498
+ isExtensionAvailable(extension: string): Promise<boolean>;
499
+ /**
500
+ * Get the official documentation or installation URL for a database extension.
501
+ *
502
+ * @param extension - Extension name
503
+ * @returns URL string, or undefined to fall back to a generic search approach
504
+ */
505
+ getExtensionDocsUrl(extension: string): string | undefined;
492
506
  /**
493
507
  * Execute raw operations with direct driver access.
494
508
  *
@@ -1 +1 @@
1
- {"version":3,"file":"migration-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/migration-driver.contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migration-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/migration-driver.contract.ts"],"names":[],"mappings":"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"}