@databricks-solutions/lakebase-scm-utils 0.2.45 → 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 (44) hide show
  1. package/README.md +13 -4
  2. package/dist/scripts/index.cjs +12 -3
  3. package/dist/scripts/index.js +12 -3
  4. package/dist/scripts/lakebase/ci-resolve-branch.cli.cjs +12 -3
  5. package/dist/scripts/lakebase/ci-resolve-branch.cli.js +12 -3
  6. package/dist/scripts/lakebase/collapse-heads.cli.cjs +12 -3
  7. package/dist/scripts/lakebase/collapse-heads.cli.js +12 -3
  8. package/dist/scripts/lakebase/detect-language.cli.cjs +12 -3
  9. package/dist/scripts/lakebase/detect-language.cli.js +12 -3
  10. package/dist/scripts/lakebase/doctor.cli.cjs +12 -3
  11. package/dist/scripts/lakebase/doctor.cli.js +12 -3
  12. package/dist/scripts/lakebase/get-connection.cli.cjs +12 -3
  13. package/dist/scripts/lakebase/get-connection.cli.js +12 -3
  14. package/dist/scripts/lakebase/index.cjs +12 -3
  15. package/dist/scripts/lakebase/index.d.cts +0 -11
  16. package/dist/scripts/lakebase/index.d.ts +0 -11
  17. package/dist/scripts/lakebase/index.js +12 -3
  18. package/dist/scripts/lakebase/infra-runner.cli.cjs +12 -3
  19. package/dist/scripts/lakebase/infra-runner.cli.js +12 -3
  20. package/dist/scripts/lakebase/new-migration.cli.cjs +12 -3
  21. package/dist/scripts/lakebase/new-migration.cli.js +12 -3
  22. package/dist/scripts/lakebase/schema-diff.cli.cjs +12 -3
  23. package/dist/scripts/lakebase/schema-diff.cli.js +12 -3
  24. package/dist/scripts/lakebase/schema-migrate.cli.cjs +12 -3
  25. package/dist/scripts/lakebase/schema-migrate.cli.js +12 -3
  26. package/dist/scripts/lakebase/scm-claim-feature.cli.cjs +12 -3
  27. package/dist/scripts/lakebase/scm-claim-feature.cli.js +12 -3
  28. package/dist/scripts/lakebase/scm-doctor.cli.cjs +12 -3
  29. package/dist/scripts/lakebase/scm-doctor.cli.js +12 -3
  30. package/dist/scripts/lakebase/scm-merge.cli.cjs +12 -3
  31. package/dist/scripts/lakebase/scm-merge.cli.js +12 -3
  32. package/dist/scripts/lakebase/scm-reconcile-tier.cli.cjs +12 -3
  33. package/dist/scripts/lakebase/scm-reconcile-tier.cli.js +12 -3
  34. package/dist/scripts/util/index.cjs +2 -2
  35. package/dist/scripts/util/index.js +2 -2
  36. package/package.json +1 -1
  37. package/scripts/lakebase/constants.ts +23 -5
  38. package/scripts/lakebase/get-connection.ts +17 -3
  39. package/skills/lakebase-scm-workflows/README.md +2 -1
  40. package/templates/project/nodejs/package.json +3 -1
  41. package/templates/project/nodejs/src/index.js +8 -0
  42. package/templates/project/nodejs/src/openapi.js +20 -0
  43. package/templates/project/nodejs/src/routes/health.js +18 -0
  44. package/templates/project/nodejs/tests/app.test.js +16 -0
package/README.md CHANGED
@@ -1,9 +1,18 @@
1
1
  # @databricks-solutions/lakebase-scm-utils
2
2
 
3
- The Lakebase SCM + substrate engine. This package is the portable core extracted from
4
- `consort`: it owns database branching, the paired-branch SCM workflow state
5
- machine, connection + credential minting, schema migration, project scaffold + deploy
6
- primitives, and the shared git / github / util layer.
3
+ The engine that makes **application code and database schema travel together** through one
4
+ SCM workflow. It drives a single state machine (claim a feature branch, prepare a PR, wait
5
+ for CI, merge) in which every git branch is paired with its own Lakebase Postgres branch, so
6
+ the schema evolves in lockstep with the code and moves through the same gates. On every PR it
7
+ forks a database branch, applies migrations, runs the tests against real Postgres, and posts
8
+ the schema diff; a red run blocks the merge. On merge it migrates the target tier, then tears
9
+ the feature and PR branches down. The same commands run whether a human drives them from the
10
+ CLI / VS Code extension or an agent orchestrator (`consort`) drives them headless.
11
+
12
+ Under the hood it owns database branching, the paired-branch SCM workflow state machine,
13
+ connection and credential minting, schema migration, project scaffold and deploy primitives,
14
+ and the shared git / github / util layer: the portable substrate core shared by the
15
+ `lakebase-scm-extension` IDE extension and the `consort` orchestration kit.
7
16
 
