@databricks-solutions/lakebase-scm-utils 0.2.44 → 0.2.46

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 (48) hide show
  1. package/README.md +13 -4
  2. package/dist/scripts/index.cjs +651 -605
  3. package/dist/scripts/index.d.cts +1 -1
  4. package/dist/scripts/index.d.ts +1 -1
  5. package/dist/scripts/index.js +650 -605
  6. package/dist/scripts/lakebase/ci-resolve-branch.cli.cjs +12 -3
  7. package/dist/scripts/lakebase/ci-resolve-branch.cli.js +12 -3
  8. package/dist/scripts/lakebase/collapse-heads.cli.cjs +12 -3
  9. package/dist/scripts/lakebase/collapse-heads.cli.js +12 -3
  10. package/dist/scripts/lakebase/detect-language.cli.cjs +12 -3
  11. package/dist/scripts/lakebase/detect-language.cli.js +12 -3
  12. package/dist/scripts/lakebase/doctor.cli.cjs +13 -4
  13. package/dist/scripts/lakebase/doctor.cli.js +13 -4
  14. package/dist/scripts/lakebase/get-connection.cli.cjs +12 -3
  15. package/dist/scripts/lakebase/get-connection.cli.js +12 -3
  16. package/dist/scripts/lakebase/index.cjs +472 -395
  17. package/dist/scripts/lakebase/index.d.cts +33 -12
  18. package/dist/scripts/lakebase/index.d.ts +33 -12
  19. package/dist/scripts/lakebase/index.js +471 -395
  20. package/dist/scripts/lakebase/infra-runner.cli.cjs +12 -3
  21. package/dist/scripts/lakebase/infra-runner.cli.js +12 -3
  22. package/dist/scripts/lakebase/new-migration.cli.cjs +12 -3
  23. package/dist/scripts/lakebase/new-migration.cli.js +12 -3
  24. package/dist/scripts/lakebase/schema-diff.cli.cjs +12 -3
  25. package/dist/scripts/lakebase/schema-diff.cli.js +12 -3
  26. package/dist/scripts/lakebase/schema-migrate.cli.cjs +12 -3
  27. package/dist/scripts/lakebase/schema-migrate.cli.js +12 -3
  28. package/dist/scripts/lakebase/scm-claim-feature.cli.cjs +12 -3
  29. package/dist/scripts/lakebase/scm-claim-feature.cli.js +12 -3
  30. package/dist/scripts/lakebase/scm-doctor.cli.cjs +12 -3
  31. package/dist/scripts/lakebase/scm-doctor.cli.js +12 -3
  32. package/dist/scripts/lakebase/scm-merge.cli.cjs +2294 -2034
  33. package/dist/scripts/lakebase/scm-merge.cli.js +349 -89
  34. package/dist/scripts/lakebase/scm-reconcile-tier.cli.cjs +12 -3
  35. package/dist/scripts/lakebase/scm-reconcile-tier.cli.js +12 -3
  36. package/dist/scripts/util/index.cjs +2 -2
  37. package/dist/scripts/util/index.js +2 -2
  38. package/package.json +1 -1
  39. package/scripts/lakebase/constants.ts +23 -5
  40. package/scripts/lakebase/doctor.ts +1 -1
  41. package/scripts/lakebase/get-connection.ts +17 -3
  42. package/scripts/lakebase/scm-merge.ts +80 -1
  43. package/skills/lakebase-scm-workflows/README.md +2 -1
  44. package/templates/project/nodejs/package.json +3 -1
  45. package/templates/project/nodejs/src/index.js +8 -0
  46. package/templates/project/nodejs/src/openapi.js +20 -0
  47. package/templates/project/nodejs/src/routes/health.js +18 -0
  48. package/templates/project/nodejs/tests/app.test.js +16 -0
@@ -79617,6 +79617,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
79617
79617
  var DEFAULT_ENDPOINT = "primary";
79618
79618
  var CONSORT_APPLICATION_NAME = "consort";
79619
79619
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
79620
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
79620
79621
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
79621
79622
 
79622
79623
  // scripts/lakebase/self-version.ts
@@ -79628,8 +79629,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
79628
79629
  var cached;