8
17
  It ships two consumption surfaces:
9
18
 
@@ -88906,6 +88906,7 @@ var RUNTIME_ARTIFACT_IGNORE = [
88906
88906
  var DEFAULT_ENDPOINT = "primary";
88907
88907
  var CONSORT_APPLICATION_NAME = "consort";
88908
88908
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
88909
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
88909
88910
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
88910
88911
 
88911
88912
  // scripts/lakebase/self-version.ts
@@ -88917,8 +88918,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
88917
88918
  var cached;
88918
88919
  function substrateSelfVersion() {
88919
88920
  if (cached !== void 0) return cached;
88920
- if ("0.2.45".length > 0) {
88921
- cached = "0.2.45";
88921
+ if ("0.2.46".length > 0) {
88922
+ cached = "0.2.46";
88922
88923
  return cached;
88923
88924
  }
88924
88925
  cached = "unknown";
@@ -88946,9 +88947,17 @@ function substrateSelfVersion() {
88946
88947
  }
88947
88948
 
88948
88949
  // scripts/lakebase/get-connection.ts
88950
+ function sanitizeApplicationName(raw) {
88951
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
88952
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
88953
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
88954
+ }
88949
88955
  function connectionApplicationName() {
88956
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
88957
+ if (client) return sanitizeApplicationName(client);
88950
88958
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
88951
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
88959
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
88960
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
88952
88961
  }
88953
88962
  async function getConnection(args) {
88954
88963
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -9708,6 +9708,7 @@ var RUNTIME_ARTIFACT_IGNORE = [
9708
9708
  var DEFAULT_ENDPOINT = "primary";
9709
9709
  var CONSORT_APPLICATION_NAME = "consort";
9710
9710
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
9711
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
9711
9712
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
9712
9713
 
9713
9714
  // scripts/lakebase/self-version.ts
@@ -9719,8 +9720,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
9719
9720
  var cached;
9720
9721
  function substrateSelfVersion() {
9721
9722
  if (cached !== void 0) return cached;
9722
- if ("0.2.45".length > 0) {
9723
- cached = "0.2.45";
9723
+ if ("0.2.46".length > 0) {
9724
+ cached = "0.2.46";
9724
9725
  return cached;
9725
9726
  }
9726
9727
  cached = "unknown";
@@ -9748,9 +9749,17 @@ function substrateSelfVersion() {
9748
9749
  }
9749
9750
 
9750
9751
  // scripts/lakebase/get-connection.ts
9752
+ function sanitizeApplicationName(raw) {
9753
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
9754
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
9755
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
9756
+ }
9751
9757
  function connectionApplicationName() {
9758
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
9759
+ if (client) return sanitizeApplicationName(client);
9752
9760
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
9753
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
9761
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
9762
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
9754
9763
  }
9755
9764
  async function getConnection(args) {
9756
9765
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -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.45".length > 0) {
79632
- cached = "0.2.45";
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.45".length > 0) {
724
- cached = "0.2.45";
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.45".length > 0) {
79293
- cached = "0.2.45";
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.45".length > 0) {
396
- cached = "0.2.45";
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.45".length > 0) {
79293
- cached = "0.2.45";
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.45".length > 0) {
396
- cached = "0.2.45";
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.45".length > 0) {
79385
- cached = "0.2.45";
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;
@@ -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.45".length > 0) {
487
- cached = "0.2.45";
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;
@@ -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.45".length > 0) {
79288
- cached = "0.2.45";
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.45".length > 0) {
392
- cached = "0.2.45";
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;
@@ -81577,6 +81577,7 @@ var RUNTIME_ARTIFACT_IGNORE = [
81577
81577
  var DEFAULT_ENDPOINT = "primary";
81578
81578
  var CONSORT_APPLICATION_NAME = "consort";
81579
81579
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
81580
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
81580
81581
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
81581
81582
 
81582
81583
  // scripts/lakebase/self-version.ts
@@ -81588,8 +81589,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
81588
81589
  var cached;
81589
81590
  function substrateSelfVersion() {
81590
81591
  if (cached !== void 0) return cached;
81591
- if ("0.2.45".length > 0) {
81592
- cached = "0.2.45";
81592
+ if ("0.2.46".length > 0) {
81593
+ cached = "0.2.46";
81593
81594
  return cached;
81594
81595
  }
81595
81596
  cached = "unknown";
@@ -81617,9 +81618,17 @@ function substrateSelfVersion() {
81617
81618
  }
81618
81619
 
81619
81620
  // scripts/lakebase/get-connection.ts
81621
+ function sanitizeApplicationName(raw) {
81622
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
81623
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
81624
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
81625
+ }
81620
81626
  function connectionApplicationName() {
81627
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
81628
+ if (client) return sanitizeApplicationName(client);
81621
81629
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
81622
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
81630
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
81631
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
81623
81632
  }
81624
81633
  async function getConnection(args) {
81625
81634
  const endpointName = args.endpointName ?? DEFAULT_ENDPOINT;
@@ -2510,17 +2510,6 @@ interface EnableInfraForProjectResult {
2510
2510
  */
2511
2511
  declare function enableInfraForProject(args: EnableInfraForProjectArgs): EnableInfraForProjectResult;
2512
2512
 
2513
- /**
2514
- * The `application_name` stamped on the substrate's Postgres connections , `<brand>/<version>`,
2515
- * reflecting WHO opened the connection:
2516
- * - `consort/<consort-version>` when the work comes FROM Consort (Consort exports its version
2517
- * in CONSORT_VERSION_ENV; we read it here);
2518
- * - `scm-utils/<scm-utils-version>` when scm-utils is invoked DIRECTLY (the VS Code extension,
2519
- * a bare `lakebase-*` CLI) , no env, so it falls back to this package's own brand + SemVer.
2520
- * Each carries its OWN version. A TRANSPARENT label visible to the database owner in their own
2521
- * `pg_stat_activity`. Never throws (an unreadable scm-utils version -> `scm-utils/unknown`; a
2522
- * blank env is ignored), so labelling can never break a connection.
2523
- */
2524
2513
  declare function connectionApplicationName(): string;
2525
2514
  interface GetConnectionArgs {
2526
2515
  /**
@@ -2510,17 +2510,6 @@ interface EnableInfraForProjectResult {
2510
2510
  */
2511
2511
  declare function enableInfraForProject(args: EnableInfraForProjectArgs): EnableInfraForProjectResult;
2512
2512
 
2513
- /**
2514
- * The `application_name` stamped on the substrate's Postgres connections , `<brand>/<version>`,
2515
- * reflecting WHO opened the connection:
2516
- * - `consort/<consort-version>` when the work comes FROM Consort (Consort exports its version
2517
- * in CONSORT_VERSION_ENV; we read it here);
2518
- * - `scm-utils/<scm-utils-version>` when scm-utils is invoked DIRECTLY (the VS Code extension,
2519
- * a bare `lakebase-*` CLI) , no env, so it falls back to this package's own brand + SemVer.
2520
- * Each carries its OWN version. A TRANSPARENT label visible to the database owner in their own
2521
- * `pg_stat_activity`. Never throws (an unreadable scm-utils version -> `scm-utils/unknown`; a
2522
- * blank env is ignored), so labelling can never break a connection.
2523
- */
2524
2513
  declare function connectionApplicationName(): string;
2525
2514
  interface GetConnectionArgs {
2526
2515
  /**
@@ -2506,6 +2506,7 @@ var RUNTIME_ARTIFACT_IGNORE = [
2506
2506
  var DEFAULT_ENDPOINT = "primary";
2507
2507
  var CONSORT_APPLICATION_NAME = "consort";
2508
2508
  var SCM_UTILS_APPLICATION_NAME = "scm-utils";
2509
+ var SCM_CLIENT_ENV = "LAKEBASE_SCM_CLIENT";
2509
2510
  var CONSORT_VERSION_ENV = "CONSORT_VERSION";
2510
2511
 
2511
2512
  // scripts/lakebase/self-version.ts
@@ -2517,8 +2518,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
2517
2518
  var cached;
2518
2519
  function substrateSelfVersion() {
2519
2520
  if (cached !== void 0) return cached;
2520
- if ("0.2.45".length > 0) {
2521
- cached = "0.2.45";
2521
+ if ("0.2.46".length > 0) {
2522
+ cached = "0.2.46";
2522
2523
  return cached;
2523
2524
  }
2524
2525
  cached = "unknown";
@@ -2546,9 +2547,17 @@ function substrateSelfVersion() {
2546
2547
  }
2547
2548
 
2548
2549
  // scripts/lakebase/get-connection.ts
2550
+ function sanitizeApplicationName(raw) {
2551
+ const cleaned = raw.replace(/[^\x21-\x7e]+/g, "-").replace(/^-+|-+$/g, "");
2552
+ if (!cleaned) return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
2553
+ return cleaned.length > 63 ? cleaned.slice(0, 63) : cleaned;
2554
+ }
2549
2555
  function connectionApplicationName() {
2556
+ const client = process.env[SCM_CLIENT_ENV]?.trim();
2557
+ if (client) return sanitizeApplicationName(client);
2550
2558
  const consortVersion = process.env[CONSORT_VERSION_ENV]?.trim();
2551
- return consortVersion ? `${CONSORT_APPLICATION_NAME}/${consortVersion}` : `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
2559
+ if (consortVersion) return `${CONSORT_APPLICATION_NAME}/${consortVersion}`;
2560
+ return `${SCM_UTILS_APPLICATION_NAME}/${substrateSelfVersion()}`;
2552
2561
  }
2553
2562
  async function getConnection(args) {
2554
2563
  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.45".length > 0) {
79293
- cached = "0.2.45";
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;