79629
79630
  function substrateSelfVersion() {
79630
79631
  if (cached !== void 0) return cached;
79631
- if ("0.2.44".length > 0) {
79632
- cached = "0.2.44";
79632
+ if ("0.2.46".length > 0) {
79633
+ cached = "0.2.46";
79633
79634
  return cached;
79634
79635
  }
79635
79636
  cached = "unknown";
@@ -79657,9 +79658,17 @@ function substrateSelfVersion() {
79657
79658
  }
79658
79659
 
79659
79660
  // scripts/lakebase/get-connection.ts
79661
+ function sanitizeApplicationName(raw) {
79662
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
79663
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79664
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
79665
+ }
79660
79666
  function connectionApplicationName() {
79667
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
79668
+ if (client) return sanitizeApplicationName(client);
79661
79669
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
79662
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79670
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
79671
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79663
79672
  }
79664
79673
  async function getConnection(args) {
79665
79674
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -710,6 +710,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
710
710
  var DEFAULT_ENDPOINT = "primary";
711
711
  var CONSORT_APPLICATION_NAME = "consort";
712
712
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
713
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
713
714
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
714
715
 
715
716
  // scripts/lakebase/self-version.ts
@@ -720,8 +721,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
720
721
  var cached;
721
722
  function substrateSelfVersion() {
722
723
  if (cached !== void 0) return cached;
723
- if ("0.2.44".length > 0) {
724
- cached = "0.2.44";
724
+ if ("0.2.46".length > 0) {
725
+ cached = "0.2.46";
725
726
  return cached;
726
727
  }
727
728
  cached = "unknown";
@@ -749,9 +750,17 @@ function substrateSelfVersion() {
749
750
  }
750
751
 
751
752
  // scripts/lakebase/get-connection.ts
753
+ function sanitizeApplicationName(raw) {
754
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
755
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
756
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
757
+ }
752
758
  function connectionApplicationName() {
759
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
760
+ if (client) return sanitizeApplicationName(client);
753
761
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
754
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
762
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
763
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
755
764
  }
756
765
  async function getConnection(args) {
757
766
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -79278,6 +79278,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
79278
79278
  var DEFAULT_ENDPOINT = "primary";
79279
79279
  var CONSORT_APPLICATION_NAME = "consort";
79280
79280
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
79281
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
79281
79282
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
79282
79283
 
79283
79284
  // scripts/lakebase/self-version.ts
@@ -79289,8 +79290,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
79289
79290
  var cached;
79290
79291
  function substrateSelfVersion() {
79291
79292
  if (cached !== void 0) return cached;
79292
- if ("0.2.44".length > 0) {
79293
- cached = "0.2.44";
79293
+ if ("0.2.46".length > 0) {
79294
+ cached = "0.2.46";
79294
79295
  return cached;
79295
79296
  }
79296
79297
  cached = "unknown";
@@ -79318,9 +79319,17 @@ function substrateSelfVersion() {
79318
79319
  }
79319
79320
 
79320
79321
  // scripts/lakebase/get-connection.ts
79322
+ function sanitizeApplicationName(raw) {
79323
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
79324
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79325
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
79326
+ }
79321
79327
  function connectionApplicationName() {
79328
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
79329
+ if (client) return sanitizeApplicationName(client);
79322
79330
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
79323
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79331
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
79332
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79324
79333
  }
79325
79334
  async function getConnection(args) {
79326
79335
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -382,6 +382,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
382
382
  var DEFAULT_ENDPOINT = "primary";
383
383
  var CONSORT_APPLICATION_NAME = "consort";
384
384
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
385
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
385
386
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
386
387
 
387
388
  // scripts/lakebase/self-version.ts
@@ -392,8 +393,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
392
393
  var cached;
393
394
  function substrateSelfVersion() {
394
395
  if (cached !== void 0) return cached;
395
- if ("0.2.44".length > 0) {
396
- cached = "0.2.44";
396
+ if ("0.2.46".length > 0) {
397
+ cached = "0.2.46";
397
398
  return cached;
398
399
  }
399
400
  cached = "unknown";
@@ -421,9 +422,17 @@ function substrateSelfVersion() {
421
422
  }
422
423
 
423
424
  // scripts/lakebase/get-connection.ts
425
+ function sanitizeApplicationName(raw) {
426
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
427
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
428
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
429
+ }
424
430
  function connectionApplicationName() {
431
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
432
+ if (client) return sanitizeApplicationName(client);
425
433
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
426
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
434
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
435
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
427
436
  }
428
437
  async function getConnection(args) {
429
438
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -79278,6 +79278,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
79278
79278
  var DEFAULT_ENDPOINT = "primary";
79279
79279
  var CONSORT_APPLICATION_NAME = "consort";
79280
79280
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
79281
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
79281
79282
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
79282
79283
 
79283
79284
  // scripts/lakebase/self-version.ts
@@ -79289,8 +79290,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
79289
79290
  var cached;
79290
79291
  function substrateSelfVersion() {
79291
79292
  if (cached !== void 0) return cached;
79292
- if ("0.2.44".length > 0) {
79293
- cached = "0.2.44";
79293
+ if ("0.2.46".length > 0) {
79294
+ cached = "0.2.46";
79294
79295
  return cached;
79295
79296
  }
79296
79297
  cached = "unknown";
@@ -79318,9 +79319,17 @@ function substrateSelfVersion() {
79318
79319
  }
79319
79320
 
79320
79321
  // scripts/lakebase/get-connection.ts
79322
+ function sanitizeApplicationName(raw) {
79323
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
79324
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79325
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
79326
+ }
79321
79327
  function connectionApplicationName() {
79328
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
79329
+ if (client) return sanitizeApplicationName(client);
79322
79330
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
79323
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79331
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
79332
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79324
79333
  }
79325
79334
  async function getConnection(args) {
79326
79335
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -382,6 +382,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
382
382
  var DEFAULT_ENDPOINT = "primary";
383
383
  var CONSORT_APPLICATION_NAME = "consort";
384
384
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
385
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
385
386
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
386
387
 
387
388
  // scripts/lakebase/self-version.ts
@@ -392,8 +393,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
392
393
  var cached;
393
394
  function substrateSelfVersion() {
394
395
  if (cached !== void 0) return cached;
395
- if ("0.2.44".length > 0) {
396
- cached = "0.2.44";
396
+ if ("0.2.46".length > 0) {
397
+ cached = "0.2.46";
397
398
  return cached;
398
399
  }
399
400
  cached = "unknown";
@@ -421,9 +422,17 @@ function substrateSelfVersion() {
421
422
  }
422
423
 
423
424
  // scripts/lakebase/get-connection.ts
425
+ function sanitizeApplicationName(raw) {
426
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
427
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
428
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
429
+ }
424
430
  function connectionApplicationName() {
431
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
432
+ if (client) return sanitizeApplicationName(client);
425
433
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
426
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
434
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
435
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
427
436
  }
428
437
  async function getConnection(args) {
429
438
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -79370,6 +79370,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
79370
79370
  var DEFAULT_ENDPOINT = "primary";
79371
79371
  var CONSORT_APPLICATION_NAME = "consort";
79372
79372
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
79373
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
79373
79374
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
79374
79375
 
79375
79376
  // scripts/lakebase/self-version.ts
@@ -79381,8 +79382,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
79381
79382
  var cached;
79382
79383
  function substrateSelfVersion() {
79383
79384
  if (cached !== void 0) return cached;
79384
- if ("0.2.44".length > 0) {
79385
- cached = "0.2.44";
79385
+ if ("0.2.46".length > 0) {
79386
+ cached = "0.2.46";
79386
79387
  return cached;
79387
79388
  }
79388
79389
  cached = "unknown";
@@ -79410,9 +79411,17 @@ function substrateSelfVersion() {
79410
79411
  }
79411
79412
 
79412
79413
  // scripts/lakebase/get-connection.ts
79414
+ function sanitizeApplicationName(raw) {
79415
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
79416
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79417
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
79418
+ }
79413
79419
  function connectionApplicationName() {
79420
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
79421
+ if (client) return sanitizeApplicationName(client);
79414
79422
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
79415
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79423
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
79424
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79416
79425
  }
79417
79426
  async function getConnection(args) {
79418
79427
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -81011,7 +81020,7 @@ function checkWorkflowDrift(projectDir) {
81011
81020
  status: "warn",
81012
81021
  message: `Scaffolded workflows drift from kit: ${drifted} drifted, ${missing} missing`,
81013
81022
  detail: { files: report.files.map((f3) => ({ name: f3.name, status: f3.status })) },
81014
- hint: "Inspect via the lakebase_workflow_drift MCP tool (or detectWorkflowDrift import). Refresh manually until updateWorkflows lands."
81023
+ hint: "Refresh with updateWorkflows (or the lakebase_workflow_drift MCP tool). A stale merge.yml calling 'lakebase-schema-migrate apply' (not 'apply-tier') makes the promote's migrate-target fail on the tier guard; the scm-merge promote also self-heals drifted workflows onto the PR head before merging."
81015
81024
  };
81016
81025
  } catch (err) {
81017
81026
  return {
@@ -473,6 +473,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
473
473
  var DEFAULT_ENDPOINT = "primary";
474
474
  var CONSORT_APPLICATION_NAME = "consort";
475
475
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
476
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
476
477
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
477
478
 
478
479
  // scripts/lakebase/self-version.ts
@@ -483,8 +484,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
483
484
  var cached;
484
485
  function substrateSelfVersion() {
485
486
  if (cached !== void 0) return cached;
486
- if ("0.2.44".length > 0) {
487
- cached = "0.2.44";
487
+ if ("0.2.46".length > 0) {
488
+ cached = "0.2.46";
488
489
  return cached;
489
490
  }
490
491
  cached = "unknown";
@@ -512,9 +513,17 @@ function substrateSelfVersion() {
512
513
  }
513
514
 
514
515
  // scripts/lakebase/get-connection.ts
516
+ function sanitizeApplicationName(raw) {
517
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
518
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
519
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
520
+ }
515
521
  function connectionApplicationName() {
522
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
523
+ if (client) return sanitizeApplicationName(client);
516
524
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
517
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
525
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
526
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
518
527
  }
519
528
  async function getConnection(args) {
520
529
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -2104,7 +2113,7 @@ function checkWorkflowDrift(projectDir) {
2104
2113
  status: "warn",
2105
2114
  message: `Scaffolded workflows drift from kit: ${drifted} drifted, ${missing} missing`,
2106
2115
  detail: { files: report.files.map((f) => ({ name: f.name, status: f.status })) },
2107
- hint: "Inspect via the lakebase_workflow_drift MCP tool (or detectWorkflowDrift import). Refresh manually until updateWorkflows lands."
2116
+ hint: "Refresh with updateWorkflows (or the lakebase_workflow_drift MCP tool). A stale merge.yml calling 'lakebase-schema-migrate apply' (not 'apply-tier') makes the promote's migrate-target fail on the tier guard; the scm-merge promote also self-heals drifted workflows onto the PR head before merging."
2108
2117
  };
2109
2118
  } catch (err) {
2110
2119
  return {
@@ -79273,6 +79273,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
79273
79273
  var DEFAULT_ENDPOINT = "primary";
79274
79274
  var CONSORT_APPLICATION_NAME = "consort";
79275
79275
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
79276
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
79276
79277
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
79277
79278
 
79278
79279
  // scripts/lakebase/self-version.ts
@@ -79284,8 +79285,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
79284
79285
  var cached;
79285
79286
  function substrateSelfVersion() {
79286
79287
  if (cached !== void 0) return cached;
79287
- if ("0.2.44".length > 0) {
79288
- cached = "0.2.44";
79288
+ if ("0.2.46".length > 0) {
79289
+ cached = "0.2.46";
79289
79290
  return cached;
79290
79291
  }
79291
79292
  cached = "unknown";
@@ -79313,9 +79314,17 @@ function substrateSelfVersion() {
79313
79314
  }
79314
79315
 
79315
79316
  // scripts/lakebase/get-connection.ts
79317
+ function sanitizeApplicationName(raw) {
79318
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
79319
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79320
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
79321
+ }
79316
79322
  function connectionApplicationName() {
79323
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
79324
+ if (client) return sanitizeApplicationName(client);
79317
79325
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
79318
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79326
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
79327
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
79319
79328
  }
79320
79329
  async function getConnection(args) {
79321
79330
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -378,6 +378,7 @@ var DEFAULT_DATABASE = "databricks_postgres";
378
378
  var DEFAULT_ENDPOINT = "primary";
379
379
  var CONSORT_APPLICATION_NAME = "consort";
380
380
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
381
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
381
382
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
382
383
 
383
384
  // scripts/lakebase/self-version.ts
@@ -388,8 +389,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
388
389
  var cached;
389
390
  function substrateSelfVersion() {
390
391
  if (cached !== void 0) return cached;
391
- if ("0.2.44".length > 0) {
392
- cached = "0.2.44";
392
+ if ("0.2.46".length > 0) {
393
+ cached = "0.2.46";
393
394
  return cached;
394
395
  }
395
396
  cached = "unknown";
@@ -417,9 +418,17 @@ function substrateSelfVersion() {
417
418
  }
418
419
 
419
420
  // scripts/lakebase/get-connection.ts
421
+ function sanitizeApplicationName(raw) {
422
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
423
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
424
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
425
+ }
420
426
  function connectionApplicationName() {
427
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
428
+ if (client) return sanitizeApplicationName(client);
421
429
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
422
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
430
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
431
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
423
432
  }
424
433
  async function getConnection(args) {
425
434
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;